{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/Change.js","webpack:///./src/site.prod.js","webpack:///./src/js/theme.js","webpack:///./src/js/DDTemplates.js","webpack:///./src/js/Drupal.js","webpack:///./src/js/Header.js","webpack:///./src/js/Sticky.js","webpack:///./src/js/Gallery.js","webpack:///./src/js/Toolbar.js","webpack:///./src/js/Menu.js","webpack:///./src/js/SmartFooter.js","webpack:///./src/js/CalendarFeed.js","webpack:///./src/js/FixNavigation.js","webpack:///./src/js/TermNavigation.js","webpack:///./src/js/Viewport.js","webpack:///./src/js/Search.js","webpack:///./src/js/Columns.js","webpack:///./src/js/AccordionWrap.js","webpack:///./src/js/AccordionFix.js","webpack:///./src/js/AccordionContainer.js","webpack:///./src/js/Placeholder.js","webpack:///./src/js/Banner.js","webpack:///./src/js/BackgroundImage.js","webpack:///./src/js/ResourcesSelect.js","webpack:///./src/js/RemoveLink.js","webpack:///./src/js/Slider.Sponsors.js","webpack:///./src/js/Slick.PlayPauseControls.js","webpack:///./src/js/Events.js","webpack:///./src/js/BrowserCheck.js","webpack:///./src/js/ResourcesTemplate.js","webpack:///./src/js/SelectAlpha.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","Change","_classCallCheck3","default","this","change","ticking","listen","callbacks","fire","request","requestAnimationFrame","update","callback","$","Callbacks","add","_jquery2","on","Drupal","behavior","context","$body","document","body","DDTemplates","each","element","browserCheck","BrowserCheck","FixNavigation","Sticky","Menu","Toolbar","search","Search","removeClass","Header","addClass","$footprint","SmartFooter","setTimeout","banner","Banner","BackgroundImage","destSelector","hasClass","find","columns","Columns","item","parent","blockName","resourcesCols","Events","TermNavigation","Gallery","accordionWrap","AccordionWrap","AccordionFix","accordionContainer","AccordionContainer","placeholder","Placeholder","trim","removeLink","RemoveLink","CalendarFeed","useFilters","filters","CAPIO Calendar","Partner Calendar","All Events","filterSelect","ResourcesSelect","sliderSponsors","SliderSponsors","resourcesTemplate","ResourcesTemplate","selectAlpha","SelectAlpha","$map","$nav","digitaldcoreCreateSiteMap","defaults","photoGalleryPID","behaviors","itemAppearsIn","fullNodeRelatedLinks","bundledReferringContent","overviews","subtermOverviews","lexiconGlossary","nodeMeta","imageCaptions","slideshowIcons","expandingDates","options","isNodeView","isNode","settings","_assign2","defineApplicableBehaviors","is","view","_this","node","term","global","forEach","addEnabledBehavior","$appearingNav","$relatedLinks","$block","a","$node","$items","$visible","map","getComputedStyle","getPropertyValue","filter","b","meta","$meta","$dates","$link","event","preventDefault","toggleClass","currentTarget","text","insertBefore","eq","$container","appendTo","append","$image","title","attr","$field","parents","caption","$wrapper","remove","after","wrapAll","image","$img","before","$context","children","unwrap","letter","replace","html","toUpperCase","documentIsReady","fn","ready","DrupalAMD","offset","tolerance","classes","initial","pinned","unpinned","top","notTop","bottom","notBottom","onPin","onUnpin","onTop","onNotTop","onBottom","onNotBottom","headroom","Headroom","init","$element","register","onChange","innerHeight","height","speed","fade","autoplay","autoplaySpeed","dots","arrows","slidesToShow","slidesToScroll","responsive","breakpoint","$gallery","build","slick","delay","selectors","menu","close","input","timer","TickTock","getBody","$menuBtn","getBtn","$closeBtn","$searchBtn","$searchBox","getBox","searchText","getText","menuHandler","closeHandler","searchHandler","resetSearchInput","type","$searchText","$input","val","active","doTimeout","typeOutPlaceholderText","_this2","setInterval","substr","focus","clear","MobileMenu","$roots","getRootMenus","onClick","displayActiveMenus","target","Footer","outerHeight","storageKey","paginationLabel","filtersLabel","filterByPostTypes","defaultFilters","All","getFilters","buildCalendar","createFilters","currentYear","currentMonth","$group","post","$post","oDates","datetime","date","_moment2","month","format","mon","day","dow","year","start","toLowerCase","$year","$tile","markup","isSameMonth","end","isSameDay","isSameYear","next","$posts","types","ids","id","getDefaultData","getCustomizedData","currentFilter","sessionStorage","getItem","hash","location","decodeURIComponent","$filter","$filterInner","$show","inArray","$filters","not","stop","animate","opacity","setItem","$shown","nextUntil","$ctrl","filterHandler","trigger","_types","_ids","regex","test","exec","indexes","aTypes","aResults","parseInt","index","indexOf","sort","process","$parent","$children","$menus","getMenus","onHeaderClick","proxy","setCurrentState","addPatties","$filteredMenus","has","Viewport","mobileState","onMenuClick","prepend","getCurrentState","addListeners","state","innerWidth","currentState","previousState","changeCallbacks","mobileCallbacks","desktopCallbacks","requestTick","mobileActive","desktopActive","outerWidth","prependTo","interval","undefined","divider","addIndexes","total","numLinks","Math","ceil","createCols","stripe","addBack","getClasses","status","getStatus","$classes","elemClasses","split","substring","$status","selector","click","setVert","stopPropagation","isVisible","topOffset","documentElement","scrollTop","e","elementTop","elementBottom","viewportTop","viewportBottom","elem","label","closest","sourceSelector","isPseudo","addBackgroundImage","getSource","src","css","$links","$select","$list","$options","option","select2","hide","params","open","unlink","removeAttr","infinite","pauseOnFocus","waitForAnimate","rows","slidesPerRow","Slider","relocateControls","$slickContainer","addSlick","controls","addControls","SlickPlayPauseControls","attachTo","slideDown","slickInstance","slickContainer","playBtn","pauseBtn","play","pause","onBreakpointChange","$playBtn","addPlayBtn","$pauseBtn","addPauseBtn","setCurrentBreakpointState","verify","error","slickControls","createElement","$slickControls","removeControls","off","paused","setPlayState","setPauseState","$activeBreakpoint","activeBreakpoint","$autoplay","breakpointSettings","yr","browserArr","uagent","navigator","userAgent","match","chrome","firefox","msie","safari","opr","browser","version","_keys2","matchCheck","RegExp","newMatch","opera","viewName","buttonVal","FileListTemplate","reset","truncateOptions","show","newText","url","href","baseUrl","tA","selectedId","$txt","$val","op","Option"],"mappings":"aACA,SAAAA,EAAAC,GAQA,IAPA,IAMAC,EAAAC,EANAC,EAAAH,EAAA,GACAI,EAAAJ,EAAA,GACAK,EAAAL,EAAA,GAIAM,EAAA,EAAAC,KACQD,EAAAH,EAAAK,OAAoBF,IAC5BJ,EAAAC,EAAAG,GACAG,EAAAP,IACAK,EAAAG,KAAAD,EAAAP,GAAA,IAEAO,EAAAP,GAAA,EAEA,IAAAD,KAAAG,EACAO,OAAAC,UAAAC,eAAAC,KAAAV,EAAAH,KACAc,EAAAd,GAAAG,EAAAH,IAKA,IAFAe,KAAAhB,GAEAO,EAAAC,QACAD,EAAAU,OAAAV,GAOA,OAHAW,EAAAR,KAAAS,MAAAD,EAAAb,OAGAe,IAEA,SAAAA,IAEA,IADA,IAAAC,EACAf,EAAA,EAAiBA,EAAAY,EAAAV,OAA4BF,IAAA,CAG7C,IAFA,IAAAgB,EAAAJ,EAAAZ,GACAiB,GAAA,EACAC,EAAA,EAAkBA,EAAAF,EAAAd,OAA2BgB,IAAA,CAC7C,IAAAC,EAAAH,EAAAE,GACA,IAAAf,EAAAgB,KAAAF,GAAA,GAEAA,IACAL,EAAAQ,OAAApB,IAAA,GACAe,EAAAM,IAAAC,EAAAN,EAAA,KAGA,OAAAD,EAIA,IAAAQ,KAKApB,GACAqB,EAAA,GAGAZ,KAGA,SAAAS,EAAA1B,GAGA,GAAA4B,EAAA5B,GACA,OAAA4B,EAAA5B,GAAA8B,QAGA,IAAAC,EAAAH,EAAA5B,IACAK,EAAAL,EACAgC,GAAA,EACAF,YAUA,OANAhB,EAAAd,GAAAa,KAAAkB,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAnB,EAGAY,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACA1B,OAAA6B,eAAAT,EAAAM,GAA0CI,YAAA,EAAAC,IAAAJ,KAK1CX,EAAAgB,EAAA,SAAAZ,GACA,oBAAAa,eAAAC,aACAlC,OAAA6B,eAAAT,EAAAa,OAAAC,aAAwDC,MAAA,WAExDnC,OAAA6B,eAAAT,EAAA,cAAiDe,OAAA,KAQjDnB,EAAAoB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAnB,EAAAmB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,iBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAvC,OAAAwC,OAAA,MAGA,GAFAxB,EAAAgB,EAAAO,GACAvC,OAAA6B,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAAnB,EAAAS,EAAAc,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAvB,EAAA2B,EAAA,SAAAtB,GACA,IAAAM,EAAAN,KAAAiB,WACA,WAA2B,OAAAjB,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAgB,EAAAC,GAAsD,OAAA7C,OAAAC,UAAAC,eAAAC,KAAAyC,EAAAC,IAGtD7B,EAAA8B,EAAA,GAEA,IAAAC,EAAAC,OAAA,aAAAA,OAAA,iBACAC,EAAAF,EAAAhD,KAAA2C,KAAAK,GACAA,EAAAhD,KAAAX,EACA2D,IAAAG,QACA,QAAAvD,EAAA,EAAgBA,EAAAoD,EAAAlD,OAAuBF,IAAAP,EAAA2D,EAAApD,IACvC,IAAAU,EAAA4C,EAIA1C,EAAAR,MAAA,OAEAU,0HCtJAO,EAAA,2DAEMmC,aACJ,SAAAA,KAAc,EAAAC,EAAAC,SAAAC,KAAAH,GACZG,KAAKC,OAASD,KAAKC,OAAOb,KAAKY,MAC/BA,KAAKE,SAAU,EACfF,KAAKG,+DAILH,KAAKE,SAAU,EACXF,KAAKI,WACPJ,KAAKI,UAAUC,wCAKjBL,KAAKM,4CAIAN,KAAKE,UACRK,sBAAsBP,KAAKQ,OAAOpB,KAAKY,OACvCA,KAAKE,SAAU,oCAIVO,GAKP,OAJKT,KAAKI,YACRJ,KAAKI,UAAYM,UAAEC,UAAU,WAE/BX,KAAKI,UAAUQ,IAAIH,GACZT,uCAIP,EAAAa,EAAAd,SAAEL,QAAQoB,GAAG,kCAAmCd,KAAKC,2BAI1C,IAAIJ,4CCxCnBnC,EAAA,IACAA,EAAA,kCCDA,QAAAA,EAAA,QAEAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SACAA,EAAA,SAEAA,EAAA,SACAA,EAAA,wDAGAqD,UAAOC,SAAS,SAACC,GAEf,IAAMC,GAAQ,EAAAL,EAAAd,SAAEoB,SAASC,KAAMH,GAI/B,IAAII,UAAYJ,GAGhBC,EAAMI,KAAK,SAACjF,EAAGkF,GACRA,EAAQC,eACXD,EAAQC,aAAe,IAAIC,UAAaF,OAK5C,EAAAV,EAAAd,SAAE,iCAAkCkB,GAASK,KAAK,SAACjF,EAAGkF,GAC/CA,EAAQG,gBACXH,EAAQG,cAAgB,IAAIA,UAAcH,OAK9C,EAAAV,EAAAd,SAAE,gBAAiBkB,GAASK,KAAK,SAACjF,EAAGkF,GAC9BA,EAAQI,SACXJ,EAAQI,OAAS,IAAIA,UAAOJ,OAKhC,EAAAV,EAAAd,SAAE,sBAAuBkB,GAASK,KAAK,SAACjF,EAAGkF,GACpCA,EAAQK,OAEXL,EAAQK,KAAO,IAAIA,UAAKL,OAK5B,EAAAV,EAAAd,SAAE,WAAYkB,GAASK,KAAK,SAACjF,EAAGkF,GACzBA,EAAQM,UACXN,EAAQM,QAAU,IAAIA,UAAQN,OAKlC,EAAAV,EAAAd,SAAE,aAAckB,GAASK,KAAK,SAACjF,EAAGkF,GAC3BA,EAAQO,SACXP,EAAQO,OAAS,IAAIC,UAAOR,OAKhC,EAAAV,EAAAd,SAAE,WAAYkB,GAAS7B,KAAK,QAAS,WACnC8B,EAAMc,YAAY,gCAIpB,EAAAnB,EAAAd,SAAE,YAAakB,GAASK,KAAK,SAACjF,EAAGkF,GAC1BA,EAAQU,SACXV,EAAQU,OAAS,IAAIA,UAAOV,IAC5B,EAAAV,EAAAd,SAAEwB,GAASW,SAAS,aAKxB,EAAArB,EAAAd,SAAE,eAAgBkB,GAASK,KAAK,SAACjF,EAAGkF,GAClC,IAAMY,GAAa,EAAAtB,EAAAd,SAAE,aAAckB,IAC9BM,EAAQa,aAAeD,EAAW5F,QACrC8F,WAAW,WACTd,EAAQa,YAAc,IAAIA,UAAYb,EAASY,IAC9C,QAKP,EAAAtB,EAAAd,SAAE,UAAWkB,GAASK,KAAK,SAACjF,EAAGkF,GACxBA,EAAQe,SAEXf,EAAQe,OAAS,IAAIC,UAAOhB,GAC5BA,EAAQe,OAAS,IAAIE,UAAgBjB,OAGzC,EAAAV,EAAAd,SAAE,iFAAkFkB,GAASK,KAAK,SAACjF,EAAGkF,GAC/FA,EAAQe,SACXf,EAAQe,OAAS,IAAIE,UAAgBjB,GACnCkB,aAAc,kBAGdvB,EAAMwB,SAAS,WACjBxB,EAAMyB,KAAK,aAAaT,SAAS,SACjChB,EAAMyB,KAAK,kBAAkBT,SAAS,aAK1C,EAAArB,EAAAd,SAAE,eAAgBkB,GAASK,KAAK,SAACjF,EAAGkF,GAC7BA,EAAQqB,UACXrB,EAAQqB,QAAU,IAAIC,UAAQtB,GAC5BqB,QAAS,EACTE,KAAM,aACNC,OAAQ,gBACRC,UAAW,oBAejB,EAAAnC,EAAAd,SAAE,eAAgBkB,GAASK,KAAK,SAACjF,EAAGkF,GAC7BA,EAAQ0B,gBACX1B,EAAQ0B,cAAgB,IAAIJ,UAAQtB,GAClCqB,QAAS,EACTE,KAAM,aACNC,OAAQ,gBACRC,UAAW,oBAMjB,EAAAnC,EAAAd,SAAE,qCAAsCkB,GAASK,KAAK,SAACjF,EAAGkF,GACnDA,EAAQ2B,SACX3B,EAAQ2B,OAAS,IAAIA,UAAO3B,OAKhC,EAAAV,EAAAd,SAAE,YAAakB,GAASK,KAAK,SAACjF,EAAGkF,GAC1BA,EAAQ4B,iBACX5B,EAAQ4B,eAAiB,IAAIA,UAAe5B,OAKhD,EAAAV,EAAAd,SAAE,6FAA8FkB,GAASK,KAAK,SAACjF,EAAGkF,GAC3GA,EAAQ6B,UACX7B,EAAQ6B,QAAU,IAAIA,UAAQ7B,OAKlC,EAAAV,EAAAd,SAAE,qBAAsBkB,GAASK,KAAK,SAACjF,EAAGkF,GACnCA,EAAQ8B,gBACX9B,EAAQ8B,cAAgB,IAAIC,UAAc/B,GAC1CA,EAAQ8B,cAAgB,IAAIE,UAAahC,OAK7C,EAAAV,EAAAd,SAAE,gBAAiBkB,GAASK,KAAK,SAACjF,EAAGkF,GAC9BA,EAAQiC,oBACXnB,WAAW,WACTd,EAAQiC,mBAAqB,IAAIC,UAAmBlC,IACnD,QAKP,EAAAV,EAAAd,SAAE,wBAAyBkB,GAASK,KAAK,SAACjF,EAAGkF,GACtCA,EAAQmC,cACXnC,EAAQmC,YAAc,IAAIC,UAAYpC,GACpCqC,MAAM,QAoBZ,EAAA/C,EAAAd,SAAE,yDAA0DkB,GAASK,KAAK,SAACjF,EAAGkF,GACvEA,EAAQsC,aACXtC,EAAQsC,WAAa,IAAIC,UAAWvC,OAKxC,EAAAV,EAAAd,SAAE,iBAAkBkB,GAASK,KAAK,SAACjF,EAAGkF,GAC/BA,EAAQwC,eACXxC,EAAQwC,aAAe,IAAIA,UAAaxC,GACtCyC,YAAY,EACZC,SACEC,iBAAkB,EAClBC,mBAAoB,IACpBC,aAAc,SAOtB,EAAAvD,EAAAd,SAAE,kBAAmBkB,GAASK,KAAK,SAACjF,EAAGkF,GAEhCA,EAAQ8C,eACX9C,EAAQ8C,aAAe,IAAIC,UAAgB/C,GACzCmC,YAAa,mBAMnB,EAAA7C,EAAAd,SAAE,+BAAgCkB,GAASK,KAAK,SAACjF,EAAGkF,GAC7CA,EAAQgD,iBACXhD,EAAQgD,eAAiB,IAAIC,UAAejD,OAKhD,EAAAV,EAAAd,SAAE,+BAAgCkB,GAASK,KAAK,SAACjF,EAAGkF,GAC7CA,EAAQkD,oBACXlD,EAAQkD,kBAAoB,IAAIC,UAAkBnD,OAKtD,EAAAV,EAAAd,SAAE,wCAAyCkB,GAASK,KAAK,SAACjF,EAAGkF,GACtDA,EAAQoD,cACXpD,EAAQoD,YAAc,IAAIC,UAAYrD,MAI1CL,EAAMgB,SAAS,WACfG,WAAW,WACTnB,EAAMgB,SAAS,YACd,KAGH,IAAM2C,GAAO,EAAAhE,EAAAd,SAAE,WAAYkB,GACrB6D,GAAO,EAAAjE,EAAAd,SAAE,oBAAqBkB,GAEhC4D,EAAKtI,QAAUuI,EAAKvI,SACtBwE,UAAOgE,0BAA0BF,EAAMC,GACvCD,EAAK3C,SAAS,iIC1RlBxE,EAAA,uDAEA,IAAMsH,GACJC,gBAAiB,IACjBC,WACEC,eAAe,EACfC,sBAAsB,EACtBC,yBAAyB,EACzBC,WAAW,EACXC,kBAAkB,EAClBC,iBAAiB,EACjBC,UAAU,EACVC,eAAe,EACfC,gBAAgB,EAChBC,gBAAgB,IAICvE,aACnB,SAAAA,EAAYJ,EAAS4E,IAAS,EAAA/F,EAAAC,SAAAC,KAAAqB,GAC5BrB,KAAKiB,QAAUA,EACfjB,KAAK8F,WAAa9F,KAAK+F,SACvB/F,KAAKgG,UAAW,EAAAC,EAAAlG,YAAkBiF,EAAUa,GAE5C7F,KAAKkG,0BAA0B,SAAUlG,KAAKiB,SAE9CjB,KAAKkG,0BAA0BlG,KAAK8F,WAAa,OAAS,OAAQ9F,KAAKiB,+DAOvE,OAAO,EAAAJ,EAAAd,SAAEoB,SAASC,KAAMpB,KAAKiB,SAASkF,GAAG,uEAOjBC,GAAM,IAAAC,EAAArG,OAE5BsG,MACE,gBACA,uBACA,2BAEFC,MACE,YACA,mBACA,mBAEFC,QACE,WACA,gBACA,iBACA,oBAKMJ,GAAMK,QAAQ,SAACzF,GACvBqF,EAAKK,mBAAmB1F,gDAOTA,GACDhB,KAAKgG,SAASd,UAAUlE,IAEtChB,KAAKgB,GAAUnE,KAAKmD,8CAQtB,IAAM2G,GAAgB,EAAA9F,EAAAd,SAAE,iBAAkBC,KAAKiB,SAChC0F,EAAchE,KAAK,eACtBpG,QACVoK,EAAczE,SAAS,oEAQzB,IACM0E,GADc,EAAA/F,EAAAd,SAAE,kCAAmCC,KAAKiB,SAC5B0B,KAAK,eACtBiE,EAAcjE,KAAK,6BAA6BpG,QAG/DqK,EAAc1E,SAAS,wEAQT,EAAArB,EAAAd,SAAE,uEAAwEC,KAAKiB,SACvFK,KAAK,SAACjF,EAAGkF,GACf,IAAMsF,GAAS,EAAAhG,EAAAd,SAAEwB,GACFsF,EAAOlE,KAAK,gBACfpG,QACVsK,EAAO3E,SAAS,2DASL,EAAArB,EAAAd,SAAE,QAASC,KAAKiB,SACxBK,KAAK,SAACwF,EAAGR,GAEd,IAAMS,GAAQ,EAAAlG,EAAAd,SAAEuG,GAEVU,EADQD,EAAMpE,KAAK,oBACJA,KAAK,cAG1BqE,EAAOhF,YAAY,QAGnB,IAAMiF,EAAWD,EAAOE,IAAI,SAAC7K,EAAGyG,GAG9B,MAAmB,SAFLpD,OAAOyH,iBAAiBrE,GAChBsE,iBAAiB,WACXtE,EAAO,OAIjCmE,EAAS1K,SACXwK,EAAM7E,SAAS,YACf+E,EAASI,OAAO,SAASnF,SAAS,oFAgBtC,EAAArB,EAAAd,SAAE,2BAA4BC,KAAKiB,SAASK,KAAK,SAACwF,EAAGR,IACnD,EAAAzF,EAAAd,SAAE,+BAAgCuG,GAAMhF,KAAK,SAACgG,EAAGC,GAC/C,IAAMC,GAAQ,EAAA3G,EAAAd,SAAEwH,GACVE,GAAS,EAAA5G,EAAAd,SAAE,cAAeuG,GAEhC,GAAImB,EAAOlL,OAAS,EAAG,CAErB,IAAMmL,GAAQ,EAAA7G,EAAAd,SAAE,mEAChB2H,EAAMtI,KAAK,QAAS,SAACuI,GACnBA,EAAMC,iBACNJ,EAAMK,YAAY,mBAClB,EAAAhH,EAAAd,SAAE4H,EAAMG,eAAeC,KAAKP,EAAMrB,GAAG,mBAAqB,iBAAmB,oBAE/EuB,EAAMM,aAAaP,EAAOQ,GAAG,IAG7B,IAAMC,GAAa,EAAArH,EAAAd,SAAE,iCACrB0H,EAAOU,SAASD,GAChBV,EAAMY,OAAOF,iDAWnB,EAAArH,EAAAd,SAAE,0BAA2BC,KAAKiB,SAASK,KAAK,SAACjF,EAAGkF,GAClD,IAAM8G,GAAS,EAAAxH,EAAAd,SAAEwB,GACX+G,EAAQD,EAAOE,KAAK,SAE1B,GAAID,EAAM/L,OAAQ,CAChB,IAAMiM,EAASH,EAAOI,QAAQ,gBACxBC,2BAAmCJ,EAAnC,UACAK,EAAWH,EAAO7F,KAAK,KAG7B6F,EAAO7F,KAAK,YAAYiG,SAGxBP,EAAOQ,MAAMH,GAERC,EAASpM,QACZiM,EAAO7F,KAAK,iBAAiBmG,QAAQ,YAIvCN,EAAOtG,SAAS,4DASI,EAAArB,EAAAd,SAAA,MAAQC,KAAKgG,SAASf,gBAAtB,eAAqDjF,KAAKiB,SAElEK,KAAK,SAACwF,EAAGvF,IACP,EAAAV,EAAAd,SAAEwB,GAASoB,KAAK,gBAExBrB,KAAK,SAACgG,EAAGyB,GACf,IAAMC,GAAO,EAAAnI,EAAAd,SAAEgJ,GAAOpG,KAAK,QAE3B,EAAA9B,EAAAd,SAAEgJ,GAAOpG,KAAK,KAAKT,SAAS,iBAE5B8G,EAAKC,OAAO,0EAShB,IAAMC,GAAW,EAAArI,EAAAd,SAAEC,KAAKiB,SACpBiI,EAAS3M,QACX2M,EAASvG,KAAK,4BAA4BwG,WAAWC,qDAQvD,EAAAvI,EAAAd,SAAE,iCAAkCC,KAAKiB,SAASe,YAAY,WAAWE,SAAS,uDAOlF,EAAArB,EAAAd,SAAE,YAAaC,KAAKiB,SAAS0B,KAAK,qBAAqBrB,KAAK,SAACjF,EAAGkF,GAC9D,IAAM8H,GAAS,EAAAxI,EAAAd,SAAEwB,GAASgH,KAAK,MAAMe,QAAQ,UAAW,KACxD,EAAAzI,EAAAd,SAAEwB,GAASgI,KAAKF,EAAOG,oCAxORnI,2GCjBrB,wDAAA3D,EAAA,IAEA,IAAIwH,SACAuE,GAAkB,EAWtB1I,OAAOC,SAAW,SAA2B0I,GAwB3C,OAvBKxE,IACHA,EAAYxE,UAAEC,YACd8I,GAAkB,GAElB,EAAA5I,EAAAd,SAAEoB,UAAUwI,MAAM,WAChBF,GAAkB,EAClBvE,EAAU7E,KAAKc,UAIfzB,OAAOqB,OAAOmE,UAAU0E,UAAY,SAAmB3I,GACrDiE,EAAU7E,KAAKY,OAOjBwI,GACFC,EAAGvI,UAGL+D,EAAUtE,IAAI8I,GACP1J,gBAGMe,wGC1CfrD,EAAA,QACAA,EAAA,wDAGA,IAAMsI,GAEJ6D,OAAQ,GAERC,UAAW,EAEXC,SAEEC,QAAS,WAETC,OAAQ,SAERC,SAAU,WAEVC,IAAK,MAELC,OAAQ,UAERC,OAAQ,SAERC,UAAW,cAGbC,MAvBe,YAwBb,EAAA1J,EAAAd,SAAEoB,SAASC,MAAMc,SAAS,UAAUF,YAAY,aAGlDwI,QA3Be,YA4Bb,EAAA3J,EAAAd,SAAEoB,SAASC,MAAMc,SAAS,YAAYF,YAAY,WAGpDyI,MA/Be,YAgCb,EAAA5J,EAAAd,SAAEoB,SAASC,MAAMc,SAAS,OAAOF,YAAY,YAG/C0I,SAnCe,YAoCb,EAAA7J,EAAAd,SAAEoB,SAASC,MAAMc,SAAS,WAAWF,YAAY,QAGnD2I,SAvCe,aAyCfC,YAzCe,wBA6Cf,SAAA3I,EAAYV,IAAS,EAAAzB,EAAAC,SAAAC,KAAAiC,GAEnB,IAAM4I,EAAW,IAAIC,UAASvJ,EAASyE,GAIvC,OAFA6E,EAASE,OAEFF,+GCvDXnN,EAAA,QACAA,EAAA,wDAEA,IAEqBiE,aACnB,SAAAA,EAAYJ,IAAS,EAAAzB,EAAAC,SAAAC,KAAA2B,GACnB3B,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKiL,mEAILpL,UAAOqL,SAASlL,KAAKQ,OAAOpB,KAAKY,wCAUjC,OANIN,OAAOyL,YAdA,IAcuBnL,KAAKgL,SAASI,SAC9CpL,KAAKgL,SAAS9I,SAAS,UAEvBlC,KAAKgL,SAAShJ,YAAY,UAGrBhC,wBAlBU2B,uHCLrBjE,EAAA,uDACAA,EAAA,IAEA,IAAMsH,GACJqG,MAAO,IACPC,MAAM,EACNC,UAAU,EACVC,cAAe,IACfC,MAAM,EACNC,QAAQ,EACRC,aAAc,EACdC,eAAgB,EAChBC,aAEIC,WAAY,IACZ9F,UACE0F,QAAQ,MAMKtI,aACnB,SAAAA,EAAY7B,EAASsE,IAAS,EAAA/F,EAAAC,SAAAC,KAAAoD,GAC5BpD,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,YAAkBiF,EAAUa,GAC5C7F,KAAK+L,SAAW/L,KAAKgM,QACrBhM,KAAK2J,6DAIL,OAAO3J,KAAKgL,SAASiB,MAAMjM,KAAKgG,0CAIhChG,KAAKgL,SAAS9I,SAAS,4BAdNkB,6GCtBrB1F,EAAA,QACAA,EAAA,wDAEA,IAAMsI,GACJkG,MAAO,IACPC,WACEC,KAAM,aACNtK,OAAQ,eACRuK,MAAO,cACPtE,KAAM,iBACNuE,MAAO,mBAIUzK,aACnB,SAAAA,EAAYN,EAASN,IAAS,EAAAnB,EAAAC,SAAAC,KAAA6B,GAC5B7B,KAAKiB,QAAUA,EACfjB,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,SAAWA,EAChBhG,KAAKuM,MAAQ,IAAIC,UACjBxM,KAAKkB,MAAQlB,KAAKyM,UAClBzM,KAAK0M,SAAW1M,KAAK2M,OAAO,QAC5B3M,KAAK4M,UAAY5M,KAAK2M,OAAO,SAC7B3M,KAAK6M,WAAa7M,KAAK2M,OAAO,UAC9B3M,KAAK8M,WAAa9M,KAAK+M,OAAO9L,GAC9BjB,KAAKgN,WAAahN,KAAKiN,QAAQhM,GAC/BjB,KAAKkN,YAAclN,KAAKkN,YAAY9N,KAAKY,MACzCA,KAAKmN,aAAenN,KAAKmN,aAAa/N,KAAKY,MAC3CA,KAAKoN,cAAgBpN,KAAKoN,cAAchO,KAAKY,MAC7CA,KAAKqN,iBAAmBrN,KAAKqN,iBAAiBjO,KAAKY,MACnDA,KAAKG,gEAGK,OAAO,EAAAU,EAAAd,SAAEoB,SAASC,KAAMpB,KAAKiB,wCAElCqM,GAAQ,OAAO,EAAAzM,EAAAd,SAAEC,KAAKgG,SAASmG,UAAUmB,GAAOtN,KAAKuB,yCAEpDN,GACN,IAAMsM,GAAc,EAAA1M,EAAAd,SAAEC,KAAKgG,SAASmG,UAAUpE,KAAM9G,GAE9C+L,EAAaO,EAAYhF,KAAK,SAEpC,OADAgF,EAAYhF,KAAK,SACVyE,iCAGF/L,GACL,IAAMuM,GAAS,EAAA3M,EAAAd,SAAEC,KAAKgG,SAASmG,UAAUG,MAAOrL,GAEhD,OADAuM,EAAOC,IAAI,IACJD,wCAIQxN,KAAKkB,MAAMiF,GAAG,gBAE3BnG,KAAKkB,MAAMc,YAAY,gBAEvBhC,KAAKkB,MAAMgB,SAAS,eACpBlC,KAAKkB,MAAMyB,KAAX,2BAA2C3C,KAAKgG,SAASmG,UAAUG,OAAS/D,KAAK,cAAe,WAElGvI,KAAKkB,MAAMmG,OAAO,kBAAkBrF,YAAY,qEAGlC,IAAAqE,EAAArG,KACR0N,EAAS1N,KAAKkB,MAAMiF,GAAG,kBAC7BnG,KAAKkB,MAAMmG,OAAO,gBAAgBrF,YAAY,eAC1C0L,GACF1N,KAAKkB,MAAMc,YAAY,iBAEvBhC,KAAK8M,WAAWa,UAAU,SAC1B3N,KAAK8M,WAAWa,UAAU,YAE1B3N,KAAKkB,MAAMgB,SAAS,iBACpBlC,KAAK8M,WAAWvE,KAAK,cAAe,IAEpCvI,KAAKuM,MAAMlK,WAAW,QAAS,WAC7BgE,EAAKuH,0BACJ,6CAKD5N,KAAKkB,MAAMiF,GAAG,iBAChBnG,KAAKkN,cAEHlN,KAAKkB,MAAMiF,GAAG,mBAChBnG,KAAKoN,iEAIgB,IAAAS,EAAA7N,KACnB3D,EAAI,EACH2D,KAAK8M,WAAWW,MAAMlR,QACzByD,KAAKuM,MAAMuB,YAAY,SAAU,WAC3BzR,GAAKwR,EAAKb,WAAWzQ,QACvBsR,EAAKf,WAAWvE,KAAK,cAAesF,EAAKb,WAAWe,OAAO,EAAG1R,IAAI2R,QAClE3R,GAAK,GAELwR,EAAKtB,MAAM0B,MAAM,WAElB,+CAODjO,KAAKgN,aAAehN,KAAK8M,WAAWW,OACtCzN,KAAK8M,WAAWW,IAAI,qCAKtBzN,KAAK0M,SAAStN,KAAK,QAASY,KAAKkN,aACjClN,KAAK4M,UAAUxN,KAAK,QAASY,KAAKmN,cAClCnN,KAAK6M,WAAWzN,KAAK,iBAAkBY,KAAKoN,eAG5CpN,KAAK8M,WAAW1N,KAAK,aAAcY,KAAKqN,qCAxGvBxL,iHCdrBnE,EAAA,2DAEqBwQ,aACnB,SAAAA,EAAY3M,IAAS,EAAAzB,EAAAC,SAAAC,KAAAkO,GACnBlO,KAAKuB,QAAUA,EACfvB,KAAKmO,OAASnO,KAAKoO,eACnBpO,KAAKqO,QAAUrO,KAAKqO,QAAQjP,KAAKY,MACjCA,KAAKsO,qBACLtO,KAAKG,qEAIL,OAAO,EAAAU,EAAAd,SAAEC,KAAKuB,SAASoB,KAAK,6CAItBgF,IACe,EAAA9G,EAAAd,SAAE4H,EAAM4G,QAAQpI,GAAG,iBAEtC,EAAAtF,EAAAd,SAAE4H,EAAMG,eAAeD,YAAY,UACnCF,EAAMC,gEAKR,EAAA/G,EAAAd,SAAE,uCAAwCC,KAAKuB,SAASW,SAAS,2CAIjElC,KAAKmO,OAAOrN,GAAG,QAASd,KAAKqO,4BA3BZH,6GCFrBxQ,EAAA,QACAA,EAAA,4DAEqB8Q,aACnB,SAAAA,EAAYjN,EAASY,IAAY,EAAArC,EAAAC,SAAAC,KAAAwO,GAC/BxO,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKmC,WAAaA,EAClBnC,KAAKiL,WACLjL,KAAKQ,SACLR,KAAK2J,gEAIL9J,UAAOqL,SAASlL,KAAKQ,OAAOpB,KAAKY,wCAIjCA,KAAKmC,WAAWiJ,OAAOpL,KAAKgL,SAASyD,+CAIrCzO,KAAKgL,SAAS9I,SAAS,4BAlBNsM,uHCHrB9Q,EAAA,QACAA,EAAA,wDAEA,IAAMsH,GAEJ0J,WAAY,wBAGZC,gBAAiB,mBAGjBC,aAAc,eAGdC,mBAAmB,EAGnB7K,YAAY,EAMZC,SAAS,GAKL6K,GACJC,IAAK,GAGchL,aACnB,SAAAA,EAAYxC,EAASsE,IAAS,EAAA/F,EAAAC,SAAAC,KAAA+D,GAC5B/D,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,YAAkBiF,EAAUa,GAC5C7F,KAAKiE,QAAUjE,KAAKgP,aACpBhP,KAAKiP,gBACDjP,KAAKgG,SAAShC,YAChBhE,KAAKkP,6EAKP,IAEIC,EAAc,KACdC,EAAe,GACfC,SAJWrP,KAAKgL,SAASrI,KAAK,SAO3BrB,KAAK,SAACjF,EAAGiT,GACd,IAAMC,GAAQ,EAAA1O,EAAAd,SAAEuP,GAEVE,KAgBN,GAbA9O,UAAEY,MAJa,QAAS,OAIV,SAAC/D,EAAG+P,GAChB,IAAMmC,EAAWF,EAAM5M,KAAN,QAAmB2K,GAAQ/E,KAAK,YAC3CmH,GAAO,EAAAC,EAAA5P,SAAO0P,GACpBD,EAAOlC,IACLsC,MAAOF,EAAKG,OAAO,QACnBC,IAAKJ,EAAKG,OAAO,OACjBE,IAAKL,EAAKG,OAAO,KACjBG,IAAKN,EAAKG,OAAO,OACjBI,KAAMP,EAAKG,OAAO,WAKlBL,EAAOU,MAAMN,MAAMrT,QAAU6S,IAAiBI,EAAOU,MAAMN,QAC7DR,EAAeI,EAAOU,MAAMN,OAC5BP,GAAS,EAAAxO,EAAAd,SA3BC,8BA4BHmC,SAASsN,EAAOU,MAAMN,MAAMO,eACnCd,EAAOjH,OAAP,2BAAyCoH,EAAOU,MAAMN,MAAtD,SACAL,EAAMtG,OAAOoG,GAGTG,EAAOU,MAAMD,MAAQT,EAAOU,MAAMD,KAAOd,GAAa,CACxD,IAAMiB,GAAQ,EAAAvP,EAAAd,SAAA,4BAA8ByP,EAAOU,MAAMD,KAA3C,WACdZ,EAAOpG,OAAOmH,GACdjB,EAAcK,EAAOU,MAAMD,KAK/B,IAAMI,EAAQd,EAAM5M,KAAK,oBACnB2N,EAAS,SAAAvU,GAAA,mCAAqCA,EAAKiU,IAA1C,8BAA2EjU,EAAK+T,IAAhF,4BAA+G/T,EAAKgU,IAApH,WAIf,GAHAM,EAAM1N,KAAK,cAAc4G,KAAK+G,EAAOd,EAAOU,QAGxCG,EAAMlK,GAAG,UAAW,CACtB,IAAMoK,EAAcf,EAAOU,MAAMN,QAAUJ,EAAOgB,IAAIZ,MAChDa,EAAYjB,EAAOU,MAAMH,MAAQP,EAAOgB,IAAIT,IAC5CW,EAAalB,EAAOU,MAAMD,OAAST,EAAOgB,IAAIP,KAGhDM,GAAeE,GAAaC,GAC9BnB,EAAMrN,SAAS,aAIbqO,IAAgBE,GAAaC,IAC/BnB,EAAMrN,SAAS,sBACfmO,EAAM1N,KAAK,mBAAmBoF,KAAQyH,EAAOU,MAAMH,IAAnD,IAA0DP,EAAOgB,IAAIT,MAIlEQ,GAAgBG,IACnBnB,EAAMrN,SAAS,wBACfmO,EAAM1N,KAAK,YAAY4G,KAAK+G,EAAOd,EAAOgB,OAK9CjB,EAAMpH,SAASkH,MAIjB,EAAAxO,EAAAd,SAAE,gBAAiBC,KAAKgL,UAAUjD,KAAK/H,KAAKgG,SAAS2I,iBAGrD3O,KAAKgL,SAAS9I,SAAS,+CAGXyF,GACZA,EAAMC,kBACN,EAAA/G,EAAAd,SAAEC,MAAM2Q,KAAK,YAAY9I,YAAY,iDAKrC,IAAI9L,EAAOiE,KAAKgG,SAAS/B,QAAUjE,KAAKgG,SAAS/B,QAAU6K,EAK3D,OAHI9O,KAAKgG,SAAS6I,oBAChB9S,EAAO+S,GAEF/S,0CAGO,IAAAsK,EAAArG,KACNgL,EAAahL,KAAbgL,SACF4F,EAAS5F,EAASrI,KAAK,SACvBuF,GAAa,EAAArH,EAAAd,SAAE,+BAGjB8Q,KACAC,KAGJpQ,UAAEY,KAAKtB,KAAKiE,QAAS,SAACqJ,EAAMyD,GAC1BF,EAAMpU,KAAK6Q,GACXwD,EAAIrU,KAAKsU,KAKX,IAAMhV,EAAOiE,KAAKgG,SAAS6I,kBACvB7O,KAAKgR,eAAeH,EAAOC,GAC3B9Q,KAAKiR,kBAAkBJ,EAAOC,GAG/BD,EAAU9U,EAAV8U,MACAC,EAAQ/U,EAAR+U,IAGH,IAAII,EAAgBC,eAAeC,QAAQpR,KAAKgG,SAAS0I,aAAeoC,EAAI,GAGtEO,EAAS3R,OAAO4R,SAAhBD,KACFA,EAAK9U,OAAS,IAChB8U,EAAOA,EAAKtD,OAAO,GACnBsD,EAAOE,mBAAmBF,IAI5B3Q,UAAEY,KAAKuP,EAAO,SAACxU,EAAGiR,GAChB,IAAMkE,GAAU,EAAA3Q,EAAAd,SAjCH,8BAkCP0R,GAAe,EAAA5Q,EAAAd,SAjCH,oCAmCZgR,EAAKD,EAAIzU,GAIXgV,EAAK9U,QAAU8U,EAAKlB,gBAAkB7C,EAAK6C,gBAC7Ce,EAAgBH,GAIlBU,EAAa1J,KAAKuF,GAGlBkE,EAAQtP,SAAR,QAAyB6O,GAGzBS,EAAQpJ,OAAOqJ,GACfvJ,EAAWE,OAAOoJ,GAGlBA,EAAQpS,KAAK,QAAS,SAACuI,GAErB,IAAI+J,EAAQd,EAGC,eAATtD,IAEAoE,EADW,qBAATpE,EACMsD,EAAOvJ,OACb,SAAC9J,EAAGgE,GAAJ,OAA6E,IAA7Db,UAAEiR,QAAQ,oBAAoB,EAAA9Q,EAAAd,SAAEwB,GAASxF,KAAK,YAGxD6U,EAAOvJ,OACb,SAAC9J,EAAGgE,GAAJ,OAA+D,IAA/Cb,UAAEiR,QAAQrE,GAAM,EAAAzM,EAAAd,SAAEwB,GAASxF,KAAK,aAMtD,IAAM6V,EAAW5G,EAASrI,KAAK,oBAC/BiP,EAASC,IAAIlK,EAAMG,eAAe9F,YAAY,UAC9C4P,EAASvK,OAAOM,EAAMG,eAAe5F,SAAS,UAG9C0O,EAAOiB,IAAIH,GAAOI,MAAK,GAAM,GAAMC,SACjCC,QAAS,OACT5G,OAAQ,QACP,KAAKpJ,YAAY,QAGpB0P,EAAMI,MAAK,GAAM,GAAMC,SACrBC,QAAS,OACT5G,OAAQ,QACP,KAAKlJ,SAAS,QAGjBiP,eAAec,QAAQ5L,EAAKL,SAAS0I,WAAYqC,GACjDG,EAAgBH,EAGhB/F,EAASrI,KAAK,UAAUrB,KAAK,SAAC/D,EAAGgE,GAC/B,IAAM2Q,GAAS,EAAArR,EAAAd,SAAE,aAAcwB,GACzBnE,EAAS8U,EAAO3V,OAAS,OAAS,OAGpC2V,EAAO3V,QACT,EAAAsE,EAAAd,SAAEwB,GAASW,SAAS,SAEpB,EAAArB,EAAAd,SAAEwB,GAASS,YAAY,SAIzB,EAAAnB,EAAAd,SAAEwB,GAASuQ,MAAK,GAAM,GAAMC,SAC1BC,QAAS5U,EACTgO,OAAQhO,GACP,OAIL4N,EAASrI,KAAK,eAAerB,KAAK,SAAC/D,EAAGgE,GACpC,IACMnE,GADS,EAAAyD,EAAAd,SAAEwB,GAAS4Q,UAAU,eAAe9K,OAAO,SACpC9K,OAAS,OAAS,QACxC,EAAAsE,EAAAd,SAAEwB,GAASuQ,MAAK,GAAM,GAAMC,SAC1BC,QAAS5U,EACTgO,OAAQhO,GACP,WAMT,IAAMgV,GAAQ,EAAAvR,EAAAd,SAAA,oBAAsBC,KAAKgG,SAAS4I,aAApC,SACdwD,EAAMhT,KAAK,QAASY,KAAKqS,eAGzBrH,EAASrI,KAAK,gBAAgByF,OAAOgK,EAAOlK,GAG5C8C,EAASrI,KAAT,gBAA8BuO,GAAiBoB,QAAQ,gDAG1CC,EAAQC,GAAM,IAIrB3B,EAAQ0B,EACRzB,EAAM0B,EAmCZ,OAvCqBxS,KAAbgL,SACgBrI,KAAK,SAOtBrB,KAAK,SAACjF,EAAGiT,GACd,IAAMC,GAAQ,EAAA1O,EAAAd,SAAEuP,GAGZhC,GAAO,EAAAzM,EAAAd,SAAE,aAAcuP,GAAMvH,OAGpB,UAATuF,IACFA,EAAO,OAGT,IAAIyD,EAAK,EACHhH,EAAUwF,EAAMhH,KAAK,SACrBkK,EAAQ,gBAGVA,EAAMC,KAAK3I,KAEbgH,EAAK0B,EAAME,KAAK5I,GAAS,KAIK,IAA5BrJ,UAAEiR,QAAQrE,EAAMuD,KAClBA,EAAMpU,KAAK6Q,GACXwD,EAAIrU,KAAKsU,IAIXxB,EAAMxT,KAAK,SAAUuR,OAIrBuD,QACAC,iDAIcyB,EAAQC,GAAM,IAGxB3B,KACAC,KAGA8B,KA8CN,OApDqB5S,KAAbgL,SACgBrI,KAAK,SAStBrB,KAAK,SAACjF,EAAGiT,GACd,IAAMC,GAAQ,EAAA1O,EAAAd,SAAEuP,GACVvF,EAAUwF,EAAMhH,KAAK,SACrBkK,EAAQ,oBACRI,KAGNA,EAAOpW,MAAK,EAAAoE,EAAAd,SAAE,aAAcuP,GAAMvH,QAGhB,UAAd8K,EAAO,KACTA,EAAO,GAAK,OAOd,IAFA,IAAIC,SAEwC,QAApCA,EAAWL,EAAME,KAAK5I,KAAoB,CAChD,IAAM3M,EAAS2V,SAASD,EAAS,GAAI,IACrC,IAAiC,IAA7BpS,UAAEiR,QAAQvU,EAAQoV,GAAc,CAClC,IAAMQ,EAAQR,EAAKS,QAAQ7V,IAEQ,IAA/BsD,UAAEiR,QAAQqB,EAAOJ,IACnBA,EAAQnW,KAAKuW,GAGfH,EAAOpW,KAAK8V,EAAOS,KAKvBzD,EAAMxT,KAAK,QAAS8W,KAKtBnS,UAAEY,KAAKsR,EAAQM,OAAQ,SAAC7W,EAAG2W,GACzBnC,EAAMpU,KAAK8V,EAAOS,IAClBlC,EAAIrU,KAAK+V,EAAKQ,OAIdnC,QACAC,0BA5Ve/M,8GChCrBrG,EAAA,2DAEqBgE,aACnB,SAAAA,EAAYH,IAAS,EAAAzB,EAAAC,SAAAC,KAAA0B,GACnB1B,KAAKuB,QAAUA,EACfvB,KAAKmT,UACLnT,KAAK2J,gEAIL,EAAA9I,EAAAd,SAAE,qCAAsCC,KAAKuB,SAASD,KAAK,SAACjF,EAAGyG,GAE7D,IAAMsQ,GAAU,EAAAvS,EAAAd,SAAE+C,GAAMqG,SAAS,KAC5BiK,EAAQ7W,SAAU6W,EAAQjN,GAAG,aAChC,EAAAtF,EAAAd,SAAE+C,GAAM8F,SAIV,IAAIyK,GAAY,EAAAxS,EAAAd,SAAE,YAAa+C,IAC1BsQ,EAAQjN,GAAG,YAAckN,EAAU9W,SAEtC8W,EAAUlK,SAAS,YAAYpG,SAAS6F,SAExCyK,EAAUhM,OAAO,UAAUuB,UAE3ByK,GAAY,EAAAxS,EAAAd,SAAE,YAAa+C,IAGZvG,UACb,EAAAsE,EAAAd,SAAE+C,GAAMd,YAAY,kCACpB,EAAAnB,EAAAd,SAAE+C,GAAMH,KAAK,MAAMiG,8CAOzB,EAAA/H,EAAAd,SAAEC,KAAKuB,SAASW,SAAS,4BAnCRR,iFCFrB,QAAAhE,EAAA,QACAA,EAAA,wDAEA,SAASyF,EAAe5B,GACtBvB,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKsT,OAAStT,KAAKuT,WACnBvT,KAAKwT,cAAgB9S,UAAE+S,MAAMzT,KAAKwT,cAAexT,MACjDA,KAAK0T,kBACL1T,KAAK2T,aACL3T,KAAKG,SACLH,KAAK2J,QAGPxG,EAAexG,WACb4W,SADyB,WAEvB,IAAMD,EAAStT,KAAKgL,SAASrI,KAAK,4BAC5BiR,EAAiBN,EAAOO,IAAI,QAGlC,OAFAP,EAAOtR,YAAY,YACnB4R,EAAe1R,SAAS,YACjB0R,GAETJ,cARyB,SAQX7L,GACRmM,UAASC,cACX/T,KAAKgL,SAASnD,YAAY,YAC1BF,EAAMC,mBAGVoM,YAdyB,SAcbrM,IACe,EAAA9G,EAAAd,SAAE4H,EAAM4G,QAAQpI,GAAG,iBAE1C,EAAAtF,EAAAd,SAAEC,MAAM+C,SAAS8E,YAAY,sBAC7BF,EAAMC,mBAGV+L,WArByB,WAuBvB3T,KAAKgL,SAASrI,KAAK,kBAAkBsR,QADrB,sFAGlBP,gBAzByB,WA2BvB1T,KAAKsT,OAAOzB,IAAI,iBAAiBhK,YAAY,uBAE/C1H,OA7ByB,WA+BvBH,KAAKsT,OAAO3Q,KAAK,QAAQvD,KAAK,QAASY,KAAKgU,aAE5ChU,KAAKgL,SAASrI,KAAK,kBAAkBvD,KAAK,QAASY,KAAKwT,gBAE1D7J,MAnCyB,WAoCvB3J,KAAKgL,SAAS9I,SAAS,qBAIZiB,6GCtDfzF,EAAA,uDAEA,IAEMoW,aACJ,SAAAA,KAAc,EAAAhU,EAAAC,SAAAC,KAAA8T,GACZ9T,KAAKC,OAASD,KAAKC,OAAOb,KAAKY,MAC/BA,KAAK+T,YAAc/T,KAAKkU,kBACxBlU,KAAKE,SAAU,EACfF,KAAKmU,4EAGSC,GACdpU,KAAK+T,YAAcK,4CAMnB,OAAO1U,OAAO2U,WAjBC,sCAqBfrU,KAAKE,SAAU,EACf,IAAMoU,EAAetU,KAAKkU,kBACpBK,EAAgBvU,KAAK+T,YAGvB/T,KAAKwU,iBACPxU,KAAKwU,gBAAgBnU,OAInBiU,IAAiBC,IACnBvU,KAAK0T,gBAAgBY,GAGjBtU,KAAKyU,iBAAmBzU,KAAK+T,aAC/B/T,KAAKyU,gBAAgBpU,OAInBL,KAAK0U,mBAAqB1U,KAAK+T,aACjC/T,KAAK0U,iBAAiBrU,yCAM1BL,KAAK2U,oDAIA3U,KAAKE,UACRK,sBAAsBP,KAAKQ,OAAOpB,KAAKY,OACvCA,KAAKE,SAAU,0CAIJO,GAKb,OAJKT,KAAKyU,kBACRzU,KAAKyU,gBAAkB/T,UAAEC,UAAU,WAErCX,KAAKyU,gBAAgB7T,IAAIH,GAClBT,6CAGOS,GAKd,OAJKT,KAAK0U,mBACR1U,KAAK0U,iBAAmBhU,UAAEC,UAAU,WAEtCX,KAAK0U,iBAAiB9T,IAAIH,GACnBT,sCAGAS,GAKP,OAJKT,KAAKwU,kBACRxU,KAAKwU,gBAAkB9T,UAAEC,UAAU,WAErCX,KAAKwU,gBAAgB5T,IAAIH,GAClBT,6CAIP,EAAAa,EAAAd,SAAEL,QAAQoB,GAAG,2BAA4Bd,KAAKC,2BAInC,IAAI6T,6GCxFnBpW,EAAA,QACAA,EAAA,wDAEA,IAEqBqE,aACnB,SAAAA,EAAYR,IAAS,EAAAzB,EAAAC,SAAAC,KAAA+B,GACnB/B,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKkB,MAAQlB,KAAKyM,UAClBzM,KAAKiL,mEAGMpL,UAAOqL,SAASlL,KAAKQ,OAAOpB,KAAKY,wCAG5C,IAAM4U,EAAe5U,KAAKkB,MAAMyB,KAAK,2BAA2BpG,OAAS,EACnEsY,EAAgB7U,KAAKkB,MAAMyB,KAAK,yCAAyCpG,OAAS,EAMxF,OALK,EAAAsE,EAAAd,SAAEL,QAAQoV,YAAW,GAfX,MAemCD,EAChD7U,KAAKgL,SAAShD,aAAahI,KAAKkB,MAAMyB,KAAK,2BACjC,EAAA9B,EAAAd,SAAEL,QAAQoV,YAAW,IAjBlB,MAiB2CF,GACxD5U,KAAKgL,SAAS+J,UAAU/U,KAAKkB,MAAMyB,KAAK,8CAEnC3C,uCAGG,OAAO,EAAAa,EAAAd,SAAEoB,SAASC,KAAMpB,KAAKiB,4BArBtBc,mGCLrBrE,EAAA,uDAEA,IAAMsH,GACJgQ,cAAUC,EACVrS,aAASqS,EACTnS,UAAMmS,EACNlS,YAAQkS,EACRC,QAAS,UACTlS,eAAWiS,GAGb,SAASpS,EAAQtB,EAASsE,GACxB7F,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GACxC7F,KAAKgV,SAAWhV,KAAKgG,SAASgP,SAC9BhV,KAAK4C,QAAU5C,KAAKgG,SAASpD,QAC7B5C,KAAK8C,KAAO9C,KAAKgG,SAASlD,KAC1B9C,KAAK+C,OAAS/C,KAAKgG,SAASjD,OAC5B/C,KAAKkV,QAAUlV,KAAKgG,SAASkP,QAC7BlV,KAAKgD,UAAYhD,KAAKgG,SAAShD,UAC/BhD,KAAKmV,WAAanV,KAAKmV,WAAW/V,KAAKY,MACvCA,KAAKoV,MAAQpV,KAAKqV,WAClBrV,KAAK+K,OACL/K,KAAK2J,QAGP9G,EAAQlG,WACNoO,KADkB,WAEhB,IAAMiK,EAAYhV,KAAKgV,SAAYhV,KAAKgV,SAAWM,KAAKC,KAAKvV,KAAKoV,MAAQpV,KAAK4C,SAC/E5C,KAAKgL,SAASrI,KAAQ3C,KAAK8C,KAA3B,cAA6CkS,EAA7C,UAA+D9S,SAASlC,KAAKkV,SACzElV,KAAK+C,OACP/C,KAAKgL,SAASrI,KAAK3C,KAAK+C,QAAQb,SAAYlC,KAAKgD,UAAjD,SAEAhD,KAAKgL,SAAS9I,SAAYlC,KAAKgD,UAA/B,SAEFhD,KAAKmV,aACL,IAAI9Y,EAAI,EACJ6B,EAAI,EACR,GACE8B,KAAKwV,WAAWnZ,EAAG6B,GACnB7B,GAAK2Y,EACL9W,GAAK,QACE7B,EAAI2D,KAAKoV,QAEpBD,WAlBkB,WAmBhBnV,KAAKgL,SAASrI,KAAd,GAAsB3C,KAAK8C,MAAQxB,KAAK,SAACjF,EAAGkF,IAC1C,EAAAV,EAAAd,SAAEwB,GAASW,SAAX,OAA0B7F,EAAI,OAGlCmZ,WAvBkB,SAuBPnZ,EAAG6B,GACZ,IAAM6S,EAAK1U,EAAI,EACToZ,EAAUvX,EAAI,GAAM,EAAK,OAAS,MACxC8B,KAAKgL,SAASrI,KAAd,OAA0BoO,GACvBoB,UADH,IACiBnS,KAAKkV,SACnBQ,UACA5M,QAHH,eAG0B9I,KAAKgD,UAH/B,QAGgDhD,KAAKgD,UAHrD,QAGsE9E,EAHtE,IAG2EuX,EAH3E,aAKFJ,SA/BkB,WAgChB,OAAOrV,KAAKgL,SAASrI,KAAK3C,KAAK8C,MAAMvG,QAEvCoN,MAlCkB,WAkCR3J,KAAKgL,SAAS9I,SAAS,qBAGpBW,iFChEf,wDAAAnF,EAAA,IAEA,SAAS4F,EAAc/B,GACrBvB,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAK+K,OACL/K,KAAK2J,QAGPrG,EAAc3G,WACZoO,KADwB,WAEtB,IAAMhB,EAAW/J,KAAK2V,aAAgB3V,KAAK2V,aAAe,GACpDC,EAAU5V,KAAK6V,YAAN,oBAAyC7V,KAAK6V,YAA9C,IAA+D,GAC9E7V,KAAKgL,SACF2F,KAAK,sBACL+E,UACA5M,QAHH,8BAGyCiB,EAHzC,IAGoD6L,EAHpD,YAKFD,WATwB,WAUtB,IAAIG,EAAW,KACf,GAAI9V,KAAKgL,SAAStI,SAAS,aAAc,CACvCoT,EAAW,YACX,IAAIC,EAAc/V,KAAKgL,SAASzC,KAAK,SACrCwN,EAAcA,EAAYC,MAAM,KAEhC,IAAK,IAAI3Z,EAAI,EAAGA,EAAI0Z,EAAYxZ,OAAQF,GAAK,EAAG,CAC9C,IAAMoR,EAAMsI,EAAY1Z,GACK,eAAzBoR,EAAIwI,UAAU,EAAG,MACnBH,OAAgBrI,IAKtB,OAAOqI,GAETD,UA1BwB,WA2BtB,IAAIK,SAKJ,OAJIlW,KAAKgL,SAAStI,SAAS,eACzBwT,EAAWlW,KAAKgL,SAAS7E,GAAG,gBAAmB,QAAU,QAGpD+P,GAETvM,MAlCwB,WAkChB,IAAAtD,EAAArG,KACNqC,WAAW,WACTgE,EAAK2E,SAAS9I,SAAS,UACtB,iBAIQoB,mGClDf5F,EAAA,uDAEA,IAAMsH,GACJmR,SAAU,KAGZ,SAAS5S,EAAahC,EAASsE,GAC7B7F,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GACxC7F,KAAKoW,MAAQpW,KAAKoW,MAAMhX,KAAKY,MAC7BA,KAAKqW,QAAUrW,KAAKqW,QAAQjX,KAAKY,MACjCA,KAAKG,SAGPoD,EAAa5G,WACXwD,OADuB,WAErBH,KAAKgL,SAASlK,GAAG,QAASd,KAAKoW,QAEjCA,MAJuB,SAIjBzO,GACJA,EAAMC,iBACND,EAAM2O,kBACNtW,KAAKqW,QAAQ1O,IAEf0O,QATuB,SASf1O,GAAO,IAAAtB,EAAArG,KACbqC,WAAW,WAET,IADcgE,EAAKkQ,UAAU5O,EAAM4G,QACvB,CACV,IAAMiI,GAAY,EAAA3V,EAAAd,SAAEsG,EAAK2E,UAAUnB,SAASM,IAAM,IAClD,EAAAtJ,EAAAd,UAAGoB,SAASsV,gBAAiBtV,SAASC,OAAO2Q,SAC3C2E,UAAWF,GACV,OAEJ,MAELD,UApBuB,SAoBbI,GACR,IAAMC,GAAa,EAAA/V,EAAAd,SAAE4W,GAAG9M,SAASM,IAAM,GACjC0M,EAAgBD,GAAa,EAAA/V,EAAAd,SAAE4W,GAAGlI,cAClCqI,GAAc,EAAAjW,EAAAd,SAAEL,QAAQgX,YACxBK,EAAiBD,GAAc,EAAAjW,EAAAd,SAAEL,QAAQ0L,SAC/C,OAAQyL,EAAgBC,GAAeF,EAAaG,cAIzCxT,iFC3Cf,wDAAA7F,EAAA,IAEA,SAAS6F,EAAahC,GACpBvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAK+K,OAGPxH,EAAa5G,WACXoO,KADuB,WAErB/K,KAAKgL,SAASrI,KAAK,+GAA+GrB,KAAK,SAACjF,EAAG2a,IACzI,EAAAnW,EAAAd,SAAEiX,GAAM9U,SAAS,cACjB,EAAArB,EAAAd,SAAEiX,GACC7E,UAAU,yBACVuD,UACA5M,QAAQ,mDAKFvF,mGCnBf7F,EAAA,uDAEA,IAAMsH,GACJpB,MAAM,GAGR,SAASD,EAAYpC,EAASsE,GAC5B7F,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GACxC7F,KAAK4D,KAAO5D,KAAKgG,SAASpC,KAC1B5D,KAAK+K,OAGPpH,EAAYhH,WACVoO,KADsB,WAEpB,IAAIkM,EAAQjX,KAAKgL,SAASrI,KAAK,SAASoF,OACpCkP,EAAM1a,SACJyD,KAAK4D,OACPqT,EAAQA,EAAMhB,UAAU,EAAGgB,EAAMhE,QAAQ,MACzCjT,KAAKgL,SAASrI,KAAK,SAASoF,KAAKkP,IAEnCjX,KAAKgL,SAASrI,KAAK,SAAS4F,KAAK,cAAe0O,EAAMrT,qBAK7CD,iFC3Bf,wDAAAjG,EAAA,IAEA,SAAS6E,EAAOhB,EAASN,GACvBjB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKkB,MAAQlB,KAAKyM,QAAQxL,GAC1BjB,KAAK+K,OACL/K,KAAK2J,QAGPpH,EAAO5F,WACL8P,QADiB,SACTxL,GACN,OAAO,EAAAJ,EAAAd,SAAEoB,SAASC,KAAMH,IAE1B8J,KAJiB,WAKG/K,KAAKgL,SAAS7E,GAAG,oCAEjCnG,KAAKkB,MAAMgB,SAAS,eAGxByH,MAViB,WAWf3J,KAAKgL,SAASkM,QAAQ,aAAahV,SAAS,qBAIjCK,mGCxBf7E,EAAA,uDAEA,IAAMsH,GACJmS,eAAgB,sBAChB1U,kBAAcwS,EACdmC,UAAU,GAGZ,SAAS5U,EAAgBjB,EAASsE,GAChC7F,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GACxC7F,KAAKqX,qBACLrX,KAAK2J,QAGPnH,EAAgB7F,WACd2a,UAD0B,WACZ,OAAOtX,KAAKgL,SAASrI,KAAK3C,KAAKgG,SAASmR,gBAAgB5O,KAAK,QAE3E8O,mBAH0B,WAIxB,IAAME,EAAMvX,KAAKsX,YACbC,GAAOA,EAAIhb,SACTyD,KAAKgG,SAASoR,UAChBpX,KAAKgL,SAASrI,KAAK,SAASsR,QAAQ,sCACpCjU,KAAKgL,SAASrI,KAAK,iBAAiB6U,IAAI,mBAAxC,OAAmED,EAAnE,MACSvX,KAAKgG,SAASvD,aACvBzC,KAAKgL,SAASrI,KAAK3C,KAAKgG,SAASvD,cAAc+U,IAAI,mBAAnD,OAA8ED,EAA9E,KAEAvX,KAAKgL,SAASwM,IAAI,mBAAlB,OAA6CD,EAA7C,KAEFvX,KAAKgL,SAAS9I,SAAS,cAI3ByH,MAlB0B,WAkBlB,IAAAtD,EAAArG,KACNqC,WAAW,WACTgE,EAAK2E,SAAS9I,SAAS,UACtB,iBAIQM,mGCxCf9E,EAAA,uDACAA,EAAA,IAEA,IAAMsH,GACJmR,SAAU,cACVzS,YAAa,iBACbkF,QAAQ,GAGV,SAAStE,EAAgB/C,EAASsE,GAChC7F,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GACxC7F,KAAKd,SAGPoF,EAAgB3H,WACduC,OAD0B,WAExB,IAAMuY,EAASzX,KAAKgL,SAASrI,KAAK3C,KAAKgG,SAASmQ,UAC1CuB,GAAU,EAAA7W,EAAAd,SAAA,8CAAgDC,KAAKgG,SAAStC,YAA9D,eACViU,EAAQF,EAAO9U,KAAK,YACpBiV,EAAWD,EAAMhV,KAAK,2BAC5B+U,EAAQtP,OAAR,uCAAsDpI,KAAKgG,SAAStC,YAApE,aACAkU,EAAStW,KAAK,SAACjF,EAAGyG,GAChB,IAAMmU,GAAQ,EAAApW,EAAAd,SAAE+C,GAAMiF,OAEhB8P,qBADQ,EAAAhX,EAAAd,SAAE,IAAK+C,GAAMyF,KAAK,QAC1B,KAAqC0O,EAArC,YACNS,EAAQtP,OAAOyP,KAEjBH,EAAQ1P,aAAa2P,GACrBD,EAAQI,UACuB,gBAA3B9X,KAAKgG,SAASmQ,UAA8BnW,KAAKgG,SAAS4C,OAC5D+O,EAAMI,OAC8B,gBAA3B/X,KAAKgG,SAASmQ,UAA8BnW,KAAKgG,SAAS4C,QACnE+O,EAAM/O,SAIR8O,EAAQ5W,GAAG,iBAAkB,SAAC6G,GAAU,IAC9B5L,EAAS4L,EAAMqQ,OAAfjc,KACJA,GAAQA,EAAKgV,IACfrR,OAAOuY,KAAKlc,EAAKgV,GAAI,WAIzB0G,EAAOvV,SAAS,qBAILoC,oGCjDf5G,EAAA,uDAEA,IAAMsH,GACJmR,SAAU,kBAGZ,SAASrS,EAAWvC,EAASsE,GAC3B7F,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GACxC7F,KAAKkY,SAGPpU,EAAWnH,WACTub,OADqB,WAEnB,OAAOlY,KAAKgL,SAASrI,KAAK3C,KAAKgG,SAASmQ,UAAUgC,WAAW,oBAIlDrU,mGCnBfpG,EAAA,IACAA,EAAA,IACA,QAAAA,EAAA,wDAEA,IAAMsH,GACJqG,MAAO,IACPE,UAAU,EACVC,cAAe,IACfC,MAAM,EACNC,QAAQ,EACR0M,UAAU,EACVC,cAAc,EACdC,gBAAgB,EAChBhN,MAAM,EACNiN,KAAM,EACNC,aAAc,EACd3M,aAEIC,WAAY,IACZ9F,UACEuF,UAAU,EACVgN,KAAM,EACNC,aAAc,KAGhB1M,WAAY,IACZ9F,UACEuF,UAAU,EACVgN,KAAM,EACNC,aAAc,MAStB,SAASC,EAAOlX,EAASsE,GACvB7F,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GACxC7F,KAAK0Y,iBAAmB1Y,KAAK0Y,iBAAiBtZ,KAAKY,MAGnDA,KAAK2Y,gBAAkB3Y,KAAK4Y,WAG5B5Y,KAAK6Y,SAAW7Y,KAAK8Y,cAGrB9Y,KAAK0Y,mBAGL1Y,KAAK2J,QAGP8O,EAAO9b,WACLic,SADiB,WAIf,OAFgB5Y,KAAKgL,SACblK,GAAG,kBAAmBd,KAAK0Y,kBAC5B1Y,KAAKgL,SAASiB,MAAMjM,KAAKgG,WAElC8S,YANiB,WAOf,OAAO,IAAIC,UAAuB/Y,KAAK2Y,iBACrCK,SAAUhZ,KAAK2Y,mBAGnBD,iBAXiB,WAWE,IAAArS,EAAArG,KACjBqC,WAAW,YACT,EAAAxB,EAAAd,SAAE,iBAAkBsG,EAAK9E,SAAS4G,SAAS9B,EAAK2E,SAASrI,KAAK,iBAC7D,MAELgH,MAhBiB,WAiBf3J,KAAKgL,SAAS9I,SAAS,SACvBlC,KAAKgL,SAASkM,QAAQ,UAAUhV,SAAS,SAAS+W,wBAIvCR,mGC/Ef/a,EAAA,uDAaA,IAAMsH,GACJkU,cAAe,KACfC,eAAgB,KAChBH,SAAU,KACVI,QAAS,qFACTC,SAAU,yFAGZ,SAASN,EAAuBI,EAAgBtT,GAC9C7F,KAAKmZ,eAAiBA,EACtBnZ,KAAK2Y,iBAAkB,EAAA9X,EAAAd,SAAEoZ,GACzBnZ,KAAKkZ,cAAgBC,EAAe1a,IAAI,GAAGwN,MAC3CjM,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GAQxC7F,KAAKsZ,KAAO5Y,UAAE+S,MAAMzT,KAAKsZ,KAAMtZ,MAC/BA,KAAKuZ,MAAQ7Y,UAAE+S,MAAMzT,KAAKuZ,MAAOvZ,MACjCA,KAAKwZ,mBAAqB9Y,UAAE+S,MAAMzT,KAAKwZ,mBAAoBxZ,MAG3DA,KAAKyZ,SAAWzZ,KAAK0Z,aACrB1Z,KAAK2Z,UAAY3Z,KAAK4Z,cAGtB5Z,KAAKmZ,eAAerY,GAAG,aAAcd,KAAKwZ,oBAG1CxZ,KAAK6Z,4BAGPd,EAAuBpc,WACrBmd,OADiC,SAC1BX,GACL,IAAIY,SAMJ,OALKZ,GAAmBA,EAAe5c,OAE3B4c,EAAe1a,IAAI,GAAGwN,QAChC8N,EAAQ,0DAFRA,EAAQ,mEAIHA,GAETL,WAViC,WAW/B,OAAO,EAAA7Y,EAAAd,SAAEC,KAAKgG,SAASoT,UAEzBQ,YAbiC,WAc/B,OAAO,EAAA/Y,EAAAd,SAAEC,KAAKgG,SAASqT,WAEzBP,YAhBiC,WAmB1B9Y,KAAKgG,SAASgT,WACjBhZ,KAAKgG,SAASgT,SAAWhZ,KAAKmZ,gBAIhC,IAAMa,EAAgB7Y,SAAS8Y,cAAc,OACvCC,GAAiB,EAAArZ,EAAAd,SAAEia,GACzBE,EACGhY,SAAS,iBACTkG,OAAOpI,KAAKyZ,SAAUzZ,KAAK2Z,WAC9B3Z,KAAKgG,SAASgT,SAAS5Q,OAAO8R,GAG9Bla,KAAKyZ,SAAS3Y,GAAG,QAASd,KAAKsZ,MAC/BtZ,KAAK2Z,UAAU7Y,GAAG,QAASd,KAAKuZ,OAGhCvZ,KAAK0T,mBAEPyG,eAtCiC,WAwC/Bna,KAAKyZ,SAASW,IAAI,QAASpa,KAAKsZ,MAAM1Q,SACtC5I,KAAK2Z,UAAUS,IAAI,QAASpa,KAAKuZ,OAAO3Q,UAE1C0Q,KA3CiC,SA2C5B3R,GACHA,EAAMC,iBACF5H,KAAKkZ,cAAcmB,QACrBra,KAAKmZ,eAAelN,MAAM,aAE5BjM,KAAK0T,mBAEP6F,MAlDiC,SAkD3B5R,GACJA,EAAMC,iBACD5H,KAAKkZ,cAAcmB,QACtBra,KAAKmZ,eAAelN,MAAM,cAE5BjM,KAAK0T,mBAEP4G,aAzDiC,WA0D/Bta,KAAKyZ,SAASlR,KAAK,cAAe,SAClCvI,KAAK2Z,UAAUpR,KAAK,cAAe,QACnCvI,KAAKyZ,SAASvX,SAAS,UACvBlC,KAAK2Z,UAAU3X,YAAY,WAE7BuY,cA/DiC,WAgE/Bva,KAAKyZ,SAASlR,KAAK,cAAe,QAClCvI,KAAK2Z,UAAUpR,KAAK,cAAe,SACnCvI,KAAKyZ,SAASzX,YAAY,UAC1BhC,KAAK2Z,UAAUzX,SAAS,WAE1B2X,0BArEiC,WAsE/B,IAAMW,EAAoBxa,KAAKkZ,cAAcuB,iBACzCC,SAGAF,IACFE,EAAY1a,KAAKkZ,cAAcyB,mBAAmBH,GAAmBjP,UAIlEmP,IACHA,EAAY1a,KAAKkZ,cAAcrT,QAAQ0F,UAIrCmP,EACF1a,KAAK8Y,cAEL9Y,KAAKma,kBAMTzG,gBA7FiC,WA8F3B1T,KAAKkZ,cAAcmB,OACrBra,KAAKsa,eAELta,KAAKua,iBAOTf,mBAxGiC,SAwGd7R,EAAOsE,EAAOH,GAC/B9L,KAAK6Z,0BAA0B5N,EAAOH,eAI3BiN,6GC7Jfrb,EAAA,QACAA,EAAA,4DAEqBwF,aACnB,SAAAA,EAAY3B,IAAS,EAAAzB,EAAAC,SAAAC,KAAAkD,GACnBlD,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKmT,UACLnT,KAAK2J,+DAIL3J,KAAKgL,SAASrI,KAAK,SAASrB,KAAK,SAACjF,EAAGkF,GACnC,IAAMgO,GAAQ,EAAA1O,EAAAd,SAAEwB,GACVkO,EAAWF,EAAM5M,KAAK,cAAc4F,KAAK,YACzCmH,GAAO,EAAAC,EAAA5P,SAAO0P,GACdD,GACJM,IAAKJ,EAAKG,OAAO,MACjBE,IAAKL,EAAKG,OAAO,MACjB+K,GAAIlL,EAAKG,OAAO,OAIJN,EAAM5M,KAAK,oBAEnBA,KAAK,eAAe4G,KADX,SAAAxN,GAAA,6BAA+BA,EAAK+T,IAApC,6BAAoE/T,EAAKgU,IAAzE,8BAA0GhU,EAAK6e,GAA/G,UACgBtK,CAAOd,MAGxCxP,KAAK2J,wCAGG3J,KAAKgL,SAAS9I,SAAS,4BA3BdgB,oGCHrBxF,EAAA,uDAEA,SAAS+D,EAAaF,GACpBvB,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAK+K,OAGPtJ,EAAa9E,WACXoO,KADuB,WAErB,IAAM8P,KACAC,EAASC,UAAUC,UAAU7K,cAC/B8K,EAAQ,GAIZJ,EAAWK,OAAS,SAASxI,KAAKoI,IAAW,SAASpI,KAAKoI,KAAY,OAAOpI,KAAKoI,GACnFD,EAAWM,QAAU,UAAUzI,KAAKoI,IAAW,UAAUpI,KAAKoI,GAC9DD,EAAWO,KAAO,OAAO1I,KAAKoI,IAAW,UAAUpI,KAAKoI,IAAW,OAAOpI,KAAKoI,GAC/ED,EAAWQ,OAAS,SAAS3I,KAAKoI,IAAW,cAAcpI,KAAKoI,KAAY,SAASpI,KAAKoI,GAC1FD,EAAWS,IAAM,UAAU5I,KAAKoI,IAAW,cAAcpI,KAAKoI,IAAW,SAASpI,KAAKoI,IAAW,SAASpI,KAAKoI,IAAW,MAAMpI,KAAKoI,GACtID,EAAWU,QAAU,GACrBV,EAAWW,QAAU,IAIrB,EAAAC,EAAA1b,SAAY8a,GAAYjb,MAAM,GAAI,GAAG6G,QAAQ,SAACtH,GAC5C,GAAI0b,EAAW1b,GAAM,CACnB,IAAIuc,EAAa,GAajB,GAVEA,EADU,SAARvc,EACW,YACI,WAARA,EACI,UAEAA,EAGf8b,EAAQH,EAAOG,MAAM,IAAIU,OAAJ,IAAeD,EAAf,mBACrBb,EAAWU,QAAUpc,EAEjB8b,EAAO,CACT,IAAMW,EAAWX,EAAM,GACvBJ,EAAWW,QAAUI,OAErBX,EAAQH,EAAOG,MAAM,IAAIU,OAAO,gBAChCd,EAAWW,QAAUP,EAAQA,EAAM,GAAK,OAK9C,EAAApa,EAAAd,SAAEoB,SAASC,MAAMc,SAAY2Y,EAAWU,QAAxC,IAAmDV,EAAWU,QAA9D,KAA0EV,EAAWW,SAErFX,EAAWgB,MAAQhB,EAAWS,WACvBT,EAAWS,gBAIP7Z,2HC1Df/D,EAAA,uDAEA,IAAMsH,GACJ8W,SAAU,yBACVC,UAAW,SAGQC,aACnB,SAAAA,EAAYza,EAASsE,IAAS,EAAA/F,EAAAC,SAAAC,KAAAgc,GAC5Bhc,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GACxC7F,KAAKic,MAAQjc,KAAKic,MAAM7c,KAAKY,MAC7BA,KAAKmT,UACLnT,KAAKkc,kBACLlc,KAAK2J,+DAGG,IAAAtD,EAAArG,KACRA,KAAKgL,SAASrI,KAAK,yBAAyBrB,KAAK,SAACjF,EAAGkF,IAC/C,EAAAV,EAAAd,SAAEwB,GAAS4E,GAAG,0BACK,EAAAtF,EAAAd,SAAA,8BAAgCsG,EAAKL,SAAS+V,UAA9C,eAAsE1V,EAAKL,SAAS8V,SAApF,MAElB1c,KAAK,QAASiH,EAAK4V,OACnB9T,SAAS5G,KAImC,IAA/CvB,KAAKgL,SAASrI,KAAK,iBAAiBpG,QACtCyD,KAAKgL,SAASrI,KAAK,gBAAgBwZ,iDAKrCnc,KAAKgL,SAASrI,KAAK,8BAA8BwG,WAAW7H,KAAK,SAACjF,EAAG2a,GACnE,IACMoF,GADa,EAAAvb,EAAAd,SAAEiX,GAAMjP,OACAiO,MAAM,KAAK,IACtC,EAAAnV,EAAAd,SAAEiX,GAAMjP,KAAKqU,qCAKfpc,KAAKgL,SAASrI,KAAK,sBAAsB4F,KAAK,QAAS,IACvD,IAAM8T,EAAM3c,OAAO4R,SAASgL,KACtBC,EAAUF,EAAIpG,UAAU,EAAGoG,EAAIpJ,QAAQ,MAC7CvT,OAAO4R,SAASgL,KAAOC,kCAIvB,OAAOvc,KAAKgL,SAAS9I,SAAS,4BA1Cb8Z,mGCPrBte,EAAA,uDAEA,IAAMsH,KAEN,SAASJ,EAAYrD,EAASsE,GAC5B7F,KAAKuB,QAAUA,EACfvB,KAAKgL,UAAW,EAAAnK,EAAAd,SAAEwB,GAClBvB,KAAKgG,UAAW,EAAAC,EAAAlG,SAAciF,EAAUa,GACxC7F,KAAK+K,OAGPnG,EAAYjI,WACVoO,KADsB,WAKpB,IAFA,IAAMyR,KACAC,EAAazc,KAAKgL,SAASrI,KAAK,mBAAmBqQ,QAChD3W,EAAI,EAAGA,EAAI2D,KAAKgL,SAASrI,KAAK,UAAUpG,OAAQF,GAAK,EAC5DmgB,EAAGngB,MACHmgB,EAAGngB,GAAG,GAAK2D,KAAKgL,SAASrI,KAAK,UAAUtG,GAAG0L,KAC3CyU,EAAGngB,GAAG,GAAK2D,KAAKgL,SAASrI,KAAK,UAAUtG,GAAGwC,MAC3C2d,EAAGngB,GAAG,GAAKogB,IAAepgB,EAE5BmgB,EAAGtJ,OAIHlT,KAAKgL,SAASzB,KAAK,IACnB,IAAK,IAAIlN,EAAI,EAAGA,EAAImgB,EAAGjgB,OAAQF,GAAK,EAAG,CACrC,IAAMqgB,EAAOF,EAAGngB,GAAG,GACbsgB,EAAOH,EAAGngB,GAAG,GACbugB,EAAKJ,EAAGngB,GAAG,GAAK,IAAIwgB,OAAOH,EAAMC,GAAM,GAAO,GAAQ,IAAIE,OAAOH,EAAMC,GAC7E3c,KAAKgL,SAAS5C,OAAOwU,gBAKZhY","file":"theme.min.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([23,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import $ from 'jquery';\n\nclass Change {\n constructor() {\n this.change = this.change.bind(this);\n this.ticking = false;\n this.listen();\n }\n\n update() {\n this.ticking = false;\n if (this.callbacks) {\n this.callbacks.fire();\n }\n }\n\n change() {\n this.request();\n }\n\n request() {\n if (!this.ticking) {\n requestAnimationFrame(this.update.bind(this));\n this.ticking = true;\n }\n }\n\n onChange(callback) {\n if (!this.callbacks) {\n this.callbacks = $.Callbacks('memory');\n }\n this.callbacks.add(callback);\n return this;\n }\n\n listen() {\n $(window).on('scroll resize orientationchange', this.change);\n }\n}\n\nexport default new Change();\n","import './js/theme';\nimport './less/theme.less';\n","import $ from 'jquery';\n\nimport DDTemplates from './DDTemplates';\nimport Drupal from './Drupal';\nimport Header from './Header';\nimport Sticky from './Sticky';\nimport Gallery from './Gallery';\nimport Toolbar from './Toolbar';\nimport Menu from './Menu';\nimport SmartFooter from './SmartFooter';\nimport CalendarFeed from './CalendarFeed';\nimport FixNavigation from './FixNavigation';\nimport TermNavigation from './TermNavigation';\nimport Search from './Search';\nimport Columns from './Columns';\nimport AccordionWrap from './AccordionWrap';\nimport AccordionFix from './AccordionFix';\nimport AccordionContainer from './AccordionContainer';\nimport Placeholder from './Placeholder';\nimport Banner from './Banner';\nimport BackgroundImage from './BackgroundImage';\nimport ResourcesSelect from './ResourcesSelect';\nimport RemoveLink from './RemoveLink';\nimport SliderSponsors from './Slider.Sponsors';\nimport Events from './Events';\nimport BrowserCheck from './BrowserCheck';\n// import HomeCaptions from './HomeCaptions';\nimport ResourcesTemplate from './ResourcesTemplate';\nimport SelectAlpha from './SelectAlpha';\n\n// Add the theme behaviors\nDrupal.behavior((context) => {\n // Helpers\n const $body = $(document.body, context);\n\n // DD Template Behaviors\n // eslint-disable-next-line no-new\n new DDTemplates(context);\n\n // Get browser and version\n $body.each((i, element) => {\n if (!element.browserCheck) {\n element.browserCheck = new BrowserCheck(element);\n }\n });\n\n // Fix our damn menus from displaying orphaned children\n $('.primary-navigation, .term-nav', context).each((i, element) => {\n if (!element.FixNavigation) {\n element.FixNavigation = new FixNavigation(element);\n }\n });\n\n // Sticky sidebars\n $('.page-sidebar', context).each((i, element) => {\n if (!element.Sticky) {\n element.Sticky = new Sticky(element);\n }\n });\n\n // Main/Primary Site Navigation\n $('#block-nice_menus-3', context).each((i, element) => {\n if (!element.Menu) {\n // element.Menu = new Menu(element);\n element.Menu = new Menu(element);\n }\n });\n\n // Controls the states of the menu and search states\n $('.toolbar', context).each((i, element) => {\n if (!element.Toolbar) {\n element.Toolbar = new Toolbar(element);\n }\n });\n\n // Clone search to flyout\n $('.dd-search', context).each((i, element) => {\n if (!element.search) {\n element.search = new Search(element);\n }\n });\n\n // Controls the page overlay display\n $('.overlay', context).bind('click', () => {\n $body.removeClass('menu-active search-active');\n });\n\n // Fixed Header using Headroom.js\n $('.headroom', context).each((i, element) => {\n if (!element.Header) {\n element.Header = new Header(element);\n $(element).addClass('ready');\n }\n });\n\n // Smart Footer\n $('.page-footer', context).each((i, element) => {\n const $footprint = $('.footprint', context);\n if (!element.SmartFooter && $footprint.length) {\n setTimeout(() => {\n element.SmartFooter = new SmartFooter(element, $footprint);\n }, 500);\n }\n });\n\n // Background images\n $('.banner', context).each((i, element) => {\n if (!element.banner) {\n // Adds .has-banner class to body if banner exists\n element.banner = new Banner(element);\n element.banner = new BackgroundImage(element);\n }\n });\n $('.home-news-image .views-row, .home-news .views-row, .home-spotlight .views-row', context).each((i, element) => {\n if (!element.banner) {\n element.banner = new BackgroundImage(element, {\n destSelector: '.field-image',\n });\n }\n if ($body.hasClass('front')) {\n $body.find('.page-top').addClass('ready');\n $body.find('.content-after').addClass('ready');\n }\n });\n\n // Columns\n $('.footerlinks', context).each((i, element) => {\n if (!element.columns) {\n element.columns = new Columns(element, {\n columns: 2,\n item: '.views-row',\n parent: '.view-content',\n blockName: 'footerlinks',\n });\n }\n });\n // $('.home-resources', context).each((i, element) => {\n // if (!element.resourcesCols) {\n // $(element).find('.link-read-more').remove();\n // element.resourcesCols = new Columns(element, {\n // columns: 2,\n // item: '.link',\n // parent: 'ul.links',\n // blockName: 'home-resources',\n // });\n // }\n // });\n $('.home-events', context).each((i, element) => {\n if (!element.resourcesCols) {\n element.resourcesCols = new Columns(element, {\n columns: 2,\n item: '.views-row',\n parent: '.view-content',\n blockName: 'home-events',\n });\n }\n });\n\n // Upcoming Events\n $('#block-views-calendar_feed-block_1', context).each((i, element) => {\n if (!element.Events) {\n element.Events = new Events(element);\n }\n });\n\n // Term Navigation\n $('.term-nav', context).each((i, element) => {\n if (!element.TermNavigation) {\n element.TermNavigation = new TermNavigation(element);\n }\n });\n\n // Photo Galleries\n $('.node-content .photo-gallery, .photo-gallery .node-image, .photo-gallery .node-upper-image', context).each((i, element) => {\n if (!element.Gallery) {\n element.Gallery = new Gallery(element);\n }\n });\n\n // Wraps each accordion element\n $('.accordion-heading', context).each((i, element) => {\n if (!element.accordionWrap) {\n element.accordionWrap = new AccordionWrap(element);\n element.accordionWrap = new AccordionFix(element);\n }\n });\n\n // Wraps each accordion in a container\n $('.node-content', context).each((i, element) => {\n if (!element.accordionContainer) {\n setTimeout(() => {\n element.accordionContainer = new AccordionContainer(element);\n }, 300);\n }\n });\n\n // Set placeholder of textfield using label\n $('.pods .type-textfield', context).each((i, element) => {\n if (!element.placeholder) {\n element.placeholder = new Placeholder(element, {\n trim: true,\n });\n }\n });\n\n // Caption clone and placement on certain homepage elements\n // $('.hero .views-row', context).each((i, element) => {\n // if (!element.heroCaptions) {\n // element.heroCaptions = new HomeCaptions(element);\n // }\n // });\n // $('.home-news-image .views-row', context).each((i, element) => {\n // if (!element.newsCaptions) {\n // element.newsCaptions = new HomeCaptions(element, {\n // newParent: '.content-after',\n // });\n // }\n // });\n\n // Remove link from .node-header\n $('.home-spotlight .views-row, .home-resources .views-row', context).each((i, element) => {\n if (!element.removeLink) {\n element.removeLink = new RemoveLink(element);\n }\n });\n\n // Calendar of Events View\n $('.calendar-feed', context).each((i, element) => {\n if (!element.CalendarFeed) {\n element.CalendarFeed = new CalendarFeed(element, {\n useFilters: true,\n filters: {\n 'CAPIO Calendar': 0,\n 'Partner Calendar': 295,\n 'All Events': 2,\n },\n });\n }\n });\n\n // Medical services dropdown\n $('.home-resources', context).each((i, element) => {\n // Creates a select box from all of the related links.\n if (!element.filterSelect) {\n element.filterSelect = new ResourcesSelect(element, {\n placeholder: 'Quicklinks',\n });\n }\n });\n\n // Calendar of Events View\n $('.home-sponsors .view-content', context).each((i, element) => {\n if (!element.sliderSponsors) {\n element.sliderSponsors = new SliderSponsors(element);\n }\n });\n\n // Resources Template\n $('.view-member-resource-search', context).each((i, element) => {\n if (!element.resourcesTemplate) {\n element.resourcesTemplate = new ResourcesTemplate(element);\n }\n });\n\n // Alphabetize select lists\n $('#edit-tid, #edit-field-profiles-nid-1', context).each((i, element) => {\n if (!element.selectAlpha) {\n element.selectAlpha = new SelectAlpha(element);\n }\n });\n\n $body.addClass('instant');\n setTimeout(() => {\n $body.addClass('delayed');\n }, 500);\n\n // Add Sitemap output using the digitaldcore.js function\n const $map = $('#sitemap', context);\n const $nav = $('#sitemap .content', context);\n\n if ($map.length && $nav.length) {\n Drupal.digitaldcoreCreateSiteMap($map, $nav);\n $map.addClass('ready');\n }\n});\n","import $ from 'jquery';\n\nconst defaults = {\n photoGalleryPID: 107,\n behaviors: {\n itemAppearsIn: true,\n fullNodeRelatedLinks: true,\n bundledReferringContent: true,\n overviews: true,\n subtermOverviews: true,\n lexiconGlossary: true,\n nodeMeta: true,\n imageCaptions: true,\n slideshowIcons: true,\n expandingDates: true,\n },\n};\n\nexport default class DDTemplates {\n constructor(context, options) {\n this.context = context;\n this.isNodeView = this.isNode();\n this.settings = Object.assign({}, defaults, options);\n // Global behaviors\n this.defineApplicableBehaviors('global', this.context);\n // Current view behaviors only\n this.defineApplicableBehaviors(this.isNodeView ? 'node' : 'term', this.context);\n }\n\n /**\n * Simple check to see if the current body element contains the node class.\n */\n isNode() {\n return $(document.body, this.context).is('.n, .section-node');\n }\n\n /**\n * Segregates behaviors by different types of common views. If they're\n * enabled, define them in this module.\n */\n defineApplicableBehaviors(view) {\n const behaviors = {\n node: [\n 'itemAppearsIn',\n 'fullNodeRelatedLinks',\n 'bundledReferringContent',\n ],\n term: [\n 'overviews',\n 'subtermOverviews',\n 'lexiconGlossary',\n ],\n global: [\n 'nodeMeta',\n 'imageCaptions',\n 'slideshowIcons',\n 'expandingDates',\n ],\n };\n\n // Cycle through each behavior and only add it if it's enabled\n behaviors[view].forEach((behavior) => {\n this.addEnabledBehavior(behavior);\n });\n }\n\n /**\n * A way to enable only behaviors the theme requires.\n */\n addEnabledBehavior(behavior) {\n const enabled = this.settings.behaviors[behavior];\n if (enabled) {\n this[behavior].call(this);\n }\n }\n\n /**\n * Helper class for theming the appearing navigation block\n */\n itemAppearsIn() {\n const $appearingNav = $('.appearing-nav', this.context);\n const $links = $appearingNav.find('ul.links li');\n if (!$links.length) {\n $appearingNav.addClass('placeholder-block');\n }\n }\n\n /**\n * Sets the block to show if one or more links are found\n */\n fullNodeRelatedLinks() {\n const $nodeFields = $('#block-digitaldcore-node_fields', this.context);\n const $relatedLinks = $nodeFields.find('.node-links');\n const numLinks = $relatedLinks.find('.link-related, .link-file').length;\n\n if (!numLinks) {\n $relatedLinks.addClass('placeholder-block');\n }\n }\n\n /**\n * Hides the blocks if no content is present.\n */\n bundledReferringContent() {\n const $blocks = $('#block-digitaldcore-node_referring, #block-digitaldcore-node_bundled', this.context);\n $blocks.each((i, element) => {\n const $block = $(element);\n const $nodes = $block.find('.node-teaser');\n if (!$nodes.length) {\n $block.addClass('placeholder-block');\n }\n });\n }\n\n /**\n * Finds the real last meta item and identifies node of visible meta info\n */\n nodeMeta() {\n const $nodes = $('.node', this.context);\n $nodes.each((a, node) => {\n // Create a meta object\n const $node = $(node);\n const $meta = $node.find('.node-upper-meta');\n const $items = $meta.find('.meta-item');\n\n // Clean up last classname\n $items.removeClass('last');\n\n // Filter to just visible items\n const $visible = $items.map((i, item) => {\n const props = window.getComputedStyle(item);\n const display = props.getPropertyValue('display');\n return display !== 'none' ? item : null;\n });\n\n // Correctly identify last meta item and label node with the has-meta flag\n if ($visible.length) {\n $node.addClass('has-meta');\n $visible.filter(':last').addClass('last new-dd-templates-functionality');\n }\n });\n }\n\n /**\n * If there is more than two event dates, functionality is added to show and\n * hide all events within one container.\n *\n * Helps cleans up the look of meta data.\n *\n * @note:\n * This is only enabled for blocks with the 'posts' classname and all\n * full post views\n */\n expandingDates() {\n $('.posts .node, .node-full', this.context).each((a, node) => {\n $('.node-meta, .node-upper-meta', node).each((b, meta) => {\n const $meta = $(meta);\n const $dates = $('.event-date', node);\n\n if ($dates.length > 2) {\n // Create and add functionality to display all other dates\n const $link = $('Show all dates');\n $link.bind('click', (event) => {\n event.preventDefault();\n $meta.toggleClass('show-all-dates');\n $(event.currentTarget).text($meta.is('.show-all-dates') ? 'Hide all dates' : 'Show all dates');\n });\n $link.insertBefore($dates.eq(0));\n\n // Move all other dates\n const $container = $('
');\n $dates.appendTo($container);\n $meta.append($container);\n }\n });\n });\n }\n\n /**\n * Field image caption control\n */\n imageCaptions() {\n // Identifies an image that should have a caption added\n $('.field-image img[title]', this.context).each((i, element) => {\n const $image = $(element);\n const title = $image.attr('title');\n // Continue processing this title isn't an empty string\n if (title.length) {\n const $field = $image.parents('.field-image');\n const caption = `${title}`;\n const $wrapper = $field.find('a');\n\n // delete the existing caption if it exists\n $field.find('.caption').remove();\n\n // Add image as a link support\n $image.after(caption);\n\n if (!$wrapper.length) {\n $field.find('img, .caption').wrapAll('');\n }\n\n // Add a helper class to aid styling of the image and caption\n $field.addClass('has-caption');\n }\n });\n }\n\n /**\n * Adds markup to slideshow teasers to show an icon overlay\n */\n slideshowIcons() {\n const $slideshowNodes = $(`.pt${this.settings.photoGalleryPID}.node-teaser`, this.context);\n // cycle through each node instance\n $slideshowNodes.each((a, element) => {\n const $images = $(element).find('.field-image');\n // cycle through each field image instance\n $images.each((b, image) => {\n const $img = $(image).find('img');\n // add a button helper classname\n $(image).find('a').addClass('slideshow-btn');\n // prepend the icon overlay\n $img.before('');\n });\n });\n }\n\n /**\n * Removes the link from overview headings.\n */\n overviews() {\n const $context = $(this.context);\n if ($context.length) {\n $context.find('.overview .node-header a').children().unwrap();\n }\n }\n\n /**\n * Adds the has more class to subterm overviews to properly control node-link display\n */\n subtermOverviews() {\n $('.subterm-overview .node-teaser', this.context).removeClass('no-more').addClass('has-more');\n }\n\n /**\n * Helper function to theme the category letters and seperate the sections\n */\n lexiconGlossary() {\n $('#glossary', this.context).find('.lexicon-list > a').each((i, element) => {\n const letter = $(element).attr('id').replace('letter_', '');\n $(element).html(letter.toUpperCase());\n });\n }\n}\n","/* global Drupal */\nimport $ from 'jquery';\n\nlet behaviors;\nlet documentIsReady = false;\n\n/**\n * Allows a Drupal behavior to be added from an AMD-style module. The behavior\n * will be executed when:\n * - As soon as the DOM is ready, if the DOM is not ready when the behavior is\n * added, just like a regular Drupal behavior.\n * - Immediately upon adding, if the DOM is ready (which may happen since\n * AMD-style modules are loaded asynchronously).\n * - When Drupal.attachBehaviors is executed.\n */\nDrupal.behavior = function addDrupalBehavior(fn) {\n if (!behaviors) {\n behaviors = $.Callbacks();\n documentIsReady = false;\n\n $(document).ready(() => {\n documentIsReady = true;\n behaviors.fire(document);\n\n // Now that we know the document is ready, add ourselves to Drupal's\n // behavior handling.\n window.Drupal.behaviors.DrupalAMD = function DrupalAMD(context) {\n behaviors.fire(context);\n };\n });\n }\n\n // Note: we can't use the 'memory' option of jQuery.Callbacks, because we\n // need control over the argument.\n if (documentIsReady) {\n fn(document);\n }\n\n behaviors.add(fn);\n return this;\n};\n\nexport default Drupal;\n","import $ from 'jquery';\nimport Headroom from 'headroom.js';\n\n// Headroom settings\nconst settings = {\n // vertical offset in px before element is first unpinned\n offset: 80,\n // scroll tolerance in px before state changes\n tolerance: 5, // or {down: 0, up: 0},\n // css classes to apply\n classes: {\n // when element is initialised\n initial: 'headroom',\n // when scrolling up\n pinned: 'locked',\n // when scrolling down\n unpinned: 'unlocked',\n // when above offset\n top: 'top',\n // when below offset\n notTop: 'not-top',\n // when at bottom of scoll area\n bottom: 'bottom',\n // when not at bottom of scroll area\n notBottom: 'not-bottom',\n },\n // callback when pinned, `this` is headroom object\n onPin() {\n $(document.body).addClass('locked').removeClass('unlocked');\n },\n // callback when unpinned, `this` is headroom object\n onUnpin() {\n $(document.body).addClass('unlocked').removeClass('locked');\n },\n // callback when above offset, `this` is headroom object\n onTop() {\n $(document.body).addClass('top').removeClass('not-top');\n },\n // callback when below offset, `this` is headroom object\n onNotTop() {\n $(document.body).addClass('not-top').removeClass('top');\n },\n // callback at bottom of page, `this` is headroom object\n onBottom() {},\n // callback when moving away from bottom of page, `this` is headroom object\n onNotBottom() {},\n};\n\nexport default class Header {\n constructor(element) {\n // Create a new Headroom instance\n const headroom = new Headroom(element, settings);\n // Initialize this Headroom instance\n headroom.init();\n // Return back the new instance\n return headroom;\n }\n}\n","import $ from 'jquery';\nimport Change from './Change';\n\nconst OFFSET = 115 + 35; // header height plus top offset of sidebars\n\nexport default class Sticky {\n constructor(element) {\n this.element = element;\n this.$element = $(element);\n this.register();\n }\n\n register() {\n Change.onChange(this.update.bind(this));\n }\n\n update() {\n if (window.innerHeight - OFFSET > this.$element.height()) {\n this.$element.addClass('sticky');\n } else {\n this.$element.removeClass('sticky');\n }\n\n return this;\n }\n}\n","import $ from 'jquery';\nimport 'slick-carousel';\n\nconst defaults = {\n speed: 500,\n fade: true,\n autoplay: true,\n autoplaySpeed: 4000,\n dots: true,\n arrows: true,\n slidesToShow: 1,\n slidesToScroll: 1,\n responsive: [\n {\n breakpoint: 690,\n settings: {\n arrows: false,\n },\n },\n ],\n};\n\nexport default class Gallery {\n constructor(element, options) {\n this.element = element;\n this.$element = $(element);\n this.settings = Object.assign({}, defaults, options);\n this.$gallery = this.build();\n this.ready();\n }\n\n build() {\n return this.$element.slick(this.settings);\n }\n\n ready() {\n this.$element.addClass('ready');\n }\n}\n","import $ from 'jquery';\nimport TickTock from 'tick-tock';\n\nconst settings = {\n delay: 400,\n selectors: {\n menu: '.menu-icon',\n search: '.search-icon',\n close: '.close-icon',\n text: '#edit-box-text',\n input: '#edit-keywords',\n },\n};\n\nexport default class Toolbar {\n constructor(element, context) {\n this.context = context;\n this.element = element;\n this.$element = $(element);\n this.settings = settings;\n this.timer = new TickTock();\n this.$body = this.getBody();\n this.$menuBtn = this.getBtn('menu');\n this.$closeBtn = this.getBtn('close');\n this.$searchBtn = this.getBtn('search');\n this.$searchBox = this.getBox(context);\n this.searchText = this.getText(context);\n this.menuHandler = this.menuHandler.bind(this);\n this.closeHandler = this.closeHandler.bind(this);\n this.searchHandler = this.searchHandler.bind(this);\n this.resetSearchInput = this.resetSearchInput.bind(this);\n this.listen();\n }\n\n getBody() { return $(document.body, this.context); }\n\n getBtn(type) { return $(this.settings.selectors[type], this.element); }\n\n getText(context) {\n const $searchText = $(this.settings.selectors.text, context);\n // clear out the value since we don't want it displayed\n const searchText = $searchText.attr('value');\n $searchText.attr('value');\n return searchText;\n }\n\n getBox(context) {\n const $input = $(this.settings.selectors.input, context);\n $input.val('');\n return $input;\n }\n\n menuHandler() {\n const active = this.$body.is('.menu-active');\n if (active) {\n this.$body.removeClass('menu-active');\n } else {\n this.$body.addClass('menu-active');\n this.$body.find(`.page-flyout .dd-search ${this.settings.selectors.input}`).attr('placeholder', 'Search');\n }\n this.$body.filter('.search-active').removeClass('menu-active search-active');\n }\n\n searchHandler() {\n const active = this.$body.is('.search-active');\n this.$body.filter('.menu-active').removeClass('menu-active');\n if (active) {\n this.$body.removeClass('search-active');\n // Cancel any search input timeouts that may be running.\n this.$searchBox.doTimeout('focus');\n this.$searchBox.doTimeout('typing');\n } else {\n this.$body.addClass('search-active');\n this.$searchBox.attr('placeholder', '');\n // Focus the search box after a small delay.\n this.timer.setTimeout('focus', () => {\n this.typeOutPlaceholderText();\n }, 750);\n }\n }\n\n closeHandler() {\n if (this.$body.is('.menu-active')) {\n this.menuHandler();\n }\n if (this.$body.is('.search-active')) {\n this.searchHandler();\n }\n }\n\n typeOutPlaceholderText() {\n let i = 0;\n if (!this.$searchBox.val().length) {\n this.timer.setInterval('typing', () => {\n if (i <= this.searchText.length) {\n this.$searchBox.attr('placeholder', this.searchText.substr(0, i)).focus();\n i += 1;\n } else {\n this.timer.clear('typing');\n }\n }, 60);\n }\n }\n\n resetSearchInput() {\n // This is a workaround to overcome the default dd-search.js search\n // input scripted behaviors.\n if (this.searchText === this.$searchBox.val()) {\n this.$searchBox.val('');\n }\n }\n\n listen() {\n this.$menuBtn.bind('click', this.menuHandler);\n this.$closeBtn.bind('click', this.closeHandler);\n this.$searchBtn.bind('click touchend', this.searchHandler);\n\n // Listening so that we can override previously set scripted behaviors.\n this.$searchBox.bind('blur focus', this.resetSearchInput);\n }\n}\n","import $ from 'jquery';\n\nexport default class MobileMenu {\n constructor(element) {\n this.element = element;\n this.$roots = this.getRootMenus();\n this.onClick = this.onClick.bind(this);\n this.displayActiveMenus();\n this.listen();\n }\n\n getRootMenus() {\n return $(this.element).find('a.depth-1');\n }\n\n /* eslint-disable class-methods-use-this */\n onClick(event) {\n const shouldExpand = $(event.target).is('.menu-link');\n if (shouldExpand) {\n $(event.currentTarget).toggleClass('expand');\n event.preventDefault();\n }\n }\n\n displayActiveMenus() {\n $('.active-trail a.depth-1:not(.active)', this.element).addClass('expand');\n }\n\n listen() {\n this.$roots.on('click', this.onClick);\n }\n}\n","import $ from 'jquery';\nimport Change from './Change';\n\nexport default class Footer {\n constructor(element, $footprint) {\n this.$element = $(element);\n this.$footprint = $footprint;\n this.register();\n this.update();\n this.ready();\n }\n\n register() {\n Change.onChange(this.update.bind(this));\n }\n\n update() {\n this.$footprint.height(this.$element.outerHeight());\n }\n\n ready() {\n this.$element.addClass('ready');\n }\n}\n","import $ from 'jquery';\nimport moment from 'moment';\n\nconst defaults = {\n // local storage key used to save the currently applied filter\n storageKey: 'currentCalendarFilter',\n\n // Button text displayed as the pagination to the next page of events\n paginationLabel: 'Load More Events',\n\n // Mobile only drop down label that houses the filtering options\n filtersLabel: 'Filter by...',\n\n // Force the filters to be automatically determined by the post types present in the feed.\n filterByPostTypes: false,\n\n // A simple indicator to determine the build out of filters\n useFilters: false,\n\n // Used to pass in an object of filters which use key value pairs.\n // {Object}\n // @key: Name that will appear as the filter button text\n // @value: ID of post type or navigation term\n filters: false,\n};\n\n// These filters are used if the filterByPostTypes is enabled. Present post\n// types are then added to this object, then the filters are made from those.\nconst defaultFilters = {\n All: 2,\n};\n\nexport default class CalendarFeed {\n constructor(element, options) {\n this.$element = $(element);\n this.settings = Object.assign({}, defaults, options);\n this.filters = this.getFilters();\n this.buildCalendar();\n if (this.settings.useFilters) {\n this.createFilters();\n }\n }\n\n buildCalendar() {\n const $posts = this.$element.find('.node');\n const group = '
';\n let currentYear = null;\n let currentMonth = '';\n let $group;\n\n // Manage the types of calendar filters being created\n $posts.each((i, post) => {\n const $post = $(post);\n const dates = ['start', 'end'];\n const oDates = {};\n\n // Parse the start/end timestamps using the moment.js framework\n $.each(dates, (j, type) => {\n const datetime = $post.find(`time.${type}`).attr('datetime');\n const date = moment(datetime);\n oDates[type] = {\n month: date.format('MMMM'),\n mon: date.format('MMM'),\n day: date.format('D'),\n dow: date.format('ddd'),\n year: date.format('YYYY'),\n };\n });\n\n // Add the post into a month grouping\n if (oDates.start.month.length && currentMonth !== oDates.start.month) {\n currentMonth = oDates.start.month;\n $group = $(group);\n $group.addClass(oDates.start.month.toLowerCase());\n $group.append(`

${oDates.start.month}

`);\n $post.before($group);\n\n // Set year labels followed by the associated months of that year\n if (oDates.start.year && oDates.start.year > currentYear) {\n const $year = $(`${oDates.start.year}`);\n $group.before($year);\n currentYear = oDates.start.year;\n }\n }\n\n // Dynamically create the date tile for the event display\n const $tile = $post.find('.event-date-tile');\n const markup = data => `${data.dow}${data.mon}${data.day}`;\n $tile.find('time.start').html(markup(oDates.start));\n\n // Handle date ranges\n if ($tile.is('.range')) {\n const isSameMonth = oDates.start.month === oDates.end.month;\n const isSameDay = oDates.start.day === oDates.end.day;\n const isSameYear = oDates.start.year === oDates.end.year;\n\n // This identifies an event which begins and ends at different times on the same day\n if (isSameMonth && isSameDay && isSameYear) {\n $post.addClass('day-event');\n }\n\n // This identifies an event which spans multiple days within the same month\n if (isSameMonth && !isSameDay && isSameYear) {\n $post.addClass('multiple-day-event');\n $tile.find('time.start .day').text(`${oDates.start.day}-${oDates.end.day}`);\n }\n\n // This identifies an event which spans multiple months or maybe a year(s)\n if (!isSameMonth || !isSameYear) {\n $post.addClass('multiple-month-event');\n $tile.find('time.end').html(markup(oDates.end));\n }\n }\n\n // Add the grouped posts to the display\n $post.appendTo($group);\n });\n\n // Alter the text of the next pager button\n $('.pager-next a', this.$element).text(this.settings.paginationLabel);\n\n // Add a helper class\n this.$element.addClass('ready');\n }\n\n filterHandler(event) {\n event.preventDefault();\n $(this).next('.filters').toggleClass('expanded');\n }\n\n getFilters() {\n // If custom filters where passed, use them, if not use the defaults.\n let data = this.settings.filters ? this.settings.filters : defaultFilters;\n // If the filter by post types flag is set, force that filtering option.\n if (this.settings.filterByPostTypes) {\n data = defaultFilters;\n }\n return data;\n }\n\n createFilters() {\n const { $element } = this;\n const $posts = $element.find('.node');\n const $container = $('
');\n const filter = '
';\n const filterInner = '
';\n let types = [];\n let ids = [];\n\n // Create the proposed filters\n $.each(this.filters, (type, id) => {\n types.push(type);\n ids.push(id);\n });\n\n // Using the proposed filters, generate relevant filters of those types\n // that are actually present or use the semi default, filter by post type.\n const data = this.settings.filterByPostTypes\n ? this.getDefaultData(types, ids)\n : this.getCustomizedData(types, ids);\n\n // Using the provided date, rebuild the arrays using relevant data.\n ({ types } = data);\n ({ ids } = data);\n\n // Get the latest selected filter.\n let currentFilter = sessionStorage.getItem(this.settings.storageKey) || ids[0];\n\n // See if a hash was passed, if so let's filter by that instead later on.\n let { hash } = window.location;\n if (hash.length > 1) {\n hash = hash.substr(1); // Remove the hash symbol #\n hash = decodeURIComponent(hash); // Normalize the filter passed\n }\n\n // Create filters\n $.each(types, (i, type) => {\n const $filter = $(filter);\n const $filterInner = $(filterInner);\n // Use the type key to identify the associated filter id\n const id = ids[i];\n\n // Check to see if this filter is being forced to be filtered by using\n // a url hash.\n if (hash.length && hash.toLowerCase() === type.toLowerCase()) {\n currentFilter = id;\n }\n\n // Add the type to the filter\n $filterInner.text(type);\n\n // Add a class name to theme the filter\n $filter.addClass(`show-${id}`);\n\n // Add the newly created filter\n $filter.append($filterInner);\n $container.append($filter);\n\n // Add a click handler\n $filter.bind('click', (event) => {\n // Default to all posts in calendar feed\n let $show = $posts;\n\n // Filter what posts to display if not all option\n if (type !== 'All Events') {\n if (type !== 'Partner Calendar') {\n $show = $posts.filter(\n (j, element) => $.inArray('Partner Calendar', $(element).data('types')) === -1,\n );\n } else {\n $show = $posts.filter(\n (j, element) => $.inArray(type, $(element).data('types')) !== -1,\n );\n }\n }\n\n // Manage the active filter styling\n const $filters = $element.find('.filters .filter');\n $filters.not(event.currentTarget).removeClass('active');\n $filters.filter(event.currentTarget).addClass('active');\n\n // hide all events that aren't of this type\n $posts.not($show).stop(true, true).animate({\n opacity: 'hide',\n height: 'hide',\n }, 300).removeClass('show');\n\n // show all events that are of this type\n $show.stop(true, true).animate({\n opacity: 'show',\n height: 'show',\n }, 300).addClass('show');\n\n // Set the current filter into session storage\n sessionStorage.setItem(this.settings.storageKey, id);\n currentFilter = id;\n\n // Check to see if the event group is empty\n $element.find('.group').each((j, element) => {\n const $shown = $('.node.show', element);\n const result = $shown.length ? 'show' : 'hide';\n\n // Add a helper class for the use with the year function below\n if ($shown.length) {\n $(element).addClass('show');\n } else {\n $(element).removeClass('show');\n }\n\n // Manages the visibility of the group\n $(element).stop(true, true).animate({\n opacity: result,\n height: result,\n }, 300);\n });\n\n // Check to see if the group year should display or not\n $element.find('.group-year').each((j, element) => {\n const $shown = $(element).nextUntil('.group-year').filter('.show');\n const result = $shown.length ? 'show' : 'hide';\n $(element).stop(true, true).animate({\n opacity: result,\n height: result,\n }, 300);\n });\n });\n });\n\n // Add a drop down controller for mobile\n const $ctrl = $(`

${this.settings.filtersLabel}

`);\n $ctrl.bind('click', this.filterHandler);\n\n // Add the drop down controller for mobile display\n $element.find('.view-header').append($ctrl, $container);\n\n // Simulate a click event for the last or default calendar filter\n $element.find(`.filter.show-${currentFilter}`).trigger('click');\n }\n\n getDefaultData(_types, _ids) {\n const { $element } = this;\n const $posts = $element.find('.node');\n\n const types = _types;\n const ids = _ids;\n\n // Dynamically create the filter types and identify the posts that belong\n // to each one.\n $posts.each((i, post) => {\n const $post = $(post);\n\n // Extract the post type\n let type = $('.post-type', post).text();\n\n // If the post type is the generic Event, set the label to All instead.\n if (type === 'Event') {\n type = 'All';\n }\n\n let id = 0;\n const classes = $post.attr('class');\n const regex = /\\w?pt([0-9]+)/;\n\n // Make filters by types found if were using the default filters\n if (regex.test(classes)) {\n /* eslint-disable prefer-destructuring */\n id = regex.exec(classes)[1];\n }\n\n // Make filters by post type\n if ($.inArray(type, types) === -1) {\n types.push(type);\n ids.push(id);\n }\n\n // Add a data types to identify this when a filter is clicked\n $post.data('types', [type]);\n });\n\n return {\n types,\n ids,\n };\n }\n\n getCustomizedData(_types, _ids) {\n const { $element } = this;\n const $posts = $element.find('.node');\n const types = [];\n const ids = [];\n\n // Keep track of the types and ids that have been identified within this content.\n const indexes = [];\n\n // Dynamically create the filter types and identify the posts that belong\n // to each one.\n $posts.each((i, post) => {\n const $post = $(post);\n const classes = $post.attr('class');\n const regex = /\\w?[wp]t([0-9]+)/g; // Filter could be either wt or pt.\n const aTypes = [];\n\n // Add the post type by default\n aTypes.push($('.post-type', post).text());\n\n // If the post type is the generic Event, set the label to All instead.\n if (aTypes[0] === 'Event') {\n aTypes[0] = 'All';\n }\n\n // Iterates through all matches made to see what this post should be\n // filtered by from the filters assigned\n let aResults;\n // eslint-disable-next-line no-cond-assign\n while ((aResults = regex.exec(classes)) !== null) {\n const result = parseInt(aResults[1], 10);\n if ($.inArray(result, _ids) !== -1) {\n const index = _ids.indexOf(result);\n // Check to see if index has already been added, if not, add it.\n if ($.inArray(index, indexes) === -1) {\n indexes.push(index);\n }\n // Add this type to the post since it's been found\n aTypes.push(_types[index]);\n }\n }\n\n // Add a data id to identify this type when the filter is clicked\n $post.data('types', aTypes);\n });\n\n // Create new types and ids of the relevant types found using the\n // supplied custom filters\n $.each(indexes.sort(), (i, index) => {\n types.push(_types[index]);\n ids.push(_ids[index]);\n });\n\n return {\n types,\n ids,\n };\n }\n}\n","import $ from 'jquery';\n\nexport default class FixNavigation {\n constructor(element) {\n this.element = element;\n this.process();\n this.ready();\n }\n\n process() {\n $('.menuparent, .expanded, .collapsed', this.element).each((i, item) => {\n // handles the parent term (if hidden)\n const $parent = $(item).children('a');\n if (!$parent.length || $parent.is('.hidden')) {\n $(item).remove();\n }\n\n // handles the term to see if it only parents orphans.\n let $children = $('> ul > li', item);\n if (!$parent.is('.hidden') && $children.length) {\n // Logged in: shows links with a hidden class.\n $children.children('a.hidden').parent().remove();\n // Logged out: shows an empty li :\\\n $children.filter(':empty').remove();\n // Reset $children to reflect potential missing items.\n $children = $('> ul > li', item);\n // If the list is empty, the parent should no longer be\n // labeled as such and the list should be removed.\n if (!$children.length) {\n $(item).removeClass('menuparent expanded collapsed'); // unlabel\n $(item).find('ul').remove();\n }\n }\n });\n }\n\n ready() {\n $(this.element).addClass('ready');\n }\n}\n","import $ from 'jquery';\nimport Viewport from './Viewport';\n\nfunction TermNavigation(element) {\n this.element = element;\n this.$element = $(element);\n this.$menus = this.getMenus();\n this.onHeaderClick = $.proxy(this.onHeaderClick, this);\n this.setCurrentState();\n this.addPatties();\n this.listen();\n this.ready();\n}\n\nTermNavigation.prototype = {\n getMenus() {\n const $menus = this.$element.find('.block-content .expanded');\n const $filteredMenus = $menus.has('li a');\n $menus.removeClass('expanded');\n $filteredMenus.addClass('expanded');\n return $filteredMenus;\n },\n onHeaderClick(event) {\n if (Viewport.mobileState) {\n this.$element.toggleClass('expanded');\n event.preventDefault();\n }\n },\n onMenuClick(event) {\n const clickedActivator = $(event.target).is('.menu-link');\n if (clickedActivator) {\n $(this).parent().toggleClass('expanded collapsed');\n event.preventDefault();\n }\n },\n addPatties() {\n const patties = '';\n this.$element.find('.block-title a').prepend(patties);\n },\n setCurrentState() {\n // set all to collapsed other than the active items\n this.$menus.not('.active-trail').toggleClass('expanded collapsed');\n },\n listen() {\n // Add a click handler to control each submenu's visibility\n this.$menus.find(' > a').bind('click', this.onMenuClick);\n // Add a click handler to control the mobile dropdown menu\n this.$element.find('.block-title a').bind('click', this.onHeaderClick);\n },\n ready() {\n this.$element.addClass('ready');\n },\n};\n\nexport default TermNavigation;\n","import $ from 'jquery';\n\nconst breakpoint = 1200;\n\nclass Viewport {\n constructor() {\n this.change = this.change.bind(this);\n this.mobileState = this.getCurrentState();\n this.ticking = false;\n this.addListeners();\n }\n\n setCurrentState(state) {\n this.mobileState = state;\n }\n\n /* eslint-disable class-methods-use-this */\n\n getCurrentState() {\n return window.innerWidth < breakpoint;\n }\n\n update() {\n this.ticking = false;\n const currentState = this.getCurrentState();\n const previousState = this.mobileState;\n\n // Announce screen has changed\n if (this.changeCallbacks) {\n this.changeCallbacks.fire();\n }\n\n // Check to see if the view state has changed\n if (currentState !== previousState) {\n this.setCurrentState(currentState);\n\n // Announce screen has changed to mobile mode\n if (this.mobileCallbacks && this.mobileState) {\n this.mobileCallbacks.fire();\n }\n\n // Announce screen has changed to desktop mode\n if (this.desktopCallbacks && !this.mobileState) {\n this.desktopCallbacks.fire();\n }\n }\n }\n\n change() {\n this.requestTick();\n }\n\n requestTick() {\n if (!this.ticking) {\n requestAnimationFrame(this.update.bind(this));\n this.ticking = true;\n }\n }\n\n onMobileChange(callback) {\n if (!this.mobileCallbacks) {\n this.mobileCallbacks = $.Callbacks('memory');\n }\n this.mobileCallbacks.add(callback);\n return this;\n }\n\n onDesktopChange(callback) {\n if (!this.desktopCallbacks) {\n this.desktopCallbacks = $.Callbacks('memory');\n }\n this.desktopCallbacks.add(callback);\n return this;\n }\n\n onChange(callback) {\n if (!this.changeCallbacks) {\n this.changeCallbacks = $.Callbacks('memory');\n }\n this.changeCallbacks.add(callback);\n return this;\n }\n\n addListeners() {\n $(window).on('resize orientationchange', this.change);\n }\n}\n\nexport default new Viewport();\n","import $ from 'jquery';\nimport Change from './Change';\n\nconst BREAKPOINT = 1200;\n\nexport default class Search {\n constructor(element) {\n this.element = element;\n this.$element = $(element);\n this.$body = this.getBody();\n this.register();\n }\n\n register() { Change.onChange(this.update.bind(this)); }\n\n update() {\n const mobileActive = this.$body.find('.page-flyout .dd-search').length > 0;\n const desktopActive = this.$body.find('#block-digitaldcore-search .dd-search').length > 0;\n if (($(window).outerWidth(true) < BREAKPOINT) && (desktopActive)) {\n this.$element.insertBefore(this.$body.find('.page-flyout .toolbar'));\n } else if (($(window).outerWidth(true) >= BREAKPOINT) && (mobileActive)) {\n this.$element.prependTo(this.$body.find('#block-digitaldcore-search .block-content'));\n }\n return this;\n }\n\n getBody() { return $(document.body, this.context); }\n}\n","import $ from 'jquery';\n\nconst defaults = {\n interval: undefined,\n columns: undefined,\n item: undefined,\n parent: undefined,\n divider: 'new-col',\n blockName: undefined,\n};\n\nfunction Columns(element, options) {\n this.element = element;\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.interval = this.settings.interval;\n this.columns = this.settings.columns;\n this.item = this.settings.item;\n this.parent = this.settings.parent;\n this.divider = this.settings.divider;\n this.blockName = this.settings.blockName;\n this.addIndexes = this.addIndexes.bind(this);\n this.total = this.numLinks();\n this.init();\n this.ready();\n}\n\nColumns.prototype = {\n init() {\n const interval = (this.interval) ? this.interval : Math.ceil(this.total / this.columns);\n this.$element.find(`${this.item}:nth-child(${interval}n + 1)`).addClass(this.divider);\n if (this.parent) {\n this.$element.find(this.parent).addClass(`${this.blockName}-cols`);\n } else {\n this.$element.addClass(`${this.blockName}-cols`);\n }\n this.addIndexes();\n let i = 0;\n let c = 1;\n do {\n this.createCols(i, c);\n i += interval;\n c += 1;\n } while (i < this.total);\n },\n addIndexes() {\n this.$element.find(`${this.item}`).each((i, element) => {\n $(element).addClass(`id-${i + 1}`);\n });\n },\n createCols(i, c) {\n const id = i + 1;\n const stripe = (c % 2 === 0) ? 'even' : 'odd';\n this.$element.find(`.id-${id}`)\n .nextUntil(`.${this.divider}`)\n .addBack()\n .wrapAll(`
`);\n },\n numLinks() {\n return this.$element.find(this.item).length;\n },\n ready() { this.$element.addClass('ready'); },\n};\n\nexport default Columns;\n","import $ from 'jquery';\n\nfunction AccordionWrap(element) {\n this.element = element;\n this.$element = $(element);\n this.init();\n this.ready();\n}\n\nAccordionWrap.prototype = {\n init() {\n const classes = (this.getClasses()) ? this.getClasses() : '';\n const status = (this.getStatus()) ? ` style=\"display: ${this.getStatus()}\"` : '';\n this.$element\n .next('.accordion-content')\n .addBack()\n .wrapAll(`
`);\n },\n getClasses() {\n let $classes = null;\n if (this.$element.hasClass('under-tab')) {\n $classes = 'under-tab';\n let elemClasses = this.$element.attr('class');\n elemClasses = elemClasses.split(' ');\n\n for (let i = 0; i < elemClasses.length; i += 1) {\n const val = elemClasses[i];\n if (val.substring(0, 10) === 'under-tab-') {\n $classes += ` ${val}`;\n }\n }\n }\n\n return $classes;\n },\n getStatus() {\n let $status;\n if (this.$element.hasClass('under-tab')) {\n $status = (this.$element.is('.under-tab-0')) ? 'block' : 'none';\n }\n\n return $status;\n },\n ready() {\n setTimeout(() => {\n this.$element.addClass('ready');\n }, 200);\n },\n};\n\nexport default AccordionWrap;\n","import $ from 'jquery';\n\nconst defaults = {\n selector: 'a',\n};\n\nfunction AccordionFix(element, options) {\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.click = this.click.bind(this);\n this.setVert = this.setVert.bind(this);\n this.listen();\n}\n\nAccordionFix.prototype = {\n listen() {\n this.$element.on('click', this.click);\n },\n click(event) {\n event.preventDefault();\n event.stopPropagation();\n this.setVert(event);\n },\n setVert(event) {\n setTimeout(() => {\n const isVis = this.isVisible(event.target);\n if (!isVis) {\n const topOffset = $(this.$element).offset().top - 80;\n $([document.documentElement, document.body]).animate({\n scrollTop: topOffset,\n }, 500);\n }\n }, 500);\n },\n isVisible(e) {\n const elementTop = $(e).offset().top - 80;\n const elementBottom = elementTop + $(e).outerHeight();\n const viewportTop = $(window).scrollTop();\n const viewportBottom = viewportTop + $(window).height();\n return (elementBottom > viewportTop && elementTop < viewportBottom);\n },\n};\n\nexport default AccordionFix;\n","import $ from 'jquery';\n\nfunction AccordionFix(element) {\n this.$element = $(element);\n this.init();\n}\n\nAccordionFix.prototype = {\n init() {\n this.$element.find(':not(.accordion-item) + .accordion-item, * > .accordion-item:first-of-type, > .accordion-item:first-of-type').each((i, elem) => {\n $(elem).addClass('it-worked');\n $(elem)\n .nextUntil(':not(.accordion-item)')\n .addBack()\n .wrapAll('
');\n });\n },\n};\n\nexport default AccordionFix;\n","import $ from 'jquery';\n\nconst defaults = {\n trim: false,\n};\n\nfunction Placeholder(element, options) {\n this.element = element;\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.trim = this.settings.trim;\n this.init();\n}\n\nPlaceholder.prototype = {\n init() {\n let label = this.$element.find('label').text();\n if (label.length) {\n if (this.trim) {\n label = label.substring(0, label.indexOf(':'));\n this.$element.find('label').text(label);\n }\n this.$element.find('input').attr('placeholder', label.trim());\n }\n },\n};\n\nexport default Placeholder;\n","import $ from 'jquery';\n\nfunction Banner(element, context) {\n this.$element = $(element);\n this.$body = this.getBody(context);\n this.init();\n this.ready();\n}\n\nBanner.prototype = {\n getBody(context) {\n return $(document.body, context);\n },\n init() {\n const hasBanner = this.$element.is('.banner:not(.placeholder-block)');\n if (hasBanner) {\n this.$body.addClass('has-banner');\n }\n },\n ready() {\n this.$element.closest('.page-top').addClass('ready');\n },\n};\n\nexport default Banner;\n","import $ from 'jquery';\n\nconst defaults = {\n sourceSelector: '.field-image.c1 img',\n destSelector: undefined,\n isPseudo: false,\n};\n\nfunction BackgroundImage(element, options) {\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.addBackgroundImage();\n this.ready();\n}\n\nBackgroundImage.prototype = {\n getSource() { return this.$element.find(this.settings.sourceSelector).attr('src'); },\n\n addBackgroundImage() {\n const src = this.getSource();\n if (src && src.length) {\n if (this.settings.isPseudo) {\n this.$element.find('.node').prepend('');\n this.$element.find('.pod-image-bg').css('background-image', `url(${src})`);\n } else if (this.settings.destSelector) {\n this.$element.find(this.settings.destSelector).css('background-image', `url(${src})`);\n } else {\n this.$element.css('background-image', `url(${src})`);\n }\n this.$element.addClass('hasImage');\n }\n },\n\n ready() {\n setTimeout(() => {\n this.$element.addClass('ready');\n }, 300);\n },\n};\n\nexport default BackgroundImage;\n","import $ from 'jquery';\nimport 'select2';\n\nconst defaults = {\n selector: '.node-links',\n placeholder: 'Find a Program',\n remove: false,\n};\n\nfunction ResourcesSelect(element, options) {\n this.element = element;\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.create();\n}\n\nResourcesSelect.prototype = {\n create() {\n const $links = this.$element.find(this.settings.selector);\n const $select = $(``);\n const $list = $links.find('ul.links');\n const $options = $list.find('li:not(.link-read-more)');\n $select.append(``);\n $options.each((i, item) => {\n const label = $(item).text();\n const value = $('a', item).attr('href');\n const option = ``;\n $select.append(option);\n });\n $select.insertBefore($list);\n $select.select2();\n if (this.settings.selector === '.node-links' && this.settings.remove) {\n $list.hide(); // if .node-links is removed, node flyout is broken\n } else if (this.settings.selector !== '.node-links' && this.settings.remove) {\n $list.remove();\n }\n // Add an on selection change event handler which redirects users to the\n // selected program.\n $select.on('select2:select', (event) => {\n const { data } = event.params;\n if (data && data.id) {\n window.open(data.id, '_self');\n }\n });\n // Add ready class to fade it in.\n $links.addClass('ready');\n },\n};\n\nexport default ResourcesSelect;\n","import $ from 'jquery';\n\nconst defaults = {\n selector: '.node-header a',\n};\n\nfunction RemoveLink(element, options) {\n this.element = element;\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.unlink();\n}\n\nRemoveLink.prototype = {\n unlink() {\n return this.$element.find(this.settings.selector).removeAttr('href');\n },\n};\n\nexport default RemoveLink;\n","import $ from 'jquery';\nimport 'slick-carousel';\nimport SlickPlayPauseControls from './Slick.PlayPauseControls';\n\nconst defaults = {\n speed: 500,\n autoplay: true,\n autoplaySpeed: 5000,\n dots: true,\n arrows: false,\n infinite: true,\n pauseOnFocus: false,\n waitForAnimate: false,\n fade: true,\n rows: 1,\n slidesPerRow: 6,\n responsive: [\n {\n breakpoint: 992,\n settings: {\n autoplay: false,\n rows: 2,\n slidesPerRow: 3,\n },\n }, {\n breakpoint: 640,\n settings: {\n autoplay: false,\n rows: 2,\n slidesPerRow: 2,\n },\n },\n ],\n};\n\n/**\n * Home Sponsors Slider Constructor\n */\nfunction Slider(element, options) {\n this.element = element;\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.relocateControls = this.relocateControls.bind(this);\n\n // add slick carousel functionality\n this.$slickContainer = this.addSlick();\n\n // add play/pause functionality\n this.controls = this.addControls();\n\n // initial relocate of controls\n this.relocateControls();\n\n // set component ready\n this.ready();\n}\n\nSlider.prototype = {\n addSlick() {\n const $slider = this.$element;\n $slider.on('init breakpoint', this.relocateControls);\n return this.$element.slick(this.settings);\n },\n addControls() {\n return new SlickPlayPauseControls(this.$slickContainer, {\n attachTo: this.$slickContainer,\n });\n },\n relocateControls() {\n setTimeout(() => {\n $('.slickControls', this.element).appendTo(this.$element.find('.slick-dots'));\n }, 100);\n },\n ready() {\n this.$element.addClass('ready');\n this.$element.closest('.block').addClass('ready').slideDown();\n },\n};\n\nexport default Slider;\n","import $ from 'jquery';\n\n/**\n * Adds Play and Pause functionality to a Slick Carousel component\n * @param slickContainer {jQuery} Required jQuery container that the slick\n * component was made from\n * @param options {object}\n * - attachTo {jQuery} An optional jQuery object to inject the play and\n * pause controls\n * - playBtn {html string} HTML to be used as the play button\n * - pauseBtn {html string} HTML to be used as the pause button\n */\n\nconst defaults = {\n slickInstance: null,\n slickContainer: null,\n attachTo: null,\n playBtn: '',\n pauseBtn: '',\n};\n\nfunction SlickPlayPauseControls(slickContainer, options) {\n this.slickContainer = slickContainer;\n this.$slickContainer = $(slickContainer);\n this.slickInstance = slickContainer.get(0).slick;\n this.settings = Object.assign(defaults, options);\n\n // quit on errors\n // if (this.error = this.verify(slickContainer)) {\n // return console.log(this.error);\n // }\n\n // set scope\n this.play = $.proxy(this.play, this);\n this.pause = $.proxy(this.pause, this);\n this.onBreakpointChange = $.proxy(this.onBreakpointChange, this);\n\n // create\n this.$playBtn = this.addPlayBtn();\n this.$pauseBtn = this.addPauseBtn();\n\n // set breakpoint listener\n this.slickContainer.on('breakpoint', this.onBreakpointChange);\n\n // set current state\n this.setCurrentBreakpointState();\n}\n\nSlickPlayPauseControls.prototype = {\n verify(slickContainer) {\n let error;\n if (!slickContainer || !slickContainer.length) {\n error = \"SlickPlayPauseControls: The slickContainer was't found or passed\";\n } else if (!slickContainer.get(0).slick) {\n error = \"SlickPlayPauseControls: The slickInstance wasn't found\";\n }\n return error;\n },\n addPlayBtn() {\n return $(this.settings.playBtn);\n },\n addPauseBtn() {\n return $(this.settings.pauseBtn);\n },\n addControls() {\n // Allows the controls to be attached to a passed jQuery object or default\n // to the passed in container\n if (!this.settings.attachTo) {\n this.settings.attachTo = this.slickContainer;\n }\n\n // Add play and pause the controls and finally add the controls container\n const slickControls = document.createElement('div');\n const $slickControls = $(slickControls);\n $slickControls\n .addClass('slickControls')\n .append(this.$playBtn, this.$pauseBtn);\n this.settings.attachTo.append($slickControls);\n\n // Add click handlers to each button to control autoplay functionality\n this.$playBtn.on('click', this.play);\n this.$pauseBtn.on('click', this.pause);\n\n // set the current state of these buttons we just added\n this.setCurrentState();\n },\n removeControls() {\n // remove the buttons\n this.$playBtn.off('click', this.play).remove();\n this.$pauseBtn.off('click', this.pause).remove();\n },\n play(event) {\n event.preventDefault();\n if (this.slickInstance.paused) {\n this.slickContainer.slick('slickPlay');\n }\n this.setCurrentState();\n },\n pause(event) {\n event.preventDefault();\n if (!this.slickInstance.paused) {\n this.slickContainer.slick('slickPause');\n }\n this.setCurrentState();\n },\n setPlayState() {\n this.$playBtn.attr('aria-hidden', 'false');\n this.$pauseBtn.attr('aria-hidden', 'true');\n this.$playBtn.addClass('active');\n this.$pauseBtn.removeClass('active');\n },\n setPauseState() {\n this.$playBtn.attr('aria-hidden', 'true');\n this.$pauseBtn.attr('aria-hidden', 'false');\n this.$playBtn.removeClass('active');\n this.$pauseBtn.addClass('active');\n },\n setCurrentBreakpointState() {\n const $activeBreakpoint = this.slickInstance.activeBreakpoint;\n let $autoplay;\n\n // check to see if the current breakpoint adjusts the autoplay setting\n if ($activeBreakpoint) {\n $autoplay = this.slickInstance.breakpointSettings[$activeBreakpoint].autoplay;\n }\n\n // verify that an autoplay setting will be set\n if (!$autoplay) {\n $autoplay = this.slickInstance.options.autoplay;\n }\n\n // manage our controls accordingly\n if ($autoplay) {\n this.addControls();\n } else {\n this.removeControls();\n }\n // autoplay\n // ? this.addControls()\n // : this.removeControls();\n },\n setCurrentState() {\n if (this.slickInstance.paused) {\n this.setPlayState();\n } else {\n this.setPauseState();\n }\n // this.slickInstance.paused\n // ? this.setPlayState()\n // : this.setPauseState()\n },\n // Integrates with the slick carousel breakpoint functionality\n onBreakpointChange(event, slick, breakpoint) {\n this.setCurrentBreakpointState(slick, breakpoint);\n },\n};\n\nexport default SlickPlayPauseControls;\n","import $ from 'jquery';\nimport moment from 'moment';\n\nexport default class Events {\n constructor(element) {\n this.$element = $(element);\n this.process();\n this.ready();\n }\n\n process() {\n this.$element.find('.node').each((i, element) => {\n const $post = $(element);\n const datetime = $post.find('time.start').attr('datetime');\n const date = moment(datetime);\n const oDates = {\n mon: date.format('MM'),\n day: date.format('DD'),\n yr: date.format('YY'),\n };\n\n // Dynamically create the date tile for the event display\n const $meta = $post.find('.home-event-meta');\n const markup = data => `${data.mon}/${data.day}/${data.yr}`;\n $meta.find('.event-date').html(markup(oDates));\n });\n\n this.ready();\n }\n\n ready() { this.$element.addClass('ready'); }\n}\n","import $ from 'jquery';\n\nfunction BrowserCheck(element) {\n this.element = element;\n this.$element = $(element);\n this.init();\n}\n\nBrowserCheck.prototype = {\n init() {\n const browserArr = {};\n const uagent = navigator.userAgent.toLowerCase();\n let match = '';\n\n // console.log(`User agent string: ${uagent}`);\n\n browserArr.chrome = /webkit/.test(uagent) && /chrome/.test(uagent) && !/edge/.test(uagent);\n browserArr.firefox = /mozilla/.test(uagent) && /firefox/.test(uagent);\n browserArr.msie = /msie/.test(uagent) || /trident/.test(uagent) || /edge/.test(uagent);\n browserArr.safari = /safari/.test(uagent) && /applewebkit/.test(uagent) && !/chrome/.test(uagent);\n browserArr.opr = /mozilla/.test(uagent) && /applewebkit/.test(uagent) && /chrome/.test(uagent) && /safari/.test(uagent) && /opr/.test(uagent);\n browserArr.browser = '';\n browserArr.version = '';\n\n // console.log(Object.keys(browserArr).slice(0, -2));\n\n Object.keys(browserArr).slice(0, -2).forEach((key) => {\n if (browserArr[key]) {\n let matchCheck = '';\n\n if (key === 'msie') {\n matchCheck = 'msie|edge';\n } else if (key === 'safari') {\n matchCheck = 'version';\n } else {\n matchCheck = key;\n }\n\n match = uagent.match(new RegExp(`(${matchCheck})( |/)([0-9]+)`));\n browserArr.browser = key;\n\n if (match) {\n const newMatch = match[3];\n browserArr.version = newMatch;\n } else {\n match = uagent.match(new RegExp('rv:([0-9]+)'));\n browserArr.version = match ? match[1] : '';\n }\n }\n });\n\n $(document.body).addClass(`${browserArr.browser} ${browserArr.browser}-v${browserArr.version}`);\n\n browserArr.opera = browserArr.opr;\n delete browserArr.opr;\n },\n};\n\nexport default BrowserCheck;\n","import $ from 'jquery';\n\nconst defaults = {\n viewName: 'member-resource-search',\n buttonVal: 'Reset',\n};\n\nexport default class FileListTemplate {\n constructor(element, options) {\n this.element = element;\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.reset = this.reset.bind(this);\n this.process();\n this.truncateOptions();\n this.ready();\n }\n\n process() {\n this.$element.find('.views-exposed-widget').each((i, element) => {\n if ($(element).is('.views-submit-button')) {\n const $resetButton = $(``);\n $resetButton\n .bind('click', this.reset)\n .appendTo(element);\n }\n });\n\n if (this.$element.find('.view-content').length === 0) {\n this.$element.find('.view-footer').show();\n }\n }\n\n truncateOptions() {\n this.$element.find('#edit-field-profiles-nid-1').children().each((i, elem) => {\n const optionText = $(elem).text();\n const newText = optionText.split(':')[1];\n $(elem).text(newText);\n });\n }\n\n reset() {\n this.$element.find('input[type=\"text\"]').attr('value', '');\n const url = window.location.href;\n const baseUrl = url.substring(0, url.indexOf('?'));\n window.location.href = baseUrl;\n }\n\n ready() {\n return this.$element.addClass('ready');\n }\n}\n","import $ from 'jquery';\n\nconst defaults = {};\n\nfunction SelectAlpha(element, options) {\n this.element = element;\n this.$element = $(element);\n this.settings = Object.assign(defaults, options);\n this.init();\n}\n\nSelectAlpha.prototype = {\n init() {\n // const $options = this.$element.find('option');\n const tA = [];\n const selectedId = this.$element.find('option:selected').index();\n for (let i = 0; i < this.$element.find('option').length; i += 1) {\n tA[i] = [];\n tA[i][0] = this.$element.find('option')[i].text;\n tA[i][1] = this.$element.find('option')[i].value;\n tA[i][2] = selectedId === i;\n }\n tA.sort();\n // while (this.$element.find('option').length > 0) {\n // this.$element.find('option')[0] = null;\n // }\n this.$element.html('');\n for (let i = 0; i < tA.length; i += 1) {\n const $txt = tA[i][0];\n const $val = tA[i][1];\n const op = tA[i][2] ? new Option($txt, $val, false, true) : new Option($txt, $val);\n this.$element.append(op);\n }\n },\n};\n\nexport default SelectAlpha;\n"],"sourceRoot":""}