-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js.map
1 lines (1 loc) · 595 KB
/
app.js.map
1
{"version":3,"sources":["webpack://college-handbook/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/extends.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://college-handbook/./node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://college-handbook/./node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://college-handbook/./node_modules/flexsearch/dist/flexsearch.min.js","webpack://college-handbook/./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack://college-handbook/./node_modules/react-checkbox-tree/lib/index.browser.js","webpack://college-handbook/./node_modules/react-fast-compare/index.js","webpack://college-handbook/./node_modules/react-icons/lib/esm/iconsManifest.js","webpack://college-handbook/./node_modules/react-icons/lib/esm/iconContext.js","webpack://college-handbook/./node_modules/react-icons/lib/esm/iconBase.js","webpack://college-handbook/./node_modules/react-side-effect/lib/index.js","webpack://college-handbook/./node_modules/gatsby-link/index.js","webpack://college-handbook/./node_modules/gatsby-link/parse-path.js","webpack://college-handbook/./node_modules/gatsby-react-router-scroll/index.js","webpack://college-handbook/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://college-handbook/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://college-handbook/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://college-handbook/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://college-handbook/./.cache/api-runner-browser-plugins.js","webpack://college-handbook/./.cache/api-runner-browser.js","webpack://college-handbook/./node_modules/mitt/dist/mitt.es.js","webpack://college-handbook/./.cache/emitter.js","webpack://college-handbook/./.cache/normalize-page-path.js","webpack://college-handbook/./.cache/find-path.js","webpack://college-handbook/./.cache/gatsby-browser-entry.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://college-handbook/./.cache/prefetch.js","webpack://college-handbook/./.cache/loader.js","webpack://college-handbook/./.cache/page-renderer.js","webpack://college-handbook/./.cache/route-announcer-props.js","webpack://college-handbook/./.cache/navigation.js","webpack://college-handbook/./node_modules/shallow-compare/es/index.js","webpack://college-handbook/./.cache/ensure-resources.js","webpack://college-handbook/./.cache/production-app.js","webpack://college-handbook/./.cache/public-page-renderer-prod.js","webpack://college-handbook/./.cache/public-page-renderer.js","webpack://college-handbook/./.cache/react-lifecycles-compat.js","webpack://college-handbook/./.cache/redirect-utils.js","webpack://college-handbook/./.cache/register-service-worker.js","webpack://college-handbook/./.cache/strip-prefix.js","webpack://college-handbook/./node_modules/react-helmet/es/Helmet.js","webpack://college-handbook/./src/components/layout.js","webpack://college-handbook/./src/images/midd-shield.svg","webpack://college-handbook/./src/components/header.js","webpack://college-handbook/./node_modules/react-use-flexsearch/dist/index.esm.js","webpack://college-handbook/./src/components/search-bar.js","webpack://college-handbook/./src/components/navbar.js","webpack://college-handbook/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://college-handbook/./src/components/split-pane-context.js","webpack://college-handbook/./src/components/split-pane.js","webpack://college-handbook/./src/components/footer.js","webpack://college-handbook/./src/data/handbook.js","webpack://college-handbook/./src/components/search-results.js","webpack://college-handbook/./src/components/page-wrapper.js","webpack://college-handbook/./gatsby-browser.js","webpack://college-handbook/./node_modules/gatsby-plugin-netlify-cms/gatsby-browser.js","webpack://college-handbook/./node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://college-handbook/./node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://college-handbook/./node_modules/@gatsbyjs/reach-router/es/index.js","webpack://college-handbook/./node_modules/invariant/browser.js"],"names":["module","exports","self","ReferenceError","__esModule","_setPrototypeOf","o","p","Object","setPrototypeOf","__proto__","_inheritsLoose","subClass","superClass","prototype","create","constructor","_extends","assign","target","i","arguments","length","source","key","hasOwnProperty","call","apply","this","obj","excluded","sourceKeys","keys","indexOf","getLocation","_source$location","location","search","hash","href","origin","protocol","host","hostname","port","pathname","canUseDOM","URL","encodeURI","decodeURI","state","history","createHistory","options","listeners","transitioning","resolveTransition","_onTransitionComplete","listen","listener","push","popstateListener","action","addEventListener","removeEventListener","filter","fn","navigate","to","_ref","undefined","_ref$replace","replace","go","Date","now","replaceState","pushState","e","transition","Promise","res","forEach","createMemorySource","initialPath","searchIndex","initialLocation","substr","index","stack","states","name","_","uri","_uri$split","split","_uri$split$","_uri$split2","_uri$split2$","newIndex","window","document","createElement","globalHistory","shallowCompare","validateRedirect","insertParams","resolve","match","pick","startsWith","_invariant","_invariant2","default","string","routes","default_","uriPathname","uriSegments","segmentize","isRootUri","ranked","rankRoutes","l","missed","route","params","routeSegments","path","max","Math","routeSegment","uriSegment","isSplat","slice","map","decodeURIComponent","join","dynamicMatch","paramRe","exec","reservedNames","value","isDynamic","segment","test","rankRoute","score","reduce","isRootSegment","SEGMENT_POINTS","sort","a","b","addQuery","_len","query","Array","_key","q","base","_to$split","toPathname","toQuery","basePathname","toSegments","baseSegments","concat","allSegments","segments","pop","_path$split","pathBase","_path$split$","constructedPath","_params$location","_params$location$sear","searchSplit","from","obj1","obj2","obj1Keys","every","K","R","w","L","define","amd","modules","toLowerCase","ma","c","id","na","init","fa","d","u","g","cache","j","set","F","S","B","G","W","O","f","h","P","k","ha","page","next","result","where","M","oa","pa","T","defineProperty","get","r","RegExp","Q","V","ba","splice","ca","qa","v","x","m","I","D","N","da","X","ea","Y","y","t","n","E","parseInt","C","J","ra","A","z","Z","ia","sa","onmessage","data","content","threshold","limit","postMessage","add","update","remove","clear","info","worker","console","log","register","async","Function","substring","lastIndexOf","ta","cursor","suggest","toString","H","encode","depth","ja","memory","speed","balance","fast","aa","ka","la","registerMatcher","registerEncoder","U","bind","registerLanguage","stemmer","preset","Worker","tokenize","rtl","resolution","matcher","addMatcher","lang","doc","field","tag","store","_l","ua","importScripts","setTimeout","then","_ctx","_t","_u","_q","callback","bool","all","_y","_y2","_t2","_v","_x","_I","find","items","s","contextual","destroy","export","serialize","JSON","stringify","import","parse","va","icase","simple","advanced","extra","count","Blob","createObjectURL","type","isArray","delete","has","__data__","size","Symbol","Uint8Array","String","toStringTag","valueOf","byteLength","byteOffset","buffer","message","propertyIsEnumerable","getOwnPropertySymbols","ArrayBuffer","IE_PROTO","nmd","nodeType","process","require","types","binding","Buffer","isBuffer","isTypedArray","TypeError","Cache","resetWarningCache","Error","isRequired","array","func","number","object","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","loaded","enumerable","globalThis","paths","children","xe","expandNodesToLevel","me","crypto","getRandomValues","_n","toUpperCase","iterator","configurable","writable","getPrototypeOf","Reflect","construct","sham","Proxy","Boolean","props","title","PureComponent","ALL","PARENT","LEAF","getOwnPropertyDescriptor","flatNodes","getOwnPropertyDescriptors","defineProperties","disabled","noCascade","nodeHasChildren","label","parent","isChild","isParent","isLeaf","showCheckbox","getDisabledState","treeDepth","flattenNodes","expanded","toggleNode","toggleChecked","toggleParentStatus","isEveryChildChecked","getNode","checked","updateDeterminateProperty","indeterminate","checkbox","ref","$","check","uncheck","halfCheck","expandClose","expandOpen","expandAll","collapseAll","parentClose","parentOpen","leaf","toggle","onCheck","onClick","onExpand","getCheckState","expandOnClick","optimisticToggle","expandDisabled","className","renderCollapseIcon","icons","icon","onKeyPress","role","tabIndex","treeId","htmlFor","onChange","renderCheckboxIcon","showNodeIcon","renderNodeIcon","renderCheckboxLabel","renderBareLabel","renderCollapseButton","renderLabel","renderChildren","ee","te","re","ne","oe","ae","ie","ce","le","se","ye","ue","pe","fe","de","he","be","nodes","deserializeLists","model","prevProps","onNodeClick","onExpandAll","onCollapseAll","combineMemorized","setProps","reset","checkModel","clone","serializeList","expandAllNodes","isSomeChildChecked","checkState","some","onlyLeafCheckboxes","showNodeTitle","defaultProps","renderTreeNodes","determineShallowCheckState","showExpandAll","nameAsArray","renderArrayHiddenInput","renderJoinedHiddenInput","direction","iconsClass","nativeCheckboxes","renderExpandAll","renderHiddenInput","Component","ve","ge","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","isView","equal","it","entries","done","flags","$$typeof","error","warn","DefaultContext","color","style","attr","IconContext","__assign","__rest","Tree2Element","tree","child","GenIcon","IconBase","elem","conf","svgProps","computedSize","stroke","fill","strokeWidth","height","width","xmlns","Consumer","ex","React","React__default","_defineProperty","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","WrappedComponent","mountedInstances","emitChange","instance","SideEffect","_PureComponent","peek","rewind","recordedState","_proto","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","render","displayName","getDisplayName","_interopRequireDefault","_objectWithoutPropertiesLoose2","_assertThisInitialized2","_inheritsLoose2","_extends2","_propTypes","_react","_reachRouter","_utils","_parsePath","parsePath","_excluded","isAbsolutePath","withPrefix","prefix","_prefix","getGlobalBasePrefix","isLocalLink","getGlobalPathPrefix","endsWith","rewriteLinkPath","relativeTo","current","absolutify","NavLinkPropTypes","activeClassName","activeStyle","partiallyActive","GatsbyLinkLocationWrapper","Location","_ref2","GatsbyLink","_location","_React$Component","_this","defaultGetProps","_ref3","isPartiallyCurrent","isCurrent","IOSupported","IntersectionObserver","handleRef","_prefetch","currentPath","rewrittenPath","newPathName","___loader","enqueue","prevState","componentDidMount","io","_this$io","el","unobserve","disconnect","cb","_this2","innerRef","entry","isIntersecting","intersectionRatio","observe","_this3","_this$props","_this$props$getProps","getProps","_onClick","_onMouseEnter","onMouseEnter","rest","prefixedTo","Link","hovering","button","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","preventDefault","shouldReplace","___navigate","propTypes","_default","forwardRef","hashIndex","_scrollHandler","ScrollHandler","useScrollRestoration","ScrollContext","nodeInterop","_getRequireWildcardCache","newObj","hasPropertyDescriptor","desc","_interopRequireWildcard","_sessionStorage","WeakMap","cacheBabelInterop","cacheNodeInterop","createContext","SessionStorage","args","_stateStorage","_isTicking","_latestKnownScrollY","scrollListener","scrollY","requestAnimationFrame","_saveScroll","windowScroll","position","shouldUpdateScroll","scrollTo","scrollToHash","getElementById","scrollIntoView","prevRouterProps","routerProps","save","scrollPosition","_this$props$location","read","_this$props$location2","Provider","GATSBY_ROUTER_SCROLL_STATE","stateKey","getStateKey","sessionStorage","getItem","storedValue","setItem","stateKeyBase","identifier","useLocation","useContext","useRef","useLayoutEffect","onScroll","scrollTop","components","plugin","plugins","getResourceURLsForPathname","loadPage","loadPageSync","api","defaultReturn","argTransform","results","previous","on","handler","off","emit","evt","mitt","charAt","pathCache","matchPaths","trimPathname","rawPathname","stripPrefix","__BASE_PATH__","setMatchPaths","findMatchPath","trimmedPathname","cleanPath","pickPaths","matchPath","originalPath","normalizePagePath","grabMatchParams","findPath","redirect","maybeGetBrowserRedirect","toPath","foundPath","StaticQueryContext","loader","useStaticQuery","context","isNaN","Number","_arrayLikeToArray","arr","len","arr2","_toConsumableArray","iter","minLen","supportedPrefetchStrategy","feature","fakeLink","relList","supports","err","support","url","reject","link","setAttribute","onload","onerror","getElementsByTagName","getElementsByName","parentNode","appendChild","req","XMLHttpRequest","open","status","send","preFetched","catch","PageResourceStatus","Success","preferDefault","createPageDataUrl","doFetch","method","onreadystatechange","readyState","toPageResources","pageData","component","componentChunkName","webpackCompilationHash","staticQueryHashes","json","BaseLoader","loadComponent","inFlightNetworkRequests","pageDb","inFlightDb","staticQueryDb","pageDataDb","prefetchTriggered","prefetchCompleted","memoizedGet","inFlightPromise","response","setApiRunner","apiRunner","prefetchDisabled","fetchPageDataJson","loadObj","pagePath","retries","responseText","jsonPayload","payload","notFound","loadPageDataJson","rawPath","loadAppData","allData","finalResult","componentChunkPromise","pageResources","createdAt","staticQueryBatchPromise","staticQueryHash","staticQueryResults","staticQueryResultsMap","emitter","withErrorDetails","shouldPrefetch","navigator","connection","effectiveType","includes","saveData","doesConnectionSupportPrefetch","prefetch","realPath","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","as","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","__PATH_PREFIX__","ProdLoader","asyncRequires","chunkName","componentUrls","setLoader","_loader","publicLoader","getStaticQueryResults","PageRenderer","pageContext","__params","pageElement","RouteAnnouncerProps","top","padding","overflow","clip","whiteSpace","border","maybeRedirect","___replace","onPreRouteUpdate","prevLocation","onRouteUpdate","___swUpdated","timeoutId","clearTimeout","___webpackCompilationHash","serviceWorker","controller","gatsbyApi","reachNavigate","getSavedScrollPosition","RouteAnnouncer","announcementRef","nextProps","pageName","pageHeadings","querySelectorAll","textContent","newAnnouncement","innerText","compareLocationProps","nextLocation","RouteUpdates","shouldComponentUpdate","shallowDiffers","_i","getDerivedStateFromProps","loadResources","setState","nextState","___emitter","___push","apiRunnerAsync","RouteHandler","BaseContext","baseuri","basepath","DataContext","GatsbyRoot","LocationHandler","Router","browserLoc","SiteRoot","App","onClientEntryRanRef","performance","mark","renderer","ReactDOM","runRender","rootElement","hydrate","documentElement","doScroll","InternalPageRenderer","redirectMap","redirectIgnoreCaseMap","redirects","ignoreCase","fromPath","reg","installingWorker","installing","___failedResources","reload","str","clock","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","classCallCheck","Constructor","createClass","descriptor","protoProps","staticProps","objectWithoutProperties","possibleConstructorReturn","encodeSpecialCharacters","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","lowerCaseAttributeKey","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","currentTime","cafPolyfill","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","indexToSave","removeAttribute","tags","headElement","head","querySelector","tagNodes","indexToDelete","newElement","innerHTML","styleSheet","cssText","createTextNode","existingTag","isEqualNode","removeChild","generateElementAttributesAsString","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","_ref$title","meta","noscript","script","HelmetSideEffects","defer","HelmetExport","HelmetWrapper","inherits","mapNestedChildrenToProps","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","defaultTitle","titleTemplate","mappedState","renderStatic","site","siteMetadata","description","rel","src","MiddLogo","sizes","alt","_slicedToArray","_arrayWithHoles","_arr","_d","_e","_s","_iterableToArrayLimit","_nonIterableRest","InvalidIndexError","InvalidStoreError","SearchBarPresentation","onSubmit","handleSubmit","for","placeholder","setResults","setQuery","SearchBar","handleSubmitToggle","setHandleSubmitToggle","useState","providedIndex","searchOptions","_useState2","setIndex","useEffect","importedIndex","useMemo","useFlexSearch","fontSize","parentObj","handleClick","found","ele","valueCallback","handleFont","param","margin","verticalAlign","divText","myWindow","write","printResults","close","focus","_objectWithoutPropertiesLoose","Divider","onMouseHoldDown","SplitPaneContext","onMouseDown","SplitPaneLeft","topRef","createRef","clientWidth","setClientWidth","resizeSection","minWidth","maxWidth","SplitPaneRight","clientHeight","setClientHeight","yDividerPos","xDividerPos","onMouseHoldUp","onMouseHoldMove","clientY","clientX","noResults","slug","excerpt","setChecked","setExpanded","expand","setExpand","setPage","setValue","currentClass","setCurrentClass","setPrintResults","setStore","prevClass","toggleRef","allNodes","values","handlePageLoad","last","currentExpanded","currentPage","allNodesFound","fetch","localSearchPages","publicIndexURL","text","publicStoreURL","handleHighlight","names","getElementsByClassName","classList","markdownRemark","frontmatter","html","handleChecked","targetNode","expandCallback","wrapPageElement","errorRoute","accessTokenRoute","onInitialClientRender","_ref$enableIdentityWi","enableIdentityWidget","_ref$publicPath","publicPath","netlifyIdentityWidget","user","_objectWithoutProperties","_classCallCheck","_possibleConstructorReturn","_inherits","createNamedContext","defaultValue","Ctx","LocationContext","LocationProvider","getContext","refs","unlisten","_props$history","componentDidCatch","isRedirect","_navigate","unmounted","ServerLocation","baseContext","locationContext","RouterImpl","_React$PureComponent","_navigate2","primary","_props$component","domProps","createRoute","FocusWrapper","FocusHandler","wrapperProps","FocusContext","requestFocus","FocusHandlerImpl","initialRender","focusHandlerCount","_React$Component2","_temp2","_this4","_len2","_key2","shouldFocus","myURIChanged","navigatedUpToMe","contains","activeElement","_this5","_props2","_props2$component","Comp","outline","_ref4","_ref5","_ref6","_props$getProps","anchorProps","encodedHref","event","shouldNavigate","_location$state","restState","RedirectRequest","redirectTo","RedirectImpl","_React$Component3","_props3","_props3$replace","noThrow","resolvedTo","_props4","Redirect","_ref7","Match","_ref8","_ref9","_ref10","resolvedPath","useNavigate","useParams","useMatch","stripSlashes","elementPath","condition","format","argIndex","framesToPop"],"mappings":"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rE,SAAU,CACR,CACEjQ,MAAO,oDACP+R,MAAO,qCACPuC,UAAW,sBACXrE,SAAU,CACR,CACEjQ,MACE,qEACF+R,MAAO,oBACPuC,UAAW,oBAEb,CACEtU,MACE,yEACF+R,MAAO,wBACPuC,UAAW,wBAEb,CACEtU,MACE,0EACF+R,MAAO,yBACPuC,UAAW,yBAEb,CACEtU,MACE,mFACF+R,MAAO,kCACPuC,UAAW,iCACXrE,SAAU,CACR,CACEjQ,MACE,0IACF+R,MACE,0DACFuC,UACE,0DAEJ,CACEtU,MACE,kHACF+R,MAAO,kCACPuC,UAAW,kCAEb,CACEtU,MACE,kHACF+R,MAAO,uDACPuC,UAAW,kCAEb,CACEtU,MACE,6JACF+R,MACE,6EACFuC,UACE,+EAIR,CACEtU,MACE,oEACF+R,MAAO,mBACPuC,UAAW,kBACXrE,SAAU,CACR,CACEjQ,MACE,iGACF+R,MAAO,gCACPuC,UAAW,gCAEb,CACEtU,MACE,0FACF+R,MAAO,yBACPuC,UAAW,yBAEb,CACEtU,MACE,iHACF+R,MAAO,iDACPuC,UAAW,gDAEb,CACEtU,MACE,0GACF+R,MAAO,yCACPuC,UAAW,yCAEb,CACEtU,MACE,sFACF+R,MAAO,qBACPuC,UAAW,qBAEb,CACEtU,MACE,6JACF+R,MACE,8FACFuC,UACE,8FAIR,CACEtU,MACE,6FACF+R,MAAO,6CACPuC,UAAW,2CACXrE,SAAU,CACR,CACEjQ,MACE,sHACF+R,MAAO,4BACPuC,UAAW,4BAEb,CACEtU,MACE,2IACF+R,MAAO,iDACPuC,UAAW,iDAEb,CACEtU,MACE,4HACF+R,MAAO,oCACPuC,UAAW,kCAEb,CACEtU,MACE,wHACF+R,MAAO,gCACPuC,UAAW,8BAEb,CACEtU,MACE,qHACF+R,MAAO,2BACPuC,UAAW,2BAEb,CACEtU,MACE,mGACF+R,MAAO,qCACPuC,UAAW,SAEb,CACEtU,MACE,qHACF+R,MAAO,2BACPuC,UAAW,2BAEb,CACEtU,MACE,sHACF+R,MAAO,4BACPuC,UAAW,4BAEb,CACEtU,MACE,6GACF+R,MAAO,mBACPuC,UAAW,mBAEb,CACEtU,MACE,6JACF+R,MACE,qEACFuC,UACE,mEAEJ,CACEtU,MACE,+IACF+R,MAAO,qDACPuC,UAAW,qDAEb,CACEtU,MACE,uJACF+R,MACE,6DACFuC,UACE,6DAEJ,CACEtU,MACE,0HACF+R,MAAO,gCACPuC,UAAW,gCAEb,CACEtU,MACE,0HACF+R,MAAO,gCACPuC,UAAW,kCAIjB,CACEtU,MACE,wGACF+R,MAAO,uDACPuC,UAAW,sDACXrE,SAAU,CACR,CACEjQ,MACE,wJACF+R,MAAO,kDACPuC,UAAW,mDAEb,CACEtU,MACE,8HACF+R,MAAO,yBACPuC,UAAW,yBAEb,CACEtU,MACE,8HACF+R,MAAO,yBACPuC,UAAW,yBAEb,CACEtU,MACE,wIACF+R,MAAO,mCACPuC,UAAW,mCAEb,CACEtU,MACE,6HACF+R,MAAO,wBACPuC,UAAW,wBAEb,CACEtU,MACE,+HACF+R,MAAO,0BACPuC,UAAW,0BAEb,CACEtU,MACE,+HACF+R,MAAO,0BACPuC,UAAW,0BAEb,CACEtU,MACE,gIACF+R,MAAO,2BACPuC,UAAW,6BAIjB,CACEtU,MACE,yHACF+R,MACE,4EACFuC,UACE,uEACFrE,SAAU,CACR,CACEjQ,MACE,kKACF+R,MAAO,8CACPuC,UAAW,4CAEb,CACEtU,MACE,iNACF+R,MACE,6FACFuC,UACE,2FAEJ,CACEtU,MACE,0IACF+R,MAAO,oBACPuC,UAAW,oBAEb,CACEtU,MACE,oKACF+R,MAAO,kDACPuC,UAAW,8CAEb,CACEtU,MACE,uKACF+R,MAAO,iDACPuC,UAAW,iDAEb,CACEtU,MACE,qJACF+R,MACE,gIACFuC,UAAW,+BAEb,CACEtU,MACE,+HACF+R,MAAO,4CACPuC,UAAW,aAMrB,CACEtU,MACE,+FACF+R,MACE,kEACFuC,UACE,iEACFrE,SAAU,CACR,CACEjQ,MACE,yGACF+R,MAAO,wBACPuC,UAAW,aAEb,CACEtU,MACE,yGACF+R,MAAO,eACPuC,UAAW,YACXrE,SAAU,CACR,CACEjQ,MACE,sIACF+R,MAAO,gCACPuC,UAAW,gCAEb,CACEt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","file":"app.js","sourcesContent":["function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","function _extends() {\n module.exports = _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 module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nexports.__esModule = true;\n\nvar _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\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexports.globalHistory = globalHistory;\nexports.navigate = navigate;\nexports.createHistory = createHistory;\nexports.createMemorySource = createMemorySource;","\"use strict\";\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\n\nvar _invariant = require(\"invariant\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? (0, _invariant2.default)(false, \"<Router> dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// <Link to=\"deeper\"/>\n// // instead of\n// <Link to=`{${props.uri}/deeper}`/>\n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;","/*\n FlexSearch v0.6.30\n Copyright 2019 Nextapps GmbH\n Author: Thomas Wilkerling\n Released under the Apache 2.0 Licence\n https://github.com/nextapps-de/flexsearch\n*/\n'use strict';\n\n(function (K, R, w) {\n var L;\n (L = w.define) && L.amd ? L([], function () {\n return R;\n }) : (L = w.modules) ? L[K.toLowerCase()] = R : \"object\" === typeof exports ? module.exports = R : w[K] = R;\n})(\"FlexSearch\", function ma(K) {\n function w(a, c) {\n var b = c ? c.id : a && a.id;\n this.id = b || 0 === b ? b : na++;\n this.init(a, c);\n fa(this, \"index\", function () {\n return this.a ? Object.keys(this.a.index[this.a.keys[0]].c) : Object.keys(this.c);\n });\n fa(this, \"length\", function () {\n return this.index.length;\n });\n }\n\n function L(a, c, b, d) {\n this.u !== this.g && (this.o = this.o.concat(b), this.u++, d && this.o.length >= d && (this.u = this.g), this.u === this.g && (this.cache && this.j.set(c, this.o), this.F && this.F(this.o)));\n return this;\n }\n\n function S(a) {\n var c = B();\n\n for (var b in a) {\n if (a.hasOwnProperty(b)) {\n var d = a[b];\n F(d) ? c[b] = d.slice(0) : G(d) ? c[b] = S(d) : c[b] = d;\n }\n }\n\n return c;\n }\n\n function W(a, c) {\n var b = a.length,\n d = O(c),\n e = [];\n\n for (var f = 0, h = 0; f < b; f++) {\n var g = a[f];\n if (d && c(g) || !d && !c[g]) e[h++] = g;\n }\n\n return e;\n }\n\n function P(a, c, b, d, e, f, h, g, k, l) {\n b = ha(b, h ? 0 : e, g, f, c, k, l);\n var p;\n g && (g = b.page, p = b.next, b = b.result);\n if (h) c = this.where(h, null, e, b);else {\n c = b;\n b = this.l;\n e = c.length;\n f = Array(e);\n\n for (h = 0; h < e; h++) {\n f[h] = b[c[h]];\n }\n\n c = f;\n }\n b = c;\n d && (O(d) || (M = d.split(\":\"), 1 < M.length ? d = oa : (M = M[0], d = pa)), b.sort(d));\n b = T(g, p, b);\n this.cache && this.j.set(a, b);\n return b;\n }\n\n function fa(a, c, b) {\n Object.defineProperty(a, c, {\n get: b\n });\n }\n\n function r(a) {\n return new RegExp(a, \"g\");\n }\n\n function Q(a, c) {\n for (var b = 0; b < c.length; b += 2) {\n a = a.replace(c[b], c[b + 1]);\n }\n\n return a;\n }\n\n function V(a, c, b, d, e, f, h, g) {\n if (c[b]) return c[b];\n e = e ? (g - (h || g / 1.5)) * f + (h || g / 1.5) * e : f;\n c[b] = e;\n e >= h && (a = a[g - (e + .5 >> 0)], a = a[b] || (a[b] = []), a[a.length] = d);\n return e;\n }\n\n function ba(a, c) {\n if (a) {\n var b = Object.keys(a);\n\n for (var d = 0, e = b.length; d < e; d++) {\n var f = b[d],\n h = a[f];\n if (h) for (var g = 0, k = h.length; g < k; g++) {\n if (h[g] === c) {\n 1 === k ? delete a[f] : h.splice(g, 1);\n break;\n } else G(h[g]) && ba(h[g], c);\n }\n }\n }\n }\n\n function ca(a) {\n var c = \"\",\n b = \"\";\n var d = \"\";\n\n for (var e = 0; e < a.length; e++) {\n var f = a[e];\n if (f !== b) if (e && \"h\" === f) {\n if (d = \"a\" === d || \"e\" === d || \"i\" === d || \"o\" === d || \"u\" === d || \"y\" === d, (\"a\" === b || \"e\" === b || \"i\" === b || \"o\" === b || \"u\" === b || \"y\" === b) && d || \" \" === b) c += f;\n } else c += f;\n d = e === a.length - 1 ? \"\" : a[e + 1];\n b = f;\n }\n\n return c;\n }\n\n function qa(a, c) {\n a = a.length - c.length;\n return 0 > a ? 1 : a ? -1 : 0;\n }\n\n function pa(a, c) {\n a = a[M];\n c = c[M];\n return a < c ? -1 : a > c ? 1 : 0;\n }\n\n function oa(a, c) {\n var b = M.length;\n\n for (var d = 0; d < b; d++) {\n a = a[M[d]], c = c[M[d]];\n }\n\n return a < c ? -1 : a > c ? 1 : 0;\n }\n\n function T(a, c, b) {\n return a ? {\n page: a,\n next: c ? \"\" + c : null,\n result: b\n } : b;\n }\n\n function ha(a, c, b, d, e, f, h) {\n var g,\n k = [];\n\n if (!0 === b) {\n b = \"0\";\n var l = \"\";\n } else l = b && b.split(\":\");\n\n var p = a.length;\n\n if (1 < p) {\n var y = B(),\n t = [];\n var v, x;\n var n = 0,\n m;\n var I;\n var u = !0;\n var D,\n E = 0,\n N,\n da,\n X,\n ea;\n l && (2 === l.length ? (X = l, l = !1) : l = ea = parseInt(l[0], 10));\n\n if (h) {\n for (v = B(); n < p; n++) {\n if (\"not\" === e[n]) for (x = a[n], I = x.length, m = 0; m < I; m++) {\n v[\"@\" + x[m]] = 1;\n } else da = n + 1;\n }\n\n if (C(da)) return T(b, g, k);\n n = 0;\n } else N = J(e) && e;\n\n var Y;\n\n for (; n < p; n++) {\n var ra = n === (da || p) - 1;\n if (!N || !n) if ((m = N || e && e[n]) && \"and\" !== m) {\n if (\"or\" === m) Y = !1;else continue;\n } else Y = f = !0;\n x = a[n];\n\n if (I = x.length) {\n if (u) if (D) {\n var q = D.length;\n\n for (m = 0; m < q; m++) {\n u = D[m];\n var A = \"@\" + u;\n h && v[A] || (y[A] = 1, f || (k[E++] = u));\n }\n\n D = null;\n u = !1;\n } else {\n D = x;\n continue;\n }\n A = !1;\n\n for (m = 0; m < I; m++) {\n q = x[m];\n var z = \"@\" + q;\n var Z = f ? y[z] || 0 : n;\n if (!(!Z && !d || h && v[z] || !f && y[z])) if (Z === n) {\n if (ra) {\n if (!ea || --ea < E) if (k[E++] = q, c && E === c) return T(b, E + (l || 0), k);\n } else y[z] = n + 1;\n\n A = !0;\n } else d && (z = t[Z] || (t[Z] = []), z[z.length] = q);\n }\n\n if (Y && !A && !d) break;\n } else if (Y && !d) return T(b, g, x);\n }\n\n if (D) if (n = D.length, h) for (m = l ? parseInt(l, 10) : 0; m < n; m++) {\n a = D[m], v[\"@\" + a] || (k[E++] = a);\n } else k = D;\n if (d) for (E = k.length, X ? (n = parseInt(X[0], 10) + 1, m = parseInt(X[1], 10) + 1) : (n = t.length, m = 0); n--;) {\n if (q = t[n]) {\n for (I = q.length; m < I; m++) {\n if (d = q[m], !h || !v[\"@\" + d]) if (k[E++] = d, c && E === c) return T(b, n + \":\" + m, k);\n }\n\n m = 0;\n }\n }\n } else !p || e && \"not\" === e[0] || (k = a[0], l && (l = parseInt(l[0], 10)));\n\n c && (h = k.length, l && l > h && (l = 0), l = l || 0, g = l + c, g < h ? k = k.slice(l, g) : (g = 0, l && (k = k.slice(l))));\n return T(b, g, k);\n }\n\n function J(a) {\n return \"string\" === typeof a;\n }\n\n function F(a) {\n return a.constructor === Array;\n }\n\n function O(a) {\n return \"function\" === typeof a;\n }\n\n function G(a) {\n return \"object\" === typeof a;\n }\n\n function C(a) {\n return \"undefined\" === typeof a;\n }\n\n function ia(a) {\n var c = Array(a);\n\n for (var b = 0; b < a; b++) {\n c[b] = B();\n }\n\n return c;\n }\n\n function B() {\n return Object.create(null);\n }\n\n function sa() {\n var a, c;\n\n self.onmessage = function (b) {\n if (b = b.data) if (b.search) {\n var d = c.search(b.content, b.threshold ? {\n limit: b.limit,\n threshold: b.threshold,\n where: b.where\n } : b.limit);\n self.postMessage({\n id: a,\n content: b.content,\n limit: b.limit,\n result: d\n });\n } else b.add ? c.add(b.id, b.content) : b.update ? c.update(b.id, b.content) : b.remove ? c.remove(b.id) : b.clear ? c.clear() : b.info ? (b = c.info(), b.worker = a, console.log(b)) : b.register && (a = b.id, b.options.cache = !1, b.options.async = !1, b.options.worker = !1, c = new Function(b.register.substring(b.register.indexOf(\"{\") + 1, b.register.lastIndexOf(\"}\")))(), c = new c(b.options));\n };\n }\n\n function ta(a, c, b, d) {\n a = K(\"flexsearch\", \"id\" + a, sa, function (f) {\n (f = f.data) && f.result && d(f.id, f.content, f.result, f.limit, f.where, f.cursor, f.suggest);\n }, c);\n var e = ma.toString();\n b.id = c;\n a.postMessage({\n register: e,\n options: b,\n id: c\n });\n return a;\n }\n\n var H = {\n encode: \"icase\",\n f: \"forward\",\n split: /\\W+/,\n cache: !1,\n async: !1,\n g: !1,\n D: !1,\n a: !1,\n b: 9,\n threshold: 0,\n depth: 0\n },\n ja = {\n memory: {\n encode: \"extra\",\n f: \"strict\",\n threshold: 0,\n b: 1\n },\n speed: {\n encode: \"icase\",\n f: \"strict\",\n threshold: 1,\n b: 3,\n depth: 2\n },\n match: {\n encode: \"extra\",\n f: \"full\",\n threshold: 1,\n b: 3\n },\n score: {\n encode: \"extra\",\n f: \"strict\",\n threshold: 1,\n b: 9,\n depth: 4\n },\n balance: {\n encode: \"balance\",\n f: \"strict\",\n threshold: 0,\n b: 3,\n depth: 3\n },\n fast: {\n encode: \"icase\",\n f: \"strict\",\n threshold: 8,\n b: 9,\n depth: 1\n }\n },\n aa = [];\n var na = 0;\n var ka = {},\n la = {};\n\n w.create = function (a, c) {\n return new w(a, c);\n };\n\n w.registerMatcher = function (a) {\n for (var c in a) {\n a.hasOwnProperty(c) && aa.push(r(c), a[c]);\n }\n\n return this;\n };\n\n w.registerEncoder = function (a, c) {\n U[a] = c.bind(U);\n return this;\n };\n\n w.registerLanguage = function (a, c) {\n ka[a] = c.filter;\n la[a] = c.stemmer;\n return this;\n };\n\n w.encode = function (a, c) {\n return U[a](c);\n };\n\n w.prototype.init = function (a, c) {\n this.v = [];\n\n if (c) {\n var b = c.preset;\n a = c;\n } else a || (a = H), b = a.preset;\n\n c = {};\n J(a) ? (c = ja[a], a = {}) : b && (c = ja[b]);\n if (b = a.worker) if (\"undefined\" === typeof Worker) a.worker = !1, this.m = null;else {\n var d = parseInt(b, 10) || 4;\n this.C = -1;\n this.u = 0;\n this.o = [];\n this.F = null;\n this.m = Array(d);\n\n for (var e = 0; e < d; e++) {\n this.m[e] = ta(this.id, e, a, L.bind(this));\n }\n }\n this.f = a.tokenize || c.f || this.f || H.f;\n this.split = C(b = a.split) ? this.split || H.split : J(b) ? r(b) : b;\n this.D = a.rtl || this.D || H.D;\n this.async = \"undefined\" === typeof Promise || C(b = a.async) ? this.async || H.async : b;\n this.g = C(b = a.worker) ? this.g || H.g : b;\n this.threshold = C(b = a.threshold) ? c.threshold || this.threshold || H.threshold : b;\n this.b = C(b = a.resolution) ? b = c.b || this.b || H.b : b;\n b <= this.threshold && (this.b = this.threshold + 1);\n this.depth = \"strict\" !== this.f || C(b = a.depth) ? c.depth || this.depth || H.depth : b;\n this.w = (b = C(b = a.encode) ? c.encode || H.encode : b) && U[b] && U[b].bind(U) || (O(b) ? b : this.w || !1);\n (b = a.matcher) && this.addMatcher(b);\n\n if (b = (c = a.lang) || a.filter) {\n J(b) && (b = ka[b]);\n\n if (F(b)) {\n d = this.w;\n e = B();\n\n for (var f = 0; f < b.length; f++) {\n var h = d ? d(b[f]) : b[f];\n e[h] = 1;\n }\n\n b = e;\n }\n\n this.filter = b;\n }\n\n if (b = c || a.stemmer) {\n var g;\n c = J(b) ? la[b] : b;\n d = this.w;\n e = [];\n\n for (g in c) {\n c.hasOwnProperty(g) && (f = d ? d(g) : g, e.push(r(f + \"($|\\\\W)\"), d ? d(c[g]) : c[g]));\n }\n\n this.stemmer = g = e;\n }\n\n this.a = e = (b = a.doc) ? S(b) : this.a || H.a;\n this.i = ia(this.b - (this.threshold || 0));\n this.h = B();\n this.c = B();\n\n if (e) {\n this.l = B();\n a.doc = null;\n g = e.index = {};\n c = e.keys = [];\n d = e.field;\n f = e.tag;\n h = e.store;\n F(e.id) || (e.id = e.id.split(\":\"));\n\n if (h) {\n var k = B();\n if (J(h)) k[h] = 1;else if (F(h)) for (var l = 0; l < h.length; l++) {\n k[h[l]] = 1;\n } else G(h) && (k = h);\n e.store = k;\n }\n\n if (f) {\n this.G = B();\n h = B();\n if (d) if (J(d)) h[d] = a;else if (F(d)) for (k = 0; k < d.length; k++) {\n h[d[k]] = a;\n } else G(d) && (h = d);\n F(f) || (e.tag = f = [f]);\n\n for (d = 0; d < f.length; d++) {\n this.G[f[d]] = B();\n }\n\n this.I = f;\n d = h;\n }\n\n if (d) {\n var _l;\n\n F(d) || (G(d) ? (_l = d, e.field = d = Object.keys(d)) : e.field = d = [d]);\n\n for (e = 0; e < d.length; e++) {\n f = d[e], F(f) || (_l && (a = _l[f]), c[e] = f, d[e] = f.split(\":\")), g[f] = new w(a);\n }\n }\n\n a.doc = b;\n }\n\n this.B = !0;\n this.j = (this.cache = b = C(b = a.cache) ? this.cache || H.cache : b) ? new ua(b) : !1;\n return this;\n };\n\n w.prototype.encode = function (a) {\n a && (aa.length && (a = Q(a, aa)), this.v.length && (a = Q(a, this.v)), this.w && (a = this.w(a)), this.stemmer && (a = Q(a, this.stemmer)));\n return a;\n };\n\n w.prototype.addMatcher = function (a) {\n var c = this.v;\n\n for (var b in a) {\n a.hasOwnProperty(b) && c.push(r(b), a[b]);\n }\n\n return this;\n };\n\n w.prototype.add = function (a, c, b, d, e) {\n if (this.a && G(a)) return this.A(\"add\", a, c);\n\n if (c && J(c) && (a || 0 === a)) {\n var f = \"@\" + a;\n if (this.c[f] && !d) return this.update(a, c);\n if (this.g) return ++this.C >= this.m.length && (this.C = 0), this.m[this.C].postMessage({\n add: !0,\n id: a,\n content: c\n }), this.c[f] = \"\" + this.C, b && b(), this;\n\n if (!e) {\n if (this.async && \"function\" !== typeof importScripts) {\n var t = this;\n f = new Promise(function (v) {\n setTimeout(function () {\n t.add(a, c, null, d, !0);\n t = null;\n v();\n });\n });\n if (b) f.then(b);else return f;\n return this;\n }\n\n if (b) return this.add(a, c, null, d, !0), b(), this;\n }\n\n c = this.encode(c);\n if (!c.length) return this;\n b = this.f;\n e = O(b) ? b(c) : c.split(this.split);\n this.filter && (e = W(e, this.filter));\n var n = B();\n n._ctx = B();\n var m = e.length,\n u = this.threshold,\n q = this.depth,\n A = this.b,\n z = this.i,\n y = this.D;\n\n for (var _t = 0; _t < m; _t++) {\n var h = e[_t];\n\n if (h) {\n var g = h.length,\n k = (y ? _t + 1 : m - _t) / m,\n l = \"\";\n\n switch (b) {\n case \"reverse\":\n case \"both\":\n for (var p = g; --p;) {\n l = h[p] + l, V(z, n, l, a, y ? 1 : (g - p) / g, k, u, A - 1);\n }\n\n l = \"\";\n\n case \"forward\":\n for (p = 0; p < g; p++) {\n l += h[p], V(z, n, l, a, y ? (p + 1) / g : 1, k, u, A - 1);\n }\n\n break;\n\n case \"full\":\n for (p = 0; p < g; p++) {\n var v = (y ? p + 1 : g - p) / g;\n\n for (var x = g; x > p; x--) {\n l = h.substring(p, x), V(z, n, l, a, v, k, u, A - 1);\n }\n }\n\n break;\n\n default:\n if (g = V(z, n, h, a, 1, k, u, A - 1), q && 1 < m && g >= u) for (g = n._ctx[h] || (n._ctx[h] = B()), h = this.h[h] || (this.h[h] = ia(A - (u || 0))), k = _t - q, l = _t + q + 1, 0 > k && (k = 0), l > m && (l = m); k < l; k++) {\n k !== _t && V(h, g, e[k], a, 0, A - (k < _t ? _t - k : k - _t), u, A - 1);\n }\n }\n }\n }\n\n this.c[f] = 1;\n this.B = !1;\n }\n\n return this;\n };\n\n w.prototype.A = function (a, c, b) {\n if (F(c)) {\n var d = c.length;\n\n if (d--) {\n for (var e = 0; e < d; e++) {\n this.A(a, c[e]);\n }\n\n return this.A(a, c[d], b);\n }\n } else {\n var f = this.a.index,\n h = this.a.keys,\n g = this.a.tag;\n e = this.a.store;\n var k;\n var l = this.a.id;\n d = c;\n\n for (var p = 0; p < l.length; p++) {\n d = d[l[p]];\n }\n\n if (\"remove\" === a && (delete this.l[d], l = h.length, l--)) {\n for (c = 0; c < l; c++) {\n f[h[c]].remove(d);\n }\n\n return f[h[l]].remove(d, b);\n }\n\n if (g) {\n for (k = 0; k < g.length; k++) {\n var n = g[k];\n var m = c;\n l = n.split(\":\");\n\n for (p = 0; p < l.length; p++) {\n m = m[l[p]];\n }\n\n m = \"@\" + m;\n }\n\n k = this.G[n];\n k = k[m] || (k[m] = []);\n }\n\n l = this.a.field;\n\n for (var u = 0, q = l.length; u < q; u++) {\n n = l[u];\n g = c;\n\n for (m = 0; m < n.length; m++) {\n g = g[n[m]];\n }\n\n n = f[h[u]];\n m = \"add\" === a ? n.add : n.update;\n u === q - 1 ? m.call(n, d, g, b) : m.call(n, d, g);\n }\n\n if (e) {\n b = Object.keys(e);\n a = B();\n\n for (f = 0; f < b.length; f++) {\n if (h = b[f], e[h]) {\n h = h.split(\":\");\n\n var _u = void 0,\n _q = void 0;\n\n for (l = 0; l < h.length; l++) {\n g = h[l], _u = (_u || c)[g], _q = (_q || a)[g] = _u;\n }\n }\n }\n\n c = a;\n }\n\n k && (k[k.length] = c);\n this.l[d] = c;\n }\n\n return this;\n };\n\n w.prototype.update = function (a, c, b) {\n if (this.a && G(a)) return this.A(\"update\", a, c);\n this.c[\"@\" + a] && J(c) && (this.remove(a), this.add(a, c, b, !0));\n return this;\n };\n\n w.prototype.remove = function (a, c, b) {\n if (this.a && G(a)) return this.A(\"remove\", a, c);\n var d = \"@\" + a;\n\n if (this.c[d]) {\n if (this.g) return this.m[this.c[d]].postMessage({\n remove: !0,\n id: a\n }), delete this.c[d], c && c(), this;\n\n if (!b) {\n if (this.async && \"function\" !== typeof importScripts) {\n var e = this;\n d = new Promise(function (f) {\n setTimeout(function () {\n e.remove(a, null, !0);\n e = null;\n f();\n });\n });\n if (c) d.then(c);else return d;\n return this;\n }\n\n if (c) return this.remove(a, null, !0), c(), this;\n }\n\n for (c = 0; c < this.b - (this.threshold || 0); c++) {\n ba(this.i[c], a);\n }\n\n this.depth && ba(this.h, a);\n delete this.c[d];\n this.B = !1;\n }\n\n return this;\n };\n\n var M;\n\n w.prototype.search = function (a, c, b, d) {\n if (G(c)) {\n if (F(c)) for (var e = 0; e < c.length; e++) {\n c[e].query = a;\n } else c.query = a;\n a = c;\n c = 1E3;\n } else c && O(c) ? (b = c, c = 1E3) : c || 0 === c || (c = 1E3);\n\n if (this.g) {\n this.F = b;\n this.u = 0;\n this.o = [];\n\n for (var f = 0; f < this.g; f++) {\n this.m[f].postMessage({\n search: !0,\n limit: c,\n content: a\n });\n }\n } else {\n var h = [],\n g = a;\n\n if (G(a) && !F(a)) {\n b || (b = a.callback) && (g.callback = null);\n var k = a.sort;\n var l = a.page;\n c = a.limit;\n f = a.threshold;\n var p = a.suggest;\n a = a.query;\n }\n\n if (this.a) {\n f = this.a.index;\n var y = g.where;\n var n = g.bool || \"or\",\n m = g.field;\n var t = n;\n var v, x;\n if (m) F(m) || (m = [m]);else if (F(g)) {\n var u = g;\n m = [];\n t = [];\n\n for (var q = 0; q < g.length; q++) {\n d = g[q], e = d.bool || n, m[q] = d.field, t[q] = e, \"not\" === e ? v = !0 : \"and\" === e && (x = !0);\n }\n } else m = this.a.keys;\n n = m.length;\n\n for (q = 0; q < n; q++) {\n u && (g = u[q]), l && !J(g) && (g.page = null, g.limit = 0), h[q] = f[m[q]].search(g, 0);\n }\n\n if (b) return b(P.call(this, a, t, h, k, c, p, y, l, x, v));\n\n if (this.async) {\n var I = this;\n return new Promise(function (D) {\n Promise.all(h).then(function (E) {\n D(P.call(I, a, t, E, k, c, p, y, l, x, v));\n });\n });\n }\n\n return P.call(this, a, t, h, k, c, p, y, l, x, v);\n }\n\n f || (f = this.threshold || 0);\n\n if (!d) {\n if (this.async && \"function\" !== typeof importScripts) {\n var _y = this;\n\n f = new Promise(function (t) {\n setTimeout(function () {\n t(_y.search(g, c, null, !0));\n _y = null;\n });\n });\n if (b) f.then(b);else return f;\n return this;\n }\n\n if (b) return b(this.search(g, c, null, !0)), this;\n }\n\n if (!a || !J(a)) return h;\n g = a;\n if (this.cache) if (this.B) {\n if (b = this.j.get(a)) return b;\n } else this.j.clear(), this.B = !0;\n g = this.encode(g);\n if (!g.length) return h;\n b = this.f;\n b = O(b) ? b(g) : g.split(this.split);\n this.filter && (b = W(b, this.filter));\n u = b.length;\n d = !0;\n e = [];\n var A = B(),\n z = 0;\n 1 < u && (this.depth && \"strict\" === this.f ? n = !0 : b.sort(qa));\n\n if (!n || (q = this.h)) {\n var _y2 = this.b;\n\n for (; z < u; z++) {\n var _t2 = b[z];\n\n if (_t2) {\n if (n) {\n if (!m) if (q[_t2]) m = _t2, A[_t2] = 1;else if (!p) return h;\n if (p && z === u - 1 && !e.length) n = !1, _t2 = m || _t2, A[_t2] = 0;else if (!m) continue;\n }\n\n if (!A[_t2]) {\n var _v = [];\n\n var _x = !1,\n _I = 0;\n\n var D = n ? q[m] : this.i;\n\n if (D) {\n var E = void 0;\n\n for (var N = 0; N < _y2 - f; N++) {\n if (E = D[N] && D[N][_t2]) _v[_I++] = E, _x = !0;\n }\n }\n\n if (_x) m = _t2, e[e.length] = 1 < _I ? _v.concat.apply([], _v) : _v[0];else if (!p) {\n d = !1;\n break;\n }\n A[_t2] = 1;\n }\n }\n }\n } else d = !1;\n\n d && (h = ha(e, c, l, p));\n this.cache && this.j.set(a, h);\n return h;\n }\n };\n\n w.prototype.find = function (a, c) {\n return this.where(a, c, 1)[0] || null;\n };\n\n w.prototype.where = function (a, c, b, d) {\n var e = this.l,\n f = [];\n var h = 0;\n var g;\n var k;\n var l;\n\n if (G(a)) {\n b || (b = c);\n var p = Object.keys(a);\n var n = p.length;\n g = !1;\n if (1 === n && \"id\" === p[0]) return [e[a.id]];\n if ((k = this.I) && !d) for (var m = 0; m < k.length; m++) {\n var u = k[m],\n q = a[u];\n\n if (!C(q)) {\n l = this.G[u][\"@\" + q];\n if (0 === --n) return l;\n p.splice(p.indexOf(u), 1);\n delete a[u];\n break;\n }\n }\n k = Array(n);\n\n for (m = 0; m < n; m++) {\n k[m] = p[m].split(\":\");\n }\n } else {\n if (O(a)) {\n c = d || Object.keys(e);\n b = c.length;\n\n for (p = 0; p < b; p++) {\n n = e[c[p]], a(n) && (f[h++] = n);\n }\n\n return f;\n }\n\n if (C(c)) return [e[a]];\n if (\"id\" === a) return [e[c]];\n p = [a];\n n = 1;\n k = [a.split(\":\")];\n g = !0;\n }\n\n d = l || d || Object.keys(e);\n m = d.length;\n\n for (u = 0; u < m; u++) {\n q = l ? d[u] : e[d[u]];\n var A = !0;\n\n for (var z = 0; z < n; z++) {\n g || (c = a[p[z]]);\n var y = k[z],\n t = y.length;\n var v = q;\n if (1 < t) for (var x = 0; x < t; x++) {\n v = v[y[x]];\n } else v = v[y[0]];\n\n if (v !== c) {\n A = !1;\n break;\n }\n }\n\n if (A && (f[h++] = q, b && h === b)) break;\n }\n\n return f;\n };\n\n w.prototype.info = function () {\n if (this.g) for (var a = 0; a < this.g; a++) {\n this.m[a].postMessage({\n info: !0,\n id: this.id\n });\n } else return {\n id: this.id,\n items: this.length,\n cache: this.cache && this.cache.s ? this.cache.s.length : !1,\n matcher: aa.length + (this.v ? this.v.length : 0),\n worker: this.g,\n threshold: this.threshold,\n depth: this.depth,\n resolution: this.b,\n contextual: this.depth && \"strict\" === this.f\n };\n };\n\n w.prototype.clear = function () {\n return this.destroy().init();\n };\n\n w.prototype.destroy = function () {\n this.cache && (this.j.clear(), this.j = null);\n this.i = this.h = this.c = null;\n\n if (this.a) {\n var a = this.a.keys;\n\n for (var c = 0; c < a.length; c++) {\n this.a.index[a[c]].destroy();\n }\n\n this.a = this.l = null;\n }\n\n return this;\n };\n\n w.prototype.export = function (a) {\n var c = !a || C(a.serialize) || a.serialize;\n\n if (this.a) {\n var d = !a || C(a.doc) || a.doc;\n var b = !a || C(a.index) || a.index;\n a = [];\n var e = 0;\n if (b) for (b = this.a.keys; e < b.length; e++) {\n var f = this.a.index[b[e]];\n a[e] = [f.i, f.h, Object.keys(f.c)];\n }\n d && (a[e] = this.l);\n } else a = [this.i, this.h, Object.keys(this.c)];\n\n c && (a = JSON.stringify(a));\n return a;\n };\n\n w.prototype.import = function (a, c) {\n if (!c || C(c.serialize) || c.serialize) a = JSON.parse(a);\n var b = B();\n\n if (this.a) {\n var d = !c || C(c.doc) || c.doc,\n e = 0;\n\n if (!c || C(c.index) || c.index) {\n c = this.a.keys;\n var h = c.length;\n\n for (var f = a[0][2]; e < f.length; e++) {\n b[f[e]] = 1;\n }\n\n for (e = 0; e < h; e++) {\n f = this.a.index[c[e]];\n var g = a[e];\n g && (f.i = g[0], f.h = g[1], f.c = b);\n }\n }\n\n d && (this.l = G(d) ? d : a[e]);\n } else {\n d = a[2];\n\n for (e = 0; e < d.length; e++) {\n b[d[e]] = 1;\n }\n\n this.i = a[0];\n this.h = a[1];\n this.c = b;\n }\n };\n\n var va = function () {\n var a = r(\"\\\\s+\"),\n c = r(\"[^a-z0-9 ]\"),\n b = [r(\"[-/]\"), \" \", c, \"\", a, \" \"];\n return function (d) {\n return ca(Q(d.toLowerCase(), b));\n };\n }(),\n U = {\n icase: function icase(a) {\n return a.toLowerCase();\n },\n simple: function () {\n var a = r(\"\\\\s+\"),\n c = r(\"[^a-z0-9 ]\"),\n b = r(\"[-/]\"),\n d = r(\"[\\xE0\\xE1\\xE2\\xE3\\xE4\\xE5]\"),\n e = r(\"[\\xE8\\xE9\\xEA\\xEB]\"),\n f = r(\"[\\xEC\\xED\\xEE\\xEF]\"),\n h = r(\"[\\xF2\\xF3\\xF4\\xF5\\xF6\\u0151]\"),\n g = r(\"[\\xF9\\xFA\\xFB\\xFC\\u0171]\"),\n k = r(\"[\\xFD\\u0177\\xFF]\"),\n l = r(\"\\xF1\"),\n p = r(\"[\\xE7c]\"),\n n = r(\"\\xDF\"),\n m = r(\" & \"),\n u = [d, \"a\", e, \"e\", f, \"i\", h, \"o\", g, \"u\", k, \"y\", l, \"n\", p, \"k\", n, \"s\", m, \" and \", b, \" \", c, \"\", a, \" \"];\n return function (q) {\n q = Q(q.toLowerCase(), u);\n return \" \" === q ? \"\" : q;\n };\n }(),\n advanced: function () {\n var a = r(\"ae\"),\n c = r(\"ai\"),\n b = r(\"ay\"),\n d = r(\"ey\"),\n e = r(\"oe\"),\n f = r(\"ue\"),\n h = r(\"ie\"),\n g = r(\"sz\"),\n k = r(\"zs\"),\n l = r(\"ck\"),\n p = r(\"cc\"),\n n = r(\"sh\"),\n m = r(\"th\"),\n u = r(\"dt\"),\n q = r(\"ph\"),\n A = r(\"pf\"),\n z = r(\"ou\"),\n y = r(\"uo\"),\n t = [a, \"a\", c, \"ei\", b, \"ei\", d, \"ei\", e, \"o\", f, \"u\", h, \"i\", g, \"s\", k, \"s\", n, \"s\", l, \"k\", p, \"k\", m, \"t\", u, \"t\", q, \"f\", A, \"f\", z, \"o\", y, \"u\"];\n return function (v, x) {\n if (!v) return v;\n v = this.simple(v);\n 2 < v.length && (v = Q(v, t));\n x || 1 < v.length && (v = ca(v));\n return v;\n };\n }(),\n extra: function () {\n var a = r(\"p\"),\n c = r(\"z\"),\n b = r(\"[cgq]\"),\n d = r(\"n\"),\n e = r(\"d\"),\n f = r(\"[vw]\"),\n h = r(\"[aeiouy]\"),\n g = [a, \"b\", c, \"s\", b, \"k\", d, \"m\", e, \"t\", f, \"f\", h, \"\"];\n return function (k) {\n if (!k) return k;\n k = this.advanced(k, !0);\n\n if (1 < k.length) {\n k = k.split(\" \");\n\n for (var l = 0; l < k.length; l++) {\n var p = k[l];\n 1 < p.length && (k[l] = p[0] + Q(p.substring(1), g));\n }\n\n k = k.join(\" \");\n k = ca(k);\n }\n\n return k;\n };\n }(),\n balance: va\n },\n ua = function () {\n function a(c) {\n this.clear();\n this.H = !0 !== c && c;\n }\n\n a.prototype.clear = function () {\n this.cache = B();\n this.count = B();\n this.index = B();\n this.s = [];\n };\n\n a.prototype.set = function (c, b) {\n if (this.H && C(this.cache[c])) {\n var d = this.s.length;\n\n if (d === this.H) {\n d--;\n var e = this.s[d];\n delete this.cache[e];\n delete this.count[e];\n delete this.index[e];\n }\n\n this.index[c] = d;\n this.s[d] = c;\n this.count[c] = -1;\n this.cache[c] = b;\n this.get(c);\n } else this.cache[c] = b;\n };\n\n a.prototype.get = function (c) {\n var b = this.cache[c];\n\n if (this.H && b) {\n var d = ++this.count[c];\n var f = this.index;\n var h = f[c];\n\n if (0 < h) {\n var g = this.s;\n\n for (var e = h; this.count[g[--h]] <= d && -1 !== h;) {\n ;\n }\n\n h++;\n\n if (h !== e) {\n for (d = e; d > h; d--) {\n e = g[d - 1], g[d] = e, f[e] = d;\n }\n\n g[h] = c;\n f[c] = h;\n }\n }\n }\n\n return b;\n };\n\n return a;\n }();\n\n return w;\n}(function () {\n var K = {},\n R = \"undefined\" !== typeof Blob && \"undefined\" !== typeof URL && URL.createObjectURL;\n return function (w, L, S, W, P) {\n S = R ? URL.createObjectURL(new Blob([\"(\" + S.toString() + \")()\"], {\n type: \"text/javascript\"\n })) : w + \".min.js\";\n w += \"-\" + L;\n K[w] || (K[w] = []);\n K[w][P] = new Worker(S);\n K[w][P].onmessage = W;\n return K[w][P];\n };\n}()), this);","\"use strict\";\n\nmodule.exports = Object.assign;","/*! react-checkbox-tree - v1.7.1 | 2021 */\n\n/*! For license information please see index.browser.js.LICENSE.txt */\n!function (e, t) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = t(require(\"react\")) : \"function\" == typeof define && define.amd ? define([\"react\"], t) : \"object\" == typeof exports ? exports.ReactCheckboxTree = t(require(\"react\")) : e.ReactCheckboxTree = t(e.React);\n}(self, function (e) {\n return function () {\n var t = {\n 4184: function _(e, t) {\n var r;\n !function () {\n \"use strict\";\n\n var n = {}.hasOwnProperty;\n\n function o() {\n for (var e = [], t = 0; t < arguments.length; t++) {\n var r = arguments[t];\n\n if (r) {\n var a = typeof r;\n if (\"string\" === a || \"number\" === a) e.push(r);else if (Array.isArray(r)) {\n if (r.length) {\n var i = o.apply(null, r);\n i && e.push(i);\n }\n } else if (\"object\" === a) if (r.toString === Object.prototype.toString) for (var c in r) {\n n.call(r, c) && r[c] && e.push(c);\n } else e.push(r.toString());\n }\n }\n\n return e.join(\" \");\n }\n\n e.exports ? (o.default = o, e.exports = o) : void 0 === (r = function () {\n return o;\n }.apply(t, [])) || (e.exports = r);\n }();\n },\n 8552: function _(e, t, r) {\n var n = r(852)(r(5639), \"DataView\");\n e.exports = n;\n },\n 1989: function _(e, t, r) {\n var n = r(1789),\n o = r(401),\n a = r(7667),\n i = r(1327),\n c = r(1866);\n\n function l(e) {\n var t = -1,\n r = null == e ? 0 : e.length;\n\n for (this.clear(); ++t < r;) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n }\n\n l.prototype.clear = n, l.prototype.delete = o, l.prototype.get = a, l.prototype.has = i, l.prototype.set = c, e.exports = l;\n },\n 8407: function _(e, t, r) {\n var n = r(7040),\n o = r(4125),\n a = r(2117),\n i = r(7518),\n c = r(4705);\n\n function l(e) {\n var t = -1,\n r = null == e ? 0 : e.length;\n\n for (this.clear(); ++t < r;) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n }\n\n l.prototype.clear = n, l.prototype.delete = o, l.prototype.get = a, l.prototype.has = i, l.prototype.set = c, e.exports = l;\n },\n 7071: function _(e, t, r) {\n var n = r(852)(r(5639), \"Map\");\n e.exports = n;\n },\n 3369: function _(e, t, r) {\n var n = r(4785),\n o = r(1285),\n a = r(6e3),\n i = r(9916),\n c = r(5265);\n\n function l(e) {\n var t = -1,\n r = null == e ? 0 : e.length;\n\n for (this.clear(); ++t < r;) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n }\n\n l.prototype.clear = n, l.prototype.delete = o, l.prototype.get = a, l.prototype.has = i, l.prototype.set = c, e.exports = l;\n },\n 3818: function _(e, t, r) {\n var n = r(852)(r(5639), \"Promise\");\n e.exports = n;\n },\n 8525: function _(e, t, r) {\n var n = r(852)(r(5639), \"Set\");\n e.exports = n;\n },\n 8668: function _(e, t, r) {\n var n = r(3369),\n o = r(619),\n a = r(2385);\n\n function i(e) {\n var t = -1,\n r = null == e ? 0 : e.length;\n\n for (this.__data__ = new n(); ++t < r;) {\n this.add(e[t]);\n }\n }\n\n i.prototype.add = i.prototype.push = o, i.prototype.has = a, e.exports = i;\n },\n 6384: function _(e, t, r) {\n var n = r(8407),\n o = r(7465),\n a = r(3779),\n i = r(7599),\n c = r(4758),\n l = r(4309);\n\n function s(e) {\n var t = this.__data__ = new n(e);\n this.size = t.size;\n }\n\n s.prototype.clear = o, s.prototype.delete = a, s.prototype.get = i, s.prototype.has = c, s.prototype.set = l, e.exports = s;\n },\n 2705: function _(e, t, r) {\n var n = r(5639).Symbol;\n e.exports = n;\n },\n 1149: function _(e, t, r) {\n var n = r(5639).Uint8Array;\n e.exports = n;\n },\n 577: function _(e, t, r) {\n var n = r(852)(r(5639), \"WeakMap\");\n e.exports = n;\n },\n 4963: function _(e) {\n e.exports = function (e, t) {\n for (var r = -1, n = null == e ? 0 : e.length, o = 0, a = []; ++r < n;) {\n var i = e[r];\n t(i, r, e) && (a[o++] = i);\n }\n\n return a;\n };\n },\n 4636: function _(e, t, r) {\n var n = r(2545),\n o = r(5694),\n a = r(1469),\n i = r(4144),\n c = r(5776),\n l = r(6719),\n s = Object.prototype.hasOwnProperty;\n\n e.exports = function (e, t) {\n var r = a(e),\n u = !r && o(e),\n p = !r && !u && i(e),\n f = !r && !u && !p && l(e),\n d = r || u || p || f,\n h = d ? n(e.length, String) : [],\n y = h.length;\n\n for (var b in e) {\n !t && !s.call(e, b) || d && (\"length\" == b || p && (\"offset\" == b || \"parent\" == b) || f && (\"buffer\" == b || \"byteLength\" == b || \"byteOffset\" == b) || c(b, y)) || h.push(b);\n }\n\n return h;\n };\n },\n 2488: function _(e) {\n e.exports = function (e, t) {\n for (var r = -1, n = t.length, o = e.length; ++r < n;) {\n e[o + r] = t[r];\n }\n\n return e;\n };\n },\n 2908: function _(e) {\n e.exports = function (e, t) {\n for (var r = -1, n = null == e ? 0 : e.length; ++r < n;) {\n if (t(e[r], r, e)) return !0;\n }\n\n return !1;\n };\n },\n 8470: function _(e, t, r) {\n var n = r(7813);\n\n e.exports = function (e, t) {\n for (var r = e.length; r--;) {\n if (n(e[r][0], t)) return r;\n }\n\n return -1;\n };\n },\n 8866: function _(e, t, r) {\n var n = r(2488),\n o = r(1469);\n\n e.exports = function (e, t, r) {\n var a = t(e);\n return o(e) ? a : n(a, r(e));\n };\n },\n 4239: function _(e, t, r) {\n var n = r(2705),\n o = r(9607),\n a = r(2333),\n i = n ? n.toStringTag : void 0;\n\n e.exports = function (e) {\n return null == e ? void 0 === e ? \"[object Undefined]\" : \"[object Null]\" : i && i in Object(e) ? o(e) : a(e);\n };\n },\n 9454: function _(e, t, r) {\n var n = r(4239),\n o = r(7005);\n\n e.exports = function (e) {\n return o(e) && \"[object Arguments]\" == n(e);\n };\n },\n 939: function _(e, t, r) {\n var n = r(2492),\n o = r(7005);\n\n e.exports = function e(t, r, a, i, c) {\n return t === r || (null == t || null == r || !o(t) && !o(r) ? t != t && r != r : n(t, r, a, i, e, c));\n };\n },\n 2492: function _(e, t, r) {\n var n = r(6384),\n o = r(7114),\n a = r(8351),\n i = r(6096),\n c = r(4160),\n l = r(1469),\n s = r(4144),\n u = r(6719),\n p = \"[object Arguments]\",\n f = \"[object Array]\",\n d = \"[object Object]\",\n h = Object.prototype.hasOwnProperty;\n\n e.exports = function (e, t, r, y, b, v) {\n var g = l(e),\n m = l(t),\n x = g ? f : c(e),\n O = m ? f : c(t),\n k = (x = x == p ? d : x) == d,\n j = (O = O == p ? d : O) == d,\n _ = x == O;\n\n if (_ && s(e)) {\n if (!s(t)) return !1;\n g = !0, k = !1;\n }\n\n if (_ && !k) return v || (v = new n()), g || u(e) ? o(e, t, r, y, b, v) : a(e, t, x, r, y, b, v);\n\n if (!(1 & r)) {\n var w = k && h.call(e, \"__wrapped__\"),\n C = j && h.call(t, \"__wrapped__\");\n\n if (w || C) {\n var P = w ? e.value() : e,\n E = C ? t.value() : t;\n return v || (v = new n()), b(P, E, r, y, v);\n }\n }\n\n return !!_ && (v || (v = new n()), i(e, t, r, y, b, v));\n };\n },\n 8458: function _(e, t, r) {\n var n = r(3560),\n o = r(5346),\n a = r(3218),\n i = r(346),\n c = /^\\[object .+?Constructor\\]$/,\n l = Function.prototype,\n s = Object.prototype,\n u = l.toString,\n p = s.hasOwnProperty,\n f = RegExp(\"^\" + u.call(p).replace(/[\\\\^$.*+?()[\\]{}|]/g, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\");\n\n e.exports = function (e) {\n return !(!a(e) || o(e)) && (n(e) ? f : c).test(i(e));\n };\n },\n 8749: function _(e, t, r) {\n var n = r(4239),\n o = r(1780),\n a = r(7005),\n i = {};\n i[\"[object Float32Array]\"] = i[\"[object Float64Array]\"] = i[\"[object Int8Array]\"] = i[\"[object Int16Array]\"] = i[\"[object Int32Array]\"] = i[\"[object Uint8Array]\"] = i[\"[object Uint8ClampedArray]\"] = i[\"[object Uint16Array]\"] = i[\"[object Uint32Array]\"] = !0, i[\"[object Arguments]\"] = i[\"[object Array]\"] = i[\"[object ArrayBuffer]\"] = i[\"[object Boolean]\"] = i[\"[object DataView]\"] = i[\"[object Date]\"] = i[\"[object Error]\"] = i[\"[object Function]\"] = i[\"[object Map]\"] = i[\"[object Number]\"] = i[\"[object Object]\"] = i[\"[object RegExp]\"] = i[\"[object Set]\"] = i[\"[object String]\"] = i[\"[object WeakMap]\"] = !1, e.exports = function (e) {\n return a(e) && o(e.length) && !!i[n(e)];\n };\n },\n 280: function _(e, t, r) {\n var n = r(5726),\n o = r(6916),\n a = Object.prototype.hasOwnProperty;\n\n e.exports = function (e) {\n if (!n(e)) return o(e);\n var t = [];\n\n for (var r in Object(e)) {\n a.call(e, r) && \"constructor\" != r && t.push(r);\n }\n\n return t;\n };\n },\n 2545: function _(e) {\n e.exports = function (e, t) {\n for (var r = -1, n = Array(e); ++r < e;) {\n n[r] = t(r);\n }\n\n return n;\n };\n },\n 1717: function _(e) {\n e.exports = function (e) {\n return function (t) {\n return e(t);\n };\n };\n },\n 4757: function _(e) {\n e.exports = function (e, t) {\n return e.has(t);\n };\n },\n 4429: function _(e, t, r) {\n var n = r(5639)[\"__core-js_shared__\"];\n e.exports = n;\n },\n 7114: function _(e, t, r) {\n var n = r(8668),\n o = r(2908),\n a = r(4757);\n\n e.exports = function (e, t, r, i, c, l) {\n var s = 1 & r,\n u = e.length,\n p = t.length;\n if (u != p && !(s && p > u)) return !1;\n var f = l.get(e),\n d = l.get(t);\n if (f && d) return f == t && d == e;\n var h = -1,\n y = !0,\n b = 2 & r ? new n() : void 0;\n\n for (l.set(e, t), l.set(t, e); ++h < u;) {\n var v = e[h],\n g = t[h];\n if (i) var m = s ? i(g, v, h, t, e, l) : i(v, g, h, e, t, l);\n\n if (void 0 !== m) {\n if (m) continue;\n y = !1;\n break;\n }\n\n if (b) {\n if (!o(t, function (e, t) {\n if (!a(b, t) && (v === e || c(v, e, r, i, l))) return b.push(t);\n })) {\n y = !1;\n break;\n }\n } else if (v !== g && !c(v, g, r, i, l)) {\n y = !1;\n break;\n }\n }\n\n return l.delete(e), l.delete(t), y;\n };\n },\n 8351: function _(e, t, r) {\n var n = r(2705),\n o = r(1149),\n a = r(7813),\n i = r(7114),\n c = r(8776),\n l = r(1814),\n s = n ? n.prototype : void 0,\n u = s ? s.valueOf : void 0;\n\n e.exports = function (e, t, r, n, s, p, f) {\n switch (r) {\n case \"[object DataView]\":\n if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1;\n e = e.buffer, t = t.buffer;\n\n case \"[object ArrayBuffer]\":\n return !(e.byteLength != t.byteLength || !p(new o(e), new o(t)));\n\n case \"[object Boolean]\":\n case \"[object Date]\":\n case \"[object Number]\":\n return a(+e, +t);\n\n case \"[object Error]\":\n return e.name == t.name && e.message == t.message;\n\n case \"[object RegExp]\":\n case \"[object String]\":\n return e == t + \"\";\n\n case \"[object Map]\":\n var d = c;\n\n case \"[object Set]\":\n var h = 1 & n;\n if (d || (d = l), e.size != t.size && !h) return !1;\n var y = f.get(e);\n if (y) return y == t;\n n |= 2, f.set(e, t);\n var b = i(d(e), d(t), n, s, p, f);\n return f.delete(e), b;\n\n case \"[object Symbol]\":\n if (u) return u.call(e) == u.call(t);\n }\n\n return !1;\n };\n },\n 6096: function _(e, t, r) {\n var n = r(8234),\n o = Object.prototype.hasOwnProperty;\n\n e.exports = function (e, t, r, a, i, c) {\n var l = 1 & r,\n s = n(e),\n u = s.length;\n if (u != n(t).length && !l) return !1;\n\n for (var p = u; p--;) {\n var f = s[p];\n if (!(l ? f in t : o.call(t, f))) return !1;\n }\n\n var d = c.get(e),\n h = c.get(t);\n if (d && h) return d == t && h == e;\n var y = !0;\n c.set(e, t), c.set(t, e);\n\n for (var b = l; ++p < u;) {\n var v = e[f = s[p]],\n g = t[f];\n if (a) var m = l ? a(g, v, f, t, e, c) : a(v, g, f, e, t, c);\n\n if (!(void 0 === m ? v === g || i(v, g, r, a, c) : m)) {\n y = !1;\n break;\n }\n\n b || (b = \"constructor\" == f);\n }\n\n if (y && !b) {\n var x = e.constructor,\n O = t.constructor;\n x == O || !(\"constructor\" in e) || !(\"constructor\" in t) || \"function\" == typeof x && x instanceof x && \"function\" == typeof O && O instanceof O || (y = !1);\n }\n\n return c.delete(e), c.delete(t), y;\n };\n },\n 1957: function _(e, t, r) {\n var n = \"object\" == typeof r.g && r.g && r.g.Object === Object && r.g;\n e.exports = n;\n },\n 8234: function _(e, t, r) {\n var n = r(8866),\n o = r(9551),\n a = r(3674);\n\n e.exports = function (e) {\n return n(e, a, o);\n };\n },\n 5050: function _(e, t, r) {\n var n = r(7019);\n\n e.exports = function (e, t) {\n var r = e.__data__;\n return n(t) ? r[\"string\" == typeof t ? \"string\" : \"hash\"] : r.map;\n };\n },\n 852: function _(e, t, r) {\n var n = r(8458),\n o = r(7801);\n\n e.exports = function (e, t) {\n var r = o(e, t);\n return n(r) ? r : void 0;\n };\n },\n 9607: function _(e, t, r) {\n var n = r(2705),\n o = Object.prototype,\n a = o.hasOwnProperty,\n i = o.toString,\n c = n ? n.toStringTag : void 0;\n\n e.exports = function (e) {\n var t = a.call(e, c),\n r = e[c];\n\n try {\n e[c] = void 0;\n var n = !0;\n } catch (e) {}\n\n var o = i.call(e);\n return n && (t ? e[c] = r : delete e[c]), o;\n };\n },\n 9551: function _(e, t, r) {\n var n = r(4963),\n o = r(479),\n a = Object.prototype.propertyIsEnumerable,\n i = Object.getOwnPropertySymbols,\n c = i ? function (e) {\n return null == e ? [] : (e = Object(e), n(i(e), function (t) {\n return a.call(e, t);\n }));\n } : o;\n e.exports = c;\n },\n 4160: function _(e, t, r) {\n var n = r(8552),\n o = r(7071),\n a = r(3818),\n i = r(8525),\n c = r(577),\n l = r(4239),\n s = r(346),\n u = \"[object Map]\",\n p = \"[object Promise]\",\n f = \"[object Set]\",\n d = \"[object WeakMap]\",\n h = \"[object DataView]\",\n y = s(n),\n b = s(o),\n v = s(a),\n g = s(i),\n m = s(c),\n x = l;\n (n && x(new n(new ArrayBuffer(1))) != h || o && x(new o()) != u || a && x(a.resolve()) != p || i && x(new i()) != f || c && x(new c()) != d) && (x = function x(e) {\n var t = l(e),\n r = \"[object Object]\" == t ? e.constructor : void 0,\n n = r ? s(r) : \"\";\n if (n) switch (n) {\n case y:\n return h;\n\n case b:\n return u;\n\n case v:\n return p;\n\n case g:\n return f;\n\n case m:\n return d;\n }\n return t;\n }), e.exports = x;\n },\n 7801: function _(e) {\n e.exports = function (e, t) {\n return null == e ? void 0 : e[t];\n };\n },\n 1789: function _(e, t, r) {\n var n = r(4536);\n\n e.exports = function () {\n this.__data__ = n ? n(null) : {}, this.size = 0;\n };\n },\n 401: function _(e) {\n e.exports = function (e) {\n var t = this.has(e) && delete this.__data__[e];\n return this.size -= t ? 1 : 0, t;\n };\n },\n 7667: function _(e, t, r) {\n var n = r(4536),\n o = Object.prototype.hasOwnProperty;\n\n e.exports = function (e) {\n var t = this.__data__;\n\n if (n) {\n var r = t[e];\n return \"__lodash_hash_undefined__\" === r ? void 0 : r;\n }\n\n return o.call(t, e) ? t[e] : void 0;\n };\n },\n 1327: function _(e, t, r) {\n var n = r(4536),\n o = Object.prototype.hasOwnProperty;\n\n e.exports = function (e) {\n var t = this.__data__;\n return n ? void 0 !== t[e] : o.call(t, e);\n };\n },\n 1866: function _(e, t, r) {\n var n = r(4536);\n\n e.exports = function (e, t) {\n var r = this.__data__;\n return this.size += this.has(e) ? 0 : 1, r[e] = n && void 0 === t ? \"__lodash_hash_undefined__\" : t, this;\n };\n },\n 5776: function _(e) {\n var t = /^(?:0|[1-9]\\d*)$/;\n\n e.exports = function (e, r) {\n var n = typeof e;\n return !!(r = null == r ? 9007199254740991 : r) && (\"number\" == n || \"symbol\" != n && t.test(e)) && e > -1 && e % 1 == 0 && e < r;\n };\n },\n 7019: function _(e) {\n e.exports = function (e) {\n var t = typeof e;\n return \"string\" == t || \"number\" == t || \"symbol\" == t || \"boolean\" == t ? \"__proto__\" !== e : null === e;\n };\n },\n 5346: function _(e, t, r) {\n var n,\n o = r(4429),\n a = (n = /[^.]+$/.exec(o && o.keys && o.keys.IE_PROTO || \"\")) ? \"Symbol(src)_1.\" + n : \"\";\n\n e.exports = function (e) {\n return !!a && a in e;\n };\n },\n 5726: function _(e) {\n var t = Object.prototype;\n\n e.exports = function (e) {\n var r = e && e.constructor;\n return e === (\"function\" == typeof r && r.prototype || t);\n };\n },\n 7040: function _(e) {\n e.exports = function () {\n this.__data__ = [], this.size = 0;\n };\n },\n 4125: function _(e, t, r) {\n var n = r(8470),\n o = Array.prototype.splice;\n\n e.exports = function (e) {\n var t = this.__data__,\n r = n(t, e);\n return !(r < 0 || (r == t.length - 1 ? t.pop() : o.call(t, r, 1), --this.size, 0));\n };\n },\n 2117: function _(e, t, r) {\n var n = r(8470);\n\n e.exports = function (e) {\n var t = this.__data__,\n r = n(t, e);\n return r < 0 ? void 0 : t[r][1];\n };\n },\n 7518: function _(e, t, r) {\n var n = r(8470);\n\n e.exports = function (e) {\n return n(this.__data__, e) > -1;\n };\n },\n 4705: function _(e, t, r) {\n var n = r(8470);\n\n e.exports = function (e, t) {\n var r = this.__data__,\n o = n(r, e);\n return o < 0 ? (++this.size, r.push([e, t])) : r[o][1] = t, this;\n };\n },\n 4785: function _(e, t, r) {\n var n = r(1989),\n o = r(8407),\n a = r(7071);\n\n e.exports = function () {\n this.size = 0, this.__data__ = {\n hash: new n(),\n map: new (a || o)(),\n string: new n()\n };\n };\n },\n 1285: function _(e, t, r) {\n var n = r(5050);\n\n e.exports = function (e) {\n var t = n(this, e).delete(e);\n return this.size -= t ? 1 : 0, t;\n };\n },\n 6e3: function _(e, t, r) {\n var n = r(5050);\n\n e.exports = function (e) {\n return n(this, e).get(e);\n };\n },\n 9916: function _(e, t, r) {\n var n = r(5050);\n\n e.exports = function (e) {\n return n(this, e).has(e);\n };\n },\n 5265: function _(e, t, r) {\n var n = r(5050);\n\n e.exports = function (e, t) {\n var r = n(this, e),\n o = r.size;\n return r.set(e, t), this.size += r.size == o ? 0 : 1, this;\n };\n },\n 8776: function _(e) {\n e.exports = function (e) {\n var t = -1,\n r = Array(e.size);\n return e.forEach(function (e, n) {\n r[++t] = [n, e];\n }), r;\n };\n },\n 4536: function _(e, t, r) {\n var n = r(852)(Object, \"create\");\n e.exports = n;\n },\n 6916: function _(e, t, r) {\n var n = r(5569)(Object.keys, Object);\n e.exports = n;\n },\n 1167: function _(e, t, r) {\n e = r.nmd(e);\n\n var n = r(1957),\n o = t && !t.nodeType && t,\n a = o && e && !e.nodeType && e,\n i = a && a.exports === o && n.process,\n c = function () {\n try {\n return a && a.require && a.require(\"util\").types || i && i.binding && i.binding(\"util\");\n } catch (e) {}\n }();\n\n e.exports = c;\n },\n 2333: function _(e) {\n var t = Object.prototype.toString;\n\n e.exports = function (e) {\n return t.call(e);\n };\n },\n 5569: function _(e) {\n e.exports = function (e, t) {\n return function (r) {\n return e(t(r));\n };\n };\n },\n 5639: function _(e, t, r) {\n var n = r(1957),\n o = \"object\" == typeof self && self && self.Object === Object && self,\n a = n || o || Function(\"return this\")();\n e.exports = a;\n },\n 619: function _(e) {\n e.exports = function (e) {\n return this.__data__.set(e, \"__lodash_hash_undefined__\"), this;\n };\n },\n 2385: function _(e) {\n e.exports = function (e) {\n return this.__data__.has(e);\n };\n },\n 1814: function _(e) {\n e.exports = function (e) {\n var t = -1,\n r = Array(e.size);\n return e.forEach(function (e) {\n r[++t] = e;\n }), r;\n };\n },\n 7465: function _(e, t, r) {\n var n = r(8407);\n\n e.exports = function () {\n this.__data__ = new n(), this.size = 0;\n };\n },\n 3779: function _(e) {\n e.exports = function (e) {\n var t = this.__data__,\n r = t.delete(e);\n return this.size = t.size, r;\n };\n },\n 7599: function _(e) {\n e.exports = function (e) {\n return this.__data__.get(e);\n };\n },\n 4758: function _(e) {\n e.exports = function (e) {\n return this.__data__.has(e);\n };\n },\n 4309: function _(e, t, r) {\n var n = r(8407),\n o = r(7071),\n a = r(3369);\n\n e.exports = function (e, t) {\n var r = this.__data__;\n\n if (r instanceof n) {\n var i = r.__data__;\n if (!o || i.length < 199) return i.push([e, t]), this.size = ++r.size, this;\n r = this.__data__ = new a(i);\n }\n\n return r.set(e, t), this.size = r.size, this;\n };\n },\n 346: function _(e) {\n var t = Function.prototype.toString;\n\n e.exports = function (e) {\n if (null != e) {\n try {\n return t.call(e);\n } catch (e) {}\n\n try {\n return e + \"\";\n } catch (e) {}\n }\n\n return \"\";\n };\n },\n 7813: function _(e) {\n e.exports = function (e, t) {\n return e === t || e != e && t != t;\n };\n },\n 5694: function _(e, t, r) {\n var n = r(9454),\n o = r(7005),\n a = Object.prototype,\n i = a.hasOwnProperty,\n c = a.propertyIsEnumerable,\n l = n(function () {\n return arguments;\n }()) ? n : function (e) {\n return o(e) && i.call(e, \"callee\") && !c.call(e, \"callee\");\n };\n e.exports = l;\n },\n 1469: function _(e) {\n var t = Array.isArray;\n e.exports = t;\n },\n 8612: function _(e, t, r) {\n var n = r(3560),\n o = r(1780);\n\n e.exports = function (e) {\n return null != e && o(e.length) && !n(e);\n };\n },\n 4144: function _(e, t, r) {\n e = r.nmd(e);\n var n = r(5639),\n o = r(5062),\n a = t && !t.nodeType && t,\n i = a && e && !e.nodeType && e,\n c = i && i.exports === a ? n.Buffer : void 0,\n l = (c ? c.isBuffer : void 0) || o;\n e.exports = l;\n },\n 8446: function _(e, t, r) {\n var n = r(939);\n\n e.exports = function (e, t) {\n return n(e, t);\n };\n },\n 3560: function _(e, t, r) {\n var n = r(4239),\n o = r(3218);\n\n e.exports = function (e) {\n if (!o(e)) return !1;\n var t = n(e);\n return \"[object Function]\" == t || \"[object GeneratorFunction]\" == t || \"[object AsyncFunction]\" == t || \"[object Proxy]\" == t;\n };\n },\n 1780: function _(e) {\n e.exports = function (e) {\n return \"number\" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991;\n };\n },\n 3218: function _(e) {\n e.exports = function (e) {\n var t = typeof e;\n return null != e && (\"object\" == t || \"function\" == t);\n };\n },\n 7005: function _(e) {\n e.exports = function (e) {\n return null != e && \"object\" == typeof e;\n };\n },\n 6719: function _(e, t, r) {\n var n = r(8749),\n o = r(1717),\n a = r(1167),\n i = a && a.isTypedArray,\n c = i ? o(i) : n;\n e.exports = c;\n },\n 3674: function _(e, t, r) {\n var n = r(4636),\n o = r(280),\n a = r(8612);\n\n e.exports = function (e) {\n return a(e) ? n(e) : o(e);\n };\n },\n 8306: function _(e, t, r) {\n var n = r(3369);\n\n function o(e, t) {\n if (\"function\" != typeof e || null != t && \"function\" != typeof t) throw new TypeError(\"Expected a function\");\n\n var r = function r() {\n var n = arguments,\n o = t ? t.apply(this, n) : n[0],\n a = r.cache;\n if (a.has(o)) return a.get(o);\n var i = e.apply(this, n);\n return r.cache = a.set(o, i) || a, i;\n };\n\n return r.cache = new (o.Cache || n)(), r;\n }\n\n o.Cache = n, e.exports = o;\n },\n 479: function _(e) {\n e.exports = function () {\n return [];\n };\n },\n 5062: function _(e) {\n e.exports = function () {\n return !1;\n };\n },\n 2703: function _(e, t, r) {\n \"use strict\";\n\n var n = r(414);\n\n function o() {}\n\n function a() {}\n\n a.resetWarningCache = o, e.exports = function () {\n function e(e, t, r, o, a, i) {\n if (i !== n) {\n var c = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");\n throw c.name = \"Invariant Violation\", c;\n }\n }\n\n function t() {\n return e;\n }\n\n e.isRequired = e;\n var r = {\n array: e,\n bool: e,\n func: e,\n number: e,\n object: e,\n string: e,\n symbol: e,\n any: e,\n arrayOf: t,\n element: e,\n elementType: e,\n instanceOf: t,\n node: e,\n objectOf: t,\n oneOf: t,\n oneOfType: t,\n shape: t,\n exact: t,\n checkPropTypes: a,\n resetWarningCache: o\n };\n return r.PropTypes = r, r;\n };\n },\n 5697: function _(e, t, r) {\n e.exports = r(2703)();\n },\n 414: function _(e) {\n \"use strict\";\n\n e.exports = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";\n },\n 4698: function _(t) {\n \"use strict\";\n\n t.exports = e;\n }\n },\n r = {};\n\n function n(e) {\n var o = r[e];\n if (void 0 !== o) return o.exports;\n var a = r[e] = {\n id: e,\n loaded: !1,\n exports: {}\n };\n return t[e](a, a.exports, n), a.loaded = !0, a.exports;\n }\n\n n.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return n.d(t, {\n a: t\n }), t;\n }, n.d = function (e, t) {\n for (var r in t) {\n n.o(t, r) && !n.o(e, r) && Object.defineProperty(e, r, {\n enumerable: !0,\n get: t[r]\n });\n }\n }, n.g = function () {\n if (\"object\" == typeof globalThis) return globalThis;\n\n try {\n return this || new Function(\"return this\")();\n } catch (e) {\n if (\"object\" == typeof window) return window;\n }\n }(), n.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, n.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n }, n.nmd = function (e) {\n return e.paths = [], e.children || (e.children = []), e;\n };\n var o = {};\n return function () {\n \"use strict\";\n\n n.r(o), n.d(o, {\n default: function _default() {\n return xe;\n },\n expandNodesToLevel: function expandNodesToLevel() {\n return me;\n }\n });\n var e = n(4184),\n t = n.n(e),\n r = n(8446),\n a = n.n(r),\n i = n(8306),\n c = n.n(i);\n\n var l = function l() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 21;\n var t = \"\",\n r = crypto.getRandomValues(new Uint8Array(e));\n\n for (; e--;) {\n var _n = 63 & r[e];\n\n t += _n < 36 ? _n.toString(36) : _n < 62 ? (_n - 26).toString(36).toUpperCase() : _n < 63 ? \"_\" : \"-\";\n }\n\n return t;\n };\n\n var s = n(5697),\n u = n.n(s),\n p = n(4698),\n f = n.n(p);\n\n function d(e) {\n return (d = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n var h = [\"children\", \"title\"];\n\n function y() {\n return (y = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = arguments[t];\n\n for (var n in r) {\n Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n }\n\n function b(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n function v(e, t) {\n for (var r = 0; r < t.length; r++) {\n var n = t[r];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n function g(e, t) {\n return (g = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }\n\n function m(e, t) {\n return !t || \"object\" !== d(t) && \"function\" != typeof t ? function (e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }(e) : t;\n }\n\n function x(e) {\n return (x = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n function O(e, t, r) {\n return t in e ? Object.defineProperty(e, t, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = r, e;\n }\n\n var k = function (e) {\n !function (e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), t && g(e, t);\n }(i, e);\n var t,\n r,\n n,\n o,\n a = (n = i, o = function () {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n }(), function () {\n var e,\n t = x(n);\n\n if (o) {\n var r = x(this).constructor;\n e = Reflect.construct(t, arguments, r);\n } else e = t.apply(this, arguments);\n\n return m(this, e);\n });\n\n function i() {\n return b(this, i), a.apply(this, arguments);\n }\n\n return t = i, (r = [{\n key: \"render\",\n value: function value() {\n var e = this.props,\n t = e.children,\n r = e.title,\n n = function (e, t) {\n if (null == e) return {};\n\n var r,\n n,\n o = function (e, t) {\n if (null == e) return {};\n var r,\n n,\n o = {},\n a = Object.keys(e);\n\n for (n = 0; n < a.length; n++) {\n r = a[n], t.indexOf(r) >= 0 || (o[r] = e[r]);\n }\n\n return o;\n }(e, t);\n\n if (Object.getOwnPropertySymbols) {\n var a = Object.getOwnPropertySymbols(e);\n\n for (n = 0; n < a.length; n++) {\n r = a[n], t.indexOf(r) >= 0 || Object.prototype.propertyIsEnumerable.call(e, r) && (o[r] = e[r]);\n }\n }\n\n return o;\n }(e, h);\n\n return f().createElement(\"button\", y({\n \"aria-label\": r,\n title: r,\n type: \"button\"\n }, n), t);\n }\n }]) && v(t.prototype, r), i;\n }(f().PureComponent);\n\n O(k, \"propTypes\", {\n children: u().node.isRequired,\n title: u().string\n }), O(k, \"defaultProps\", {\n title: null\n });\n var j = k,\n _ = {\n ALL: \"all\",\n PARENT: \"parent\",\n LEAF: \"leaf\"\n };\n\n function w(e) {\n this.message = e, this.stack = Error().stack;\n }\n\n w.prototype = Object.create(Error.prototype), w.prototype.name = \"CheckboxTreeError\";\n var C = w;\n\n function P(e, t) {\n var r = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n t && (n = n.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), r.push.apply(r, n);\n }\n\n return r;\n }\n\n function E(e, t, r) {\n return t in e ? Object.defineProperty(e, t, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = r, e;\n }\n\n function N(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n function A(e, t) {\n for (var r = 0; r < t.length; r++) {\n var n = t[r];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n var S = _;\n\n var R = function () {\n function e(t) {\n var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\n N(this, e), this.props = t, this.flatNodes = r;\n }\n\n var t, r;\n return t = e, (r = [{\n key: \"setProps\",\n value: function value(e) {\n this.props = e;\n }\n }, {\n key: \"clone\",\n value: function value() {\n var t = this,\n r = {};\n return Object.keys(this.flatNodes).forEach(function (e) {\n var n = t.flatNodes[e];\n\n r[e] = function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = null != arguments[t] ? arguments[t] : {};\n t % 2 ? P(Object(r), !0).forEach(function (t) {\n E(e, t, r[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : P(Object(r)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));\n });\n }\n\n return e;\n }({}, n);\n }), new e(this.props, r);\n }\n }, {\n key: \"getNode\",\n value: function value(e) {\n return this.flatNodes[e];\n }\n }, {\n key: \"reset\",\n value: function value() {\n this.flatNodes = {};\n }\n }, {\n key: \"flattenNodes\",\n value: function value(e) {\n var t = this,\n r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\n\n if (Array.isArray(e) && 0 !== e.length) {\n var o = this.props,\n a = o.disabled,\n i = o.noCascade;\n e.forEach(function (e, o) {\n var c = t.nodeHasChildren(e);\n if (void 0 !== t.flatNodes[e.value]) throw new C(\"Duplicate value '\".concat(e.value, \"' detected. All node values must be unique.\"));\n t.flatNodes[e.value] = {\n label: e.label,\n value: e.value,\n children: e.children,\n parent: r,\n isChild: void 0 !== r.value,\n isParent: c,\n isLeaf: !c,\n showCheckbox: void 0 === e.showCheckbox || e.showCheckbox,\n disabled: t.getDisabledState(e, r, a, i),\n treeDepth: n,\n index: o\n }, t.flattenNodes(e.children, e, n + 1);\n });\n }\n }\n }, {\n key: \"nodeHasChildren\",\n value: function value(e) {\n return Array.isArray(e.children);\n }\n }, {\n key: \"getDisabledState\",\n value: function value(e, t, r, n) {\n return !!r || !(n || !t.disabled) || Boolean(e.disabled);\n }\n }, {\n key: \"deserializeLists\",\n value: function value(e) {\n var t = this,\n r = [\"checked\", \"expanded\"];\n Object.keys(this.flatNodes).forEach(function (e) {\n r.forEach(function (r) {\n t.flatNodes[e][r] = !1;\n });\n }), r.forEach(function (r) {\n e[r].forEach(function (e) {\n void 0 !== t.flatNodes[e] && (t.flatNodes[e][r] = !0);\n });\n });\n }\n }, {\n key: \"serializeList\",\n value: function value(e) {\n var t = this,\n r = [];\n return Object.keys(this.flatNodes).forEach(function (n) {\n t.flatNodes[n][e] && r.push(n);\n }), r;\n }\n }, {\n key: \"expandAllNodes\",\n value: function value(e) {\n var t = this;\n return Object.keys(this.flatNodes).forEach(function (r) {\n t.flatNodes[r].isParent && (t.flatNodes[r].expanded = e);\n }), this;\n }\n }, {\n key: \"toggleChecked\",\n value: function value(e, t, r, n) {\n var o = this,\n a = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4],\n i = this.flatNodes[e.value],\n c = [S.PARENT, S.ALL].indexOf(r) > -1,\n l = [S.LEAF, S.ALL].indexOf(r) > -1;\n\n if (i.isLeaf || n) {\n if (e.disabled) return this;\n this.toggleNode(e.value, \"checked\", t);\n } else c && this.toggleNode(e.value, \"checked\", t), l && i.children.forEach(function (e) {\n o.toggleChecked(e, t, r, n, !1);\n });\n\n return a && !n && i.isChild && c && this.toggleParentStatus(i.parent, r), this;\n }\n }, {\n key: \"toggleParentStatus\",\n value: function value(e, t) {\n var r = this.flatNodes[e.value];\n r.isChild ? (t === S.ALL && this.toggleNode(e.value, \"checked\", this.isEveryChildChecked(r)), this.toggleParentStatus(r.parent, t)) : this.toggleNode(e.value, \"checked\", this.isEveryChildChecked(r));\n }\n }, {\n key: \"isEveryChildChecked\",\n value: function value(e) {\n var t = this;\n return e.children.every(function (e) {\n return t.getNode(e.value).checked;\n });\n }\n }, {\n key: \"toggleNode\",\n value: function value(e, t, r) {\n return this.flatNodes[e][t] = r, this;\n }\n }]) && A(t.prototype, r), e;\n }();\n\n function T(e) {\n return (T = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n function L() {\n return (L = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = arguments[t];\n\n for (var n in r) {\n Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n }\n\n function D(e, t) {\n var r = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n t && (n = n.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), r.push.apply(r, n);\n }\n\n return r;\n }\n\n function I(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n function z(e, t) {\n for (var r = 0; r < t.length; r++) {\n var n = t[r];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n function q(e, t) {\n return (q = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }\n\n function B(e, t) {\n return !t || \"object\" !== T(t) && \"function\" != typeof t ? function (e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }(e) : t;\n }\n\n function F(e) {\n return (F = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n function M(e, t, r) {\n return t in e ? Object.defineProperty(e, t, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = r, e;\n }\n\n var U = function (e) {\n !function (e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), t && q(e, t);\n }(i, e);\n var t,\n r,\n n,\n o,\n a = (n = i, o = function () {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n }(), function () {\n var e,\n t = F(n);\n\n if (o) {\n var r = F(this).constructor;\n e = Reflect.construct(t, arguments, r);\n } else e = t.apply(this, arguments);\n\n return B(this, e);\n });\n\n function i() {\n return I(this, i), a.apply(this, arguments);\n }\n\n return t = i, (r = [{\n key: \"componentDidMount\",\n value: function value() {\n this.updateDeterminateProperty();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function value() {\n this.updateDeterminateProperty();\n }\n }, {\n key: \"updateDeterminateProperty\",\n value: function value() {\n var e = this.props.indeterminate;\n this.checkbox.indeterminate = e;\n }\n }, {\n key: \"render\",\n value: function value() {\n var e = this,\n t = function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = null != arguments[t] ? arguments[t] : {};\n t % 2 ? D(Object(r), !0).forEach(function (t) {\n M(e, t, r[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : D(Object(r)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));\n });\n }\n\n return e;\n }({}, this.props);\n\n return delete t.indeterminate, f().createElement(\"input\", L({}, t, {\n ref: function ref(t) {\n e.checkbox = t;\n },\n type: \"checkbox\"\n }));\n }\n }]) && z(t.prototype, r), i;\n }(f().PureComponent);\n\n M(U, \"propTypes\", {\n indeterminate: u().bool\n }), M(U, \"defaultProps\", {\n indeterminate: !1\n });\n var H = U,\n $ = u().shape({\n check: u().node,\n uncheck: u().node,\n halfCheck: u().node,\n expandClose: u().node,\n expandOpen: u().node,\n expandAll: u().node,\n collapseAll: u().node,\n parentClose: u().node,\n parentOpen: u().node,\n leaf: u().node\n }),\n V = u().shape({\n collapseAll: u().string.isRequired,\n expandAll: u().string.isRequired,\n toggle: u().string.isRequired\n });\n\n function W(e) {\n return (W = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n function J(e, t) {\n for (var r = 0; r < t.length; r++) {\n var n = t[r];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n function K(e, t) {\n return (K = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }\n\n function G(e, t) {\n return !t || \"object\" !== W(t) && \"function\" != typeof t ? Y(e) : t;\n }\n\n function Y(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }\n\n function Q(e) {\n return (Q = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n function X(e, t, r) {\n return t in e ? Object.defineProperty(e, t, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = r, e;\n }\n\n var Z = function (e) {\n !function (e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), t && K(e, t);\n }(c, e);\n var r,\n n,\n o,\n a,\n i = (o = c, a = function () {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n }(), function () {\n var e,\n t = Q(o);\n\n if (a) {\n var r = Q(this).constructor;\n e = Reflect.construct(t, arguments, r);\n } else e = t.apply(this, arguments);\n\n return G(this, e);\n });\n\n function c(e) {\n var t;\n return function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, c), (t = i.call(this, e)).onCheck = t.onCheck.bind(Y(t)), t.onClick = t.onClick.bind(Y(t)), t.onExpand = t.onExpand.bind(Y(t)), t;\n }\n\n return r = c, (n = [{\n key: \"onCheck\",\n value: function value() {\n var e = this.props,\n t = e.value;\n (0, e.onCheck)({\n value: t,\n checked: this.getCheckState({\n toggle: !0\n })\n });\n }\n }, {\n key: \"onClick\",\n value: function value() {\n var e = this.props,\n t = e.expandOnClick,\n r = e.isParent,\n n = e.value,\n o = e.onClick;\n r && t && this.onExpand(), o({\n value: n,\n checked: this.getCheckState({\n toggle: !1\n })\n });\n }\n }, {\n key: \"onExpand\",\n value: function value() {\n var e = this.props,\n t = e.expanded,\n r = e.value;\n (0, e.onExpand)({\n value: r,\n expanded: !t\n });\n }\n }, {\n key: \"getCheckState\",\n value: function value(e) {\n var t = e.toggle,\n r = this.props,\n n = r.checked,\n o = r.optimisticToggle;\n return !(0 !== n || !t) || 1 === n && !t || 2 === n && o;\n }\n }, {\n key: \"renderCollapseButton\",\n value: function value() {\n var e = this.props,\n t = e.expandDisabled,\n r = e.isLeaf,\n n = e.lang;\n return r ? f().createElement(\"span\", {\n className: \"rct-collapse\"\n }, f().createElement(\"span\", {\n className: \"rct-icon\"\n })) : f().createElement(j, {\n className: \"rct-collapse rct-collapse-btn\",\n disabled: t,\n title: n.toggle,\n onClick: this.onExpand\n }, this.renderCollapseIcon());\n }\n }, {\n key: \"renderCollapseIcon\",\n value: function value() {\n var e = this.props,\n t = e.expanded,\n r = e.icons,\n n = r.expandClose,\n o = r.expandOpen;\n return t ? o : n;\n }\n }, {\n key: \"renderCheckboxIcon\",\n value: function value() {\n var e = this.props,\n t = e.checked,\n r = e.icons,\n n = r.uncheck,\n o = r.check,\n a = r.halfCheck;\n return 0 === t ? n : 1 === t ? o : a;\n }\n }, {\n key: \"renderNodeIcon\",\n value: function value() {\n var e = this.props,\n t = e.expanded,\n r = e.icon,\n n = e.icons,\n o = n.leaf,\n a = n.parentClose,\n i = n.parentOpen,\n c = e.isLeaf;\n return null !== r ? r : c ? o : t ? i : a;\n }\n }, {\n key: \"renderBareLabel\",\n value: function value(e) {\n var t = this.props,\n r = t.onClick,\n n = t.title,\n o = null !== r;\n return f().createElement(\"span\", {\n className: \"rct-bare-label\",\n title: n\n }, o ? f().createElement(\"span\", {\n className: \"rct-node-clickable\",\n onClick: this.onClick,\n onKeyPress: this.onClick,\n role: \"button\",\n tabIndex: 0\n }, e) : e);\n }\n }, {\n key: \"renderCheckboxLabel\",\n value: function value(e) {\n var t = this.props,\n r = t.checked,\n n = t.disabled,\n o = t.title,\n a = t.treeId,\n i = t.value,\n c = null !== t.onClick,\n l = \"\".concat(a, \"-\").concat(String(i).split(\" \").join(\"_\")),\n s = [f().createElement(\"label\", {\n key: 0,\n htmlFor: l,\n title: o\n }, f().createElement(H, {\n checked: 1 === r,\n disabled: n,\n id: l,\n indeterminate: 2 === r,\n onClick: this.onCheck,\n onChange: function onChange() {}\n }), f().createElement(\"span\", {\n className: \"rct-checkbox\"\n }, this.renderCheckboxIcon()), c ? null : e)];\n return c && s.push(f().createElement(\"span\", {\n key: 1,\n className: \"rct-node-clickable\",\n onClick: this.onClick,\n onKeyPress: this.onClick,\n role: \"link\",\n tabIndex: 0\n }, e)), s;\n }\n }, {\n key: \"renderLabel\",\n value: function value() {\n var e = this.props,\n t = e.label,\n r = e.showCheckbox,\n n = [e.showNodeIcon ? f().createElement(\"span\", {\n key: 0,\n className: \"rct-node-icon\"\n }, this.renderNodeIcon()) : null, f().createElement(\"span\", {\n key: 1,\n className: \"rct-title\"\n }, t)];\n return r ? this.renderCheckboxLabel(n) : this.renderBareLabel(n);\n }\n }, {\n key: \"renderChildren\",\n value: function value() {\n return this.props.expanded ? this.props.children : null;\n }\n }, {\n key: \"render\",\n value: function value() {\n var e = this.props,\n r = e.className,\n n = e.disabled,\n o = e.expanded,\n a = e.isLeaf,\n i = t()({\n \"rct-node\": !0,\n \"rct-node-leaf\": a,\n \"rct-node-parent\": !a,\n \"rct-node-expanded\": !a && o,\n \"rct-node-collapsed\": !a && !o,\n \"rct-disabled\": n\n }, r);\n return f().createElement(\"li\", {\n className: i\n }, f().createElement(\"span\", {\n className: \"rct-text\"\n }, this.renderCollapseButton(), this.renderLabel()), this.renderChildren());\n }\n }]) && J(r.prototype, n), c;\n }(f().PureComponent);\n\n X(Z, \"propTypes\", {\n checked: u().number.isRequired,\n disabled: u().bool.isRequired,\n expandDisabled: u().bool.isRequired,\n expanded: u().bool.isRequired,\n icons: $.isRequired,\n isLeaf: u().bool.isRequired,\n isParent: u().bool.isRequired,\n label: u().node.isRequired,\n lang: V.isRequired,\n optimisticToggle: u().bool.isRequired,\n showNodeIcon: u().bool.isRequired,\n treeId: u().string.isRequired,\n value: u().oneOfType([u().string, u().number]).isRequired,\n onCheck: u().func.isRequired,\n onExpand: u().func.isRequired,\n children: u().node,\n className: u().string,\n expandOnClick: u().bool,\n icon: u().node,\n showCheckbox: u().bool,\n title: u().string,\n onClick: u().func\n }), X(Z, \"defaultProps\", {\n children: null,\n className: null,\n expandOnClick: !1,\n icon: null,\n showCheckbox: !0,\n title: null,\n onClick: function onClick() {}\n });\n var ee = Z,\n te = u().oneOfType([u().arrayOf(u().string), u().arrayOf(u().number)]);\n\n function re(e, t) {\n var r = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n t && (n = n.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), r.push.apply(r, n);\n }\n\n return r;\n }\n\n function ne(e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = null != arguments[t] ? arguments[t] : {};\n t % 2 ? re(Object(r), !0).forEach(function (t) {\n oe(e, t, r[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : re(Object(r)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));\n });\n }\n\n return e;\n }\n\n function oe(e, t, r) {\n return t in e ? Object.defineProperty(e, t, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = r, e;\n }\n\n var ae = {\n label: u().node.isRequired,\n value: u().oneOfType([u().string, u().number]).isRequired,\n disabled: u().bool,\n icon: u().node,\n showCheckbox: u().bool,\n title: u().string\n };\n var ie = u().oneOfType([u().shape(ae), u().shape(ne(ne({}, ae), {}, {\n children: u().arrayOf(ae).isRequired\n }))]);\n\n function ce(e) {\n return (ce = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n function le(e, t) {\n var r = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n t && (n = n.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), r.push.apply(r, n);\n }\n\n return r;\n }\n\n function se(e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = null != arguments[t] ? arguments[t] : {};\n t % 2 ? le(Object(r), !0).forEach(function (t) {\n ye(e, t, r[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : le(Object(r)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));\n });\n }\n\n return e;\n }\n\n function ue(e, t) {\n for (var r = 0; r < t.length; r++) {\n var n = t[r];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n function pe(e, t) {\n return (pe = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }\n\n function fe(e, t) {\n return !t || \"object\" !== ce(t) && \"function\" != typeof t ? de(e) : t;\n }\n\n function de(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }\n\n function he(e) {\n return (he = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n function ye(e, t, r) {\n return t in e ? Object.defineProperty(e, t, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = r, e;\n }\n\n var be = function (e) {\n !function (e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), t && pe(e, t);\n }(p, e);\n var r,\n n,\n o,\n i,\n s,\n u = (i = p, s = function () {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n }(), function () {\n var e,\n t = he(i);\n\n if (s) {\n var r = he(this).constructor;\n e = Reflect.construct(t, arguments, r);\n } else e = t.apply(this, arguments);\n\n return fe(this, e);\n });\n\n function p(e) {\n var t;\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, p), t = u.call(this, e);\n var r = new R(e);\n return r.flattenNodes(e.nodes), r.deserializeLists({\n checked: e.checked,\n expanded: e.expanded\n }), t.state = {\n id: e.id || \"rct-\".concat(l()),\n model: r,\n prevProps: e\n }, t.onCheck = t.onCheck.bind(de(t)), t.onExpand = t.onExpand.bind(de(t)), t.onNodeClick = t.onNodeClick.bind(de(t)), t.onExpandAll = t.onExpandAll.bind(de(t)), t.onCollapseAll = t.onCollapseAll.bind(de(t)), t.combineMemorized = c()(function (e, t) {\n return se(se({}, e), t);\n }).bind(de(t)), t;\n }\n\n return r = p, o = [{\n key: \"getDerivedStateFromProps\",\n value: function value(e, t) {\n var r = t.model,\n n = t.prevProps,\n o = e.disabled,\n i = e.id,\n c = e.nodes,\n l = se(se({}, t), {}, {\n prevProps: e\n });\n return r.setProps(e), a()(n.nodes, c) && n.disabled === o || (r.reset(), r.flattenNodes(c)), null !== i && (l = se(se({}, l), {}, {\n id: i\n })), r.deserializeLists({\n checked: e.checked,\n expanded: e.expanded\n }), l;\n }\n }], (n = [{\n key: \"onCheck\",\n value: function value(e) {\n var t = this.props,\n r = t.checkModel,\n n = t.noCascade,\n o = t.onCheck,\n a = this.state.model.clone(),\n i = a.getNode(e.value);\n a.toggleChecked(e, e.checked, r, n), o(a.serializeList(\"checked\"), se(se({}, i), e));\n }\n }, {\n key: \"onExpand\",\n value: function value(e) {\n var t = this.props.onExpand,\n r = this.state.model.clone(),\n n = r.getNode(e.value);\n r.toggleNode(e.value, \"expanded\", e.expanded), t(r.serializeList(\"expanded\"), se(se({}, n), e));\n }\n }, {\n key: \"onNodeClick\",\n value: function value(e) {\n (0, this.props.onClick)(se(se({}, this.state.model.getNode(e.value)), e));\n }\n }, {\n key: \"onExpandAll\",\n value: function value() {\n this.expandAllNodes();\n }\n }, {\n key: \"onCollapseAll\",\n value: function value() {\n this.expandAllNodes(!1);\n }\n }, {\n key: \"expandAllNodes\",\n value: function value() {\n var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0],\n t = this.props.onExpand;\n t(this.state.model.clone().expandAllNodes(e).serializeList(\"expanded\"));\n }\n }, {\n key: \"determineShallowCheckState\",\n value: function value(e, t) {\n var r = this.state.model.getNode(e.value);\n return r.isLeaf || t ? r.checked ? 1 : 0 : this.isEveryChildChecked(e) ? 1 : this.isSomeChildChecked(e) ? 2 : 0;\n }\n }, {\n key: \"isEveryChildChecked\",\n value: function value(e) {\n var t = this;\n return e.children.every(function (e) {\n return 1 === t.state.model.getNode(e.value).checkState;\n });\n }\n }, {\n key: \"isSomeChildChecked\",\n value: function value(e) {\n var t = this;\n return e.children.some(function (e) {\n return t.state.model.getNode(e.value).checkState > 0;\n });\n }\n }, {\n key: \"renderTreeNodes\",\n value: function value(e) {\n var t = this,\n r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n n = this.props,\n o = n.expandDisabled,\n a = n.expandOnClick,\n i = n.icons,\n c = n.lang,\n l = n.noCascade,\n s = n.onClick,\n u = n.onlyLeafCheckboxes,\n d = n.optimisticToggle,\n h = n.showNodeTitle,\n y = n.showNodeIcon,\n b = this.state,\n v = b.id,\n g = b.model,\n m = p.defaultProps.icons,\n x = e.map(function (e) {\n var n = e.value,\n p = g.getNode(e.value),\n b = p.isParent ? t.renderTreeNodes(e.children, e) : null;\n p.checkState = t.determineShallowCheckState(e, l);\n var x = u ? p.isLeaf : p.showCheckbox;\n return !r.value || g.getNode(r.value).expanded ? f().createElement(ee, {\n key: n,\n checked: p.checkState,\n className: e.className,\n disabled: p.disabled,\n expandDisabled: o,\n expandOnClick: a,\n expanded: p.expanded,\n icon: e.icon,\n icons: t.combineMemorized(m, i),\n label: e.label,\n lang: c,\n optimisticToggle: d,\n isLeaf: p.isLeaf,\n isParent: p.isParent,\n showCheckbox: x,\n showNodeIcon: y,\n title: h ? e.title || e.label : e.title,\n treeId: v,\n value: e.value,\n onCheck: t.onCheck,\n onClick: s && t.onNodeClick,\n onExpand: t.onExpand\n }, b) : null;\n });\n return f().createElement(\"ol\", null, x);\n }\n }, {\n key: \"renderExpandAll\",\n value: function value() {\n var e = this.props,\n t = e.icons,\n r = t.expandAll,\n n = t.collapseAll,\n o = e.lang;\n return e.showExpandAll ? f().createElement(\"div\", {\n className: \"rct-options\"\n }, f().createElement(j, {\n className: \"rct-option rct-option-expand-all\",\n title: o.expandAll,\n onClick: this.onExpandAll\n }, r), f().createElement(j, {\n className: \"rct-option rct-option-collapse-all\",\n title: o.collapseAll,\n onClick: this.onCollapseAll\n }, n)) : null;\n }\n }, {\n key: \"renderHiddenInput\",\n value: function value() {\n var e = this.props,\n t = e.name,\n r = e.nameAsArray;\n return void 0 === t ? null : r ? this.renderArrayHiddenInput() : this.renderJoinedHiddenInput();\n }\n }, {\n key: \"renderArrayHiddenInput\",\n value: function value() {\n var e = this.props,\n t = e.checked,\n r = e.name;\n return t.map(function (e) {\n var t = \"\".concat(r, \"[]\");\n return f().createElement(\"input\", {\n key: e,\n name: t,\n type: \"hidden\",\n value: e\n });\n });\n }\n }, {\n key: \"renderJoinedHiddenInput\",\n value: function value() {\n var e = this.props,\n t = e.checked,\n r = e.name,\n n = t.join(\",\");\n return f().createElement(\"input\", {\n name: r,\n type: \"hidden\",\n value: n\n });\n }\n }, {\n key: \"render\",\n value: function value() {\n var e,\n r = this.props,\n n = r.direction,\n o = r.disabled,\n a = r.iconsClass,\n i = r.nodes,\n c = r.nativeCheckboxes,\n l = this.state.id,\n s = this.renderTreeNodes(i),\n u = t()((ye(e = {\n \"react-checkbox-tree\": !0,\n \"rct-disabled\": o\n }, \"rct-icons-\".concat(a), !0), ye(e, \"rct-native-display\", c), ye(e, \"rct-direction-rtl\", \"rtl\" === n), e));\n return f().createElement(\"div\", {\n className: u,\n id: l\n }, this.renderExpandAll(), this.renderHiddenInput(), s);\n }\n }]) && ue(r.prototype, n), o && ue(r, o), p;\n }(f().Component);\n\n function ve(e) {\n return function (e) {\n if (Array.isArray(e)) return ge(e);\n }(e) || function (e) {\n if (\"undefined\" != typeof Symbol && null != e[Symbol.iterator] || null != e[\"@@iterator\"]) return Array.from(e);\n }(e) || function (e, t) {\n if (e) {\n if (\"string\" == typeof e) return ge(e, t);\n var r = Object.prototype.toString.call(e).slice(8, -1);\n return \"Object\" === r && e.constructor && (r = e.constructor.name), \"Map\" === r || \"Set\" === r ? Array.from(e) : \"Arguments\" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? ge(e, t) : void 0;\n }\n }(e) || function () {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }();\n }\n\n function ge(e, t) {\n (null == t || t > e.length) && (t = e.length);\n\n for (var r = 0, n = new Array(t); r < t; r++) {\n n[r] = e[r];\n }\n\n return n;\n }\n\n function me(e, t) {\n var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;\n if (r > t) return [];\n var n = [];\n return e.forEach(function (e) {\n e.children && (n = [].concat(ve(n), [e.value], ve(me(e.children, t, r + 1))));\n }), n;\n }\n\n ye(be, \"propTypes\", {\n nodes: u().arrayOf(ie).isRequired,\n checkModel: u().oneOf([_.LEAF, _.ALL]),\n checked: te,\n direction: u().string,\n disabled: u().bool,\n expandDisabled: u().bool,\n expandOnClick: u().bool,\n expanded: te,\n icons: $,\n iconsClass: u().string,\n id: u().string,\n lang: V,\n name: u().string,\n nameAsArray: u().bool,\n nativeCheckboxes: u().bool,\n noCascade: u().bool,\n onlyLeafCheckboxes: u().bool,\n optimisticToggle: u().bool,\n showExpandAll: u().bool,\n showNodeIcon: u().bool,\n showNodeTitle: u().bool,\n onCheck: u().func,\n onClick: u().func,\n onExpand: u().func\n }), ye(be, \"defaultProps\", {\n checkModel: _.LEAF,\n checked: [],\n direction: \"ltr\",\n disabled: !1,\n expandDisabled: !1,\n expandOnClick: !1,\n expanded: [],\n icons: {\n check: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-check\"\n }),\n uncheck: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-uncheck\"\n }),\n halfCheck: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-half-check\"\n }),\n expandClose: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-expand-close\"\n }),\n expandOpen: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-expand-open\"\n }),\n expandAll: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-expand-all\"\n }),\n collapseAll: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-collapse-all\"\n }),\n parentClose: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-parent-close\"\n }),\n parentOpen: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-parent-open\"\n }),\n leaf: f().createElement(\"span\", {\n className: \"rct-icon rct-icon-leaf\"\n })\n },\n iconsClass: \"fa4\",\n id: null,\n lang: {\n collapseAll: \"Collapse all\",\n expandAll: \"Expand all\",\n toggle: \"Toggle\"\n },\n name: void 0,\n nameAsArray: !1,\n nativeCheckboxes: !1,\n noCascade: !1,\n onlyLeafCheckboxes: !1,\n optimisticToggle: !0,\n showExpandAll: !1,\n showNodeIcon: !0,\n showNodeTitle: !1,\n onCheck: function onCheck() {},\n onClick: null,\n onExpand: function onExpand() {}\n });\n var xe = be;\n }(), o;\n }();\n});","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","export var IconsManifest = [{\n \"id\": \"fa\",\n \"name\": \"Font Awesome\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}, {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n}, {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n}, {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n}, {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n}, {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n}, {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n}, {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n}, {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}];","import React from 'react';\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\n\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\n\nexport function GenIcon(data) {\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function elem(conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + ' ' : '') + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.withPrefix = withPrefix;\nexports.withAssetPrefix = withAssetPrefix;\nexports.navigate = exports.default = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\nvar _utils = require(\"@gatsbyjs/reach-router/lib/utils\");\n\nvar _parsePath = require(\"./parse-path\");\n\nexports.parsePath = _parsePath.parsePath;\nvar _excluded = [\"to\", \"getProps\", \"onClick\", \"onMouseEnter\", \"activeClassName\", \"activeStyle\", \"innerRef\", \"partiallyActive\", \"state\", \"replace\", \"_location\"];\n\nvar isAbsolutePath = function isAbsolutePath(path) {\n return path === null || path === void 0 ? void 0 : path.startsWith(\"/\");\n};\n\nfunction withPrefix(path, prefix) {\n var _ref, _prefix;\n\n if (prefix === void 0) {\n prefix = getGlobalBasePrefix();\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n if (path.startsWith(\"./\") || path.startsWith(\"../\")) {\n return path;\n }\n\n var base = (_ref = (_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : getGlobalPathPrefix()) !== null && _ref !== void 0 ? _ref : \"/\";\n return \"\" + (base !== null && base !== void 0 && base.endsWith(\"/\") ? base.slice(0, -1) : base) + (path.startsWith(\"/\") ? path : \"/\" + path);\n} // These global values are wrapped in typeof clauses to ensure the values exist.\n// This is especially problematic in unit testing of this component.\n\n\nvar getGlobalPathPrefix = function getGlobalPathPrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __PATH_PREFIX__ !== \"undefined\" ? __PATH_PREFIX__ : undefined : __PATH_PREFIX__;\n};\n\nvar getGlobalBasePrefix = function getGlobalBasePrefix() {\n return process.env.NODE_ENV !== \"production\" ? typeof __BASE_PATH__ !== \"undefined\" ? __BASE_PATH__ : undefined : __BASE_PATH__;\n};\n\nvar isLocalLink = function isLocalLink(path) {\n return path && !path.startsWith(\"http://\") && !path.startsWith(\"https://\") && !path.startsWith(\"//\");\n};\n\nfunction withAssetPrefix(path) {\n return withPrefix(path, getGlobalPathPrefix());\n}\n\nfunction absolutify(path, current) {\n // If it's already absolute, return as-is\n if (isAbsolutePath(path)) {\n return path;\n }\n\n return (0, _utils.resolve)(path, current);\n}\n\nvar rewriteLinkPath = function rewriteLinkPath(path, relativeTo) {\n if (typeof path === \"number\") {\n return path;\n }\n\n if (!isLocalLink(path)) {\n return path;\n }\n\n return isAbsolutePath(path) ? withPrefix(path) : absolutify(path, relativeTo);\n};\n\nvar NavLinkPropTypes = {\n activeClassName: _propTypes.default.string,\n activeStyle: _propTypes.default.object,\n partiallyActive: _propTypes.default.bool\n}; // Set up IntersectionObserver\n\nvar createIntersectionObserver = function createIntersectionObserver(el, cb) {\n var io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (el === entry.target) {\n // Check if element is within viewport, remove listener, destroy observer, and run link callback.\n // MSEdge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(el);\n io.disconnect();\n cb();\n }\n }\n });\n }); // Add element to the observer\n\n io.observe(el);\n return {\n instance: io,\n el: el\n };\n};\n\nfunction GatsbyLinkLocationWrapper(props) {\n return /*#__PURE__*/_react.default.createElement(_reachRouter.Location, null, function (_ref2) {\n var location = _ref2.location;\n return /*#__PURE__*/_react.default.createElement(GatsbyLink, (0, _extends2.default)({}, props, {\n _location: location\n }));\n });\n}\n\nvar GatsbyLink = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(GatsbyLink, _React$Component);\n\n function GatsbyLink(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default to no support for IntersectionObserver\n\n _this.defaultGetProps = function (_ref3) {\n var isPartiallyCurrent = _ref3.isPartiallyCurrent,\n isCurrent = _ref3.isCurrent;\n\n if (_this.props.partiallyActive ? isPartiallyCurrent : isCurrent) {\n return {\n className: [_this.props.className, _this.props.activeClassName].filter(Boolean).join(\" \"),\n style: (0, _extends2.default)({}, _this.props.style, _this.props.activeStyle)\n };\n }\n\n return null;\n };\n\n var IOSupported = false;\n\n if (typeof window !== \"undefined\" && window.IntersectionObserver) {\n IOSupported = true;\n }\n\n _this.state = {\n IOSupported: IOSupported\n };\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = GatsbyLink.prototype;\n\n _proto._prefetch = function _prefetch() {\n var currentPath = window.location.pathname; // reach router should have the correct state\n\n if (this.props._location && this.props._location.pathname) {\n currentPath = this.props._location.pathname;\n }\n\n var rewrittenPath = rewriteLinkPath(this.props.to, currentPath);\n var newPathName = (0, _parsePath.parsePath)(rewrittenPath).pathname; // Prefech is used to speed up next navigations. When you use it on the current navigation,\n // there could be a race-condition where Chrome uses the stale data instead of waiting for the network to complete\n\n if (currentPath !== newPathName) {\n ___loader.enqueue(newPathName);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Preserve non IO functionality if no support\n if (this.props.to !== prevProps.to && !this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n // Preserve non IO functionality if no support\n if (!this.state.IOSupported) {\n this._prefetch();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!this.io) {\n return;\n }\n\n var _this$io = this.io,\n instance = _this$io.instance,\n el = _this$io.el;\n instance.unobserve(el);\n instance.disconnect();\n };\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.props.innerRef && this.props.innerRef.hasOwnProperty(\"current\")) {\n this.props.innerRef.current = ref;\n } else if (this.props.innerRef) {\n this.props.innerRef(ref);\n }\n\n if (this.state.IOSupported && ref) {\n // If IO supported and element reference found, setup Observer functionality\n this.io = createIntersectionObserver(ref, function () {\n _this2._prefetch();\n });\n }\n };\n\n _proto.render = function render() {\n var _this3 = this;\n\n var _this$props = this.props,\n to = _this$props.to,\n _this$props$getProps = _this$props.getProps,\n getProps = _this$props$getProps === void 0 ? this.defaultGetProps : _this$props$getProps,\n _onClick = _this$props.onClick,\n _onMouseEnter = _this$props.onMouseEnter,\n $activeClassName = _this$props.activeClassName,\n $activeStyle = _this$props.activeStyle,\n $innerRef = _this$props.innerRef,\n partiallyActive = _this$props.partiallyActive,\n state = _this$props.state,\n replace = _this$props.replace,\n _location = _this$props._location,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, _excluded);\n\n if (process.env.NODE_ENV !== \"production\" && !isLocalLink(to)) {\n console.warn(\"External link \" + to + \" was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links\");\n }\n\n var prefixedTo = rewriteLinkPath(to, _location.pathname);\n\n if (!isLocalLink(prefixedTo)) {\n return /*#__PURE__*/_react.default.createElement(\"a\", (0, _extends2.default)({\n href: prefixedTo\n }, rest));\n }\n\n return /*#__PURE__*/_react.default.createElement(_reachRouter.Link, (0, _extends2.default)({\n to: prefixedTo,\n state: state,\n getProps: getProps,\n innerRef: this.handleRef,\n onMouseEnter: function onMouseEnter(e) {\n if (_onMouseEnter) {\n _onMouseEnter(e);\n }\n\n ___loader.hovering((0, _parsePath.parsePath)(prefixedTo).pathname);\n },\n onClick: function onClick(e) {\n if (_onClick) {\n _onClick(e);\n }\n\n if (e.button === 0 && // ignore right clicks\n !_this3.props.target && // let browser handle \"target=_blank\"\n !e.defaultPrevented && // onClick prevented default\n !e.metaKey && // ignore clicks with modifier keys...\n !e.altKey && !e.ctrlKey && !e.shiftKey) {\n e.preventDefault();\n var shouldReplace = replace;\n\n var isCurrent = encodeURI(prefixedTo) === _location.pathname;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n shouldReplace = true;\n } // Make sure the necessary scripts and data are\n // loaded before continuing.\n\n\n window.___navigate(prefixedTo, {\n state: state,\n replace: shouldReplace\n });\n }\n\n return true;\n }\n }, rest));\n };\n\n return GatsbyLink;\n}(_react.default.Component);\n\nGatsbyLink.propTypes = (0, _extends2.default)({}, NavLinkPropTypes, {\n onClick: _propTypes.default.func,\n to: _propTypes.default.string.isRequired,\n replace: _propTypes.default.bool,\n state: _propTypes.default.object\n});\n\nvar _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n return /*#__PURE__*/_react.default.createElement(GatsbyLinkLocationWrapper, (0, _extends2.default)({\n innerRef: ref\n }, props));\n});\n\nexports.default = _default;\n\nvar navigate = function navigate(to, options) {\n window.___navigate(rewriteLinkPath(to, window.location.pathname), options);\n};\n\nexports.navigate = navigate;","\"use strict\";\n\nexports.__esModule = true;\nexports.parsePath = parsePath;\n\nfunction parsePath(path) {\n var pathname = path || \"/\";\n var search = \"\";\n var hash = \"\";\n var hashIndex = pathname.indexOf(\"#\");\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf(\"?\");\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === \"?\" ? \"\" : search,\n hash: hash === \"#\" ? \"\" : hash\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","// prefer default export if available\nconst preferDefault = m => (m && m.default) || m\n\nexports.components = {\n \"component---src-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-markdown-remark-frontmatter-slug-js\": () => import(\"./../../../src/pages/{MarkdownRemark.frontmatter__slug}.js\" /* webpackChunkName: \"component---src-pages-markdown-remark-frontmatter-slug-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-netlify-cms/gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst {\n getResourceURLsForPathname,\n loadPage,\n loadPageSync,\n} = require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","export default path => {\n if (path === undefined) {\n return path\n }\n if (path === `/`) {\n return `/`\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1)\n }\n return path\n}\n","import { pick } from \"@gatsbyjs/reach-router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n const pathname = decodeURIComponent(rawPathname)\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n // Remove search query\n .split(`?`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n <React.Fragment>\n {finalData && render(finalData)}\n {!finalData && <div>Loading (StaticQuery)</div>}\n </React.Fragment>\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n <StaticQueryContext.Consumer>\n {staticQueryData => (\n <StaticQueryDataRenderer\n data={data}\n query={query}\n render={render || children}\n staticQueryData={staticQueryData}\n />\n )}\n </StaticQueryContext.Consumer>\n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n useScrollRestoration,\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = path => {\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\nconst toPageResources = (pageData, component = null) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n }\n\n return {\n component,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404 page and it doesn't exist, we're done\n if (pagePath === `/404.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return {\n error: page.error,\n status: page.status,\n }\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n const componentChunkPromise = this.loadComponent(componentChunkName).then(\n component => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component || component instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = component\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component)\n }\n // undefined if final result is an error\n return pageResources\n }\n )\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromise, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return false\n }\n\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return false\n }\n\n const realPath = findPath(pagePath)\n // Todo make doPrefetch logic cacheable\n // eslint-disable-next-line consistent-return\n this.doPrefetch(realPath).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n })\n\n return true\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths) {\n const loadComponent = chunkName => {\n if (!asyncRequires.components[chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name ${chunkName}`\n )\n }\n\n return (\n asyncRequires.components[chunkName]()\n .then(preferDefault)\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","import React, { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\n\n// Renders page\nclass PageRenderer extends React.Component {\n render() {\n const props = {\n ...this.props,\n params: {\n ...grabMatchParams(this.props.location.pathname),\n ...this.props.pageResources.json.pageContext.__params,\n },\n }\n\n const pageElement = createElement(this.props.pageResources.component, {\n ...props,\n key: this.props.path || this.props.pageResources.page.path,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props },\n pageElement,\n ({ result }) => {\n return { element: result, props }\n }\n ).pop()\n\n return wrappedPage\n }\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@gatsbyjs/reach-router\"\nimport { globalHistory } from \"@gatsbyjs/reach-router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n\n if (redirect != null) {\n window.___replace(redirect.toPath)\n return true\n } else {\n return false\n }\n}\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n let { pathname } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath\n pathname = parsePath(to).pathname\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n\n // Check for initial page-load redirect\n maybeRedirect(window.location.pathname)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return <div {...RouteAnnouncerProps} ref={this.announcementRef}></div>\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n <React.Fragment>\n {this.props.children}\n <RouteAnnouncer location={location} />\n </React.Fragment>\n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname, { withErrorDetails: true }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(location.pathname, {\n withErrorDetails: true,\n })\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(nextProps.location.pathname)\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n <BaseContext.Provider\n value={{\n baseuri: `/`,\n basepath: `/`,\n }}\n >\n <PageRenderer {...props} />\n </BaseContext.Provider>\n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n <Location>\n {({ location }) => (\n <EnsureResources location={location}>\n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n return (\n <StaticQueryContext.Provider value={staticQueryResults}>\n <DataContext.Provider value={{ pageResources, location }}>\n {children}\n </DataContext.Provider>\n </StaticQueryContext.Provider>\n )\n }}\n </EnsureResources>\n )}\n </Location>\n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n <DataContext.Consumer>\n {({ pageResources, location }) => (\n <RouteUpdates location={location}>\n <ScrollContext\n location={location}\n shouldUpdateScroll={shouldUpdateScroll}\n >\n <Router\n basepath={__BASE_PATH__}\n location={location}\n id=\"gatsby-focus-wrapper\"\n >\n <RouteHandler\n path={\n pageResources.page.path === `/404.html`\n ? stripPrefix(location.pathname, __BASE_PATH__)\n : encodeURI(\n pageResources.page.matchPath ||\n pageResources.page.path\n )\n }\n {...this.props}\n location={location}\n pageResources={pageResources}\n {...pageResources.json}\n />\n </Router>\n </ScrollContext>\n </RouteUpdates>\n )}\n </DataContext.Consumer>\n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). But\n // only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !== browserLoc.pathname &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath === `/404.html` ||\n pagePath.match(/^\\/404\\/?$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(__BASE_PATH__ + pagePath + browserLoc.search + browserLoc.hash, {\n replace: true,\n })\n }\n\n publicLoader.loadPage(browserLoc.pathname).then(page => {\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n window.___webpackCompilationHash = page.page.webpackCompilationHash\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: <LocationHandler /> },\n <LocationHandler />,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n performance.mark(`onInitialClientRender`)\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return <GatsbyRoot>{SiteRoot}</GatsbyRoot>\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n ReactDOM.createRoot ? ReactDOM.createRoot : ReactDOM.hydrate\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n if (renderer === ReactDOM.createRoot) {\n renderer(rootElement, {\n hydrate: true,\n }).render(<App />)\n } else {\n renderer(<App />, rootElement)\n }\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","exports.polyfill = Component => Component\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _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\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","import React from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nimport \"../styles/main.scss\";\n\nconst Layout = ({ title, children }) => {\n const data = useStaticQuery(\n graphql`\n query {\n site {\n siteMetadata {\n title\n description\n }\n }\n }\n `\n );\n\n return (\n <div>\n <Helmet>\n <title>{title || data.site.siteMetadata.title}</title>\n <meta name=\"description\" content={data.site.siteMetadata.description} />\n <link\n href=\"https://fonts.googleapis.com/css2?family=Domine:wght@400;700&family=Open+Sans:wght@400;500;600;700&display=swap\"\n rel=\"stylesheet\"\n />\n <link\n rel=\"stylesheet\"\n href=\"https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css\"\n />\n </Helmet>\n {children}\n </div>\n );\n};\n\nexport default Layout;\n","export default __webpack_public_path__ + \"static/midd-shield-091cfcf4f6c0c3396af969a178afe47a.svg\";","import React from \"react\";\nimport MiddLogo from \"../images/midd-shield.svg\";\n\nconst Header = () => {\n return (\n <header className=\"app-header\">\n <div className=\"app-header__wrap app-header__wrap--main\">\n <div className=\"app-header__logo\">\n <a href=\"\">\n <img\n src={MiddLogo}\n // srcset=\"images/midd-shield.svg 67w\"\n sizes=\"(min-width: 1024px) 67px, 44px\"\n alt=\"Middlebury Shield\"\n />\n </a>\n </div>\n\n <h1 className=\"app-header__title\" id=\"midd-app-header-label\">\n <a href=\"/\" className=\"app-header__link\">\n Middlebury College Handbook\n </a>\n </h1>\n </div>\n </header>\n );\n};\n\nexport default Header;\n","import { useState, useEffect, useMemo } from 'react';\nimport FlexSearch from 'flexsearch';\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar InvalidIndexError = new Error('FlexSearch index is required. Check that your index exists and is valid.');\nvar InvalidStoreError = new Error('FlexSearch store is required. Check that your store exists and is valid.');\n\nvar useFlexSearch = function useFlexSearch(query, providedIndex, store, searchOptions) {\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n index = _useState2[0],\n setIndex = _useState2[1];\n\n useEffect(function () {\n if (!providedIndex) throw InvalidIndexError;\n if (!store) throw InvalidStoreError;\n }, [providedIndex, store]);\n useEffect(function () {\n if (providedIndex instanceof FlexSearch) {\n setIndex(providedIndex);\n return;\n }\n\n var importedIndex = FlexSearch.create();\n importedIndex.import(providedIndex);\n setIndex(importedIndex);\n }, [providedIndex]);\n return useMemo(function () {\n if (!query || !index || !store) return [];\n var rawResults = index.search(query, searchOptions);\n return rawResults.map(function (id) {\n return store[id];\n });\n }, [query, index, store]);\n};\n\nexport { useFlexSearch };","import React, { useState } from \"react\";\nimport { useFlexSearch } from \"react-use-flexsearch\";\nimport { FaSearch } from \"react-icons/fa\";\n\nexport const SearchBarPresentation = (props) => {\n return (\n <section className=\"navbar__search\" aria-labelledby=\"search-label\">\n <form onSubmit={props.handleSubmit} className=\"navbar__input-group\">\n <label for=\"search-input\" id=\"search-label\" className=\"sr-only\">\n Search\n </label>\n <input\n type=\"search\"\n className=\"navbar__search-input\"\n id=\"search-input\"\n placeholder=\"Search\"\n value={props.query}\n onChange={(e) => {\n if (e.target.value.length === 0) {\n props.setResults([]);\n }\n props.setQuery(e.target.value);\n }}\n />\n <button\n aria-label=\"Submit\"\n type=\"submit\"\n className=\"navbar__button search\"\n >\n <FaSearch />\n </button>\n </form>\n </section>\n );\n};\n\nexport const SearchBar = ({ index, store, handleSubmitToggle, setResults, setHandleSubmitToggle }) => {\n const [query, setQuery] = useState(\"\");\n\n const results = useFlexSearch(query, index, store);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n if(handleSubmitToggle === 0) {\n setHandleSubmitToggle(1);\n } else {\n setHandleSubmitToggle(0);\n }\n setResults(results.slice(0, 15));\n };\n \n return (\n <SearchBarPresentation\n handleSubmit={handleSubmit}\n setResults={setResults}\n query={query}\n setQuery={setQuery}\n />\n );\n};\n","import React, { useRef } from \"react\";\nimport {\n FaFont,\n FaPrint,\n FaForward,\n FaStepForward,\n FaBackward,\n FaStepBackward,\n} from \"react-icons/fa\";\nimport { SearchBar, SearchBarPresentation } from \"./search-bar\";\nimport { navigate } from \"gatsby\";\n\nconst Navbar = (props) => {\n const fontSize = useRef(100);\n\n const parentObj = [\n {\n value: \"i-policies-for-all\",\n label: \"I. Middlebury-Wide Policies\",\n className: \"i-policies-for-all\",\n },\n {\n value: \"ii-ug-college-policies\",\n label: \"II. Policies for the Undergraduate College\",\n className: \"ii-ug-college-policies\",\n },\n {\n value: \"iii-policies-for-the-language-schools\",\n label: \"III. Policies for the Language Schools\",\n className: \"iii-policies-for-the-language-schools\",\n },\n {\n value: \"iv-policies-for-the-institute\",\n label: \"IV. Policies for the Institute of International Studies\",\n className: \"iv-policies-for-the-institute\",\n },\n {\n value: \"v-handbook-archive\",\n label: \"Previous Handbooks\",\n className: \"v-handbook-archive\",\n },\n ];\n\n const handleClick = (e, button) => {\n e.preventDefault();\n\n if (props.page.parent) {\n let found = 0;\n let obj = props.page.parent.children || parentObj;\n let value = \"\";\n\n if (button === \"fast-backward\") {\n value = obj[0].value;\n } else if (button === \"fast-forward\") {\n value = obj[obj.length - 1].value;\n } else if (button === \"backward\" || button === \"forward\") {\n obj.find((ele, index) => {\n if (ele.value === props.value) {\n found = index;\n }\n });\n\n if (button === \"backward\" && obj[found - 1] !== undefined) {\n value = obj[found - 1].value;\n } else if (button === \"forward\" && obj[found + 1] !== undefined) {\n value = obj[found + 1].value;\n }\n }\n\n if (value !== \"\") {\n navigate(`/pages/${value}`);\n props.valueCallback(value);\n }\n }\n };\n\n const handlePrint = (e) => {\n e.preventDefault();\n\n let divText = document.getElementById(\"print-section\").innerHTML;\n let myWindow = window.open(\"\", \"PRINT\", \"width=200,height=100\");\n let doc = myWindow.document;\n doc.open();\n doc.write(\"<html><head><title>\" + document.title + \"</title>\");\n doc.write(\"</head><body >\");\n if (props.printResults.length === 0) {\n doc.write(divText);\n } else {\n doc.write(props.printResults);\n }\n doc.write(\"</body></html>\");\n doc.close();\n myWindow.focus(); // necessary for IE >= 10*/\n };\n\n const handleFont = (e, param) => {\n e.preventDefault();\n\n if (param === \"increase\") {\n if (fontSize.current < 160) {\n fontSize.current += 20;\n }\n } else if (param === \"decrease\") {\n if (fontSize.current > 80) {\n fontSize.current -= 20;\n }\n }\n document.getElementById(\n \"print-section\"\n ).style.fontSize = `${fontSize.current}%`;\n };\n\n return (\n <nav className=\"navbar\">\n <div className=\"navbar__container\">\n <div className=\"navbar__search-content\">\n {props.index !== \"\" ? (\n <SearchBar\n index={props.index}\n store={props.store}\n setResults={props.setResults}\n valueCallback={props.valueCallback}\n handleSubmitToggle={props.handleSubmitToggle}\n setHandleSubmitToggle={props.setHandleSubmitToggle}\n />\n ) : (\n <SearchBarPresentation />\n )}\n </div>\n <div className=\"navbar__buttons\">\n <button\n aria-label=\"Text Zoom In\"\n className=\"navbar__button\"\n onClick={(e) => {\n handleFont(e, \"increase\");\n }}\n >\n <FaFont />\n <span\n style={{\n margin: \"0px\",\n fontSize: \"16pt\",\n verticalAlign: \"super\",\n }}\n >\n +\n </span>\n </button>\n <button\n aria-label=\"Text Zoom Out\"\n className=\"navbar__button\"\n onClick={(e) => {\n handleFont(e, \"decrease\");\n }}\n >\n <FaFont />\n <span\n style={{\n margin: \"0px\",\n fontSize: \"16pt\",\n verticalAlign: \"super\",\n }}\n >\n -\n </span>\n </button>\n <button\n aria-label=\"Print Page\"\n className=\"navbar__button\"\n onClick={handlePrint}\n >\n <FaPrint />\n </button>\n <span style={{ fontSize: \"30px\" }}>|</span>\n <button\n aria-label=\"Skip to first page\"\n className=\"navbar__button\"\n onClick={(e) => handleClick(e, \"fast-backward\")}\n >\n <FaStepBackward />\n </button>\n <button\n aria-label=\"Previous Page\"\n className=\"navbar__button\"\n onClick={(e) => handleClick(e, \"backward\")}\n >\n <FaBackward />\n </button>\n <button\n aria-label=\"Next Page\"\n className=\"navbar__button\"\n onClick={(e) => handleClick(e, \"forward\")}\n >\n <FaForward />\n </button>\n <button\n aria-label=\"Skip to last page\"\n className=\"navbar__button\"\n onClick={(e) => handleClick(e, \"fast-forward\")}\n >\n <FaStepForward />\n </button>\n </div>\n </div>\n </nav>\n );\n};\n\nexport default Navbar;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import { createContext } from \"react\";\n\nconst SplitPaneContext = createContext();\n\nexport default SplitPaneContext;\n","import React, {\n createRef,\n useContext,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport SplitPaneContext from \"./split-pane-context\";\n\nexport const Divider = (props) => {\n const { onMouseHoldDown } = useContext(SplitPaneContext);\n\n return <div {...props} onMouseDown={onMouseHoldDown} />;\n};\n\nexport const SplitPaneLeft = ({ children, ...props }) => {\n const topRef = createRef();\n const { clientWidth, setClientWidth } = useContext(SplitPaneContext);\n\n const resizeSection = () => {\n setClientWidth(document.getElementsByTagName(\"html\")[0].clientWidth / 4);\n };\n\n useEffect(() => {\n window.addEventListener(\"resize\", resizeSection);\n return () => {\n window.removeEventListener(\"resize\", resizeSection);\n };\n }, []);\n\n useEffect(() => {\n if (!clientWidth) {\n setClientWidth(topRef.current.clientWidth);\n return;\n }\n\n topRef.current.style.minWidth = clientWidth + \"px\";\n\n if (document.documentElement.clientWidth >= 1024) {\n topRef.current.style.maxWidth = clientWidth + \"px\";\n } else {\n topRef.current.style.maxWidth = \"initial\";\n }\n }, [clientWidth]);\n\n return (\n <aside {...props} className=\"split-pane-left\" ref={topRef}>\n {children}\n </aside>\n );\n};\n\nexport const SplitPaneRight = ({ children, ...props }) => {\n return (\n <main {...props} className=\"split-pane-right\" id=\"right-plane\">\n <div id=\"print-section\">{children}</div>\n </main>\n );\n};\n\nconst SplitPane = ({ children, ...props }) => {\n const [clientHeight, setClientHeight] = useState(null);\n const [clientWidth, setClientWidth] = useState(null);\n const yDividerPos = useRef(null);\n const xDividerPos = useRef(null);\n\n const onMouseHoldDown = (e) => {\n yDividerPos.current = e.clientY;\n xDividerPos.current = e.clientX;\n };\n\n const onMouseHoldUp = () => {\n yDividerPos.current = null;\n xDividerPos.current = null;\n };\n\n const onMouseHoldMove = (e) => {\n if (!yDividerPos.current && !xDividerPos.current) {\n return;\n }\n\n setClientHeight(clientHeight + e.clientY - yDividerPos.current);\n setClientWidth(clientWidth + e.clientX - xDividerPos.current);\n\n yDividerPos.current = e.clientY;\n xDividerPos.current = e.clientX;\n };\n\n useEffect(() => {\n if (document.documentElement.clientWidth >= 1024) {\n document.addEventListener(\"mouseup\", onMouseHoldUp);\n document.addEventListener(\"mousemove\", onMouseHoldMove);\n }\n\n return () => {\n document.removeEventListener(\"mouseup\", onMouseHoldUp);\n document.removeEventListener(\"mousemove\", onMouseHoldMove);\n };\n });\n\n return (\n <div {...props}>\n <SplitPaneContext.Provider\n value={{\n clientHeight,\n setClientHeight,\n clientWidth,\n setClientWidth,\n onMouseHoldDown,\n }}\n >\n {children}\n </SplitPaneContext.Provider>\n </div>\n );\n};\n\nexport default SplitPane;\n","import React from \"react\";\n\nconst Footer = () => {\n return (\n <nav className=\"midd-footer\" aria-labelledby=\"midd-footer-label\">\n <h2 id=\"midd-footer-label\" className=\"sr-only\">\n Additional navigation\n </h2>\n <div className=\"container\">\n <div className=\"row\">\n <div className=\"col-lg-3\">\n <div className=\"mb-4 mb-lg-0\">\n <a href=\"https://www.middlebury.edu\">\n <img\n src=\"https://www.middlebury.edu/college/themes/custom/middlebury_theme/images/middlebury-logo-white.svg?fv=qtmpod\"\n alt=\"Middlebruy\"\n width=\"195\"\n height=\"71\"\n />\n </a>\n </div>\n </div>\n <div className=\"col-lg-9\">\n <ul className=\"midd-footer__list\">\n <li className=\"midd-footer__item\">\n <a\n href=\"https://www.middlebury.edu/about\"\n className=\"midd-footer__link\"\n >\n About Middlebury\n </a>\n </li>\n <li className=\"midd-footer__item\">\n <a\n href=\"https://www.middlebury.edu/giving\"\n className=\"midd-footer__link\"\n >\n Giving\n </a>\n </li>\n <li className=\"midd-footer__item\">\n <a\n href=\"https://www.middlebury.edu/offices/business/hr/jobseeker\"\n className=\"midd-footer__link\"\n >\n Employment\n </a>\n </li>\n <li className=\"midd-footer__item\">\n <a\n href=\"https://www.middlebury.edu/office/\"\n className=\"midd-footer__link\"\n >\n Offices and Services\n </a>\n </li>\n <li className=\"midd-footer__item\">\n <a\n href=\"https://www.middlebury.edu/about/copyright\"\n className=\"midd-footer__link\"\n >\n Copyright\n </a>\n </li>\n <li className=\"midd-footer__item\">\n <a\n href=\"https://www.middlebury.edu/about/privacy\"\n className=\"midd-footer__link\"\n >\n Privacy\n </a>\n </li>\n <li className=\"midd-footer__item\">\n <a href=\"/admin\" className=\"midd-footer__link\" rel=\"nofollow\">\n Site-Editor Login\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </nav>\n );\n};\n\nexport default Footer;\n","export const nodes = [\n {\n value: \"i-policies-for-all\",\n label: \"I. Middlebury-Wide Policies\",\n className: \"i-policies-for-all\",\n children: [\n {\n value: \"i-policies-for-all/genl-principles\",\n label: \"A. General Principles\",\n className: \"genl-principles\",\n children: [\n {\n value: \"i-policies-for-all/genl-principles/respectful-behavior\",\n label: \"A.1. Respectful Behavior\",\n className: \"respectful-behavior\",\n },\n {\n value: \"i-policies-for-all/genl-principles/honesty-cooperation\",\n label: \"A.2. Honesty and Cooperation in Middlebury Matters\",\n className: \"honesty-cooperation\",\n },\n {\n value:\n \"i-policies-for-all/genl-principles/non-discrimination-statement\",\n label: \"A.3. Non-discrimination Statement\",\n className: \"non-discrimination-statement\",\n },\n {\n value: \"i-policies-for-all/genl-principles/envl-sustain-policy\",\n label: \"A.4. Environmental and Sustainability Policy\",\n className: \"envl-sustain-policy\",\n },\n {\n value: \"i-policies-for-all/genl-principles/freedom-of-expression\",\n label: \"A.5. Policy on Open Expression\",\n className: \"freedom-of-expression\",\n },\n ],\n },\n {\n value: \"i-policies-for-all/non-discrim-policies\",\n label: \"B. Non-Discrimination Policies\",\n className: \"non-discrim-policies\",\n children: [\n {\n value:\n \"i-policies-for-all/non-discrim-policies/b-1-a-non-discrimination-policy\",\n label: \"B.1.a. Non-Discrimination Policy\",\n className: \"b-1-a-non-discrimination-policy\",\n },\n {\n value:\n \"i-policies-for-all/non-discrim-policies/anti-harassment-discrimin\",\n label:\n \"B.1.b. Non-Discrimination Investigations & Resolutions Procedure\",\n className: \"anti-harassment-discrimin\",\n },\n {\n value:\n \"i-policies-for-all/non-discrim-policies/b-1-b-1-title-ix-investigation-resolutions-policy\",\n label: \"B.1.b (1). Title IX Investigation & Resolutions Policy\",\n className: \"b-1-b-1-title-ix-investigation-resolutions-policy\",\n },\n {\n value: \"i-policies-for-all/non-discrim-policies/ada-policy\",\n label: \"B.1.c. Americans with Disabilities Act Policy\",\n className: \"ada-policy\",\n },\n {\n value: \"i-policies-for-all/non-discrim-policies/svc-assist-animals\",\n label: \"B.1.d. Service and Assistance Animals Policy\",\n className: \"svc-assist-animals\",\n },\n ],\n },\n {\n value: \"i-policies-for-all/health-safety\",\n label: \"C. Health & Safety Policies\",\n className: \"health-safety\",\n children: [\n {\n value: \"i-policies-for-all/health-safety/emerg-prepare\",\n label:\n \"C.1. Emergency Preparedness for Middlebury Schools and Programs\",\n className: \"emerg-prepare\",\n },\n {\n value: \"i-policies-for-all/health-safety/tam-policy\",\n label: \"C.2. Threat Assessment and Response Policy\",\n className: \"tam-policy\",\n },\n {\n value: \"i-policies-for-all/health-safety/emerg-removals\",\n label: \"C.3. Emergency Removals Policy\",\n className: \"emerg-removals\",\n },\n {\n value: \"i-policies-for-all/health-safety/demonst-protests\",\n label: \"C.4. Demonstration Regulations\",\n className: \"demonst-protests\",\n },\n {\n value: \"i-policies-for-all/health-safety/minors-on-campus\",\n label: \"C.5. Minors on Campus Policy\",\n className: \"minors-on-campus\",\n },\n {\n value: \"i-policies-for-all/health-safety/weapons\",\n label: \"C.6. Weapons Policy\",\n className: \"weapons\",\n },\n {\n value: \"i-policies-for-all/health-safety/alcohol-drugs\",\n label: \"C.7. Alcohol, Tobacco and Other Drugs\",\n className: \"alcohol-drugs\",\n },\n {\n value: \"i-policies-for-all/health-safety/no-smoking\",\n label: \"C.8. No Smoking Policy\",\n className: \"no-smoking\",\n },\n ],\n },\n {\n value: \"i-policies-for-all/appropriate-use\",\n label: \"D. Appropriate Use of Middlebury Resources and Assets\",\n className: \"appropriate-use\",\n children: [\n {\n value: \"i-policies-for-all/appropriate-use/steward-resources\",\n label:\n \"D.1. Stewarding Middlebury Resources and Financial Policies\",\n className: \"steward-resources\",\n },\n {\n value: \"i-policies-for-all/appropriate-use/id-cards\",\n label: \"D.2. ID Cards\",\n className: \"id-cards\",\n },\n {\n value: \"i-policies-for-all/appropriate-use/library-resources\",\n label: \"D.3. Library\",\n className: \"library-resources\",\n },\n {\n value: \"i-policies-for-all/appropriate-use/intell-property\",\n label: \"D.4. Intellectual Property\",\n className: \"intell-property\",\n },\n {\n value: \"i-policies-for-all/appropriate-use/info-tech\",\n label: \"D.5. Information Technology\",\n className: \"info-tech\",\n },\n {\n value:\n \"i-policies-for-all/appropriate-use/d-6-whistleblower-policy\",\n label: \"D.6. Whistleblower Policy\",\n className: \"d-6-whistleblower-policy\",\n },\n {\n value:\n \"i-policies-for-all/appropriate-use/d-7-policy-on-scheduling-middlebury-space-for-events\",\n label: \"D.7. Policy on Scheduling Middlebury Space for Events\",\n className: \"d-7-policy-on-scheduling-middlebury-space-for-events\",\n },\n ],\n },\n {\n value: \"i-policies-for-all/records\",\n label: \"E. Records\",\n className: \"records\",\n children: [\n {\n value: \"i-policies-for-all/records/ferpa\",\n label: \"E.1. Student Privacy Rights Under U.S. Federal Law (FERPA)\",\n className: \"ferpa\",\n },\n {\n value: \"i-policies-for-all/records/student-data-for-research\",\n label: \"E.2. Access to Student Data for Research\",\n className: \"student-data-for-research\",\n },\n ],\n },\n {\n value: \"i-policies-for-all/f-required-disclosures\",\n label: \"F. Required Disclosures\",\n className: \"f-required-disclosures\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies\",\n label: \"II. Policies for the Undergraduate College\",\n className: \"ii-ug-college-policies\",\n children: [\n {\n value: \"ii-ug-college-policies/commun-policies\",\n label: \"A. Policies for the College Community\",\n className: \"commun-policies\",\n children: [\n {\n value: \"ii-ug-college-policies/commun-policies/cbrt\",\n label: \"A.1. Community Bias Response Team Policy\",\n className: \"cbrt\",\n },\n {\n value: \"ii-ug-college-policies/commun-policies/comm-council\",\n label: \"A.2. Community Council\",\n className: \"comm-council\",\n },\n {\n value: \"ii-ug-college-policies/commun-policies/empl-conduct\",\n label: \"A.3. Code of Conduct for Employees\",\n className: \"empl-conduct\",\n },\n {\n value: \"ii-ug-college-policies/commun-policies/department-sacs\",\n label: \"A.4. Departmental Student Advisory Councils\",\n className: \"department-sacs\",\n },\n {\n value: \"ii-ug-college-policies/commun-policies/mcsc-constitution\",\n label: \"A.5. Middlebury Staff Council (MSC) Constitution\",\n className: \"mcsc-constitution\",\n },\n {\n value: \"ii-ug-college-policies/commun-policies/pets\",\n label: \"A.6. Pet Policy\",\n className: \"pets\",\n },\n {\n value:\n \"ii-ug-college-policies/commun-policies/reimbursable-moving-exp\",\n label: \"A.7. Reimbursable Moving Expenditures\",\n className: \"reimbursable-moving-exp\",\n },\n {\n value:\n \"ii-ug-college-policies/commun-policies/a-8-committee-on-art-in-public-places\",\n label: \"A.8. Committee on Art in Public Places\",\n className: \"a-8-committee-on-art-in-public-places\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/ug-policies\",\n label: \"B. Policies for Undergraduate College Students\",\n className: \"ug-policies\",\n children: [\n {\n value: \"ii-ug-college-policies/ug-policies/academics\",\n label: \"B.1. Academic Policies\",\n className: \"academics\",\n children: [\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/acad-honesty\",\n label:\n \"B.1.a. Academic Honesty, the Honor Code and Related Disciplinary Policies\",\n className: \"acad-honesty\",\n },\n {\n value: \"ii-ug-college-policies/ug-policies/academics/calendar\",\n label: \"B.1.b. Calendar\",\n className: \"calendar\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/degree-requires\",\n label: \"B.1.c. Degree Requirements\",\n className: \"degree-requires\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/satis-acad-prog\",\n label: \"B.1.d. Satisfactory Academic Progress\",\n className: \"satis-acad-prog\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/deg-prgms-proj\",\n label: \"B.1.e. Degree Programs & Projects\",\n className: \"deg-prgms-proj\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/course-reg-course-conduct\",\n label: \"B.1.f. Course Registration and Conduct of Courses\",\n className: \"course-reg-course-conduct\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/summer-study\",\n label: \"B.1.g. Summer Study\",\n className: \"summer-study\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/winter-term\",\n label: \"B.1.h. Winter Term\",\n className: \"winter-term\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/x-courses-ocs\",\n label: \"B.1.i. Transfer Courses and Off-campus Study\",\n className: \"x-courses-ocs\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/eval-student-work\",\n label: \"B.1.j. Evaluation of Student Work\",\n className: \"eval-student-work\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/grades-transcripts\",\n label: \"B.1.k. Grades and Transcripts\",\n className: \"grades-transcripts\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/student-status\",\n label: \"B.1.l. Student Status\",\n className: \"student-status\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/academics/tutor-acad-support\",\n label: \"B.1.m. Tutoring and Academic Support\",\n className: \"tutor-acad-support\",\n },\n ],\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies\",\n label:\n \"B.2. Policies Governing Student Conduct, Residential Life, and Student Organizations\",\n className: \"res-life-conduct-policies\",\n children: [\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies/a-introductory-matters\",\n label: \"B.2.a. Introductory Matters\",\n className: \"a-introductory-matters\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies/genl-cond-standards\",\n label: \"B.2.b. General Conduct Standards\",\n className: \"genl-cond-standards\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies/hazing-policy\",\n label: \"B.2.c. Middlebury's Policy Against Hazing\",\n className: \"hazing-policy\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies/general-disciplinary-process\",\n label: \"B.2.d. Student Conduct Process\",\n className: \"general-disciplinary-process\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies/b-2-e-sanctions\",\n label: \"B.2.e. Sanctions\",\n className: \"b-2-e-sanctions\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies/residential-life-policies\",\n label: \"B.2.f. Residential Life Policies\",\n className: \"residential-life-policies\",\n children: [\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies/residential-life-policies/apprv-furniture\",\n label: \"Approved Furniture\",\n className: \"apprv-furniture\",\n },\n ],\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies/g-student-health-policies\",\n label: \"B.2.g. Student Health Policies\",\n className: \"g-student-health-policies\",\n },\n {\n value:\n \"ii-ug-college-policies/ug-policies/res-life-conduct-policies/student-organization-policies\",\n label: \"B.2.h. Student Organization Policies\",\n className: \"student-organization-policies\",\n },\n ],\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/faculty\",\n label: \"C. Faculty Handbook\",\n className: \"faculty\",\n children: [\n {\n value: \"ii-ug-college-policies/faculty/faculty-procedures\",\n label: \"C.1. Faculty Rules and Procedures\",\n className: \"faculty-procedures\",\n },\n {\n value: \"ii-ug-college-policies/faculty/faculty-committees\",\n label: \"C.2. Faculty Councils and Committees\",\n className: \"faculty-committees\",\n },\n {\n value: \"ii-ug-college-policies/faculty/faculty-rules\",\n label: \"C.3. Rules of Appointment and Tenure for Academic Faculty\",\n className: \"faculty-rules\",\n },\n {\n value: \"ii-ug-college-policies/faculty/pe-faculty-rules\",\n label: \"C.4. Rules of Reappointment for Physical Education Faculty\",\n className: \"pe-faculty-rules\",\n },\n {\n value: \"ii-ug-college-policies/faculty/appeals\",\n label: \"C.5. Appeal Procedures\",\n className: \"appeals\",\n },\n {\n value: \"ii-ug-college-policies/faculty/misconduct\",\n label: \"C.6. Faculty Misconduct\",\n className: \"misconduct\",\n },\n {\n value: \"ii-ug-college-policies/faculty/leave-program\",\n label: \"C.7. Research Leave Program\",\n className: \"leave-program\",\n },\n {\n value: \"ii-ug-college-policies/faculty/faculty-development\",\n label: \"C.8. Faculty Professional Development\",\n className: \"faculty-development\",\n },\n {\n value: \"ii-ug-college-policies/faculty/dep-care-policy\",\n label: \"C.9. Dependent Care Program\",\n className: \"dep-care-policy\",\n },\n {\n value: \"ii-ug-college-policies/faculty/research-policies\",\n label: \"C.10. Research Policies\",\n className: \"research-policies\",\n },\n {\n value: \"ii-ug-college-policies/faculty/research-misconduct\",\n label: \"C.11. Misconduct in Research - Policies and Procedures\",\n className: \"research-misconduct\",\n },\n {\n value: \"ii-ug-college-policies/faculty/reprints-subventions\",\n label: \"C.12. Reprints, Subvention, and Open Access\",\n className: \"reprints-subventions\",\n },\n {\n value: \"ii-ug-college-policies/faculty/contract-policy\",\n label: \"C.13. Grants & Contracts\",\n className: \"contract-policy\",\n },\n {\n value: \"ii-ug-college-policies/faculty/outside-employment\",\n label: \"C.14. Consulting and Outside Employment Policies\",\n className: \"outside-employment\",\n },\n {\n value: \"ii-ug-college-policies/faculty/faculty-lecture-payments\",\n label: \"C.15. Payment for Faculty Lectures Policy\",\n className: \"faculty-lecture-payments\",\n },\n {\n value: \"ii-ug-college-policies/faculty/extra-service-pay-policy\",\n label: \"C.16. Extra Service Pay Policy\",\n className: \"extra-service-pay-policy\",\n },\n {\n value: \"ii-ug-college-policies/faculty/faculty-and-athletics\",\n label: \"C.17. Athletics Information for Faculty\",\n className: \"faculty-and-athletics\",\n },\n {\n value: \"ii-ug-college-policies/faculty/special-provisions\",\n label:\n \"C.18. Special Provisions (associate status and release from contract)\",\n className: \"special-provisions\",\n },\n {\n value: \"ii-ug-college-policies/faculty/administrative-appt\",\n label: \"C.19. Administrative Appointments - Terms/Conditions\",\n className: \"administrative-appt\",\n },\n {\n value: \"ii-ug-college-policies/faculty/familial-leaves\",\n label: \"C.20. Leaves of Absence (nonacademic)\",\n className: \"familial-leaves\",\n },\n {\n value: \"ii-ug-college-policies/faculty/disability-pay\",\n label: \"C.21. Disability\",\n className: \"disability-pay\",\n },\n {\n value: \"ii-ug-college-policies/faculty/death-benefit\",\n label: \"C.22. Death Benefits\",\n className: \"death-benefit\",\n },\n {\n value: \"ii-ug-college-policies/faculty/faculty-housing\",\n label: \"C.23. Housing Programs\",\n className: \"faculty-housing\",\n },\n {\n value: \"ii-ug-college-policies/faculty/misc-policies\",\n label: \"C.24. Miscellaneous Policies\",\n className: \"misc-policies\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/employee\",\n label: \"D. Employee Handbook\",\n className: \"employee\",\n children: [\n {\n value: \"ii-ug-college-policies/employee/introduction\",\n label: \"1. Introduction\",\n className: \"introduction\",\n children: [\n {\n value: \"ii-ug-college-policies/employee/introduction/intro\",\n label: \"1.1 Introduction\",\n className: \"intro\",\n },\n {\n value: \"ii-ug-college-policies/employee/introduction/expects\",\n label: \"1.2 Middlebury College Expects\",\n className: \"expects\",\n },\n {\n value: \"ii-ug-college-policies/employee/introduction/offers\",\n label: \"1.3 Middlebury College Offers\",\n className: \"offers\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/employee/employment\",\n label: \"2. Employment\",\n className: \"employment\",\n children: [\n {\n value:\n \"ii-ug-college-policies/employee/employment/2-1-equal-employment-opportunity-policy\",\n label: \"2.1 Equal Employment Opportunity Policy\",\n className: \"2-1-equal-employment-opportunity-policy\",\n },\n {\n value: \"ii-ug-college-policies/employee/employment/ada\",\n label: \"2.2 Americans with Disabilities Act (ADA)\",\n className: \"ada\",\n },\n {\n value: \"ii-ug-college-policies/employee/employment/basic-info\",\n label:\n \"2.3 Basic Information about Employment at Middlebury College\",\n className: \"basic-info\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/2-4-release-of-information-and-employment-confidentiality\",\n label:\n \"2.4 Release of Information and Employment Confidentiality\",\n className:\n \"2-4-release-of-information-and-employment-confidentiality\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/employment-family\",\n label: \"2.5 Employment of Family Members\",\n className: \"employment-family\",\n },\n {\n value: \"ii-ug-college-policies/employee/employment/orientation\",\n label: \"2.6 New Employee Orientation\",\n className: \"orientation\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/starting-work\",\n label: \"2.7 Starting Work\",\n className: \"starting-work\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/provisional-period\",\n label: \"2.8 Provisional Period\",\n className: \"provisional-period\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/scheduling-hours-operation\",\n label: \"2.9 Scheduling and Hours of Operation\",\n className: \"scheduling-hours-operation\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/safety-security\",\n label: \"2.10 Safety & Security\",\n className: \"safety-security\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/anti-har-policy\",\n label:\n \"2.11 Middlebury College Anti-Harassment/Discrimination Policy\",\n className: \"anti-har-policy\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/hr-controlled-sub-cdl\",\n label:\n \"2.12 Controlled Substance and Alcohol Testing for Employees with a Work-required CDL\",\n className: \"hr-controlled-sub-cdl\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/alcohol-testing-captains\",\n label:\n \"2.13 Controlled Substance and Alcohol Testing for Captains and Crew Members\",\n className: \"alcohol-testing-captains\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/criminal-background-ch\",\n label: \"2.14 Background Checks\",\n className: \"criminal-background-ch\",\n },\n {\n value: \"ii-ug-college-policies/employee/employment/popes\",\n label: \"2.15 Post-Offer Pre-Employment Screening (POPES)\",\n className: \"popes\",\n },\n {\n value: \"ii-ug-college-policies/employee/employment/midd-points\",\n label: \"2.16 MiddPoints\",\n className: \"midd-points\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/internal-career\",\n label: \"2.17 Internal Career Opportunities\",\n className: \"internal-career\",\n },\n {\n value: \"ii-ug-college-policies/employee/employment/rehire\",\n label: \"2.18 Rehire\",\n className: \"rehire\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/employment/staff-computer-use\",\n label: \"2.19 Staff E-mail and Computer Use Policy\",\n className: \"staff-computer-use\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/employee/benefits\",\n label: \"3. Employee Benefits\",\n className: \"benefits\",\n children: [\n {\n value: \"ii-ug-college-policies/employee/benefits/general-info\",\n label: \"3.1 General Information\",\n className: \"general-info\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/benefits/benefit-changes\",\n label: \"3.2 Benefit Changes\",\n className: \"benefit-changes\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/benefits/health-welfare\",\n label: \"3.3 Health and Welfare Benefit Plan\",\n className: \"health-welfare\",\n },\n {\n value: \"ii-ug-college-policies/employee/benefits/efap\",\n label: \"3.4 Employee & Family Assistance Plan (EFAP)\",\n className: \"efap\",\n },\n {\n value: \"ii-ug-college-policies/employee/benefits/retirement\",\n label: \"3.5 Retirement Plan\",\n className: \"retirement\",\n },\n {\n value: \"ii-ug-college-policies/employee/benefits/phased-ret\",\n label: \"3.6 Phased Retirement\",\n className: \"phased-ret\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/benefits/educational-assistance\",\n label: \"3.7 Educational Assistance\",\n className: \"educational-assistance\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/benefits/sick-leave-conversion\",\n label: \"3.8 Sick Leave Conversion\",\n className: \"sick-leave-conversion\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/benefits/survivor-benefits\",\n label: \"3.9 Survivor Benefits\",\n className: \"survivor-benefits\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/benefits/midd-card-priveleges\",\n label: \"3.10 Midd Card Privileges\",\n className: \"midd-card-priveleges\",\n },\n {\n value: \"ii-ug-college-policies/employee/benefits/discounts\",\n label: \"3.11 Golf & Ski Discounts\",\n className: \"discounts\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/benefits/nursing-mothers\",\n label: \"3.12 Nursing Mothers\",\n className: \"nursing-mothers\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/employee/time-away\",\n label: \"4. Time Away from Work\",\n className: \"time-away\",\n children: [\n {\n value:\n \"ii-ug-college-policies/employee/time-away/reporting-absences\",\n label: \"4.1 Reporting Absences\",\n className: \"reporting-absences\",\n },\n {\n value: \"ii-ug-college-policies/employee/time-away/cto\",\n label: \"4.2 Combined Time Off\",\n className: \"cto\",\n },\n {\n value: \"ii-ug-college-policies/employee/time-away/slr\",\n label: \"4.3 Sick Leave Reserve\",\n className: \"slr\",\n },\n {\n value: \"ii-ug-college-policies/employee/time-away/holidays\",\n label: \"4.4 Holidays\",\n className: \"holidays\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/time-away/staff-parental-leave\",\n label: \"4.5 Staff Parental Leave Policy\",\n className: \"staff-parental-leave\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/time-away/family-medical-leave\",\n label: \"4.6 Family & Medical Leave\",\n className: \"family-medical-leave\",\n },\n {\n value: \"ii-ug-college-policies/employee/time-away/jury-duty\",\n label: \"4.7 Jury Duty\",\n className: \"jury-duty\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/time-away/military-reserve\",\n label: \"4.8 Military Reserve\",\n className: \"military-reserve\",\n },\n {\n value: \"ii-ug-college-policies/employee/time-away/bereavement\",\n label: \"4.9 Bereavement\",\n className: \"bereavement\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/time-away/personal-leave\",\n label: \"4.10 Personal Leave of Absence\",\n className: \"personal-leave\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/time-away/weather-emergencies\",\n label: \"4.11 Weather Emergencies\",\n className: \"weather-emergencies\",\n },\n {\n value: \"ii-ug-college-policies/employee/time-away/release-time\",\n label: \"4.12 Release Time\",\n className: \"release-time\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/time-away/4-13-vermont-earned-sick-time-act\",\n label: \"4.13 Vermont Earned Sick Time Act\",\n className: \"4-13-vermont-earned-sick-time-act\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/time-away/4-14-vermont-earned-sick-time\",\n label: \"4.14 Vermont Earned Sick Time\",\n className: \"4-14-vermont-earned-sick-time\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/employee/payroll\",\n label: \"5. Payroll\",\n className: \"payroll\",\n children: [\n {\n value: \"ii-ug-college-policies/employee/payroll/direct-deposit\",\n label: \"5.1 Direct Deposit\",\n className: \"direct-deposit\",\n },\n {\n value: \"ii-ug-college-policies/employee/payroll/deductions\",\n label: \"5.2 Deductions\",\n className: \"deductions\",\n },\n {\n value: \"ii-ug-college-policies/employee/payroll/advances\",\n label: \"5.3 Advances\",\n className: \"advances\",\n },\n {\n value: \"ii-ug-college-policies/employee/payroll/payroll-issues\",\n label: \"5.4 Reporting Time and Payroll Issues\",\n className: \"payroll-issues\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/employee/wage-salary\",\n label: \"6. Staff Compensation\",\n className: \"wage-salary\",\n children: [\n {\n value:\n \"ii-ug-college-policies/employee/wage-salary/staff-compensation-program\",\n label: \"6.1 Staff Compensation Program\",\n className: \"staff-compensation-program\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/wage-salary/job-descriptions\",\n label: \"6.2 Job Descriptions\",\n className: \"job-descriptions\",\n },\n {\n value: \"ii-ug-college-policies/employee/wage-salary/overtime\",\n label: \"6.3 Eligibility for Overtime and FLSA Compliance\",\n className: \"overtime\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/wage-salary/shift-differentials\",\n label: \"6.4 Shift Differentials\",\n className: \"shift-differentials\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/wage-salary/compensation-issue-resolution-process\",\n label: \"6.5 Compensation Issue Resolution Process\",\n className: \"compensation-issue-resolution-process\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/wage-salary/travel-time\",\n label: \"6.6 Travel Time\",\n className: \"travel-time\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/employee/evaluating\",\n label: \"7. Evaluating Job Performance\",\n className: \"evaluating\",\n },\n {\n value: \"ii-ug-college-policies/employee/processes-development\",\n label: \"8. Employee Relations\",\n className: \"processes-development\",\n children: [\n {\n value:\n \"ii-ug-college-policies/employee/processes-development/problem-solving\",\n label: \"8.1 Problem Solving\",\n className: \"problem-solving\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/processes-development/progressive-discipline\",\n label: \"8.2 Progressive Discipline\",\n className: \"progressive-discipline\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/processes-development/staff-dev-funds\",\n label: \"8.3 Staff Development Funds\",\n className: \"staff-dev-funds\",\n },\n ],\n },\n {\n value: \"ii-ug-college-policies/employee/leaving-midd\",\n label: \"9. Leaving Middlebury College\",\n className: \"leaving-midd\",\n children: [\n {\n value:\n \"ii-ug-college-policies/employee/leaving-midd/leaving-middlebury-college\",\n label: \"9.1 Leaving Middlebury College\",\n className: \"leaving-middlebury-college\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/leaving-midd/resignation\",\n label: \"9.2 Voluntary Termination of Employment: Resignation\",\n className: \"resignation\",\n },\n {\n value: \"ii-ug-college-policies/employee/leaving-midd/discharge\",\n label: \"9.3 Discharge\",\n className: \"discharge\",\n },\n {\n value:\n \"ii-ug-college-policies/employee/leaving-midd/retirement\",\n label: \"9.4 Retirement\",\n className: \"retirement\",\n },\n {\n value: \"ii-ug-college-policies/employee/leaving-midd/rif\",\n label: \"9.5 Reduction in Force\",\n className: \"rif\",\n },\n ],\n },\n ],\n },\n ],\n },\n {\n value: \"iii-policies-for-the-language-schools\",\n label: \"III. Policies for the Language Schools\",\n className: \"iii-policies-for-the-language-schools\",\n children: [\n {\n value: \"iii-policies-for-the-language-schools/a-student-life-policies\",\n label: \"A. Student Conduct Policies\",\n className: \"a-student-life-policies\",\n children: [\n {\n value:\n \"iii-policies-for-the-language-schools/a-student-life-policies/disciplinary-process\",\n label: \"Language Schools Disciplinary Process\",\n className: \"disciplinary-process\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/a-student-life-policies/withdrawals-and-readmission\",\n label: \"Withdrawals and Readmission\",\n className: \"withdrawals-and-readmission\",\n },\n ],\n },\n {\n value: \"iii-policies-for-the-language-schools/b-academic-policies\",\n label: \"B. Academic Policies\",\n className: \"b-academic-policies\",\n children: [\n {\n value:\n \"iii-policies-for-the-language-schools/b-academic-policies/b-1-academic-honesty\",\n label: \"B.1 Academic Honesty\",\n className: \"b-1-academic-honesty\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/b-academic-policies/b-2-language-pledge\",\n label: \"B.2 Language Pledge\",\n className: \"b-2-language-pledge\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/b-academic-policies/b-3-general-policies\",\n label: \"B.3 General Policies\",\n className: \"b-3-general-policies\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/b-academic-policies/b-4-registration\",\n label: \"B.4 Registration\",\n className: \"b-4-registration\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/b-academic-policies/b-5-for-middlebury-college-undergraduates\",\n label: \"B.5 For Middlebury College Undergraduates\",\n className: \"b-5-for-middlebury-college-undergraduates\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/b-academic-policies/b-6-master-of-arts\",\n label: \"B.6 Master of Arts\",\n className: \"b-6-master-of-arts\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/b-academic-policies/b-7-doctor-of-modern-languages\",\n label: \"B.7 Doctor of Modern Languages\",\n className: \"b-7-doctor-of-modern-languages\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/b-academic-policies/b-8-student-records\",\n label: \"B.8 Grades and Transcripts\",\n className: \"b-8-student-records\",\n },\n ],\n },\n {\n value: \"iii-policies-for-the-language-schools/c-financial-policies\",\n label: \"C. Financial Policies\",\n className: \"c-financial-policies\",\n children: [\n {\n value:\n \"iii-policies-for-the-language-schools/c-financial-policies/c-1-fees\",\n label: \"C.1 Fees\",\n className: \"c-1-fees\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/c-financial-policies/c-2-employment\",\n label: \"C.2 Employment\",\n className: \"c-2-employment\",\n },\n {\n value:\n \"iii-policies-for-the-language-schools/c-financial-policies/c-3-withdrawals-and-refunds\",\n label: \"C.3 Withdrawals and Refunds\",\n className: \"c-3-withdrawals-and-refunds\",\n },\n ],\n },\n {\n value:\n \"iii-policies-for-the-language-schools/d-residential-life-policies\",\n label: \"D. Residential Life Policies\",\n className: \"d-residential-life-policies\",\n },\n {\n value: \"iii-policies-for-the-language-schools/e-policies-for-faculty\",\n label: \"E. Policies for Faculty\",\n className: \"e-policies-for-faculty\",\n },\n ],\n },\n {\n value: \"iv-policies-for-the-institute\",\n label: \"IV. Policies for the Institute of International Studies\",\n className: \"iv-policies-for-the-institute\",\n children: [\n {\n value: \"iv-policies-for-the-institute/a-academic-policies\",\n label: \"A. Academic Policies and Standards\",\n className: \"a-academic-policies\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-1-introduction\",\n label: \"A.1. Introduction\",\n className: \"a-1-introduction\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-2-academic-honesty\",\n label: \"A.2. Academic Honesty\",\n className: \"a-2-academic-honesty\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-3-academic-programs\",\n label: \"A.3. Academic Programs\",\n className: \"a-3-academic-programs\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-4-change-of-academic-program\",\n label: \"A.4. Change of Academic Program\",\n className: \"a-4-change-of-academic-program\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-4-change-of-academic-program/a-4-a-admission-of-bais-students-to-a-master-s-program\",\n label:\n \"A.4.a. Admission of BAIS Students to a Master's Program\",\n className:\n \"a-4-a-admission-of-bais-students-to-a-master-s-program\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-4-change-of-academic-program/a-4-b-change-of-degree-program\",\n label: \"A.4.b. Change of Degree Program\",\n className: \"a-4-b-change-of-degree-program\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-4-change-of-academic-program/a-4-c-change-of-degree-program\",\n label: \"A.4.c. Admission to a Second Graduate Degree Program\",\n className: \"a-4-c-change-of-degree-program\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-4-change-of-academic-program/a-4-d-special-admission-and-registration-policies-for-non-degree-students\",\n label:\n \"A.4.d. Special Admission and Registration Policies for Non-Degree Students\",\n className:\n \"a-4-d-special-admission-and-registration-policies-for-non-degree-students\",\n },\n ],\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-5-instruction\",\n label: \"A.5. Instruction\",\n className: \"a-5-instruction\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-5-instruction/a-5-a-assessment-and-grading\",\n label: \"A.5.a. Assessment and Grading\",\n className: \"a-5-a-assessment-and-grading\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-5-instruction/a-5-b-course-syllabus\",\n label: \"A.5.b. Course Syllabus\",\n className: \"a-5-b-course-syllabus\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-5-instruction/a-5-c-student-grading-of-other-students-work\",\n label: \"A.5.c. Student Grading of Other Students' Work\",\n className: \"a-5-c-student-grading-of-other-students-work\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-5-instruction/a-5-d-external-study-and-study-abroad\",\n label: \"A.5.d. External Study and Study Abroad\",\n className: \"a-5-d-external-study-and-study-abroad\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-5-instruction/a-5-e-internships\",\n label: \"A.5.e. Internships\",\n className: \"a-5-e-internships\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-5-instruction/a-5-f-language-and-intercultural-competency-icc-requirements-at-the-middlebury-institute\",\n label:\n \"A.5.f. Language and Intercultural Competency (ICC) Requirements at the Middlebury Institute\",\n className:\n \"a-5-f-language-and-intercultural-competency-icc-requirements-at-the-middlebury-institute\",\n },\n ],\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies\",\n label: \"A.6. Grades, Credits and Academic Policies\",\n className: \"a-6-grades-credits-and-academic-policies\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-a-grades-and-credits\",\n label: \"A.6.a. Grades and Credits\",\n className: \"a-6-a-grades-and-credits\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-b-disputed-academic-evaluation-procedures\",\n label: \"A.6.b. Disputed Academic Evaluation Procedures\",\n className: \"a-6-b-disputed-academic-evaluation-procedures\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-c-pass-no-pass-p-np-option\",\n label: \"A.6.c. Pass/No Pass (P/NP) Option\",\n className: \"a-6-c-pass-no-pass-p-np-option\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-d-pass-fail-p-f-option\",\n label: \"A.6.d. Pass/Fail (P/F) Option\",\n className: \"a-6-d-pass-fail-p-f-option\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-e-incomplete-grades\",\n label: \"A.6.e. Incomplete Grades\",\n className: \"a-6-e-incomplete-grades\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-f\",\n label: 'A.6.f. Assignment of \"In Progress\"',\n className: \"a-6-f\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-g-academic-standing\",\n label: \"A.6.g. Academic Standing\",\n className: \"a-6-g-academic-standing\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-h-academic-probation\",\n label: \"A.6.h. Academic Probation\",\n className: \"a-6-h-academic-probation\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-i-dismissal\",\n label: \"A.6.i. Dismissal\",\n className: \"a-6-i-dismissal\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-j-time-limit-for-completion-of-degree-requirements-currency\",\n label:\n \"A.6.j. Time Limit for Completion of Degree Requirements (Currency)\",\n className:\n \"a-6-j-time-limit-for-completion-of-degree-requirements-currency\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-k-petition-for-waiver-of-academic-regulations\",\n label: \"A.6.k. Petition for Waiver of Academic Regulations\",\n className: \"a-6-k-petition-for-waiver-of-academic-regulations\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-l-transfer-of-academic-credit-from-other-institutions\",\n label:\n \"A.6.l. Transfer of Academic Credit from Other Institutions\",\n className:\n \"a-6-l-transfer-of-academic-credit-from-other-institutions\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-m-challenge-examinations\",\n label: \"A.6.m. Challenge Examinations\",\n className: \"a-6-m-challenge-examinations\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-6-grades-credits-and-academic-policies/a-6-n-graduation-with-honors\",\n label: \"A.6.n. Graduation with Honors\",\n className: \"a-6-n-graduation-with-honors\",\n },\n ],\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-7-policies-concerning-enrollment-and-payment-fees\",\n label: \"A.7. Policies Concerning Enrollment and Payment Fees\",\n className: \"a-7-policies-concerning-enrollment-and-payment-fees\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-7-policies-concerning-enrollment-and-payment-fees/a-7-a-full-time-and-part-time-enrollment-status\",\n label: \"A.7.a Full-Time and Part-Time Enrollment Status\",\n className: \"a-7-a-full-time-and-part-time-enrollment-status\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-7-policies-concerning-enrollment-and-payment-fees/a-7-b-payment-of-fees\",\n label: \"A.7.b. Payment of Fees\",\n className: \"a-7-b-payment-of-fees\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-7-policies-concerning-enrollment-and-payment-fees/a-7-c-tuition-refunds\",\n label: \"A.7.c. Tuition Refunds\",\n className: \"a-7-c-tuition-refunds\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-7-policies-concerning-enrollment-and-payment-fees/a-7-d-course-load-and-overloads\",\n label: \"A.7.d. Course Load and Overloads\",\n className: \"a-7-d-course-load-and-overloads\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-7-policies-concerning-enrollment-and-payment-fees/a-7-e-adding-courses\",\n label: \"A.7.e. Adding Courses\",\n className: \"a-7-e-adding-courses\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-7-policies-concerning-enrollment-and-payment-fees/a-7-f-dropping-courses\",\n label: \"A.7.f. Dropping Courses\",\n className: \"a-7-f-dropping-courses\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-7-policies-concerning-enrollment-and-payment-fees/a-7-f-auditing-courses\",\n label: \"A.7.g. Auditing Courses\",\n className: \"a-7-f-auditing-courses\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-7-policies-concerning-enrollment-and-payment-fees/a-7-g-repeating-courses\",\n label: \"A.7.h. Repeating Courses\",\n className: \"a-7-g-repeating-courses\",\n },\n ],\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-8-leaves-of-absence-withdrawal-suspension-expulsion-and-graduation\",\n label:\n \"A.8. Leaves of Absence, Withdrawal, Suspension, Expulsion, and Graduation\",\n className:\n \"a-8-leaves-of-absence-withdrawal-suspension-expulsion-and-graduation\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-8-leaves-of-absence-withdrawal-suspension-expulsion-and-graduation/a-8-a-leave-of-absence-student-initiated\",\n label: \"A.8.a. Leave of Absence - Student Initiated\",\n className: \"a-8-a-leave-of-absence-student-initiated\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-8-leaves-of-absence-withdrawal-suspension-expulsion-and-graduation/a-8-b-institute-initiated-leave-of-absence-emergency-withdrawal-suspension-or-expulsion\",\n label:\n \"A.8.b. Institute Initiated Leave of Absence, Emergency Withdrawal, Suspension or Expulsion\",\n className:\n \"a-8-b-institute-initiated-leave-of-absence-emergency-withdrawal-suspension-or-expulsion\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-8-leaves-of-absence-withdrawal-suspension-expulsion-and-graduation/a-8-c-graduation\",\n label: \"A.8.c. Graduation\",\n className: \"a-8-c-graduation\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-8-leaves-of-absence-withdrawal-suspension-expulsion-and-graduation/a-8-d-withdrawal-from-middlebury-institute\",\n label: \"A.8.d. Withdrawal from the Middlebury Institute\",\n className: \"a-8-d-withdrawal-from-middlebury-institute\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-8-leaves-of-absence-withdrawal-suspension-expulsion-and-graduation/a-8-e-readmission-to-the-middlebury-institute\",\n label: \"A.8.e. Readmission to the Middlebury Institute\",\n className: \"a-8-e-readmission-to-the-middlebury-institute\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-8-leaves-of-absence-withdrawal-suspension-expulsion-and-graduation/a-8-f-withdrawal-procedures\",\n label:\n \"A.8.f. Withdrawal Procedures for Students Who Are Military Dependents Whose Families Must Move Due to Redeployment/Relocation\",\n className: \"a-8-f-withdrawal-procedures\",\n },\n {\n value:\n \"iv-policies-for-the-institute/a-academic-policies/a-8-leaves-of-absence-withdrawal-suspension-expulsion-and-graduation/a-8-g\",\n label: \"A.8.g. Return of Title IV (Federal) Funds\",\n className: \"a-8-g\",\n },\n ],\n },\n ],\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations\",\n label:\n \"B. Policies Governing Student Conduct and Student Organizations\",\n className:\n \"b-policies-governing-student-conduct-and-student-organizations\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/a-general\",\n label: \"B.1. General Policies\",\n className: \"a-general\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct\",\n label: \"B.2. Conduct\",\n className: \"b-conduct\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct/b-2-a-general-conduct-policy\",\n label: \"B.2.a. General Conduct Policy\",\n className: \"b-2-a-general-conduct-policy\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct/b-2-c-student-conduct-policy-overview\",\n label: \"B.2.b. Student Conduct Policy Overview\",\n className: \"b-2-c-student-conduct-policy-overview\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct/b-2-d-student-conduct-disciplinary-process\",\n label: \"B.2.c. Student Conduct Disciplinary Process\",\n className: \"b-2-d-student-conduct-disciplinary-process\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct/b-2-d-student-conduct-disciplinary-process/a-overview\",\n label: \"A. Overview\",\n className: \"a-overview\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct/b-2-d-student-conduct-disciplinary-process/b-the-judicial-system\",\n label: \"B. The Judicial System\",\n className: \"b-the-judicial-system\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct/b-2-d-student-conduct-disciplinary-process/c-hearing-procedures\",\n label: \"C. Hearing Procedures\",\n className: \"c-hearing-procedures\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct/b-2-d-student-conduct-disciplinary-process/d-sanctions-for-general-non-academic-offenses\",\n label: \"D. Sanctions for General Non-Academic Offenses\",\n className: \"d-sanctions-for-general-non-academic-offenses\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct/b-2-d-student-conduct-disciplinary-process/e-sanctions-for-academic-offenses\",\n label: \"E. Sanctions for Academic Offenses\",\n className: \"e-sanctions-for-academic-offenses\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/b-conduct/b-2-d-student-conduct-disciplinary-process/f-appeals-procedures\",\n label: \"F. Appeals Procedures\",\n className: \"f-appeals-procedures\",\n },\n ],\n },\n ],\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/c-health-wellness\",\n label: \"B.3. Health & Wellness\",\n className: \"c-health-wellness\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/d-student-clubs-and-organizations\",\n label: \"B.4. Student Clubs and Organizations\",\n className: \"d-student-clubs-and-organizations\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/d-student-clubs-and-organizations/b-4-club-approval\",\n label: \"B.4.a. Start a Club\",\n className: \"b-4-club-approval\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/d-student-clubs-and-organizations/b-4-b-club-funding\",\n label: \"B.4.b. Club Funding\",\n className: \"b-4-b-club-funding\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/d-student-clubs-and-organizations/b-4-c-event-identification-policy\",\n label: \"B.4.c. Event Identification Policy\",\n className: \"b-4-c-event-identification-policy\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/d-student-clubs-and-organizations/b-4-d-alochol-policy-serving-alcohol-at-events\",\n label: \"B.4.d. Alcohol Policy (serving alcohol at events)\",\n className: \"b-4-d-alochol-policy-serving-alcohol-at-events\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/d-student-clubs-and-organizations/b-4-e-guest-policy\",\n label: \"B.4.e. Guest Policy for Events\",\n className: \"b-4-e-guest-policy\",\n },\n {\n value:\n \"iv-policies-for-the-institute/b-policies-governing-student-conduct-and-student-organizations/d-student-clubs-and-organizations/b-4-f-food-and-beverage-policy\",\n label: \"B.4.f. Food and Beverage Policy\",\n className: \"b-4-f-food-and-beverage-policy\",\n },\n ],\n },\n ],\n },\n {\n value: \"iv-policies-for-the-institute/c-faculty-handbook\",\n label: \"C. Faculty Handbook\",\n className: \"c-faculty-handbook\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/1-introduction\",\n label: \"C.1. Introduction\",\n className: \"1-introduction\",\n },\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/2-administrative-roles\",\n label: \"C.2. Administrative Roles\",\n className: \"2-administrative-roles\",\n },\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/3-faculty-roles\",\n label: \"C.3. Faculty Roles\",\n className: \"3-faculty-roles\",\n },\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/4-faculty-organization-and-governance\",\n label: \"C.4. Faculty Organization and Governance\",\n className: \"4-faculty-organization-and-governance\",\n },\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/5-policies-and-procedures-for-members-of-the-faculty\",\n label: \"C.5. Policies and Procedures for Members of the Faculty\",\n className: \"5-policies-and-procedures-for-members-of-the-faculty\",\n },\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/6-evaluation-of-the-faculty\",\n label: \"C.6. Evaluation of the Faculty\",\n className: \"6-evaluation-of-the-faculty\",\n },\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/7-separation-from-the-institute\",\n label: \"C.7. Separation from the Institute\",\n className: \"7-separation-from-the-institute\",\n },\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/8-other-faculty-matters\",\n label: \"C.8. Other Faculty Matters\",\n className: \"8-other-faculty-matters\",\n },\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/appendix-a-faculty-evaluation-schedule\",\n label: \"Appendix A: Faculty Evaluation Schedule\",\n className: \"appendix-a-faculty-evaluation-schedule\",\n },\n {\n value:\n \"iv-policies-for-the-institute/c-faculty-handbook/appendix-b-aaup-guidelines\",\n label: \"Appendix B: AAUP Guidelines\",\n className: \"appendix-b-aaup-guidelines\",\n },\n ],\n },\n {\n value: \"iv-policies-for-the-institute/d-employee-handbook\",\n label: \"D. Employee Handbook\",\n className: \"d-employee-handbook\",\n children: [\n {\n value:\n \"iv-policies-for-the-institute/d-employee-handbook/d-1-employment-policies-and-practices\",\n label: \"D.1. Employment Policies and Practices\",\n className: \"d-1-employment-policies-and-practices\",\n },\n {\n value:\n \"iv-policies-for-the-institute/d-employee-handbook/d-2-employee-relations\",\n label: \"D.2. Employee Relations\",\n className: \"d-2-employee-relations\",\n },\n {\n value:\n \"iv-policies-for-the-institute/d-employee-handbook/d-3-employee-benefits\",\n label: \"D.3. Employee Benefits\",\n className: \"d-3-employee-benefits\",\n },\n {\n value:\n \"iv-policies-for-the-institute/d-employee-handbook/d-4-employee-conduct\",\n label: \"D.4. Employee Conduct\",\n className: \"d-4-employee-conduct\",\n },\n {\n value:\n \"iv-policies-for-the-institute/d-employee-handbook/d-5-leaves-of-absence\",\n label: \"D.5. Leaves of Absence\",\n className: \"d-5-leaves-of-absence\",\n },\n {\n value:\n \"iv-policies-for-the-institute/d-employee-handbook/d-6-miscellaneous-considerations\",\n label: \"D.6. Miscellaneous Considerations\",\n className: \"d-6-miscellaneous-considerations\",\n },\n ],\n },\n ],\n },\n {\n value: \"v-handbook-archive\",\n label: \"Previous Handbooks\",\n className: \"v-handbook-archive\",\n },\n];\n","import React from \"react\";\n\nconst SearchResults = ({ results, noResults }) => {\n return (\n <div aria-label=\"Search Results\" className=\"search-results\">\n {results.length === 0 ? (\n <div className=\"search-results__item\">\n <p>0 Results</p>\n </div>\n ) : (\n results.map((result) => {\n return (\n <div className=\"search-results__item\">\n <a href={result.slug}>\n <h3>{result.title}</h3>\n </a>\n <p\n dangerouslySetInnerHTML={{\n __html: `${result.excerpt.slice(0, 60)}...`,\n }}\n />\n </div>\n );\n })\n )}\n </div>\n );\n};\n\nexport default SearchResults;\n","import React, { useEffect, useState, useRef } from \"react\";\nimport Layout from \"./layout\";\nimport Header from \"./header\";\nimport Navbar from \"./navbar\";\nimport SplitPane, {\n Divider,\n SplitPaneLeft,\n SplitPaneRight,\n} from \"./split-pane\";\nimport Footer from \"./footer\";\nimport CheckboxTree from \"react-checkbox-tree\";\nimport { nodes } from \"../data/handbook\";\nimport { navigate } from \"gatsby\";\nimport SearchResults from \"./search-results\";\nimport { useStaticQuery, graphql } from \"gatsby\";\n\nconst PageWrapper = (props) => {\n const [checked, setChecked] = useState([]);\n const [expanded, setExpanded] = useState([]);\n const [expand, setExpand] = useState(\"\");\n const [page, setPage] = useState({});\n const [value, setValue] = useState(\"\");\n const [currentClass, setCurrentClass] = useState(\"\");\n const [results, setResults] = useState([]);\n const [printResults, setPrintResults] = useState(\"\");\n const [index, setIndex] = useState(\"\");\n const [store, setStore] = useState({});\n const [handleSubmitToggle, setHandleSubmitToggle] = useState(0);\n const prevClass = useRef();\n const toggleRef = useRef();\n let allNodes = Object.values(nodes);\n let buffer = \"\";\n\n const data = useStaticQuery(graphql`\n query {\n localSearchPages {\n publicIndexURL\n publicStoreURL\n }\n }\n `);\n\n // const store = Object.values(data.localSearchPages.store);\n const handlePageLoad = (slug) => {\n let url = slug ? slug.split(\"/\") : window.location.href.split(\"/\");\n if (url[url.length - 1] === \"\") {\n url.pop();\n }\n\n // Taking care of links with # links\n if (url[url.length - 1].includes(\"#\")) {\n let last = url.pop().split(\"#\")[0];\n if (last.length !== 0) url.push(last);\n }\n let currentExpanded =\n url.indexOf(\"pages\") !== -1\n ? url.slice(url.indexOf(\"pages\") + 1, url.length - 1)\n : [];\n let arr = [];\n let len = currentExpanded.length;\n let currentPage = {};\n\n if (currentExpanded.length !== 0) {\n // Build array of expanded nodes\n for (var i = 0; i < len; i++) {\n arr.splice(0, 0, currentExpanded.join(\"/\"));\n currentExpanded = currentExpanded.slice(0, currentExpanded.length - 1);\n }\n\n // Find the selected page's parent in the nodes object\n for (var j = 0; j < arr.length - 1; j++) {\n var allNodesFound = allNodes.find(\n (element) => element.value === arr[j]\n );\n if (allNodesFound) {\n allNodes = allNodesFound.children;\n }\n }\n\n currentPage.parent = allNodes.find(\n (element) => element.value === arr[len - 1]\n );\n } else {\n currentPage.parent = [];\n }\n currentPage.value = url\n .slice(url.indexOf(\"pages\") + 1, url.length)\n .join(\"/\");\n\n setValue(currentPage.value);\n setExpanded(arr);\n setPage(currentPage);\n };\n\n useEffect(() => {\n handlePageLoad();\n }, []);\n\n useEffect(() => {\n fetch(data.localSearchPages.publicIndexURL)\n .then((result) => result.text())\n .then((res) => {\n setIndex(res);\n });\n fetch(data.localSearchPages.publicStoreURL)\n .then((result) => result.json())\n .then((res) => {\n setStore(res);\n });\n }, []);\n\n useEffect(() => {\n prevClass.current = currentClass;\n }, [currentClass]);\n\n useEffect(() => {\n if (value !== \"\" && value !== \"/\") {\n handleClick(value);\n } else if (value === \"/\") {\n handleHighlight(value);\n }\n }, [value]);\n\n useEffect(() => {\n if (expand.length > 0) {\n handlePageLoad(expand);\n }\n }, [expand]);\n\n useEffect(() => {\n toggleRef.current = handleSubmitToggle;\n }, [handleSubmitToggle]);\n\n const handleClick = (value) => {\n let names = value.split(\"/\");\n let className = names[names.length - 1];\n handleHighlight(className);\n };\n\n const handleHighlight = (className) => {\n if (\n prevClass.current !== \"\" &&\n prevClass.current !== undefined &&\n document.getElementsByClassName(prevClass.current)[0] !== undefined\n ) {\n document\n .getElementsByClassName(prevClass.current)[0]\n .children[0].children[2].classList.remove(\"active\");\n }\n if (document.getElementsByClassName(className)[0] !== undefined) {\n document\n .getElementsByClassName(className)[0]\n .children[0].children[2].classList.add(\"active\");\n }\n\n if (className === \"/\") {\n setCurrentClass(\"\");\n setExpanded([]);\n setPage({});\n } else {\n setCurrentClass(className);\n }\n };\n\n const handleChecked = (checked) => {\n for (let i = 0; i < checked.length; i++) {\n let ele = Object.values(store)\n .map((obj) => {\n return obj.slug;\n })\n .indexOf(`/pages/${checked[i]}`);\n buffer = buffer.concat(\n `<br><h2>${Object.values(store)[ele].title}</h2>`,\n Object.values(store)[ele].html\n );\n }\n setPrintResults(buffer);\n };\n\n return (\n <Layout title={props.data?.markdownRemark?.frontmatter.title}>\n <div className=\"App\">\n <Header />\n <Navbar\n page={page}\n value={value === \"\" ? page.value : value}\n valueCallback={(value) => {\n setValue(value);\n }}\n // localSearchPages={data.localSearchPages}\n index={index}\n store={store}\n setResults={setResults}\n handleSubmitToggle={handleSubmitToggle}\n setHandleSubmitToggle={setHandleSubmitToggle}\n printResults={printResults}\n />\n <SplitPane className=\"split-pane-row\">\n <SplitPaneLeft>\n <CheckboxTree\n nodes={nodes}\n checkModel=\"all\"\n checked={checked}\n expanded={expanded}\n expandOnClick\n showNodeIcon={false}\n onCheck={(checked) => {\n setChecked(checked);\n handleChecked(checked);\n }}\n onExpand={(expanded) => setExpanded(expanded)}\n onClick={(targetNode) => {\n navigate(`/pages/${targetNode.value}`);\n setPage(targetNode);\n setValue(\"\");\n setExpand(\"\");\n handleClick(targetNode.value);\n if (results.length > 0) {\n setResults([]);\n }\n }}\n />\n </SplitPaneLeft>\n <Divider className=\"separator-col\" />\n <SplitPaneRight>\n {toggleRef.current === handleSubmitToggle ? (\n props.children\n ) : (\n <SearchResults\n results={results}\n setResults={setResults}\n valueCallback={(value) => {\n setValue(value);\n }}\n expandCallback={(expand) => {\n setExpand(expand);\n }}\n />\n )}\n </SplitPaneRight>\n </SplitPane>\n <Footer />\n </div>\n </Layout>\n );\n};\n\nexport default PageWrapper;\n","import React from \"react\";\nimport PageWrapper from \"./src/components/page-wrapper\";\n\nexport const wrapPageElement = ({ element, props }) => {\n return <PageWrapper {...props}>{element}</PageWrapper>;\n};\n","\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n// Taken from https://github.com/netlify/netlify-identity-widget\nvar routes = /(confirmation|invite|recovery|email_change)_token=([^&]+)/;\nvar errorRoute = /error=access_denied&error_description=403/;\nvar accessTokenRoute = /access_token=/;\n\nexports.onInitialClientRender = function (_, _ref) {\n var _ref$enableIdentityWi = _ref.enableIdentityWidget,\n enableIdentityWidget = _ref$enableIdentityWi === void 0 ? true : _ref$enableIdentityWi,\n _ref$publicPath = _ref.publicPath,\n publicPath = _ref$publicPath === void 0 ? \"admin\" : _ref$publicPath;\n var hash = (document.location.hash || \"\").replace(/^#\\/?/, \"\");\n\n if (enableIdentityWidget && (routes.test(hash) || errorRoute.test(hash) || accessTokenRoute.test(hash))) {\n Promise.resolve().then(function () {\n return _interopRequireWildcard(require(\"netlify-identity-widget\"));\n }).then(function (_ref2) {\n var netlifyIdentityWidget = _ref2.default;\n netlifyIdentityWidget.on(\"init\", function (user) {\n if (!user) {\n netlifyIdentityWidget.on(\"login\", function () {\n document.location.href = __PATH_PREFIX__ + \"/\" + publicPath + \"/\";\n });\n }\n });\n netlifyIdentityWidget.init();\n });\n }\n};","import invariant from \"invariant\"; ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Router> dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// <Link to=\"deeper\"/>\n// // instead of\n// <Link to=`{${props.uri}/deeper}`/>\n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","var _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\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var _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\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n/* eslint-disable jsx-a11y/anchor-has-content */\n\n\nimport React, { useContext, createContext } from \"react\";\nimport invariant from \"invariant\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\"; ////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\n\n\nvar LocationContext = createNamedContext(\"Location\"); // sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\n\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(LocationContext.Consumer, null, function (context) {\n return context ? children(context) : React.createElement(LocationProvider, null, children);\n });\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\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 = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: {\n unlisten: null\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n return {\n navigate: navigate,\n location: location\n };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, {\n replace: true\n });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return {\n context: _this2.getContext()\n };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n return React.createElement(LocationContext.Provider, {\n value: context\n }, typeof children === \"function\" ? children(context) : children || null);\n };\n\n return LocationProvider;\n}(React.Component); ////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(LocationContext.Provider, {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n }, children);\n}; ////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\n\n\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\",\n navigate: globalHistory.navigate\n}); ////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\n\nvar Router = function Router(props) {\n return React.createElement(BaseContext.Consumer, null, function (baseContext) {\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n });\n });\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value; // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(Router, {\n location: location,\n primary: primary\n }, element.props.children) : undefined); // using 'div' for < 16.3 support\n\n var FocusWrapper = primary ? FocusHandler : component; // don't pass any props to 'div'\n\n var wrapperProps = primary ? _extends({\n uri: uri,\n location: location,\n component: component\n }, domProps) : domProps;\n return React.createElement(BaseContext.Provider, {\n value: {\n baseuri: uri,\n basepath: basepath,\n navigate: props.navigate\n }\n }, React.createElement(FocusWrapper, wrapperProps, clone));\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `<Router basepath=\"${basepath}\">\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () => <div>Not Found!</div>\n // \\n\\t<Router>\\n\\t <NotFound default/>\\n\\t {/* ... */}\\n\\t</Router>`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(FocusContext.Consumer, null, function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n });\n}; // don't focus on initial render\n\n\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(Comp, _extends({\n style: _extends({\n outline: \"none\"\n }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps), React.createElement(FocusContext.Provider, {\n value: this.requestFocus\n }, this.props.children));\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {}; ////////////////////////////////////////////////////////////////////////////////\n\n\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(BaseContext.Consumer, null, function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(Location, null, function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({\n isCurrent: isCurrent,\n isPartiallyCurrent: isPartiallyCurrent,\n href: href,\n location: location\n }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n });\n });\n});\nLink.displayName = \"Link\";\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n } // Support React < 16 with this hook\n\n\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), {\n replace: replace,\n state: state\n });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(BaseContext.Consumer, null, function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, {\n baseuri: baseuri\n }, props));\n });\n });\n};\n\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(BaseContext.Consumer, null, function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(Location, null, function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n });\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a BaseContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n var results = match(context.basepath, location.pathname);\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Router>: Children of <Router> must have a `path` or `default` prop, or be a `<Redirect>`. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Redirect from=\\\"\" + element.props.from + \"\\\" to=\\\"\" + element.props.to + \"\\\"/> requires both \\\"from\\\" and \\\"to\\\" props when inside a <Router>.\") : invariant(false) : void 0;\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"<Redirect from=\\\"\" + element.props.from + \" to=\\\"\" + element.props.to + \"\\\"/> has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return {\n value: element,\n default: true\n };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}; ////////////////////////////////////////////////////////////////////////\n\n\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch , BaseContext };","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\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"],"sourceRoot":""}