{"version":3,"sources":["webpack:///./src/js/react-hooks/use-fetch.js","webpack:///./src/js/react-components/alert/index.js","webpack:///./src/js/react-components/loading/index.js","webpack:///./src/js/react-hooks/use-query-string.js","webpack:///./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack:///./src/js/react-components/pagination/index.js","webpack:///./src/js/react-components/project-listing/filters.js","webpack:///./src/js/react-components/project-listing/card.js","webpack:///./src/js/react-components/project-listing/index.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","Array","isArray","_arrayWithHoles","l","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","from","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","useFetch","url","options","_useState2","useState","response","setResponse","_useState4","setError","_useState6","isLoading","setIsLoading","fetchData","_x","_x2","_fetchData","_callee","json","_context","axios","t0","useEffect","Alert","_ref","heading","description","React","createElement","className","concat","role","aria-live","propTypes","string","isRequired","Loading","label","aria-label","useQueryString","initialValue","_useState","getQueryStringValue","setValue","onSetValue","useCallback","newValue","setQueryStringValue","hasPassiveEvents","window","passiveTestOptions","addEventListener","removeEventListener","isIosDevice","navigator","platform","maxTouchPoints","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPaddingRight","allowTouchMove","el","some","lock","preventDefault","rawEvent","event","target","touches","restoreOverflowSetting","document","body","style","paddingRight","overflow","disableBodyScroll","targetElement","_toConsumableArray","ontouchstart","targetTouches","clientY","ontouchmove","scrollTop","scrollHeight","clientHeight","isTargetElementTotallyScrolled","stopPropagation","handleScroll","passive","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","setOverflowHidden","console","clearAllBodyScrollLocks","enableBodyScroll","filter","PaginationButton","isActive","disabled","hidden","onClick","rest","_objectWithoutProperties","_excluded","_extends","Pagination","_ref2","onPageChange","currentPage","totalPages","goToPageLabel","xlinkHref","map","_","index","number","flatMap","array","calcPaginationArray","func","ProjectFilters","facetsUrl","browseTitle","clearFilters","searchTitle","searchBtnLabel","mobileHideFilters","mobileShowFilters","totalResults","loadingDataLabel","errorHeading","errorDescription","setSearchQs","setFacetsQS","setFacetsLoaded","facetsInitial","searchValue","setSearchValue","split","selectedFacets","setSelectedFacets","updateFacets","setUpdateFacets","_useState8","scroll","setScroll","projectBox","useRef","trigger","sentinelRef","_useState10","searched","setSearched","_useState12","forceHide","setForceHide","_useState14","isMobile","setIsMobile","_useState16","openModal","setOpenModal","_useState18","visibility","setVisibility","_useState20","hideTrigger","setHideTrigger","_useState22","scrolling","setScrolling","_useState24","focusTrap","setFocusTrap","visibilityHidden","visible","fetchFacets","stringifyUrl","_useFetch","current","observer","IntersectionObserver","entries","entry","isIntersecting","root","threshold","observe","disconnect","activate","updateDimensions","handleTriggerPosition","handleScrollStop","trap","createFocusTrap","escapeDeactivates","onActivate","onDeactivate","handleTransitionEnd","matchMedia","matches","handleFacetClick","findIndex","facet","data","_response$data2","_response$data2$areas","_response$data","_response$data$areasO","handleFacetClear","handleSearchUpdate","currentTarget","handleSearchKeyDown","keyCode","enter","handleSearchSubmit","handleShowModal","deactivate","classList","contains","_trigger$current","pos","getBoundingClientRect","top","innerHeight","height","Fragment","ref","htmlFor","id","onKeyDown","onChange","width","viewBox","areasOfInterest","area","aria-pressed","display","Card","item","cardTitle","lineNumber","setLineNumber","calculateLineNumber","_cardTitle$current","Math","floor","offsetHeight","aria-labelledby","Id","ProjectImage","data-object-fit","src","alt","ProjectImageAlt","loading","ProjectFlag","ProjectSchool","ProjectProgram","href","ProjectLinkUrl","ProjectLinkTarget","ProjectTitle","ProjectCopy","ProjectListing","_response$data$Result","_response$data2$Resul","_response$data3","facets","fetchUrl","paginationLabel","sortLabel","degreeLabel","pageQueryString","pageSizeQueryString","sortQueryString","degreeQueryString","programsQueryString","schoolsQueryString","areasQueryString","searchQueryString","filterQueryString","fixedQueryString","projectsQueryString","relatedpagesQueryString","pageSizeInitial","sortInitial","degreeInitial","programsInitial","schoolsInitial","areaInitial","filterInitial","fixedInitial","projectsInitial","relatedpagesInitial","sortOptions","degreeOptions","optionalTitle","noResults","containerRef","firstTime","setFirstTime","facetsLoaded","_useQueryString2","pageSizeQs","programQs","schoolQs","filterQs","_useQueryString10","areasQs","setAreasQs","fixedQs","relatedPagesQs","projectsQs","_useQueryString18","searchQs","_useQueryString20","pageQs","setPageQs","_useQueryString22","sortQs","setSortQs","_useQueryString24","degreeQs","setDegreeQs","fetchUrlWithParams","query","_objectSpread","_defineProperty","setQueryString","queryString","requestAnimationFrame","_containerRef$current","scrollIntoView","behavior","block","Filters","TotalResults","ResultsLabel","option","Results","TotalPages","CurrentPage","page"],"mappings":"ugBACAA,EAAA,kBAAAC,GAAA,IAAAC,EAAAD,EAAA,GAAAE,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAK,gBAAA,SAAAP,EAAAD,EAAAE,GAAAD,EAAAD,GAAAE,EAAAO,OAAAC,EAAA,mBAAAC,cAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAjB,EAAAD,EAAAE,GAAA,OAAAC,OAAAK,eAAAP,EAAAD,EAAA,CAAAS,MAAAP,EAAAiB,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAApB,EAAAD,GAAA,IAAAkB,EAAA,aAAAjB,GAAAiB,EAAA,SAAAjB,EAAAD,EAAAE,GAAA,OAAAD,EAAAD,GAAAE,GAAA,SAAAoB,EAAArB,EAAAD,EAAAE,EAAAG,GAAA,IAAAK,EAAAV,KAAAI,qBAAAmB,EAAAvB,EAAAuB,EAAAX,EAAAT,OAAAqB,OAAAd,EAAAN,WAAAU,EAAA,IAAAW,EAAApB,GAAA,WAAAE,EAAAK,EAAA,WAAAH,MAAAiB,EAAAzB,EAAAC,EAAAY,KAAAF,EAAA,SAAAe,EAAA1B,EAAAD,EAAAE,GAAA,WAAA0B,KAAA,SAAAC,IAAA5B,EAAA6B,KAAA9B,EAAAE,IAAA,MAAAD,GAAA,OAAA2B,KAAA,QAAAC,IAAA5B,IAAAD,EAAAsB,OAAA,IAAAS,EAAA,iBAAAC,EAAA,YAAAC,EAAA,YAAAC,EAAA,YAAAX,KAAA,SAAAY,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAnB,EAAAmB,EAAAzB,GAAA,8BAAA0B,EAAAnC,OAAAoC,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAAtC,GAAAG,EAAAyB,KAAAU,EAAA5B,KAAAyB,EAAAG,GAAA,IAAAE,EAAAN,EAAAhC,UAAAmB,EAAAnB,UAAAD,OAAAqB,OAAAa,GAAA,SAAAM,EAAA1C,GAAA,0BAAA2C,SAAA,SAAA5C,GAAAkB,EAAAjB,EAAAD,GAAA,SAAAC,GAAA,YAAA4C,QAAA7C,EAAAC,SAAA,SAAA6C,EAAA7C,EAAAD,GAAA,SAAA+C,EAAA7C,EAAAK,EAAAG,EAAAE,GAAA,IAAAE,EAAAa,EAAA1B,EAAAC,GAAAD,EAAAM,GAAA,aAAAO,EAAAc,KAAA,KAAAZ,EAAAF,EAAAe,IAAAE,EAAAf,EAAAP,MAAA,OAAAsB,GAAA,UAAAiB,EAAAjB,IAAA1B,EAAAyB,KAAAC,EAAA,WAAA/B,EAAAiD,QAAAlB,EAAAmB,SAAAC,MAAA,SAAAlD,GAAA8C,EAAA,OAAA9C,EAAAS,EAAAE,MAAA,SAAAX,GAAA8C,EAAA,QAAA9C,EAAAS,EAAAE,MAAAZ,EAAAiD,QAAAlB,GAAAoB,MAAA,SAAAlD,GAAAe,EAAAP,MAAAR,EAAAS,EAAAM,MAAA,SAAAf,GAAA,OAAA8C,EAAA,QAAA9C,EAAAS,EAAAE,QAAAE,EAAAe,KAAA,IAAA3B,EAAAK,EAAA,gBAAAE,MAAA,SAAAR,EAAAI,GAAA,SAAA+C,IAAA,WAAApD,GAAA,SAAAA,EAAAE,GAAA6C,EAAA9C,EAAAI,EAAAL,EAAAE,MAAA,OAAAA,MAAAiD,KAAAC,YAAA,SAAA1B,EAAA1B,EAAAE,EAAAG,GAAA,IAAAE,EAAAwB,EAAA,gBAAArB,EAAAE,GAAA,GAAAL,IAAAyB,EAAA,MAAAqB,MAAA,mCAAA9C,IAAA0B,EAAA,cAAAvB,EAAA,MAAAE,EAAA,OAAAH,MAAAR,EAAAqD,MAAA,OAAAjD,EAAAkD,OAAA7C,EAAAL,EAAAwB,IAAAjB,IAAA,KAAAE,EAAAT,EAAAmD,SAAA,GAAA1C,EAAA,KAAAE,EAAAyC,EAAA3C,EAAAT,GAAA,GAAAW,EAAA,IAAAA,IAAAkB,EAAA,gBAAAlB,GAAA,YAAAX,EAAAkD,OAAAlD,EAAAqD,KAAArD,EAAAsD,MAAAtD,EAAAwB,SAAA,aAAAxB,EAAAkD,OAAA,IAAAhD,IAAAwB,EAAA,MAAAxB,EAAA0B,EAAA5B,EAAAwB,IAAAxB,EAAAuD,kBAAAvD,EAAAwB,SAAA,WAAAxB,EAAAkD,QAAAlD,EAAAwD,OAAA,SAAAxD,EAAAwB,KAAAtB,EAAAyB,EAAA,IAAAK,EAAAV,EAAA3B,EAAAE,EAAAG,GAAA,cAAAgC,EAAAT,KAAA,IAAArB,EAAAF,EAAAiD,KAAArB,EAAA,iBAAAI,EAAAR,MAAAK,EAAA,gBAAAzB,MAAA4B,EAAAR,IAAAyB,KAAAjD,EAAAiD,MAAA,UAAAjB,EAAAT,OAAArB,EAAA0B,EAAA5B,EAAAkD,OAAA,QAAAlD,EAAAwB,IAAAQ,EAAAR,OAAA,SAAA4B,EAAAzD,EAAAE,GAAA,IAAAG,EAAAH,EAAAqD,OAAAhD,EAAAP,EAAAa,SAAAR,GAAA,GAAAE,IAAAN,EAAA,OAAAC,EAAAsD,SAAA,eAAAnD,GAAAL,EAAAa,SAAAiD,SAAA5D,EAAAqD,OAAA,SAAArD,EAAA2B,IAAA5B,EAAAwD,EAAAzD,EAAAE,GAAA,UAAAA,EAAAqD,SAAA,WAAAlD,IAAAH,EAAAqD,OAAA,QAAArD,EAAA2B,IAAA,IAAAkC,UAAA,oCAAA1D,EAAA,aAAA6B,EAAA,IAAAxB,EAAAiB,EAAApB,EAAAP,EAAAa,SAAAX,EAAA2B,KAAA,aAAAnB,EAAAkB,KAAA,OAAA1B,EAAAqD,OAAA,QAAArD,EAAA2B,IAAAnB,EAAAmB,IAAA3B,EAAAsD,SAAA,KAAAtB,EAAA,IAAAtB,EAAAF,EAAAmB,IAAA,OAAAjB,IAAA0C,MAAApD,EAAAF,EAAAgE,YAAApD,EAAAH,MAAAP,EAAA+D,KAAAjE,EAAAkE,QAAA,WAAAhE,EAAAqD,SAAArD,EAAAqD,OAAA,OAAArD,EAAA2B,IAAA5B,GAAAC,EAAAsD,SAAA,KAAAtB,GAAAtB,GAAAV,EAAAqD,OAAA,QAAArD,EAAA2B,IAAA,IAAAkC,UAAA,oCAAA7D,EAAAsD,SAAA,KAAAtB,GAAA,SAAAiC,EAAAlE,GAAA,IAAAD,EAAA,CAAAoE,OAAAnE,EAAA,SAAAA,IAAAD,EAAAqE,SAAApE,EAAA,SAAAA,IAAAD,EAAAsE,WAAArE,EAAA,GAAAD,EAAAuE,SAAAtE,EAAA,SAAAuE,WAAAC,KAAAzE,GAAA,SAAA0E,EAAAzE,GAAA,IAAAD,EAAAC,EAAA0E,YAAA,GAAA3E,EAAA4B,KAAA,gBAAA5B,EAAA6B,IAAA5B,EAAA0E,WAAA3E,EAAA,SAAAyB,EAAAxB,GAAA,KAAAuE,WAAA,EAAAJ,OAAA,SAAAnE,EAAA2C,QAAAuB,EAAA,WAAAS,OAAA,YAAAnC,EAAAzC,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAAE,EAAAF,EAAAY,GAAA,GAAAV,EAAA,OAAAA,EAAA4B,KAAA9B,GAAA,sBAAAA,EAAAiE,KAAA,OAAAjE,EAAA,IAAA6E,MAAA7E,EAAA8E,QAAA,KAAAvE,GAAA,EAAAG,EAAA,SAAAuD,IAAA,OAAA1D,EAAAP,EAAA8E,QAAA,GAAAzE,EAAAyB,KAAA9B,EAAAO,GAAA,OAAA0D,EAAAxD,MAAAT,EAAAO,GAAA0D,EAAAX,MAAA,EAAAW,EAAA,OAAAA,EAAAxD,MAAAR,EAAAgE,EAAAX,MAAA,EAAAW,GAAA,OAAAvD,EAAAuD,KAAAvD,GAAA,UAAAqD,UAAAf,EAAAhD,GAAA,2BAAAmC,EAAA/B,UAAAgC,EAAA7B,EAAAmC,EAAA,eAAAjC,MAAA2B,EAAAhB,cAAA,IAAAb,EAAA6B,EAAA,eAAA3B,MAAA0B,EAAAf,cAAA,IAAAe,EAAA4C,YAAA7D,EAAAkB,EAAApB,EAAA,qBAAAhB,EAAAgF,oBAAA,SAAA/E,GAAA,IAAAD,EAAA,mBAAAC,KAAAgF,YAAA,QAAAjF,QAAAmC,GAAA,uBAAAnC,EAAA+E,aAAA/E,EAAAkF,QAAAlF,EAAAmF,KAAA,SAAAlF,GAAA,OAAAE,OAAAiF,eAAAjF,OAAAiF,eAAAnF,EAAAmC,IAAAnC,EAAAoF,UAAAjD,EAAAlB,EAAAjB,EAAAe,EAAA,sBAAAf,EAAAG,UAAAD,OAAAqB,OAAAkB,GAAAzC,GAAAD,EAAAsF,MAAA,SAAArF,GAAA,OAAAiD,QAAAjD,IAAA0C,EAAAG,EAAA1C,WAAAc,EAAA4B,EAAA1C,UAAAU,GAAA,0BAAAd,EAAA8C,gBAAA9C,EAAAuF,MAAA,SAAAtF,EAAAC,EAAAG,EAAAE,EAAAG,QAAA,IAAAA,MAAA8E,SAAA,IAAA5E,EAAA,IAAAkC,EAAAxB,EAAArB,EAAAC,EAAAG,EAAAE,GAAAG,GAAA,OAAAV,EAAAgF,oBAAA9E,GAAAU,IAAAqD,OAAAd,MAAA,SAAAlD,GAAA,OAAAA,EAAAqD,KAAArD,EAAAQ,MAAAG,EAAAqD,WAAAtB,EAAAD,GAAAxB,EAAAwB,EAAA1B,EAAA,aAAAE,EAAAwB,EAAA9B,GAAA,0BAAAM,EAAAwB,EAAA,qDAAA1C,EAAAyF,KAAA,SAAAxF,GAAA,IAAAD,EAAAG,OAAAF,GAAAC,EAAA,WAAAG,KAAAL,EAAAE,EAAAuE,KAAApE,GAAA,OAAAH,EAAAwF,UAAA,SAAAzB,IAAA,KAAA/D,EAAA4E,QAAA,KAAA7E,EAAAC,EAAAyF,MAAA,GAAA1F,KAAAD,EAAA,OAAAiE,EAAAxD,MAAAR,EAAAgE,EAAAX,MAAA,EAAAW,EAAA,OAAAA,EAAAX,MAAA,EAAAW,IAAAjE,EAAAyC,SAAAhB,EAAArB,UAAA,CAAA6E,YAAAxD,EAAAmD,MAAA,SAAA5E,GAAA,QAAA4F,KAAA,OAAA3B,KAAA,OAAAP,KAAA,KAAAC,MAAA1D,EAAA,KAAAqD,MAAA,OAAAE,SAAA,UAAAD,OAAA,YAAA1B,IAAA5B,EAAA,KAAAuE,WAAA5B,QAAA8B,IAAA1E,EAAA,QAAAE,KAAA,WAAAA,EAAA2F,OAAA,IAAAxF,EAAAyB,KAAA,KAAA5B,KAAA2E,OAAA3E,EAAA4F,MAAA,WAAA5F,GAAAD,IAAA8F,KAAA,gBAAAzC,MAAA,MAAArD,EAAA,KAAAuE,WAAA,GAAAG,WAAA,aAAA1E,EAAA2B,KAAA,MAAA3B,EAAA4B,IAAA,YAAAmE,MAAApC,kBAAA,SAAA5D,GAAA,QAAAsD,KAAA,MAAAtD,EAAA,IAAAE,EAAA,cAAA+F,EAAA5F,EAAAE,GAAA,OAAAK,EAAAgB,KAAA,QAAAhB,EAAAiB,IAAA7B,EAAAE,EAAA+D,KAAA5D,EAAAE,IAAAL,EAAAqD,OAAA,OAAArD,EAAA2B,IAAA5B,KAAAM,EAAA,QAAAA,EAAA,KAAAiE,WAAAM,OAAA,EAAAvE,GAAA,IAAAA,EAAA,KAAAG,EAAA,KAAA8D,WAAAjE,GAAAK,EAAAF,EAAAiE,WAAA,YAAAjE,EAAA0D,OAAA,OAAA6B,EAAA,UAAAvF,EAAA0D,QAAA,KAAAwB,KAAA,KAAA9E,EAAAT,EAAAyB,KAAApB,EAAA,YAAAM,EAAAX,EAAAyB,KAAApB,EAAA,iBAAAI,GAAAE,EAAA,SAAA4E,KAAAlF,EAAA2D,SAAA,OAAA4B,EAAAvF,EAAA2D,UAAA,WAAAuB,KAAAlF,EAAA4D,WAAA,OAAA2B,EAAAvF,EAAA4D,iBAAA,GAAAxD,GAAA,QAAA8E,KAAAlF,EAAA2D,SAAA,OAAA4B,EAAAvF,EAAA2D,UAAA,YAAArD,EAAA,MAAAqC,MAAA,kDAAAuC,KAAAlF,EAAA4D,WAAA,OAAA2B,EAAAvF,EAAA4D,gBAAAT,OAAA,SAAA5D,EAAAD,GAAA,QAAAE,EAAA,KAAAsE,WAAAM,OAAA,EAAA5E,GAAA,IAAAA,EAAA,KAAAK,EAAA,KAAAiE,WAAAtE,GAAA,GAAAK,EAAA6D,QAAA,KAAAwB,MAAAvF,EAAAyB,KAAAvB,EAAA,oBAAAqF,KAAArF,EAAA+D,WAAA,KAAA5D,EAAAH,EAAA,OAAAG,IAAA,UAAAT,GAAA,aAAAA,IAAAS,EAAA0D,QAAApE,MAAAU,EAAA4D,aAAA5D,EAAA,UAAAE,EAAAF,IAAAiE,WAAA,UAAA/D,EAAAgB,KAAA3B,EAAAW,EAAAiB,IAAA7B,EAAAU,GAAA,KAAA6C,OAAA,YAAAU,KAAAvD,EAAA4D,WAAApC,GAAA,KAAAgE,SAAAtF,IAAAsF,SAAA,SAAAjG,EAAAD,GAAA,aAAAC,EAAA2B,KAAA,MAAA3B,EAAA4B,IAAA,gBAAA5B,EAAA2B,MAAA,aAAA3B,EAAA2B,KAAA,KAAAqC,KAAAhE,EAAA4B,IAAA,WAAA5B,EAAA2B,MAAA,KAAAoE,KAAA,KAAAnE,IAAA5B,EAAA4B,IAAA,KAAA0B,OAAA,cAAAU,KAAA,kBAAAhE,EAAA2B,MAAA5B,IAAA,KAAAiE,KAAAjE,GAAAkC,GAAAiE,OAAA,SAAAlG,GAAA,QAAAD,EAAA,KAAAwE,WAAAM,OAAA,EAAA9E,GAAA,IAAAA,EAAA,KAAAE,EAAA,KAAAsE,WAAAxE,GAAA,GAAAE,EAAAoE,aAAArE,EAAA,YAAAiG,SAAAhG,EAAAyE,WAAAzE,EAAAqE,UAAAG,EAAAxE,GAAAgC,IAAAkE,MAAA,SAAAnG,GAAA,QAAAD,EAAA,KAAAwE,WAAAM,OAAA,EAAA9E,GAAA,IAAAA,EAAA,KAAAE,EAAA,KAAAsE,WAAAxE,GAAA,GAAAE,EAAAkE,SAAAnE,EAAA,KAAAI,EAAAH,EAAAyE,WAAA,aAAAtE,EAAAuB,KAAA,KAAArB,EAAAF,EAAAwB,IAAA6C,EAAAxE,GAAA,OAAAK,GAAA,MAAA8C,MAAA,0BAAAgD,cAAA,SAAArG,EAAAE,EAAAG,GAAA,YAAAmD,SAAA,CAAA3C,SAAA4B,EAAAzC,GAAAgE,WAAA9D,EAAAgE,QAAA7D,GAAA,cAAAkD,SAAA,KAAA1B,IAAA5B,GAAAiC,IAAAlC,EAAA,SAAAsG,EAAAC,EAAAtD,EAAAuD,EAAAC,EAAAC,EAAAC,EAAA9E,GAAA,QAAA+E,EAAAL,EAAAI,GAAA9E,GAAApB,EAAAmG,EAAAnG,MAAA,MAAAoG,GAAA,YAAAL,EAAAK,GAAAD,EAAAtD,KAAAL,EAAAxC,GAAA+E,QAAAvC,QAAAxC,GAAA0C,KAAAsD,EAAAC,GAAA,SAAAI,EAAAC,GAAA,sBAAAC,EAAA,KAAAC,EAAAC,UAAA,WAAA1B,SAAA,SAAAvC,EAAAuD,GAAA,IAAAD,EAAAQ,EAAAI,MAAAH,EAAAC,GAAA,SAAAR,EAAAhG,GAAA6F,EAAAC,EAAAtD,EAAAuD,EAAAC,EAAAC,EAAA,OAAAjG,GAAA,SAAAiG,EAAAU,GAAAd,EAAAC,EAAAtD,EAAAuD,EAAAC,EAAAC,EAAA,QAAAU,GAAAX,OAAAY,OAAA,SAAAC,EAAAC,EAAA7G,GAAA,gBAAA6G,GAAA,GAAAC,MAAAC,QAAAF,GAAA,OAAAA,EAAAG,CAAAH,IAAA,SAAArH,EAAAyH,GAAA,IAAA1H,EAAA,MAAAC,EAAA,yBAAAS,QAAAT,EAAAS,OAAAE,WAAAX,EAAA,uBAAAD,EAAA,KAAAD,EAAAK,EAAAK,EAAAM,EAAAJ,EAAA,GAAAoB,GAAA,EAAAzB,GAAA,SAAAG,GAAAT,IAAA6B,KAAA5B,IAAA+D,KAAA,IAAA0D,EAAA,IAAAxH,OAAAF,OAAA,OAAA+B,GAAA,cAAAA,GAAAhC,EAAAU,EAAAoB,KAAA7B,IAAAqD,QAAA1C,EAAA6D,KAAAzE,EAAAS,OAAAG,EAAAkE,SAAA6C,GAAA3F,GAAA,UAAA9B,GAAAK,GAAA,EAAAF,EAAAH,EAAA,gBAAA8B,GAAA,MAAA/B,EAAA6D,SAAA9C,EAAAf,EAAA6D,SAAA3D,OAAAa,QAAA,kBAAAT,EAAA,MAAAF,GAAA,OAAAO,GAAAgH,CAAAL,EAAA7G,IAAA,SAAAH,EAAAsH,GAAA,IAAAtH,EAAA,2BAAAA,EAAA,OAAAuH,EAAAvH,EAAAsH,GAAA,IAAAxH,EAAAF,OAAAC,UAAA2H,SAAAjG,KAAAvB,GAAAuF,MAAA,iBAAAzF,GAAAE,EAAA0E,cAAA5E,EAAAE,EAAA0E,YAAAC,MAAA,WAAA7E,GAAA,QAAAA,EAAA,OAAAmH,MAAAQ,KAAAzH,GAAA,iBAAAF,GAAA,2CAAA4H,KAAA5H,GAAA,OAAAyH,EAAAvH,EAAAsH,GAAAK,CAAAX,EAAA7G,IAAA,qBAAAqD,UAAA,6IAAAoE,GAAA,SAAAL,EAAAP,EAAAa,IAAA,MAAAA,KAAAb,EAAAzC,UAAAsD,EAAAb,EAAAzC,QAAA,QAAApE,EAAA,EAAA2H,EAAA,IAAAb,MAAAY,GAAA1H,EAAA0H,EAAA1H,IAAA2H,EAAA3H,GAAA6G,EAAA7G,GAAA,OAAA2H,EA0BeC,IAxBf,SAAkBC,EAAKC,GACrB,IAA8CC,EAAAnB,EAAdoB,mBAAS,MAAK,GAAvCC,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACYI,EAAAvB,EAAdoB,mBAAS,MAAK,GAAjC7B,EAAKgC,EAAA,GAAEC,EAAQD,EAAA,GAC2BE,EAAAzB,EAAfoB,oBAAS,GAAM,GAA1CM,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAAoB,SAEnCG,EAASC,EAAAC,GAAA,OAAAC,EAAAlC,MAAC,KAADD,WAAA,SAAAmC,IAUvB,OAVuBA,EAAAvC,EAAA/G,IAAAoF,MAAxB,SAAAmE,EAAyBf,EAAKC,GAAO,IAAAe,EAAA,OAAAxJ,IAAAuB,MAAA,SAAAkI,GAAA,cAAAA,EAAA5D,KAAA4D,EAAAvF,MAAA,OAChB,OAAnBgF,GAAa,GAAMO,EAAA5D,KAAA,EAAA4D,EAAAvF,KAAA,EAEEwF,IAAMlB,EAAKC,GAAQ,OAAhCe,EAAIC,EAAA9F,KACVkF,EAAYW,GAAMC,EAAAvF,KAAA,gBAAAuF,EAAA5D,KAAA,EAAA4D,EAAAE,GAAAF,EAAA,SAElBV,EAAQU,EAAAE,IAAQ,QAEI,OAFJF,EAAA5D,KAAA,GAEhBqD,GAAa,GAAOO,EAAArD,OAAA,6BAAAqD,EAAAzD,UAAAuD,EAAA,yBAEvBnC,MAAA,KAAAD,WAMD,OAJAyC,qBAAU,WACRT,EAAUX,EAAKC,KACd,CAACD,EAAKC,IAEF,CAAEG,WAAU9B,QAAOmC,YAAWE,e,8ECnBvC,SAASU,EAAKC,GAAiC,IAA9BC,EAAOD,EAAPC,QAASC,EAAWF,EAAXE,YAAanI,EAAIiI,EAAJjI,KACrC,OACEoI,IAAAC,cAAA,OACEC,UAAS,SAAAC,OAAWvI,EAAO,UAAHuI,OAAavI,GAAS,IAC9CwI,KAAK,QACLC,YAAU,UAEVL,IAAAC,cAAA,OAAKC,UAAU,kBACbF,IAAAC,cAAA,MAAIC,UAAU,kBAAkBJ,GAChCE,IAAAC,cAAA,KAAGC,UAAU,gCAAgCH,KAMrDH,EAAMU,UAAY,CAChBR,QAASS,SAAOC,WAChBT,YAAaQ,SAAOC,WACpB5I,KAAM2I,UAGOX,O,iCC1Bf,+BAGA,SAASa,EAAOZ,GAAY,IAATa,EAAKb,EAALa,MACjB,OACEV,IAAAC,cAAA,OACEU,aAAYD,EACZR,UAAU,UACVE,KAAK,QACLC,YAAU,aAEVL,IAAAC,cAAA,OAAKC,UAAU,0BACbF,IAAAC,cAAA,OAAKC,UAAU,oBACfF,IAAAC,cAAA,OAAKC,UAAU,uCACfF,IAAAC,cAAA,OAAKC,UAAU,uCACfF,IAAAC,cAAA,OAAKC,UAAU,uCACfF,IAAAC,cAAA,OAAKC,UAAU,uCACfF,IAAAC,cAAA,OAAKC,UAAU,uCACfF,IAAAC,cAAA,OAAKC,UAAU,uCACfF,IAAAC,cAAA,OAAKC,UAAU,uCACfF,IAAAC,cAAA,OAAKC,UAAU,uCACfF,IAAAC,cAAA,OAAKC,UAAU,wCACfF,IAAAC,cAAA,OAAKC,UAAU,wCACfF,IAAAC,cAAA,OAAKC,UAAU,0CAMvBO,EAAQH,UAAY,CAClBI,MAAOH,SAAOC,YAGDC,O,qlCCjBAG,IAbf,SAAwBjE,GAAwB,IAAnBkE,EAAY3D,UAAApC,OAAA,QAAAuC,IAAAH,UAAA,GAAAA,UAAA,GAAG,GAC1C4D,EAA0BpC,mBAASqC,YAAoBpE,IAAQkE,GAAapC,EAAAnB,EAAAwD,EAAA,GAArErK,EAAKgI,EAAA,GAAEuC,EAAQvC,EAAA,GAChBwC,EAAaC,uBACjB,SAACC,GACCH,EAASG,GACTC,YAAoBzE,EAAKwE,KAE3B,CAACxE,IAGH,MAAO,CAAClG,EAAOwK,K,iCCbjB,sGAOA,IAAII,GAAmB,EACvB,GAAsB,oBAAXC,OAAwB,CACjC,IAAIC,EAAqB,CACvB,cACEF,GAAmB,IAIvBC,OAAOE,iBAAiB,cAAe,KAAMD,GAC7CD,OAAOG,oBAAoB,cAAe,KAAMF,GAGlD,IAAIG,EAAgC,oBAAXJ,QAA0BA,OAAOK,WAAaL,OAAOK,UAAUC,WAAa,iBAAiB3D,KAAKqD,OAAOK,UAAUC,WAA2C,aAA9BN,OAAOK,UAAUC,UAA2BN,OAAOK,UAAUE,eAAiB,GAGnOC,EAAQ,GACRC,GAAwB,EACxBC,GAAkB,EAClBC,OAA8B,EAC9BC,OAA2B,EAG3BC,EAAiB,SAAwBC,GAC3C,OAAON,EAAMO,MAAK,SAAUC,GAC1B,SAAIA,EAAK9D,QAAQ2D,iBAAkBG,EAAK9D,QAAQ2D,eAAeC,QAQ/DG,EAAiB,SAAwBC,GAC3C,IAAIxM,EAAIwM,GAAYlB,OAAOmB,MAM3B,QAAIN,EAAenM,EAAE0M,UAKjB1M,EAAE2M,QAAQ7H,OAAS,IAEnB9E,EAAEuM,gBAAgBvM,EAAEuM,kBAEjB,KAsBLK,EAAyB,gBACMvF,IAA7B6E,IACFW,SAASC,KAAKC,MAAMC,aAAed,EAInCA,OAA2B7E,QAGOA,IAAhC4E,IACFY,SAASC,KAAKC,MAAME,SAAWhB,EAI/BA,OAA8B5E,IA8BvB6F,EAAoB,SAA2BC,EAAe3E,GAEvE,GAAK2E,GAOL,IAAIrB,EAAMO,MAAK,SAAUC,GACvB,OAAOA,EAAKa,gBAAkBA,KADhC,CAMA,IAAIb,EAAO,CACTa,cAAeA,EACf3E,QAASA,GAAW,IAGtBsD,EAAQ,GAAG3B,OA7Ib,SAA4B5C,GAAO,GAAIC,MAAMC,QAAQF,GAAM,CAAE,IAAK,IAAI7G,EAAI,EAAG2H,EAAOb,MAAMD,EAAIzC,QAASpE,EAAI6G,EAAIzC,OAAQpE,IAAO2H,EAAK3H,GAAK6G,EAAI7G,GAAM,OAAO2H,EAAe,OAAOb,MAAMQ,KAAKT,GA6ItK6F,CAAmBtB,GAAQ,CAACQ,IAE1CZ,GACFyB,EAAcE,aAAe,SAAUZ,GACF,IAA/BA,EAAMa,cAAcxI,SAEtBkH,EAAiBS,EAAMa,cAAc,GAAGC,UAG5CJ,EAAcK,YAAc,SAAUf,GACD,IAA/BA,EAAMa,cAAcxI,QAnDX,SAAsB2H,EAAOU,GAC9C,IAAII,EAAUd,EAAMa,cAAc,GAAGC,QAAUvB,GAE3CG,EAAeM,EAAMC,UAIrBS,GAA6C,IAA5BA,EAAcM,WAAmBF,EAAU,GAX7B,SAAwCJ,GAC3E,QAAOA,GAAgBA,EAAcO,aAAeP,EAAcM,WAAaN,EAAcQ,aAezFC,CAA+BT,IAAkBI,EAAU,EAHtDhB,EAAeE,GAQxBA,EAAMoB,mBAoCAC,CAAarB,EAAOU,IAInBpB,IACHc,SAASrB,iBAAiB,YAAae,EAAgBlB,EAAmB,CAAE0C,SAAS,QAAU1G,GAC/F0E,GAAwB,IArGN,SAA2BvD,GAEjD,QAAiCnB,IAA7B6E,EAAwC,CAC1C,IAAI8B,IAAyBxF,IAA2C,IAAhCA,EAAQyF,oBAC5CC,EAAe5C,OAAO6C,WAAatB,SAASuB,gBAAgBC,YAE5DL,GAAwBE,EAAe,IACzChC,EAA2BW,SAASC,KAAKC,MAAMC,aAC/CH,SAASC,KAAKC,MAAMC,aAAekB,EAAe,WAKlB7G,IAAhC4E,IACFA,EAA8BY,SAASC,KAAKC,MAAME,SAClDJ,SAASC,KAAKC,MAAME,SAAW,UAyF/BqB,CAAkB9F,SArClB+F,QAAQ1H,MAAM,mHAyCP2H,EAA0B,WAC/B9C,GAEFI,EAAMlJ,SAAQ,SAAU0J,GACtBA,EAAKa,cAAcE,aAAe,KAClCf,EAAKa,cAAcK,YAAc,QAG/BzB,IACFc,SAASpB,oBAAoB,YAAac,EAAgBlB,EAAmB,CAAE0C,SAAS,QAAU1G,GAClG0E,GAAwB,GAI1BC,GAAkB,GAElBY,IAGFd,EAAQ,IAGC2C,EAAmB,SAA0BtB,GACjDA,GAMLrB,EAAQA,EAAM4C,QAAO,SAAUpC,GAC7B,OAAOA,EAAKa,gBAAkBA,KAG5BzB,GACFyB,EAAcE,aAAe,KAC7BF,EAAcK,YAAc,KAExBzB,GAA0C,IAAjBD,EAAMhH,SACjC+H,SAASpB,oBAAoB,YAAac,EAAgBlB,EAAmB,CAAE0C,SAAS,QAAU1G,GAClG0E,GAAwB,IAEhBD,EAAMhH,QAChB8H,KAjBA2B,QAAQ1H,MAAM,kH,2+CC1LlB,SAAS8H,EAAgB9E,GACfA,EAAR+E,SAMC,IALDlE,EAAKb,EAALa,MACAmE,EAAQhF,EAARgF,SACAC,EAAMjF,EAANiF,OACAC,EAAOlF,EAAPkF,QACGC,EAAIC,EAAApF,EAAAqF,GAEP,OACElF,IAAAC,cAAA,MAAIC,UAAU,yBACZF,IAAAC,cAAA,SAAAkF,EAAA,CACEjF,UAAU,qBACV2E,SAAUA,EACVC,OAAQA,EACRC,QAAS,kBAAMA,EAAQrE,KACnBsE,GAEHtE,IAiCT,SAAS0E,EAAUC,GAMhB,IALDC,EAAYD,EAAZC,aACAC,EAAWF,EAAXE,YACAC,EAAUH,EAAVG,WACAC,EAAaJ,EAAbI,cACA/E,EAAK2E,EAAL3E,MAEA,OACE8E,EAAa,GACXxF,IAAAC,cAAA,OAAKC,UAAU,aAAaS,aAAYD,GACtCV,IAAAC,cAAA,MAAIC,UAAU,oBACK,IAAhBqF,GACCvF,IAAAC,cAAC0E,EAAgB,CACfhE,aAAA,GAAAR,OAAesF,EAAa,KAAAtF,OAAIoF,EAAc,GAC9C7E,MACEV,IAAAC,cAAA,WACED,IAAAC,cAAA,OAAKyF,UAAU,2BAGnBX,QAAS,kBAAMO,EAAaC,EAAc,MA9CxD,SAA6BA,EAAaC,GACxC,OAAOpC,EAAI,IAAI5F,MAAMgI,IAClBG,KAAI,SAACC,EAAGC,GAAK,OAAKA,EAAQ,KAC1BnB,QAAO,SAACoB,GACP,OACa,IAAXA,GACAA,IAAWP,EAAc,GACzBO,IAAWP,EAAc,GACzBO,IAAWP,GACXO,IAAWP,EAAc,GACzBO,IAAWP,EAAc,GACzBO,IAAWN,KAOdO,SAAQ,SAACD,EAAQD,EAAOG,GACvB,OAAIH,EAAQ,GAAKC,EAAS,IAAME,EAAMH,EAAQ,GACrC,CA7CE,IA6CSC,GAGbA,KA0BFG,CAAoBV,EAAaC,GAAYG,KAAI,SAACG,GAAM,OACvD9F,IAAAC,cAAC0E,EAAgBQ,EAAA,CACfxI,IAAKmJ,EACLjB,SA7EG,MA6EOiB,EACVf,QAASO,EACT5E,MAAOoF,GACFP,IAAgBO,GAAU,CAAE,gBAAgB,GAhF9C,MAiFEA,GAAuB,CAC1B,aAAc,GAAF3F,OAAKsF,EAAa,KAAAtF,OAAI2F,SAIvCP,IAAgBC,GACfxF,IAAAC,cAAC0E,EAAgB,CACfhE,aAAA,GAAAR,OAAesF,EAAa,KAAAtF,OAAIoF,EAAc,GAC9C7E,MACEV,IAAAC,cAAA,WACED,IAAAC,cAAA,OAAKyF,UAAU,4BAGnBX,QAAS,kBAAMO,EAAaC,EAAc,QASxDH,EAAW9E,UAAY,CACrBgF,aAAcY,OAAK1F,WACnB+E,YAAaO,SAAOtF,WACpBgF,WAAYM,SAAOtF,WACnBiF,cAAelF,SAAOC,YAGT4E,O,0iDC6TAe,MApaf,SAAuBtG,GAgBpB,IAfDuG,EAASvG,EAATuG,UACAC,EAAWxG,EAAXwG,YACAC,EAAYzG,EAAZyG,aACAC,EAAW1G,EAAX0G,YACAC,EAAc3G,EAAd2G,eACAC,EAAiB5G,EAAjB4G,kBACAC,EAAiB7G,EAAjB6G,kBACAC,EAAY9G,EAAZ8G,aACAC,EAAgB/G,EAAhB+G,iBACAC,EAAYhH,EAAZgH,aACAC,EAAgBjH,EAAhBiH,iBACAC,EAAWlH,EAAXkH,YACAC,EAAWnH,EAAXmH,YACAC,EAAepH,EAAfoH,gBACAC,EAAarH,EAAbqH,cAEkDzI,EAAAnB,EAAZoB,mBAAS,IAAG,GAA3CyI,EAAW1I,EAAA,GAAE2I,EAAc3I,EAAA,GAGjCI,EAAAvB,EAF2CoB,mBAC1CwI,EAAgBA,EAAcG,MAAM,KAAO,IAC5C,GAFMC,EAAczI,EAAA,GAAE0I,EAAiB1I,EAAA,GAGeE,EAAAzB,EAAfoB,oBAAS,GAAM,GAAhD8I,EAAYzI,EAAA,GAAE0I,EAAe1I,EAAA,GACM2I,EAAApK,EAAdoB,mBAAS,MAAK,GAAnCiJ,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAClBG,EAAaC,iBAAO,MACpBC,EAAUD,iBAAO,MACjBE,EAAcF,iBAAO,MACoBG,EAAA3K,EAAfoB,oBAAS,GAAM,GAAxCwJ,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GACqBG,EAAA9K,EAAfoB,oBAAS,GAAM,GAA1C2J,EAASD,EAAA,GAAEE,EAAYF,EAAA,GACiBG,EAAAjL,EAAfoB,oBAAS,GAAM,GAAxC8J,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GACqBG,EAAApL,EAAfoB,oBAAS,GAAM,GAA1CiK,EAASD,EAAA,GAAEE,EAAYF,EAAA,GACqBG,GAAAvL,EAAfoB,oBAAS,GAAM,GAA5CoK,GAAUD,GAAA,GAAEE,GAAaF,GAAA,GACoBG,GAAA1L,EAAdoB,oBAAS,GAAK,GAA7CuK,GAAWD,GAAA,GAAEE,GAAcF,GAAA,GACeG,GAAA7L,EAAfoB,oBAAS,GAAM,GAA1C0K,GAASD,GAAA,GAAEE,GAAYF,GAAA,GACcG,GAAAhM,EAAVoB,qBAAU,GAArC6K,GAASD,GAAA,GAAEE,GAAYF,GAAA,GACxBG,GAAmB,CAAEX,WAAY,UACjCY,GAAU,CAAEZ,WAAY,WAExBa,GAAcC,YAAa,CAC/BrL,IAAK6H,IAGPyD,GAAuCvL,YAASqL,IAAxChL,GAAQkL,GAARlL,SAAU9B,GAAKgN,GAALhN,MAAOmC,GAAS6K,GAAT7K,UAEzBW,qBAAU,WACR,GAAIqI,EAAY8B,QAAS,CACvB,IAAMC,EAAW,IAAIzI,OAAO0I,sBAC1B,SAACC,GACCA,EAAQrR,SAAQ,SAACsR,GACXA,EAAMC,eACR7B,GAAa,GAEbA,GAAa,QAInB,CACE8B,KAAM,KACNC,UAAW,KAMf,OAFAN,EAASO,QAAQtC,EAAY8B,SAEtB,WACLC,EAASQ,iBAGZ,CAACvC,EAAY8B,UAEhBnK,qBAAU,WACJmJ,IACFS,GAAUiB,aAEX,CAAC1B,GAAYS,KAEhB5J,qBAAU,WAQR,OAPA8K,KAEA5H,SAASC,KAAKC,MAAQ,sBACtBzB,OAAOE,iBAAiB,SAAUiJ,IAClCnJ,OAAOE,iBAAiB,SAAUkJ,IAClCpJ,OAAOE,iBAAiB,SAAUmJ,IAE3B,WACLrJ,OAAOG,oBAAoB,SAAUgJ,IACrCnJ,OAAOG,oBAAoB,SAAUiJ,IACrCpJ,OAAOG,oBAAoB,SAAUkJ,OAEtC,CAACD,KAEJ/K,qBAAU,WACR,GAAIkI,EAAWiC,QAAS,CACtBlC,EAAUC,EAAWiC,SAErB,IAAMc,EAAOC,YAAgBhD,EAAWiC,QAAS,CAC/CgB,mBAAmB,EACnBC,WAAU,WACR7H,YAAkB2E,EAAWiC,UAE/BkB,aAAY,WACVxG,iBAIJgF,GAAaoB,MAEd,CAAC/C,EAAWiC,UAEfnK,qBAAU,WAIR,OAHIgI,GACFA,EAAOnG,iBAAiB,iBAAiB,SAACxL,GAAC,OAAKiV,GAAoBjV,MAE/D,WACD2R,GACFA,EAAOlG,oBAAoB,iBAAiB,SAACzL,GAAC,OAC5CiV,GAAoBjV,SAIzB,CAAC2R,IAEJ,IAAM8C,GAAmB,WACvBhC,EAAYnH,OAAO4J,WAAW,sBAAsBC,UAGhDC,GAAmB,SAAClQ,IACpBoM,aAAc,EAAdA,EAAgB+D,WAAU,SAACC,GAAK,OAAKA,IAAUpQ,OAAS,EAC1DqM,GAAkB,SAAC3L,GAAI,OAAKA,EAAK8I,QAAO,SAAC4G,GAAK,OAAKA,IAAUpQ,QAE7DqM,GAAkB,SAAC3L,GAAI,SAAAuE,OAAAiD,EAASxH,GAAI,CAAEV,OAExCuM,GAAgB,IAGlB9H,qBAAU,WACJ6H,IACEF,EACGkB,GACHxB,EAAY,SAAUM,GAGxBN,EAAY,SAAU,IAExBS,GAAgB,MAEjB,CAACH,EAAgBkB,EAAUxB,EAAaQ,IAE3C7H,qBAAU,WACJhB,aAAU4M,MACZtE,GAAgB,KAEjB,CAACjI,GAAWL,GAAUsI,IAEzB,IA4LmBuE,GAAAC,GA9GDC,GAAAC,GA9EZC,GAAmB,WACvBrE,GAAkB,SAAC3L,GAAI,OAAKA,EAAK8I,QAAO,SAAC4G,GAAK,MAAe,KAAVA,QACnD7D,GAAgB,IAGZoE,GAAqB,SAAC7V,GAC1BoR,EAAepR,EAAE8V,cAAcrV,OAC/B0R,GAAY,IAGR4D,GAAsB,SAAC/V,GACvBA,EAAEgW,UAAYvQ,IAAKwQ,OACrBC,MAIEA,GAAqB,WACpBhE,GAMHC,GAAY,GACZf,EAAe,IACfL,EAAY,KAPRI,IACFJ,EAAYI,GACZgB,GAAY,KASZgE,GAAkB,WAClBxD,GACF3B,EAAY,SAAUM,GACtBiC,GAAU6C,cAEVrD,IAAc,GAEhBH,GAAa,SAAChN,GAAI,OAAMA,MAGpBqP,GAAsB,SAACjV,GACtBA,EAAE8V,cAAcO,UAAUC,SAAS,+BACtCvD,IAAc,IAIZ2B,GAAwBxJ,uBAAY,WAAM,IAAAqL,EAC9ClD,IAAa,GACbH,IAAe,GAEf,IAAMsD,EAAMzE,SAAgB,QAATwE,EAAPxE,EAAS+B,eAAO,IAAAyC,OAAT,EAAPA,EAAkBE,wBAC1BD,IACEA,EAAIE,IAAMpL,OAAOqL,YAAcH,EAAII,OACrC1D,IAAe,GAEVE,IACHF,IAAe,MAIpB,CAACE,KAEEuB,GAAmB,WACvBzB,IAAe,GACfG,IAAa,IAGf,OAAIrK,GAAkBgB,IAAAC,cAACQ,IAAO,CAACC,MAAOkG,IAElC/J,GAEAmD,IAAAC,cAACL,IAAK,CACJE,QAAS+G,EACT9G,YAAa+G,EACblP,KAAK,UA+LJ4Q,EAzLLxI,IAAAC,cAAAD,IAAA6M,SAAA,KACE7M,IAAAC,cAAA,OACE6M,IAAKjF,EACL9E,MAAO+F,GAAaY,GAAUD,GAC9BvJ,UAAS,wBAAAC,OACPwI,EAAY,6BAA+B,KAG7C3I,IAAAC,cAAA,OAAKC,UAAU,2BACbF,IAAAC,cAAA,SACEC,UAAU,gCACV6M,QAAQ,gBAEPxG,GAEHvG,IAAAC,cAAA,OAAKC,UAAU,wCACbF,IAAAC,cAAA,SACEC,UAAU,gCACV8M,GAAG,eACHC,UAAW,SAACjX,GAAC,OAAK+V,GAAoB/V,IACtCkX,SAAU,SAAClX,GAAC,OAAK6V,GAAmB7V,MAEtCgK,IAAAC,cAAA,UACEC,UAAU,uCACVG,YAAU,SACVM,aAAY6F,EACZzB,QAAS,kBAAMmH,OAEflM,IAAAC,cAAA,OACEkN,MAAM,KACNP,OAAO,KACPQ,QAAQ,YACRhN,KAAK,gBAELJ,IAAAC,cAAA,OAAKyF,UAAU,wBAKvB1F,IAAAC,cAAA,OAAKC,UAAU,mCACbF,IAAAC,cAAA,OAAKC,UAAU,+BACbF,IAAAC,cAAA,MAAIC,UAAU,mCAAmCmG,IAEnDrG,IAAAC,cAAA,OAAKC,UAAU,2BACZvB,UAAc,QAAN+M,GAAR/M,GAAU4M,YAAI,IAAAG,IAAiB,QAAjBC,GAAdD,GAAgB2B,uBAAe,IAAA1B,QAAvB,EAARA,GAAiChG,KAAI,SAAC2H,GAAI,OACzCtN,IAAAC,cAAA,UACEC,WACEoH,aAAc,EAAdA,EAAgB+D,WAAU,SAACC,GAAK,OAAKA,IAAUgC,OAAS,EACpD,0DACA,yBAENC,gBACEjG,aAAc,EAAdA,EAAgB+D,WAAU,SAACC,GAAK,OAAKA,IAAUgC,OAAS,EAE1D3Q,IAAK2Q,EACLvI,QAAS,kBAAMqG,GAAiBkC,KAE/BA,QAINhG,aAAc,EAAdA,EAAgBxM,QAAS,GACxBkF,IAAAC,cAAA,UACEC,UAAU,oCACV6E,QAAS,kBAAM6G,OAEdtF,IAIPtG,IAAAC,cAAA,UACEC,UAAS,6BAAAC,OACPwI,EAAY,iCAAmC,GAAE,KAAAxI,OAC/C8I,GAAc,mCAAqC,IACvDlG,MAAO,CACLyK,QAAU7E,EAAqB,KAAT,QAExB5D,QAAS,kBAAMoH,OAEdxD,EAAS,GAAAxI,OAENsG,EAAkB,GAAKA,EAAkB,GAAK,GAAE,KAAAtG,OAC9CwG,EAAY,KAAAxG,OACdsG,EAAkB,GAAKA,EAAkB,GAAK,IAE9CC,IAGR1G,IAAAC,cAAA,UACE6M,IAAK/E,EACL7H,UAAS,6BAAAC,OACPwI,EAAY,iCAAmC,GAAE,KAAAxI,OAC/C8I,GAAc,mCAAqC,GAAE,cAAA9I,OACvDkI,EAAY,uCAAyC,IACvDtF,MAAO,CAAEyK,QAAS7E,EAAY,OAAS,MACvC5D,QAAS,kBAAMoH,OAEdxD,EAAS,GAAAxI,OAENsG,EAAkB,GAAKA,EAAkB,GAAK,GAAE,KAAAtG,OAC9CwG,EAAY,KAAAxG,OACdsG,EAAkB,GAAKA,EAAkB,GAAK,IAE9CC,GAEN1G,IAAAC,cAAA,OAAK6M,IAAK9E,EAAa9H,UAAU,8BAKnCF,IAAAC,cAAA,OAAKC,UAAU,mBACbF,IAAAC,cAAA,OAAKC,UAAU,mCACbF,IAAAC,cAAA,OAAKC,UAAU,+BACbF,IAAAC,cAAA,MAAIC,UAAU,mCAAmCmG,IAChDiB,aAAc,EAAdA,EAAgBxM,QAAS,GACxBkF,IAAAC,cAAA,UACEC,UAAU,oCACV6E,QAAS,kBAAM6G,OAEdtF,IAIPtG,IAAAC,cAAA,OAAKC,UAAU,2BACZvB,UAAc,QAAN6M,GAAR7M,GAAU4M,YAAI,IAAAC,IAAiB,QAAjBC,GAAdD,GAAgB6B,uBAAe,IAAA5B,QAAvB,EAARA,GAAiC9F,KAAI,SAAC2H,GAAI,OACzCtN,IAAAC,cAAA,UACEC,WACEoH,aAAc,EAAdA,EAAgB+D,WAAU,SAACC,GAAK,OAAKA,IAAUgC,OAAS,EACpD,0DACA,yBAENC,gBACEjG,aAAc,EAAdA,EAAgB+D,WAAU,SAACC,GAAK,OAAKA,IAAUgC,OAAS,EAE1D3Q,IAAK2Q,EACLvI,QAAS,kBAAMqG,GAAiBkC,KAE/BA,QAKTtN,IAAAC,cAAA,OAAKC,UAAU,2BACbF,IAAAC,cAAA,SAAOC,UAAU,gCAAgC6M,QAAQ,gBACtDxG,GAEHvG,IAAAC,cAAA,OAAKC,UAAU,wCACbF,IAAAC,cAAA,SACEC,UAAU,gCACV8M,GAAG,eACHC,UAAW,SAACjX,GAAC,OAAK+V,GAAoB/V,IACtCkX,SAAU,SAAClX,GAAC,OAAK6V,GAAmB7V,IACpCS,MAAO0Q,IAETnH,IAAAC,cAAA,UACEC,UAAU,uCACVG,YAAU,SACVM,aAAY6F,EACZzB,QAAS,kBAAMmH,OAEdhE,EACClI,IAAAC,cAAA,OACEkN,MAAM,KACNP,OAAO,KACPQ,QAAQ,YACRhN,KAAK,gBAELJ,IAAAC,cAAA,OAAKyF,UAAU,0BAGjB1F,IAAAC,cAAA,OACEkN,MAAM,KACNP,OAAO,KACPQ,QAAQ,YACRhN,KAAK,gBAELJ,IAAAC,cAAA,OAAKyF,UAAU,0B,wjCC1VhB+H,MArEf,SAAa5N,GAAW,IAAR6N,EAAI7N,EAAJ6N,KACRC,EAAY7F,iBAAO,MACuBrJ,EAAAnB,EAAZoB,mBAAS,IAAG,GAAzCkP,EAAUnP,EAAA,GAAEoP,EAAapP,EAAA,GAEhCkB,qBAAU,WAIR,OAHA2B,OAAOE,iBAAiB,SAAUsM,GAClCA,IAEO,kBAAMxM,OAAOG,oBAAoB,SAAUqM,MACjD,IAEH,IAAMA,EAAsB,WAAM,IAAAC,EAChCF,EAAcG,KAAKC,OAAuB,QAAjBF,EAAAJ,EAAU7D,eAAO,IAAAiE,OAAA,EAAjBA,EAAmBG,cAAe,MAG7D,OACElO,IAAAC,cAAA,WAASC,UAAU,2BAA2BiO,kBAAiBT,EAAKU,IAClEpO,IAAAC,cAAA,OAAKC,UAAU,6BACZwN,EAAKW,cACJrO,IAAAC,cAAA,OACEqO,kBAAgB,QAChBC,IAAKb,EAAKW,aACVG,IAAKd,EAAKe,gBACVtB,MAAM,KACNP,OAAO,KACP1M,UAAU,oBACVwO,QAAQ,SAIXhB,EAAKiB,aACJ3O,IAAAC,cAAA,QAAMC,UAAU,sBAAsBwN,EAAKiB,cAG/C3O,IAAAC,cAAA,OAAKC,UAAU,yBACbF,IAAAC,cAAA,QAAMC,UAAU,mBAAmBwN,EAAKkB,eACvClB,EAAKmB,gBACJ7O,IAAAC,cAAA,QAAMC,UAAU,oBAAoBwN,EAAKmB,gBAE3C7O,IAAAC,cAAA,MAAI6M,IAAKa,EAAWX,GAAIU,EAAKU,GAAIlO,UAAU,yBACzCF,IAAAC,cAAA,KACE6O,KAAMpB,EAAKqB,eACXrM,OAAQgL,EAAKsB,kBACb9O,UAAU,6BACViO,kBAAiBT,EAAKV,IAErBU,EAAKuB,eAGTvB,EAAKwB,aACJlP,IAAAC,cAAA,KACEC,UACEwN,EAAKW,aAAY,8BAAAlO,OAEbyN,EAAa,EAAIA,EAAa,GAAC,wCAAAzN,OAG/ByN,EAAa,GAAKA,EAAa,IAIpCF,EAAKwB,gB,iuECoMHC,UAzPf,SAAuBtP,GA2CpB,IAAA6L,EAAA0D,EAAA5D,EAAA6D,EAAAC,EA1CDC,EAAM1P,EAAN0P,OACAC,EAAQ3P,EAAR2P,SACApJ,EAASvG,EAATuG,UACAC,EAAWxG,EAAXwG,YACAC,EAAYzG,EAAZyG,aACAC,EAAW1G,EAAX0G,YACAE,EAAiB5G,EAAjB4G,kBACAC,EAAiB7G,EAAjB6G,kBACAjB,EAAa5F,EAAb4F,cACAgK,EAAe5P,EAAf4P,gBACAjJ,EAAc3G,EAAd2G,eACAkJ,EAAS7P,EAAT6P,UACAC,EAAW9P,EAAX8P,YACA/I,EAAgB/G,EAAhB+G,iBACAC,EAAYhH,EAAZgH,aACAC,EAAgBjH,EAAhBiH,iBACA8I,EAAe/P,EAAf+P,gBACAC,EAAmBhQ,EAAnBgQ,oBACAC,EAAejQ,EAAfiQ,gBACAC,EAAiBlQ,EAAjBkQ,kBACAC,EAAmBnQ,EAAnBmQ,oBACAC,EAAkBpQ,EAAlBoQ,mBACAC,EAAgBrQ,EAAhBqQ,iBACAC,EAAiBtQ,EAAjBsQ,kBACAC,EAAiBvQ,EAAjBuQ,kBACAC,EAAgBxQ,EAAhBwQ,iBACAC,EAAmBzQ,EAAnByQ,oBACAC,EAAuB1Q,EAAvB0Q,wBACAC,EAAe3Q,EAAf2Q,gBACAC,EAAW5Q,EAAX4Q,YACAC,EAAa7Q,EAAb6Q,cACAC,EAAe9Q,EAAf8Q,gBACAC,EAAc/Q,EAAd+Q,eACAC,EAAWhR,EAAXgR,YACAC,EAAajR,EAAbiR,cACAC,GAAYlR,EAAZkR,aACAC,GAAenR,EAAfmR,gBACAC,GAAmBpR,EAAnBoR,oBACAC,GAAWrR,EAAXqR,YACAC,GAAatR,EAAbsR,cACAC,GAAavR,EAAbuR,cACAC,GAASxR,EAATwR,UAEMC,GAAexJ,iBAAO,MACoBrJ,GAAAnB,EAAdoB,oBAAS,GAAK,GAAzC6S,GAAS9S,GAAA,GAAE+S,GAAY/S,GAAA,GACyCI,GAAAvB,EAA/BoB,oBAAS6Q,GAAsB,GAAhEkC,GAAY5S,GAAA,GAAEoI,GAAepI,GAAA,GAInC6S,GAAApU,EAHmCsD,YAClCiP,EACAW,GACD,GAHMmB,GAAUD,GAAA,GAIVE,IAJyBF,GAAA,GAO/BpU,EAHmBsD,YAClBoP,EACAW,GAAmBA,EAAgBtJ,MAAM,MAC1C,GAHe,IAITwK,GAGNvU,EAHkBsD,YACjBqP,EACAW,GAAkBA,EAAevJ,MAAM,MACxC,GAHc,GAIRyK,GAA4DxU,EAAhDsD,YAAewP,EAAmBU,GAAc,GAApD,GAIdiB,GAAAzU,EAH6BsD,YAC5BsP,EACAW,GAAeA,EAAYxJ,MAAM,MAClC,GAHM2K,GAAOD,GAAA,GAAEE,GAAUF,GAAA,GAInBG,GAAyD5U,EAA9CsD,YAAeyP,EAAkBU,IAAa,GAAlD,GACPoB,GAGN7U,EAHwBsD,YACvB2P,EACAU,IACD,GAHoB,GAIdmB,GAAkE9U,EAApDsD,YAAe0P,EAAqBU,IAAgB,GAAxD,GACgDqB,GAAA/U,EAAjCsD,YAAeuP,GAAkB,GAA1DmC,GAAQD,GAAA,GAAEtL,GAAWsL,GAAA,GAC+BE,GAAAjV,EAA/BsD,YAAegP,GAAgB,GAApD4C,GAAMD,GAAA,GAAEE,GAASF,GAAA,GACgDG,GAAApV,EAA5CsD,YAAekP,EAAiBW,GAAY,GAAjEkC,GAAMD,GAAA,GAAEE,GAASF,GAAA,GAIvBG,GAAAvV,EAH+BsD,YAC9BmP,EACAW,GACD,GAHMoC,GAAQD,GAAA,GAAEE,GAAWF,GAAA,GAKtBG,GAAqBpJ,YAAa,CACtCrL,IAAKiR,EACLyD,MAAKC,wBAAA,GACCV,IAAMW,EAAA,GAAOvD,EAAkB4C,KAC/Bb,IAAUwB,EAAA,GAAOtD,EAAsB8B,KACvCgB,IAAMQ,EAAA,GAAOrD,EAAkB6C,KAC/BG,IAAQK,EAAA,GAAOpD,EAAoB+C,KACnClB,IAASuB,EAAA,GAAOnD,EAAsB4B,KACtCC,IAAQsB,EAAA,GAAOlD,EAAqB4B,KACpCG,IAAOmB,EAAA,GAAOjD,EAAmB8B,KACjCF,IAAQqB,EAAA,GAAO/C,EAAoB0B,KACnCQ,IAAQa,EAAA,GAAOhD,EAAoBmC,KACnCJ,IAAOiB,EAAA,GAAO9C,EAAmB6B,KACjCE,IAAUe,EAAA,GAAO7C,EAAsB8B,KACvCD,IAAcgB,EAAA,GAAO5C,EAA0B4B,OAIvDtI,GAAuCvL,YAAS0U,IAAxCrU,GAAQkL,GAARlL,SAAU9B,GAAKgN,GAALhN,MAAOmC,GAAS6K,GAAT7K,UAEnBoU,GAAiB,SAACC,EAAa5c,GACnC,OAAQ4c,GACN,IAAK,OACHT,GAAUnc,GACVgc,GAAU,GACV,MACF,IAAK,SACHM,GAAYtc,GACZgc,GAAU,GACV,MACF,IAAK,SACHR,GAAWxb,GACXgc,GAAU,GACV,MACF,IAAK,OACHA,GAAUhc,GAGV8a,IAAWC,IAAa,IAe9B,OAZA7R,qBAAU,WACJhB,KAAa4S,IAEfjQ,OAAOgS,uBAAsB,eAAAC,EAAA,OAC3BjC,UAAqB,QAATiC,EAAZjC,GAAcxH,eAAO,IAAAyJ,OAAT,EAAZA,EAAuBC,eAAe,CACpCC,SAAU,SACVC,MAAO,eAIZ,CAAC/U,GAAU2S,GAAcC,KAExB1U,GAEAmD,IAAAC,cAACL,IAAK,CACJE,QAAS+G,EACT9G,YAAa+G,EACblP,KAAK,UAMToI,IAAAC,cAAAD,IAAA6M,SAAA,KACG0C,GACCvP,IAAAC,cAAC0T,EAAO,CACNvN,UAAWA,EACXC,YAAaA,EACbC,aAAcA,EACdC,YAAaA,EACbC,eAAgBA,EAChBI,iBAAkBA,EAClBC,aAAcA,EACdC,iBAAkBA,EAClBC,YAAaA,GACbC,YAAaoM,GACbnM,gBAAiBA,GACjBP,kBAAmBA,EACnBD,kBAAmBA,EAAkBY,MAAM,KAC3CV,aAAchI,cAAQ,EAARA,GAAU4M,KAAKqI,aAC7B1M,cAAe2J,KAIjBtB,GAAU6B,IACVpR,IAAAC,cAAA,MAAIC,UAAU,4BAA4BkR,IAG3CK,IACCzR,IAAAC,cAAA,OAAK6M,IAAKwE,IACRtR,IAAAC,cAAA,OAAKC,UAAU,wBACbF,IAAAC,cAAA,QACEC,UAAU,iCACVE,KAAK,QACLC,YAAU,aAET1B,cAAQ,EAARA,GAAU4M,KAAKsI,cAElB7T,IAAAC,cAAA,OAAKC,UAAU,4BACbF,IAAAC,cAAA,OAAKC,UAAU,2CACbF,IAAAC,cAAA,SAAOC,UAAU,kCACdyP,GAEH3P,IAAAC,cAAA,UACEC,UAAU,kCACVzJ,MAAOqc,GACP5F,SAAU,SAACzK,GAAK,OACd2Q,GAAe,SAAU3Q,EAAMC,OAAOjM,SAGvC0a,GAAc9J,MAAM,KAAK1B,KAAI,SAACmO,GAAM,OACnC9T,IAAAC,cAAA,UAAQtD,IAAKmX,EAAQrd,MAAOqd,GACzBA,QAKT9T,IAAAC,cAAA,OAAKC,UAAU,2CACbF,IAAAC,cAAA,SAAOC,UAAU,kCACdwP,GAEH1P,IAAAC,cAAA,UACEC,UAAU,kCACVzJ,MAAOkc,GACPzF,SAAU,SAACzK,GAAK,OACd2Q,GAAe,OAAQ3Q,EAAMC,OAAOjM,SAGrCya,GAAY7J,MAAM,KAAK1B,KAAI,SAACmO,GAAM,OACjC9T,IAAAC,cAAA,UAAQtD,IAAKmX,EAAQrd,MAAOqd,GACzBA,UAQZ9U,GACCgB,IAAAC,cAACQ,IAAO,CAACC,MAAOkG,IAEhB5G,IAAAC,cAAAD,IAAA6M,SAAA,KACE7M,IAAAC,cAAA,OAAKC,UAAU,4BACZvB,UAAc,QAAN+M,EAAR/M,GAAU4M,YAAI,IAAAG,GAAS,QAAT0D,EAAd1D,EAAgBqI,eAAO,IAAA3E,GAAvBA,EAAyBtU,OACxB6D,UAAc,QAAN6M,EAAR7M,GAAU4M,YAAI,IAAAC,GAAS,QAAT6D,EAAd7D,EAAgBuI,eAAO,IAAA1E,OAAf,EAARA,EAAyB1J,KAAI,SAAC+H,EAAM7H,GAAK,OACvC7F,IAAAC,cAACwN,EAAI,CAAC9Q,IAAKkJ,EAAO6H,KAAMA,OAG1B1N,IAAAC,cAAA,OAAKC,UAAU,+BAA+BmR,MAGjD1S,UAAc,QAAN2Q,EAAR3Q,GAAU4M,YAAI,IAAA+D,OAAN,EAARA,EAAgB0E,YAAa,GAC5BhU,IAAAC,cAACmF,IAAU,CACTG,YAAa5G,GAAS4M,KAAK0I,YAC3BzO,WAAY7G,GAAS4M,KAAKyI,WAC1BvO,cAAeA,EACfH,aAAc,SAAC4O,GACbd,GAAe,OAAQc,IAEzBxT,MAAO+O","file":"15.676800.js","sourcesContent":["import axios from 'axios';\r\nimport { useEffect, useState } from 'react';\r\n\r\nfunction useFetch(url, options) {\r\n const [response, setResponse] = useState(null);\r\n const [error, setError] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n async function fetchData(url, options) {\r\n setIsLoading(true);\r\n try {\r\n const json = await axios(url, options);\r\n setResponse(json);\r\n } catch (error) {\r\n setError(error);\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n fetchData(url, options);\r\n }, [url, options]);\r\n\r\n return { response, error, isLoading, fetchData };\r\n}\r\n\r\nexport default useFetch;\r\n","import React from 'react';\r\nimport { string } from 'prop-types';\r\n\r\n// type: string = info | warning | error\r\n\r\nfunction Alert({ heading, description, type }) {\r\n return (\r\n \r\n
\r\n

{heading}

\r\n

{description}

\r\n
\r\n \r\n );\r\n}\r\n\r\nAlert.propTypes = {\r\n heading: string.isRequired,\r\n description: string.isRequired,\r\n type: string\r\n};\r\n\r\nexport default Alert;\r\n","import React from 'react';\r\nimport { string } from 'prop-types';\r\n\r\nfunction Loading({ label }) {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nLoading.propTypes = {\r\n label: string.isRequired\r\n};\r\n\r\nexport default Loading;\r\n","import { useState, useCallback } from 'react';\r\nimport { getQueryStringValue, setQueryStringValue } from '../utils/url';\r\n\r\nfunction useQueryString(key, initialValue = '') {\r\n const [value, setValue] = useState(getQueryStringValue(key) || initialValue);\r\n const onSetValue = useCallback(\r\n (newValue) => {\r\n setValue(newValue);\r\n setQueryStringValue(key, newValue);\r\n },\r\n [key]\r\n );\r\n\r\n return [value, onSetValue];\r\n}\r\n\r\nexport default useQueryString;\r\n","function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n// Older browsers don't support event options, feature detect it.\n\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\nvar hasPassiveEvents = false;\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\n\n\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0;\n\n// returns true if `el` should be allowed to receive touchmove events.\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event;\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true;\n }\n\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true;\n\n if (e.preventDefault) e.preventDefault();\n\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n }\n\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined;\n }\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n }\n\n // disableBodyScroll must not have been called on this targetElement before\n if (locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n return;\n }\n\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n if (isIosDevice) {\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = true;\n }\n } else {\n setOverflowHidden(options);\n }\n};\n\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n\n // Reset initial clientY.\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n }\n\n locks = [];\n};\n\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (isIosDevice) {\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n } else if (!locks.length) {\n restoreOverflowSetting();\n }\n};\n\n","import React from 'react';\r\nimport { number, func, string } from 'prop-types';\r\n\r\nconst ELLIPSIS = '…';\r\n\r\nfunction PaginationButton({\r\n isActive,\r\n label,\r\n disabled,\r\n hidden,\r\n onClick,\r\n ...rest\r\n}) {\r\n return (\r\n
  • \r\n
  • \r\n );\r\n}\r\n\r\nfunction calcPaginationArray(currentPage, totalPages) {\r\n return [...new Array(totalPages)]\r\n .map((_, index) => index + 1)\r\n .filter((number) => {\r\n if (\r\n number === 1 ||\r\n number === currentPage - 2 ||\r\n number === currentPage - 1 ||\r\n number === currentPage ||\r\n number === currentPage + 1 ||\r\n number === currentPage + 2 ||\r\n number === totalPages\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n })\r\n .flatMap((number, index, array) => {\r\n if (index > 0 && number - 1 !== array[index - 1]) {\r\n return [ELLIPSIS, number];\r\n }\r\n\r\n return number;\r\n });\r\n}\r\n\r\nfunction Pagination({\r\n onPageChange,\r\n currentPage,\r\n totalPages,\r\n goToPageLabel,\r\n label\r\n}) {\r\n return (\r\n totalPages > 1 && (\r\n \r\n )\r\n );\r\n}\r\n\r\nPagination.propTypes = {\r\n onPageChange: func.isRequired,\r\n currentPage: number.isRequired,\r\n totalPages: number.isRequired,\r\n goToPageLabel: string.isRequired\r\n};\r\n\r\nexport default Pagination;\r\n","import React, { useEffect, useRef, useState, useCallback } from 'react';\n\nimport keys from '../../utils/keys';\nimport useFetch from '../../react-hooks/use-fetch';\nimport { stringifyUrl } from '../../utils/url';\nimport Alert from '../alert';\nimport Loading from '../loading';\nimport { createFocusTrap } from 'focus-trap';\nimport { clearAllBodyScrollLocks, disableBodyScroll } from 'body-scroll-lock';\n\nfunction ProjectFilters({\n facetsUrl,\n browseTitle,\n clearFilters,\n searchTitle,\n searchBtnLabel,\n mobileHideFilters,\n mobileShowFilters,\n totalResults,\n loadingDataLabel,\n errorHeading,\n errorDescription,\n setSearchQs,\n setFacetsQS,\n setFacetsLoaded,\n facetsInitial\n}) {\n const [searchValue, setSearchValue] = useState('');\n const [selectedFacets, setSelectedFacets] = useState(\n facetsInitial ? facetsInitial.split('$') : []\n );\n const [updateFacets, setUpdateFacets] = useState(false);\n const [scroll, setScroll] = useState(null);\n const projectBox = useRef(null);\n const trigger = useRef(null);\n const sentinelRef = useRef(null);\n const [searched, setSearched] = useState(false);\n const [forceHide, setForceHide] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [visibility, setVisibility] = useState(false);\n const [hideTrigger, setHideTrigger] = useState(true);\n const [scrolling, setScrolling] = useState(false);\n const [focusTrap, setFocusTrap] = useState();\n const visibilityHidden = { visibility: 'hidden' };\n const visible = { visibility: 'visible' };\n\n const fetchFacets = stringifyUrl({\n url: facetsUrl\n });\n\n const { response, error, isLoading } = useFetch(fetchFacets);\n\n useEffect(() => {\n if (sentinelRef.current) {\n const observer = new window.IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setForceHide(true);\n } else {\n setForceHide(false);\n }\n });\n },\n {\n root: null,\n threshold: 0.1 // Adjust threshold as needed\n }\n );\n\n observer.observe(sentinelRef.current);\n\n return () => {\n observer.disconnect();\n };\n }\n }, [sentinelRef.current]);\n\n useEffect(() => {\n if (visibility) {\n focusTrap.activate();\n }\n }, [visibility, focusTrap]);\n\n useEffect(() => {\n updateDimensions();\n\n document.body.style = 'overflow-x: visible';\n window.addEventListener('resize', updateDimensions);\n window.addEventListener('scroll', handleTriggerPosition);\n window.addEventListener('scroll', handleScrollStop);\n\n return () => {\n window.removeEventListener('resize', updateDimensions);\n window.removeEventListener('scroll', handleTriggerPosition);\n window.removeEventListener('scroll', handleScrollStop);\n };\n }, [handleTriggerPosition]);\n\n useEffect(() => {\n if (projectBox.current) {\n setScroll(projectBox.current);\n\n const trap = createFocusTrap(projectBox.current, {\n escapeDeactivates: true,\n onActivate() {\n disableBodyScroll(projectBox.current);\n },\n onDeactivate() {\n clearAllBodyScrollLocks();\n }\n });\n\n setFocusTrap(trap);\n }\n }, [projectBox.current]);\n\n useEffect(() => {\n if (scroll) {\n scroll.addEventListener('transitionend', (e) => handleTransitionEnd(e));\n }\n return () => {\n if (scroll) {\n scroll.removeEventListener('transitionend', (e) =>\n handleTransitionEnd(e)\n );\n }\n };\n }, [scroll]);\n\n const updateDimensions = () => {\n setIsMobile(window.matchMedia('(max-width: 899px)').matches);\n };\n\n const handleFacetClick = (name) => {\n if (selectedFacets?.findIndex((facet) => facet === name) > -1) {\n setSelectedFacets((prev) => prev.filter((facet) => facet !== name));\n } else {\n setSelectedFacets((prev) => [...prev, name]);\n }\n setUpdateFacets(true);\n };\n\n useEffect(() => {\n if (updateFacets) {\n if (selectedFacets) {\n if (!isMobile) {\n setFacetsQS('facets', selectedFacets);\n }\n } else {\n setFacetsQS('facets', []);\n }\n setUpdateFacets(false);\n }\n }, [selectedFacets, isMobile, setFacetsQS, updateFacets]);\n\n useEffect(() => {\n if (response?.data) {\n setFacetsLoaded(true);\n }\n }, [isLoading, response, setFacetsLoaded]);\n\n const handleFacetClear = () => {\n setSelectedFacets((prev) => prev.filter((facet) => facet === ''));\n setUpdateFacets(true);\n };\n\n const handleSearchUpdate = (e) => {\n setSearchValue(e.currentTarget.value);\n setSearched(false);\n };\n\n const handleSearchKeyDown = (e) => {\n if (e.keyCode === keys.enter) {\n handleSearchSubmit();\n }\n };\n\n const handleSearchSubmit = () => {\n if (!searched) {\n if (searchValue) {\n setSearchQs(searchValue);\n setSearched(true);\n }\n } else {\n setSearched(false);\n setSearchValue('');\n setSearchQs('');\n }\n };\n\n const handleShowModal = () => {\n if (openModal) {\n setFacetsQS('facets', selectedFacets);\n focusTrap.deactivate();\n } else {\n setVisibility(true);\n }\n setOpenModal((prev) => !prev);\n };\n\n const handleTransitionEnd = (e) => {\n if (!e.currentTarget.classList.contains('project-filters__box--show')) {\n setVisibility(false);\n }\n };\n\n const handleTriggerPosition = useCallback(() => {\n setScrolling(true);\n setHideTrigger(true);\n\n const pos = trigger?.current?.getBoundingClientRect();\n if (pos) {\n if (pos.top < window.innerHeight - pos.height) {\n setHideTrigger(true);\n } else {\n if (!scrolling) {\n setHideTrigger(false);\n }\n }\n }\n }, [scrolling]);\n\n const handleScrollStop = () => {\n setHideTrigger(false);\n setScrolling(false);\n };\n\n if (isLoading) return ;\n\n if (error) {\n return (\n \n );\n }\n\n const renderMobile = () => (\n <>\n \n
    \n \n {searchTitle}\n \n
    \n handleSearchKeyDown(e)}\n onChange={(e) => handleSearchUpdate(e)}\n />\n handleSearchSubmit()}\n >\n \n \n \n \n
    \n
    \n
    \n
    \n

    {browseTitle}

    \n
    \n
    \n {response?.data?.areasOfInterest?.map((area) => (\n facet === area) >= 0\n ? 'project-filters__facet project-filters__facet--selected'\n : 'project-filters__facet'\n }\n aria-pressed={\n selectedFacets?.findIndex((facet) => facet === area) >= 0\n }\n key={area}\n onClick={() => handleFacetClick(area)}\n >\n {area}\n \n ))}\n
    \n {selectedFacets?.length > 0 && (\n handleFacetClear()}\n >\n {clearFilters}\n \n )}\n
    \n handleShowModal()}\n >\n {openModal\n ? `${\n mobileHideFilters[0] ? mobileHideFilters[0] : ''\n } ${totalResults} ${\n mobileHideFilters[1] ? mobileHideFilters[1] : ''\n }`\n : mobileShowFilters}\n \n
    \n handleShowModal()}\n >\n {openModal\n ? `${\n mobileHideFilters[0] ? mobileHideFilters[0] : ''\n } ${totalResults} ${\n mobileHideFilters[1] ? mobileHideFilters[1] : ''\n }`\n : mobileShowFilters}\n \n
    \n \n );\n\n const renderDesktop = () => (\n
    \n
    \n
    \n

    {browseTitle}

    \n {selectedFacets?.length > 0 && (\n handleFacetClear()}\n >\n {clearFilters}\n \n )}\n
    \n
    \n {response?.data?.areasOfInterest?.map((area) => (\n facet === area) >= 0\n ? 'project-filters__facet project-filters__facet--selected'\n : 'project-filters__facet'\n }\n aria-pressed={\n selectedFacets?.findIndex((facet) => facet === area) >= 0\n }\n key={area}\n onClick={() => handleFacetClick(area)}\n >\n {area}\n \n ))}\n
    \n
    \n
    \n \n
    \n handleSearchKeyDown(e)}\n onChange={(e) => handleSearchUpdate(e)}\n value={searchValue}\n />\n handleSearchSubmit()}\n >\n {searched ? (\n \n \n \n ) : (\n \n \n \n )}\n \n
    \n
    \n
    \n );\n\n return isMobile ? renderMobile() : renderDesktop();\n}\n\nexport default ProjectFilters;\n","import { remove } from 'lodash';\nimport React, { useRef, useEffect, useState } from 'react';\n\nfunction Card({ item }) {\n const cardTitle = useRef(null);\n const [lineNumber, setLineNumber] = useState(10);\n\n useEffect(() => {\n window.addEventListener('resize', calculateLineNumber);\n calculateLineNumber();\n\n return () => window.removeEventListener('resize', calculateLineNumber);\n }, []);\n\n const calculateLineNumber = () => {\n setLineNumber(Math.floor(cardTitle.current?.offsetHeight / 24));\n };\n\n return (\n
    \n
    \n {item.ProjectImage && (\n \n )}\n\n {item.ProjectFlag && (\n {item.ProjectFlag}\n )}\n
    \n
    \n {item.ProjectSchool}\n {item.ProjectProgram && (\n {item.ProjectProgram}\n )}\n

    \n \n {item.ProjectTitle}\n \n

    \n {item.ProjectCopy && (\n \n {item.ProjectCopy}\n

    \n )}\n
    \n
    \n );\n}\n\nexport default Card;\n","import React, { useEffect, useRef, useState } from 'react';\n\nimport useFetch from '../../react-hooks/use-fetch';\nimport { stringifyUrl } from '../../utils/url';\nimport Filters from './filters';\nimport Alert from '../alert';\nimport useQueryString from '../../react-hooks/use-query-string';\nimport Loading from '../loading';\nimport Pagination from '../pagination';\nimport Card from './card';\n\nfunction ProjectListing({\n facets,\n fetchUrl,\n facetsUrl,\n browseTitle,\n clearFilters,\n searchTitle,\n mobileHideFilters,\n mobileShowFilters,\n goToPageLabel,\n paginationLabel,\n searchBtnLabel,\n sortLabel,\n degreeLabel,\n loadingDataLabel,\n errorHeading,\n errorDescription,\n pageQueryString,\n pageSizeQueryString,\n sortQueryString,\n degreeQueryString,\n programsQueryString,\n schoolsQueryString,\n areasQueryString,\n searchQueryString,\n filterQueryString,\n fixedQueryString,\n projectsQueryString,\n relatedpagesQueryString,\n pageSizeInitial,\n sortInitial,\n degreeInitial,\n programsInitial,\n schoolsInitial,\n areaInitial,\n filterInitial,\n fixedInitial,\n projectsInitial,\n relatedpagesInitial,\n sortOptions,\n degreeOptions,\n optionalTitle,\n noResults\n}) {\n const containerRef = useRef(null);\n const [firstTime, setFirstTime] = useState(true);\n const [facetsLoaded, setFacetsLoaded] = useState(facets ? false : true);\n const [pageSizeQs, setPageSizeQs] = useQueryString(\n pageSizeQueryString,\n pageSizeInitial\n );\n const [programQs] = useQueryString(\n programsQueryString,\n programsInitial && programsInitial.split('$')\n );\n const [schoolQs] = useQueryString(\n schoolsQueryString,\n schoolsInitial && schoolsInitial.split('$')\n );\n const [filterQs] = useQueryString(filterQueryString, filterInitial);\n const [areasQs, setAreasQs] = useQueryString(\n areasQueryString,\n areaInitial && areaInitial.split('$')\n );\n const [fixedQs] = useQueryString(fixedQueryString, fixedInitial);\n const [relatedPagesQs] = useQueryString(\n relatedpagesQueryString,\n relatedpagesInitial\n );\n const [projectsQs] = useQueryString(projectsQueryString, projectsInitial);\n const [searchQs, setSearchQs] = useQueryString(searchQueryString);\n const [pageQs, setPageQs] = useQueryString(pageQueryString);\n const [sortQs, setSortQs] = useQueryString(sortQueryString, sortInitial);\n const [degreeQs, setDegreeQs] = useQueryString(\n degreeQueryString,\n degreeInitial\n );\n\n const fetchUrlWithParams = stringifyUrl({\n url: fetchUrl,\n query: {\n ...(pageQs && { [pageQueryString]: pageQs }),\n ...(pageSizeQs && { [pageSizeQueryString]: pageSizeQs }),\n ...(sortQs && { [sortQueryString]: sortQs }),\n ...(degreeQs && { [degreeQueryString]: degreeQs }),\n ...(programQs && { [programsQueryString]: programQs }),\n ...(schoolQs && { [schoolsQueryString]: schoolQs }),\n ...(areasQs && { [areasQueryString]: areasQs }),\n ...(filterQs && { [filterQueryString]: filterQs }),\n ...(searchQs && { [searchQueryString]: searchQs }),\n ...(fixedQs && { [fixedQueryString]: fixedQs }),\n ...(projectsQs && { [projectsQueryString]: projectsQs }),\n ...(relatedPagesQs && { [relatedpagesQueryString]: relatedPagesQs })\n }\n });\n\n const { response, error, isLoading } = useFetch(fetchUrlWithParams);\n\n const setQueryString = (queryString, value) => {\n switch (queryString) {\n case 'sort':\n setSortQs(value);\n setPageQs(1);\n break;\n case 'degree':\n setDegreeQs(value);\n setPageQs(1);\n break;\n case 'facets':\n setAreasQs(value);\n setPageQs(1);\n break;\n case 'page':\n setPageQs(value);\n break;\n }\n if (firstTime) setFirstTime(false);\n };\n\n useEffect(() => {\n if (response && !firstTime) {\n // wait until container is painted to scroll to top\n window.requestAnimationFrame(() =>\n containerRef?.current?.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n })\n );\n }\n }, [response, containerRef, firstTime]);\n\n if (error) {\n return (\n \n );\n }\n\n return (\n <>\n {facets && (\n \n )}\n\n {!facets && optionalTitle && (\n

    {optionalTitle}

    \n )}\n\n {facetsLoaded && (\n
    \n
    \n \n {response?.data.ResultsLabel}\n \n
    \n
    \n \n \n setQueryString('degree', event.target.value)\n }\n >\n {degreeOptions.split('$').map((option) => (\n \n ))}\n \n
    \n
    \n \n \n setQueryString('sort', event.target.value)\n }\n >\n {sortOptions.split('$').map((option) => (\n \n ))}\n \n
    \n
    \n
    \n\n {isLoading ? (\n \n ) : (\n <>\n
    \n {response?.data?.Results?.length ? (\n response?.data?.Results?.map((item, index) => (\n \n ))\n ) : (\n
    {noResults}
    \n )}\n
    \n {response?.data?.TotalPages > 1 && (\n {\n setQueryString('page', page);\n }}\n label={paginationLabel}\n />\n )}\n \n )}\n
    \n )}\n \n );\n}\n\nexport default ProjectListing;\n"],"sourceRoot":""}