{"version":3,"sources":["../node_modules/@arm/arm-design-system-core/dist/esm lazy /^/.*/.entry/.js$/ include: /.entry/.js$/ exclude: /.system/.entry/.js$/ groupOptions: {} namespace object","temp/config.js","context/reducers/user.js","constants/actionTypes.js","context/index.js","ThemeToggle/index.js","components/Authentication/index.js","lib/RenderingStyling.js","components/FilterAndSearchComponents/FilterAndSearchCommunityPostsContainer/index.js","components/SharedComponents/StarsRating/index.js","components/FilterAndSearchComponents/FilterAndSearchContainer/index.js","constants/TemplateIds.js","services/coveoQueryService.js","components/FilterAndSearchComponents/FilterAndSearchSpotlightContentVariantA/index.js","components/FilterAndSearchComponents/FilterAndSearchSpotlightContentVariantB/index.js","components/HomeComponents/CommunityContainer/index.js","components/HomeComponents/DocumentationContainer/index.js","components/SharedComponents/HomeCard/index.js","components/HomeComponents/DownloadCards/index.js","components/SharedComponents/HomeCardsContainer/index.js","components/HomeComponents/DownloadsContainer/index.js","components/HomeComponents/HelpCards/index.js","components/HomeComponents/HelpContainer/index.js","components/HomeComponents/HomepageMasthead/index.js","components/HomeComponents/PromotionalBanner/index.js","components/HomeComponents/RecommendedContainer/index.js","components/HomeComponents/StartDevelopingCards/index.js","components/HomeComponents/StartDevelopingContainer/index.js","components/HomeComponents/TopCardsSection/index.js","components/ProductComponents/AdditionalResourcesCard/index.js","components/ProductComponents/ComponentsTabContainer/index.js","components/ProductComponents/EditionsTabContainer/index.js","components/ProductComponents/EventBanner/index.js","components/ProductComponents/KeyResources/index.js","components/ProductComponents/ProductProgramBanner/index.js","components/ProductComponents/ReleaseSection/index.js","components/ProductComponents/ResourcesContainer/index.js","components/ProductComponents/SoftwareDownloadsContainer/index.js","components/ProductComponents/SupportAndTrainingCardsContainer/index.js","components/ProductComponents/SupportCard/index.js","components/ProductComponents/SupportedDevicesContainer/index.js","components/ProductComponents/TechnicalSpecificationContainer/index.js","components/ProductComponents/TechnicalSpecificationContainerVariantB/index.js","components/ProductComponents/TechnicalSpecificationContainerVariantC/index.js","components/ProductComponents/ToolsAndSoftwareCard/index.js","components/ProductComponents/ToolsAndSoftwareCardsContainer/index.js","components/ProductComponents/TrainingCard/index.js","components/ProductComponents/UseCaseCard/index.js","components/ProductComponents/UseCaseCardsContainer/index.js","components/ProductComponents/WorksWellWithCard/index.js","components/ProductComponents/WorksWellWithCardsContainer/index.js","components/SharedComponents/CallToActionButton/index.js","components/SharedComponents/ClientSideRedirect/index.js","components/SharedComponents/CommunityBlogs/index.js","components/SharedComponents/CommunityFourm/index.js","components/SharedComponents/CommunityPostsContainer/index.js","components/SharedComponents/CookieConsent/index.js","components/SharedComponents/EventLink/index.js","components/SharedComponents/EventListCard/index.js","components/SharedComponents/FeatureCard/index.js","components/SharedComponents/FeatureCardSmall/index.js","components/SharedComponents/Footer/index.js","context/action/user.js","services/userService.js","components/SharedComponents/GlobalNavigation/index.js","components/SharedComponents/HorizontalTab/index.js","components/SharedComponents/HorizontalTabsContainer/index.js","components/SharedComponents/LinkWithIconListItem/index.js","lib/GraphQLData.js","components/SharedComponents/Masthead/index.js","components/SharedComponents/RichTextEditor/index.js","components/SharedComponents/StarRatingMobile/index.js","components/SharedComponents/VideoContent/index.js","temp/componentFactory.js","dataFetcher.js","components/SharedComponents/JsonLd/JsonLdData.js","Layout.js","ErrorComponent/index.js","ErrorPage.js","RouteHandler.js","AppRoot.js","index.js","lib/GraphQLClientFactory.js"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","all","slice","keys","Object","module","exports","initialUserState","user","isAuth","isLoginDone","state","action","type","data","StateContext","createContext","StateProvider","slices","children","Provider","React","useReducer","prevState","reduce","nextState","nextProp","dispatch","value","UseGlobalState","useContext","themeToggleValue","config","REACT_APP_THEME_TOGGLE","ThemeToggle","props","getAppBaseUri","REACT_APP_PUBLIC_PATH","replace","getSFaAuthConfig","baseUrl","REACT_APP_ORIGIN","authority","REACT_APP_SFA_AUTHORITY","client_id","REACT_APP_SFA_CLIENT_ID","post_logout_redirect_uri","redirect_uri","REACT_APP_AUTH_SIGN_IN_URL","scope","REACT_APP_SFA_SCOPE","silent_redirect_uri","REACT_APP_AUTH_SILENT_SIGN_IN_URL","test","REACT_APP_ENV","login","AzureB2CService","init","AuthConsumingService","returnUrl","URLSearchParams","location","search","get","URL","className","isLoading","signin","onUserLoggedIn","profile","logout","coveoUserToken","document","cookie","split","find","row","startsWith","coveoUserTokenValue","signOutCallback","undefined","window","signOut","onUserLoggedOut","RenderingStyling","rName","opts","withPlaceholder","fields","rendering","CommunityBlogsPlaceHolder","CommunityForumsPlaceHolder","componentName","field","title","class","FeedbackForm","loadable","ssr","withSitecoreContext","uid","sitecoreContext","isMobile","useState","setIsMobile","useEffect","handleWindowSizeChange","innerWidth","addEventListener","removeEventListener","useIsMobile","targetNodeList","getElementsByClassName","length","targetNode","observer","MutationObserver","mutationsList","addedNodes","buttons","querySelectorAll","forEach","button","classList","add","setAttribute","observe","childList","subtree","disconnect","FilterAndSearchContainerWithPlaceholderInjected","SpotlightContentPlaceholder","console","log","route","EnableA2ZSorting","renderSpotlightContentContainer","templateId","heading","shortDescription","facetsConfig","facets","facet","label","showCountsInFacet","isHierarchial","resultItemType","viewType","resultType","userSelectedViewtype","localStorage","getItem","JSON","parse","err","resultViewType","variant","resultVariant","hideBreadcrumb","pageEditing","CoveoOrganizationID","REACT_APP_COVEOORGANIZATIONID","CoveoGetTokenURI","REACT_APP_COVEOGETSEARCHTOKENURL","CoveoSearchHub","databaseName","landingPageSearchHub","CoveoQueryPipeline","REACT_APP_COVEOLANDINGPAGEQUERYPIPELINE","coveoQuery","token","isLoggedIn","enableA2zSort","FilterAndSearchContainerWithPlaceholderAndSitecoreContext","productHierarchyCoveoQuery","UXNSProducts","acc","currentValue","index","hierarchyPathsValue","HierarchyPaths","pop","shouldHideSpotlightContent","queryParams","hash","substring","x","FilterAndSearchSpotlightContentVariantAWithPlaceholderInjected","SpotlightLinksPlaceholder","FilterAndSearchSpotlightContentVariantAWithPlaceholderAndSitecoreContext","FilterAndSearchSpotlightContentVariantBWithPlaceholderInjected","FeaturedCardsPlaceholder","FilterAndSearchSpotlightContentVariantBWithPlaceholderAndSitecoreContext","CommunityContainer","link","href","srLabel","REACT_APP_COVEOHOMEPAGECOMMUNITYSEARCHHUB","REACT_APP_COVEOHOMEPAGECOMMUNITYQUERYPIPELINE","DocumentationContainer","REACT_APP_COVEOHOMEPAGEDOCUMENTATIONSEARCHHUB","REACT_APP_COVEOHOMEPAGEDOCUMENTATIONQUERYPIPELINE","HomeCard","Fragment","has-hover-effect","orientation","slot","content","DownloadCards","HomeCardsContainer","Cards","DownloadCardsPlaceholder","HelpCards","HelpCardsPlaceholder","HomepageMasthead","style","minHeight","coveoOrganizationID","coveoGetTokenURI","coveoQueryPipeline","REACT_APP_COVEOHOMEPAGESEARCHBOXQUERYPIPELINE","coveoSearchHub","REACT_APP_COVEOHOMEPAGESEARCHBOXSEARCHHUB","searchPage","REACT_APP_COVEOSEARCHPAGE","placeholderSearchBox","text","themes","theme","data-track","data-track-value","url","PromotionalBanner","backgroundImage","image","src","maxWidth","description","RecommendedContainer","REACT_APP_COVEOHOMEPAGERECOMMENDEDSEARCHHUB","REACT_APP_COVEOHOMEPAGERECOMMENDEDPIPELINE","StartDevelopingCard","media","lightImage","darkImage","StartDevelopingCardsPlaceholder","TopCardsSectionPlaceholder","AdditionalResourcesCard","links","listItem","key","pageTitle","otherLinks","viewAll","aria-hidden","ComponentsCardsPlaceholder","cardsHeading","EditionsTabContainer","table","eventHeading","eventLink","eventTitle","eventDetails","eventImage","eventContent","ctaLink","ctaName","selected_resource_Data","select_resource","resource","target","REACT_APP_COVEOPRODUCTPAGESEARCHHUB","REACT_APP_COVEOPRODUCTPAGEQUERYPIPELINE","CoveoRecommendedSearchHub","REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONSEARCHHUB","CoveoRecommendedQueryPipeline","REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONQUERYPIPELINE","searchEndPoint","REACT_APP_COVEOCACHEDENDPOINT","tabId","REACT_APP_COVEOKEYRESOURCESTABID","viewMoreLinkUrl","sitecoreResources","styleString","setStyleString","CheckVal","bgColorsForThemeChange","setbgColorsForThemeChange","getElementById","backgroundColor","color","themeToken","Program","RelativeDescription","tag","editable","data-sample","Button1_Url","Button1_Text","Button2_Url","Button2_Text","EdgeAuth","require","http","isStartDownload","makeRequest","options","callback","request","res","on","chunk","end","AdsTable","release","setReleaseData","isAsc","setisAsc","ea","REACT_APP_ENCRYPTIONKEY","windowSeconds","escapeEarly","getReleaseData","userData","setUserData","packageDownload","path","loaderEle","downloadUrl","PackageDownloadApi","packageUrl","generateURLToken","fileUrl","open","params","activeTab","a","akamai_url","AkamaiApi","new_url","release_item","Product","ReleaseTitle","hostname","REACT_APP_EA_HOSTNAME","statusCode","sortedData","fileInfos","sort","b","toLowerCase","triggerAutoDownload","downloadEle","click","isPlatform","filter","platform","isTarget","sortReleaseData","header","Number","paddingBottom","width","onClick","PlatformText","PackageText","TargetText","SizeText","MD5Text","info","display","hidden","data-title","ispermalink","name","PermanentPackageDownloadApi","download","event","mustAgree","currentTarget","remove","RequiredAuthentication","emailId","emails","docuSignClick","Clickwrap","render","environment","DocusignEnvironment","accountId","DocusignAccId","clickwrapId","DocusignClickWrapId","clientUserId","documentData","fullName","email","company","date","onAgreed","onDeclined","REACT_APP_PATHNAME","pathname","clickToDownload","bytesVal","parseFloat","isNaN","toFixed","ConvertBytes","size","position","onMouseUp","copyText","innerText","navigator","clipboard","writeText","preventDefault","clickToCopy","md5","ReleaseSection","release_list","ReleaseItemsDatasource","latest_release_name","LatestRelease","release_Item","isDefaultExpanded","DownloadsText","Date","ReleaseDate","getFullYear","toLocaleDateString","year","month","day","ReleaseNoteLink","ReleaseAdditionalInfo","displayName","hideProductTags","REACT_APP_COVEORESOURCESTABID","scopedProductsLabel","switchTagsLocation","useUrlParams","softwaredownloadcontent","SupportCardsPlaceholder","EventBannersPlaceholder","TrainingCardsPlaceholder","supportTitle","trainingTitle","SupportCard","pageLink","SupportedDevicesContainer","KeyResourcesPlaceholder","CallToActionButtonsPlaceholder","summary","isLargeImage","AdditionalResourcesCardPlaceholder","textAfterImage","ToolsAndSoftwareCard","ToolsAndSoftwareCardsPlaceholder","TrainingCard","subTitle","UseCaseCard","sc-part-of","bgColorstyle","UseCaseCardsPlaceholder","isUseCaseContainerExists","WorksWellWithCard","subHeading","WorksWellWithCardsPlaceholder","linktype","redirectLink","redirectUrl","origin","REACT_APP_SITECOREORIGIN","timeout","endsWith","redirectTime","counter","setCounter","timer","setInterval","clearTimeout","str","parts","result","i","push","formatJSXRedirectText","redirectText","CommunityBlog","blogID","OrFromBlogs","blog","toString","blogTagValues","KeywordTags","blogText","KeywordTagsText","blogTagText","join","blogTag","numberofPosts","NumberOfPosts","REACT_APP_COVEOCOMMUNITYSEARCHHUB","REACT_APP_COVEOCOMMUNITYQUERYPIPELINE","forumID","OrFromSingleForum","filterBy","FilterBy","CTAlink","role","aria-label","sitecoreURI","REACT_APP_SITECOREURI","sitecoreEndpoint","REACT_APP_COOKIEENPOINT","sitecoreDatasource","domain","REACT_APP_COOKIEDOMAIN","cookieData","disableCookie","EventLink","datetime","toLocaleString","toDateString","EventLinksPlaceholder","FeatureCard","FeatureCardSmall","FooterClient","REACT_APP_FOOTERSITECOREENDPOINT","REACT_APP_FOOTERSITECOREDATASOURCE","footerDomainUrl","REACT_APP_FOOTERDOMAINURL","footerData","initAzureB2CAction","getToken","getUser","isAuthenticated","catch","error","GlobalNavigationClient","appName","auth","menuLinks","REACT_APP_SITECORE_PROFILE_LINK","REACT_APP_SITECORE_SETTINGS_LINK","REACT_APP_SITECORE_NOTIFICATIONS_LINK","loginLink","registerLink","logoutLink","searchUrl","isTheme","scriptEnvironmentHostUrl","REACT_APP_ARM_GLOBALNAVIGATION_HOST","GlobalNavigation","notificationsApi","REACT_APP_SITECORE_NOTIFICATIONS_API","data-id","HorizontalTabsContainer","getTabName","activeTabVal","detail","setState","indexOf","this","tabsPlaceholder","prevProps","renderings","tabRendering","tabs","breakpoint","onTabSelect","evt","Component","tabsComponentWithPlaceholderInjected","placeholder","prop","tabsWithPlaceholderAndSitecoreContext","LinkWithIconListItem","iconCssClass","icon","alt","extractVariableNames","query","variableNames","definitions","def","variableDefinitions","defs","kind","variable","GraphQLData","configuration","SitecoreRenderingWrapper","newConfiguration","variables","pageState","some","operation","datasource","dataSource","contextItem","itemId","innerQuery","resultProps","assign","GQL","graphql","resetExperienceEditorChromes","process","NODE_TLS_REJECT_UNAUTHORIZED","graphQLResult","connectedQuery","dsItem","loading","navArray","prepareData","item","data-e2e-id","sr-label","RichTextEditor","RichTextField","VideoLink","controls","components","Map","componentFactory","set","Authentication","FilterAndSearchCommunityPostsContainer","FilterAndSearchContainer","FilterAndSearchSpotlightContentVariantA","FilterAndSearchSpotlightContentVariantB","DownloadsContainer","HelpContainer","StartDevelopingCards","StartDevelopingContainer","TopCardsSection","ComponentsTabContainer","EventBanner","KeyResources","ProductProgramBanner","ResourcesContainer","SoftwareDownloadsContainer","SupportAndTrainingCardsContainer","TechnicalSpecificationContainer","TechnicalSpecificationContainerVariantB","TechnicalSpecificationContainerVariantC","ToolsAndSoftwareCardsContainer","UseCaseCardsContainer","WorksWellWithCardsContainer","CallToActionButton","ClientSideRedirect","CommunityBlogs","CommunityFourm","CommunityPostsContainer","CookieConsent","EventListCard","Footer","HorizontalTab","Masthead","StarRatingMobile","StarsRating","VideoContent","dataFetcher","axios","method","withCredentials","JsonLdHelper","jsonLdScriptBody","pageDescription","extreactedFieldData","createJsonLdField","fieldData","fieldkey","Array","isArray","addFieldToJsonLd","getLd","UXNSAudience","UXNSCategories","UXNSContentType","stringify","Layout","OnetrustActiveGroups","includes","script","createElement","currenturl","onload","getCoveoToken","coveoToken","organizationAnalyticsEndpoint","getOrganizationEndpoints","analytics","coveoua","contentIdKey","contentIdValue","contentType","head","appendChild","REACT_APP_ERROR_PAGE_DEVELOPER_HOME_LINK","REACT_APP_ERROR_PAGE_DOCUMENTATION_LINK","REACT_APP_ERROR_PAGE_BLOGS_LINK","errorMessages","errorCode","message","linkMsg","ErrorComponent","errorMsg","renderLinks","ErrorPage","RouteHandler","extractRouteData","sitecore","context","notFound","defaultLanguage","routeData","language","componentIsMounted","languageIsChanging","ssrRenderComplete","updateRouteData","setSsrRenderComplete","sitecoreRoutePath","match","sitecoreRoute","fetchOptions","layoutServiceConfig","host","sitecoreApiHost","querystringParams","sc_lang","sc_apikey","sitecoreApiKey","fetcher","dataApi","fetchRouteData","response","status","getRouteData","REACT_APP_CONTENTHOME_PATH","lang","updateSitecoreContext","previousProps","existingRoute","newRoute","isExperienceEditorActive","updatable","routePatterns","AppRoot","ssrState","scriptTag","body","Router","graphQLClient","client","exact","component","routePattern","REACT_APP_ATM_HOSTNAME","renderFunction","ReactDOM","__JSS_STATE__","ssrRawJson","innerHTML","hydrate","initialGraphQLState","APOLLO_STATE","endpoint","initialCacheState","createPersistedQueryLink","concat","BatchHttpLink","uri","credentials","cache","InMemoryCache","fragmentMatcher","IntrospectionFragmentMatcher","introspectionQueryResultData","ApolloClient","ssrMode","ssrForceFetchDelay","restore","GraphQLClientFactory","graphQLEndpoint","rootElement","BrowserRouter"],"mappings":"o+EAAA,IAAIA,EAAM,CACT,uBAAwB,CACvB,IACA,IAED,8BAA+B,CAC9B,IACA,IAED,wBAAyB,CACxB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,4BAA6B,CAC5B,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,sBAAuB,CACtB,IACA,IAED,4BAA6B,CAC5B,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,0BAA2B,CAC1B,IACA,EACA,IAED,0BAA2B,CAC1B,IACA,IAED,iCAAkC,CACjC,IACA,IAED,6BAA8B,CAC7B,IACA,IAED,wBAAyB,CACxB,IACA,IAED,mCAAoC,CACnC,IACA,GAED,iCAAkC,CACjC,IACA,GAED,mCAAoC,CACnC,IACA,GAED,wBAAyB,CACxB,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,uBAAwB,CACvB,IACA,IAED,qCAAsC,CACrC,IACA,IAED,4BAA6B,CAC5B,IACA,IAED,6BAA8B,CAC7B,IACA,IAED,0BAA2B,CAC1B,IACA,IAED,wBAAyB,CACxB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,yBAA0B,CACzB,IACA,IAED,qBAAsB,CACrB,IACA,IAED,wBAAyB,CACxB,IACA,IAED,yBAA0B,CACzB,IACA,EACA,IAED,oCAAqC,CACpC,IACA,GAED,+BAAgC,CAC/B,IACA,KAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAON,QAAQQ,IAAIF,EAAIG,MAAM,GAAGd,IAAIG,EAAoBK,IAAID,MAAK,WAChE,OAAOJ,EAAoBS,MAG7BX,EAAoBc,KAAO,WAC1B,OAAOC,OAAOD,KAAKf,IAEpBC,EAAoBW,GAAK,IACzBK,EAAOC,QAAUjB,G,kFCnJjBgB,EAAOC,QAAU,CACf,eAAkB,uCAClB,gBAAmB,6BACnB,WAAc,eACd,gBAAmB,KACnB,oBAAuB,oBACvB,oCAAuC,sBACvC,uBAA0B,4BAC1B,2BAA8B,UAC9B,kCAAqC,iBACrC,yBAA4B,+CAC5B,yBAA4B,gDAC5B,2BAA8B,sCAC9B,2BAA8B,uCAC9B,uBAA0B,WAC1B,wBAA2B,wBAC3B,8BAAiC,8DACjC,sCAAyC,YACzC,iDAAoD,wBACpD,kCAAqC,YACrC,iCAAoC,sBACpC,8CAAiD,yBACjD,0CAA6C,+BAC7C,kDAAqD,yBACrD,8CAAiD,gCACjD,2CAA8C,8BAC9C,4CAA+C,8BAC/C,8CAAiD,YACjD,0CAA6C,gBAC7C,iCAAoC,kBACpC,wCAA2C,sBAC3C,8BAAiC,+BACjC,wCAA2C,kBAC3C,sDAAyD,gCACzD,kDAAqD,gCACrD,oCAAuC,kBACvC,8BAAiC,eACjC,0BAA6B,4BAC7B,sBAAyB,oBACzB,wBAA2B,mEAC3B,gCAAmC,wCACnC,yCAA4C,4BAC5C,wCAA2C,2CAC3C,0BAA6B,6BAC7B,mCAAsC,uCACtC,iCAAoC,gBACpC,sCAAyC,uCACzC,oCAAuC,2BACvC,iCAAoC,OACpC,+BAAkC,OAClC,iBAAoB,4BACpB,mBAAsB,IACtB,wBAA2B,oFAC3B,wBAA2B,uCAC3B,oBAAuB,uDACvB,yBAA4B,4BAC5B,sBAAyB,6BACzB,qCAAwC,8DACxC,sCAAyC,mDACzC,gCAAmC,iEACnC,iCAAoC,kEACpC,uBAA0B,OAC1B,gBAAmB,+F,m8BC5DNC,EAAmB,CAAEC,KAAM,KAAMC,QAAQ,EAAOC,aAAa,GAEnE,SAASF,EAAMG,EAAOC,GAC3B,OAAQA,EAAOC,MACb,ICT8B,uBDU5B,OAAO,2BACFF,GADL,IAEEH,KAAMI,EAAOE,KAAKN,KAClBC,OAAQG,EAAOE,KAAKL,OACpBC,aAAa,IAEjB,QACE,OAAOC,GENR,IAAMI,EAAeC,wBAAcT,GAC7BU,EAAgB,SAAC,GAGvB,IAEoBC,EAHzBC,EACI,EADJA,SAEQC,EAAaL,EAAbK,SADJ,EAasBC,IAAMC,YAXPJ,EAYT,CAAEV,QAZkB,SAClCe,EACAX,GAFkC,OAIlCR,OAAOD,KAAKe,GAAQM,QAClB,SAACC,EAAWC,GAAZ,mBAAC,eACID,GADL,kBAEGC,EAAWR,EAAOQ,GAAUH,EAAUG,GAAWd,OAEpDW,KAIJ,CACEf,KAAMD,IAhBJ,mBAaGI,EAbH,KAaUgB,EAbV,KAmBJ,OAAO,kBAACP,EAAD,CAAUQ,MAAO,CAACjB,EAAOgB,IAAYR,IAGjCU,EAAiB,kBAAMC,qBAAWf,I,iBCjCzCgB,EAA2D,SAAvC,UAAGC,IAAOC,wBA0BrBC,EAzBK,SAACC,GACnB,OACE,oCACA,kBAAC,IAAD,KAEMJ,GAAoB,+mBAgBvBI,EAAMhB,WCnBN,SAASiB,IACd,OAASJ,IAAOK,uBAA0B,IAAIC,QAAQ,KAAM,KAAO,IAI9D,SAASC,IACd,IAAMC,EAAUR,IAAOS,iBAAmBL,IAC1C,MAAO,CACLM,UAAWV,IAAOW,wBAClBC,UAAWZ,IAAOa,wBAClBC,yBAA0BN,EAAU,WACpCO,aAAcP,EAAUR,IAAOgB,2BAC/BC,MAAOjB,IAAOkB,oBACdC,oBAAqBX,EAAUR,IAAOoB,kCACtCC,KAAMrB,IAAOsB,eAKV,IAAMC,EAAQ,SAACpB,GAclB,OAbAqB,kBAAgBC,KACdC,uBACA,KACAnB,IACA,KACA,KACA5C,MAAK,WACL,IACMgE,EADS,IAAIC,gBAAgBzB,EAAM0B,SAASC,QACzBC,IAAI,aAC7BP,kBAAgBD,OACd,EACA,IAAIS,IAAJ,UAAWhC,IAAOS,kBAAlB,OAAqCkB,QAGvC,kBAAC,EAAD,KACE,yBAAKM,UAAU,8BACb,kBAAC,YAAD,CAAWC,WAAS,OAKfC,EAAS,WAAO,IAAD,EACLtC,IAAZF,EADiB,oBAS5B,OACG,kBAAC,EAAD,KACC,kBAAC,qBAAD,CAAoByC,eATC,SAAC5D,GAKxB,OAJAmB,EAAS,CACPd,KHpD8B,uBGqD9BC,KAAM,CAAEL,QAAQ,EAAMD,KAAMA,EAAK6D,WAE5B5E,QAAQC,QAAQc,MAGtB,MAKU8D,EAAS,WAEpB,IACMC,EAAiBC,SAASC,OAAOC,MAAM,MAAMC,MAAK,SAACC,GAAD,OAASA,EAAIC,WAD1C,qBAE3B,GAAGN,EAAe,CAChB,IAAMO,EAAsBP,EAAeG,MAAM,KAAK,GACtDF,SAASC,OAAT,UAJyB,iBAIzB,YAA2CK,EAA3C,2DAUF,OARAtB,kBAAgBC,KACdC,uBACA,KACAnB,IACA,KACA5C,MAAK,WACL6D,kBAAgBc,YAGhB,kBAAC,EAAD,KACE,yBAAKL,UAAU,8BACb,kBAAC,YAAD,CAAWC,WAAS,OAMfa,EAAkB,WAK7B,YAJaC,GAAVC,SAEDA,OAAOpB,SAAW7B,IAAOS,iBAAmB,KAEvCe,kBAAgBC,KACrBC,uBACA,KACAnB,IACAH,KACA,IAKS8C,EAAU,WACrB,OACE,kBAAC,EAAD,KACE,kBAAC,sBAAD,CAAqBC,gBAAiBJ,MAM/BxB,IC1GA6B,EANU,SAACC,GAClB,IAAIC,EAAO,GAEX,OADAA,EAAK,qBAAuBD,EACrBC,GCuBAC,G,OAAAA,0BAAgB,CAAC,4BAA4B,8BAA7CA,EApBgC,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAWC,EAAtB,EAAsBA,0BAA2BC,EAAjD,EAAiDA,2BAAjD,OAC7C,2CAAU1B,UAAU,0CAA6CmB,EAAiBK,EAAUG,gBAC1F,yBAAK3B,UAAU,6BACb,yBAAKA,UAAU,8FACb,yBAAKA,UAAU,kBACb,6BAASA,UAAU,wBACjB,wBAAIjE,GAAG,kBAAkBiE,UAAU,2DAA0D,kBAAC,OAAD,CAAM4B,MAAK,OAAEL,QAAF,IAAEA,OAAF,EAAEA,EAAQM,SAClH,yBAAM7B,UAAU,oEACbyB,GAEH,yBAAKK,MAAM,0BACRJ,Y,yBCZTK,EAAeC,aACnB,kBACE,oCACF,CAAEC,KAAK,IAoEMC,uCAjEK,SAAC,GAA6B,EAA3BC,IAA2B,EAAtBC,gBAAuB,IAC3CC,EAkDR,WAAwB,IAAD,EACWC,oBAAS,GADpB,mBACdD,EADc,KACJE,EADI,KAWrB,OARAC,qBAAU,WACR,SAASC,IACPF,EAAYvB,OAAO0B,WAAa,MAIlC,OAFA1B,OAAO2B,iBAAiB,SAAUF,GAClCA,IACO,kBAAMzB,OAAO4B,oBAAoB,SAAUH,MACjD,IACIJ,EA7DUQ,GAsCjB,OArCAL,qBAAU,WACR,IAAMM,EAAiBvC,SAASwC,uBAC9B,6BAEF,GAAID,EAAeE,OAAS,EAAG,CAC7B,IAAMC,EAAaH,EAAe,GAyB5BI,EAAW,IAAIC,kBAtBJ,SAACC,GAAmB,IAAD,gBACXA,GADW,IAClC,2BAAsC,CACpC,GADoC,QACvBC,WAAWL,OAAS,EAAG,CAClC,IAAMM,EAAU/C,SAASgD,iBACvB,0CAEFD,GACEA,EAAQE,SAAQ,SAACC,GACXA,IACFA,EAAOzD,UAAY,GACnByD,EAAOC,UAAUC,IACf,eACA,aACA,aAEFF,EAAOG,aAAa,QAAS,uCAfL,kCAyBpC,OAFAV,EAASW,QAAQZ,EAzBF,CAAEa,WAAW,EAAMC,SAAS,IA2BpC,kBAAMb,EAASc,mBAKvB3B,GACC,uCACErC,UAAU,4HACNmB,EAAiB,eAErB,kBAACY,EAAD,UCmFFkC,G,OAAkD3C,0BACtD,8BADsDA,EA7HvB,SAAC,GAK3B,IAAD,8BAJJC,EAII,EAJJA,OACAC,EAGI,EAHJA,UACAY,EAEI,EAFJA,gBACA8B,EACI,EADJA,4BACI,EACetG,IAAVrB,EADL,oBACKA,KACT4H,QAAQC,IAAR,UAAYhC,EAAgBiC,aAA5B,iBAAY,EAAuB9C,cAAnC,iBAAY,EAA+B+C,wBAA3C,aAAY,EAAiD3G,OAC7D,IAAI4G,EAAkC,WACpC,OACE,oCACE,yBAAKvE,UAAU,yEACb,6BC1BqC,wCD2BlCoC,EAAgBiC,MAAMG,WAErB,wBAAIxE,UAAU,kBACZ,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WAGtB,IAGJ,kBAAC,EAAD,CAAatC,IAAKX,EAAUW,OCpCS,wCDuCtCC,EAAgBiC,MAAMG,WACrB,2BACE,kBAAC,OAAD,CAAM5C,MAAOL,EAAOmD,oBAGtB,GAEDR,EC9CsC,wCDgDtC9B,EAAgBiC,MAAMG,WACrB,6BACE,wBAAIxE,UAAU,kBACZ,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WAEtB,2BACE,kBAAC,OAAD,CAAM7C,MAAOL,EAAOmD,qBAIxB,KAMFC,EAAY,UAAGpD,EAAOqD,cAAV,aAAG,EAAezJ,KAAI,SAAC0J,GAAW,IAAD,EAClB,MAA/B,aAAIA,EAAMtD,OAAOK,aAAjB,aAAI,EAAoBjE,MACtB,MAAO,CACLkE,MAAM,GAAD,iBAAKgD,EAAMtD,OAAOuD,aAAlB,aAAK,EAAoBnH,OAC9BiE,MAAM,GAAD,OAAKiD,EAAMtD,OAAOK,MAAMjE,OAC7BoH,kBAAiB,UAAEF,EAAMtD,OAAOwD,yBAAf,aAAE,EAAgCpH,MACnDqH,cAAa,UAAEH,EAAMtD,OAAOyD,qBAAf,aAAE,EAA4BrH,UAsB3CsH,EAAiB,CACrBrI,KAlBqB,WAAO,IAAD,IACvBsI,EAAQ,oBAAM3D,EAAO4D,kBAAb,iBAAM,EAAmB5D,OAAO5D,aAAhC,aAAM,EAAiCA,OACnD,IACE,GAAsB,qBAAXqD,OAAwB,CAAC,IAAD,EAC3BoE,EAAoB,UAAGC,oBAAH,aAAG,EAAcC,QAAQ,YAInD,OAHIF,IACFF,EAAWK,KAAKC,MAAMJ,IAEjBF,GAET,MAAOO,GACPtB,QAAQC,IAAIqB,GATd,QAWE,OAAOP,GAKHQ,GACNC,QAAQ,GAAD,iBAAKpE,EAAOqE,qBAAZ,iBAAK,EAAsBrE,OAAO5D,aAAlC,aAAK,EAAoCA,OAChDkI,gBAAgB,GAGlB,OACE,2CACE7F,UAAU,0CACNmB,EAAiBK,EAAUG,gBAE/B,yBAAK3B,UAAU,6BACZoC,EAAgB0D,YACf,yBAAK9F,UAAU,iCACZuE,KAGH,IAEG,OAAJhI,QAAI,IAAJA,OAAA,EAAAA,EAAME,cACL,kBAAC,gBAAD,CACEsJ,oBAAmB,UAAKhI,IAAOiI,+BAC/BC,iBAAgB,UAAKlI,IAAOmI,kCAC5BC,eACwC,UAAtC/D,EAAgBiC,MAAM+B,aAClB,2BAAY7E,EAAO8E,4BAAnB,iBAAY,EAA6B9E,OAAO5D,aAAhD,aAAY,EAA2CA,OAD3D,oBAEO4D,EAAO8E,4BAFd,iBAEO,EAA6B9E,OAAO5D,aAF3C,aAEO,EAA2CA,OAEpD2I,mBAAkB,UAAKvI,IAAOwI,yCAC9BC,WAAU,oBAAKjF,EAAOiF,kBAAZ,aAAK,EAAmB7I,OAClCpB,KAAM,CAAEkK,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,QAClDmI,aAAcA,EACdM,eAAgBA,EAChB0B,cAAa,UACXvE,EAAgBiC,aADL,iBACX,EAAuB9C,cADZ,iBACX,EAA+B+C,wBADpB,aACX,EAAiD3G,OAGjDyE,EAAgB0D,YAEd,GADAvB,WAgBDqC,EAFb1E,gCAAsB+B,GE9IX4C,EAA6B,SAACzE,GAAqB,IAAD,IAC7D,OAAsB,OAAfA,QAAe,IAAfA,GAAA,UAAAA,EAAiBiC,aAAjB,mBAAwB9C,cAAxB,eAAgCuF,cAAe1E,EAAgBiC,MAAM9C,OAAOuF,aAAavJ,QAAO,SAACwJ,EAAKC,EAAcC,GACzH,IACMC,EADsBF,EAAazF,OAAO4F,eAAexJ,MAAM8C,MAAM,KAC3B2G,MAEhD,OADAL,EAAgB,IAAVE,EAAA,2CAAkDC,EAAlD,KAA2EH,EAAG,+CAA2CG,EAA3C,OAEnF,IAAM,IAGEG,EAA6B,SAACjF,GAAqB,IAAD,cAC3D,GAAIA,EAAgB0D,aAAiC,qBAAX9E,OAAwB,OAAO,EACzE,IAAIsG,EAAW,UAAGtG,OAAOpB,SAAS2H,YAAnB,iBAAG,EAAsBC,UAAU,UAAnC,aAAG,EAAoC/G,MAAM,KAC5D,OAAkB,OAAX6G,QAAW,IAAXA,GAAA,UAAAA,EAAa5G,MAAK,SAAA+G,GAAC,OAAIA,EAAE7G,WAAW,gBAApC,eAA4CoC,QAAS,IACrD,UAAAsE,EAAY5G,MAAK,SAAA+G,GAAC,OAAIA,EAAE7G,WAAW,gBAAnC,eAA2CoC,QAAS,IACpD,UAAAsE,EAAY5G,MAAK,SAAA+G,GAAC,OAAIA,EAAE7G,WAAW,iBAAnC,eAA4CoC,QAAS,IACrD,UAAAsE,EAAY5G,MAAK,SAAA+G,GAAC,OAAIA,EAAE7G,WAAW,gBAAnC,eAA2CoC,QAAS,IACpD,UAAAsE,EAAY5G,MAAK,SAAA+G,GAAC,OAAIA,EAAE7G,WAAW,iBAAnC,eAA4CoC,QAAS,GCH1D0E,EAAiEpG,0BAAgB,4BAAhBA,EAVvB,SAAC,GAA+D,IAA7DqG,EAA4D,EAA5DA,0BAA2BnG,EAAiC,EAAjCA,UAAWY,EAAsB,EAAtBA,gBAErF,OAAOiF,EAA2BjF,GAAmB,GACjD,wBAASjB,EAAiBK,EAAUG,eAChC,wBAAI3B,UAAU,gHACT2H,OASFC,EAFkE1F,gCAAsBwF,GCFjGG,EAAiEvG,0BAAgB,2BAAhBA,EAVvB,SAAC,GAA8D,IAA5DE,EAA2D,EAA3DA,UAAWY,EAAgD,EAAhDA,gBAAiB0F,EAA+B,EAA/BA,yBAC3E,OAAOT,EAA2BjF,GAAmB,GACnD,wBAASjB,EAAiBK,EAAUG,eAClC,6BAAS3B,UAAU,qFACd8H,OAUEC,EAFkE7F,gCAAsB2F,G,qBCmBxFG,GA5BY,SAAC9J,GAAW,IAAD,IACjBN,IAAVrB,EAD2B,oBAC3BA,KACT,OACE,uCAAKyD,UAAU,eAAmBmB,EAAiBjD,EAAMsD,UAAUG,gBACjE,yBAAK3B,UAAU,SACb,yBAAKA,UAAU,SACG,MAAnB9B,EAAMqD,OAAO0G,MAA4C,IAA9B/J,EAAMqD,OAAO0G,KAAKtK,MAAMuK,KAChD,kBAAC,aAAD,CAAYD,KAAM/J,EAAMqD,OAAO0G,KAAKtK,MAAMuK,KAAMC,QAASjK,EAAMqD,OAAOkD,QAAQ9G,MAAOqC,UAAU,kEAC7F,wBAAIA,UAAU,8BAA6B,kBAAC,OAAD,CAAM4B,MAAO1D,EAAMqD,OAAOkD,YAGvE,wBAAIzE,UAAU,mGAAkG,kBAAC,OAAD,CAAM4B,MAAO1D,EAAMqD,OAAOkD,aAI9I,6BACE,kBAAC,KAAD,CACEsB,oBAAmB,UAAKhI,IAAOiI,+BAC/BC,iBAAgB,UAAKlI,IAAOmI,kCAC5BC,eAAc,UAAKpI,IAAOqK,2CAC1B9B,mBAAkB,UAAKvI,IAAOsK,+CAC9B9L,KAAM,CAAEkK,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,aCO7C8L,I,OA3BgB,SAACpK,GAAW,IAAD,IACrBN,IAAVrB,EAD+B,oBAC/BA,KACT,OACA,uCAAKyD,UAAU,eAAmBmB,EAAiBjD,EAAMsD,UAAUG,gBACjE,yBAAK3B,UAAU,SACb,yBAAKA,UAAU,SACK,MAAnB9B,EAAMqD,OAAO0G,MAA4C,IAA9B/J,EAAMqD,OAAO0G,KAAKtK,MAAMuK,KAClD,kBAAC,aAAD,CAAYD,KAAM/J,EAAMqD,OAAO0G,KAAKtK,MAAMuK,KAAMC,QAASjK,EAAMqD,OAAOkD,QAAQ9G,MAAOqC,UAAU,kEAC7F,wBAAIA,UAAU,8BAA6B,kBAAC,OAAD,CAAM4B,MAAO1D,EAAMqD,OAAOkD,YAGvE,wBAAIzE,UAAU,mGAAkG,kBAAC,OAAD,CAAM4B,MAAO1D,EAAMqD,OAAOkD,aAI9I,6BACI,kBAAC,KAAD,CACEsB,oBAAmB,UAAKhI,IAAOiI,+BAC/BC,iBAAgB,UAAKlI,IAAOmI,kCAC5BC,eAAc,UAAKpI,IAAOwK,+CAC1BjC,mBAAkB,UAAKvI,IAAOyK,mDAC9BjM,KAAM,CAAEkK,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,cCP7CiM,I,OAfE,SAAC,GAAD,IAAElH,EAAF,EAAEA,OAAF,OACf,kBAAC,IAAMmH,SAAP,KACE,kBAAC,UAAD,CAAS1I,UAAU,oDAAoDmI,QAAS5G,EAAOkD,QAAQ9G,MAAOsK,KAAM1G,EAAO0G,KAAKtK,MAAMuK,KAAMS,mBAAiB,GAAGC,YAAY,YAClK,kBAAC,iBAAD,CAAgBC,KAAK,UAAU7I,UAAU,+BACvC,yBAAKA,UAAU,sCACb,wBAAIA,UAAU,wDAAuD,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACzF,yBAAKzE,UAAU,iCACb,kBAAC,WAAD,CAAUA,UAAU,WAAW4B,MAAOL,EAAOuH,iBCP1CC,GAJO,SAAC,GAAD,IAAExH,EAAF,EAAEA,OAAQC,EAAV,EAAUA,UAAV,OACpB,kBAAC,GAAD,iBAAcL,EAAiBK,EAAUG,eAAzC,CAAyDJ,OAAQA,MCwBpDyH,GAvBY,SAAC9K,GAAD,OACzB,uCAAK8B,UAAU,eAAmBmB,EAAiBjD,EAAMsD,UAAUG,gBACjE,yBAAK3B,UAAU,SACb,yBAAKA,UAAU,SACK,MAAnB9B,EAAMqD,OAAO0G,MAA4C,IAA9B/J,EAAMqD,OAAO0G,KAAKtK,MAAMuK,KAClD,kBAAC,aAAD,CAAYD,KAAM/J,EAAMqD,OAAO0G,KAAKtK,MAAMuK,KAAMC,QAASjK,EAAMqD,OAAOkD,QAAQ9G,MAAOqC,UAAU,kEAC7F,wBAAIA,UAAU,8BAA6B,kBAAC,OAAD,CAAM4B,MAAO1D,EAAMqD,OAAOkD,YAGvE,wBAAIzE,UAAU,oGAAmG,kBAAC,OAAD,CAAM4B,MAAO1D,EAAMqD,OAAOkD,aAI/I,yBAAKzE,UAAU,SACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,8CACZ9B,EAAM+K,WCbF3H,6BAAgB,2BAAhBA,EAJY,SAACpD,GAAD,OACzB,kBAAC,GAAD,iBAAwBiD,EAAiBjD,EAAMsD,UAAUG,eAAoBzD,EAA7E,CAAoF+K,MAAO/K,EAAMgL,+BCEpFC,GAJG,SAAC,GAAD,IAAE5H,EAAF,EAAEA,OAAQC,EAAV,EAAUA,UAAV,OAChB,kBAAC,GAAD,iBAAcL,EAAiBK,EAAUG,eAAzC,CAAyDJ,OAAQA,MCIpDD,6BAAgB,uBAAhBA,EAJO,SAACpD,GAAD,OACpB,kBAAC,GAAD,iBAAwBiD,EAAiBjD,EAAMsD,UAAUG,eAAoBzD,EAA7E,CAAoF+K,MAAO/K,EAAMkL,2BCqCpFC,I,OAnCU,SAACnL,GAAW,IAAD,QACfN,IAAVrB,EADyB,oBACzBA,KACP,OACI,0CAAQR,GAAG,cAAiBoF,EAAiBjD,EAAMsD,UAAUG,eAA7D,CAA6E3B,UAAU,8LACnF,yBAAKA,UAAU,4CACX,yBAAKA,UAAU,kCACX,yBAAKA,UAAU,qBACX,wBAAIA,UAAU,kFACV,kBAAC,WAAD,CAAU4B,MAAO1D,EAAMqD,OAAOkD,WAElC,yBAAKzE,UAAU,kFAAkFsJ,MAAO,CAAEC,UAAW,SACjH,kBAAC,kBAAD,CAAiBC,oBAAmB,UAAKzL,IAAOiI,+BAC5CyD,iBAAgB,UAAK1L,IAAOmI,kCAC5BwD,mBAAkB,UAAK3L,IAAO4L,+CAC9BC,eAAc,UAAK7L,IAAO8L,2CAC1BtN,KAAM,CAAEkK,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,QAClDsN,WAAU,UAAK/L,IAAOgM,2BACtBC,qBAAoB,UAAE9L,EAAMqD,OAAOyI,4BAAf,aAAE,EAAmCrM,SAGjE,6BACI,yBAAKqC,UAAU,4DAA2D,kBAAC,OAAD,CAAM4B,MAAO1D,EAAMqD,OAAO0I,QACpG,yBAAKjK,UAAU,uDAAf,UACI9B,EAAMqD,OAAO2I,cADjB,aACI,EAAqB/O,KAAI,SAACgP,GAAD,mBACvB,uBAAGnK,UAAU,uBAAuBoK,aAAW,OAAOC,mBAAA,UAAkBF,EAAM5I,OAAOuD,aAA/B,aAAkB,EAAoBnH,MAAOuK,KAAI,UAAEiC,EAAM5I,OAAO0G,YAAf,iBAAE,EAAmBtK,aAArB,aAAE,EAA0B2M,KAAnI,UAAyIH,EAAM5I,OAAOuD,aAAtJ,aAAyI,EAAoBnH,kBCPhL4M,GAtBW,SAAC,GAAD,IAAEhJ,EAAF,EAAEA,OAAQC,EAAV,EAAUA,UAAV,OACxB,kBAAC,IAAMkH,SAAP,KACM,6CAAavH,EAAiBK,EAAUG,eAAxC,CAAwDG,MAAM,2DAA2DwH,MAAO,CAACC,UAAW,OAC1I,yBAAKzH,MAAM,yBAAyBwH,MAAO,CAACkB,gBAAgB,QAAD,OAAUjJ,EAAOkJ,MAAM9M,MAAM+M,IAA7B,SAC3D,yBAAK5I,MAAM,4GACT,yBAAKA,MAAM,eACT,yBAAKA,MAAM,SACT,yBAAKA,MAAM,SACT,wBAAIqI,MAAM,OAAOrI,MAAM,cAAa,kBAAC,OAAD,CAAOF,MAAOL,EAAOkD,WACzD,yBAAK3C,MAAM,mFACX,uBAAGqI,MAAM,OAAOb,MAAO,CAACqB,SAAU,MAC/B,kBAAC,OAAD,CAAM/I,MAAOL,EAAOqJ,gBAGvB,uBAAGT,MAAM,OAAOjC,KAAM3G,EAAO0G,KAAKtK,MAAMuK,KAAMkC,aAAW,OAAOC,mBAAkB9I,EAAO0G,KAAKtK,MAAMsM,KAAMnI,MAAM,qCAAhH,IAAsJP,EAAO0G,KAAKtK,MAAMsM,KAAxK,YCsBHY,GA9Bc,SAAC3M,GAAW,IAAD,IACnBN,IAAVrB,EAD6B,oBAC7BA,KACT,OACE,6BAASyD,UAAU,0IACf,uCAAKA,UAAU,eAAmBmB,EAAiBjD,EAAMsD,UAAUG,gBAC/D,yBAAK3B,UAAU,SACX,yBAAKA,UAAU,SACK,MAAnB9B,EAAMqD,OAAO0G,MAA4C,IAA9B/J,EAAMqD,OAAO0G,KAAKtK,MAAMuK,KAChD,kBAAC,aAAD,CAAYD,KAAM/J,EAAMqD,OAAO0G,KAAKtK,MAAMuK,KAAMC,QAASjK,EAAMqD,OAAOkD,QAAQ9G,MAAOqC,UAAU,kEAC3F,wBAAIA,UAAU,8BAA6B,kBAAC,OAAD,CAAM4B,MAAO1D,EAAMqD,OAAOkD,YAGzE,wBAAIzE,UAAU,mGAAkG,kBAAC,OAAD,CAAM4B,MAAO1D,EAAMqD,OAAOkD,aAIlJ,6BACI,kBAAC,KAAD,CACIsB,oBAAmB,UAAKhI,IAAOiI,+BAC/BC,iBAAgB,UAAKlI,IAAOmI,kCAC5BC,eAAc,UAAKpI,IAAO+M,6CAC1BxE,mBAAkB,UAAKvI,IAAOgN,4CAC9BxO,KAAM,CAAEkK,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,cCLvDwO,GAhBa,SAAC,GAAD,IAAEzJ,EAAF,EAAEA,OAAQC,EAAV,EAAUA,UAAV,OAC1B,kBAAC,IAAMkH,SAAP,KACI,kBAAC,UAAD,iBAAavH,EAAiBK,EAAUG,eAAxC,CAAwDG,MAAM,2DAA2DmG,KAAM1G,EAAO0G,KAAKtK,MAAMuK,KAAMC,QAAS5G,EAAOkD,QAAQ9G,MAAOgL,oBAAA,IAClL,kBAAC,iBAAD,CAAgBE,KAAK,WACnB,yBAAK/G,MAAM,6CACT,6BAASA,MAAM,sCACb,kBAAC,QAAD,CAAOA,MAAM,8CAA8CmJ,MAAO1J,EAAO2J,aACzE,kBAAC,QAAD,CAAOpJ,MAAM,8CAA8CmJ,MAAO1J,EAAO4J,aAE3E,wBAAIrJ,MAAM,sEAAqE,kBAAC,OAAD,CAAMF,MAAOL,EAAOkD,gBCalGnD,6BAAgB,kCAAhBA,EA1BuB,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAW4J,EAAtB,EAAsBA,gCAAtB,OACtC,2CAASrP,GAAG,oBAAuBoF,EAAiBK,EAAUG,eAA9D,CAA8EG,MAAM,yQACpF,yBAAKA,MAAM,eACT,yBAAKA,MAAM,SACT,yBAAKA,MAAM,SACG,MAAbP,EAAO0G,MAAsC,IAAxB1G,EAAO0G,KAAKtK,MAAMuK,KACtC,kBAAC,aAAD,CAAYD,KAAM1G,EAAO0G,KAAKtK,MAAMuK,KAAMC,QAAS5G,EAAOkD,QAAQ9G,MAAOmE,MAAM,kEAAiE,wBAAIA,MAAM,8BAA6B,kBAAC,OAAD,CAAMF,MAAOL,EAAOkD,YAE7M,wBAAI3C,MAAM,mGAAkG,kBAAC,OAAD,CAAMF,MAAOL,EAAOkD,aAIlI,yBAAK3C,MAAM,SACT,yBAAKA,MAAM,SAET,yBAAKA,MAAM,mFAEVsJ,UCbQ9J,6BAAgB,6BAAhBA,EANS,SAAC,GAAD,IAAGE,EAAH,EAAGA,UAAW6J,EAAd,EAAcA,2BAAd,OACpB,6CAAalK,EAAiBK,EAAUG,eAAxC,CAAwD3B,UAAU,iLAC7DqL,MCgCMC,I,OA7BiB,SAAC,GAAD,IAAE/J,EAAF,EAAEA,OAAQC,EAAV,EAAUA,UAAV,OAC5B,kBAAC,IAAMkH,SAAP,KACI,kBAAC,UAAD,iBAAavH,EAAiBK,EAAUG,eAAxC,CAAwD3B,UAAU,kEAAkEjE,GAAG,uBAAuB6M,YAAY,aACtK,kBAAC,iBAAD,CAAgBC,KAAK,WACjB,yBAAK7I,UAAU,+BACX,4BAAI,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACxB,wBAAIzE,UAAU,2DACTuB,EAAOgK,OACJhK,EAAOgK,MAAMpQ,KAAI,SAACqQ,EAAUvE,GAAX,OACb,wBAAIwE,IAAG,mBAAcxE,IACjB,uBAAGiB,KAAMsD,EAASlB,IAAKF,aAAW,OAAOC,mBAAkBmB,EAASjK,OAAOmK,UAAU/N,OAAO,kBAAC,OAAD,CAAMiE,MAAO4J,EAASjK,OAAOmK,kBAIzI,yBAAK1L,UAAU,iHACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAOoK,cAE5B,0BAAM3L,UAAU,6BACZ,kBAAC,OAAD,CAAM4B,MAAOL,EAAOqK,QAAS5L,UAAU,iCAAiCoK,aAAW,OAAOC,mBAAkB9I,EAAOqK,QAAQjO,MAAMsM,OACjI,0BAAMjK,UAAU,mBAAmB6L,cAAY,QAC3C,0BAAM7L,UAAU,iCCD7BsB,6BAAgB,6BAAhBA,EAtBgB,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAWsK,EAAtB,EAAsBA,2BAAtB,OAC3B,yCAAS3K,EAAiBK,EAAUG,eAApC,CAAoD3B,UAAU,qEAC1D,yBAAKA,UAAU,mBACX,yBAAKA,UAAU,0HACX,6BACI,wBAAIA,UAAU,cAAa,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,YAEnD,kBAAC,EAAD,CAAatC,IAAKX,EAAUW,OAEhC,yBAAKnC,UAAU,yCACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAO0I,QAE5B,4BACI,kBAAC,OAAD,CAAMrI,MAAOL,EAAOwK,gBAExB,yBAAK/L,UAAU,8CACV8L,QCCFE,I,OAjBc,SAAC,GAAD,IAAGzK,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAX,OACzB,yCAASL,EAAiBK,EAAUG,eAApC,CAAoD3B,UAAU,qEAC1D,yBAAK8B,MAAM,kBACP,yBAAK9B,UAAU,0HACX,6BACI,wBAAIA,UAAU,cAAa,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,YAEnD,kBAAC,EAAD,CAAatC,IAAKX,EAAUW,OAEhC,6BACA,kBAAC,WAAD,CAAUP,MAAOL,EAAO0I,OACxB,kBAAC,WAAD,CAAUrI,MAAOL,EAAO0K,aCuBrB/J,I,OAAAA,iCA/BK,SAAC,GAAD,MAAGX,EAAH,EAAGA,OAAQa,EAAX,EAAWA,gBAAiBZ,EAA5B,EAA4BA,UAA5B,OAClB,kBAAC,IAAMkH,SAAP,KACE,kBAAC,UAAD,iBAAavH,EAAiBK,EAAUG,eAAxC,CAAwDwG,QAAS5G,EAAO2K,aAAavO,MAAOqC,UAAU,uBAAuBiI,KAAM1G,EAAO4K,UAAUxO,QAClJ,kBAAC,iBAAD,CAAgBkL,KAAK,WACnB,yBAAK7I,UAAU,mDACb,yBAAKA,UAAU,iCACb,0BAAMA,UAAU,8CAA6C,kBAAC,OAAD,CAAM4B,MAAOL,EAAO6K,cACjF,yBAAKpM,UAAU,oBAAmB,kBAAC,OAAD,CAAM4B,MAAOL,EAAO2K,gBACtD,yBAAKlM,UAAU,sCAAqC,kBAAC,OAAD,CAAM4B,MAAOL,EAAO8K,iBAE1E,yBAAKrM,UAAU,gHACb,kBAAC,QAAD,CAAOA,UAAU,6BAA6BiL,MAAO1J,EAAO+K,cAE9D,yBAAKtM,UAAU,sLACb,yBAAK8B,MAAM,qBACT,kBAAC,WAAD,CAAUF,MAAOL,EAAOgL,gBAE1B,8BACCnK,EAAgB0D,aAEW,MAA1B,UAAAvE,EAAOiL,eAAP,eAAgB7O,QAAmC,KAAnB4D,EAAOkL,UADvC,uBAAGvE,KAAM3G,EAAOiL,QAAQ7O,MAAOqC,UAAU,oCAAoCoK,aAAW,OAAOC,mBAAkB9I,EAAOkL,QAAQ9O,OAAO,kBAAC,OAAD,CAAMiE,MAAOL,EAAOkL,qBCkB1JvK,I,OAAAA,iCArCM,SAAC,GAA4C,IAAD,EAAzCX,EAAyC,EAAzCA,OAAQa,EAAiC,EAAjCA,gBAAiBZ,EAAgB,EAAhBA,UACzCgF,EAAaK,EAA2BzE,GAExCsK,EAAsB,OAAGnL,QAAH,IAAGA,OAAH,EAAGA,EAAQoL,gBACjCC,EAAQ,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAwBvR,KAAI,SAACyR,GAAc,IAAD,kBACzD,MAAO,CACL3C,KAAI,OAAE2C,QAAF,IAAEA,GAAF,UAAEA,EAAUrL,cAAZ,iBAAE,EAAkB0G,YAApB,iBAAE,EAAwBtK,aAA1B,aAAE,EAA+BsM,KACrCK,IAAG,OAAEsC,QAAF,IAAEA,GAAF,UAAEA,EAAUrL,cAAZ,iBAAE,EAAkB0G,YAApB,iBAAE,EAAwBtK,aAA1B,aAAE,EAA+B2M,IACpCuC,OAAM,OAAED,QAAF,IAAEA,GAAF,UAAEA,EAAUrL,cAAZ,iBAAE,EAAkB0G,YAApB,iBAAE,EAAwBtK,aAA1B,aAAE,EAA+BkP,WARoB,EAY5CjP,IAAVrB,EAZsD,oBAYtDA,KAET,OACE,yCACM4E,EAAiBK,EAAUG,eADjC,CAEE3B,UAAU,uBAEV,kBAAC,eAAD,CACE+F,oBAAmB,UAAKhI,IAAOiI,+BAC/BC,iBAAgB,UAAKlI,IAAOmI,kCAC5BC,eAAc,UAAKpI,IAAO+O,qCAC1BxG,mBAAkB,UAAKvI,IAAOgP,yCAC9BC,0BAAyB,UAAKjP,IAAOkP,mDACrCC,8BAA6B,UAAKnP,IAAOoP,uDACzCC,eAAc,UAAKrP,IAAOsP,+BAC1B9Q,KAAM,CAAEkK,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,QAClD8Q,MAAK,UAAKvP,IAAOwP,kCACjB/G,WAAYA,EACZgH,gBAAiB,aACjBC,kBAAmBb,SC+DZ1K,oCAlGc,SAAC,GAA0C,IAAD,YAAvCX,EAAuC,EAAvCA,OAAOa,EAAgC,EAAhCA,gBAAgBZ,EAAgB,EAAhBA,UAAgB,EAC/Bc,mBAAS,IADsB,mBAC9DoL,EAD8D,KACjDC,EADiD,KAErEnL,qBAAU,WACRoL,MACC,CAACF,IAJiE,MAMTpL,mBAAS,IANA,mBAM9DuL,EAN8D,KAMtCC,EANsC,KAOrEtL,qBAAU,WACRoL,MACC,CAACC,IAIJ,SAASD,IAGN,IAAD,EADA,GAAoB,qBAAV5M,SAIuB,MAFH,UAAGT,SAASwN,eAAe,mBAA3B,aAAG,EAAqCpQ,QAI/DyE,EAAgBiC,MAAM9C,OAAOyM,iBAAsF,IAAnE5L,EAAgBiC,MAAM9C,OAAOyM,gBAAgBzM,OAAO5D,MAAMA,OAAkF,WAAnEyE,EAAgBiC,MAAM9C,OAAOyM,gBAAgBzM,OAAO5D,MAAMA,OACtL,CACE,IAAIsQ,EAAS7L,EAAgBiC,MAAM9C,OAAOyM,gBAAgBzM,OAAO5D,MAAMA,MACvEmQ,EAA0BG,cAC1B,IACIC,GACJA,EAAa3N,SAASC,OAAOC,MAAM,MAAMC,MAAK,SAACC,GAAD,OAASA,EAAIC,WAFpC,mBAGuB,QAA5BsN,EAAWzN,MAAM,KAAK,KACtCwN,EAlBU,WAqBZN,EAAeM,IAOvB,OAEA,yBAAK3E,MAAO,CAAE0E,gBAAgB,GAAD,OAAKN,IAAgB3R,GAAG,oBAEhC,MAAlBwF,EAAO4M,SACN,6CAAahN,EAAiBK,EAAUG,eAAxC,CAAwDG,MAAM,sFAC5D,2BAAOlF,KAAK,SAASb,GAAG,cAAc4B,MAAOkQ,IAC7C,yBAAK/L,MAAM,6BACT,yBAAKA,MAAM,yBACT,yBAAKA,MAAM,kBACT,wBAAI/F,GAAG,kBAAkB+F,MAAM,kBAAiB,kBAAC,OAAD,CAAMF,MAAOL,EAAOM,UAEtE,yBAAKC,MAAM,8CACT,4BAAI,kBAAC,OAAD,CAAMF,MAAOL,EAAO4M,QAAQ5M,OAAOkD,WACvC,kBAAC,WAAD,CAAU7C,MAAOL,EAAO4M,QAAQ5M,OAAOuH,WAEzC,yBAAKhH,MAAM,6CAA6C/F,GAAG,kBACzD,kBAAC,WAAD,CACE6F,MAAOL,EAAO4M,QAAQ5M,OAAO6M,oBAC7BC,IAAI,UACJC,UAAU,EACVtO,UAAU,cACVuO,cAAY,oCAKlB,yBAAKzM,MAAM,8FAERM,EAAgB0D,aAImB,MAApC,UAAAvE,EAAOiN,mBAAP,mBAAoB7Q,aAApB,eAA2BuK,OAA8C,MAA/B,UAAA3G,EAAOkN,oBAAP,eAAqB9Q,SAH/D,yBAAKmE,MAAM,gGACT,kBAAC,OAAD,CAAMF,MAAOL,EAAOiN,YAAapE,aAAW,OAAOC,mBAAkB9I,EAAOiN,YAAY7Q,MAAMsM,KAAMjK,UAAU,qCAAoC,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkN,kBAUvKrM,EAAgB0D,aAImB,MAApC,UAAAvE,EAAOmN,mBAAP,mBAAoB/Q,aAApB,eAA2BuK,OAA8C,MAA/B,UAAA3G,EAAOoN,oBAAP,eAAqBhR,SAH/D,yBAAKmE,MAAM,yDACX,kBAAC,OAAD,CAAMF,MAAOL,EAAOmN,YAAatE,aAAW,OAAOC,mBAAkB9I,EAAOmN,YAAY/Q,MAAMsM,KAAMjK,UAAU,uCAAsC,kBAAC,OAAD,CAAM4B,MAAOL,EAAOoN,wB,mCC7E9KC,I,OAAWC,EAAQ,MACnBC,GAAOD,EAAQ,KACjBE,IAAkB,EAGtB,SAASC,GAAYC,EAASC,GAC5B,IAAIC,EAAUL,GAAKK,QAAQF,GAAS,SAACG,GACnC,IAAIvS,EAAO,GACXuS,EAAIC,GAAG,QAAQ,SAACC,GACdzS,GAAQyS,KAGVF,EAAIC,GAAG,OAAO,WACZH,EAASE,EAAK7J,KAAKC,MAAM3I,UAG7BsS,EAAQE,GAAG,SAAS,SAAC5J,GACnByJ,EAASzJ,MAEX0J,EAAQI,MAGV,IAAMC,GAAW,SAACtR,GAAW,IAAD,MACQoE,mBAAS,IADjB,mBACnBmN,EADmB,KACVC,EADU,OAEApN,oBAAS,GAFT,mBAEnBqN,EAFmB,KAEZC,EAFY,KAGpBC,EAAK,IAAIjB,GAAS,CACtBnD,IAAK1N,IAAO+R,wBACZC,cAAe,IACfC,aAAa,IAEfxN,qBAAU,YARgB,mCASxByN,KACC,IACH,IAAM1T,EAAOqB,IAXa,EAYM0E,mBAAS/F,EAAK,GAAGA,MAZvB,mBAYnB2T,EAZmB,KAYTC,EAZS,KAa1B3N,qBAAU,WAAO,IAAD,EACd2N,EAAW,UAAC5T,EAAK,UAAN,aAAC,EAASA,QACpBA,GACH,IAKM6T,EAAkB,SAACC,EAAMC,GAC7B,IAAIC,EAAcrS,EAAMqD,OAAOiP,mBAAmB7S,MAC9C8S,EAAU,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAalS,QAAQ,cAAegS,GACrD,GAAII,EAAY,CACd,IAAIhK,EAAQoJ,EAAGa,iBAAiBD,GAC5BE,EAAU5S,IAAOS,iBAAP,UAA6BiS,EAA7B,sBAAqDhK,GAEnEzF,OAAO4P,KAAKD,EAAS,UACrBL,GAAaA,EAAU5M,UAAUC,IAAI,QACrC,IACIkN,EADY,IAAIlR,gBAAgBqB,OAAOpB,SAASC,QAC7BC,IAAI,UAC3B,GAAe,OAAX+Q,EAAiB,CACnB,IAAIC,EAAYD,EAAOpQ,MAAM,KAAK,GAClCO,OAAOpB,SAASsI,KAAOlH,OAAOpB,SAASsI,KAAKzH,MAAM,KAAK,GAAK,IAAMqQ,KAlC9C,8CAqF1B,iCAAAC,EAAA,sDAEMC,EAAa9S,EAAMqD,OAAO0P,UAAUtT,OAEpCuT,EAJN,OAIgBF,QAJhB,IAIgBA,OAJhB,EAIgBA,EAAY3S,QAAQ,YAAaH,EAAMiT,aAAa5P,OAAO6P,QAAQzT,OAAOU,QAAQ,YAAaH,EAAMiT,aAAa5P,OAAO8P,aAAa1T,UAE9I8I,EAAQoJ,EAAGa,iBAAiBQ,GAKhClC,GAJc,CACZsC,SAAUvT,IAAOwT,sBACjBlB,KAAK,GAAD,OAAKa,EAAL,sBAA0BzK,KAEX,SAAU2I,EAAKvS,GAClC,GAAuB,MAAnBuS,EAAIoC,WAAoB,CAAC,IAAD,EAEpBC,EAAU,8BAAO5U,QAAP,IAAOA,OAAP,EAAOA,EAAM6U,kBAAb,aAAG,EAAsBC,MAAK,SAACZ,EAAGa,GAChD,OAASb,EAAC,KAAUc,cAAiBD,EAAC,KAAUC,cAAgB,GAAK,KAEvEhV,EAAK6U,UAAYD,EACjB/B,EAAe7S,GACXkS,IACF+C,SApBV,4CArF0B,sBA+G1B,SAASA,IACP,IACIjB,EADY,IAAIlR,gBAAgBqB,OAAOpB,SAASC,QAC7BC,IAAI,UAC3B,GAAe,OAAX+Q,EAAiB,CACnB,IAAIR,EAAOQ,EAAOpQ,MAAM,KAAK,GACzBsR,EAAcxR,SAASwN,eAAesC,GACtB,OAAhB0B,IACFhD,IAAkB,EAClBgD,EAAYC,UAYlB,IAAMC,GAAa,UAAAxC,EAAQiC,iBAAR,eAAmBQ,QAAO,SAAAC,GAAQ,MAA2B,MAAf,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUA,aAAiBnP,QAAS,EACvFoP,GAAW,UAAA3C,EAAQiC,iBAAR,eAAmBQ,QAAO,SAAArF,GAAM,MAAuB,MAAb,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQA,WAAe7J,QAAS,EAG/EqP,EAAkB,SAACC,GAAY,IAAD,EAC5Bb,EAAU,8BAAOhC,QAAP,IAAOA,OAAP,EAAOA,EAASiC,kBAAhB,aAAG,EAAyBC,MAAK,SAACZ,EAAGa,GACnD,MAAe,SAAXU,GACMC,OAAOxB,EAAEuB,IAAWC,OAAOX,EAAEU,IAAW,GAAK,IAAM3C,EAAQ,GAAK,IAEjEoB,EAAEuB,GAAST,cAAiBD,EAAEU,GAAST,cAAgB,GAAK,IAAMlC,EAAQ,GAAK,MAE1FC,GAAUD,GACVF,EAAQiC,UAAYD,EACpB/B,EAAeD,IAGjB,OACE,yBAAK3N,MAAM,kBAAkBwH,MAAO,CAAEkJ,cAAe,SACnD,2BAAO1Q,MAAM,gDACX,+BACE,4BACCmQ,GACC,wBAAIjT,MAAM,MAAMyT,MAAM,MAAMC,QAAS,kBAAML,EAAgB,cACzD,yBAAKvQ,MAAM,eACT,kBAAC,OAAD,CAAMF,MAAO1D,EAAMqD,OAAOoR,eAC1B,uBAAG7Q,MAAM,0CAIb,wBAAI9C,MAAM,MAAMyT,MAAM,MAAMC,QAAS,kBAAML,EAAgB,UACzD,yBAAKvQ,MAAM,eACT,kBAAC,OAAD,CAAMF,MAAO1D,EAAMqD,OAAOqR,cAC1B,uBAAG9Q,MAAM,0CAGZsQ,GACD,wBAAIpT,MAAM,MAAMyT,MAAM,MAAMC,QAAS,kBAAML,EAAgB,YACzD,yBAAKvQ,MAAM,eACT,kBAAC,OAAD,CAAMF,MAAO1D,EAAMqD,OAAOsR,aAC1B,uBAAG/Q,MAAM,0CAIb,wBAAI9C,MAAM,MAAMyT,MAAM,MAAMC,QAAS,kBAAML,EAAgB,UACzD,yBAAKvQ,MAAM,eACT,kBAAC,OAAD,CAAMF,MAAO1D,EAAMqD,OAAOuR,WAC1B,uBAAGhR,MAAM,0CAGb,wBAAI9C,MAAM,MAAMyT,MAAM,OAAM,kBAAC,OAAD,CAAM7Q,MAAO1D,EAAMqD,OAAOwR,aAG1D,+BACsB,kBAAZtD,GAAwD,IAAhCtT,OAAOD,KAAKuT,GAASzM,QAAgByM,EAAQiC,UAAUvW,KAAI,SAAA6X,GAAI,iBAC7F,wBAAI1J,MAAO,CAAE2J,SAAa,OAAJD,QAAI,IAAJA,OAAA,EAAAA,EAAME,QAAS,OAAS,KAE1CjB,GAAc,wBAAIkB,aAAW,YAAf,OAA2BH,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAMb,WAE5C,OAAJa,QAAI,IAAJA,OAAA,EAAAA,EAAME,QAAS,MAAY,OAAJF,QAAI,IAAJA,OAAA,EAAAA,EAAMI,aAC5B,wBAAID,aAAW,WACb,0BAAMpX,GAAIiX,EAAK3C,KAAMvO,MAAM,+BACzB,uBAAGA,MAAM,qBAAqBsI,aAAW,OAAOC,mBAAkB2I,EAAKK,KAAMnL,KAAMnK,IAAOS,kBAAP,UAA0BN,EAAMqD,cAAhC,iBAA0B,EAAc+R,mCAAxC,iBAA0B,EAA2C3V,aAArE,aAA0B,EAAkDU,QAAQ,cAAe2U,EAAK3C,OAAOxD,OAAO,SAAS0G,UAAQ,GACxN,0BAAMzR,MAAM,oFAA0FkR,EAAKK,MAE7G,kBAAC,YAAD,CAAWrT,UAAU,2BAIzB,wBAAImT,aAAW,WACb,0BAAMpX,GAAIiX,EAAK3C,KAAMqC,QAAS,SAACc,GAAD,OAhKtB,SAAC7X,EAAGqX,GAC1B,IAAIS,GAAY,EACZnD,EAAY3U,EAAE+X,cAAc3Q,uBAAuB,mBAAmB,GAE1E,GADAuN,GAAaA,EAAU5M,UAAUiQ,OAAO,QACpCzV,EAAMiT,aAAa5P,OAAOqS,uBAAuBjW,MACnD,UAAIuS,QAAJ,IAAIA,OAAJ,EAAIA,EAAU1T,OAAQ,CACpB,IAAIqX,EAAU,GACVR,EAAO,GACPnD,EAAS3T,OACXsX,EAAU3D,EAAS3T,KAAKuX,OACxBT,EAAOnD,EAAS3T,KAAK8W,MAGvBrS,OAAO+S,cAAcC,UAAUC,OAAO,CACpCC,YAAahW,EAAMqD,OAAO4S,oBAAoBxW,MAC9CyW,UAAWlW,EAAMqD,OAAO8S,cAAc1W,MACtC2W,YAAapW,EAAMqD,OAAOgT,oBAAoB5W,MAC9C6W,aAAcX,EACdY,aAAc,CACZC,SAAUrB,EACVsB,MAAOd,EACPe,QAAS,GACT/S,MAAO,GACPgT,KAAM,IAERC,SAZoC,WAa9BrB,IACFA,GAAY,EACZrD,EAAgB4C,EAAK3C,KAAMC,KAG/ByE,WAlBoC,WAmBlCzE,GAAaA,EAAU5M,UAAUC,IAAI,UAEtC,sBAGH3C,OAAOpB,SAASsI,KAAOnK,IAAOS,iBAAmBT,IAAOiX,mBAAjC,oBAAqF,qBAAXhU,OAAyB,GAAK,cAAgBA,OAAOpB,SAASqV,SAAW,WAAajU,OAAOpB,SAAS2H,KAAKlJ,QAAQ,IAAK,IAAM,IAAM2U,EAAK3C,WAI5OD,EAAgB4C,EAAK3C,KAAMC,GAuH0B4E,CAAgB1B,EAAOR,IAAOlR,MAAM,+BAC3E,uBAAGA,MAAM,qBAAqBsI,aAAW,OAAOC,mBAAkB2I,EAAKK,MACrE,0BAAMvR,MAAM,oFAA0FkR,EAAKK,OAC1G,OAACnD,QAAD,IAACA,OAAD,EAACA,EAAU1T,SAAW,0BAAMsF,MAAM,oFAAoFD,MAAM,sBAE/H,kBAAC,YAAD,CAAW7B,UAAU,2BAKzBoS,GAAY,wBAAIe,aAAW,UAAUH,EAAKnG,QAE5C,wBAAIsG,aAAW,QAzF3B,SAAsBgC,GACpB,IAAIxX,EAAQ4U,OAAO6C,WAAWD,GAC9B,OAAKE,MAAM1X,GAIJ,SAHLA,GAASA,EAAQ,MAAM2X,QAAQ,KACf,MAAQ3X,EAAQ,MAAM2X,QAAQ,GAAK,OAAS3X,EAAQ,OAqFrC4X,CAAavC,EAAKwC,OACzC,wBAAIrC,aAAW,OACb,8BACE,kBAAC,aAAD,CAAYsC,SAAS,QACnB,yBAAK5M,KAAK,UAAU6M,UAAW,SAAClC,GAAD,OAxM7B,SAAC7X,GACnB,IAAIga,EAAWha,EAAEkR,OAAO+I,UACxB5U,OAAO6U,UAAUC,UAAUC,UAAUJ,GACrCha,EAAEqa,iBAqMwDC,CAAYzC,KACnDR,EAAKkD,gBA6FbC,GAhFQ,SAAC,GAAgB,IAAd5U,EAAa,EAAbA,OAClB6U,EAAe7U,EAAO8U,uBACtBC,EAAsB/U,EAAOgV,cAAchV,OAAO8P,aAAa1T,MACrE,OACE,yBAAKqC,UAAU,0BACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,SACb,wBAAIA,UAAU,oGAAmG,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACpI2R,EAAajb,KAAI,SAACqb,GAAD,OAChB,yBAAKxW,UAAU,SAEb,kBAAC,oBAAD,CACEyW,kBAAmBH,IAAwBE,EAAajV,OAAO8P,aAAa1T,OAC5E,0BAAMkL,KAAK,UACT,2BAAO/G,MAAM,yBAAyBwH,MAAO,CAAEmJ,MAAO,QACpD,+BACE,4BACE,wBAAIzT,MAAM,MAAMyT,MAAM,OACpB,kBAAC,OAAD,CAAM7Q,MAAOL,EAAOmV,gBADtB,MAC0C,kBAAC,OAAD,CAAM9U,MAAO4U,EAAajV,OAAO8P,gBAE3E,wBAAIrS,MAAM,MAAMyT,MAAM,OAEgD,IAAlE,IAAIkE,KAAKH,EAAajV,OAAOqV,YAAYjZ,OAAOkZ,eAChD,kBAAC,YAAD,CAAWjV,MAAO4U,EAAajV,OAAOqV,YAAa3C,OAAQ,SAACY,GAAD,OAAUA,EAAKiC,mBAAmB,QAAS,CAAEC,KAAM,UAAWC,MAAO,OAAQC,IAAK,gBAIjJ,wBAAIjY,MAAM,MAAMyT,MAAM,MAAM3Q,MAAM,cAC/B0U,EAAajV,OAAO2V,gBAAgBvZ,MAAMsM,MACzC,6BACE,0BAAMnI,MAAM,oFAEV0U,EAAajV,OAAO2V,gBAAgBvZ,MAAM2M,IACxC,oCACE,kBAAC,OAAD,CAAM1I,MAAO4U,EAAajV,OAAO2V,gBAAiB9M,aAAW,OAAOC,mBAAkBmM,EAAajV,OAAO2V,gBAAgBvZ,MAAMsM,KAAMjK,UAAU,qBAAqB6M,OAAO,YAG9K,oCACE,uBAAG/K,MAAM,qBAAqBsI,aAAW,OAAOC,mBAAkBmM,EAAajV,OAAO2V,gBAAgBvZ,MAAMsM,MAAOuM,EAAajV,OAAO2V,gBAAgBvZ,MAAMsM,SAMzK,wBAAIjL,MAAM,MAAMyT,MAAM,MAAM3Q,MAAM,cAC/B0U,EAAajV,OAAO4V,sBAAsBxZ,MAAMsM,MAC/C,6BACE,0BAAMnI,MAAM,uFAEV0U,EAAajV,OAAO4V,sBAAsBxZ,MAAM2M,IAC9C,oCACE,kBAAC,OAAD,CAAM1I,MAAO4U,EAAajV,OAAO4V,sBAAuB/M,aAAW,OAAOC,mBAAkBmM,EAAajV,OAAO4V,sBAAsBxZ,MAAMsM,KAAMjK,UAAU,qBAAqB6M,OAAO,YAG1L,oCACE,uBAAG/K,MAAM,qBAAqBsI,aAAW,OAAOC,mBAAkBmM,EAAajV,OAAO4V,sBAAsBxZ,MAAMsM,MAAOuM,EAAajV,OAAO4V,sBAAsBxZ,MAAMsM,aAa7L,yBAAKpB,KAAK,WACR,kBAAC,GAAD,CAAUtH,OAAQA,EAAQ4P,aAAcqF,cCtP3CtU,oCA3EY,SAAC,GAAoC,IAAD,IAAjCV,EAAiC,EAAjCA,UAAWY,EAAsB,EAAtBA,gBACjCoE,GAA4B,OAAfpE,QAAe,IAAfA,GAAA,UAAAA,EAAiBiC,aAAjB,mBAAwB9C,cAAxB,eAAgCuF,cAAeD,EAA2BzE,GAAmB,GADnD,EAE1CxE,IAAVrB,EAFoD,oBAEpDA,KAET,GAAmB,KAAfiK,EAAmB,CAAC,IAAD,MACf1B,GAAQ,UAAA1C,EAAgBiC,aAAhB,mBAAuB9C,cAAvB,eAA+BuF,cAAe1E,EAAgBiC,MAAM9C,OAAOuF,aAAavJ,QAAO,SAACwJ,EAAKC,EAAcC,GAE/H,OADAF,EAAgB,IAAVE,EAAcD,EAAaoQ,YAAcrQ,EAAG,YAAQC,EAAaoQ,eAEtE,IAAM,GAoBHnS,EAAiB,CACrBrI,KAnBoB,WACpB,IAAIsI,EAAS,OACb,IACE,GAAoB,qBAAVlE,OAAsB,CAAC,IAAD,EACxBoE,EAAoB,UAAGC,oBAAH,aAAG,EAAcC,QAAQ,YAInD,OAHIF,IACFF,EAAWK,KAAKC,MAAMJ,IAEjBF,GAGX,MAAMO,GACJtB,QAAQC,IAAIqB,GAVd,QAYE,OAAOP,GAKHQ,GACNC,QAAS,YACT0R,iBAAiB,EACjBxR,gBAAgB,GAGlB,OAAO,wBAAS1E,EAAiBK,EAAUG,gBAClC,OAAJpF,QAAI,IAAJA,OAAA,EAAAA,EAAME,cACL,kBAAC,gBAAD,CAAesJ,oBAAmB,UAAKhI,IAAOiI,+BAC5CC,iBAAgB,UAAKlI,IAAOmI,kCAC5BC,eAAc,UAAKpI,IAAO+O,qCAC1BxG,mBAAkB,UAAKvI,IAAOgP,yCAC9BO,MAAK,UAAKvP,IAAOuZ,+BACjBC,oBAAqBzS,EACrBvI,KAAM,CAAEkK,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,QAClDgb,oBAAoB,EACpBhR,WAAYA,EACZzB,mBAAmB,EACnBE,eAAgBA,EAChBN,aAAc,CACV,CACE9C,MAAO,eACPD,MAAO,kBACPoD,eAAe,EACfD,mBAAmB,GAErB,CACIlD,MAAO,iBACPD,MAAO,mCACPmD,mBAAmB,GACpB,CACClD,MAAO,WACPD,MAAO,gCACPmD,mBAAmB,IAE3B0S,cAAc,GAEd,kBAAC,EAAD,CAAatV,IAAMX,EAAUW,QAKrC,MAAO,MCnDIb,I,OAAAA,0BAAgB,CAAC,2BAAjBA,EAvBoB,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAWkW,EAAtB,EAAsBA,wBAAtB,OAC/B,oCACI,yCAASvW,EAAiBK,EAAUG,eAApC,CAAoD3B,UAAU,qGAE1D,yBAAKA,UAAU,yEACX,yBAAKA,UAAU,qNAGX,wBAAIA,UAAU,kBAAiB,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACnD,kBAAC,EAAD,CAAatC,IAAMX,EAAUW,QAGrC,yBAAKnC,UAAU,wCACX,yBAAKA,UAAU,wBACV0X,UCYNpW,6BAAgB,CAAC,0BAA2B,0BAA2B,4BAAvEA,EA3B0B,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAWmW,EAAtB,EAAsBA,wBAAyBC,EAA/C,EAA+CA,wBAAyBC,EAAxE,EAAwEA,yBAAxE,OAEvC,yCAAS1W,EAAiBK,EAAUG,eAApC,CAAoD3B,UAAU,qEAC5D,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,4IACb,6BACE,wBAAIA,UAAU,cAAa,kBAAC,OAAD,CAAM4B,MAAOL,EAAOuW,iBAEzC,kBAAC,EAAD,CAAa3V,IAAKX,EAAUW,OAEtC,6BACE,yBAAKnC,UAAU,uBACb,yBAAKA,UAAU,8CACZ2X,GAEH,yBAAK7V,MAAM,kBACR8V,IAGL,wBAAI7b,GAAG,mBAAmBiE,UAAU,oCAAmC,kBAAC,OAAD,CAAM4B,MAAOL,EAAOwW,iBAC3F,yBAAK/X,UAAU,kEACZ6X,SCCIG,I,OAlBK,SAAC,GAAD,IAAGzW,EAAH,EAAGA,OAAOC,EAAV,EAAUA,UAAV,OAClB,kBAAC,IAAMkH,SAAP,KACE,kBAAC,UAAD,iBAAavH,EAAiBK,EAAUG,eAAxC,CAAwDwG,QAAS5G,EAAOkD,QAAQ9G,MAAOqC,UAAU,iCAAiCiI,KAAM1G,EAAO0W,SAASta,MAAOgL,oBAAA,IAC7J,kBAAC,iBAAD,CAAgBE,KAAK,UAAU7I,UAAU,+BACvC,yBAAKA,UAAU,SACb,yBAAKA,UAAU,6BACb,wBAAIA,UAAU,sCAAqC,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACvE,kBAAC,WAAD,CAAU7C,MAAOL,EAAOuH,WAE1B,yBAAK9I,UAAU,iDACb,kBAAC,QAAD,CAAOA,UAAU,gBAAgBiL,MAAO1J,EAAOkJ,eCD5CyN,GAdmB,SAAC,GAAD,IAAG3W,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAX,OAC9B,yCAAWL,EAAiBK,EAAUG,eAAtC,CAAsD3B,UAAU,qEAC5D,yBAAK8B,MAAM,kBACP,yBAAK9B,UAAU,0HACX,6BACI,wBAAIA,UAAU,cAAa,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,YAEnD,kBAAC,EAAD,CAAatC,IAAMX,EAAUW,OAEjC,kBAAC,WAAD,CAAUP,MAAOL,EAAO0I,UCqCrB3I,6BAAgB,CAAC,0BAA0B,kCAA3CA,EA7CyB,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAW2W,EAAtB,EAAsBA,wBAAyBC,EAA/C,EAA+CA,+BAA/C,OACpC,oCACI,yCAAUjX,EAAiBK,EAAUG,eAArC,CAAqD3B,UAAU,qEAC3D,yBAAKA,UAAU,6BACX,6BACKmY,EACD,yBAAKnY,UAAU,+GACVoY,GAEL,wBAAIpY,UAAU,iBAAiBjE,GAAG,iBAAgB,kBAAC,OAAD,CAAM6F,MAAOL,EAAOkD,WACtE,yBAAKzE,UAAU,yCACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAO8W,aAInC9W,EAAO+W,aAAa3a,MACjB,oCACI,yBAAKqC,UAAU,6BACX,kBAAC,EAAD,CAAamC,IAAKX,EAAUW,OAEhC,yBAAKnC,UAAU,kEACf,6BAASA,UAAU,gBACd,kBAAC,QAAD,CAAOjE,GAAG,kBAAkB+F,MAAM,qDAAuDF,MAAOL,EAAOkJ,SAExG,yBAAK1O,GAAG,sBAIhB,yBAAKiE,UAAU,6BACX,kBAAC,EAAD,CAAamC,IAAKX,EAAUW,MAC5B,6BAASnC,UAAU,wEACf,kBAAC,QAAD,CAAOA,UAAU,sCAAsC4B,MAAOL,EAAOkJ,WAKhE,IAApBlJ,EAAO0K,MAAMtO,MACd,yBAAKqC,UAAU,gGACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAO0K,SAE1B,kCCTK3K,I,OAAAA,0BAAgB,CAAC,0BAA2B,iCAAkC,sCAA9EA,EA9BiC,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAW2W,EAAtB,EAAsBA,wBAAyBC,EAA/C,EAA+CA,+BAAgCG,EAA/E,EAA+EA,mCAA/E,OAC5C,oCACI,yCAAUpX,EAAiBK,EAAUG,eAArC,CAAqD3B,UAAU,qEAC3D,yBAAKA,UAAU,6BACX,6BACKmY,EACD,yBAAKnY,UAAU,+GACVoY,KAKb,yBAAKpY,UAAU,6CACX,kBAAC,EAAD,CAAamC,IAAKX,EAAUW,MAC3BoW,IAGT,wBAAIvY,UAAU,iBAAiBjE,GAAG,iBAAgB,kBAAC,OAAD,CAAM6F,MAAOL,EAAOkD,WACtE,yBAAKzE,UAAU,yCACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAO8W,WAEN,IAApB9W,EAAO0K,MAAMtO,MACf,yBAAKqC,UAAU,gGACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAO0K,SAE1B,mCCYK3K,6BAAgB,CAAC,0BAA2B,kCAA5CA,EAtCiC,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAW2W,EAAtB,EAAsBA,wBAAyBC,EAA/C,EAA+CA,+BAA/C,EAA+EG,mCAA/E,OAC5C,oCACI,yCAASpX,EAAiBK,EAAUG,eAApC,CAAoD3B,UAAU,qEAC1D,yBAAKA,UAAU,6BACX,6BACKmY,EACD,yBAAKnY,UAAU,+GACVoY,KAKb,yBAAKpY,UAAU,6BACX,kBAAC,EAAD,CAAamC,IAAKX,EAAUW,QAGpC,wBAAInC,UAAU,iBAAiBjE,GAAG,iBAAgB,kBAAC,OAAD,CAAM6F,MAAOL,EAAOkD,WACtE,yBAAKzE,UAAU,yCACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAO8W,WAER,IAAnB9W,EAAO0I,KAAKtM,MACb,yBAAKqC,UAAU,iEACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAO0I,QAE1B,8BAEF,yBAAKjK,UAAU,kEACb,iCACE,kBAAC,QAAD,CAAOjE,GAAG,kBAAkB6F,MAAOL,EAAOkJ,SAE5C,yBAAK1O,GAAG,qBAEV,yBAAKiE,UAAU,iEACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAOiX,sBCPrBC,I,OApBc,SAAC,GAAD,IAAGlX,EAAH,EAAGA,OAAOC,EAAV,EAAUA,UAAV,OAE3B,kBAAC,IAAMkH,SAAP,KACE,kBAAC,UAAD,iBAAcvH,EAAiBK,EAAUG,eAAzC,CAAyDwG,QAAS5G,EAAOkD,QAAQ9G,MAAQqC,UAAU,wCAAwCiI,KAAM1G,EAAO0G,KAAKtK,MAAMuK,KAAMS,oBAAA,IACvK,kBAAC,iBAAD,CAAgBE,KAAK,UAAU7I,UAAU,+BACvC,yBAAKA,UAAU,kDAAiD,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACpF,yBAAKzE,UAAU,SACb,yBAAKA,UAAU,6BACb,kBAAC,WAAD,CAAU4B,MAAOL,EAAOuH,WAE1B,yBAAK9I,UAAU,0CACb,kBAAC,QAAD,CAAOiL,MAAO1J,EAAOkJ,MAAOzK,UAAU,yBCGnCsB,I,OAAAA,0BAAgB,mCAAhBA,EAnBwB,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAWkX,EAAtB,EAAsBA,iCAAtB,OAEnC,yCAAUvX,EAAiBK,EAAUG,eAArC,CAAqD3B,UAAU,+FAC/D,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,iOACb,wBAAIA,UAAU,cAAa,kBAAC,OAAD,CAAM4B,MAAOL,EAAOM,SAC/C,kBAAC,EAAD,CAAaM,IAAMX,EAAUW,OAE/B,yBAAKpG,GAAG,0BAA0BiE,UAAU,8CACzC0Y,SCaMC,I,OApBM,SAAC,GAAD,IAAGpX,EAAH,EAAGA,OAAOC,EAAV,EAAUA,UAAV,OACnB,kBAAC,IAAMkH,SAAP,KACE,kBAAC,UAAD,iBAAevH,EAAiBK,EAAUG,eAA1C,CAA0DwG,QAAS5G,EAAOkD,QAAQ9G,MAAQqC,UAAU,kCAAkCiI,KAAM1G,EAAO0W,SAASta,MAAOgL,oBAAA,IACjK,kBAAC,iBAAD,CAAgBE,KAAK,UAAU7I,UAAU,+BACvC,yBAAKA,UAAU,SACb,kBAAC,QAAD,CAAOA,UAAU,gBAAgBiL,MAAO1J,EAAOkJ,QAC/C,yBAAKzK,UAAU,4BACb,0BAAMA,UAAU,yBAAwB,kBAAC,OAAD,CAAM4B,MAAOL,EAAOM,SAC5D,0BAAM7B,UAAU,mCAAkC,kBAAC,OAAD,CAAM4B,MAAOL,EAAOqX,cAG1E,yBAAK5Y,UAAU,SACb,wBAAIA,UAAU,sCAAqC,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACvE,kBAAC,WAAD,CAAU7C,MAAOL,EAAOuH,gBCCnB+P,I,OAbK,SAAC,GAAD,IAAGtX,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAX,OAClB,gBAAC,WAAD,KACE,gBAAC,UAAD,eAASsX,aAAW,yBAA4B3X,EAAiBK,EAAUG,eAA3E,CAA2FwG,QAAS5G,EAAOkD,QAAQ9G,MAAOqC,UAAU,kCAAkCiI,KAAM1G,EAAO0W,SAASta,MAAOgL,oBAAA,IAC/L,gBAAC,iBAAD,CAAgBE,KAAK,UAAU7I,UAAU,iBACvC,uBAAKA,UAAU,8CAA6C,gBAAC,OAAD,CAAM4B,MAAOL,EAAOM,SAChF,sBAAI7B,UAAU,qDAAoD,gBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACtF,gBAAC,WAAD,CAAU7C,MAAOL,EAAOuH,eCsBnB5G,mCAAsBZ,0BAAgB,0BAAhBA,EA/BP,SAAC,GAAoE,IAAD,QAC5FyX,EAD2BxX,EAAiE,EAAjEA,OAAQyX,EAAyD,EAAzDA,wBAAyBxX,EAAgC,EAAhCA,UAAUY,EAAsB,EAAtBA,gBAEtE6W,EAA2B,GAM/B,OALG7W,EAAgBiC,MAAM9C,OAAOyM,iBAAwF,KAArE,UAAA5L,EAAgBiC,MAAM9C,OAAOyM,gBAAgBzM,cAA7C,mBAAqD5D,aAArD,eAA4DA,QAAoF,YAArE,UAAAyE,EAAgBiC,MAAM9C,OAAOyM,gBAAgBzM,cAA7C,mBAAqD5D,aAArD,eAA4DA,SAExLob,EAAe3W,EAAgBiC,MAAM9C,OAAOyM,gBAAgBzM,OAAO5D,MAAMA,MACzEsb,EAA2B,KAG7B,2CAAS3P,MAAO,CAAE0E,gBAAiB+K,GAAejX,MAAM,2GAAgHX,EAAiBK,EAAUG,gBACjM,2BAAO/E,KAAK,SAASb,GAAG,WAAW4B,MAAOsb,IAC1C,yBAAKnX,MAAM,0CACT,yBAAKA,MAAM,6BACT,yBAAK9B,UAAU,yBACb,yBAAKA,UAAU,kBACb,wBAAIjE,GAAG,YAAYiE,UAAU,kBAAiB,kBAAC,OAAD,CAAM4B,MAAOL,EAAOM,SAClE,yBAAK7B,UAAU,SACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,8CACZgZ,cCAJE,I,OAhBW,SAAC,GAAD,IAAG3X,EAAH,EAAGA,OAAOC,EAAV,EAAUA,UAAV,OAExB,kBAAC,IAAMkH,SAAP,KACE,kBAAC,UAAD,eAAS1I,UAAU,+BAA+BiI,KAAM1G,EAAO0G,KAAKtK,MAAMuK,KAAMC,QAAS5G,EAAOkD,QAAQ9G,OAAWwD,EAAiBK,EAAUG,gBAC5I,kBAAC,iBAAD,CAAgBkH,KAAK,WACnB,yBAAK7I,UAAU,+CACb,0BAAMA,UAAU,qDAAoD,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACxF,yBAAKzE,UAAU,8CAA6C,kBAAC,OAAD,CAAM4B,MAAOL,EAAO4X,aAAhF,KACA,kBAAC,WAAD,CAAUvX,MAAOL,EAAOuH,gBCKnBxH,I,OAAAA,0BAAgB,gCAAhBA,EAhBqB,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAW4X,EAAtB,EAAsBA,8BAAtB,OAElC,yCAAWjY,EAAiBK,EAAUG,eAAtC,CAAuD3B,UAAU,+FAC/D,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,iOACb,wBAAIA,UAAU,cAAa,kBAAC,OAAD,CAAM4B,MAAOL,EAAOM,SAC/C,kBAAC,EAAD,CAAaM,IAAMX,EAAUW,OAE/B,yBAAKnC,UAAU,uFACZoZ,SCgBOlX,oCA3BW,SAAC,GAAD,gCAAGX,EAAH,EAAGA,OAAOa,EAAV,EAAUA,gBAAgBZ,EAA1B,EAA0BA,UAA1B,OACvBY,EAAgB0D,YAChB,uCAAK9F,UAAU,2EAA+EmB,EAAiBK,EAAUG,gBAEjH,kBAAC,OAAD,CAAMC,MAAOL,EAAO0G,KAAMmC,aAAW,OAAOC,mBAAkB9I,EAAO0G,KAAKtK,MAAMsM,KAAMjK,UAAW,2BAAkBuB,EAAOiU,YAAzB,iBAAkB,EAAajU,OAAOvB,iBAAtC,aAAkB,EAA+BrC,OAAQ,KAAzD,UAA+D4D,EAAO3E,YAAtE,iBAA+D,EAAa2E,OAAOvB,iBAAnF,aAA+D,EAA+BrC,UAItK,MAA7B,UAAA4D,EAAO0G,YAAP,mBAAatK,aAAb,eAAoBuK,OACpB,yBAAKlI,UAAU,2EAEoB,UAA/BuB,EAAO0G,KAAKtK,MAAM0b,SAClB,6BACI,uBAAGjP,aAAW,OAAOC,mBAAkB9I,EAAO0G,KAAKtK,MAAMsM,KACzD/B,KAAM3G,EAAO0G,KAAKtK,MAAMuK,KAAK7J,QAAQ,0BAA0B,YAAYA,QAAQ,0BAA0B,YAAc,QAASkV,UAAQ,EAACvT,UAAW,2BAAkBuB,EAAOiU,YAAzB,iBAAkB,EAAajU,OAAOvB,iBAAtC,aAAkB,EAA+BrC,OAAQ,KAAzD,UAA+D4D,EAAO3E,YAAtE,iBAA+D,EAAa2E,OAAOvB,iBAAnF,aAA+D,EAA+BrC,QACjP4D,EAAO0G,KAAKtK,MAAMsM,MAEvB,4BAAQlO,GAAG,YAAYuN,MAAO,CAAC2J,QAAU,WAG7C,kBAAC,OAAD,CAAMrR,MAAOL,EAAO0G,KAAMmC,aAAW,OAAOC,mBAAkB9I,EAAO0G,KAAKtK,MAAMsM,KAAMjK,UAAW,2BAAkBuB,EAAOiU,YAAzB,iBAAkB,EAAajU,OAAOvB,iBAAtC,aAAkB,EAA+BrC,OAAQ,KAAzD,UAA+D4D,EAAO3E,YAAtE,iBAA+D,EAAa2E,OAAOvB,iBAAnF,aAA+D,EAA+BrC,aC+B5LuE,oCApDY,SAAC,GAAiC,IAAD,8BAA9BX,EAA8B,EAA9BA,OAAQa,EAAsB,EAAtBA,gBAE9BkX,EAAY,OAAGlX,QAAH,IAAGA,GAAH,UAAGA,EAAiBiC,aAApB,iBAAG,EAAwB9C,cAA3B,iBAAG,EAAgCgY,mBAAnC,aAAG,EAA6C5b,MACjC,WAAf,OAAZ2b,QAAY,IAAZA,OAAA,EAAAA,EAAcD,YACdC,EAAapR,KAAOoR,EAAapR,KAC5B7J,QAAQ,0BAA2B,YACnCA,QAAQ,0BAA2B,aAI5C,IAAIkb,EAAc,IAAIxZ,IAAJ,iBACduZ,QADc,IACdA,OADc,EACdA,EAAcpR,YADA,QACQ,GACJ,qBAAXsR,OAAyBzb,IAAO0b,yBAA2BD,QAOlEE,EAHgBH,EAAYjI,SAASqI,SAAS,YAClB,cAAzBJ,EAAYjI,UACZiI,EAAYC,SAAWzb,IAAO0b,yBACP,EAAH,iBAAQlY,QAAR,IAAQA,GAAR,UAAQA,EAAQqY,oBAAhB,aAAQ,EAAsBjc,aAA9B,QAAuC,EAnBV,EAqB1BP,IAAMkF,SAASoX,GArBW,mBAqBjDG,EArBiD,KAqBxCC,EArBwC,KAuCxD,OAhBAtX,qBAAU,WACN,IAAMuX,EAAQF,EAAU,GAAKG,aAAY,kBAAMF,EAAWD,EAAU,KAAI,KAExE,OADc,GAAXA,GAAc7Y,OAAOpB,SAASvB,QAAQkb,EAAYrR,MAC9C,kBAAM+R,aAAaF,MAC3B,CAACF,IAaA,6BAAS7Z,UAAU,qFACjB,yBAAKA,UAAU,6BACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kBAd3B,SAA+Bka,EAAK7b,GAGhC,IAFA,IAAM8b,EAAK,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAK7b,QAAQ,QAASwb,GAASpZ,MAAM,SAC7C2Z,EAAS,GACNC,EAAI,EAAGA,GAAC,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAOnX,QAAQqX,IAC/BD,EAAOE,KAAKH,EAAME,IACdA,EAAIF,EAAMnX,OAAS,GAAGoX,EAAOE,KAAKjc,GACxC,OAAO+b,EAQgCG,CAAqB,OAAChZ,QAAD,IAACA,GAAD,UAACA,EAAQiZ,oBAAT,aAAC,EAAsB7c,MAAO,uBAAGuK,KAAMqR,EAAYrR,KAAMkC,aAAW,OAAOC,mBAAA,OAAkBjI,QAAlB,IAAkBA,GAAlB,UAAkBA,EAAiBiC,aAAnC,iBAAkB,EAAwB9C,cAA1C,iBAAkB,EAAgCgY,mBAAlD,iBAAkB,EAA6C5b,aAA/D,aAAkB,EAAoDsM,MAAnH,OAA0H7H,QAA1H,IAA0HA,GAA1H,UAA0HA,EAAiBiC,aAA3I,iBAA0H,EAAwB9C,cAAlJ,iBAA0H,EAAgCgY,mBAA1J,iBAA0H,EAA6C5b,aAAvK,aAA0H,EAAoDsM,e,mBCdnQwQ,GA3BO,SAAC,GAA0B,IAAD,YAAxBlZ,EAAwB,EAAxBA,OAAQC,EAAgB,EAAhBA,UAAgB,EAC3B5D,IAAVrB,EADqC,oBACrCA,KACHme,EAAM,UAAGnZ,EAAOoZ,mBAAV,aAAG,EAAoBxf,KAAI,SAACyf,GAAD,MAAU,IAAKA,EAAKrZ,OAAO,gBAAgB5D,MAAM,OAAMkd,WACxFC,EAAa,UAAGvZ,EAAOwZ,mBAAV,aAAG,EAAoB5f,KAAI,SAACyf,GAAD,MAAU,IAAKA,EAAKxD,YAAY,OAAMyD,WAC9EG,EAAQ,UAAGzZ,EAAO0Z,uBAAV,aAAG,EAAwBtd,MAAMkd,WACzCK,EAAyB,IAAXF,EAAgBA,EAAW,IAAOA,EAASva,MAAM,KAAK0a,KAAK,OAAW,IACpFC,EAA0B,IAAjBN,EAAsBI,EAA4B,IAAfA,EAAmBJ,EAAgBA,EAAgB,IAAMI,EACrGG,EAA+C,KAA/B,UAAA9Z,EAAO+Z,qBAAP,eAAsB3d,OAAc,EAApC,UAAwC4D,EAAO+Z,qBAA/C,aAAwC,EAAsB3d,MAEpF,OACE,kBAAC,IAAM+K,SAAavH,EAAiBK,EAAUG,eAC7C,kBAAC,sBAAD,CACEoE,oBAAmB,UAAMhI,IAAOiI,+BAChCG,eAAc,UAAMpI,IAAOwd,mCAC3BjV,mBAAkB,UAAMvI,IAAOyd,uCAC/BvV,iBAAgB,UAAMlI,IAAOmI,kCAC7BwU,OAASA,EACTU,QAAUA,EACVC,cAAgBA,EAChB9e,KAAM,CAAEkK,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,YCe3C0F,I,OAAAA,iCAjCQ,SAAC,GAAyC,IAAD,cAAvCX,EAAuC,EAAvCA,OAAOa,EAAgC,EAAhCA,gBAAiBZ,EAAe,EAAfA,UAAe,EAC3C5D,IAAVrB,EADqD,oBACrDA,KACHkf,EAAO,UAAEla,EAAOma,yBAAT,aAAE,EAA0Bna,OAAO,gBAAgB5D,MAAMkd,WAChEc,EAAQ,UAAGpa,EAAOqa,gBAAV,aAAG,EAAiBxE,YAAYyD,WACxCQ,EAA+C,KAA/B,UAAA9Z,EAAO+Z,qBAAP,eAAsB3d,OAAc,EAApC,UAAwC4D,EAAO+Z,qBAA/C,aAAwC,EAAsB3d,MACpF,OAEE,wBAASwD,EAAiBK,EAAUG,eACnC,kBAAC,sBAAD,CACGoE,oBAAmB,UAAKhI,IAAOiI,+BAC/BC,iBAAgB,UAAKlI,IAAOmI,kCAC5BC,eAAc,UAAKpI,IAAOwd,mCAC1BjV,mBAAkB,UAAKvI,IAAOyd,uCAC9BC,QAAUA,EACVE,SAAWA,EACXN,cAAgBA,EAChB9e,KAAM,CAAEkK,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,WAGnD4F,EAAgB0D,aAIiB,MAAhC,UAAAvE,EAAOsa,eAAP,mBAAgBle,aAAhB,eAAuBuK,QAHvB,yBAAKpG,MAAM,qCACT,kBAAC,OAAD,CAAMF,MAAOL,EAAOsa,QAASzR,aAAW,OAAOC,mBAAkB9I,EAAOsa,QAAQle,MAAMsM,KAAMjK,UAAU,4CCNjGsB,6BAAgB,CAAC,4BAA4B,8BAA7CA,EAlBiB,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQE,EAAX,EAAWA,0BAA2BC,EAAtC,EAAsCA,2BAA4BF,EAAlE,EAAkEA,UAAlE,OAC9B,2CAASxB,UAAU,8CAAiDmB,EAAiBK,EAAUG,gBAC3F,yBAAK3B,UAAU,0CACb,yBAAKA,UAAU,6BACb,yBAAK8B,MAAM,yBACP,yBAAKA,MAAM,kBACT,wBAAI/F,GAAG,gBAAgBiE,UAAU,oCAAmC,kBAAC,OAAD,CAAM4B,MAAK,OAAEL,QAAF,IAAEA,OAAF,EAAEA,EAAQM,SACzF,yBAAKC,MAAM,2FACRL,GAEAC,UCMJQ,I,OAAAA,iCAda,SAAChE,GAAW,IAAD,EAC/BqD,EAAuCrD,EAAvCqD,OAAQC,EAA+BtD,EAA/BsD,UAAWY,EAAoBlE,EAApBkE,gBACzB,OAAO,qCAAK0Z,KAAK,aAAaC,aAAW,iBAAiB/b,UAAU,kBAAqBmB,EAAiBK,EAAUG,gBAClH,gBAAC,gBAAD,CACEqa,YAAaje,IAAOke,sBACpBC,iBAAkBne,IAAOoe,wBACzBC,mBAAoB7a,EAAO6a,mBAAmBze,MAC9C0e,OAAQte,IAAOue,uBACfzf,KAAI,OAAEuF,QAAF,IAAEA,GAAF,UAAEA,EAAiBH,WAAnB,aAAE,EAAsBsa,WAC5BC,eAAe,SCANC,GAZG,SAAC,GAA2B,IAAD,YAAxBlb,EAAwB,EAAxBA,OAAQC,EAAgB,EAAhBA,UACzB,OACI,uCAAKM,MAAM,6BAA6B/F,GAAIyF,EAAUW,KAAWhB,EAAiBK,EAAUG,gBACxF,yBAAK3B,UAAU,sBACX,4BAAI,kBAAC,OAAD,CAAM4B,MAAOL,EAAO0G,KAAMmC,aAAW,OAAOC,mBAAkB9I,EAAO0G,KAAKtK,MAAMsM,SAExF,kBAAC,YAAD,CAAWrI,MAAOL,EAAOsT,KAAMZ,OAAQ,SAACY,GAAD,OAAU,0BAAM6H,SAAU7H,EAAK8H,kBAAmB9H,EAAK+H,oBAC7F,UAAArb,EAAO3E,YAAP,mBAAa2E,cAAb,mBAAqB5D,aAArB,eAA4BA,OAAQ,uBAAGmE,MAAM,wBAAT,UAAiCP,EAAO3E,YAAxC,iBAAiC,EAAa2E,cAA9C,iBAAiC,EAAqB5D,aAAtD,aAAiC,EAA4BA,OAAa,KCa5G2D,6BAAgB,wBAAhBA,EAfO,SAAC,GAAD,IAAGC,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAWqb,EAAtB,EAAsBA,sBAAtB,OAClB,kBAAC,IAAMnU,SAAP,KACI,kBAAC,UAAD,iBAAcvH,EAAiBK,EAAUG,eAAzC,CAAyD3B,UAAU,kDAAkDjE,GAAI,YAAcyF,EAAUW,IAAKyG,YAAY,aAC9J,kBAAC,iBAAD,CAAgBC,KAAK,UAAU7I,UAAU,sCACrC,yBAAKA,UAAU,qCACX,wBAAIA,UAAU,yEAAwE,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WAC1G,yBAAKzE,UAAU,qDACV6c,UCeVC,I,OApBK,SAAC,GAA2B,IAAD,QAAxBvb,EAAwB,EAAxBA,OAAQC,EAAgB,EAAhBA,UAC3B,OACI,kBAAC,IAAMkH,SAAP,KACI,kBAAC,UAAD,iBAAcvH,EAAiBK,EAAUG,eAAzC,CAAyDwG,QAAS5G,EAAOkD,QAAQ9G,MAAOqC,UAAU,sEAAsEiI,KAAI,UAAE1G,EAAO0G,YAAT,iBAAE,EAAatK,aAAf,aAAE,EAAoBuK,KAAMnM,GAAI,YAAcyF,EAAUW,IAAKyG,YAAY,aACjP,kBAAC,eAAD,CAAc8B,IAAG,UAAEnJ,EAAOkJ,aAAT,iBAAE,EAAc9M,aAAhB,aAAE,EAAqB+M,IAAK7B,KAAK,UAClD,kBAAC,iBAAD,CAAgBA,KAAK,WAChBtH,EAAO2I,OAAOlH,OAAS,EAAI,kBAAC,SAAD,CAAQmF,QAAS5G,EAAO2I,OAAO,GAAGkN,YAAalP,KAAK,IAAIlI,UAAU,gCAAgC0S,QAAS,SAACc,GAAYxS,OAAOpB,SAASsI,KAAKlH,OAAOpB,SAASsI,KAAK,kCAAmC3G,EAAO2I,OAAO,GAAGkN,YAAa5D,EAAOwC,kBAAqBja,GAAI,WAAawF,EAAO2I,OAAO,GAAGnO,IACzT,0BAAMiE,UAAU,6EACfuB,EAAO2I,OAAO,GAAGkN,aACV,GACZ,wBAAIpX,UAAU,8CAA6C,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WAC/E,yBAAK1I,GAAG,YAAW,kBAAC,WAAD,CAAU6F,MAAOL,EAAOqX,YAC3C,uBAAG5Y,UAAU,cAAa,kBAAC,OAAD,CAAM4B,MAAOL,EAAOmD,oBAC7CnD,EAAO2I,OAAOlH,OAAS,EAAI,uBAAGlB,MAAM,0CAA0CsI,aAAW,OAAOC,mBAAkB9I,EAAO2I,OAAO,GAAGkN,aAAc7V,EAAO2I,OAAO,GAAGkN,aAAmB,QCM3L2F,I,OAnBU,SAAC,GAA2B,IAAD,YAAxBxb,EAAwB,EAAxBA,OAAQC,EAAgB,EAAhBA,UAClC,OACI,kBAAC,IAAMkH,SAAP,KACI,kBAAC,UAAD,iBAAcvH,EAAiBK,EAAUG,eAAzC,CAAyDwG,QAAS5G,EAAOkD,QAAQ9G,MAAOqC,WAAW,UAACuB,EAAOkJ,aAAR,iBAAC,EAAc9M,aAAf,aAAC,EAAqB+M,KAAkH,4EAA9G,8GAA2LzC,KAAI,UAAE1G,EAAO0G,YAAT,iBAAE,EAAatK,aAAf,aAAE,EAAoBuK,KAAMnM,GAAI,YAAcyF,EAAUW,IAAKyG,YAAY,cAChY,UAAArH,EAAOkJ,aAAP,mBAAc9M,aAAd,eAAqB+M,MAAO,kBAAC,eAAD,CAAcA,IAAKnJ,EAAOkJ,MAAM9M,MAAM+M,IAAK7B,KAAK,UAC7E,kBAAC,iBAAD,CAAgBA,KAAK,WAChBtH,EAAO2I,OAAOlH,OAAS,EAAK,kBAAC,SAAD,CAAQmF,QAAS5G,EAAO2I,OAAO,GAAGkN,YAAalP,KAAK,IAAIlI,UAAU,gCAAgC0S,QAAS,SAACc,GAAYxS,OAAOpB,SAASsI,KAAKlH,OAAOpB,SAASsI,KAAK,kCAAmC3G,EAAO2I,OAAO,GAAGkN,YAAa5D,EAAOwC,kBAAqBja,GAAI,WAAawF,EAAO2I,OAAO,GAAGnO,IAC1T,0BAAMiE,UAAU,6EACfuB,EAAO2I,OAAO,GAAGkN,aACV,GACZ,wBAAIpX,UAAU,gEAA+D,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACjG,yBAAK1I,GAAG,YAAW,kBAAC,WAAD,CAAU6F,MAAOL,EAAOqX,YAC3C,uBAAG5Y,UAAU,cAAa,kBAAC,OAAD,CAAM4B,MAAOL,EAAOmD,oBAC7CnD,EAAO2I,OAAOlH,OAAS,EAAI,uBAAGlB,MAAM,0CAA0CsI,aAAW,OAAOC,mBAAkB9I,EAAO2I,OAAO,GAAGkN,aAAc7V,EAAO2I,OAAO,GAAGkN,aAAmB,QCPlM4F,GAAe,kBACnB,6BACE,kBAAC,SAAD,CACEhB,YAAaje,IAAOke,sBACpBC,iBAAkBne,IAAOkf,iCACzBb,mBAAoBre,IAAOmf,mCAC3BC,gBAAiBpf,IAAOqf,8BAKflb,oCAtBA,SAAC,GAAD,MAAGX,EAAH,EAAGA,OAAQC,EAAX,EAAWA,UAAWY,EAAtB,EAAsBA,gBAAtB,OACb,wBAAUjB,EAAiBK,EAAUG,eACnC,kBAAC,SAAD,CACEqa,YAAaje,IAAOke,sBACpBC,iBAAkBne,IAAOkf,iCACzBb,mBAAoB7a,EAAO6a,mBAAmBze,MAC9Cwf,gBAAiBpf,IAAOqf,0BACxBvgB,KAAI,OAAEuF,QAAF,IAAEA,GAAF,UAAEA,EAAiBH,WAAnB,aAAE,EAAsBob,iBCNnBC,I,OAAqB,SAAC5f,GCH5B6B,kBAAgBC,KAAKC,uBAAsB,KAAMnB,IAAoBH,KAAiBzC,MAAK,WAChG,OAAO6D,kBAAgBge,cAASxc,GAAWrF,MAAK,WAC9C,OAAO,IAAIF,SAAQ,SAAC4T,GAClBA,EAAI,CACF7S,KAAMgD,kBAAgBie,UACtBhhB,OAAQ+C,kBAAgBke,kBACxBhhB,aAAa,UAGhBihB,OAAM,kBAGRA,OAAM,SAACC,GACRxZ,QAAQC,IAAIuZ,MDTAjiB,MAAK,SAACmB,GAChBa,EAAS,CACPd,K3DV4B,uB2DW5BC,KAAMA,GAAQ,UEsChB+gB,GAAyB,WAC3B,OACE,kBAAC,sBAAD,CACEC,QAAO,eACPC,KAAM,CACJC,UAAW,CACT,CACIjZ,MAAO,UACPwF,IAAKvM,IAAOigB,iCAGhB,CACIlZ,MAAO,WACPwF,IAAKvM,IAAOkgB,kCAEhB,CACInZ,MAAO,gBACPwF,IAAKvM,IAAOmgB,wCAGlBC,UAAU,wBAAD,OAA0Bnd,OAAOpB,SAASqV,UACnDmJ,aAAc,YACdC,WAAY,gBACZC,UAAS,UAAKvgB,IAAOS,iBAAZ,iCACT+f,SAAS,EACTC,yBAA0BzgB,IAAO0gB,uCAK5BC,GAxEU,SAAC,GAA0B,EAAxBnd,OAAwB,EAAhBC,UAAiB,IAAD,EAC5B5D,IAAZF,EADwC,oBAEhD8E,qBAAU,WACN8a,GAAmB5f,KACpB,IACH,IAAOnB,EAAOqB,IALkC,EAMhB0E,mBAAS/F,EAAK,GAAGA,MAND,mBAMzC2T,EANyC,KAM/BC,EAN+B,KAWhD,OAHA3N,qBAAU,WACN2N,EAAY5T,EAAK,GAAGA,QACrBA,GAED,kBAAC,sBAAD,CACEshB,QAAO,eACPC,KAAM,CACFvhB,KAAI,OAAE2T,QAAF,IAAEA,OAAF,EAAEA,EAAU3T,KAChBwhB,UAAW,CACT,CACIjZ,MAAO,UACPwF,IAAKvM,IAAOigB,iCAGhB,CACIlZ,MAAO,WACPwF,IAAKvM,IAAOkgB,kCAEhB,CACInZ,MAAO,gBACPwF,IAAKvM,IAAOmgB,wCAGlBC,UAAWpgB,IAAOS,iBAAmBT,IAAOiX,mBAAjC,oBAAqF,qBAAXhU,OAAwB,GAAI,cAAcA,OAAOpB,SAASqV,UAC/IoJ,WAAYtgB,IAAOS,iBAAmBT,IAAOiX,mBAAqB,cAClE2J,iBAAkB5gB,IAAO6gB,qCACzBR,aAAc,aAEhBE,UAAS,UAAKvgB,IAAOS,iBAAZ,iCACT+f,SAAS,EACTC,yBAA0BzgB,IAAO0gB,uCC7B5Bvc,oCAZO,SAAChE,GAAW,IAAD,QAC7B,OACI,kBAAC,IAAMwK,SAAP,KACI,uCAAKG,KAAK,UAAUgW,UAAS,mBAAU3gB,EAAMsD,UAAUD,cAA1B,iBAAU,EAAwBkD,eAAlC,aAAU,EAAiC9G,MAAMU,QAAQ,KAAM,MAAM2B,UAAU,4BAA4BjE,GAAI,8CAAqCmC,EAAMsD,UAAUD,cAArD,iBAAqC,EAAwBkD,eAA7D,aAAqC,EAAiC9G,MAAMU,QAAQ,KAAM,MAAMyd,KAAK,YAAe3a,EAAiBjD,EAAMsD,UAAUG,gBAC7R,kBAAC,cAAD,CACIH,UAAWtD,EAAMsD,UACjB6R,KAAK,qBCJnByL,I,yDACJ,WAAY5gB,GAAQ,IAAD,8BACjB,cAAMA,IAMR6gB,WAAa,SAACvL,GACZ,IAAIwL,EAAe,QAAWxL,EAAMyL,OAAOljB,GAAIsC,QAAQ,QAAS,IAChE,EAAK6gB,SAAS,CAAEriB,KAAMmiB,IACtBhe,OAAOpB,SAAS2H,KAAO,IAAOiM,EAAMyL,OAAOljB,GAAIsC,QAAQ,QAAS,KARhE,EAAK3B,MAAQ,CACXG,KAAM,IAHS,E,gEAcjB,IAAIyN,EAAMtJ,OAAOpB,SAASsI,KACtB8W,EAAe,GAEfnO,EADY,IAAIlR,gBAAgBqB,OAAOpB,SAASC,QAC7BC,IAAI,UAC3B,GAAIwK,EAAI6U,QAAQ,MAAQ,EACtBH,EAAe,QAAU1U,EAAI7J,MAAM,KAAK,GACxC2e,KAAKF,SAAS,CAAEriB,KAAMmiB,SAEnB,GAAa,MAAVnO,EAAgB,CAEtBmO,EAAe,QADDnO,EAAOpQ,MAAM,KAAK,GAEhC2e,KAAKF,SAAS,CAAEriB,KAAMmiB,QAEnB,CAAC,IAAD,oBACDA,GAAe,UAAAI,KAAKlhB,aAAL,mBAAYmhB,gBAAgB,UAA5B,mBAAgCnhB,aAAhC,mBAAuCqD,cAAvC,mBAA+CkD,eAA/C,eAAwD9G,OAAQ,mBAAUyhB,KAAKlhB,aAAf,iBAAU,EAAYmhB,gBAAgB,UAAtC,iBAAU,EAAgCnhB,aAA1C,iBAAU,EAAuCqD,cAAjD,iBAAU,EAA+CkD,eAAzD,aAAU,EAAwD9G,MAAMU,QAAQ,KAAM,MAAO,gCAC5K+gB,KAAKF,SAAS,CAAEriB,KAAOmiB,O,yCAIVM,EAAWhiB,GAC5B,IAAIgN,EAAMtJ,OAAOpB,SAASsI,KAC1B,GAAIoC,EAAI6U,QAAQ,MAAQ,EAAG,CACzB,IAAIH,EAAe,QAAU1U,EAAI7J,MAAM,KAAK,GACxCnD,EAAUT,OAASmiB,GACrBI,KAAKF,SAAS,CAAEriB,KAAMmiB,O,+BAOlB,IAAD,SACsCI,KAAKlhB,MAA1CmhB,EADD,EACCA,gBAAiBjd,EADlB,EACkBA,gBAGnBmd,GAAcF,GAAmB,IACpCnN,QAAO,SAAC1Q,GAAD,OAAeA,EAAUtD,OAASsD,EAAUtD,MAAMqD,UACzDpG,KAAI,SAACqkB,EAAcvY,GAClB,OAAOuY,KAILC,EAAOF,EAAWpkB,KAAI,SAACqkB,EAAcvY,GAAW,IAAD,IACnD,MAAO,CAAElL,GAAI,mBAAUyjB,EAAathB,MAAMqD,OAAOkD,eAApC,aAAU,EAAmC9G,MAAMU,QAAQ,KAAM,MAAMyG,MAAK,UAAE0a,EAAathB,MAAMqD,OAAOkD,eAA5B,aAAE,EAAmC9G,UAGhI,OACE,kBAAC,IAAM+K,SAAP,KACE,2CAAS1I,UAAU,0CAA8CmB,EAAiBie,KAAKlhB,MAAMsD,UAAUG,gBAElGS,EAAgB0D,YAChB,yBAAK/J,GAAG,kBACHwjB,GAEe,KAApBH,KAAK1iB,MAAMG,MACR,kBAAC,oBAAD,CAAmBd,GAAG,kBAAkB2jB,WAAW,KAAK7iB,KAAM4iB,EAAM3O,UAAWsO,KAAK1iB,MAAMG,KAAM8iB,YAAa,SAACC,GAAD,OAAS,EAAKb,WAAWa,KAC/HL,S,GAvEeniB,IAAMyiB,YAsFtCC,GAAuCxe,0BAAgB,CAC3Dye,YAAa,WACbC,KAAM,mBAFqC1e,CAG1Cwd,IASYmB,GAJ+B/d,gCAC5C4d,ICrFaI,GAdc,SAAC,GAAgB,IAAD,4CAAb3e,EAAa,EAAbA,OACxB4e,GAAe,UAAA5e,EAAO6e,YAAP,mBAAa7e,OAAOvB,iBAApB,eAA+BrC,MAAMqF,QAAS,EAA9C,UAAkDzB,EAAO6e,YAAzD,iBAAkD,EAAa7e,OAAOvB,iBAAtE,aAAkD,EAA+BrC,MAAQ,cAC5G,MACqC,MAA7B,UAAA4D,EAAO0G,YAAP,mBAAatK,aAAb,eAAoBuK,OACe,UAA/B3G,EAAO0G,KAAKtK,MAAM0b,SAClB,4BACI,uBAAGjP,aAAW,OAAOC,mBAAA,UAAkB9I,EAAO0G,YAAzB,iBAAkB,EAAatK,aAA/B,aAAkB,EAAoBsM,KAAM/B,MAAM,UAAA3G,EAAO0G,YAAP,mBAAatK,aAAb,eAAoBuK,KAAK7J,QAAQ,0BAA0B,YAAYA,QAAQ,0BAA0B,aAAc,QAASgiB,IAAG,UAAE9e,EAAO0G,YAAT,iBAAE,EAAatK,aAAf,aAAE,EAAoBsM,MAAM,0BAAMjK,UAAW,0BAA4BmgB,IAAnR,UAAyS5e,EAAO0G,YAAhT,iBAAyS,EAAatK,aAAtT,aAAyS,EAAoBsM,OAEjU,4BACI,uBAAGG,aAAW,OAAOC,mBAAA,UAAkB9I,EAAO0G,YAAzB,iBAAkB,EAAatK,aAA/B,aAAkB,EAAoBsM,KAAM/B,KAAI,UAAE3G,EAAO0G,YAAT,iBAAE,EAAatK,aAAf,aAAE,EAAoBuK,KAAMmY,IAAG,UAAE9e,EAAO0G,YAAT,iBAAE,EAAatK,aAAf,aAAE,EAAoBsM,MAAM,0BAAMjK,UAAW,0BAA4BmgB,IAA7K,UAAmM5e,EAAO0G,YAA1M,iBAAmM,EAAatK,aAAhN,aAAmM,EAAoBsM,Q,UC2F3O,SAASqW,GAAqBC,GAC5B,IAAMC,EAAgB,GAYtB,OAXAD,EAAME,YACHtlB,KAAI,SAACulB,GAAD,OAASA,EAAIC,uBACjBzO,QAAO,SAACwO,GAAD,OAASA,KAChBld,SAAQ,SAACod,GAAD,OACPA,EAAKpd,SAAQ,SAACkd,GACRA,EAAIG,MAAqB,uBAAbH,EAAIG,OAClBL,EAAcE,EAAII,SAASzN,KAAK1V,QAAS,SAK1C6iB,EAGMO,OApGf,SAAqBR,GAA4B,IAArBS,EAAoB,uDAAJ,GAC1C,OAAO,SAAuBnB,GAAY,IAClCoB,EADiC,uKAOnC,IAAKV,EACH,MAAM,IAAI3kB,MACR,sHAIJ,IAAMslB,EAAgB,eAAQF,GAEzBE,EAAiB7N,OAAM6N,EAAiB7N,KAAO,QAGpD6N,EAAiBjS,QAAUiS,EAAiBjS,SAAW,GACvDiS,EAAiBjS,QAAQkS,UAAYD,EAAiBjS,QAAQkS,WAAa,IAIvE/B,KAAKlhB,MAAMkE,iBAA4D,WAAzCgd,KAAKlhB,MAAMkE,gBAAgBgf,WAG3Db,EAAME,YAAYY,MAChB,SAACX,GAAD,MAAsB,wBAAbA,EAAIG,MAAoD,iBAAlBH,EAAIY,gBAHrDJ,EAAiBjS,QAAQhN,KAAM,GAcjC,IAAMue,EAAgBF,GAAqBC,GAGvCC,EAAce,YAAcnC,KAAKlhB,MAAMsD,WAAa4d,KAAKlhB,MAAMsD,UAAUggB,aAC3EN,EAAiBjS,QAAQkS,UAAUI,WAAanC,KAAKlhB,MAAMsD,UAAUggB,YAKrEhB,EAAciB,aACdrC,KAAKlhB,MAAMkE,iBACXgd,KAAKlhB,MAAMkE,gBAAgBsf,SAE3BR,EAAiBjS,QAAQkS,UAAUM,YAAcrC,KAAKlhB,MAAMkE,gBAAgBsf,QAI9ER,EAAiBhjB,MAAQ,SAACA,GACxB,IAAMyjB,EAAazjB,EAAMgjB,EAAiB7N,MAEtCuO,EAAc,GAQlB,OANAA,EAAYV,EAAiB7N,MAAQsO,EAGjCX,EAAc9iB,QAChB0jB,EAAczlB,OAAO0lB,OAAOD,EAAaZ,EAAc9iB,MAAMA,KAExD0jB,GAGT,IAAME,EAAMC,aAAQxB,EAAOW,EAAfa,CAAiClC,GAC7C,OAAO,kBAACiC,EAAQ1C,KAAKlhB,SAtEc,2CA2EnC8jB,6CA3EmC,GACA5kB,IAAMyiB,WA8E7C,OA9EMoB,EACG7J,YAF8B,8BAEOyI,EAAUzI,aACpDyI,EAAUxM,MACV,YAJmC,KA+EhCnR,gCAAsB+e,K,OC1FjCgB,mqHAAYC,6BAA+B,IAC3C,IA0DenB,MA1DM,yjMA0DuB,CAAE1N,KAAM,kBAArC0N,EAxDE,SAAC7iB,GAClB,IAAMikB,EAAgBjkB,EAAMkkB,eAOlBC,GAHmBF,EAAnBxE,MAAmBwE,EAAZG,QAGIH,EAAXE,QAEJE,EAAW,GAEf,GAAc,OAAXF,QAA6BthB,GAAVshB,EACtB,EACsB,SAAdG,EAAeH,GACjBlmB,OAAOD,KAAKmmB,GAAQlnB,KAAI,SAACsnB,EAAMxb,GACd,WAATwb,GACwB,MAApBJ,EAAM,QAA+C,YAAzBA,EAAM,OAAWhP,MAA+C,WAAzBgP,EAAM,OAAWhP,OAEpFmP,EAAYH,EAAM,QAElBE,EAASjI,KAAK,CACVjH,KAAMgP,EAAM,OAAWhP,KACvB1V,MAAO0kB,EAAM,aAMjCG,CAAYH,GAGd,OACI,4BAAQtmB,GAAG,SAASiE,UAAU,4BAC5B,yBAAK0iB,cAAY,oBAAoB1iB,UAAU,kBACjC,OAAXqiB,QAA6BthB,GAAVshB,GAClB,kBAAC,cAAgBlhB,EAAiBjD,EAAMsD,UAAUG,eAC7C4gB,GAAYA,EAASvf,QAAU,GAC9B,qCAAiB6F,KAAK,cAAc8Z,WAAS,cAAc5mB,GAAG,kBAAkB+F,MAAM,YACnFygB,EAASpnB,KAAI,SAACsnB,EAAKxb,GAAN,OACH,GAATA,GACE,oCAAgB4B,KAAK,aAAaZ,KAAMwa,EAAK9kB,MAAL,IAAmBmE,MAAM,YAAY2gB,EAAKpP,UAM1F,wBAAIxK,KAAK,WAAW3K,EAAMkE,gBAAgBiC,MAAM9C,OAAOmK,UAAU/N,aCvClEilB,GAdQ,SAAC,GAA2B,IAAzBrhB,EAAwB,EAAxBA,OAAQC,EAAgB,EAAhBA,UAE9B,OACI,yCAASL,EAAiBK,EAAUG,eAApC,CAAoD3B,UAAU,UAC1D,yBAAKA,UAAU,SACX,wBAAIA,UAAU,oGAAmG,kBAAC,OAAD,CAAM4B,MAAOL,EAAOkD,WACrI,yBAAKzE,UAAU,8BACX,kBAAC,WAAD,CAAU4B,MAAOL,EAAOshB,cAAexU,IAAI,gBCNzDtM,I,OAAeC,aACnB,kBACE,oCACF,CAAEC,KAAK,KAgCMC,wCA7BW,SAAC,GAA6B,EAA3BC,IAA2B,EAAtBC,gBAGhC,OAYF,WAAwB,IAAD,EACWE,oBAAS,GADpB,mBACdD,EADc,KACJE,EADI,KAWrB,OARAC,qBAAU,WACR,SAASC,IACPF,EAAYvB,OAAO0B,WAAa,MAIlC,OAFA1B,OAAO2B,iBAAiB,SAAUF,GAClCA,IACO,kBAAMzB,OAAO4B,oBAAoB,SAAUH,MACjD,IACIJ,EAzBUQ,IAIb,uCACE7C,UAAU,gIACNmB,EAAiB,qBAErB,kBAAC,GAAD,UCQOe,I,OAAAA,iCAzBM,SAAC,GAAuB,IAAD,oBAArBE,EAAqB,EAArBA,gBACnB,OACI,6BAASpC,UAAU,iEACjB,yBAAKA,UAAU,6BACb,yBAAKA,UAAU,SACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,kBAAiB,sCAAKoC,EAAgBiC,MAAM9C,cAA3B,iBAAK,EAA8BM,aAAnC,aAAK,EAAqClE,OACT,cAA5D,UAAAyE,EAAgBiC,MAAM9C,cAAtB,mBAA8BuhB,iBAA9B,eAAyCnlB,MAAM0b,UAC9C,4BAAQxc,KAAI,UAAEuF,EAAgBiC,MAAM9C,cAAxB,iBAAE,EAA8BuhB,iBAAhC,aAAE,EAAyCnlB,MAAMuK,KAAM6a,UAAY,EAAM/iB,UAAU,mBAE/F,2BAAO0K,KAAK,UAAAtI,EAAgBiC,MAAM9C,cAAtB,mBAA8BuhB,iBAA9B,eAAyCnlB,MAAMuK,KAAK7J,QAAQ,0BAA0B,YAAYA,QAAQ,0BAA0B,aAAc,QAAS0kB,UAAY,EAAM/iB,UAAU,2BAGrM,wBAAI8B,MAAM,iBAAiB/F,GAAG,iBAAgB,kBAAC,OAAD,CAAM6F,MAAK,UAAEQ,EAAgBiC,MAAM9C,cAAxB,aAAE,EAA8BkD,WACzF,yBAAK3C,MAAM,yCACP,kBAAC,WAAD,CAAUF,MAAK,UAAEQ,EAAgBiC,MAAM9C,cAAxB,aAAE,EAA8BuH,oBC+CjEka,GAAa,IAAIC,IA+DR,SAASC,GAAiBvhB,GACvC,OAAOqhB,GAAWljB,IAAI6B,GA/DxBqhB,GAAWG,IAAI,iBAAkBC,GACjCJ,GAAWG,IAAI,yCAA0CE,GACzDL,GAAWG,IAAI,2BAA4BG,GAC3CN,GAAWG,IAAI,0CAA2CI,GAC1DP,GAAWG,IAAI,0CAA2CK,GAC1DR,GAAWG,IAAI,qBAAsBnb,IACrCgb,GAAWG,IAAI,yBAA0B7a,IACzC0a,GAAWG,IAAI,gBAAiBpa,IAChCia,GAAWG,IAAI,qBAAsBM,IACrCT,GAAWG,IAAI,YAAaha,IAC5B6Z,GAAWG,IAAI,gBAAiBO,IAChCV,GAAWG,IAAI,mBAAoB9Z,IACnC2Z,GAAWG,IAAI,oBAAqB5Y,IACpCyY,GAAWG,IAAI,uBAAwBtY,IACvCmY,GAAWG,IAAI,uBAAwBQ,IACvCX,GAAWG,IAAI,2BAA4BS,IAC3CZ,GAAWG,IAAI,kBAAmBU,IAClCb,GAAWG,IAAI,0BAA2B7X,IAC1C0X,GAAWG,IAAI,yBAA0BW,IACzCd,GAAWG,IAAI,uBAAwBnX,IACvCgX,GAAWG,IAAI,cAAeY,IAC9Bf,GAAWG,IAAI,eAAgBa,IAC/BhB,GAAWG,IAAI,uBAAwBc,IACvCjB,GAAWG,IAAI,iBAAkBhN,IACjC6M,GAAWG,IAAI,qBAAsBe,IACrClB,GAAWG,IAAI,6BAA8BgB,IAC7CnB,GAAWG,IAAI,mCAAoCiB,IACnDpB,GAAWG,IAAI,cAAenL,IAC9BgL,GAAWG,IAAI,4BAA6BjL,IAC5C8K,GAAWG,IAAI,kCAAmCkB,IAClDrB,GAAWG,IAAI,0CAA2CmB,IAC1DtB,GAAWG,IAAI,0CAA2CoB,IAC1DvB,GAAWG,IAAI,uBAAwB1K,IACvCuK,GAAWG,IAAI,iCAAkCqB,IACjDxB,GAAWG,IAAI,eAAgBxK,IAC/BqK,GAAWG,IAAI,cAAetK,IAC9BmK,GAAWG,IAAI,wBAAyBsB,IACxCzB,GAAWG,IAAI,oBAAqBjK,IACpC8J,GAAWG,IAAI,8BAA+BuB,IAC9C1B,GAAWG,IAAI,qBAAsBwB,IACrC3B,GAAWG,IAAI,qBAAsByB,IACrC5B,GAAWG,IAAI,iBAAkB0B,IACjC7B,GAAWG,IAAI,iBAAkB2B,IACjC9B,GAAWG,IAAI,0BAA2B4B,IAC1C/B,GAAWG,IAAI,gBAAiB6B,IAChChC,GAAWG,IAAI,YAAa1G,IAC5BuG,GAAWG,IAAI,gBAAiB8B,IAChCjC,GAAWG,IAAI,cAAerG,IAC9BkG,GAAWG,IAAI,mBAAoBpG,IACnCiG,GAAWG,IAAI,SAAU+B,IACzBlC,GAAWG,IAAI,mBAAoBzE,IACnCsE,GAAWG,IAAI,WAAY1a,IAC3Bua,GAAWG,IAAI,qBAAsBna,IACrCga,GAAWG,IAAI,gBAAiBgC,IAChCnC,GAAWG,IAAI,0BAA2BrE,IAC1CkE,GAAWG,IAAI,uBAAwBjD,IACvC8C,GAAWG,IAAI,WAAYiC,IAC3BpC,GAAWG,IAAI,iBAAkBP,IACjCI,GAAWG,IAAI,mBAAoBkC,IACnCrC,GAAWG,IAAI,cAAemC,GAC9BtC,GAAWG,IAAI,eAAgBoC,I,kCCtHxB,SAASC,GAAYlb,EAAKzN,GAC/B,OAAO4oB,KAAM,CACXnb,MACAob,OAAQ7oB,EAAO,OAAS,MACxBA,OAGA8oB,iBAAiB,I,OCbrB,SAASC,GAAarkB,GAAS,IAAD,WAE5B6d,KAAKyG,iBACL,CACE,WAAY,oBACZ,QAAS,cACT,eAAQtkB,EAAOmK,iBAAf,aAAQ,EAAkB/N,MAC1B,sBAAe4D,EAAOukB,uBAAtB,aAAe,EAAwBnoB,OAGzCyhB,KAAK2G,oBAAsB,GAE3B3G,KAAK4G,kBAAoB,SAACC,EAAWC,GAEnB,IAAD,EAAXD,IAEEE,MAAMC,QAAQH,KAChB,EAAKF,oBAAsBE,EAAU9qB,KAAI,SAAC0B,GACxC,OAAOA,EAAK0E,OAAO4F,eAAexJ,WAItC,UAAIsoB,EAAUtoB,aAAd,aAAI,EAAiB4D,UACnB,EAAKwkB,oBAAsBE,EAAUtoB,MAAM4D,OAAO4F,eAAexJ,QAKrE,OAAO,EAAK0oB,iBAAiBH,IAI/B9G,KAAKiH,iBAAmB,SAACH,GAMvB,OAJI,EAAKH,sBACP,EAAKF,iBAAiBK,GAAY,EAAKH,qBAGlC,GAGT3G,KAAKkH,MAAQ,WACX,OAAO,EAAKT,kBAKhB,IAiBe3jB,oCAjBI,SAAC,GAA4C,IAA1CX,EAAyC,EAAzCA,OAIhBskB,GAJyD,EAAjCrkB,UAAiC,EAAtBY,gBAExB,IAAIwjB,GAAarkB,GAG7BykB,kBAAkBzkB,EAAOglB,aAAa,YACtCP,kBAAkBzkB,EAAOilB,eAAgB,cACzCR,kBAAkBzkB,EAAOklB,gBAAiB,eAC1CH,SAEH,OACE,0BAAQvqB,GAAG,gBAAgBa,KAAK,uBAC7B2I,KAAKmhB,UAAUb,O,SCoBPc,GAjEA,SAAC,GAAe,IAAD,IAAZtiB,EAAY,EAAZA,MAChB,GAAoB,qBAAVrD,OAAsB,CAAC,IAAD,EACXpD,IAAVrB,EADqB,oBACrBA,KACT,GAAIyE,OAAO4lB,sBAAwB5lB,OAAO4lB,qBAAqBC,SAAS,SAAU,CAClF,IAAMC,EAASvmB,SAASwmB,cAAc,UACtCD,EAAOpc,IAAM,iEACZ,IAAIsc,EAAahmB,OAAOpB,SAASsI,KAClC4e,EAAOG,OAAP,wBAAgB,iCAAAlW,EAAA,sEACWmW,wBAAc,GAAD,OAAInpB,IAAOmI,kCAAoC,CAAEO,MAAK,UAAElK,EAAKA,YAAP,aAAE,EAAWkK,MAAOC,WAAYnK,EAAKC,SADnH,OACR2qB,EADQ,OAERC,EAA+BC,oCAAyB,GAAD,OAAItpB,IAAOiI,gCAAiCshB,UACzGtmB,OAAOumB,QAAQ,OAAQJ,EAAWC,GAClCpmB,OAAOumB,QAAQ,OAAQ,OAAQ,CAC7BC,aAAc,gBACdC,eAAgBT,EAChBU,YAAa,2BAPD,2CAUfnnB,SAASonB,KAAKC,YAAYd,IAI7B,OAAO,kBAAC,IAAMpe,SAAP,KAEL,kBAAC,IAAD,KACE,+BACIrE,EAAM9C,QACN8C,EAAM9C,OAAOmK,YADb,UAEArH,EAAM9C,OAAOmK,iBAFb,aAEA,EAAwB/N,QACxB,QAEJ,0BAAM0V,KAAK,cAAcvK,QAAO,UAAEzE,EAAM9C,OAAOukB,uBAAf,aAAE,EAA8BnoB,SAGlE,kBAAC,GAAe0G,GAShB,kBAAC,wBAAD,MACA,yBAAKrE,UAAU,8BACb,yBAAK8b,KAAK,aAAaha,MAAM,mEAAmEia,aAAW,mBACvG,uBAAG7T,KAAK,UAAUkC,aAAW,OAAOC,mBAAiB,iCAArD,iCACA,uBAAGnC,KAAK,WAAWkC,aAAW,OAAOC,mBAAiB,iCAAtD,kCAEJ,yBAAKyR,KAAK,cACR,kBAAC,cAAD,CAAazI,KAAK,aAAa7R,UAAW6C,KAE5C,kBAAC,cAAD,CAAagP,KAAK,eAAe7R,UAAW6C,IAC1B,yCAAjBA,EAAMqd,OAAoD,kBAAC,kBAAD,MAAuB,GAClF,0BAAM3lB,GAAG,UAAUiE,UAAU,mCAC3B,kBAAC,cAAD,CAAaqT,KAAK,WAAW7R,UAAW6C,IACtB,yCAAjBA,EAAMqd,OAAoD,kBAAC,GAAD,CAAmBvf,IAAKkC,EAAMqd,SAAa,IAExG,yBAAK1hB,UAAU,kBACb,kBAAC,cAAD,CAAaqT,KAAK,aAAa7R,UAAW6C,MAG9C,kBAAC,cAAD,CAAagP,KAAK,cAAc7R,UAAW6C,MCzEzCkH,I,OAAQ,CACZ,CAAEzG,MAAO,qBAAuBuL,KAAK,GAAD,OAAKtS,IAAO8pB,2CAChD,CAAE/iB,MAAO,2BAA4BuL,KAAK,GAAD,OAAKtS,IAAO+pB,0CACrD,CAAEhjB,MAAO,iBAAmBuL,KAAK,GAAD,OAAKtS,IAAOgqB,oCAGxCC,GAAgB,CACpB,OACA,CACEC,UAAW,MACXpmB,MAAO,2CACPqmB,QAAS,CAAC,oFACVC,QAAS,sDACT5c,UAGJ,OACC,CACC0c,UAAW,MACXpmB,MAAO,8BACPqmB,QAAS,CAAC,sEACVC,QAAS,qCACT5c,WAqCa6c,GAjBQ,SAAClqB,GACtB,IAAM+W,EAAW/W,EAAMmG,MACjBgkB,EAAWL,GAAc/S,IAAa+S,GAAc,QAC1D,OACE,yBAAKhoB,UAAU,iBACb,yBAAKA,UAAU,iDACb,wBAAIA,UAAU,mBAAmBqoB,EAASxmB,OAC1C,yBAAK7B,UAAU,2BACb,2BAAIqoB,EAASH,SACZG,EAAS9c,MAAMvI,OAAS,GAxBhB,SAACqlB,GAClB,OACE,kBAAC,IAAM3f,SAAP,KACE,2BAAK2f,EAASF,SACd,4BACIE,EAAS9c,MAAMpQ,KAAI,SAAC8M,EAAMhB,GAAP,OACnB,wBAAIwE,IAAKxE,GACP,uBAAGjH,UAAU,WAAWkI,KAAMD,EAAKoI,KAAMjG,aAAW,OAAOC,mBAAkBpC,EAAKnD,OAAQmD,EAAKnD,aAiBnEwjB,CAAYD,IAE5C,yBAAKroB,UAAW,yBAA2BqoB,EAASJ,eCtB7CM,GApBG,SAACrqB,GAAD,OAChB,6BACE,kBAAC,IAAD,KACE,kDAGF,yBAAK4d,KAAK,aAAaha,MAAM,mEAAmEia,aAAW,mBACzG,uBAAG7T,KAAK,UAAUkC,aAAW,OAAOC,mBAAiB,iCAArD,iCACA,uBAAGnC,KAAK,WAAWkC,aAAW,OAAOC,mBAAiB,iCAAtD,kCAEF,yBAAKyR,KAAK,cACR,kBAAC,GAAD,OAEF,kBAAC,GAAD,CAAgBzX,MAAOnG,EAAMmG,QAC7B,yBAAKrE,UAAU,kBACb,kBAAC,GAAD,SClBAwoB,G,kDACJ,WAAYtqB,GAAQ,IAAD,uBACjB,cAAMA,IAyDRuqB,iBAAmB,WACjB,IAAK,EAAKvqB,MAAMkE,gBAAiB,OAAO,KADjB,MAGO,EAAKlE,MAAMkE,gBAEzC,MAAQ,CACNsmB,SAAU,CACRrkB,MAPmB,EAGfA,MAKJskB,QARmB,6BAvDvB,EAAKjsB,MAAQ,CACXksB,UAAU,EACVC,gBAAiB9qB,IAAO8qB,iBAG1B,IAAMC,EAAY,EAAKL,mBARN,OAWC,OAAdK,IACF,EAAKpsB,MAAMksB,UAAW,IAKpBE,GAAeA,EAAUJ,UAAaI,EAAUJ,SAASrkB,QAC3D,EAAK3H,MAAMksB,UAAW,GAMpBE,GAAaA,EAAUH,SAAWG,EAAUH,QAAQI,WACtD,EAAKrsB,MAAMmsB,gBAAkBC,EAAUH,QAAQI,UAGjD,EAAKC,oBAAqB,EAC1B,EAAKC,oBAAqB,EA7BT,E,gEAiCC7J,KAAKqJ,qBAGLrJ,KAAKlhB,MAAMgrB,mBAC3B9J,KAAK+J,kBAUe,qBAAXnoB,SAA2Boe,KAAKlhB,MAAMgrB,mBAAqB9J,KAAKlhB,MAAMkrB,sBAC/EhK,KAAKlhB,MAAMkrB,sBAAqB,GAGlChK,KAAK4J,oBAAqB,I,6CAI1B5J,KAAK4J,oBAAqB,I,wCAmBT,IAAD,OACZK,EAAoBjK,KAAKlhB,MAAMmG,MAAMilB,MAAMzY,OAAO0Y,eAAiB,IAClEF,EAAkBzoB,WAAW,OAChCyoB,EAAiB,WAAOA,IA6E9B,SAAsBhlB,EAAO0kB,GAC3B,IAAMS,EAAe,CACnBC,oBAAqB,CAAEC,KAAM3rB,IAAO4rB,iBACpCC,kBAAmB,CAAEC,QAASd,EAAUe,UAAW/rB,IAAOgsB,gBAE1DC,QAASxE,IAGX,OAAOyE,UAAQC,eAAe7lB,EAAOmlB,GAAc9L,OAAM,SAACC,GACxD,OAAIA,EAAMwM,UAAsC,MAA1BxM,EAAMwM,SAASC,QAAkBzM,EAAMwM,SAASttB,KAC7D8gB,EAAMwM,SAASttB,MAGxBsH,QAAQwZ,MAAM,yBAA0BA,EAAOA,EAAMwM,UAE9C,SAtFPE,CAJAhB,EAAoBtrB,IAAOusB,2BAA6BjB,EACvCjK,KAAKlhB,MAAMmG,MAAMilB,MAAMzY,OAAO0Z,MAAQnL,KAAK1iB,MAAMmsB,iBAGxBntB,MAAK,SAACotB,GAC5B,OAAdA,GAAsBA,EAAUJ,UAAYI,EAAUJ,SAASrkB,OAEjE,EAAKnG,MAAMssB,sBAAX,aACEnmB,MAAOykB,EAAUJ,SAASrkB,MAC1Bqd,OAAQoH,EAAUJ,SAASrkB,MAAMqd,QAC9BoH,EAAUJ,SAASC,UAExB,EAAKzJ,SAAS,CAAE0J,UAAU,KAE1B,EAAK1J,SAAS,CAAE0J,UAAU,IAAQ,WAChC,IAAMD,EAAUG,GAAaA,EAAUJ,SAAWI,EAAUJ,SAASC,QAAU,KAE/E,EAAKzqB,MAAMssB,sBAAsB7B,W,yCAQtB8B,GACjB,IAAMC,EAAgBD,EAAcpmB,MAAMilB,MAAMhf,IAC1CqgB,EAAWvL,KAAKlhB,MAAMmG,MAAMilB,MAAMhf,IAGpCogB,IAAkBC,IAMlBC,qCACF5pB,OAAOpB,SAASiiB,OAAO8I,GAIzBvL,KAAK+J,qB,+BAGG,IACAP,EAAaxJ,KAAK1iB,MAAlBksB,SACFE,EAAY1J,KAAKqJ,mBAKvB,OAAIG,EAEA,kBAAC,GAAD,CAAWvkB,MAAOykB,EAAUA,EAAUJ,SAASrkB,MAAO,UAMrDykB,GAAa1J,KAAK6J,mBACd,KAIF,kBAAC,GAAD,CAAQ5kB,MAAOykB,EAAUJ,SAASrkB,Y,GAhJlBjH,IAAMyiB,WAoJlB3d,iCAAoB,CAAE2oB,WAAW,GAAjC3oB,CAAyCsmB,IClJjD,IAAMsC,GAAgB,CAC3B,4CACA,mCACA,oBAwFaC,G,kDA/Eb,WAAY7sB,GAAQ,IAAD,8BACjB,cAAMA,IAoBRkrB,qBAAuB,SAACF,GAAD,OACrB,EAAKhK,SAAS,CACZgK,uBApBF,EAAKxsB,MAAQ,CACXwsB,mBAAmB,GAGjBhrB,EAAM8sB,SACR,EAAK5oB,gBACHlE,EAAM8sB,SAAStC,UAAYxqB,EAAM8sB,SAAStC,SAASrkB,MAAnD,aAEMA,MAAOnG,EAAM8sB,SAAStC,SAASrkB,MAC/Bqd,OAAQxjB,EAAM8sB,SAAStC,SAASrkB,MAAMqd,QACnCxjB,EAAM8sB,SAAStC,SAASC,SAE7BzqB,EAAM8sB,SAAStC,SAASC,QAE9B,EAAKvmB,gBAAkB,KAjBR,E,gEA2BjBgd,KAAKgK,sBAAqB,K,sCAGZ1e,GACd,IAAIugB,EAAY1qB,SAASwmB,cAAc,UACvCkE,EAAUvgB,IAAMA,EAEhBnK,SAAS2qB,KAAKtD,YAAYqD,K,+BAGlB,IAAD,SACiC7L,KAAKlhB,MAArCmS,EADD,EACCA,KAAM8a,EADP,EACOA,OAAQC,EADf,EACeA,cACtB,OACI,kBAAC,EAAD,KACA,kBAAC,IAAD,CAAgBC,OAAQD,GACxB,kBAAC,kBAAD,CACElI,iBAAkBA,GAClByF,QAASvJ,KAAKhd,iBAEd,kBAAC+oB,EAAD,CAAQvrB,SAAUyQ,EAAMsY,QAAS,IAC/B,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOtY,KAAK,WAAWib,OAAO,EAAMC,UAAWrrB,IAC/C,kBAAC,IAAD,CAAOmQ,KAAK,0BAA0B4D,OAAQ3U,IAC9C,kBAAC,IAAD,CAAO+Q,KAAK,YAAYib,OAAO,EAAOC,UAAWtqB,IACjD,kBAAC,IAAD,CAAOoP,KAAK,eAAgBib,OAAO,EAAMrX,OAAQ5T,IACjD,kBAAC,IAAD,CAAOgQ,KAAK,kBAAkBib,OAAO,EAAMC,UAAWrrB,IAEtD,kBAAC,IAAD,CAAOmQ,KAAM,OAAQib,OAAO,EAAMrX,OAAQ,kBAAI,kBAAC,GAAD,CAAW5P,MAAM,YAC9DymB,GAAc3vB,KAAI,SAACqwB,GAAD,OACjB,kBAAC,IAAD,CACE/f,IAAK+f,EACLnb,KAAMmb,EACNvX,OAAQ,SAAC/V,GAAD,OACN,kBAAC,GAAD,CACEmG,MAAOnG,EACPgrB,kBAAmB,EAAKxsB,MAAMwsB,mC,GA/D9B9rB,IAAMyiB,W,0DCf5B7e,OAAOyqB,uBAAyBxJ,4BAEhC,IAAIyJ,GAAiBC,IAAS1X,OAiB1B2X,IAfe7tB,IAAO8qB,gBAeN,MACdgD,GAAatrB,SAASwN,eAAe,iBACvC8d,KACFD,GAAgBrmB,KAAKC,MAAMqmB,GAAWC,YAEpCF,KAEFF,GAAiBC,IAASI,QAGXH,GAAclD,SAASC,QAAQI,UAUhD,IAAMiD,GACJJ,IAAiBA,GAAcK,aAAeL,GAAcK,aAAe,KAEvEb,GCjBS,SAASc,EAAUjqB,EAAKkqB,GAErC,IAAMlkB,EAAOmkB,eAA2BC,OACtC,IAAIC,KAAc,CAAEC,IAAKL,EAAUM,YAAa,aAG5CC,EAAQ,IAAIC,KAAc,CAC9BC,gBAAiB,IAAIC,KAA6B,CAChDC,oCAIJ,OAAO,IAAIC,KAAa,CACtBC,QAAS9qB,EACT+qB,mBAAoB,GACpB/kB,OACAwkB,MAAOA,EAAMQ,QAAQd,KDCHe,CAAqBnvB,IAAOovB,iBAAiB,EAAOnB,IASlEoB,GAAc7sB,SAASwN,eAAe,QAE5C2d,GACE,kBAAC,GAAD,CACErb,KAAMrP,OAAOpB,SAASqV,SACtBkW,OAAQkC,gBACRjC,cAAeA,GACfJ,SAAUY,KAEZwB,M","file":"static/js/main.0a5fd28e.chunk.js","sourcesContent":["var map = {\n\t\"./ads-alert.entry.js\": [\n\t\t876,\n\t\t16\n\t],\n\t\"./ads-breadcrumb_2.entry.js\": [\n\t\t844,\n\t\t24\n\t],\n\t\"./ads-button.entry.js\": [\n\t\t845,\n\t\t30\n\t],\n\t\"./ads-card_4.entry.js\": [\n\t\t846,\n\t\t25\n\t],\n\t\"./ads-carousel_2.entry.js\": [\n\t\t847,\n\t\t26\n\t],\n\t\"./ads-checkbox.entry.js\": [\n\t\t848,\n\t\t11\n\t],\n\t\"./ads-code.entry.js\": [\n\t\t849,\n\t\t31\n\t],\n\t\"./ads-cta-button.entry.js\": [\n\t\t850,\n\t\t32\n\t],\n\t\"./ads-cta-link.entry.js\": [\n\t\t851,\n\t\t15\n\t],\n\t\"./ads-dropdown.entry.js\": [\n\t\t852,\n\t\t0,\n\t\t22\n\t],\n\t\"./ads-expander.entry.js\": [\n\t\t853,\n\t\t19\n\t],\n\t\"./ads-expansion-panel.entry.js\": [\n\t\t854,\n\t\t17\n\t],\n\t\"./ads-file-select.entry.js\": [\n\t\t855,\n\t\t20\n\t],\n\t\"./ads-footer.entry.js\": [\n\t\t856,\n\t\t14\n\t],\n\t\"./ads-global-navigation.entry.js\": [\n\t\t857,\n\t\t6\n\t],\n\t\"./ads-horizontal-tabs.entry.js\": [\n\t\t858,\n\t\t9\n\t],\n\t\"./ads-interactive-image.entry.js\": [\n\t\t859,\n\t\t7\n\t],\n\t\"./ads-loader.entry.js\": [\n\t\t860,\n\t\t33\n\t],\n\t\"./ads-masthead.entry.js\": [\n\t\t861,\n\t\t21\n\t],\n\t\"./ads-modal.entry.js\": [\n\t\t862,\n\t\t10\n\t],\n\t\"./ads-notifications-panel.entry.js\": [\n\t\t863,\n\t\t18\n\t],\n\t\"./ads-pagination.entry.js\": [\n\t\t864,\n\t\t23\n\t],\n\t\"./ads-placeholder.entry.js\": [\n\t\t865,\n\t\t34\n\t],\n\t\"./ads-progress.entry.js\": [\n\t\t866,\n\t\t35\n\t],\n\t\"./ads-search.entry.js\": [\n\t\t867,\n\t\t12\n\t],\n\t\"./ads-select.entry.js\": [\n\t\t868,\n\t\t27\n\t],\n\t\"./ads-stepper.entry.js\": [\n\t\t869,\n\t\t28\n\t],\n\t\"./ads-tag.entry.js\": [\n\t\t870,\n\t\t36\n\t],\n\t\"./ads-toggle.entry.js\": [\n\t\t871,\n\t\t37\n\t],\n\t\"./ads-tooltip.entry.js\": [\n\t\t872,\n\t\t0,\n\t\t38\n\t],\n\t\"./ads-utility-navigation.entry.js\": [\n\t\t873,\n\t\t8\n\t],\n\t\"./ads-vertical-tabs.entry.js\": [\n\t\t874,\n\t\t13\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 602;\nmodule.exports = webpackAsyncContext;","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/bootstrap.js to modify the generation of this file.\nmodule.exports = {\n \"sitecoreApiKey\": \"360D01BB-34B8-46BC-B5BD-9FFFD7D289BF\",\n \"sitecoreApiHost\": \"https://developer.arm.com/\",\n \"jssAppName\": \"Developer2-0\",\n \"defaultLanguage\": \"en\",\n \"graphQLEndpointPath\": \"/api/Developer2-0\",\n \"REACT_APP_ARM_GLOBALNAVIGATION_HOST\": \"https://www.arm.com\",\n \"REACT_APP_ATM_HOSTNAME\": \"https://developer.arm.com\",\n \"REACT_APP_AUTH_SIGN_IN_URL\": \"sign-in\",\n \"REACT_APP_AUTH_SILENT_SIGN_IN_URL\": \"silent-sign-in\",\n \"REACT_APP_COMMUNITYBLOGS\": \"https://developer.arm.com/api/CommunityBlogs\",\n \"REACT_APP_COMMUNITYFORUM\": \"https://developer.arm.com/api/CommunityForums\",\n \"REACT_APP_CONTENTHOME_PATH\": \"/sitecore/content/Developer2-0/Home\",\n \"REACT_APP_COOKIEDATASOURCE\": \"F44CCA02-E7FF-4078-B886-CF1B3256A9CD\",\n \"REACT_APP_COOKIEDOMAIN\": \".arm.com\",\n \"REACT_APP_COOKIEENPOINT\": \"//api/cookies-policy/\",\n \"REACT_APP_COVEOCACHEDENDPOINT\": \"https://developer.arm.com/external-api/coveo/rest/search/v2\",\n \"REACT_APP_COVEOCOMMUNITYQUERYPIPELINE\": \"Community\",\n \"REACT_APP_COVEOCOMMUNITYRECOMMENDEDQUERYPIPELINE\": \"Community-Recommended\",\n \"REACT_APP_COVEOCOMMUNITYSEARCHHUB\": \"Community\",\n \"REACT_APP_COVEOGETSEARCHTOKENURL\": \"https://api.arm.com\",\n \"REACT_APP_COVEOHOMEPAGECOMMUNITYQUERYPIPELINE\": \"Dev2RecommendationTest\",\n \"REACT_APP_COVEOHOMEPAGECOMMUNITYSEARCHHUB\": \"CommunityRecommendationsTest\",\n \"REACT_APP_COVEOHOMEPAGEDOCUMENTATIONQUERYPIPELINE\": \"Dev2RecommendationTest\",\n \"REACT_APP_COVEOHOMEPAGEDOCUMENTATIONSEARCHHUB\": \"Dev2HomepageDocumentationTest\",\n \"REACT_APP_COVEOHOMEPAGERECOMMENDEDPIPELINE\": \"Dev2HomepageRecommendations\",\n \"REACT_APP_COVEOHOMEPAGERECOMMENDEDSEARCHHUB\": \"Dev2HomepageRecommendations\",\n \"REACT_APP_COVEOHOMEPAGESEARCHBOXQUERYPIPELINE\": \"Developer\",\n \"REACT_APP_COVEOHOMEPAGESEARCHBOXSEARCHHUB\": \"arm_developer\",\n \"REACT_APP_COVEOKEYRESOURCESTABID\": \"KeyResourcesTab\",\n \"REACT_APP_COVEOLANDINGPAGEQUERYPIPELINE\": \"Dev2FilterandSearch\",\n \"REACT_APP_COVEOORGANIZATIONID\": \"armlimitedproductionubhpo2y4\",\n \"REACT_APP_COVEOPRODUCTPAGEQUERYPIPELINE\": \"Dev2ProductPage\",\n \"REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONQUERYPIPELINE\": \"Dev2ProductPageRecommendation\",\n \"REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONSEARCHHUB\": \"Dev2ProductPageRecommendation\",\n \"REACT_APP_COVEOPRODUCTPAGESEARCHHUB\": \"Dev2ProductPage\",\n \"REACT_APP_COVEORESOURCESTABID\": \"ResourcesTab\",\n \"REACT_APP_COVEOSEARCHPAGE\": \"https://developer.arm.com\",\n \"REACT_APP_EA_HOSTNAME\": \"developer.arm.com\",\n \"REACT_APP_ENCRYPTIONKEY\": \"99e4bbfaf97d99ca826d0543eb16f6e0647dc8d7726517b854621b97b213cd18\",\n \"REACT_APP_ERROR_PAGE_BLOGS_LINK\": \"https://community.arm.com/developer/b\",\n \"REACT_APP_ERROR_PAGE_DEVELOPER_HOME_LINK\": \"https://developer.arm.com\",\n \"REACT_APP_ERROR_PAGE_DOCUMENTATION_LINK\": \"https://developer.arm.com/documentation/\",\n \"REACT_APP_FOOTERDOMAINURL\": \"https://developer.arm.com/\",\n \"REACT_APP_FOOTERSITECOREDATASOURCE\": \"841ADC3D-FCB0-4E8C-BB28-31BD9C040F13\",\n \"REACT_APP_FOOTERSITECOREENDPOINT\": \"//api/footer/\",\n \"REACT_APP_GLOBALNAVSITECOREDATASOURCE\": \"AD9391BD-0C81-4775-9104-8477F47EA6AB\",\n \"REACT_APP_GLOBALNAVSITECOREENDPOINT\": \"//api/global-navigation/\",\n \"REACT_APP_MEDALLIAFEEDBACKFORMID\": \"7336\",\n \"REACT_APP_MEDALLIARATINGFORMID\": \"7859\",\n \"REACT_APP_ORIGIN\": \"https://developer.arm.com\",\n \"REACT_APP_PATHNAME\": \"/\",\n \"REACT_APP_SFA_AUTHORITY\": \"https://account.arm.com/tfp/armb2c.onmicrosoft.com/b2c_1a_arm_accounts.susi/v2.0/\",\n \"REACT_APP_SFA_CLIENT_ID\": \"b7705cd8-fe14-4c60-9b70-a583ffad84ee\",\n \"REACT_APP_SFA_SCOPE\": \"openid https://armb2c.onmicrosoft.com/developer/read\",\n \"REACT_APP_SITECOREORIGIN\": \"https://developer.arm.com\",\n \"REACT_APP_SITECOREURI\": \"https://developer.arm.com/\",\n \"REACT_APP_SITECORE_NOTIFICATIONS_API\": \"https://api.arm.com/e-armaccount/v2/notifications?limit=100\",\n \"REACT_APP_SITECORE_NOTIFICATIONS_LINK\": \"https://services.arm.com/support/s/notifications\",\n \"REACT_APP_SITECORE_PROFILE_LINK\": \"https://services.arm.com/support/s/profile/home?tabset-5f9eb=1\",\n \"REACT_APP_SITECORE_SETTINGS_LINK\": \" https://services.arm.com/support/s/profile/home?tabset-5f9eb=2\",\n \"REACT_APP_THEME_TOGGLE\": \"true\",\n \"graphQLEndpoint\": \"https://developer.arm.com//api/Developer2-0?sc_apikey=360D01BB-34B8-46BC-B5BD-9FFFD7D289BF\"\n};","import { \r\n AZUREB2CSERVICE_INIT\r\n } from \"../../constants/actionTypes\";\r\n \r\n \r\n export const initialUserState = { user: null, isAuth: false, isLoginDone: false};\r\n \r\n export function user (state, action) {\r\n switch (action.type) {\r\n case AZUREB2CSERVICE_INIT:\r\n return {\r\n ...state,\r\n user: action.data.user,\r\n isAuth: action.data.isAuth,\r\n isLoginDone: true\r\n };\r\n default:\r\n return state;\r\n }\r\n }\r\n","export const AZUREB2CSERVICE_INIT = \"AZUREB2CSERVICE_INIT\";","import React, {\r\n createContext,\r\n useContext,\r\n useReducer,\r\n Reducer,\r\n FunctionComponent,\r\n} from 'react';\r\nimport {\r\n user,\r\n initialUserState,\r\n} from './reducers';\r\nexport const StateContext = createContext(initialUserState);\r\nexport const StateProvider = ({\r\n // eslint-disable-next-line react/prop-types\r\n children,\r\n}) => {\r\n const { Provider } = StateContext;\r\n const combineReducers = (slices) => (\r\n prevState,\r\n action\r\n ) =>\r\n Object.keys(slices).reduce(\r\n (nextState, nextProp) => ({\r\n ...nextState,\r\n [nextProp]: slices[nextProp](prevState[nextProp], action),\r\n }),\r\n prevState\r\n );\r\n const [state, dispatch] = React.useReducer(\r\n combineReducers({ user }),\r\n {\r\n user: initialUserState,\r\n }\r\n);\r\n return <Provider value={[state, dispatch]}>{children}</Provider>;\r\n};\r\n\r\nexport const UseGlobalState = () => useContext(StateContext);\r\n","import React from 'react';\r\nimport Helmet from 'react-helmet';\r\nimport config from '../temp/config';\r\n\r\nconst themeToggleValue = (`${config.REACT_APP_THEME_TOGGLE}` === \"true\" ? true:false);\r\nconst ThemeToggle = (props) => {\r\n return (\r\n <>\r\n <Helmet> \r\n {\r\n themeToggleValue && <script>\r\n {` \r\n const themeTokenName = 'themeToken';\r\n let themeToken;\r\n if (typeof window !==\"undefined\"){\r\n themeToken = document.cookie.split('; ').find((row) => row.startsWith(themeTokenName));\r\n if (themeToken) { \r\n document.querySelector('html').setAttribute('theme', themeToken.split('=')[1]); \r\n }else{\r\n document.querySelector('html').setAttribute('theme', 'dark');\r\n }\r\n }\r\n `}\r\n </script>\r\n }\r\n </Helmet>\r\n {props.children}\r\n </>\r\n );\r\n};\r\nexport default ThemeToggle;\r\n ","import React from 'react';\r\nimport {AzureB2CService, AuthConsumingService,OIDCSigninCallback, OIDCSignoutCallback} from \"@arm/ce-shared-components/components/Authentication\"; \r\nimport { AdsLoader } from \"@arm/arm-design-system-react\";\r\nimport config from '../../temp/config';\r\nimport { UseGlobalState } from '../../context/index';\r\nimport { AZUREB2CSERVICE_INIT } from '../../constants/actionTypes';\r\nimport ThemeToggle from '../../ThemeToggle';\r\nexport function getAppBaseUri() {\r\n return ((config.REACT_APP_PUBLIC_PATH) || \"\").replace(\"//\", \"/\") + \"/\";\r\n}\r\n\r\n\r\nexport function getSFaAuthConfig() {\r\n const baseUrl = config.REACT_APP_ORIGIN + getAppBaseUri();\r\n return {\r\n authority: config.REACT_APP_SFA_AUTHORITY,\r\n client_id: config.REACT_APP_SFA_CLIENT_ID,\r\n post_logout_redirect_uri: baseUrl + \"sign-out\",\r\n redirect_uri: baseUrl + config.REACT_APP_AUTH_SIGN_IN_URL,\r\n scope: config.REACT_APP_SFA_SCOPE,\r\n silent_redirect_uri: baseUrl + config.REACT_APP_AUTH_SILENT_SIGN_IN_URL,\r\n test: config.REACT_APP_ENV\r\n };\r\n}\r\n\r\n\r\nexport const login = (props) => {\r\n AzureB2CService.init(\r\n AuthConsumingService,\r\n null,\r\n getSFaAuthConfig(),\r\n null,\r\n \"/\"\r\n ).then(() => {\r\n const params = new URLSearchParams(props.location.search);\r\n const returnUrl = params.get('returnUrl');\r\n AzureB2CService.login(\r\n false,\r\n new URL(`${config.REACT_APP_ORIGIN}${returnUrl}`));\r\n });\r\n return (\r\n <ThemeToggle>\r\n <div className=\"c-dh-content u-flex-center\">\r\n <AdsLoader isLoading/>\r\n </div>\r\n </ThemeToggle>\r\n );\r\n };\r\n export const signin = () => {\r\n const [, dispatch] = UseGlobalState();\r\n const signinCallback = (user) => {\r\n dispatch({\r\n type: AZUREB2CSERVICE_INIT,\r\n data: { isAuth: true, user: user.profile },\r\n });\r\n return Promise.resolve(user);\r\n };\r\n return (\r\n <ThemeToggle>\r\n <OIDCSigninCallback onUserLoggedIn={signinCallback} />;\r\n </ThemeToggle>\r\n );\r\n };\r\n export const logout = () => {\r\n //Delete Coveo user token\r\n const coveoUserTokenName = 'coveoUserToken';\r\n const coveoUserToken = document.cookie.split('; ').find((row) => row.startsWith(coveoUserTokenName));\r\n if(coveoUserToken){\r\n const coveoUserTokenValue = coveoUserToken.split('=')[1];\r\n document.cookie = `${coveoUserTokenName}=${coveoUserTokenValue}; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; secure`;\r\n }\r\n AzureB2CService.init(\r\n AuthConsumingService,\r\n null,\r\n getSFaAuthConfig(),\r\n \"/\"\r\n ).then(() => {\r\n AzureB2CService.logout();\r\n });\r\n return (\r\n <ThemeToggle>\r\n <div className=\"c-dh-content u-flex-center\">\r\n <AdsLoader isLoading/>\r\n </div>\r\n </ThemeToggle>\r\n );\r\n };\r\n\r\n export const signOutCallback = () => {\r\n if(window != undefined)\r\n {\r\n window.location = config.REACT_APP_ORIGIN + \"/\";\r\n }\r\n return AzureB2CService.init(\r\n AuthConsumingService,\r\n null,\r\n getSFaAuthConfig(),\r\n getAppBaseUri(),\r\n true\r\n );\r\n \r\n };\r\n\r\n export const signOut = () => {\r\n return (\r\n <ThemeToggle>\r\n <OIDCSignoutCallback onUserLoggedOut={signOutCallback} />\r\n </ThemeToggle>\r\n ); \r\n };\r\n \r\n\r\nexport default login;","const RenderingStyling = (rName) => {\r\n var opts = {};\r\n opts['data-widget-title'] = rName;\r\n return opts;\r\n};\r\n\r\nexport default RenderingStyling;\r\n ","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './FilterAndSearchCommunityPostsContainer.css'\r\n\r\nconst FilterAndSearchCommunityPostsContainer = ({ fields, rendering, CommunityBlogsPlaceHolder, CommunityForumsPlaceHolder}) => (\r\n <section className=\"md:u-margin-left-2 md:u-margin-right-2\" {...RenderingStyling(rendering.componentName)}>\r\n <div className=\"c-container is-full-width\">\r\n <div className=\"c-row md:is-collapsed u-gap-1-1/2 u-flex-nowrap u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12\">\r\n <section className=\"community-section-FS\">\r\n <h2 id=\"community-posts\" className=\"u-margin-top-0 u-margin-bottom-1-1/2 u-margin-top-1-1/2\"><Text field={fields?.title}/></h2>\r\n <div className=\"u-display-grid u-gap-2 u-margin-bottom-1-1/2 xl:u-grid-columns-2\">\r\n {CommunityBlogsPlaceHolder} \r\n </div> \r\n <div class=\"u-display-grid u-gap-1\"> \r\n {CommunityForumsPlaceHolder}\r\n </div> \r\n </section> \r\n </div>\r\n </div> \r\n </div> \r\n </section> \r\n);\r\n\r\nexport default withPlaceholder(['CommunityBlogsPlaceHolder','CommunityForumsPlaceHolder']) (FilterAndSearchCommunityPostsContainer);\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { withSitecoreContext } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport config from \"../../../temp/config\";\r\nimport loadable from \"@loadable/component\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nconst FeedbackForm = loadable(\r\n () =>\r\n import(\"@arm/ce-shared-components/components/FeedbackForm/FeedbackForm\"),\r\n { ssr: false }\r\n);\r\n\r\nconst StarsRating = ({ uid, sitecoreContext }) => {\r\n const isMobile = useIsMobile();\r\n useEffect(() => {\r\n const targetNodeList = document.getElementsByClassName(\r\n \"u-justify-content-between\"\r\n );\r\n if (targetNodeList.length > 0) {\r\n const targetNode = targetNodeList[0];\r\n const config = { childList: true, subtree: true };\r\n\r\n const callback = (mutationsList) => {\r\n for (const mutation of mutationsList) {\r\n if (mutation.addedNodes.length > 0) {\r\n const buttons = document.querySelectorAll(\r\n \"#developer-hotjar-feedback-form button\"\r\n );\r\n buttons &&\r\n buttons.forEach((button) => {\r\n if (button) {\r\n button.className = \"\";\r\n button.classList.add(\r\n \"c-cta-button\",\r\n \"is-primary\",\r\n \"is-medium\"\r\n );\r\n button.setAttribute(\"style\", \"font-family : Lato !important\");\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n const observer = new MutationObserver(callback);\r\n observer.observe(targetNode, config);\r\n\r\n return () => observer.disconnect();\r\n }\r\n });\r\n\r\n return (\r\n !isMobile && (\r\n <div\r\n className=\"u-hide xl:u-display-grid xl:u-grid-auto-flow-column u-align-items-center u-gap-1 u-margin-bottom-2 u-justify-content-end\"\r\n {...RenderingStyling(\"StarRating\")}\r\n >\r\n <FeedbackForm />\r\n </div>\r\n )\r\n );\r\n};\r\n\r\nfunction useIsMobile() {\r\n const [isMobile, setIsMobile] = useState(false);\r\n\r\n useEffect(() => {\r\n function handleWindowSizeChange() {\r\n setIsMobile(window.innerWidth < 1200);\r\n }\r\n window.addEventListener(\"resize\", handleWindowSizeChange);\r\n handleWindowSizeChange();\r\n return () => window.removeEventListener(\"resize\", handleWindowSizeChange);\r\n }, []);\r\n return isMobile;\r\n}\r\n\r\nexport default withSitecoreContext()(StarsRating);\r\n","import React from \"react\";\r\nimport { Text } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport {\r\n withPlaceholder,\r\n withSitecoreContext,\r\n} from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { CoveoHeadless } from \"@arm/ce-shared-components\";\r\nimport config from \"../../../temp/config\";\r\nimport StarsRating from \"../../SharedComponents/StarsRating\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nimport { FILTER_AND_SEARCH_B_TEMPLATE_ID } from \"../../../constants/TemplateIds\";\r\nimport { UseGlobalState } from \"../../../context\";\r\nimport \"./FilterAndSearchContainer.css\";\r\n\r\nconst FilterAndSearchContainer = ({\r\n fields,\r\n rendering,\r\n sitecoreContext,\r\n SpotlightContentPlaceholder,\r\n}) => {\r\n const [{ user }] = UseGlobalState();\r\n console.log(sitecoreContext.route?.fields?.EnableA2ZSorting?.value);\r\n var renderSpotlightContentContainer = () => {\r\n return (\r\n <>\r\n <div className=\"c-row u-flex u-justify-content-between u-margin-bottom-0 flex-no-wrap\">\r\n <div>\r\n {sitecoreContext.route.templateId !=\r\n FILTER_AND_SEARCH_B_TEMPLATE_ID ? (\r\n <h2 className=\"u-margin-top-0\">\r\n <Text field={fields.heading}></Text>\r\n </h2>\r\n ) : (\r\n \"\"\r\n )}\r\n </div>\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n\r\n {sitecoreContext.route.templateId != FILTER_AND_SEARCH_B_TEMPLATE_ID ? (\r\n <p>\r\n <Text field={fields.shortDescription} />\r\n </p>\r\n ) : (\r\n \"\"\r\n )}\r\n {SpotlightContentPlaceholder}\r\n\r\n {sitecoreContext.route.templateId == FILTER_AND_SEARCH_B_TEMPLATE_ID ? (\r\n <div>\r\n <h2 className=\"u-margin-top-0\">\r\n <Text field={fields.heading}></Text>\r\n </h2>\r\n <p>\r\n <Text field={fields.shortDescription} />\r\n </p>\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n </>\r\n );\r\n };\r\n\r\n const facetsConfig = fields.facets?.map((facet) => {\r\n if (facet.fields.field?.value) {\r\n return {\r\n title: `${facet.fields.label?.value}`,\r\n field: `${facet.fields.field.value}`,\r\n showCountsInFacet: facet.fields.showCountsInFacet?.value,\r\n isHierarchial: facet.fields.isHierarchial?.value,\r\n };\r\n }\r\n });\r\n\r\n const resultViewType = () => {\r\n let viewType = `${fields.resultType?.fields.value?.value}`;\r\n try {\r\n if (typeof window !== \"undefined\") {\r\n const userSelectedViewtype = localStorage?.getItem(\"viewtype\");\r\n if (userSelectedViewtype) {\r\n viewType = JSON.parse(userSelectedViewtype);\r\n }\r\n return viewType;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n } finally {\r\n return viewType;\r\n }\r\n };\r\n\r\n const resultItemType = {\r\n type: resultViewType(),\r\n variant: `${fields.resultVariant?.fields.value?.value}`,\r\n hideBreadcrumb: true,\r\n };\r\n\r\n return (\r\n <section\r\n className=\"md:u-margin-left-2 md:u-margin-right-2\"\r\n {...RenderingStyling(rendering.componentName)}\r\n >\r\n <div className=\"c-container is-full-width\">\r\n {sitecoreContext.pageEditing ? (\r\n <div className=\"c-col c-col-12 u-margin-top-2\">\r\n {renderSpotlightContentContainer()}\r\n </div>\r\n ) : (\r\n \"\"\r\n )}\r\n {user?.isLoginDone && (\r\n <CoveoHeadless\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={\r\n sitecoreContext.route.databaseName == \"master\"\r\n ? `CMS_` + `${fields.landingPageSearchHub?.fields.value?.value}`\r\n : `${fields.landingPageSearchHub?.fields.value?.value}`\r\n }\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOLANDINGPAGEQUERYPIPELINE}`}\r\n coveoQuery={`${fields.coveoQuery?.value}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n facetsConfig={facetsConfig}\r\n resultItemType={resultItemType}\r\n enableA2zSort={\r\n sitecoreContext.route?.fields?.EnableA2ZSorting?.value\r\n }\r\n >\r\n {!sitecoreContext.pageEditing\r\n ? renderSpotlightContentContainer()\r\n : \"\"}\r\n </CoveoHeadless>\r\n )}\r\n </div>\r\n </section>\r\n );\r\n};\r\n\r\nconst FilterAndSearchContainerWithPlaceholderInjected = withPlaceholder(\r\n \"SpotlightContentPlaceholder\"\r\n)(FilterAndSearchContainer);\r\n\r\nconst FilterAndSearchContainerWithPlaceholderAndSitecoreContext =\r\n withSitecoreContext()(FilterAndSearchContainerWithPlaceholderInjected);\r\n\r\nexport default FilterAndSearchContainerWithPlaceholderAndSitecoreContext;\r\n","export const FILTER_AND_SEARCH_B_TEMPLATE_ID = \"43bf8423-58e1-4a30-9004-72831ae63a4e\";","\r\n\r\nexport const productHierarchyCoveoQuery = (sitecoreContext) => {\r\n return sitecoreContext?.route?.fields?.UXNSProducts ? sitecoreContext.route.fields.UXNSProducts.reduce((acc, currentValue, index) => {\r\n const hierarchyPathsArray = currentValue.fields.HierarchyPaths.value.split(\";\");\r\n const hierarchyPathsValue = hierarchyPathsArray.pop();\r\n acc = index === 0 ? `@navigationhierarchiesproducts==\"${hierarchyPathsValue}\"` : acc + ` OR @navigationhierarchiesproducts==\"${hierarchyPathsValue}\"`;\r\n return acc;\r\n }, \"\") : \"\";\r\n}\r\n\r\nexport const shouldHideSpotlightContent = (sitecoreContext) => {\r\n if (sitecoreContext.pageEditing || typeof window === \"undefined\") return false;\r\n let queryParams = window.location.hash?.substring(1)?.split('&');\r\n return queryParams?.find(x => x.startsWith('q='))?.length > 0\r\n || queryParams.find(x => x.startsWith('f['))?.length > 0\r\n || queryParams.find(x => x.startsWith('cf['))?.length > 0\r\n || queryParams.find(x => x.startsWith('f-'))?.length > 0\r\n || queryParams.find(x => x.startsWith('cf-'))?.length > 0;\r\n}","import React from 'react';\r\nimport { withPlaceholder, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { shouldHideSpotlightContent } from '../../../services/coveoQueryService';\r\n\r\nconst FilterAndSearchSpotlightContentVariantA = ({ SpotlightLinksPlaceholder, rendering, sitecoreContext }) => {\r\n\r\n return shouldHideSpotlightContent(sitecoreContext) ? \"\" :\r\n <div {...RenderingStyling(rendering.componentName)}>\r\n <ul className=\"dev-c-link-grid u-list-style-none u-text-indent-0 u-padding-0 u-margin-0 u-margin-bottom-1 lg:u-margin-top-0\">\r\n {SpotlightLinksPlaceholder}\r\n </ul>\r\n </div>\r\n}\r\n\r\nconst FilterAndSearchSpotlightContentVariantAWithPlaceholderInjected = withPlaceholder('SpotlightLinksPlaceholder')(FilterAndSearchSpotlightContentVariantA);\r\n\r\nconst FilterAndSearchSpotlightContentVariantAWithPlaceholderAndSitecoreContext = withSitecoreContext()(FilterAndSearchSpotlightContentVariantAWithPlaceholderInjected)\r\n\r\nexport default FilterAndSearchSpotlightContentVariantAWithPlaceholderAndSitecoreContext\r\n","import React from 'react';\r\nimport { withPlaceholder, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { shouldHideSpotlightContent } from '../../../services/coveoQueryService';\r\n\r\nconst FilterAndSearchSpotlightContentVariantB = ({ rendering, sitecoreContext, FeaturedCardsPlaceholder }) => {\r\n return shouldHideSpotlightContent(sitecoreContext) ? \"\" : \r\n <div {...RenderingStyling(rendering.componentName)}>\r\n <section className=\"u-display-grid u-gap-1 u-grid-columns-1 xl:u-grid-columns-3 u-margin-bottom-1-1/2\" >\r\n {FeaturedCardsPlaceholder}\r\n </section> \r\n </div>\r\n}\r\n\r\n\r\nconst FilterAndSearchSpotlightContentVariantBWithPlaceholderInjected = withPlaceholder('FeaturedCardsPlaceholder')(FilterAndSearchSpotlightContentVariantB);\r\n\r\nconst FilterAndSearchSpotlightContentVariantBWithPlaceholderAndSitecoreContext = withSitecoreContext()(FilterAndSearchSpotlightContentVariantBWithPlaceholderInjected)\r\n\r\nexport default FilterAndSearchSpotlightContentVariantBWithPlaceholderAndSitecoreContext","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport config from '../../../temp/config';\r\nimport HomeCardsContainer from '@arm/ce-shared-components/components/CoveoHeadless/HomeComponents/HomeCardsContainer'\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst CommunityContainer = (props) => {\r\n const [{ user }] = UseGlobalState();\r\n return(\r\n <div className=\"c-container\" {...RenderingStyling(props.rendering.componentName)} >\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n {props.fields.link!=null && props.fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={props.fields.link.value.href} srLabel={props.fields.heading.value} className=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\">\r\n <h2 className=\"u-color-inherit u-margin-0\"><Text field={props.fields.heading}></Text></h2>\r\n </AdsCtaLink>\r\n :\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={props.fields.heading}></Text></h2>\r\n }\r\n </div>\r\n </div>\r\n <div>\r\n <HomeCardsContainer \r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`} \r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOHOMEPAGECOMMUNITYSEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOHOMEPAGECOMMUNITYQUERYPIPELINE}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n />\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default CommunityContainer;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport HomeCardsContainer from '@arm/ce-shared-components/components/CoveoHeadless/HomeComponents/HomeCardsContainer';\r\nimport config from '../../../temp/config';\r\nimport '../../SharedComponents/HomeCardsContainer/HomeCardsContainer.css';\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst DocumentationContainer = (props) => {\r\n const [{ user }] = UseGlobalState();\r\n return (\r\n <div className=\"c-container\" {...RenderingStyling(props.rendering.componentName)}>\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n {props.fields.link!=null && props.fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={props.fields.link.value.href} srLabel={props.fields.heading.value} className=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\">\r\n <h2 className=\"u-color-inherit u-margin-0\"><Text field={props.fields.heading}></Text></h2>\r\n </AdsCtaLink>\r\n :\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={props.fields.heading}></Text></h2>\r\n }\r\n </div>\r\n </div>\r\n <div>\r\n <HomeCardsContainer \r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`} \r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOHOMEPAGEDOCUMENTATIONSEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOHOMEPAGEDOCUMENTATIONQUERYPIPELINE}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n />\r\n </div>\r\n </div>)\r\n }\r\n\r\nexport default DocumentationContainer;","import React from 'react';\r\nimport { Text,RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './HomeCard.css'\r\n\r\nconst HomeCard = ({fields}) => (\r\n <React.Fragment>\r\n <AdsCard className=\"dev-c-card dev-c-card--home dev-c-card--downloads\" srLabel={fields.heading.value} link={fields.link.value.href} has-hover-effect=\"\" orientation=\"vertical\">\r\n <AdsCardContent slot=\"content\" className=\"u-padding-1 u-padding-top-0\">\r\n <div className=\"u-flex u-flex-column u-height-100%\">\r\n <h3 className=\"dev-c-card__title u-font-size-150% u-font-weight-300\"><Text field={fields.heading} /></h3>\r\n <div className=\"u-flex u-flex-column u-flex-1\">\r\n <RichText className=\"u-flex-1\" field={fields.content}></RichText>\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default HomeCard;\r\n","import React from 'react';\r\nimport HomeCard from '../../SharedComponents/HomeCard';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst DownloadCards = ({fields, rendering}) => (\r\n <HomeCard {...RenderingStyling(rendering.componentName)} fields={fields}/>\r\n)\r\n\r\nexport default DownloadCards;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport './HomeCardsContainer.css'\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst HomeCardsContainer = (props) => (\r\n <div className=\"c-container\" {...RenderingStyling(props.rendering.componentName)} >\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n {props.fields.link!=null && props.fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={props.fields.link.value.href} srLabel={props.fields.heading.value} className=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\">\r\n <h2 className=\"u-color-inherit u-margin-0\"><Text field={props.fields.heading}></Text></h2>\r\n </AdsCtaLink>\r\n :\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={props.fields.heading}></Text></h2>\r\n }\r\n </div>\r\n </div>\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n <div className=\"u-display-grid u-gap-1 md:u-grid-columns-3\"> \r\n {props.Cards}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n)\r\n\r\nexport default HomeCardsContainer;\r\n","import React from 'react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport HomeCardsContainer from '../../SharedComponents/HomeCardsContainer';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst DownloadsContainer = (props) => (\r\n <HomeCardsContainer {...RenderingStyling(props.rendering.componentName)} {...props} Cards={props.DownloadCardsPlaceholder} />\r\n);\r\n\r\nexport default withPlaceholder('DownloadCardsPlaceholder')(DownloadsContainer);\r\n","import React from 'react';\r\nimport HomeCard from '../../SharedComponents/HomeCard';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst HelpCards = ({fields, rendering}) => (\r\n <HomeCard {...RenderingStyling(rendering.componentName)} fields={fields}/>\r\n)\r\n\r\nexport default HelpCards;\r\n","import React from 'react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport HomeCardsContainer from '../../SharedComponents/HomeCardsContainer';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst HelpContainer = (props) => (\r\n <HomeCardsContainer {...RenderingStyling(props.rendering.componentName)} {...props} Cards={props.HelpCardsPlaceholder} />\r\n)\r\n\r\nexport default withPlaceholder('HelpCardsPlaceholder')(HelpContainer);\r\n","import React from 'react';\r\nimport { RichText, Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { GlobalSearchBox } from '@arm/ce-shared-components';\r\nimport config from '../../../temp/config';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './homepageMasthead.css';\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst HomepageMasthead = (props) => {\r\n const [{ user }] = UseGlobalState();\r\n return (\r\n <header id=\"homeHeader\" {...RenderingStyling(props.rendering.componentName)} className=\"dev-c-home-header u-flex u-flex-column u-justify-content-center md:u-justify-content-start u-border-width-0 u-border-bottom-width-1 u-border-style-solid u-border-color-arm-web-safe-blue\">\r\n <div className=\"dev-c-home-header__container c-container\">\r\n <div className=\"c-row u-justify-content-center\">\r\n <div className=\"c-col md:c-col-10\">\r\n <h1 className=\"u-color-arm-web-safe-blue dark:u-color-arm-light-blue u-margin-0 u-text-center\">\r\n <RichText field={props.fields.heading}/>\r\n </h1>\r\n <div className=\"u-margin-top-1-1/2 u-margin-bottom-1-1/2 md:u-margin-top-2 md:u-margin-bottom-2\" style={{ minHeight: \"66px\" }}>\r\n <GlobalSearchBox coveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n coveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n coveoQueryPipeline={`${config.REACT_APP_COVEOHOMEPAGESEARCHBOXQUERYPIPELINE}`}\r\n coveoSearchHub={`${config.REACT_APP_COVEOHOMEPAGESEARCHBOXSEARCHHUB}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n searchPage={`${config.REACT_APP_COVEOSEARCHPAGE}`}\r\n placeholderSearchBox={props.fields.placeholderSearchBox?.value}\r\n />\r\n </div>\r\n <div>\r\n <div className=\"u-text-center u-margin-bottom-1-1/2 md:u-margin-bottom-1\"><Text field={props.fields.text}/></div>\r\n <div className=\"u-flex u-flex-wrap u-gap-1 u-justify-content-center\">\r\n {props.fields.themes?.map((theme) =>\r\n <a className=\"c-tag dev-c-card-tag\" data-track=\"true\" data-track-value={theme.fields.label?.value} href={theme.fields.link?.value?.url}>{theme.fields.label?.value}</a>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n );\r\n}\r\n\r\nexport default HomepageMasthead;\r\n","import React from 'react';\r\nimport { Text} from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nconst PromotionalBanner = ({fields, rendering}) => (\r\n <React.Fragment>\r\n <section {...RenderingStyling(rendering.componentName)} class=\"dev-c-hero u-flex u-flex-column u-justify-content-center\" style={{minHeight: 443}} >\r\n <div class=\"dev-c-hero__background\" style={{backgroundImage: `url(\"${fields.image.value.src}\")`}} ></div>\r\n <div class=\"dev-c-hero__content u-padding-top-2 u-padding-bottom-2 u-bg-color-overlay-dark md:u-bg-color-transparent\">\r\n <div class=\"c-container\">\r\n <div class=\"c-row\">\r\n <div class=\"c-col\">\r\n <h3 theme=\"dark\" class=\"u-margin-0\"><Text field={fields.heading}></Text></h3>\r\n <div class=\"u-margin-top-1 u-margin-bottom-1 md:u-margin-top-1-1/2 md:u-margin-bottom-1-1/2\">\r\n <p theme=\"dark\" style={{maxWidth: 750}}>\r\n <Text field={fields.description}></Text>\r\n </p>\r\n </div>\r\n <a theme=\"dark\" href={fields.link.value.href} data-track=\"true\" data-track-value={fields.link.value.text} class=\"c-cta-button is-medium is-primary\"> {fields.link.value.text} </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n </React.Fragment>\r\n);\r\nexport default PromotionalBanner;","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport HomeCardsContainer from '@arm/ce-shared-components/components/CoveoHeadless/HomeComponents/HomeCardsContainer'\r\nimport config from '../../../temp/config';\r\nimport '../../SharedComponents/HomeCardsContainer/HomeCardsContainer.css';\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst RecommendedContainer = (props) => {\r\n const [{ user }] = UseGlobalState();\r\n return (\r\n <section className=\"u-padding-top-1-1/2 u-padding-bottom-1-1/2 md:u-padding-top-2 md:u-padding-bottom-2 u-bg-color-arm-light-grey-alt dark:u-bg-color-base\">\r\n <div className=\"c-container\" {...RenderingStyling(props.rendering.componentName)} >\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n {props.fields.link!=null && props.fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={props.fields.link.value.href} srLabel={props.fields.heading.value} className=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\">\r\n <h2 className=\"u-color-inherit u-margin-0\"><Text field={props.fields.heading}></Text></h2>\r\n </AdsCtaLink>\r\n :\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={props.fields.heading}></Text></h2>\r\n }\r\n </div>\r\n </div>\r\n <div>\r\n <HomeCardsContainer\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOHOMEPAGERECOMMENDEDSEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOHOMEPAGERECOMMENDEDPIPELINE}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n />\r\n </div>\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default RecommendedContainer;\r\n","import React from 'react';\r\nimport { Text, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\n\r\n\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst StartDevelopingCard = ({fields, rendering}) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} class=\"dev-c-card dev-c-card--home dev-c-card--start-developing\" link={fields.link.value.href} srLabel={fields.heading.value} has-hover-effect>\r\n <AdsCardContent slot=\"content\">\r\n <div class=\"u-flex u-flex-column u-align-items-center\">\r\n <picture class=\"dev-c-card--start-developing__icon\">\r\n <Image class=\"default:u-display-block dark:u-display-none\" media={fields.lightImage} />\r\n <Image class=\"default:u-display-none dark:u-display-block\" media={fields.darkImage} />\r\n </picture>\r\n <h3 class=\"dev-c-card__title u-font-size-100% u-font-weight-400 u-text-center\"><Text field={fields.heading} /></h3>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default StartDevelopingCard;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsCtaLink } from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst StartDevelopingCardsContainer = ({ fields, rendering, StartDevelopingCardsPlaceholder }) => (\r\n<section id=\"start-developing\" {...RenderingStyling(rendering.componentName)} class=\"dev-c-home-section--start-developing u-padding-top-2 u-padding-bottom-2 md:u-padding-top-2-1/2 md:u-padding-bottom-2-1/2 dark:u-bg-color-surface u-border-top-width-1 u-border-width-0 u-border-bottom-width-1 u-border-style-solid u-border-color-arm-web-safe-blue\">\r\n<div class=\"c-container\">\r\n <div class=\"c-row\">\r\n <div class=\"c-col\">\r\n {fields.link!=null && fields.link.value.href!=\"\"?\r\n <AdsCtaLink link={fields.link.value.href} srLabel={fields.heading.value} class=\"dev-c-home-cta-link u-margin-bottom-1 md:u-margin-bottom-1-1/2\"><h2 class=\"u-color-inherit u-margin-0\"><Text field={fields.heading} /></h2></AdsCtaLink>\r\n :\r\n <h2 class=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={fields.heading} /></h2>\r\n }\r\n </div>\r\n </div>\r\n <div class=\"c-row\">\r\n <div class=\"c-col\">\r\n \r\n <div class=\"u-display-grid u-gap-1 u-grid-columns-2 md:u-grid-columns-3 lg:u-grid-columns-6\">\r\n\r\n {StartDevelopingCardsPlaceholder}\r\n \r\n </div>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n</section>\r\n);\r\nexport default withPlaceholder('StartDevelopingCardsPlaceholder')(StartDevelopingCardsContainer);\r\n","import React from 'react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst TopCardsSection = ({ rendering, TopCardsSectionPlaceholder }) => (\r\n <section {...RenderingStyling(rendering.componentName)} className=\"u-bg-color-arm-light-grey-alt dark:u-bg-color-base u-display-grid u-padding-top-1-1/2 u-padding-bottom-1-1/2 md:u-padding-top-2 md:u-padding-bottom-2 u-gap-1-1/2 md:u-gap-2\">\r\n {TopCardsSectionPlaceholder}\r\n </section>\r\n);\r\n\r\nexport default withPlaceholder('TopCardsSectionPlaceholder')(TopCardsSection);\r\n","import React from 'react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport { Text, Link, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './AdditionalResourceCard.css';\r\n\r\nconst AdditionalResourcesCard = ({fields, rendering}) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} className=\"dev-c-card--additional-resources u-display-block u-margin-top-1\" id=\"ads-card-gej2htvd2ab\" orientation=\"vertical\">\r\n <AdsCardContent slot=\"content\">\r\n <div className=\"u-padding-1 u-padding-top-0\">\r\n <h3><Text field={fields.heading} /></h3>\r\n <ul className=\"dev-c-key-additional-resources__list u-padding-left-1/2\">\r\n {fields.links &&\r\n fields.links.map((listItem, index) => (\r\n <li key={`listItem-${index}`}>\r\n <a href={listItem.url} data-track=\"true\" data-track-value={listItem.fields.pageTitle.value}><Text field={listItem.fields.pageTitle} /></a>\r\n </li>\r\n ))}\r\n </ul>\r\n <div className='dev-c-key-additional-resources__list u-padding-left-1/2 u-margin-bottom-1 div-aditional-resouce-external-link'>\r\n <RichText field={fields.otherLinks}></RichText>\r\n </div>\r\n <span className=\"dev-c-cta-link c-cta-link\">\r\n <Link field={fields.viewAll} className=\"c-cta-link__anchor u-text-bold\" data-track=\"true\" data-track-value={fields.viewAll.value.text}></Link>\r\n <span className=\"c-cta-link__icon\" aria-hidden=\"true\">\r\n <span className=\"fal fa-chevron-right\"></span>\r\n </span>\r\n </span>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default AdditionalResourcesCard;\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst ComponentsTabContainer = ({ fields, rendering, ComponentsCardsPlaceholder}) => (\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 \">\r\n <div className=\"c-row dev-c-tab-heading c-horizontal-rule u-flex u-align-items-center lg:u-align-items-start u-justify-content-between\">\r\n <div>\r\n <h2 className=\"u-margin-0\"><Text field={fields.heading} /></h2>\r\n </div>\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n <div className=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={fields.text} />\r\n </div>\r\n <h3>\r\n <Text field={fields.cardsHeading}></Text>\r\n </h3>\r\n <div className=\"u-display-grid u-gap-1 lg:u-grid-columns-3\">\r\n {ComponentsCardsPlaceholder}\r\n </div>\r\n </div>\r\n </div>\r\n);\r\n\r\nexport default withPlaceholder('ComponentsCardsPlaceholder')(ComponentsTabContainer);","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport './EditionsTabContainer.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst EditionsTabContainer = ({ fields, rendering }) => (\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div class=\"c-col c-col-12\">\r\n <div className=\"c-row dev-c-tab-heading c-horizontal-rule u-flex u-align-items-center lg:u-align-items-start u-justify-content-between\">\r\n <div>\r\n <h2 className=\"u-margin-0\"><Text field={fields.heading} /></h2>\r\n </div>\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n <div>\r\n <RichText field={fields.text}></RichText>\r\n <RichText field={fields.table}></RichText>\r\n </div>\r\n </div>\r\n </div>\r\n);\r\n\r\nexport default EditionsTabContainer;","import React from 'react';\r\nimport { Text, RichText, Image,withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './EventBanner.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst EventBanner = ({ fields, sitecoreContext, rendering }) => (\r\n <React.Fragment> \r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.eventHeading.value} className=\"dev-c-devsummit-card\" link={fields.eventLink.value}>\r\n <AdsCardContent slot=\"content\">\r\n <div className=\"dev-c-devsummit-card__content c-row u-padding-1\">\r\n <div className=\"dev-c-devsummit-card__heading\">\r\n <span className=\"u-font-size-90% dark:u-color-arm-dark-grey\"><Text field={fields.eventTitle} /></span>\r\n <div className=\"u-font-size-125%\"><Text field={fields.eventHeading} /></div>\r\n <div className=\"u-font-size-110% u-margin-bottom-1\"><Text field={fields.eventDetails} /></div>\r\n </div>\r\n <div className=\"dev-c-devsummit-card__image u-flex u-justify-content-center md:u-padding-left-2 u-width-100% md:u-width-auto\">\r\n <Image className=\"u-margin-auto u-width-100%\" media={fields.eventImage} />\r\n </div>\r\n <div className=\"dev-c-devsummit-card__paragraph u-flex u-flex-column lg:u-flex-row u-align-items-center md:u-align-items-start lg:u-flex-wrap u-padding-top-1 lg:u-padding-top-0 u-margin-bottom-1\">\r\n <div class=\"u-margin-bottom-1\">\r\n <RichText field={fields.eventContent} />\r\n </div>\r\n <div>\r\n {sitecoreContext.pageEditing?\r\n <a href={fields.ctaLink.value} className=\"c-cta-button is-primary is-medium\" data-track=\"true\" data-track-value={fields.ctaName.value}><Text field={fields.ctaName} /></a>:\r\n fields.ctaLink?.value !== '' && fields.ctaName !== '' &&\r\n <a href={fields.ctaLink.value} className=\"c-cta-button is-primary is-medium\" data-track=\"true\" data-track-value={fields.ctaName.value}><Text field={fields.ctaName} /></a>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default withSitecoreContext()(EventBanner);\r\n","import React from \"react\";\r\nimport { KeyResources as CEKeyResources } from \"@arm/ce-shared-components\";\r\nimport { withSitecoreContext } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport { productHierarchyCoveoQuery } from \"../../../services/coveoQueryService\";\r\nimport config from \"../../../temp/config\";\r\nimport \"./KeyResources.css\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nimport { UseGlobalState } from \"../../../context\";\r\n\r\nconst KeyResources = ({ fields, sitecoreContext, rendering }) => {\r\n const coveoQuery = productHierarchyCoveoQuery(sitecoreContext);\r\n\r\n const selected_resource_Data = fields?.select_resource;\r\n const resource = selected_resource_Data?.map((resource) => {\r\n return {\r\n text: resource?.fields?.link?.value?.text,\r\n url: resource?.fields?.link?.value?.url,\r\n target: resource?.fields?.link?.value?.target,\r\n };\r\n });\r\n\r\n const [{ user }] = UseGlobalState();\r\n\r\n return (\r\n <div\r\n {...RenderingStyling(rendering.componentName)}\r\n className=\"dev-c-keyResources\"\r\n >\r\n <CEKeyResources\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOPRODUCTPAGESEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOPRODUCTPAGEQUERYPIPELINE}`}\r\n CoveoRecommendedSearchHub={`${config.REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONSEARCHHUB}`}\r\n CoveoRecommendedQueryPipeline={`${config.REACT_APP_COVEOPRODUCTPAGERECOMMENDATIONQUERYPIPELINE}`}\r\n searchEndPoint={`${config.REACT_APP_COVEOCACHEDENDPOINT}`}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n tabId={`${config.REACT_APP_COVEOKEYRESOURCESTABID}`}\r\n coveoQuery={coveoQuery}\r\n viewMoreLinkUrl={\"#Resources\"}\r\n sitecoreResources={resource}\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default withSitecoreContext()(KeyResources);\r\n","import React, {useEffect, useState} from 'react';\r\nimport { Text, Link, RichText, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport Helmet from 'react-helmet';\r\n\r\nconst ProductProgramBanner = ({ fields,sitecoreContext,rendering }) => {\r\n const [styleString, setStyleString] = useState(\"\")\r\n useEffect(() => {\r\n CheckVal();\r\n }, [styleString]);\r\n\r\n const [bgColorsForThemeChange, setbgColorsForThemeChange] = useState(\"\")\r\n useEffect(() => {\r\n CheckVal();\r\n }, [bgColorsForThemeChange]);\r\n\r\n const darkBgColor = '#2d2f34';\r\n\r\n function CheckVal()\r\n {\r\n if(typeof window !==\"undefined\")\r\n {\r\n let isUseCaseContainerExists = document.getElementById('hdnIsSet')?.value;\r\n \r\n if(isUseCaseContainerExists != \"1\")\r\n {\r\n if(sitecoreContext.route.fields.backgroundColor && sitecoreContext.route.fields.backgroundColor.fields.value.value != '' && sitecoreContext.route.fields.backgroundColor.fields.value.value != 'Default')\r\n {\r\n let color = sitecoreContext.route.fields.backgroundColor.fields.value.value;\r\n setbgColorsForThemeChange(color + '|' + darkBgColor);\r\n const themeTokenName = 'themeToken'; \r\n let themeToken;\r\n themeToken = document.cookie.split('; ').find((row) => row.startsWith(themeTokenName));\r\n if (themeToken && themeToken.split('=')[1] == 'dark') { \r\n color = darkBgColor; \r\n }\r\n \r\n setStyleString(color);\r\n }\r\n }\r\n }\r\n }\r\n\r\n \r\n return(\r\n \r\n <div style={{ backgroundColor: `${styleString}`}} id='divProgramBanner'>\r\n \r\n {fields.Program != null &&\r\n <section {...RenderingStyling(rendering.componentName)} class=\"xl:u-margin-left-2 xl:u-margin-right-2 u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <input type='hidden' id='hdnBGColors' value={bgColorsForThemeChange}></input>\r\n <div class=\"c-container is-full-width\">\r\n <div class=\"c-row xl:is-collapsed\">\r\n <div class=\"c-col c-col-12\">\r\n <h2 id=\"flexible-access\" class=\"u-margin-top-0\"><Text field={fields.title} /></h2>\r\n </div>\r\n <div class=\"c-col c-col-12 lg:c-col-9 u-padding-left-1\">\r\n <h3><Text field={fields.Program.fields.heading} /></h3>\r\n <RichText field={fields.Program.fields.content} />\r\n </div>\r\n <div class=\"c-col c-col-12 lg:c-col-3 u-padding-left-1\" id='relDescription'>\r\n <RichText\r\n field={fields.Program.fields.RelativeDescription}\r\n tag=\"section\"\r\n editable={false}\r\n className=\"text-center\"\r\n data-sample=\"other-attributes-pass-through\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div class=\"u-padding-left-1 u-margin-top-2 u-flex u-flex-column md:u-flex-row u-align-content-center\">\r\n\r\n {sitecoreContext.pageEditing?\r\n <div class=\"u-flex-row u-align-content-center u-margin-bottom-1 md:u-margin-bottom-0 md:u-margin-right-1\">\r\n <Link field={fields.Button1_Url} data-track=\"true\" data-track-value={fields.Button1_Url.value.text} className=\"c-cta-button is-medium is-primary\"><Text field={fields.Button1_Text} /></Link>\r\n </div>: \r\n fields.Button1_Url?.value?.href !== '' && fields.Button1_Text?.value !== '' &&\r\n <div class=\"u-flex-row u-align-content-center u-margin-bottom-1 md:u-margin-bottom-0 md:u-margin-right-1\">\r\n <Link field={fields.Button1_Url} data-track=\"true\" data-track-value={fields.Button1_Url.value.text} className=\"c-cta-button is-medium is-primary\"><Text field={fields.Button1_Text} /></Link>\r\n </div>\r\n \r\n \r\n }\r\n \r\n {sitecoreContext.pageEditing?\r\n <div class=\"u-flex-row u-align-content-center md:u-margin-right-1\">\r\n <Link field={fields.Button2_Url} data-track=\"true\" data-track-value={fields.Button2_Url.value.text} className=\"c-cta-button is-medium is-secondary\"><Text field={fields.Button2_Text} /></Link>\r\n </div> : \r\n fields.Button2_Url?.value?.href !== '' && fields.Button2_Text?.value !== '' &&\r\n <div class=\"u-flex-row u-align-content-center md:u-margin-right-1\">\r\n <Link field={fields.Button2_Url} data-track=\"true\" data-track-value={fields.Button2_Url.value.text} className=\"c-cta-button is-medium is-secondary\"><Text field={fields.Button2_Text} /></Link>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n </section>\r\n }\r\n </div>\r\n )\r\n};\r\n\r\nexport default withSitecoreContext()(ProductProgramBanner);\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Text, DateField, Link } from '@sitecore-jss/sitecore-jss-react';\r\nimport config from '../../../temp/config';\r\nimport {\r\n AdsExpansionPanel,\r\n AdsLoader,\r\n AdsTooltip\r\n} from '@arm/arm-design-system-react';\r\nimport { UseGlobalState } from '../../../context';\r\nimport './ReleaseSection.css';\r\nconst EdgeAuth = require('akamai-edgeauth')\r\nconst http = require('http') // Module for the test\r\nvar isStartDownload = true;\r\n\r\n// Function just for the simple test\r\nfunction makeRequest(options, callback) {\r\n var request = http.request(options, (res) => {\r\n let data = '';\r\n res.on('data', (chunk) => {\r\n data += chunk;\r\n });\r\n // Ending the response \r\n res.on('end', () => {\r\n callback(res, JSON.parse(data));\r\n });\r\n })\r\n request.on('error', (err) => {\r\n callback(err)\r\n })\r\n request.end()\r\n}\r\n\r\nconst AdsTable = (props) => {\r\n const [release, setReleaseData] = useState({});\r\n const [isAsc, setisAsc] = useState(true)\r\n const ea = new EdgeAuth({\r\n key: config.REACT_APP_ENCRYPTIONKEY, //props.fields.EncryptionKey.value,\r\n windowSeconds: 100000,\r\n escapeEarly: true\r\n })\r\n useEffect(() => {\r\n getReleaseData();\r\n }, {});\r\n const user = UseGlobalState();\r\n const [userData, setUserData] = useState(user[0].user);\r\n useEffect(() => {\r\n setUserData(user[0]?.user);\r\n }, user);\r\n const clickToCopy = (e) => {\r\n var copyText = e.target.innerText;\r\n window.navigator.clipboard.writeText(copyText);\r\n e.preventDefault();\r\n };\r\n const packageDownload = (path, loaderEle) => {\r\n var downloadUrl = props.fields.PackageDownloadApi.value;\r\n var packageUrl = downloadUrl?.replace(\"{file_path}\", path);\r\n if (packageUrl) {\r\n var token = ea.generateURLToken(packageUrl);\r\n let fileUrl = config.REACT_APP_ORIGIN + `${packageUrl}?__token__=${token}`;\r\n // Make a request to download the file\r\n window.open(fileUrl, '_blank');\r\n loaderEle && loaderEle.classList.add(\"hide\");\r\n let urlParams = new URLSearchParams(window.location.search);\r\n let params = urlParams.get('params');\r\n if (params !== null) {\r\n let activeTab = params.split(',')[0];\r\n window.location.href = window.location.href.split('?')[0] + \"#\" + activeTab;\r\n }\r\n }\r\n\r\n }\r\n\r\n const clickToDownload = (e, info) => {\r\n var mustAgree = true;\r\n var loaderEle = e.currentTarget.getElementsByClassName(\"download-loader\")[0];\r\n loaderEle && loaderEle.classList.remove(\"hide\");\r\n if (props.release_item.fields.RequiredAuthentication.value) {\r\n if (userData?.isAuth) {\r\n let emailId = \"\";\r\n let name = \"\";\r\n if (userData.user) {\r\n emailId = userData.user.emails;\r\n name = userData.user.name;\r\n }\r\n\r\n window.docuSignClick.Clickwrap.render({\r\n environment: props.fields.DocusignEnvironment.value,\r\n accountId: props.fields.DocusignAccId.value,\r\n clickwrapId: props.fields.DocusignClickWrapId.value,\r\n clientUserId: emailId,\r\n documentData: {\r\n fullName: name,\r\n email: emailId,\r\n company: '',\r\n title: '',\r\n date: ''\r\n },\r\n onAgreed() {\r\n if (mustAgree) {\r\n mustAgree = false;\r\n packageDownload(info.path, loaderEle);\r\n }\r\n },\r\n onDeclined() {\r\n loaderEle && loaderEle.classList.add(\"hide\");\r\n }\r\n }, '#ds-clickwrap')\r\n }\r\n else {\r\n window.location.href = config.REACT_APP_ORIGIN + config.REACT_APP_PATHNAME + `user-login${typeof window === \"undefined\" ? \"\" : \"?returnUrl=\" + window.location.pathname + \"?params=\" + window.location.hash.replace(\"#\", \"\") + \",\" + info.path}`;\r\n }\r\n }\r\n else {\r\n packageDownload(info.path, loaderEle);\r\n }\r\n\r\n };\r\n async function getReleaseData() {\r\n\r\n var akamai_url = props.fields.AkamaiApi.value;\r\n\r\n var new_url = akamai_url?.replace('{product}', props.release_item.fields.Product.value).replace('{release}', props.release_item.fields.ReleaseTitle.value);\r\n if (new_url) {\r\n var token = ea.generateURLToken(new_url);\r\n var options = {\r\n hostname: config.REACT_APP_EA_HOSTNAME,\r\n path: `${new_url}?__token__=${token}`\r\n }\r\n makeRequest(options, function (res, data) {\r\n if (res.statusCode === 200) {\r\n const header = 'name'\r\n const sortedData = [...data?.fileInfos]?.sort((a, b) => {\r\n return ((a[header]).toLowerCase() > (b[header]).toLowerCase() ? 1 : -1);\r\n })\r\n data.fileInfos = sortedData\r\n setReleaseData(data)\r\n if (isStartDownload) {\r\n triggerAutoDownload();\r\n }\r\n }\r\n });\r\n }\r\n };\r\n function triggerAutoDownload() {\r\n let urlParams = new URLSearchParams(window.location.search);\r\n let params = urlParams.get('params');\r\n if (params !== null) {\r\n let path = params.split(\",\")[1];\r\n let downloadEle = document.getElementById(path);\r\n if (downloadEle !== null) {\r\n isStartDownload = false;\r\n downloadEle.click();\r\n }\r\n }\r\n }\r\n function ConvertBytes(bytesVal) {\r\n let value = Number.parseFloat(bytesVal);\r\n if (!isNaN(value)) {\r\n value = (value / 1024).toFixed(1);\r\n return value >= 1024 ? (value / 1024).toFixed(1) + \" MiB\" : value + \" KiB\";\r\n }\r\n return 0.0 + \" KiB\";\r\n }\r\n const isPlatform = release.fileInfos?.filter(platform => platform?.platform !== \"\").length > 0;\r\n const isTarget = release.fileInfos?.filter(target => target?.target !== \"\").length > 0;\r\n\r\n //sort release data in ascending & decending order\r\n const sortReleaseData = (header) => {\r\n const sortedData = [...release?.fileInfos]?.sort((a, b) => {\r\n if (header === 'size') {\r\n return (Number(a[header]) > Number(b[header]) ? 1 : -1) * (isAsc ? 1 : -1)\r\n }\r\n return ((a[header]).toLowerCase() > (b[header]).toLowerCase() ? 1 : -1) * (isAsc ? 1 : -1)\r\n })\r\n setisAsc(!isAsc)\r\n release.fileInfos = sortedData\r\n setReleaseData(release)\r\n }\r\n\r\n return (\r\n <div class=\"c-table-wrapper\" style={{ paddingBottom: \"25px\" }}>\r\n <table class=\"c-table is-greyscale is-selectable is-sticky\">\r\n <thead>\r\n <tr>\r\n {isPlatform && (\r\n <th scope=\"col\" width=\"13%\" onClick={() => sortReleaseData('platform')}>\r\n <div class=\"sort-header\">\r\n <Text field={props.fields.PlatformText} />\r\n <i class=\"fa fa-solid fa-sort fa-lg sort-icon\"></i>\r\n </div>\r\n </th>\r\n )}\r\n <th scope=\"col\" width=\"25%\" onClick={() => sortReleaseData('name')}>\r\n <div class=\"sort-header\">\r\n <Text field={props.fields.PackageText} />\r\n <i class=\"fa fa-solid fa-sort fa-lg sort-icon\"></i>\r\n </div>\r\n </th>\r\n {isTarget && (\r\n <th scope=\"col\" width=\"16%\" onClick={() => sortReleaseData('target')}>\r\n <div class=\"sort-header\">\r\n <Text field={props.fields.TargetText} />\r\n <i class=\"fa fa-solid fa-sort fa-lg sort-icon\"></i>\r\n </div>\r\n </th>\r\n )}\r\n <th scope=\"col\" width=\"10%\" onClick={() => sortReleaseData('size')}>\r\n <div class=\"sort-header\">\r\n <Text field={props.fields.SizeText} />\r\n <i class=\"fa fa-solid fa-sort fa-lg sort-icon\"></i>\r\n </div>\r\n </th>\r\n <th scope=\"col\" width=\"10%\"><Text field={props.fields.MD5Text} /></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {typeof release === 'object' && Object.keys(release).length !== 0 && release.fileInfos.map(info => (\r\n <tr style={{ display: info?.hidden ? 'none' : '' }}>\r\n {\r\n isPlatform && <th data-title=\"Platform\">{info?.platform}</th>\r\n }\r\n {info?.hidden ? null : (info?.ispermalink ? (\r\n <td data-title=\"Package\">\r\n <span id={info.path} class='arm-pointer dowload-package'>\r\n <a class=\"c-cta-link__anchor\" data-track=\"true\" data-track-value={info.name} href={config.REACT_APP_ORIGIN + props.fields?.PermanentPackageDownloadApi?.value?.replace(\"{file_path}\", info.path)} target=\"_blank\" download>\r\n <span class=\"fal fa-download u-color-arm-blue dark:u-color-arm-light-blue u-margin-right-1/2\"></span>{info.name}\r\n </a>\r\n <AdsLoader className=\"download-loader hide\" />\r\n </span>\r\n </td>\r\n ) : (\r\n <td data-title=\"Package\">\r\n <span id={info.path} onClick={(event) => clickToDownload(event, info)} class='arm-pointer dowload-package'>\r\n <a class=\"c-cta-link__anchor\" data-track=\"true\" data-track-value={info.name}>\r\n <span class=\"fal fa-download u-color-arm-blue dark:u-color-arm-light-blue u-margin-right-1/2\"></span>{info.name}\r\n {!userData?.isAuth && (<span class=\"fal fa-sign-in-alt u-color-arm-blue dark:u-color-arm-light-blue u-margin-left-1/2\" title=\"sign in required\"></span>)}\r\n </a>\r\n <AdsLoader className=\"download-loader hide\" />\r\n </span>\r\n </td>\r\n ))}\r\n {\r\n isTarget && <td data-title=\"Target\">{info.target}</td>\r\n }\r\n <td data-title=\"Size\">{ConvertBytes(info.size)}</td>\r\n <td data-title=\"MD5\" >\r\n <span>\r\n <AdsTooltip position=\"left\">\r\n <div slot=\"content\" onMouseUp={(event) => clickToCopy(event)}>\r\n {info.md5}\r\n </div>\r\n </AdsTooltip>\r\n </span>\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n );\r\n}\r\nconst ReleaseSection = ({ fields }) => {\r\n const release_list = fields.ReleaseItemsDatasource;\r\n const latest_release_name = fields.LatestRelease.fields.ReleaseTitle.value;\r\n return (\r\n <div className=\"release-section-widget\">\r\n <div className='c-row'>\r\n <div className='c-col'>\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={fields.heading}></Text></h2>\r\n {release_list.map((release_Item) =>\r\n <div className='c-col'>\r\n\r\n <AdsExpansionPanel\r\n isDefaultExpanded={latest_release_name === release_Item.fields.ReleaseTitle.value}>\r\n <span slot=\"toggle\">\r\n <table class=\"c-table is-transparent\" style={{ width: \"97%\" }}>\r\n <thead>\r\n <tr>\r\n <th scope=\"col\" width=\"25%\">\r\n <Text field={fields.DownloadsText} /> : <Text field={release_Item.fields.ReleaseTitle} />\r\n </th>\r\n <th scope=\"col\" width=\"25%\">\r\n {\r\n new Date(release_Item.fields.ReleaseDate.value).getFullYear() !== 1 &&\r\n <DateField field={release_Item.fields.ReleaseDate} render={(date) => date.toLocaleDateString(\"en-us\", { year: 'numeric', month: 'long', day: 'numeric' })} />\r\n }\r\n\r\n </th>\r\n <th scope=\"col\" width=\"25%\" class='anchor-tag'>\r\n {release_Item.fields.ReleaseNoteLink.value.text &&\r\n <div>\r\n <span class=\"fal fa-file-alt u-color-arm-blue dark:u-color-arm-light-blue u-margin-right-1/2\"></span>\r\n {\r\n release_Item.fields.ReleaseNoteLink.value.url ? (\r\n <>\r\n <Link field={release_Item.fields.ReleaseNoteLink} data-track=\"true\" data-track-value={release_Item.fields.ReleaseNoteLink.value.text} className=\"c-cta-link__anchor\" target=\"_blank\"></Link>\r\n </>\r\n ) : (\r\n <>\r\n <a class=\"c-cta-link__anchor\" data-track=\"true\" data-track-value={release_Item.fields.ReleaseNoteLink.value.text}>{release_Item.fields.ReleaseNoteLink.value.text}</a>\r\n </>\r\n )\r\n }\r\n </div>}\r\n </th>\r\n <th scope=\"col\" width=\"25%\" class='anchor-tag'>\r\n {release_Item.fields.ReleaseAdditionalInfo.value.text &&\r\n <div>\r\n <span class=\"fal fa-circle-info u-color-arm-blue dark:u-color-arm-light-blue u-margin-right-1/2\"></span>\r\n {\r\n release_Item.fields.ReleaseAdditionalInfo.value.url ? (\r\n <>\r\n <Link field={release_Item.fields.ReleaseAdditionalInfo} data-track=\"true\" data-track-value={release_Item.fields.ReleaseAdditionalInfo.value.text} className=\"c-cta-link__anchor\" target=\"_blank\"></Link>\r\n </>\r\n ) : (\r\n <>\r\n <a class=\"c-cta-link__anchor\" data-track=\"true\" data-track-value={release_Item.fields.ReleaseAdditionalInfo.value.text}>{release_Item.fields.ReleaseAdditionalInfo.value.text}</a>\r\n </>\r\n )\r\n }\r\n </div>\r\n }\r\n\r\n </th>\r\n </tr>\r\n </thead>\r\n </table>\r\n </span>\r\n\r\n <div slot=\"content\">\r\n <AdsTable fields={fields} release_item={release_Item}></AdsTable>\r\n </div>\r\n </AdsExpansionPanel>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default ReleaseSection;\r\n","import React from 'react';\r\nimport { CoveoHeadless } from '@arm/ce-shared-components';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { productHierarchyCoveoQuery } from '../../../services/coveoQueryService';\r\nimport config from '../../../temp/config';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { UseGlobalState } from '../../../context';\r\n\r\n\r\nconst ResourcesContainer = ({ rendering, sitecoreContext }) => {\r\n const coveoQuery = sitecoreContext?.route?.fields?.UXNSProducts ? productHierarchyCoveoQuery(sitecoreContext) : \"\";\r\n const [{ user }] = UseGlobalState();\r\n\r\n if (coveoQuery !== \"\") {\r\n const label = sitecoreContext.route?.fields?.UXNSProducts ? sitecoreContext.route.fields.UXNSProducts.reduce((acc, currentValue, index) => {\r\n acc = index === 0 ? currentValue.displayName : acc + `, ${currentValue.displayName}`\r\n return acc;\r\n }, \"\") : \"\";\r\n\r\n const resultViewType= () =>{\r\n let viewType=\"list\";\r\n try {\r\n if(typeof window !==\"undefined\"){\r\n const userSelectedViewtype = localStorage?.getItem('viewtype'); \r\n if (userSelectedViewtype) { \r\n viewType = JSON.parse(userSelectedViewtype); \r\n }\r\n return viewType;\r\n }\r\n }\r\n catch(err) {\r\n console.log(err);\r\n } finally {\r\n return viewType;\r\n }\r\n }\r\n\r\n const resultItemType = {\r\n type: resultViewType(),\r\n variant: \"landing-b\",\r\n hideProductTags: true,\r\n hideBreadcrumb: true\r\n }\r\n\r\n return <div {...RenderingStyling(rendering.componentName)}>\r\n {user?.isLoginDone && \r\n <CoveoHeadless CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOPRODUCTPAGESEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOPRODUCTPAGEQUERYPIPELINE}`}\r\n tabId={`${config.REACT_APP_COVEORESOURCESTABID}`}\r\n scopedProductsLabel={label}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n switchTagsLocation={true} \r\n coveoQuery={coveoQuery}\r\n showCountsInFacet={false}\r\n resultItemType={resultItemType}\r\n facetsConfig={[\r\n {\r\n title: \"Confidential\",\r\n field: \"confidentiality\",\r\n isHierarchial: false,\r\n showCountsInFacet: false\r\n },\r\n {\r\n title: \"Resource Types\",\r\n field: \"navigationhierarchiescontenttype\",\r\n showCountsInFacet: false,\r\n }, {\r\n title: \"Audience\",\r\n field: \"navigationhierarchiesaudience\",\r\n showCountsInFacet: false\r\n }]}\r\n useUrlParams={false}\r\n >\r\n <StarsRating uid={ rendering.uid } />\r\n </CoveoHeadless>\r\n }\r\n </div>;\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nexport default withSitecoreContext()(ResourcesContainer);\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './SoftwareDownloadsContainer.css';\r\n\r\nconst SoftwareDownloadsContainer = ({ fields, rendering, softwaredownloadcontent }) => (\r\n <>\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row c-download-container c-row c-download-container u-padding-top-1-1/2 u-padding-bottom-1-1/2\">\r\n \r\n <div className=\"c-col c-col-12 c-download-components u-margin-right-1 u-margin-left-1\">\r\n <div className=\"c-row dev-c-tab-heading dev-c-tab-filter-heading \r\n c-horizontal-rule u-display-grid u-gap-1 lg:u-gap-0 lg:u-flex u-align-items-center \r\n lg:u-align-items-start u-position-relative lg:u-justify-content-between\">\r\n <h2 className=\"u-margin-top-0\"><Text field={fields.heading}></Text></h2>\r\n <StarsRating uid={ rendering.uid } />\r\n </div>\r\n </div>\r\n <div className=\"c-col c-col-12 c-download-components\">\r\n <div className=\"c-software-container\">\r\n {softwaredownloadcontent}\r\n </div>\r\n </div>\r\n </div>\r\n \r\n\r\n </>\r\n);\r\n\r\nexport default withPlaceholder(['softwaredownloadcontent'])(SoftwareDownloadsContainer);\r\n\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst SupportAndTrainingCardsContainer = ({ fields, rendering, SupportCardsPlaceholder, EventBannersPlaceholder, TrainingCardsPlaceholder }) => (\r\n\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12\">\r\n <div className=\"c-row dev-c-tab-heading c-horizontal-rule u-flex u-align-items-center lg:u-align-items-start u-justify-content-between u-margin-bottom-2\">\r\n <div>\r\n <h2 className=\"u-margin-0\"><Text field={fields.supportTitle} /></h2>\r\n </div>\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n <div>\r\n <div className=\"lg:u-padding-left-1\">\r\n <div className=\"u-display-grid u-gap-2 lg:u-grid-columns-3\">\r\n {SupportCardsPlaceholder} \r\n </div>\r\n <div class=\"u-margin-top-2\">\r\n {EventBannersPlaceholder}\r\n </div>\r\n </div>\r\n <h2 id=\"training-courses\" className=\"u-margin-top-2 u-margin-bottom-2\"><Text field={fields.trainingTitle} /></h2>\r\n <div className=\"u-display-grid u-gap-2 lg:u-grid-columns-3 lg:u-padding-left-1\">\r\n {TrainingCardsPlaceholder}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n);\r\nexport default withPlaceholder(['SupportCardsPlaceholder', 'EventBannersPlaceholder', 'TrainingCardsPlaceholder'])(SupportAndTrainingCardsContainer);\r\n","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './SupportCard.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\nconst SupportCard = ({ fields,rendering }) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className=\"dev-c-card dev-c-card--support\" link={fields.pageLink.value} has-hover-effect>\r\n <AdsCardContent slot=\"content\" className=\"u-padding-1 u-padding-top-0\">\r\n <div className=\"c-row\">\r\n <div className=\"c-col c-col-8 u-padding-0\">\r\n <h3 className=\"dev-c-card__title u-font-size-150%\"><Text field={fields.heading} /></h3>\r\n <RichText field={fields.content} />\r\n </div>\r\n <div className=\"c-col c-col-4 u-flex u-justify-content-center\">\r\n <Image className=\"u-margin-auto\" media={fields.image} />\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default SupportCard;\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst SupportedDevicesContainer = ({ fields, rendering }) => (\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div class=\"c-col c-col-12\">\r\n <div className=\"c-row dev-c-tab-heading c-horizontal-rule u-flex u-align-items-center lg:u-align-items-start u-justify-content-between\">\r\n <div>\r\n <h2 className=\"u-margin-0\"><Text field={fields.heading} /></h2>\r\n </div>\r\n <StarsRating uid={ rendering.uid } />\r\n </div>\r\n <RichText field={fields.text}></RichText>\r\n </div>\r\n </div>\r\n);\r\n\r\nexport default SupportedDevicesContainer;","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst TechnicalSpecificationContainer = ({ fields, rendering, KeyResourcesPlaceholder, CallToActionButtonsPlaceholder }) => (\r\n <>\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 xl:c-col-8\">\r\n <div>\r\n {KeyResourcesPlaceholder}\r\n <div className=\"u-padding-left-1 u-margin-top-2 u-margin-bottom-2 u-flex u-flex-column md:u-flex-row u-align-content-center\">\r\n {CallToActionButtonsPlaceholder}\r\n </div>\r\n <h2 className=\"u-margin-top-0\" id=\"specification\"><Text field={fields.heading} /></h2>\r\n <div className=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={fields.summary} />\r\n </div>\r\n </div>\r\n </div>\r\n {fields.isLargeImage.value ?\r\n <>\r\n <div className=\"c-col c-col-12 xl:c-col-4\">\r\n <StarsRating uid={rendering.uid} />\r\n </div>\r\n <div className=\"c-row xl:is-collapsed u-justify-content-center u-padding-top-2\">\r\n <picture className=\"u-width-100%\">\r\n <Image id=\"product-diagram\" class=\"default:u-display-block u-width-100% u-height-100%\" field={fields.image} />\r\n </picture>\r\n <div id=\"product-diagram\"></div>\r\n </div> \r\n </>\r\n :\r\n <div className=\"c-col c-col-12 xl:c-col-4\">\r\n <StarsRating uid={rendering.uid} />\r\n <picture className=\"u-display-block u-padding-left-1 xl:u-padding-left-0 xl:u-text-right\">\r\n <Image className=\"dev-c-product-image xl:u-width-100%\" field={fields.image} />\r\n </picture>\r\n </div>\r\n }\r\n </div>\r\n {fields.table.value!=\"\"?\r\n <div className=\"c-row xl:is-collapsed u-padding-bottom-2-1/2 u-padding-left-1 dev-c-tech-specification-table\">\r\n <RichText field={fields.table} />\r\n </div>\r\n : <div></div>\r\n }\r\n </>\r\n);\r\n\r\nexport default withPlaceholder(['KeyResourcesPlaceholder','CallToActionButtonsPlaceholder'])(TechnicalSpecificationContainer);\r\n","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport './TechnicalSpecificationContainerVariantB.css';\r\n\r\nconst TechnicalSpecificationContainerVariantB = ({ fields, rendering, KeyResourcesPlaceholder, CallToActionButtonsPlaceholder, AdditionalResourcesCardPlaceholder }) => (\r\n <>\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row xl:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 xl:c-col-8\">\r\n <div>\r\n {KeyResourcesPlaceholder}\r\n <div className=\"u-padding-left-1 u-margin-top-2 u-margin-bottom-2 u-flex u-flex-column md:u-flex-row u-align-content-center\">\r\n {CallToActionButtonsPlaceholder}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div className=\"c-col c-col-12 xl:c-col-4 padding-left-16\">\r\n <StarsRating uid={rendering.uid} />\r\n {AdditionalResourcesCardPlaceholder}\r\n </div>\r\n </div>\r\n <h2 className=\"u-margin-top-0\" id=\"specification\"><Text field={fields.heading} /></h2>\r\n <div className=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={fields.summary} />\r\n </div>\r\n { fields.table.value!=\"\"?\r\n <div className=\"c-row xl:is-collapsed u-padding-bottom-2-1/2 u-padding-left-1 dev-c-tech-specification-table\">\r\n <RichText field={fields.table} />\r\n </div>\r\n : <div></div>\r\n }\r\n </>\r\n);\r\n\r\nexport default withPlaceholder(['KeyResourcesPlaceholder', 'CallToActionButtonsPlaceholder', 'AdditionalResourcesCardPlaceholder'])(TechnicalSpecificationContainerVariantB);\r\n","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst TechnicalSpecificationContainerVariantC = ({ fields, rendering, KeyResourcesPlaceholder, CallToActionButtonsPlaceholder, AdditionalResourcesCardPlaceholder }) => (\r\n <>\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row xl:is-collapsed u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 xl:c-col-8\">\r\n <div>\r\n {KeyResourcesPlaceholder}\r\n <div className=\"u-padding-left-1 u-margin-top-2 u-margin-bottom-2 u-flex u-flex-column md:u-flex-row u-align-content-center\">\r\n {CallToActionButtonsPlaceholder}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div className=\"c-col c-col-12 xl:c-col-4\">\r\n <StarsRating uid={rendering.uid} /> \r\n </div>\r\n </div>\r\n <h2 className=\"u-margin-top-0\" id=\"specification\"><Text field={fields.heading} /></h2>\r\n <div className=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={fields.summary} />\r\n </div>\r\n {fields.text.value!=\"\"?\r\n <div className=\"c-row xl:is-collapsed u-padding-bottom-2-1/2 u-padding-left-1\">\r\n <RichText field={fields.text} />\r\n </div>\r\n : <div></div> \r\n }\r\n <div className=\"c-row xl:is-collapsed u-justify-content-center u-padding-top-2\">\r\n <picture>\r\n <Image id=\"product-diagram\" field={fields.image} />\r\n </picture>\r\n <div id=\"product-diagram\"></div>\r\n </div>\r\n <div className=\"c-row xl:is-collapsed u-padding-bottom-2-1/2 u-padding-left-1\">\r\n <RichText field={fields.textAfterImage} />\r\n </div> \r\n </>\r\n);\r\n\r\nexport default withPlaceholder(['KeyResourcesPlaceholder', 'CallToActionButtonsPlaceholder'])(TechnicalSpecificationContainerVariantC);\r\n\r\n","import React from 'react';\r\nimport { RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nimport './ToolsAndSoftwareCard.css';\r\n\r\nconst ToolsAndSoftwareCard = ({ fields,rendering }) => (\r\n\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className='dev-c-card dev-c-card--tools-software' link={fields.link.value.href} has-hover-effect>\r\n <AdsCardContent slot=\"content\" className='u-padding-1 u-padding-top-0'>\r\n <div className=\"dev-c-card__title c-heading-3 u-font-size-150%\"><Text field={fields.heading} /></div>\r\n <div className=\"c-row\">\r\n <div className=\"c-col c-col-9 u-padding-0\">\r\n <RichText field={fields.content}></RichText>\r\n </div>\r\n <div className='c-col c-col-3 u-justify-content-center'>\r\n <Image media={fields.image} className=\"u-margin-auto\" />\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\n\r\nexport default ToolsAndSoftwareCard;\r\n\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport './ToolsAndSoftwareCardsContainer.css';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst ToolsAndSoftwareCardsContainer = ({ fields, rendering, ToolsAndSoftwareCardsPlaceholder }) => (\r\n\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-gap-1-1/2 u-flex-nowrap u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12\">\r\n <div className=\"c-row dev-c-tab-heading dev-c-tab-filter-heading c-horizontal-rule u-display-grid u-gap-1 lg:u-gap-0 lg:u-flex u-align-items-center lg:u-align-items-start u-margin-bottom-2 u-position-relative lg:u-justify-content-between\">\r\n <h2 className=\"u-margin-0\"><Text field={fields.title}></Text></h2>\r\n <StarsRating uid={ rendering.uid } />\r\n </div>\r\n <div id=\"dev-tools-software-grid\" className=\"u-display-grid u-gap-2 lg:u-grid-columns-2\">\r\n {ToolsAndSoftwareCardsPlaceholder}\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n);\r\n\r\n\r\nexport default withPlaceholder('ToolsAndSoftwareCardsPlaceholder')(ToolsAndSoftwareCardsContainer);\r\n\r\n","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './TrainingCard.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst TrainingCard = ({ fields,rendering }) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className=\"dev-c-card dev-c-card--training\" link={fields.pageLink.value} has-hover-effect>\r\n <AdsCardContent slot=\"content\" className=\"u-padding-1 u-padding-top-0\">\r\n <div className=\"c-row\">\r\n <Image className=\"u-margin-auto\" media={fields.image} />\r\n <div className=\"c-col u-padding-left-1/2\">\r\n <span className=\"u-color-arm-dark-grey\"><Text field={fields.title} /></span>\r\n <span className=\"u-display-block u-font-size-75%\"><Text field={fields.subTitle} /></span>\r\n </div>\r\n </div>\r\n <div className=\"c-row\">\r\n <h3 className=\"dev-c-card__title u-font-size-150%\"><Text field={fields.heading} /></h3>\r\n <RichText field={fields.content} />\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default TrainingCard;\r\n","import * as React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './UseCaseCard.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst UseCaseCard = ({ fields, rendering }) => (\r\n <React.Fragment>\r\n <AdsCard sc-part-of=\"placeholder rendering\" {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className=\"dev-c-card dev-c-card--use-case\" link={fields.pageLink.value} has-hover-effect>\r\n <AdsCardContent slot=\"content\" className=\"u-padding-1/2\">\r\n <div className=\"u-margin-bottom-1/2 dark:u-color-arm-green\"><Text field={fields.title} /></div>\r\n <h3 className=\"dev-c-card__title u-font-size-150% u-margin-top-0\"><Text field={fields.heading} /></h3>\r\n <RichText field={fields.content} />\r\n </AdsCardContent>\r\n </AdsCard>\r\n \r\n </React.Fragment>\r\n);\r\n\r\nexport default UseCaseCard;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder,withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\n\r\nconst UseCaseCardsContainer = ({ fields, UseCaseCardsPlaceholder, rendering,sitecoreContext }) => {\r\n let bgColorstyle;\r\n let isUseCaseContainerExists = '';\r\n if(sitecoreContext.route.fields.backgroundColor && sitecoreContext.route.fields.backgroundColor.fields?.value?.value != '' && sitecoreContext.route.fields.backgroundColor.fields?.value?.value != 'Default')\r\n {\r\n bgColorstyle = sitecoreContext.route.fields.backgroundColor.fields.value.value;\r\n isUseCaseContainerExists = '1';\r\n }\r\n return(\r\n <section style={{ backgroundColor: bgColorstyle}} class=\"u-padding-top-2-1/2 u-padding-bottom-2-1/2 u-bg-color-arm-light-grey-alt-2 dark:u-bg-color-overlay-dark\" {...RenderingStyling(rendering.componentName)}>\r\n <input type='hidden' id='hdnIsSet' value={isUseCaseContainerExists}></input>\r\n <div class=\"md:u-margin-left-2 md:u-margin-right-2\">\r\n <div class=\"c-container is-full-width\">\r\n <div className=\"c-row xl:is-collapsed\">\r\n <div className=\"c-col c-col-12\">\r\n <h2 id=\"use-cases\" className=\"u-margin-top-0\"><Text field={fields.title} /></h2>\r\n <div className=\"c-row\">\r\n <div className=\"c-col\">\r\n <div className=\"u-display-grid u-gap-1 lg:u-grid-columns-3\">\r\n {UseCaseCardsPlaceholder}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n)};\r\n\r\nexport default withSitecoreContext()(withPlaceholder('UseCaseCardsPlaceholder')(UseCaseCardsContainer));\r\n","import React from 'react';\r\nimport { RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport './WorksWellWithCard.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nconst WorksWellWithCard = ({ fields,rendering }) => (\r\n\r\n <React.Fragment>\r\n <AdsCard className=\"dev-c-card dev-c-filter-card\" link={fields.link.value.href} srLabel={fields.heading.value} {...RenderingStyling(rendering.componentName)} >\r\n <AdsCardContent slot=\"content\" >\r\n <div className=\"dev-c-filter-card__content u-padding-left-1\">\r\n <span className=\"dev-c-filter-card__subtitle u-color-arm-dark-grey\"><Text field={fields.heading}></Text></span>\r\n <div className=\"dev-c-card__title dev-c-filter-card__title\"><Text field={fields.subHeading}></Text> </div>\r\n <RichText field={fields.content}></RichText>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\n\r\nexport default WorksWellWithCard;\r\n\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarsRating from '../../SharedComponents/StarsRating';\r\nimport './WorksWellWithCardsContainer.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst WorksWellWithCardsContainer = ({ fields, rendering, WorksWellWithCardsPlaceholder }) => (\r\n\r\n <div {...RenderingStyling(rendering.componentName)} className=\"c-row md:is-collapsed u-gap-1-1/2 u-flex-nowrap u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-col c-col-12 \">\r\n <div className=\"c-row dev-c-tab-heading dev-c-tab-filter-heading c-horizontal-rule u-display-grid u-gap-1 lg:u-gap-0 lg:u-flex u-align-items-center lg:u-align-items-start u-margin-bottom-2 u-position-relative lg:u-justify-content-between\">\r\n <h2 className=\"u-margin-0\"><Text field={fields.title}></Text></h2>\r\n <StarsRating uid={ rendering.uid } />\r\n </div>\r\n <div className=\"u-display-grid u-gap-1 md:u-grid-columns-2 xl:u-grid-columns-3 xxl:u-grid-columns-4\">\r\n {WorksWellWithCardsPlaceholder}\r\n </div>\r\n </div>\r\n </div>\r\n);\r\n\r\n\r\nexport default withPlaceholder('WorksWellWithCardsPlaceholder')(WorksWellWithCardsContainer);\r\n\r\n","import React from 'react';\r\nimport { Link, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\nconst CallToActionButton = ({ fields,sitecoreContext,rendering }) => (\r\n sitecoreContext.pageEditing ?\r\n <div className=\"u-flex-row u-align-content-center u-margin-bottom-1 md:u-margin-right-1\" {...RenderingStyling(rendering.componentName)} >\r\n {\r\n <Link field={fields.link} data-track=\"true\" data-track-value={fields.link.value.text} className={\"c-cta-button \" + fields.size?.fields.className?.value + \" \" + fields.type?.fields.className?.value }></Link>\r\n }\r\n \r\n </div>:\r\n fields.link?.value?.href !== '' &&\r\n <div className=\"u-flex-row u-align-content-center u-margin-bottom-1 md:u-margin-right-1\">\r\n {\r\n fields.link.value.linktype === 'media' ?\r\n <div>\r\n <a data-track=\"true\" data-track-value={fields.link.value.text}\r\n href={fields.link.value.href.replace('/sitecore/media-library','/-/media').replace('/sitecore/media library','/-/media') + '.ashx'} download className={\"c-cta-button \" + fields.size?.fields.className?.value + \" \" + fields.type?.fields.className?.value }>\r\n {fields.link.value.text} \r\n </a>\r\n <iframe id=\"my_iframe\" style={{display : 'none'}}></iframe>\r\n </div>\r\n :\r\n <Link field={fields.link} data-track=\"true\" data-track-value={fields.link.value.text} className={\"c-cta-button \" + fields.size?.fields.className?.value + \" \" + fields.type?.fields.className?.value }></Link>\r\n }\r\n \r\n </div>\r\n \r\n);\r\n \r\nexport default withSitecoreContext()(CallToActionButton);\r\n","import React, { useEffect } from 'react';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport config from '../../../temp/config';\r\n\r\nconst ClientSideRedirect = ({ fields, sitecoreContext }) => {\r\n //handle media link\r\n let redirectLink = sitecoreContext?.route?.fields?.redirectUrl?.value;\r\n if (redirectLink?.linktype === 'media') {\r\n redirectLink.href = redirectLink.href\r\n .replace('/sitecore/media-library', '/-/media')\r\n .replace('/sitecore/media library', '/-/media');\r\n }\r\n\r\n //handle redirect url for both internal and external usecases\r\n let redirectUrl = new URL(\r\n redirectLink?.href ?? \"\", //redirect to Dev2.0 homepage if the redirect link isn't set\r\n typeof origin === 'undefined' ? config.REACT_APP_SITECOREORIGIN : origin\r\n );\r\n\r\n //bypass timer redirect for 'internal' links\r\n let isArmHostname = redirectUrl.hostname.endsWith('arm.com')\r\n || redirectUrl.hostname === 'localhost'\r\n || redirectUrl.origin === config.REACT_APP_SITECOREORIGIN;\r\n let timeout = isArmHostname ? 0 : (fields?.redirectTime?.value ?? 0);\r\n\r\n const [counter, setCounter] = React.useState(timeout);\r\n //redirect on timeout\r\n useEffect(() => {\r\n const timer = counter > 0 && setInterval(() => setCounter(counter - 1), 1000);\r\n if(counter == 0) window.location.replace(redirectUrl.href); \r\n return () => clearTimeout(timer);\r\n }, [counter]);\r\n\r\n //format redirect text\r\n function formatJSXRedirectText(str, replace) {\r\n const parts = str?.replace('$time', counter).split('$link');\r\n const result = [];\r\n for (let i = 0; i < parts?.length; i++) {\r\n result.push(parts[i]);\r\n if (i < parts.length - 1) result.push(replace);\r\n } return result;\r\n }\r\n\r\n return (\r\n <section className=\"md:u-margin-left-2 md:u-margin-right-2 u-padding-top-2-1/2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-container is-full-width\">\r\n <div className=\"c-row\">\r\n <div className=\"c-col c-col-12\">\r\n <div className=\"u-margin-top-0\">{formatJSXRedirectText(fields?.redirectText?.value, <a href={redirectUrl.href} data-track=\"true\" data-track-value={sitecoreContext?.route?.fields?.redirectUrl?.value?.text}>{sitecoreContext?.route?.fields?.redirectUrl?.value?.text}</a>)}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n );\r\n}\r\n\r\nexport default withSitecoreContext()(ClientSideRedirect);\r\n","import React, { useState, useEffect } from 'react';\r\nimport './CommunityBlog.css';\r\nimport config from '../../../temp/config';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { CommunityBlogsCard } from '@arm/ce-shared-components/components/CoveoHeadless/CommunityComponents/Cards';\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst CommunityBlog = ({fields, rendering}) => {\r\n const [{ user }] = UseGlobalState();\r\n const blogID = fields.OrFromBlogs?.map((blog) => \"\\\"\"+blog.fields[\"Telligent Id\"].value+\"\\\"\").toString(); \r\n const blogTagValues = fields.KeywordTags?.map((blog) => \"\\\"\"+blog.displayName+\"\\\"\").toString();\r\n const blogText = fields.KeywordTagsText?.value.toString();\r\n const blogTagText = blogText== \"\" ? blogText : \"\\\"\" + blogText.split(',').join('\\\",\\\"') + \"\\\"\";\r\n const blogTag =blogTagValues == \"\" ? blogTagText: blogTagText == \"\"? blogTagValues : blogTagValues + ',' + blogTagText; \r\n const numberofPosts = fields.NumberOfPosts?.value == \"\" ? 3 : fields.NumberOfPosts?.value;\r\n \r\n return (\r\n <React.Fragment {...RenderingStyling(rendering.componentName)}>\r\n <CommunityBlogsCard \r\n CoveoOrganizationID= {`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoSearchHub= {`${config.REACT_APP_COVEOCOMMUNITYSEARCHHUB}`}\r\n CoveoQueryPipeline= {`${config.REACT_APP_COVEOCOMMUNITYQUERYPIPELINE}`}\r\n CoveoGetTokenURI= {`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n blogID= {blogID}\r\n blogTag= {blogTag}\r\n numberofPosts= {numberofPosts}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n />\r\n </React.Fragment>\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CommunityBlog;\r\n\r\n","import React from 'react';\r\nimport { Link, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport config from '../../../temp/config';\r\nimport { CommunityForumCard } from '@arm/ce-shared-components/components/CoveoHeadless/CommunityComponents/Cards';\r\nimport './CommunityForum.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { UseGlobalState } from '../../../context';\r\n\r\nconst CommunityFourm = ({fields,sitecoreContext, rendering}) => {\r\n const [{ user }] = UseGlobalState();\r\n const forumID= fields.OrFromSingleForum?.fields[\"Telligent Id\"].value.toString();\r\n const filterBy = fields.FilterBy?.displayName.toString();\r\n const numberofPosts = fields.NumberOfPosts?.value == \"\" ? 3 : fields.NumberOfPosts?.value;\r\n return (\r\n \r\n <div {...RenderingStyling(rendering.componentName)}>\r\n <CommunityForumCard\r\n CoveoOrganizationID={`${config.REACT_APP_COVEOORGANIZATIONID}`}\r\n CoveoGetTokenURI={`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`}\r\n CoveoSearchHub={`${config.REACT_APP_COVEOCOMMUNITYSEARCHHUB}`}\r\n CoveoQueryPipeline={`${config.REACT_APP_COVEOCOMMUNITYQUERYPIPELINE}`}\r\n forumID= {forumID}\r\n filterBy= {filterBy}\r\n numberofPosts= {numberofPosts}\r\n user={{ token: user.user?.token, isLoggedIn: user.isAuth }}\r\n /> \r\n \r\n {sitecoreContext.pageEditing?\r\n <div class=\"lg:u-padding-left-1 u-text-center\">\r\n <Link field={fields.CTAlink} data-track=\"true\" data-track-value={fields.CTAlink.value.text} className=\"c-cta-button is-medium is-primary\"></Link>\r\n </div>:\r\n fields.CTAlink?.value?.href !== '' &&\r\n <div class=\"lg:u-padding-left-1 u-text-center\">\r\n <Link field={fields.CTAlink} data-track=\"true\" data-track-value={fields.CTAlink.value.text} className=\"c-cta-button is-medium is-primary\"></Link>\r\n </div>\r\n }\r\n </div>\r\n \r\n );\r\n}\r\n\r\nexport default withSitecoreContext()(CommunityFourm);\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst CommunityPostsContainer = ({ fields, CommunityBlogsPlaceHolder, CommunityForumsPlaceHolder, rendering}) => (\r\n <section className=\"u-padding-top-2-1/2 u-padding-bottom-2-1/2\" {...RenderingStyling(rendering.componentName)} >\r\n <div className=\"md:u-margin-left-2 md:u-margin-right-2\">\r\n <div className=\"c-container is-full-width\">\r\n <div class=\"c-row md:is-collapsed\">\r\n <div class=\"c-col c-col-12\">\r\n <h2 id=\"popular-posts\" className=\"u-margin-top-0 u-margin-bottom-2\"><Text field={fields?.title} /></h2>\r\n <div class=\"lg:u-padding-left-1 u-display-grid u-gap-2 u-margin-bottom-2 xl:u-grid-auto-flow-column\">\r\n {CommunityBlogsPlaceHolder}\r\n </div>\r\n {CommunityForumsPlaceHolder}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n);\r\n\r\nexport default withPlaceholder(['CommunityBlogsPlaceHolder','CommunityForumsPlaceHolder'])(CommunityPostsContainer);\r\n","import * as React from 'react';\r\nimport { CookieConsent } from '@arm/ce-shared-components';\r\nimport './CookieConsent.css';\r\nimport config from '../../../temp/config';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst ConfigCookieConsent = (props) => {\r\n let { fields, rendering, sitecoreContext } = props\r\n return <div role=\"navigation\" aria-label=\"cookie consent\" className=\"fixedPolicyBox\" {...RenderingStyling(rendering.componentName)} >\r\n <CookieConsent\r\n sitecoreURI={config.REACT_APP_SITECOREURI}\r\n sitecoreEndpoint={config.REACT_APP_COOKIEENPOINT}\r\n sitecoreDatasource={fields.sitecoreDatasource.value}\r\n domain={config.REACT_APP_COOKIEDOMAIN}\r\n data={sitecoreContext?.ssr?.cookieData}\r\n disableCookie={true}\r\n />\r\n </div>\r\n};\r\n\r\nexport default withSitecoreContext()(ConfigCookieConsent);\r\n","import React from 'react';\r\nimport { Link, DateField } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst EventLink = ({ fields, rendering }) => {\r\n return (\r\n <div class=\"dev-c-event u-display-grid\" id={rendering.uid} {...RenderingStyling(rendering.componentName)} >\r\n <div className=\"dev-c-event__title\">\r\n <h2><Link field={fields.link} data-track=\"true\" data-track-value={fields.link.value.text}/></h2>\r\n </div>\r\n <DateField field={fields.date} render={(date) => <time datetime={date.toLocaleString()}>{date.toDateString()}</time>} />\r\n {fields.type?.fields?.value?.value ? <p class=\"dev-c-event-category\">{fields.type?.fields?.value?.value}</p> : \"\"}\r\n </div>\r\n );\r\n};\r\n\r\nexport default EventLink;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent\r\n} from '@arm/arm-design-system-react';\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst EventListCard = ({ fields, rendering, EventLinksPlaceholder}) => (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} className=\"dev-c-event-list-card u-bg-color-arm-light-grey\" id={\"ads-card-\" + rendering.uid} orientation=\"vertical\">\r\n <AdsCardContent slot=\"content\" className=\"u-display-grid u-gap-1 u-padding-1\">\r\n <div className=\"u-flex u-flex-column u-height-100\">\r\n <h3 className=\"u-margin-top-0 u-margin-bottom-1 u-color-arm-black dark:u-color-white\"><Text field={fields.heading} /></h3>\r\n <div className=\"u-display-grid u-gap-1/2 dev-c-event-list__events\">\r\n {EventLinksPlaceholder}\r\n </div>\r\n </div>\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n);\r\n\r\nexport default withPlaceholder('EventLinksPlaceholder')(EventListCard);\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent,\r\n AdsCardImage,\r\n AdsTag\r\n} from '@arm/arm-design-system-react';\r\nimport './FeatureCard.css'\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst FeatureCard = ({ fields, rendering }) => {\r\n return (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className=\"dev-c-card dev-c-feature-card dev-c-feature-card--main u-width-100%\" link={fields.link?.value?.href} id={\"ads-card-\" + rendering.uid} orientation=\"vertical\">\r\n <AdsCardImage src={fields.image?.value?.src} slot=\"image\"></AdsCardImage>\r\n <AdsCardContent slot=\"content\">\r\n {fields.themes.length > 0 ? <AdsTag srLabel={fields.themes[0].displayName} href=\"#\" className=\"dev-c-card-tag u-inline-block\" onClick={(event) => { window.location.href=window.location.href+'&f-navigationhierarchiestopics='+ fields.themes[0].displayName;(event).preventDefault();}} id={\"ads-tag-\" + fields.themes[0].id}>\r\n <span className=\"fal fa-tag u-margin-right-1/2 rtl:u-margin-left-1/2 rtl:u-margin-right-0\"></span>\r\n {fields.themes[0].displayName}\r\n </AdsTag> : \"\" }\r\n <h3 className=\"dev-c-card__title u-grid-rows-1 u-margin-0\"><Text field={fields.heading} /></h3>\r\n <div id=\"subTitle\"><RichText field={fields.subTitle} /></div>\r\n <p className=\"u-margin-0\"><Text field={fields.shortDescription} /></p>\r\n {fields.themes.length > 1 ? <a class=\"dev-c-categories u-margin-0 u-text-bold\" data-track=\"true\" data-track-value={fields.themes[1].displayName}>{fields.themes[1].displayName}</a> : \"\"}\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default FeatureCard;\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport {\r\n AdsCard,\r\n AdsCardContent,\r\n AdsCardImage,\r\n AdsTag\r\n} from '@arm/arm-design-system-react';\r\nimport './FeatureCardSmall.css'\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\nconst FeatureCardSmall = ({ fields, rendering }) => {\r\n return (\r\n <React.Fragment>\r\n <AdsCard {...RenderingStyling(rendering.componentName)} srLabel={fields.heading.value} className={!fields.image?.value?.src?\"dev-c-card dev-c-feature-card dev-c-feature-card-small--main u-width-100% dev-c-feature-card-small--noimage\":\"dev-c-card dev-c-feature-card dev-c-feature-card-small--main u-width-100%\"} link={fields.link?.value?.href} id={\"ads-card-\" + rendering.uid} orientation=\"vertical\">\r\n {fields.image?.value?.src && <AdsCardImage src={fields.image.value.src} slot=\"image\"></AdsCardImage>}\r\n <AdsCardContent slot=\"content\">\r\n {fields.themes.length > 0 ? <AdsTag srLabel={fields.themes[0].displayName} href=\"#\" className=\"dev-c-card-tag u-inline-block\" onClick={(event) => { window.location.href=window.location.href+'&f-navigationhierarchiestopics='+ fields.themes[0].displayName;(event).preventDefault();}} id={\"ads-tag-\" + fields.themes[0].id}>\r\n <span className=\"fal fa-tag u-margin-right-1/2 rtl:u-margin-left-1/2 rtl:u-margin-right-0\"></span>\r\n {fields.themes[0].displayName}\r\n </AdsTag> : \"\" }\r\n <h3 className=\"dev-c-card__title u-grid-rows-1 u-margin-0 u-padding-top-1/2\"><Text field={fields.heading} /></h3>\r\n <div id=\"subTitle\"><RichText field={fields.subTitle} /></div>\r\n <p className=\"u-margin-0\"><Text field={fields.shortDescription} /></p>\r\n {fields.themes.length > 1 ? <a class=\"dev-c-categories u-margin-0 u-text-bold\" data-track=\"true\" data-track-value={fields.themes[1].displayName}>{fields.themes[1].displayName}</a> : \"\"}\r\n </AdsCardContent>\r\n </AdsCard>\r\n </React.Fragment>\r\n );\r\n};\r\nexport default FeatureCardSmall;\r\n","import React from 'react';\r\nimport { Footer as CEFooter } from '@arm/ce-shared-components';\r\nimport config from '../../../temp/config';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst Footer = ({ fields, rendering, sitecoreContext }) => (\r\n <div {...RenderingStyling(rendering.componentName)}>\r\n <CEFooter \r\n sitecoreURI={config.REACT_APP_SITECOREURI}\r\n sitecoreEndpoint={config.REACT_APP_FOOTERSITECOREENDPOINT}\r\n sitecoreDatasource={fields.sitecoreDatasource.value}\r\n footerDomainUrl={config.REACT_APP_FOOTERDOMAINURL}\r\n data={sitecoreContext?.ssr?.footerData}\r\n />\r\n </div>\r\n);\r\nconst FooterClient = () => (\r\n <div>\r\n <CEFooter \r\n sitecoreURI={config.REACT_APP_SITECOREURI}\r\n sitecoreEndpoint={config.REACT_APP_FOOTERSITECOREENDPOINT}\r\n sitecoreDatasource={config.REACT_APP_FOOTERSITECOREDATASOURCE}\r\n footerDomainUrl={config.REACT_APP_FOOTERDOMAINURL} \r\n />\r\n </div>\r\n);\r\n\r\nexport default withSitecoreContext()(Footer);\r\nexport {FooterClient};\r\n","import {\r\n AZUREB2CSERVICE_INIT\r\n } from '../../constants/actionTypes';\r\n import {\r\n azureInit\r\n } from '../../services/userService';\r\n \r\n export const initAzureB2CAction = (dispatch)=> {\r\n azureInit().then((data) => {\r\n dispatch({\r\n type: AZUREB2CSERVICE_INIT,\r\n data: data || {}\r\n });\r\n });\r\n }","import {AzureB2CService,AuthConsumingService, analytics} from \"@arm/ce-shared-components/components/Authentication\";\r\nimport { getAppBaseUri, getSFaAuthConfig } from \"../components/Authentication\";\r\n\r\nexport const azureInit = () => {\r\n return AzureB2CService.init(AuthConsumingService, null, getSFaAuthConfig(), getAppBaseUri()).then(() => {\r\n return AzureB2CService.getToken(undefined).then(() => {\r\n return new Promise((res) => {\r\n res({\r\n user: AzureB2CService.getUser(),\r\n isAuth: AzureB2CService.isAuthenticated(),\r\n isLoginDone: true\r\n });\r\n });\r\n }).catch(() => {\r\n ;\r\n });\r\n }).catch((error) =>{\r\n console.log(error);\r\n });\r\n}\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport { ArmGlobalNavigation } from '@arm/ce-shared-components';\r\nimport config from '../../../temp/config';\r\nimport './GlobalNavigation.css';\r\nimport { UseGlobalState } from '../../../context';\r\nimport { initAzureB2CAction } from '../../../context/action/user';\r\n\r\nconst GlobalNavigation = ({ fields, rendering }) => {\r\n const [,dispatch] = UseGlobalState();\r\n useEffect(() => {\r\n initAzureB2CAction(dispatch);\r\n }, []);\r\n const user = UseGlobalState();\r\n const [userData, setUserData] = useState(user[0].user);\r\n \r\n useEffect(() => {\r\n setUserData(user[0].user);\r\n }, user);\r\n return (\r\n <ArmGlobalNavigation\r\n appName={`developer2.0`} \r\n auth={{\r\n user: userData?.user,\r\n menuLinks: [\r\n {\r\n label: \"Profile\",\r\n url: config.REACT_APP_SITECORE_PROFILE_LINK\r\n \r\n },\r\n {\r\n label: \"Settings\",\r\n url: config.REACT_APP_SITECORE_SETTINGS_LINK\r\n },\r\n {\r\n label: \"Notifications\",\r\n url: config.REACT_APP_SITECORE_NOTIFICATIONS_LINK\r\n }\r\n ],\r\n loginLink: config.REACT_APP_ORIGIN + config.REACT_APP_PATHNAME + `user-login${typeof window === \"undefined\"? \"\": \"?returnUrl=\"+window.location.pathname}`, \r\n logoutLink: config.REACT_APP_ORIGIN + config.REACT_APP_PATHNAME + 'user-logout',\r\n notificationsApi: config.REACT_APP_SITECORE_NOTIFICATIONS_API,\r\n registerLink: \"/register\"\r\n }} \r\n searchUrl={`${config.REACT_APP_ORIGIN}/search#numberOfResults=48&q=`}\r\n isTheme={false} \r\n scriptEnvironmentHostUrl={config.REACT_APP_ARM_GLOBALNAVIGATION_HOST}\r\n />\r\n );\r\n}; \r\nconst GlobalNavigationClient = () => {\r\n return (\r\n <ArmGlobalNavigation \r\n appName={`developer2.0`}\r\n auth={{\r\n menuLinks: [\r\n {\r\n label: \"Profile\",\r\n url: config.REACT_APP_SITECORE_PROFILE_LINK\r\n\r\n },\r\n {\r\n label: \"Settings\",\r\n url: config.REACT_APP_SITECORE_SETTINGS_LINK\r\n },\r\n {\r\n label: \"Notifications\",\r\n url: config.REACT_APP_SITECORE_NOTIFICATIONS_LINK\r\n }\r\n ], \r\n loginLink: `user-login?returnUrl=${window.location.pathname}`, \r\n registerLink: \"/register\", \r\n logoutLink: \"/user-logout\"}} \r\n searchUrl={`${config.REACT_APP_ORIGIN}/search#numberOfResults=48&q=`}\r\n isTheme={false}\r\n scriptEnvironmentHostUrl={config.REACT_APP_ARM_GLOBALNAVIGATION_HOST}\r\n />\r\n );\r\n}; \r\n\r\nexport default GlobalNavigation;\r\nexport {GlobalNavigationClient};\r\n","import React from 'react';\r\nimport { withSitecoreContext, Placeholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling'\r\n\r\nconst HorizontalTab = (props) => {\r\n return (\r\n <React.Fragment>\r\n <div slot=\"content\" data-id={'slot-' + props.rendering.fields?.heading?.value.replace(/ /g, '-')} className=\"c-container is-full-width\" id={'tabs:horizontal-tabs:panel:slot-' + props.rendering.fields?.heading?.value.replace(/ /g, '-')} role=\"tabpanel\" {...RenderingStyling(props.rendering.componentName)}>\r\n <Placeholder\r\n rendering={props.rendering}\r\n name=\"tab-content\" />\r\n </div>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default withSitecoreContext()(HorizontalTab);\r\n","import React from 'react';\r\nimport { withPlaceholder, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { AdsHorizontalTabs } from '@arm/arm-design-system-react';\r\nimport './HorizontalTabsContainer.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling'\r\n\r\nclass HorizontalTabsContainer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: ''\r\n }\r\n }\r\n\r\n getTabName = (event) => {\r\n let activeTabVal = 'slot-' + (event.detail.id).replace('slot-', '');\r\n this.setState({ data: activeTabVal });\r\n window.location.hash = '#' + (event.detail.id).replace('slot-', '');\r\n }\r\n\r\n componentDidMount() {\r\n let url = window.location.href;\r\n let activeTabVal = '';\r\n let urlParams = new URLSearchParams(window.location.search);\r\n let params = urlParams.get('params'); \r\n if (url.indexOf('#') > -1) {\r\n activeTabVal = 'slot-' + url.split('#')[1];\r\n this.setState({ data: activeTabVal });\r\n }\r\n else if(params != null) {\r\n let atParam = params.split(\",\")[0];\r\n activeTabVal = 'slot-' + atParam;\r\n this.setState({ data: activeTabVal }); \r\n }\r\n else {\r\n activeTabVal = this.props?.tabsPlaceholder[0]?.props?.fields?.heading?.value ? 'slot-' + this.props?.tabsPlaceholder[0]?.props?.fields?.heading?.value.replace(/ /g, '-') : 'slot-Technical-Specifications';\r\n this.setState({ data: activeTabVal});\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n let url = window.location.href;\r\n if (url.indexOf('#') > -1) {\r\n let activeTabVal = 'slot-' + url.split('#')[1];\r\n if (prevState.data !== activeTabVal) {\r\n this.setState({ data: activeTabVal });\r\n }\r\n }\r\n \r\n }\r\n\r\n\r\n render() {\r\n const { tabsPlaceholder, sitecoreContext } = this.props;\r\n\r\n //child renderings configured to the tabsPlaceholder\r\n const renderings = (tabsPlaceholder || [])\r\n .filter((rendering) => rendering.props && rendering.props.fields)\r\n .map((tabRendering, index) => {\r\n return tabRendering;\r\n });\r\n\r\n //list of tabs data required to initialize ADS Horizontal tabs component\r\n const tabs = renderings.map((tabRendering, index) => {\r\n return { id: 'slot-' + tabRendering.props.fields.heading?.value.replace(/ /g, '-'), label: tabRendering.props.fields.heading?.value }\r\n });\r\n\r\n return (\r\n <React.Fragment>\r\n <section className=\"md:u-margin-left-2 md:u-margin-right-2\" {...RenderingStyling(this.props.rendering.componentName)}>\r\n {\r\n sitecoreContext.pageEditing ?\r\n <div id=\"horizontal-tab\">\r\n {renderings}\r\n </div>:\r\n this.state.data !== '' &&\r\n <AdsHorizontalTabs id=\"horizontal-tabs\" breakpoint=\"md\" data={tabs} activeTab={this.state.data} onTabSelect={(evt) => this.getTabName(evt)}>\r\n {renderings}\r\n </AdsHorizontalTabs>\r\n }\r\n </section>\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n\r\n}\r\n// This is a _higher order component_ that will wrap our component and inject placeholder\r\n// data into it as a prop (in this case, props.tabsPlaceholder).\r\n// this another option compared to using the <Placeholder> component;\r\n// in this case, chosen because we primarily need access to the _data_\r\n// of the placeholder.\r\nconst tabsComponentWithPlaceholderInjected = withPlaceholder({\r\n placeholder: 'jss-tabs',\r\n prop: 'tabsPlaceholder',\r\n})(HorizontalTabsContainer);\r\n\r\n// We need to know if experience editor is active, to disable the dynamic tab behavior for editing.\r\n// Using the same technique as injecting the placeholder, we wrap the component again to inject the\r\n// `sitecoreContext` prop.\r\nconst tabsWithPlaceholderAndSitecoreContext = withSitecoreContext()(\r\n tabsComponentWithPlaceholderInjected\r\n);\r\n\r\nexport default tabsWithPlaceholderAndSitecoreContext;\r\n","import React from 'react';\r\n\r\nconst LinkWithIconListItem = ({ fields }) => {\r\n var iconCssClass = fields.icon?.fields.className?.value.length > 0 ? fields.icon?.fields.className?.value : \"fa-file-alt\";\r\n return (\r\n fields.link?.value?.href !== '' &&\r\n fields.link.value.linktype === 'media' ?\r\n <li>\r\n <a data-track=\"true\" data-track-value={fields.link?.value?.text} href={fields.link?.value?.href.replace('/sitecore/media-library','/-/media').replace('/sitecore/media library','/-/media') + '.ashx'} alt={fields.link?.value?.text}><span className={\"u-margin-right-1/2 fal \" + iconCssClass}></span>{fields.link?.value?.text}</a>\r\n </li>:\r\n <li>\r\n <a data-track=\"true\" data-track-value={fields.link?.value?.text} href={fields.link?.value?.href} alt={fields.link?.value?.text}><span className={\"u-margin-right-1/2 fal \" + iconCssClass}></span>{fields.link?.value?.text}</a>\r\n </li>\r\n );\r\n};\r\n\r\nexport default LinkWithIconListItem;\r\n","import React from 'react';\r\nimport { graphql } from 'react-apollo';\r\nimport {\r\n withSitecoreContext,\r\n resetExperienceEditorChromes,\r\n} from '@sitecore-jss/sitecore-jss-react';\r\n\r\n/**\r\n * Higher order component that abstracts common JSS + Apollo integration needs.\r\n *\r\n * This component works similar to react-apollo's graphql() HOC, but:\r\n * * Automatically injects $contextItem and $datasource GraphQL variable values, if the GraphQL declares usage of them\r\n * * Automatically disables execution of subscription queries when doing SSR\r\n * * Passes through any other props to its wrapped component\r\n *\r\n * @param {*} query The GraphQL AST to execute (should go through graphql-tag, no strings)\r\n * @param {*} configuration Values passed in are shipped to react-apollo configuration (https://www.apollographql.com/docs/react/basics/setup.html#graphql-config)\r\n */\r\nfunction GraphQLData(query, configuration = {}) {\r\n return function wrapComponent(Component) {\r\n class SitecoreRenderingWrapper extends React.Component {\r\n static displayName = `JSSGraphQLComponent(${Component.displayName ||\r\n Component.name ||\r\n 'Component'})`;\r\n\r\n render() {\r\n if (!query) {\r\n throw new Error(\r\n 'query was falsy in GraphQLData. It should be a GraphQL query from graphql-tag. Perhaps missing graphql-tag/loader?'\r\n );\r\n }\r\n\r\n const newConfiguration = { ...configuration };\r\n\r\n if (!newConfiguration.name) newConfiguration.name = 'data';\r\n\r\n // ensure variables object exists\r\n newConfiguration.options = newConfiguration.options || {};\r\n newConfiguration.options.variables = newConfiguration.options.variables || {};\r\n\r\n // if we're in experience editor or preview we need to disable SSR of GraphQL queries\r\n // because SSR queries are made unauthenticated, so they would have normal mode data = bad\r\n if (this.props.sitecoreContext && this.props.sitecoreContext.pageState !== 'normal') {\r\n newConfiguration.options.ssr = false;\r\n } else if (\r\n query.definitions.some(\r\n (def) => def.kind === 'OperationDefinition' && def.operation === 'subscription'\r\n )\r\n ) {\r\n // if the document includes any subscriptions, we also disable SSR as this hangs the SSR process\r\n // not to mention being quite silly to SSR when they're reactive\r\n newConfiguration.options.ssr = false;\r\n }\r\n\r\n\r\n\r\n // find all variable definitions in the GraphQL query, so we can send only ones we're using\r\n const variableNames = extractVariableNames(query);\r\n\r\n // set the datasource variable, if we're using it\r\n if (variableNames.datasource && this.props.rendering && this.props.rendering.dataSource) {\r\n newConfiguration.options.variables.datasource = this.props.rendering.dataSource;\r\n }\r\n\r\n // set the contextItem variable, if we're using it\r\n if (\r\n variableNames.contextItem &&\r\n this.props.sitecoreContext &&\r\n this.props.sitecoreContext.itemId\r\n ) {\r\n newConfiguration.options.variables.contextItem = this.props.sitecoreContext.itemId;\r\n }\r\n\r\n // build the props processing function that will set the result object to the name\r\n newConfiguration.props = (props) => {\r\n const innerQuery = props[newConfiguration.name];\r\n\r\n let resultProps = {};\r\n\r\n resultProps[newConfiguration.name] = innerQuery;\r\n\r\n // run a user-specified props function too if one exists\r\n if (configuration.props)\r\n resultProps = Object.assign(resultProps, configuration.props(props));\r\n\r\n return resultProps;\r\n };\r\n\r\n const GQL = graphql(query, newConfiguration)(Component);\r\n return <GQL {...this.props} />;\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n componentDidUpdate() {\r\n resetExperienceEditorChromes();\r\n }\r\n }\r\n\r\n return withSitecoreContext()(SitecoreRenderingWrapper);\r\n };\r\n}\r\n\r\nfunction extractVariableNames(query) {\r\n const variableNames = {};\r\n query.definitions\r\n .map((def) => def.variableDefinitions)\r\n .filter((def) => def)\r\n .forEach((defs) =>\r\n defs.forEach((def) => {\r\n if (def.kind && def.kind === 'VariableDefinition') {\r\n variableNames[def.variable.name.value] = true;\r\n }\r\n })\r\n );\r\n\r\n return variableNames;\r\n}\r\n\r\nexport default GraphQLData;\r\n","import React from 'react';\r\nimport { AdsMasthead } from '@arm/arm-design-system-react';\r\nimport { loader as gqlLoader } from 'graphql.macro';\r\nimport GraphQLData from '../../../lib/GraphQLData';\r\nimport './masthead.css';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\nprocess.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';\r\nconst BreadcrumbQuery = gqlLoader('./query.graphql');\r\n\r\nconst Masthead = (props) => {\r\nconst graphQLResult = props.connectedQuery;\r\n // Async loading and error handling\r\n // Remember to never return null from a JSS component when loading,\r\n // this will break Experience Editor.\r\n const { error, loading } = graphQLResult;\r\n\r\n // Query results load in using the name of their root field (see query.graphql)\r\n const { dsItem } = graphQLResult;\r\n \r\n let navArray = [];\r\n\r\n if(dsItem !== null && dsItem != undefined)\r\n {\r\n let prepareData = (dsItem) => {\r\n Object.keys(dsItem).map((item, index) => {\r\n if (item === \"parent\") {\r\n if (dsItem[\"parent\"] != null && dsItem[\"parent\"].name != 'sitecore' && dsItem[\"parent\"].name != 'content') {\r\n \r\n prepareData(dsItem[\"parent\"])\r\n \r\n navArray.push({\r\n name: dsItem[\"parent\"].name,\r\n value: dsItem[\"parent\"]\r\n })\r\n }\r\n }\r\n })\r\n }\r\n prepareData(dsItem)\r\n }\r\n \r\n return (\r\n <header id=\"header\" className=\"dev-c-masthead u-layer-4\">\r\n <div data-e2e-id=\"graphql-connected\" className=\"dev-c-masthead\">\r\n {dsItem !== null && dsItem != undefined &&\r\n <AdsMasthead {...RenderingStyling(props.rendering.componentName)} >\r\n {navArray && navArray.length >> 0 &&\r\n <ads-breadcrumbs slot=\"breadcrumbs\" sr-label=\"Breadcrumbs\" id=\"ads-breadcrumbs\" class=\"hydrated\">\r\n {navArray.map((item,index)=>\r\n index != 0 &&\r\n <ads-breadcrumb slot=\"breadcrumb\" link={item.value[\"url\"]} class=\"hydrated\">{item.name}</ads-breadcrumb>\r\n )\r\n \r\n }\r\n </ads-breadcrumbs>\r\n }\r\n <h1 slot=\"heading\">{props.sitecoreContext.route.fields.pageTitle.value}</h1>\r\n </AdsMasthead >\r\n }\r\n \r\n </div>\r\n </header>\r\n );\r\n};\r\n\r\nexport default GraphQLData(BreadcrumbQuery, { name: 'connectedQuery' })(\r\n Masthead\r\n);\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport RenderingStyling from '../../../lib/RenderingStyling';\r\n\r\n\r\nconst RichTextEditor = ({ fields, rendering }) => {\r\n\r\n return (\r\n <div {...RenderingStyling(rendering.componentName)} className='c-row'>\r\n <div className='c-col'>\r\n <h2 className=\"u-color-inherit u-margin-bottom-1 md:u-margin-bottom-1-1/2 u-font-size-100% sm:u-font-size-200%\"><Text field={fields.heading}></Text></h2>\r\n <div className='c-col c-richtext-component'>\r\n <RichText field={fields.RichTextField} tag=\"section\" />\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default RichTextEditor;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { withSitecoreContext } from \"@sitecore-jss/sitecore-jss-react\";\r\nimport config from \"../../../temp/config\";\r\nimport \"./StarRatingMobile.css\";\r\nimport loadable from \"@loadable/component\";\r\nimport RenderingStyling from \"../../../lib/RenderingStyling\";\r\nconst FeedbackForm = loadable(\r\n () =>\r\n import(\"@arm/ce-shared-components/components/FeedbackForm/FeedbackForm\"),\r\n { ssr: false }\r\n);\r\n\r\nconst StarsRatingMobile = ({ uid, sitecoreContext }) => {\r\n const isMobile = useIsMobile();\r\n\r\n return (\r\n isMobile && (\r\n <div\r\n className=\"xl:u-hide u-grid-auto-flow-column u-align-items-center u-justify-content-center u-gap-1 u-margin-bottom-2 dev-c-feedbackform\"\r\n {...RenderingStyling(\"StarRatingMobile\")}\r\n >\r\n <FeedbackForm />\r\n </div>\r\n )\r\n );\r\n};\r\n\r\nfunction useIsMobile() {\r\n const [isMobile, setIsMobile] = useState(false);\r\n\r\n useEffect(() => {\r\n function handleWindowSizeChange() {\r\n setIsMobile(window.innerWidth < 1200);\r\n }\r\n window.addEventListener(\"resize\", handleWindowSizeChange);\r\n handleWindowSizeChange();\r\n return () => window.removeEventListener(\"resize\", handleWindowSizeChange);\r\n }, []);\r\n return isMobile;\r\n}\r\n\r\nexport default withSitecoreContext()(StarsRatingMobile);\r\n","import React from 'react';\r\nimport { Text, RichText, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport './videocontent.css';\r\n\r\nconst VideoContent = ({sitecoreContext}) => {\r\n return(\r\n <section className=\"md:u-margin-left-2 md:u-margin-right-2 u-padding-bottom-2-1/2\">\r\n <div className=\"c-container is-full-width\">\r\n <div className=\"c-row\">\r\n <div className=\"c-col c-col-12\">\r\n <div className=\"u-margin-top-0\"><h3>{sitecoreContext.route.fields?.title?.value}</h3>\r\n {sitecoreContext.route.fields?.VideoLink?.value.linktype === 'external'?\r\n <object data={sitecoreContext.route.fields?.VideoLink?.value.href} controls = {true} className=\"videoContainer\"></object>\r\n :\r\n <video src={sitecoreContext.route.fields?.VideoLink?.value.href.replace(\"/sitecore/media-library\",\"/-/media\").replace(\"/sitecore/media library\",\"/-/media\") + '.ashx'} controls = {true} className=\"videoComponentInternal\"></video>\r\n }\r\n \r\n <h2 class=\"u-margin-top-0\" id=\"specification\"><Text field={sitecoreContext.route.fields?.heading}></Text></h2>\r\n <div class=\"u-padding-left-1 xl:u-padding-right-1\">\r\n <RichText field={sitecoreContext.route.fields?.content} />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n );\r\n};\r\n\r\nexport default withSitecoreContext()(VideoContent);\r\n","/* eslint-disable */\n \n// Do not edit this file, it is auto-generated at build time!\n// See scripts/generate-component-factory.js to modify the generation of this file.\nimport Authentication from '../components/Authentication';\nimport FilterAndSearchCommunityPostsContainer from '../components/FilterAndSearchComponents/FilterAndSearchCommunityPostsContainer';\nimport FilterAndSearchContainer from '../components/FilterAndSearchComponents/FilterAndSearchContainer';\nimport FilterAndSearchSpotlightContentVariantA from '../components/FilterAndSearchComponents/FilterAndSearchSpotlightContentVariantA';\nimport FilterAndSearchSpotlightContentVariantB from '../components/FilterAndSearchComponents/FilterAndSearchSpotlightContentVariantB';\nimport CommunityContainer from '../components/HomeComponents/CommunityContainer';\nimport DocumentationContainer from '../components/HomeComponents/DocumentationContainer';\nimport DownloadCards from '../components/HomeComponents/DownloadCards';\nimport DownloadsContainer from '../components/HomeComponents/DownloadsContainer';\nimport HelpCards from '../components/HomeComponents/HelpCards';\nimport HelpContainer from '../components/HomeComponents/HelpContainer';\nimport HomepageMasthead from '../components/HomeComponents/HomepageMasthead';\nimport PromotionalBanner from '../components/HomeComponents/PromotionalBanner';\nimport RecommendedContainer from '../components/HomeComponents/RecommendedContainer';\nimport StartDevelopingCards from '../components/HomeComponents/StartDevelopingCards';\nimport StartDevelopingContainer from '../components/HomeComponents/StartDevelopingContainer';\nimport TopCardsSection from '../components/HomeComponents/TopCardsSection';\nimport AdditionalResourcesCard from '../components/ProductComponents/AdditionalResourcesCard';\nimport ComponentsTabContainer from '../components/ProductComponents/ComponentsTabContainer';\nimport EditionsTabContainer from '../components/ProductComponents/EditionsTabContainer';\nimport EventBanner from '../components/ProductComponents/EventBanner';\nimport KeyResources from '../components/ProductComponents/KeyResources';\nimport ProductProgramBanner from '../components/ProductComponents/ProductProgramBanner';\nimport ReleaseSection from '../components/ProductComponents/ReleaseSection';\nimport ResourcesContainer from '../components/ProductComponents/ResourcesContainer';\nimport SoftwareDownloadsContainer from '../components/ProductComponents/SoftwareDownloadsContainer';\nimport SupportAndTrainingCardsContainer from '../components/ProductComponents/SupportAndTrainingCardsContainer';\nimport SupportCard from '../components/ProductComponents/SupportCard';\nimport SupportedDevicesContainer from '../components/ProductComponents/SupportedDevicesContainer';\nimport TechnicalSpecificationContainer from '../components/ProductComponents/TechnicalSpecificationContainer';\nimport TechnicalSpecificationContainerVariantB from '../components/ProductComponents/TechnicalSpecificationContainerVariantB';\nimport TechnicalSpecificationContainerVariantC from '../components/ProductComponents/TechnicalSpecificationContainerVariantC';\nimport ToolsAndSoftwareCard from '../components/ProductComponents/ToolsAndSoftwareCard';\nimport ToolsAndSoftwareCardsContainer from '../components/ProductComponents/ToolsAndSoftwareCardsContainer';\nimport TrainingCard from '../components/ProductComponents/TrainingCard';\nimport UseCaseCard from '../components/ProductComponents/UseCaseCard';\nimport UseCaseCardsContainer from '../components/ProductComponents/UseCaseCardsContainer';\nimport WorksWellWithCard from '../components/ProductComponents/WorksWellWithCard';\nimport WorksWellWithCardsContainer from '../components/ProductComponents/WorksWellWithCardsContainer';\nimport CallToActionButton from '../components/SharedComponents/CallToActionButton';\nimport ClientSideRedirect from '../components/SharedComponents/ClientSideRedirect';\nimport CommunityBlogs from '../components/SharedComponents/CommunityBlogs';\nimport CommunityFourm from '../components/SharedComponents/CommunityFourm';\nimport CommunityPostsContainer from '../components/SharedComponents/CommunityPostsContainer';\nimport CookieConsent from '../components/SharedComponents/CookieConsent';\nimport EventLink from '../components/SharedComponents/EventLink';\nimport EventListCard from '../components/SharedComponents/EventListCard';\nimport FeatureCard from '../components/SharedComponents/FeatureCard';\nimport FeatureCardSmall from '../components/SharedComponents/FeatureCardSmall';\nimport Footer from '../components/SharedComponents/Footer';\nimport GlobalNavigation from '../components/SharedComponents/GlobalNavigation';\nimport HomeCard from '../components/SharedComponents/HomeCard';\nimport HomeCardsContainer from '../components/SharedComponents/HomeCardsContainer';\nimport HorizontalTab from '../components/SharedComponents/HorizontalTab';\nimport HorizontalTabsContainer from '../components/SharedComponents/HorizontalTabsContainer';\nimport LinkWithIconListItem from '../components/SharedComponents/LinkWithIconListItem';\nimport Masthead from '../components/SharedComponents/Masthead';\nimport RichTextEditor from '../components/SharedComponents/RichTextEditor';\nimport StarRatingMobile from '../components/SharedComponents/StarRatingMobile';\nimport StarsRating from '../components/SharedComponents/StarsRating';\nimport VideoContent from '../components/SharedComponents/VideoContent';\n\nconst components = new Map();\ncomponents.set('Authentication', Authentication);\ncomponents.set('FilterAndSearchCommunityPostsContainer', FilterAndSearchCommunityPostsContainer);\ncomponents.set('FilterAndSearchContainer', FilterAndSearchContainer);\ncomponents.set('FilterAndSearchSpotlightContentVariantA', FilterAndSearchSpotlightContentVariantA);\ncomponents.set('FilterAndSearchSpotlightContentVariantB', FilterAndSearchSpotlightContentVariantB);\ncomponents.set('CommunityContainer', CommunityContainer);\ncomponents.set('DocumentationContainer', DocumentationContainer);\ncomponents.set('DownloadCards', DownloadCards);\ncomponents.set('DownloadsContainer', DownloadsContainer);\ncomponents.set('HelpCards', HelpCards);\ncomponents.set('HelpContainer', HelpContainer);\ncomponents.set('HomepageMasthead', HomepageMasthead);\ncomponents.set('PromotionalBanner', PromotionalBanner);\ncomponents.set('RecommendedContainer', RecommendedContainer);\ncomponents.set('StartDevelopingCards', StartDevelopingCards);\ncomponents.set('StartDevelopingContainer', StartDevelopingContainer);\ncomponents.set('TopCardsSection', TopCardsSection);\ncomponents.set('AdditionalResourcesCard', AdditionalResourcesCard);\ncomponents.set('ComponentsTabContainer', ComponentsTabContainer);\ncomponents.set('EditionsTabContainer', EditionsTabContainer);\ncomponents.set('EventBanner', EventBanner);\ncomponents.set('KeyResources', KeyResources);\ncomponents.set('ProductProgramBanner', ProductProgramBanner);\ncomponents.set('ReleaseSection', ReleaseSection);\ncomponents.set('ResourcesContainer', ResourcesContainer);\ncomponents.set('SoftwareDownloadsContainer', SoftwareDownloadsContainer);\ncomponents.set('SupportAndTrainingCardsContainer', SupportAndTrainingCardsContainer);\ncomponents.set('SupportCard', SupportCard);\ncomponents.set('SupportedDevicesContainer', SupportedDevicesContainer);\ncomponents.set('TechnicalSpecificationContainer', TechnicalSpecificationContainer);\ncomponents.set('TechnicalSpecificationContainerVariantB', TechnicalSpecificationContainerVariantB);\ncomponents.set('TechnicalSpecificationContainerVariantC', TechnicalSpecificationContainerVariantC);\ncomponents.set('ToolsAndSoftwareCard', ToolsAndSoftwareCard);\ncomponents.set('ToolsAndSoftwareCardsContainer', ToolsAndSoftwareCardsContainer);\ncomponents.set('TrainingCard', TrainingCard);\ncomponents.set('UseCaseCard', UseCaseCard);\ncomponents.set('UseCaseCardsContainer', UseCaseCardsContainer);\ncomponents.set('WorksWellWithCard', WorksWellWithCard);\ncomponents.set('WorksWellWithCardsContainer', WorksWellWithCardsContainer);\ncomponents.set('CallToActionButton', CallToActionButton);\ncomponents.set('ClientSideRedirect', ClientSideRedirect);\ncomponents.set('CommunityBlogs', CommunityBlogs);\ncomponents.set('CommunityFourm', CommunityFourm);\ncomponents.set('CommunityPostsContainer', CommunityPostsContainer);\ncomponents.set('CookieConsent', CookieConsent);\ncomponents.set('EventLink', EventLink);\ncomponents.set('EventListCard', EventListCard);\ncomponents.set('FeatureCard', FeatureCard);\ncomponents.set('FeatureCardSmall', FeatureCardSmall);\ncomponents.set('Footer', Footer);\ncomponents.set('GlobalNavigation', GlobalNavigation);\ncomponents.set('HomeCard', HomeCard);\ncomponents.set('HomeCardsContainer', HomeCardsContainer);\ncomponents.set('HorizontalTab', HorizontalTab);\ncomponents.set('HorizontalTabsContainer', HorizontalTabsContainer);\ncomponents.set('LinkWithIconListItem', LinkWithIconListItem);\ncomponents.set('Masthead', Masthead);\ncomponents.set('RichTextEditor', RichTextEditor);\ncomponents.set('StarRatingMobile', StarRatingMobile);\ncomponents.set('StarsRating', StarsRating);\ncomponents.set('VideoContent', VideoContent);\n\nexport default function componentFactory(componentName) {\n return components.get(componentName);\n};\n","import axios from 'axios';\r\n\r\n/**\r\n * Implements a data fetcher using Axios - replace with your favorite\r\n * SSR-capable HTTP or fetch library if you like. See HttpJsonFetcher<T> type\r\n * in sitecore-jss library for implementation details/notes.\r\n * @param {string} url The URL to request; may include query string\r\n * @param {any} data Optional data to POST with the request.\r\n */\r\nexport function dataFetcher(url, data) {\r\n return axios({\r\n url,\r\n method: data ? 'POST' : 'GET',\r\n data,\r\n // note: axios needs to use `withCredentials: true` in order for Sitecore cookies to be included in CORS requests\r\n // which is necessary for analytics and such\r\n withCredentials: true,\r\n });\r\n}\r\n","import * as React from \"react\";\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nfunction JsonLdHelper(fields) {\r\n\r\n this.jsonLdScriptBody =\r\n {\r\n \"@context\": \"http://schema.org\",\r\n \"@type\": \"TechArticle\",\r\n \"name\": fields.pageTitle?.value,\r\n \"description\": fields.pageDescription?.value,\r\n }\r\n\r\n this.extreactedFieldData = \"\";\r\n\r\n this.createJsonLdField = (fieldData, fieldkey) => {\r\n\r\n if (fieldData) {\r\n\r\n if (Array.isArray(fieldData)) {\r\n this.extreactedFieldData = fieldData.map((data) => {\r\n return data.fields.HierarchyPaths.value;\r\n });\r\n }\r\n\r\n if (fieldData.value?.fields) {\r\n this.extreactedFieldData = fieldData.value.fields.HierarchyPaths.value;\r\n }\r\n\r\n }\r\n\r\n return this.addFieldToJsonLd(fieldkey)\r\n }\r\n\r\n\r\n this.addFieldToJsonLd = (fieldkey) => {\r\n\r\n if (this.extreactedFieldData) {\r\n this.jsonLdScriptBody[fieldkey] = this.extreactedFieldData;\r\n }\r\n\r\n return this\r\n }\r\n\r\n this.getLd = () => {\r\n return this.jsonLdScriptBody;\r\n }\r\n}\r\n\r\n\r\nconst JsonLdData = ({ fields, rendering, sitecoreContext }) => {\r\n\r\n const helper = new JsonLdHelper(fields);\r\n\r\n let jsonLdScriptBody = helper\r\n .createJsonLdField(fields.UXNSAudience,\"audience\")\r\n .createJsonLdField(fields.UXNSCategories, \"categories\")\r\n .createJsonLdField(fields.UXNSContentType, \"contentType\")\r\n .getLd()\r\n\r\n return (\r\n <script id=\"dynamicJSONLD\" type=\"application/ld+json\">\r\n {JSON.stringify(jsonLdScriptBody)}\r\n </script>\r\n );\r\n}\r\n\r\nexport default withSitecoreContext()(JsonLdData);\r\n","import React from 'react';\r\nimport {\r\n Placeholder,\r\n VisitorIdentification,\r\n} from '@sitecore-jss/sitecore-jss-react';\r\nimport Helmet from 'react-helmet';\r\nimport './assets/app.css';\r\nimport loadable from '@loadable/component';\r\nimport StarsRatingMobile from './components/SharedComponents/StarRatingMobile';\r\nimport JsonLdData from '../src/components/SharedComponents/JsonLd/JsonLdData';\r\nimport { getCoveoToken } from '@arm/ce-shared-components';\r\nimport config from './temp/config';\r\nimport { UseGlobalState } from './context';\r\nimport { CredentialAlert } from \"@arm/ce-shared-components\";\r\nimport { getOrganizationEndpoints } from '@coveo/headless';\r\n\r\n\r\nconst Layout = ({ route }) => {\r\n if(typeof window !==\"undefined\"){\r\n const [{ user }] = UseGlobalState();\r\n if (window.OnetrustActiveGroups && window.OnetrustActiveGroups.includes('C0002')) {\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://static.cloud.coveo.com/coveo.analytics.js/2/coveoua.js\"; \r\n var currenturl = window.location.href;\r\n script.onload = async function(){\r\n const coveoToken = await getCoveoToken(`${config.REACT_APP_COVEOGETSEARCHTOKENURL}`, { token: user.user?.token, isLoggedIn: user.isAuth } );\r\n const organizationAnalyticsEndpoint =getOrganizationEndpoints(`${config.REACT_APP_COVEOORGANIZATIONID}`).analytics;\r\n window.coveoua(\"init\", coveoToken,organizationAnalyticsEndpoint);\r\n window.coveoua(\"send\", \"view\", {\r\n contentIdKey: \"@clickableuri\",\r\n contentIdValue: currenturl,\r\n contentType: \"DeveloperDocumentation\"\r\n });\r\n }\r\n document.head.appendChild(script);\r\n }\r\n }\r\n \r\n return(<React.Fragment>\r\n {/* react-helmet enables setting <head> contents, like title and OG meta tags */}\r\n <Helmet>\r\n <title>\r\n {(route.fields &&\r\n route.fields.pageTitle &&\r\n route.fields.pageTitle?.value) ||\r\n 'Page'}\r\n </title>\r\n <meta name=\"description\" content={route.fields.pageDescription?.value}></meta>\r\n </Helmet>\r\n \r\n <JsonLdData {...route} />\r\n\r\n {/*\r\n VisitorIdentification is necessary for Sitecore Analytics to determine if the visitor is a robot.\r\n If Sitecore XP (with xConnect/xDB) is used, this is required or else analytics will not be collected for the JSS app.\r\n For XM (CMS-only) apps, this should be removed.\r\n\r\n VI detection only runs once for a given analytics ID, so this is not a recurring operation once cookies are established.\r\n */}\r\n <VisitorIdentification />\r\n <div className=\"c-app u-flex u-flex-column\">\r\n <div role=\"navigation\" class=\"dev-c-skip-navigation u-margin-0 u-padding-0 u-position-relative\" aria-label=\"skip navigation\">\r\n <a href=\"#header\" data-track=\"true\" data-track-value=\"Skip Navigation (Press Enter)\">Skip Navigation (Press Enter)</a>\r\n <a href=\"#content\" data-track=\"true\" data-track-value=\"Skip to Content (Press Enter)\">Skip to Content (Press Enter)</a>\r\n </div>\r\n <div role=\"navigation\">\r\n <Placeholder name=\"jss-header\" rendering={route} />\r\n </div>\r\n <Placeholder name=\"jss-masthead\" rendering={route} />\r\n {route.itemId !== \"4afd9f1d-871a-5874-a803-7c8af50a0d03\" ? <CredentialAlert /> : \"\"}\r\n <main id=\"content\" className=\"u-flex-auto u-position-relative\">\r\n <Placeholder name=\"jss-main\" rendering={route} /> \r\n {route.itemId !== \"4afd9f1d-871a-5874-a803-7c8af50a0d03\" ? <StarsRatingMobile uid={route.itemId} /> : \"\"}\r\n </main>\r\n <div className=\"footer-wrapper\">\r\n <Placeholder name=\"jss-footer\" rendering={route} />\r\n </div>\r\n </div>\r\n <Placeholder name=\"jss-cookies\" rendering={route} />\r\n </React.Fragment>);\r\n}\r\n\r\nexport default Layout;\r\n","import React from 'react';\r\nimport config from '../temp/config';\r\nimport \"./ErrorComponent.css\"\r\n\r\n\r\nconst links = [\r\n { label: \"Arm Developer home\", path: `${config.REACT_APP_ERROR_PAGE_DEVELOPER_HOME_LINK}`},\r\n { label: \"Browse our documentation\", path: `${config.REACT_APP_ERROR_PAGE_DOCUMENTATION_LINK}` },\r\n { label: \"Read our blogs\", path: `${config.REACT_APP_ERROR_PAGE_BLOGS_LINK}` }\r\n];\r\n\r\nconst errorMessages = {\r\n \"/500\":\r\n {\r\n errorCode: \"500\",\r\n title: \"Sorry, this site is not working properly\",\r\n message: [\"We are aware of the problem and are working to get it fixed as soon as possible.\"],\r\n linkMsg: \"In the meantime, here are some links that may help:\",\r\n links\r\n \r\n},\r\n\"/404\":\r\n {\r\n errorCode: \"404\",\r\n title: \"We could not find this page\",\r\n message: [\"The link that sent you here may be incorrect or the page has moved\"],\r\n linkMsg: \"Here are some links that may help:\",\r\n links\r\n},\r\n};\r\n\r\n\r\nconst renderLinks =(errorMsg) => {\r\n return (\r\n <React.Fragment>\r\n <p>{ errorMsg.linkMsg }</p>\r\n <ul>\r\n { errorMsg.links.map((link, index) =>\r\n <li key={index}>\r\n <a className=\"c-anchor\" href={link.path} data-track=\"true\" data-track-value={link.label}>{link.label}</a>\r\n </li>\r\n )}\r\n </ul>\r\n </React.Fragment>\r\n );\r\n}\r\n\r\nconst ErrorComponent = (props ) => {\r\n const pathname = props.route;\r\n const errorMsg = errorMessages[pathname] || errorMessages[\"/404\"];\r\n return (\r\n <div className=\"c-dev-wrapper\">\r\n <div className=\"c-dev-content-error-wrapper u-margin-bottom-2\">\r\n <h2 className=\"c-dev-errorpage\">{errorMsg.title}</h2>\r\n <div className=\"c-dev-errorpage-message\">\r\n <p>{errorMsg.message}</p>\r\n {errorMsg.links.length > 0 && renderLinks(errorMsg)}\r\n </div>\r\n <div className={\"c-dev-errorpage-image-\" + errorMsg.errorCode} />\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default ErrorComponent;\r\n","import React from 'react';\r\nimport Helmet from 'react-helmet';\r\nimport ErrorComponent from './ErrorComponent';\r\nimport {GlobalNavigationClient} from './components/SharedComponents/GlobalNavigation';\r\nimport {FooterClient} from './components/SharedComponents/Footer';\r\n\r\n\r\n\r\n// Renders a route-not-found message when no route is available from Sitecore\r\n// The JSS equivalent of a 404 Not Found page.\r\n\r\n// This is invoked from RouteHandler when Sitecore returns no valid route data.\r\n// The NotFound component receives the Layout Service Context data, but no route data.\r\n// This can be used to power parts of your site, such as navigation, from LS context additions\r\n// without losing the ability to render them on your 404 pages :)\r\n\r\nconst ErrorPage = (props) => (\r\n <div>\r\n <Helmet>\r\n <title>Page not found</title> \r\n </Helmet>\r\n\r\n <div role=\"navigation\" class=\"dev-c-skip-navigation u-margin-0 u-padding-0 u-position-relative\" aria-label=\"skip navigation\">\r\n <a href=\"#header\" data-track=\"true\" data-track-value=\"Skip Navigation (Press Enter)\">Skip Navigation (Press Enter)</a>\r\n <a href=\"#content\" data-track=\"true\" data-track-value=\"Skip to Content (Press Enter)\">Skip to Content (Press Enter)</a>\r\n </div>\r\n <div role=\"navigation\">\r\n <GlobalNavigationClient/> \r\n </div>\r\n <ErrorComponent route={props.route}/> \r\n <div className=\"footer-wrapper\"> \r\n <FooterClient />\r\n </div> \r\n </div>\r\n);\r\n\r\nexport default ErrorPage;\r\n","import React from 'react';\r\nimport { isExperienceEditorActive, dataApi, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { dataFetcher } from './dataFetcher';\r\nimport config from './temp/config';\r\nimport Layout from './Layout';\r\nimport ErrorPage from './ErrorPage';\r\n\r\n// Dynamic route handler for Sitecore items.\r\n// Because JSS app routes are defined in Sitecore, traditional static React routing isn't enough -\r\n// we need to be able to load dynamic route data from Sitecore after the client side route changes.\r\n// So react-router delegates all route rendering to this handler, which attempts to get the right\r\n// route data from Sitecore - and if none exists, renders the not found component.\r\n\r\nclass RouteHandler extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n notFound: false,\r\n defaultLanguage: config.defaultLanguage,\r\n };\r\n \r\n const routeData = this.extractRouteData();\r\n\r\n // route data from react-router - if route was resolved, it's not a 404\r\n if (routeData !== null) {\r\n this.state.notFound = false;\r\n }\r\n\r\n // if we have an initial SSR state, and that state doesn't have a valid route data,\r\n // then this is a 404 route.\r\n if (routeData && (!routeData.sitecore || !routeData.sitecore.route)) {\r\n this.state.notFound = true;\r\n }\r\n\r\n // if we have an SSR state, and that state has language data, set the current language\r\n // (this makes the language of content follow the Sitecore context language cookie)\r\n // note that a route-based language (i.e. /de-DE) will override this default; this is for home.\r\n if (routeData && routeData.context && routeData.context.language) {\r\n this.state.defaultLanguage = routeData.context.language;\r\n }\r\n\r\n this.componentIsMounted = false;\r\n this.languageIsChanging = false;\r\n }\r\n\r\n componentDidMount() {\r\n const routeData = this.extractRouteData();\r\n\r\n // if no existing routeData is present (from SSR), get Layout Service fetching the route data or SSR render is complete\r\n if (!routeData || this.props.ssrRenderComplete) {\r\n this.updateRouteData();\r\n }\r\n\r\n // once we initialize the route handler, we've \"used up\" the SSR data,\t\r\n // if it existed, so we want to clear it now that it's in react state.\t\r\n // future route changes that might destroy/remount this component should ignore any SSR data.\t\r\n // EXCEPTION: Unless we are still SSR-ing. Because SSR can re-render the component twice\t\r\n // (once to find GraphQL queries that need to run, the second time to refresh the view with\t\r\n // GraphQL query results)\t\r\n // We test for SSR by checking for Node-specific process.env variable.\t\r\n if (typeof window !== \"undefined\" && !this.props.ssrRenderComplete && this.props.setSsrRenderComplete) {\r\n this.props.setSsrRenderComplete(true);\r\n }\r\n\r\n this.componentIsMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this.componentIsMounted = false;\r\n }\r\n\r\n extractRouteData = () => {\r\n if (!this.props.sitecoreContext) return null;\r\n\r\n const { route, ...context } = this.props.sitecoreContext;\r\n\r\n return {\r\n sitecore: {\r\n route,\r\n context\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Loads route data from Sitecore Layout Service into state.routeData\r\n */\r\n updateRouteData() {\r\n let sitecoreRoutePath = this.props.route.match.params.sitecoreRoute || '/';\r\n if (!sitecoreRoutePath.startsWith('/')) {\r\n sitecoreRoutePath = `/${sitecoreRoutePath}`;\r\n }\r\n sitecoreRoutePath = config.REACT_APP_CONTENTHOME_PATH + sitecoreRoutePath;\r\n const language = this.props.route.match.params.lang || this.state.defaultLanguage;\r\n\r\n // get the route data for the new route\r\n getRouteData(sitecoreRoutePath, language).then((routeData) => {\r\n if (routeData !== null && routeData.sitecore && routeData.sitecore.route) {\r\n // set the sitecore context data and push the new route\r\n this.props.updateSitecoreContext({\r\n route: routeData.sitecore.route,\r\n itemId: routeData.sitecore.route.itemId,\r\n ...routeData.sitecore.context,\r\n });\r\n this.setState({ notFound: false });\r\n } else {\r\n this.setState({ notFound: true }, () => {\r\n const context = routeData && routeData.sitecore ? routeData.sitecore.context : null;\r\n\r\n this.props.updateSitecoreContext(context);\r\n \r\n }\r\n )\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate(previousProps) {\r\n const existingRoute = previousProps.route.match.url;\r\n const newRoute = this.props.route.match.url;\r\n\r\n // don't change state (refetch route data) if the route has not changed\r\n if (existingRoute === newRoute) {\r\n return;\r\n }\r\n\r\n // if in experience editor - force reload instead of route data update\r\n // avoids confusing Sitecore's editing JS\r\n if (isExperienceEditorActive()) {\r\n window.location.assign(newRoute);\r\n return;\r\n }\r\n \r\n this.updateRouteData();\r\n }\r\n\r\n render() {\r\n const { notFound } = this.state;\r\n const routeData = this.extractRouteData();\r\n\r\n // no route data for the current route in Sitecore - show not found component.\r\n // Note: this is client-side only 404 handling. Server-side 404 handling is the responsibility\r\n // of the server being used (i.e. node-headless-ssr-proxy and Sitecore intergrated rendering know how to send 404 status codes).\r\n if (notFound) {\r\n return (\r\n <ErrorPage route={routeData?routeData.sitecore.route: \"/404\"}/>\r\n );\r\n }\r\n\r\n // Don't render anything if the route data or dictionary data is not fully loaded yet.\r\n // This is a good place for a \"Loading\" component, if one is needed.\r\n if (!routeData || this.languageIsChanging) {\r\n return null;\r\n }\r\n\r\n // Render the app's root structural layout\r\n return <Layout route={routeData.sitecore.route} />;\r\n }\r\n}\r\n\r\nexport default withSitecoreContext({ updatable: true })(RouteHandler)\r\n\r\n/**\r\n * Gets route data from Sitecore. This data is used to construct the component layout for a JSS route.\r\n * @param {string} route Route path to get data for (e.g. /about)\r\n * @param {string} language Language to get route data in (content language, e.g. 'en')\r\n */\r\nfunction getRouteData(route, language) {\r\n const fetchOptions = {\r\n layoutServiceConfig: { host: config.sitecoreApiHost },\r\n querystringParams: { sc_lang: language, sc_apikey: config.sitecoreApiKey },\r\n\r\n fetcher: dataFetcher,\r\n };\r\n\r\n return dataApi.fetchRouteData(route, fetchOptions).catch((error) => {\r\n if (error.response && error.response.status === 404 && error.response.data) {\r\n return error.response.data;\r\n }\r\n\r\n console.error('Route data fetch error', error, error.response);\r\n\r\n return null;\r\n });\r\n}\r\n","import React from 'react';\r\nimport { SitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport { ApolloProvider } from 'react-apollo';\r\nimport componentFactory from './temp/componentFactory';\r\nimport RouteHandler from './RouteHandler';\r\nimport {login, signin, signOut, logout} from './components/Authentication'\r\nimport { StateProvider } from './context';\r\nimport ErrorPage from './ErrorPage';\r\n\r\n// This is the main JSX entry point of the app invoked by the renderer (server or client rendering).\r\n// By default the app's normal rendering is delegated to <RouteHandler> that handles the loading of JSS route data.\r\n\r\n// support languages in the URL prefix\r\n// e.g. /da-DK/path, or /en/path, or /path\r\nexport const routePatterns = [\r\n '/:lang([a-z]{2}-[A-Z]{2})/:sitecoreRoute*',\r\n '/:lang([a-z]{2})/:sitecoreRoute*',\r\n '/:sitecoreRoute*',\r\n];\r\n\r\n// wrap the app with:\r\n// ApolloProvider: provides an instance of Apollo GraphQL client to the app to make Connected GraphQL queries.\r\n// Not needed if not using connected GraphQL.\r\n// SitecoreContext: provides component resolution and context services via withSitecoreContext\r\n// Router: provides a basic routing setup that will resolve Sitecore item routes and allow for language URL prefixes.\r\nclass AppRoot extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n ssrRenderComplete: false,\r\n };\r\n\r\n if (props.ssrState) {\r\n this.sitecoreContext =\r\n props.ssrState.sitecore && props.ssrState.sitecore.route\r\n ? {\r\n route: props.ssrState.sitecore.route,\r\n itemId: props.ssrState.sitecore.route.itemId,\r\n ...props.ssrState.sitecore.context,\r\n }\r\n : props.ssrState.sitecore.context;\r\n } else {\r\n this.sitecoreContext = null;\r\n }\r\n }\r\n\r\n setSsrRenderComplete = (ssrRenderComplete) =>\r\n this.setState({\r\n ssrRenderComplete,\r\n });\r\n\r\n componentDidMount() {\r\n this.setSsrRenderComplete(true);\r\n }\r\n\r\n addScriptToBody(src) {\r\n let scriptTag = document.createElement('script');\r\n scriptTag.src = src;\r\n\r\n document.body.appendChild(scriptTag);\r\n }\r\n\r\n render() {\r\n const { path, Router, graphQLClient } = this.props;\r\n return (\r\n <StateProvider>\r\n <ApolloProvider client={graphQLClient}>\r\n <SitecoreContext\r\n componentFactory={componentFactory}\r\n context={this.sitecoreContext}\r\n > \r\n <Router location={path} context={{}}>\r\n <Switch>\r\n <Route path=\"/sign-in\" exact={true} component={signin} />\r\n <Route path=\"/user-login/:returnUrl*\" render={login} />\r\n <Route path=\"/sign-out\" exact={true} component={signOut} />\r\n <Route path=\"/user-logout\" exact={true} render={logout} />\r\n <Route path=\"/silent-sign-in\" exact={true} component={signin} />\r\n\r\n <Route path={'/500'} exact={true} render={()=><ErrorPage route=\"/500\"/> } /> \r\n {routePatterns.map((routePattern) => (\r\n <Route\r\n key={routePattern}\r\n path={routePattern}\r\n render={(props) => (\r\n <RouteHandler\r\n route={props}\r\n ssrRenderComplete={this.state.ssrRenderComplete}\r\n />\r\n )}\r\n />\r\n \r\n ))}\r\n \r\n </Switch>\r\n </Router>\r\n </SitecoreContext>\r\n </ApolloProvider>\r\n </StateProvider>\r\n \r\n \r\n );\r\n }\r\n}\r\nexport default AppRoot;\r\n","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\n\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport AppRoot from './AppRoot';\r\nimport GraphQLClientFactory from './lib/GraphQLClientFactory';\r\nimport config from './temp/config';\r\n\r\n/* eslint-disable no-underscore-dangle */\r\nwindow.REACT_APP_ATM_HOSTNAME = process.env.REACT_APP_ATM_HOSTNAME\r\n\r\nlet renderFunction = ReactDOM.render;\r\n\r\nlet initLanguage = config.defaultLanguage;\r\n\r\n/*\r\n SSR Data\r\n If we're running in a server-side rendering scenario,\r\n the server will provide JSON in the #__JSS_STATE__ element\r\n for us to acquire the initial state to run with on the client.\r\n\r\n This enables us to skip a network request to load up the layout data.\r\n We are emitting a quiescent script with JSON so that we can take advantage\r\n of JSON.parse()'s speed advantage over parsing full JS, and enable\r\n working without needing `unsafe-inline` in Content Security Policies.\r\n\r\n SSR is initiated from /server/server.js.\r\n*/\r\nlet __JSS_STATE__ = null;\r\nconst ssrRawJson = document.getElementById('__JSS_STATE__');\r\nif (ssrRawJson) {\r\n __JSS_STATE__ = JSON.parse(ssrRawJson.innerHTML);\r\n}\r\nif (__JSS_STATE__) {\r\n // when React initializes from a SSR-based initial state, you need to render with `hydrate` instead of `render`\r\n renderFunction = ReactDOM.hydrate;\r\n\r\n // set i18n language SSR state language instead of static config default language\r\n initLanguage = __JSS_STATE__.sitecore.context.language;\r\n}\r\n\r\n/*\r\n GraphQL Data\r\n The Apollo Client needs to be initialized to make GraphQL available to the JSS app.\r\n Not using GraphQL? Remove this, and the ApolloContext from `AppRoot`.\r\n*/\r\n// Apollo supports SSR of GraphQL queries, so like JSS SSR, it has an object we can pre-hydrate the client cache from\r\n// to avoid needing to re-run GraphQL queries after the SSR page loads\r\nconst initialGraphQLState =\r\n __JSS_STATE__ && __JSS_STATE__.APOLLO_STATE ? __JSS_STATE__.APOLLO_STATE : null;\r\n\r\nconst graphQLClient = GraphQLClientFactory(config.graphQLEndpoint, false, initialGraphQLState);\r\n\r\n/*\r\n App Rendering\r\n*/\r\n// initialize the dictionary, then render the app\r\n// note: if not making a multlingual app, the dictionary init can be removed.\r\n\r\n // HTML element to place the app into\r\n const rootElement = document.getElementById('root');\r\n\r\n renderFunction(\r\n <AppRoot\r\n path={window.location.pathname}\r\n Router={BrowserRouter}\r\n graphQLClient={graphQLClient}\r\n ssrState={__JSS_STATE__}\r\n />,\r\n rootElement\r\n );\r\n\r\n","/* eslint-disable import/first */\r\n\r\nimport 'isomorphic-fetch';\r\nimport { ApolloClient } from 'apollo-client';\r\nimport { InMemoryCache, IntrospectionFragmentMatcher } from 'apollo-cache-inmemory';\r\n\r\n/*\r\n INTROSPECTION DATA\r\n See https://www.apollographql.com/docs/react/recipes/fragment-matching.html\r\n This enables the Apollo cache to process fragments on interface types correctly.\r\n If this file does not exist, you may need to run the `jss graphql:update` script.\r\n*/\r\nimport introspectionQueryResultData from '../temp/GraphQLFragmentTypes.json';\r\n\r\n/*\r\n QUERY LINK SELECTION\r\n A link is transport which GraphQL queries are pushed across.\r\n You have many choices.\r\n See the apollo-link documentation for more details.\r\n\r\n NOTE: to use Sitecore Experience Editor it is essential that your\r\n link passes cookies along with requests (credentials: 'include').\r\n*/\r\n\r\n// choose between a basic HTTP link to run queries...\r\n// import { createHttpLink } from 'apollo-link-http';\r\n// const link = createHttpLink({ uri: endpoint, credentials: 'include' });\r\n\r\n// ...or a batched link (multiple queries within 10ms all go in one HTTP request)\r\nimport { BatchHttpLink } from 'apollo-link-batch-http';\r\n\r\n// ...and an automatic persisted query link, which reduces bandwidth by using query hashes to alias content\r\n// the APQ link is _chained_ behind another link that performs the actual HTTP calls, so you can choose\r\n// APQ + batched, or APQ + http links for example.\r\nimport { createPersistedQueryLink } from 'apollo-link-persisted-queries';\r\n\r\nexport default function(endpoint, ssr, initialCacheState) {\r\n /* HTTP link selection: default to batched + APQ */\r\n const link = createPersistedQueryLink().concat(\r\n new BatchHttpLink({ uri: endpoint, credentials: 'include' })\r\n );\r\n\r\n const cache = new InMemoryCache({\r\n fragmentMatcher: new IntrospectionFragmentMatcher({\r\n introspectionQueryResultData,\r\n }),\r\n });\r\n\r\n return new ApolloClient({\r\n ssrMode: ssr,\r\n ssrForceFetchDelay: 10,\r\n link,\r\n cache: cache.restore(initialCacheState),\r\n });\r\n}\r\n"],"sourceRoot":""}