{"version":3,"sources":["webpack:///src/modules/msdyn365-cs-chat-connector/msdyn365-cs-chat-connector.view.tsx?be44","webpack:///./src/modules/warranty/warranty.view.tsx?4a63","webpack:///src/utils/classnames.ts?8f2b","webpack:///src/modules/default-container-2-slots/default-container-2-slots.tsx?b218","webpack:///src/modules/html-block/html-block.tsx?8805","webpack:///src/utils/script-utils.ts?9534","webpack:///src/modules/default-inline-script/default-inline-script.tsx?3ed3","webpack:///src/modules/default-metatags/default-metatags.tsx?1bb4","webpack:///src/modules/default-external-script/default-external-script.tsx?203d","webpack:///src/components/container-background-image/container-background-image-helper.ts?d691","webpack:///src/components/container-background-image/container-backgroud-image.tsx?89dd","webpack:///src/components/base-components.tsx?5f88","webpack:///./src/modules/eplp-container/eplp-container.view.tsx?89da","webpack:///src/modules/text-block/text-block.view.tsx?8d9b","webpack:///src/modules/default-inline-style/default-inline-style.tsx?bd16","webpack:///./src/modules/dealer-locator/dealer-locator.tsx?7ddf","webpack:///./src/modules/eplp-container/eplp-container.tsx?90d1","webpack:///./src/modules/warranty/warranty.tsx?7821","webpack:///src/modules/text-block/text-block.tsx?1fe8","webpack:///src/modules/default-container-3-slots/default-container-3-slots.tsx?06cd","webpack:///src/modules/html-block/html-block.view.tsx?f115","webpack:///./src/modules/language-selector/language-selector.tsx?1dc4","webpack:///./src/modules/language-selector/language-selector.view.tsx?4cfb","webpack:///./src/modules/dealer-locator/dealer-locator.view.tsx?9314","webpack:///src/modules/default-container/default-container.tsx?4334"],"names":["props","data","config","dataAppId","context","app","msDyn365CsChatConnectorDataAppId","dataOrgId","msDyn365CsChatConnectorDataOrgId","dataOrgUrl","msDyn365CsChatConnectorDataOrgUrl","undefined","dataHideChatButton","msDyn365CsChatConnectorDataHideChatButton","dataColorOverride","msDyn365CsChatConnectorDataColorOverride","dataFontFamilyOverride","msDyn365CsChatConnectorDataFontFamilyOverride","dataEnableTelemetry","dataOpenInWindow","dataEnableLcwAutofill","dataSuggestedActionLayout","getChatData","React","_document","_document2","script","document","createElement","type","src","msDyn365CsChatConnectorSrc","id","Object","keys","forEach","k","setAttribute","body","appendChild","className","cusBootstrapClassLeft","cusTextfield","cusBootstrapClassRight","cusIframeHeading","cusIframeSrc","height","cusIframeAriaLabel","sizePattern","getColumnSizes","size","exec","cols","split","slice","translatedSize","prefix","toLowerCase","translatePrefix","sizePrefix","map","colWidth","showErrors","isDebug","isEditor","request","params","getColClassArray","options","xsmall","small","medium","large","filter","Boolean","colWidths","Map","Default2SlotContainer","PureComponent","constructor","super","handleTextChange","event","this","heading","headingText","target","value","_getColClassName","classNames","length","reduce","memo","_ref","left","right","push","render","slots","telemetry","log","LogLevel","Debug","values","typeName","content","slotsClassNames","Warning","headingProps","_objectSpread","requestContext","Container","containerType","backgroundImage","backgroundImageRepeat","backgroundImageSize","moduleLayout","msdyn365__moduleLayout","HeadingComponent","assign","join","Fragment","slot","index","key","HtmlBlock","text","MsDyn365","editProps","onEdit","htmlBlockViewProps","classnames","renderView","logDebug","debugMessage","logError","errorMessage","Error","isAbsoluteUrl","source","test","isRelativeUrl","DefaultInlineScript","inlineScript","includes","nonceToken","isNonceEnabled","scriptHtml","SDK_FRAGMENT_NAME","dangerouslySetInnerHTML","__html","DefaultMetaTags","metaTags","metaTagsHtml","_addNonceToInlineScript","metaTagsText","simpleText","inlineScripRegex","metaTag","replace","DefaultExternalScript","scriptSource","relativeBaseUrl","url","staticCdnUrl","msdyn365Commerce","getEnvironmentVariable","path","async","defer","getBackgroundRepeatProperty","repeat","getBackgroundSizeProperty","buildBackgroundImageStylesByViewport","_request$gridSettings","image","configs","gridSettings","imageSettings","styles","largestGridSettingViewportName","getLargestGridSettingViewportName","authoringViewPorts","getAuthoringViewport","moduleName","layout","isBrowser","authoringHelper","window","_msdyn365","constructViewportInformationForImage","themeSettings","imgSettings","viewports","_cloneDeep2","xs","w","h","sm","md","lg","xl","skipWidthAndHeightSettings","vp","_imgSettings$viewport","viewport","minMaxWidth","getMinMaxWidth","urlSrc","getImageResizeUrl","externalProvider","apiSettings","maxWidth","max","minWidth","min","minHeight","backgroundRepeat","backgroundSize","backgroundPosition","setStyleAttribute","currentStyle","style","getDataBgSetAttribute","dataBgSetAttributes","BackgroundImage","state","stylesByViewport","_onChangeHandler","bind","_getCurrentStyle","mounted","_componentResize","updateAttributes","componentDidMount","addEventListener","componentWillUnmount","removeEventListener","shouldComponentUpdate","nextProps","nextState","_this$props$request","_nextProps$request","_this$props$image","_nextProps$image","_this$props$image2","_nextProps$image2","children","backgroundImageClassName","isAuthoringEditEnabled","processedAtributes","_processAttributes","_isLazyload","attributes","_getAttributes","eventHandlers","onDoubleClick","_getDefaultAttributes","_unused","lazyLoad","getBackgroundImageLazyloadAttributes","role","getBackgroundImageAttributes","currentTarget","binding","eventTarget","$type","selectedStyle","_isEqual2","setState","winInnerWidth","innerWidth","_this$stylesByViewpor","_this$stylesByViewpor2","_this$stylesByViewpor3","_this$stylesByViewpor4","Number","MAX_SAFE_INTEGER","_getDefaultStyle","_this$props$image3","disableLazyLoad","getContainerType","customClassName","containerContent","tag","textSize","Tag","classNameWithHeading","Text","top","square1","square2","square3","square4","square5","square6","TextBlockView","renderModuleAttributes","paragraph","DefaultInlineStyle","inlineStyle","styleHtml","DealerLocator","EplpContainer","EplpContainerProps","Warranty","TextBlock","textBlockViewProps","Default3SlotContainer","center","HtmlBlockView","LanguageSelector","_props$config$cusLang","cusLanguages","cuslan","i","href","siteURL","languageCode","dataTags","cusCSSClasses","storeID","_b$parentNode","a","b","getElementsByTagName","parentNode","insertBefore","DefaultContainer","_getChildColClassName","childrenWidth","_getWidthClass","s","get"],"mappings":";8HAkDgBA,cACZ,MAAMC,EArCWD,KACjB,MAAMC,EAAkB,CACpB,cAAeD,EAAME,OAAOC,WAAaH,EAAMI,QAAQC,IAAIH,OAAOI,iCAClE,cAAeN,EAAME,OAAOK,WAAaP,EAAMI,QAAQC,IAAIH,OAAOM,iCAClE,eAAgBR,EAAME,OAAOO,YAAcT,EAAMI,QAAQC,IAAIH,OAAOQ,mCA6BxE,YA3BwCC,IAApCX,EAAME,OAAOU,mBACbX,EAAK,yBAA2BD,EAAME,OAAOU,mBACtCZ,EAAMI,QAAQC,IAAIH,OAAOW,4CAChCZ,EAAK,yBAA2BD,EAAMI,QAAQC,IAAIH,OAAOW,2CAEzDb,EAAME,OAAOY,kBACbb,EAAK,uBAAyBD,EAAME,OAAOY,kBACpCd,EAAMI,QAAQC,IAAIH,OAAOa,2CAChCd,EAAK,uBAAyBD,EAAMI,QAAQC,IAAIH,OAAOa,0CAEvDf,EAAME,OAAOc,uBACbf,EAAK,6BAA+BD,EAAME,OAAOc,uBAC1ChB,EAAMI,QAAQC,IAAIH,OAAOe,gDAChChB,EAAK,6BAA+BD,EAAMI,QAAQC,IAAIH,OAAOe,+CAE7DjB,EAAME,OAAOgB,sBACbjB,EAAK,2BAA6BD,EAAME,OAAOgB,qBAE/ClB,EAAME,OAAOiB,mBACblB,EAAK,uBAAyBD,EAAME,OAAOiB,kBAE3CnB,EAAME,OAAOkB,wBACbnB,EAAK,4BAA8BD,EAAME,OAAOkB,4BAELT,IAA3CX,EAAME,OAAOmB,4BACbpB,EAAK,gCAAkCD,EAAME,OAAOmB,2BAEjDpB,GAIiBqB,CAAYtB,GAgBpC,OAXAuB,YAAgB,KAAK,IAAAC,EAAAC,EACjB,MAAMC,EAAiB,QAAXF,EAAGG,gBAAQ,IAAAH,OAAA,EAARA,EAAUI,cAAc,UACvCF,EAAOG,KAAO,kBACdH,EAAOI,IAAM9B,EAAME,OAAO4B,KAAO9B,EAAMI,QAAQC,IAAIH,OAAO6B,2BAC1DL,EAAOM,GAAK,iCACZC,OAAOC,KAAKjC,GAAMkC,QAAQC,IACtBV,EAAOW,aAAaD,EAAGnC,EAAKmC,MAExB,QAARX,EAAAE,gBAAQ,IAAAF,GAAM,QAANA,EAARA,EAAUa,YAAI,IAAAb,GAAdA,EAAgBc,YAAYb,IAC7B,IAEI,O,oCCnEX,uBAQgB1B,aAERuB,gBAAA,OAAKiB,UAAU,iDACXjB,gBAAA,OAAKiB,UAAU,OACXjB,gBAAA,OAAKiB,UAAW,IAAIxC,EAAME,OAAOuC,uBAC5BzC,EAAME,OAAOwC,cAElBnB,gBAAA,OAAKiB,UAAW,IAAIxC,EAAME,OAAOyC,wBAC7BpB,gBAAA,OAAKiB,UAAU,+BAA+BR,GAAG,GAAE,WAAU,UACzDT,gBAAA,MAAIiB,UAAU,sBAAsBxC,EAAME,OAAO0C,kBACjDrB,gBAAA,UACIiB,UAAU,qBACVV,IAAK9B,EAAME,OAAO2C,aAClBC,OAAO,OAAM,aACD,GAAG9C,EAAME,OAAO6C,0B,8JCZxD,MAAMC,EAAc,2BAmCPC,EAAiBA,CAAC/C,EAAgBgD,KAC3C,IAAKF,EAAYG,KAAKjD,GAClB,OAAO,EAEX,MAAMkD,EAAOlD,EAAOmD,MAAM,KAAKC,MAAM,GAC/BC,EA1BeC,KACrB,OAAQA,GAAUA,EAAOC,eACrB,IAAK,QACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,QACD,MAAO,KACX,IAAK,SACL,QACI,MAAO,KAgBQC,CAAgBR,GACjCS,EAAcJ,GAAkB,IAAIA,GAAqB,GAC/D,OAAOH,EAAKQ,IAAKC,GAAqB,MAAMF,KAAcE,MAGjDC,EAAc1D,IACvB,MAAM,QAAE2D,EAAO,SAAEC,GAAiC5D,GAAWA,EAAQ6D,SAAW7D,EAAQ6D,QAAQC,QAAW,GAC3G,QAASH,KAAaC,GAMbG,EAAoBC,GAEzB,CACIA,EAAQC,QAAUpB,EAAemB,EAAQC,QACzCD,EAAQE,OAASrB,EAAemB,EAAQE,MAAO,SAC/CF,EAAQG,QAAUtB,EAAemB,EAAQG,OAAQ,UACjDH,EAAQI,OAASvB,EAAemB,EAAQI,MAAO,UACjDC,OAAOC,SAGJC,EAAY,IAAIC,IAAoB,CAC7C,CAAC,MAAO,YACR,CAAC,MAAO,YACR,CAAC,QAAS,YACV,CAAC,OAAQ,YACT,CAAC,MAAO,YACR,CAAC,SAAU,gB,6tBCxDf,MAAMC,UAA8BtD,IAAMuD,cACtCC,YAAY/E,GACRgF,MAAMhF,GAuDH,KAAAiF,iBAAoBC,GAAiCC,KAAKnF,MAAME,OAAOkF,QAASC,YAAcH,EAAMI,OAAOC,MAK3G,KAAAC,iBAAmB,KACtB,MAAM,OAAEtF,GAAWiF,KAAKnF,MAElByF,EAAatB,YAAiBjE,GAEpC,OAAKuF,EAAWC,OAOTD,EAAWE,OACd,CAACC,EAAeC,KAA6B,IAA1BC,EAAMC,GAAgBF,EAGrC,OAFAD,EAAKE,KAAKE,KAAKF,GACfF,EAAKG,MAAMC,KAAKD,GACTH,GAEX,CAAEE,KAAM,GAAIC,MAAO,KAZZ,CACHD,KAAM,CAAC,OACPC,MAAO,CAAC,SAjEbE,SACH,MAAM,MAAEC,EAAK,UAAEC,EAAS,QAAE/F,EAAO,OAAEF,EAAM,KAAED,GAASkF,KAAKnF,MACzDmG,EAAUC,IAAIC,IAASC,MAAO,2DAA4D,CACtFC,OAAQ,CAACpB,KAAKnF,MAAMgC,GAAImD,KAAKnF,MAAMwG,YAGvC,MAAMC,EAAUP,GAASA,EAAMO,QACzBC,EAAkBvB,KAAKK,mBACzBiB,GAAWA,EAAQf,OAAS,GAC5BS,EAAUC,IAAIC,IAASM,QAAS,qDAEpC,MAAMvB,EAAUlF,EAAOkF,SAAWnF,EAAKmF,QACjCwB,EAAYC,IAAA,GACXzB,GAAO,IACVH,iBAAkBE,KAAKF,iBACvB6B,eAAgB3B,KAAKnF,MAAMI,QAAQ6D,UAEvC,OACI1C,IAAAK,cAACmF,IAAS,CACNC,cAAe9G,EAAO8G,cACtBxE,UAAWtC,EAAOsC,UAClBgE,SAAUrB,KAAKnF,MAAMwG,SACrBxE,GAAImD,KAAKnF,MAAMgC,GACfiC,QAASkB,KAAKnF,MAAMI,QAAQ6D,QAC5BgD,gBAAiB/G,aAAM,EAANA,EAAQ+G,gBACzBC,sBAAuBhH,aAAM,EAANA,EAAQgH,sBAC/BC,oBAAqBjH,aAAM,EAANA,EAAQiH,oBAE7BC,aAAelH,aAAc,EAAdA,EAAgBmH,wBAE9BjC,GAAW7D,IAAAK,cAAC0F,IAAgBrF,OAAAsF,OAAA,CAAC/E,UAAU,qBAAwBoE,IAC/DH,GAAWA,EAAQ,IAAMlF,IAAAK,cAAA,OAAKY,UAAWkE,EAAgBZ,KAAK0B,KAAK,MAAOf,EAAQ,IAClFA,GAAWA,EAAQ,IAAMlF,IAAAK,cAAA,OAAKY,UAAWkE,EAAgBX,MAAMyB,KAAK,MAAOf,EAAQ,IACpFlF,IAAAK,cAAAL,IAAAkG,SAAA,KACK3D,YAAW1D,IACRqG,GACAA,EAAQnD,MAAM,EAAGmD,EAAQf,OAAS,GAAG9B,IAAI,CAAC8D,EAAiBC,IAEnDpG,IAAAK,cAAA,OAAKY,UAAU,SAASoF,IAAKD,GACzBpG,IAAAK,cAAA,OAAKY,UAAU,QACXjB,IAAAK,cAAA,OAAKY,UAAU,oCAAkC,2EAwC1EqC,a,usBCvFf,MAAMgD,UAAkBtG,gBAAxBwD,c,oBAiBW,KAAAE,iBAAoBC,GAA0CC,KAAKnF,MAAME,OAAOuG,QAAUvB,EAAMI,OAAOC,MAhBvGU,SACH,MAAM,QAAEQ,EAAO,UAAEjE,GAAc2C,KAAKnF,MAAME,OACpC4H,EAAOrB,GACTlF,gBAACwG,IAA0B,CACvBD,KAAMrB,EACNuB,UAAW,CAAEC,OAAQ9C,KAAKF,iBAAkB6B,eAAgB3B,KAAKnF,MAAMI,QAAQ6D,WAGjFiE,EAAkBrB,IAAA,GACjB1B,KAAKnF,OAAK,IACbyG,QAASqB,EACTtF,UAAW2F,IAAW,gBAAiB3F,KAE3C,OAAO2C,KAAKnF,MAAMoI,WAAWF,IAMtBL,a,oMClCR,MAAMQ,EAAWA,CAACC,EAAsBnC,KAC3CA,GAAaA,EAAUC,IAAIC,IAASC,MAAOgC,IAGlCC,EAAWA,CAACC,EAAsBrC,KAC3CA,GAAaA,EAAUC,IAAIC,IAASoC,MAAOD,IAQlCE,EAAiBC,GAEnB,kFAAkFC,KAAKD,GAGrFE,EAAiBF,GACnB,8DAA8DC,KAAKD,I,6FCX9E,MAAMG,UAA4BvH,gBAC9BwD,YAAY/E,GACRgF,MAAMhF,GAGHiG,SACH,MAAM,OAAE/F,GAAWiF,KAAKnF,MACxBqI,YAAS,2BAA2BlD,KAAKnF,MAAMgC,MAAMmD,KAAKnF,MAAMwG,YAAarB,KAAKnF,MAAMmG,WACxF,MAAMwC,EAASzI,EAAO6I,aAEtB,IAAKJ,GAAqB,KAAXA,GAAiBD,YAAcC,IAAWE,YAAcF,GAKnE,OAJAJ,YACI,wKACApD,KAAKnF,MAAMmG,WAER,KAGX,GAAIwC,EAAOK,SAAS,cAEhB,OADAT,YAAS,qEAAsEpD,KAAKnF,MAAMmG,WACnF,KAGX,MAAM8C,EAAa9D,KAAKnF,MAAMI,SAAW8I,YAAe/D,KAAKnF,MAAMI,QAAQ6D,SACrEkF,EAAa,WAAWF,EAAa,UAAUA,KAAgB,MAAMN,cAC3E,OAAOpH,gBAAoB6H,IAAmB,CAAExB,IAAKzC,KAAKnF,MAAMgC,GAAIqH,wBAAyB,CAAEC,OAAQH,MAIhGL,a,yFC5Bf,MAAMS,UAAwBhI,gBACnB0E,SACH,MAAM,KAAEhG,EAAI,OAAEC,GAAWiF,KAAKnF,MACxBiJ,EAAa9D,KAAKnF,MAAMI,SAAW8I,YAAe/D,KAAKnF,MAAMI,QAAQ6D,SAC3E,IACIuF,EADAC,EAAuB,GAE3B,GAAIvJ,EAAOsJ,SACPA,EAAWP,EAAa9D,KAAKuE,wBAAwBxJ,EAAOsJ,SAAUP,GAAc/I,EAAOsJ,SAC3FC,EAAeD,GAAYA,EAAShC,KAAK,WACtC,GAAIvH,EAAKuJ,SAAU,CACtBA,EAAWvJ,EAAKuJ,SAChB,IAAIG,EAAeH,EAAS5F,IAAIgG,GAAcA,EAAW9B,MACzD6B,EAAeV,EAAa9D,KAAKuE,wBAAwBC,EAAcV,GAAcU,EACrFF,EAAeE,GAAgBA,EAAanC,KAAK,MAErD,OAAOjG,gBAAoB6H,IAAmB,CAAExB,IAAKzC,KAAKnF,MAAMgC,GAAIqH,wBAAyB,CAAEC,OAAQG,KAGnGC,wBAAwBF,EAAoBP,GAChD,MAAMY,EAAmB,4CACzB,OAAOL,EACF5F,IAAIkG,GACGD,EAAiBjB,KAAKkB,GACfA,EAAQC,QAAQ,WAAY,iBAAiBd,GAEjDa,GAEVrF,OAAOC,UAIL6E,a,kCC/Cf,2DAgBA,MAAMS,UAA8BzI,gBAChCwD,YAAY/E,GACRgF,MAAMhF,GAGHiG,SACH,MAAM,OAAE/F,GAAWiF,KAAKnF,MACxBqI,YAAS,2BAA2BlD,KAAKnF,MAAMgC,MAAMmD,KAAKnF,MAAMwG,YAAarB,KAAKnF,MAAMmG,WACxF,IAAIwC,EAASzI,EAAO+J,aAEhBC,EAA0B,GAO9B,GALI/E,KAAKnF,MAAMI,UACX8J,GAAmB/E,KAAKnF,MAAMI,QAAQ6D,QAAQkG,IAAIC,aAClDF,GAAmBG,IAAiBC,uBAAuB,iBAAmB,IAG9EzB,YAAcF,GAEdA,EAAS,GAAGuB,KAAmBK,OAAU5B,UACtC,GAAe,KAAXA,IAAkBD,YAAcC,GAKvC,OAJAJ,YACI,mKACApD,KAAKnF,MAAMmG,WAER,KAEX,MAAMgD,EAAa,gBAAgBR,cAAmBzI,EAAOsK,iBAAiBtK,EAAOuK,oBAErF,OAAOlJ,gBAAoB6H,IAAmB,CAAExB,IAAKzC,KAAKnF,MAAMgC,GAAIqH,wBAAyB,CAAEC,OAAQH,MAIhGa,a,myBCxBf,MAAMU,EAA8BA,CAACxH,EAA0ByH,KAC3D,IAAKzH,GAAiB,UAATA,EACT,MAAO,YAEX,OAAQyH,GACJ,IAAK,WACD,MAAO,YACX,IAAK,SACD,MAAO,SACX,QACI,MAAO,cAIbC,EAA6B1H,IAC/B,OAAQA,GACJ,IAAK,QACD,MAAO,QACX,IAAK,UACD,MAAO,UACX,IAAK,UACL,QACI,SA4CC2H,EAAwC7K,IAAiE,IAAA8K,EAClH,MAAM,cAAE9D,EAAa,MAAE+D,EAAK,QAAE9G,EAAO,QAAE+G,GAAYhL,EAE7CiL,EAAmC,QAAvBH,EAAG7G,EAAQgH,oBAAY,IAAAH,IAAI,GACvCI,EAAgBH,EAAMG,cAEtBC,EAA0C,GAE1CC,EAAiCC,YAAkCJ,GACzE,GAAIG,GAAkCF,EAAe,CAEjD,MAAMI,EA1BeC,EAACC,EAAgCC,KAC1D,IAAKpB,IAAiBqB,UAClB,OAIJ,MAAMC,EAAmBC,OAAeC,UAAUF,gBAClD,OAAKA,EAKEG,YAAqCN,EAAYC,EAAQ,kBAAmBE,aAAe,EAAfA,EAAiBI,oBALpG,GAmB+BR,CAAqBvE,EAAegE,aAAO,EAAPA,EAASS,QAClEO,EAAWnF,IAAA,GACVqE,GAAa,IAChBe,UAASpF,EAAA,GAAOqF,IAAWZ,GAAsBJ,EAAce,WArDhE,CACHE,GAAI,CACAC,EAAG,IACHC,EAAG,KAEPC,GAAI,CACAF,EAAG,KACHC,EAAG,KAEPE,GAAI,CACAH,EAAG,KACHC,EAAG,KAEPG,GAAI,CACAJ,EAAG,KACHC,EAAG,KAEPI,GAAI,CACAL,EAAG,KACHC,EAAG,UAsCDK,GAA6B,EACnCzK,OAAOC,KAAK8J,EAAYC,WAAWrI,IAAI+I,IAAK,IAAAC,EACxC,MAAMC,EAAWF,EACXG,EAAcC,YAAe9B,EAAce,EAAaa,EAAUzB,GAClE4B,EAASC,YACXlC,EAAMjJ,IAENkK,EAAYC,UAAUY,GACtBb,EACAU,EACA3B,aAAK,EAALA,EAAOmC,iBACPjJ,aAAO,EAAPA,EAASkJ,aAGbhC,EAAO0B,GAAY,CACfO,SAAUN,EAAYO,IACtBC,SAAUR,EAAYS,IAEtBC,UAA0C,QAAjCZ,EAAEZ,EAAYC,UAAUY,UAAS,IAAAD,OAAA,EAA/BA,EAAiCP,EAC5CpF,gBAAiB+F,EACjBS,iBAAkB/C,EAA4BM,aAAO,EAAPA,EAAS9H,KAAM8H,aAAO,EAAPA,EAASL,QACtE+C,eAAgB9C,EAA0BI,aAAO,EAAPA,EAAS9H,MACnDyK,mBAAoB,mBAKhC,OAAOxC,GAGEyC,EAAqBC,IAC9B,IAAIC,EAAwB,GAS5B,OARID,IACAC,EAAKjH,EAAA,GAAQgH,GACbC,EAAgB,cAAInN,EACpBmN,EAAa,MAAI,OACbD,EAAa5G,kBACb6G,EAAuB,gBAAI,QAAQD,EAAa5G,sBAGjD6G,GA4CEC,EAAyB5C,IAClC,MAAM6C,EAAgC,GAStC,OARA/L,OAAOC,KAAKiJ,GAAQvH,IAAI+I,IATiBmB,MAWjC3C,EAAOwB,GAAI1F,iBAEX+G,EAAoBhI,KAAK,GAAGmF,EAAOwB,GAAI1F,mBAbN6G,EAasD3C,EAAOwB,GAZlGmB,EAAMV,SACC,gBAAgBU,EAAMV,eAE1B,QAaAY,EAAoBxG,KAAK,Q,ykBChL7B,MAAMyG,UAAwB1M,gBAKjCwD,YAAY/E,EAA8BkO,GACtClJ,MAAMhF,GACNmF,KAAKgJ,iBAAmBtD,EAAqC1F,KAAKnF,OAClEmF,KAAKiJ,iBAAmBjJ,KAAKiJ,iBAAiBC,KAAKlJ,MACnDA,KAAK0I,aAAe1I,KAAKmJ,mBACzBnJ,KAAKoJ,SAAU,EACfpJ,KAAKqJ,iBAAmBrJ,KAAKqJ,iBAAiBH,KAAKlJ,MACnDA,KAAKmJ,iBAAmBnJ,KAAKmJ,iBAAiBD,KAAKlJ,MACnDA,KAAK+I,MAAQ,CAAEO,kBAAkB,GAG9BC,oBACCrE,IAAiBqB,YACjBE,OAAO+C,iBAAiB,SAAUxJ,KAAKqJ,kBACvCrJ,KAAKoJ,SAAU,EACfpJ,KAAKqJ,oBAINI,uBACCvE,IAAiBqB,YACjBE,OAAOiD,oBAAoB,SAAU1J,KAAKqJ,kBAC1CrJ,KAAKoJ,SAAU,GAIhBO,sBAAsBC,EAAkCC,GAAwC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACnG,OACInK,KAAK+I,QAAUc,IACG,QAAlBC,EAAA9J,KAAKnF,MAAMiE,eAAO,IAAAgL,OAAA,EAAlBA,EAAoBhE,iBAAkC,QAAtBiE,EAAKH,EAAU9K,eAAO,IAAAiL,OAAA,EAAjBA,EAAmBjE,eACxD9F,KAAKnF,MAAMgL,QAAQL,SAAWoE,EAAU/D,QAAQL,QAChDxF,KAAKnF,MAAMgL,QAAQ9H,OAAS6L,EAAU/D,QAAQ9H,MAC9CiC,KAAKnF,MAAMgL,QAAQS,SAAWsD,EAAU/D,QAAQS,SAChC,QAAhB0D,EAAAhK,KAAKnF,MAAM+K,aAAK,IAAAoE,OAAA,EAAhBA,EAAkBjE,kBAAiC,QAApBkE,EAAKL,EAAUhE,aAAK,IAAAqE,OAAA,EAAfA,EAAiBlE,iBACrC,QAAhBmE,EAAAlK,KAAKnF,MAAM+K,aAAK,IAAAsE,OAAA,EAAhBA,EAAkBvN,QAAuB,QAApBwN,EAAKP,EAAUhE,aAAK,IAAAuE,OAAA,EAAfA,EAAiBxN,KAO5CmE,SACH,MAAM,SAAEsJ,GAAapK,KAAKnF,MAE1B,IAII,GAHAmF,KAAKgJ,iBAAmBtD,EAAqC1F,KAAKnF,OAClEmF,KAAK0I,aAAe1I,KAAKmJ,mBAErBnJ,KAAK0I,aAAc,CACnB,MAAM2B,EAA2BC,YAAuBtK,KAAKnF,MAAMiE,SAC7D,0DA7Dc,gCA+DdyL,EAAqBvK,KAAKwK,mBAC5BH,EACArK,KAAK0I,aACL1I,KAAKgJ,iBACLhJ,KAAKyK,eAEHC,EAAa1K,KAAK2K,eAAeJ,GACjCK,EAAgBN,YAAuBtK,KAAKnF,MAAMiE,SAAW,CAAE+L,cAAe7K,KAAKiJ,kBAAqB,GAE9G,OAAIjJ,KAAK+I,MAAMO,iBAGPlN,gBAAA,MAAAU,OAAAsF,OAAA,GAASwI,EAAmBF,GACvBN,GAGFpK,KAAKyK,cAGRrO,gBAAA,MAAAU,OAAAsF,OAAA,GAASwI,EAAa,CAAEvN,UAAWgN,IAC9BD,GAMLhO,gBAAA,MAAAU,OAAAsF,OAAA,GAASwI,EAAmB5K,KAAK8K,yBAC5BV,GAMb,OAAOhO,2BAAA,KAAGgO,GAEhB,MAAAW,GAEE,OAAO3O,2BAAA,KAAGgO,IAIVI,mBACJnN,EACAqL,EACAM,EACAgC,GAEA,OAAIA,EDqBwCC,EAChD5N,EACAqL,EACA1C,KAEA,MAAM0E,EAAa,CACfQ,KAAM,MACN7N,UAAcA,EAAH,YACX,aAAcuL,EAAsB5C,IAQxC,OALI0C,IACAgC,EAAkB,MAAIjC,EAAkBC,GAExCgC,EAAkB,MAAmB,qBAAIlP,GAEtCkP,GCpCQO,CAAqC5N,EAAWqL,EAAcM,GDuCrCmC,EACxC9N,EACAqL,KAEA,MAAMgC,EAAa,CACfQ,KAAM,MACN7N,aAMJ,OAHIqL,IACAgC,EAAkB,MAAIjC,EAAkBC,IAErCgC,GCjDQS,CAA6B9N,EAAWqL,GAI/CiC,eAAeJ,GACnB,OAAA7I,IAAA,GAAY6I,GAAkB,IAAE5B,MAAKjH,EAAA,GAAO6I,aAAkB,EAAlBA,EAAoB5B,SAG5DM,iBAAiBlJ,GACrB,GAAIA,EAAMI,SAAYJ,EAA+BqL,cAAe,CAChE,MAAMC,EAAerL,KAAKnF,MAAM+K,MAC1B0F,EAAmBvL,EAAMI,OAC/BkL,EAAQE,MAAQD,EAAYlL,OAI5BiJ,mBACJ,GAAInE,IAAiBqB,UAAW,CAC5B,MAAMiF,EAAgBxL,KAAKmJ,oBAEvBnJ,KAAKoJ,SAAYoC,IAAkBC,IAASzL,KAAK0I,aAAc8C,KAC/DxL,KAAK0L,SAAS,CAAEpC,kBAAkB,KAKtCH,mBACJ,GAAIjE,IAAiBqB,UAAW,CAC5B,MAAMoF,EAAwBlF,OAAOmF,WACrC,IAAIJ,EAcJ,OAbA1O,OAAOC,KAAKiD,KAAKgJ,kBAAkBvK,IAAI+I,IAAK,IAAAqE,EAAAC,EAAAC,EAAAC,GAGV,QAAzBH,EAAA7L,KAAKgJ,iBAAiBxB,UAAG,IAAAqE,GAAzBA,EAA2B1D,UAAqC,QAA7B2D,EAAI9L,KAAKgJ,iBAAiBxB,UAAG,IAAAsE,GAAzBA,EAA2B7D,aAEzC,QAAzB8D,EAAA/L,KAAKgJ,iBAAiBxB,UAAG,IAAAuE,OAAA,EAAzBA,EAA2B5D,WAAY,IAAMwD,GAE9CA,KAA2C,QAAzBK,EAAAhM,KAAKgJ,iBAAiBxB,UAAG,IAAAwE,OAAA,EAAzBA,EAA2B/D,WAAYgE,OAAOC,oBAGhEV,EAAgBxL,KAAKgJ,iBAAiBxB,MAGvCgE,EAEP,OAAOxL,KAAKmM,mBAIZ1B,cAAW,IAAA2B,EAEf,QAAwB,QAAjBA,EAACpM,KAAKnF,MAAM+K,aAAK,IAAAwG,GAAe,QAAfA,EAAhBA,EAAkBrG,qBAAa,IAAAqG,GAA/BA,EAAiCC,iBAGrCF,mBAAgB,IAAAxG,EACpB,MAAM,QAAE7G,GAAYkB,KAAKnF,MACnBoL,EAAiCC,YAAsD,QAArBP,EAAC7G,EAAQgH,oBAAY,IAAAH,IAAI,IAEjG,OAAO3F,KAAKgJ,iBAAiB/C,GAGzB6E,wBACJ,MAAMnC,EAAQ3I,KAAKmM,mBACb5B,EAAqB5B,EACrB3I,KAAKwK,mBAjLiB,gCAiL+B7B,EAAO3I,KAAKgJ,iBAAkBhJ,KAAKyK,eACxF,GACN,OAAOzK,KAAK2K,eAAeJ,ICxHnC,MAAM+B,EAAoBzK,IACtB,OAAQA,GACJ,IAAK,YACD,MAAO,YACX,IAAK,QACL,QACI,MAAO,UAQND,EAAyC/G,IAClD,MAAM,cACFgH,EAAa,UACbxE,EAAS,SACTgE,EAAQ,GACRxE,EAAE,SACFuN,EAAQ,gBACRtI,EAAe,QACfhD,EAAO,sBACPiD,EAAqB,oBACrBC,EAAmB,aACnBC,GACApH,EACE0R,EAAkBlP,EAAY,IAAIA,EAAc,GAEtD,IAAImP,EAAmBpC,EAsBvB,OArBIvI,IACA2K,EAAmBpQ,gBAAA,OAAKiB,UAAU,OAAOmP,IAGzC1K,GAAmBA,EAAgBnF,KAAOmF,EAAgBiE,eAAiBjH,IAC3E0N,EACIpQ,gBAAC0M,EAAe,CACZjH,cAAeR,EACfvC,QAASA,EACT8G,MAAO9D,EACP+D,QAAS,CACLL,OAAQzD,EACRhE,KAAMiE,EACNsE,OAAQrE,IAGXuK,IAKN3K,EACHzF,gBAAA,OAAKiB,UAAW,GAAGgE,KAAYxE,KAAMyP,EAAiBzK,KAAiB0K,KAAoBC,GAE3FpQ,gBAAA,OAAKiB,UAAW,GAAGgE,KAAYxE,IAAK0P,KAAoBC,IAInDrK,EAAoBtH,IAC7B,MAAM,IAAE4R,EAAG,YAAEvM,EAAW,SAAEwM,EAAQ,UAAErP,GAAcxC,EAC5C8R,EAAMF,GAAO,KACbG,EAAuBF,EAAW,WAAWA,KAAYrP,IAAc,WAAWA,EACxF,OACK6C,GACG9D,gBAACyQ,IAAI,CACDxP,UAAWuP,EACXH,IAAKE,EACLhK,KAAMzC,EACN2C,UAAW,CAAEC,OAAQjI,EAAMiF,iBAAkB6B,eAAgB9G,EAAM8G,mBAG3E,O,kCCvJR,uBAGgB9G,aAEduB,2BAAA,KACCA,gBAAA,MAAIiB,UAAU,QAAQxC,EAAMoF,SAC1BpF,EAAMkG,MAAM+L,KAAOjS,EAAMkG,MAAM+L,IAAI,GACrC1Q,gBAAA,OAAKiB,UAAU,2BACdjB,gBAAA,OAAKiB,UAAU,qBACZxC,EAAMkG,MAAMgM,SAAWlS,EAAMkG,MAAMgM,QAAQ,IAE9C3Q,gBAAA,OAAKiB,UAAU,qBACZxC,EAAMkG,MAAMiM,SAAWnS,EAAMkG,MAAMiM,QAAQ,IAE9C5Q,gBAAA,OAAKiB,UAAU,qBACZxC,EAAMkG,MAAMkM,SAAWpS,EAAMkG,MAAMkM,QAAQ,KAG/C7Q,gBAAA,OAAKiB,UAAU,2BACdjB,gBAAA,OAAKiB,UAAU,qBACZxC,EAAMkG,MAAMmM,SAAWrS,EAAMkG,MAAMmM,QAAQ,IAE9C9Q,gBAAA,OAAKiB,UAAU,qBACZxC,EAAMkG,MAAMoM,SAAWtS,EAAMkG,MAAMoM,QAAQ,IAE9C/Q,gBAAA,OAAKiB,UAAU,qBACZxC,EAAMkG,MAAMqM,SAAWvS,EAAMkG,MAAMqM,QAAQ,O,mECZnCC,UANsCxS,GACjDuB,gBAAA,MAAAU,OAAAsF,OAAA,CAAK/E,UAAWxC,EAAMwC,UAAWR,GAAIhC,EAAMgC,IAAQhC,EAAMyS,uBAAuBzS,IAC3EA,EAAM0S,Y,2FCwBAC,UAnBa3S,IACxB,MAAM,OAAEE,EAAM,GAAE8B,EAAE,SAAEwE,EAAQ,UAAEL,GAAcnG,EAC5CqI,YAAS,0BAA0BrG,KAAMwE,KAAaL,GACtD,MAAMwC,EAASzI,EAAO0S,YAEtB,IAAKjK,GAAqB,KAAXA,GAAiBD,YAAcC,IAAWE,YAAcF,GAEnE,OADAJ,YAAS,yFAA0FpC,GAC5F,KAGX,GAAIwC,EAAOK,SAAS,YAEhB,OADAT,YAAS,mEAAoEpC,GACtE,KAGX,MAAM0M,EAAY,UAAUlK,YAC5B,OAAOpH,gBAAoB6H,IAAmB,CAAExB,IAAK5F,EAAIqH,wBAAyB,CAAEC,OAAQuJ,O,oCChChG,uBAiBA,MAAMC,UAAsBvR,gBACjB0E,SACH,OAAOd,KAAKnF,MAAMoI,WAAWjD,KAAKnF,QAI3B8S,a,wpBCXf,MAAMC,UAAsBxR,gBACpB0E,SACN,MAAM,OAAE/F,GAAWiF,KAAKnF,MAClBgT,EAAkBnM,IAAA,GACpB1B,KAAKnF,OAAK,IACboF,QAAUlF,EAAOkF,SAAW,OAE7B,OAAOD,KAAKnF,MAAMoI,WAAW4K,IAIhBD,a,kCCvBf,uBAiBA,MAAME,UAAiB1R,gBACZ0E,SACH,OAAOd,KAAKnF,MAAMoI,WAAWjD,KAAKnF,QAI3BiT,a,qsBCHf,MAAMC,UAAkB3R,gBAAxBwD,c,oBAiBW,KAAAE,iBAAoBC,GAA0CC,KAAKnF,MAAME,OAAOwS,UAAYxN,EAAMI,OAAOC,MAhBzGU,SACH,MAAM,UAAEyM,EAAS,UAAElQ,GAAc2C,KAAKnF,MAAME,OACtC4H,EAAO4K,GACTnR,gBAACwG,IAA0B,CACvBD,KAAM4K,EACN1K,UAAW,CAAEC,OAAQ9C,KAAKF,iBAAkB6B,eAAgB3B,KAAKnF,MAAMI,QAAQ6D,WAGjFkP,EAAkBtM,IAAA,GACjB1B,KAAKnF,OAAK,IACb0S,UAAW5K,EACXtF,UAAW2F,IAAW,gBAAiB3F,KAE3C,OAAO2C,KAAKnF,MAAMoI,WAAW+K,IAKtBD,a,6tBCff,MAAME,UAA8B7R,IAAMuD,cACtCC,YAAY/E,GACRgF,MAAMhF,GAyDH,KAAAiF,iBAAoBC,GAAiCC,KAAKnF,MAAME,OAAOkF,QAASC,YAAcH,EAAMI,OAAOC,MAK3G,KAAAC,iBAAmB,KACtB,MAAM,OAAEtF,GAAWiF,KAAKnF,MAElByF,EAAatB,YAAiBjE,GAEpC,OAAKuF,EAAWC,OAQTD,EAAWE,OACd,CAACC,EAAeC,KAAqC,IAAlCC,EAAMuN,EAAQtN,GAAgBF,EAI7C,OAHAD,EAAKE,KAAKE,KAAKF,GACfF,EAAKyN,OAAOrN,KAAKqN,GACjBzN,EAAKG,MAAMC,KAAKD,GACTH,GAEX,CAAEE,KAAM,GAAIuN,OAAQ,GAAItN,MAAO,KAdxB,CACHD,KAAM,CAAC,OACPuN,OAAQ,CAAC,OACTtN,MAAO,CAAC,SApEbE,SACH,MAAM,MAAEC,EAAK,UAAEC,EAAS,QAAE/F,EAAO,OAAEF,EAAM,KAAED,GAASkF,KAAKnF,MAEnD0G,EAAkBvB,KAAKK,mBACvBiB,EAAUP,GAASA,EAAMO,QAE/BN,EAAUC,IAAIC,IAASC,MAAO,2DAA4D,CACtFC,OAAQ,CAACpB,KAAKnF,MAAMgC,GAAImD,KAAKnF,MAAMwG,YAEnCC,GAAWA,EAAQf,OAAS,GAC5BS,EAAUC,IAAIC,IAASM,QAAS,qDAEpC,MAAMvB,EAAUlF,EAAOkF,SAAWnF,EAAKmF,QACjCwB,EAAYC,IAAA,GACXzB,GAAO,IACVH,iBAAkBE,KAAKF,iBACvB6B,eAAgB3B,KAAKnF,MAAMI,QAAQ6D,UAEvC,OACI1C,IAAAK,cAACmF,IAAS,CACNC,cAAe9G,EAAO8G,cACtBxE,UAAWtC,EAAOsC,UAClBgE,SAAUrB,KAAKnF,MAAMwG,SACrBxE,GAAImD,KAAKnF,MAAMgC,GACfiC,QAASkB,KAAKnF,MAAMI,QAAQ6D,QAC5BgD,gBAAiB/G,aAAM,EAANA,EAAQ+G,gBACzBC,sBAAuBhH,aAAM,EAANA,EAAQgH,sBAC/BC,oBAAqBjH,aAAM,EAANA,EAAQiH,oBAE7BC,aAAelH,aAAc,EAAdA,EAAgBmH,wBAE9BjC,GAAW7D,IAAAK,cAAC0F,IAAgBrF,OAAAsF,OAAA,CAAC/E,UAAU,qBAAwBoE,IAC/DH,GAAWA,EAAQ,IAAMlF,IAAAK,cAAA,OAAKY,UAAWkE,EAAgBZ,KAAK0B,KAAK,MAAOf,EAAQ,IAClFA,GAAWA,EAAQ,IAAMlF,IAAAK,cAAA,OAAKY,UAAWkE,EAAgB2M,OAAO7L,KAAK,MAAOf,EAAQ,IACpFA,GAAWA,EAAQ,IAAMlF,IAAAK,cAAA,OAAKY,UAAWkE,EAAgBX,MAAMyB,KAAK,MAAOf,EAAQ,IACpFlF,IAAAK,cAAAL,IAAAkG,SAAA,KACK3D,YAAW1D,IACRqG,GACAA,EAAQnD,MAAM,EAAGmD,EAAQf,OAAS,GAAG9B,IAAI,CAAC8D,EAAiBC,IAEnDpG,IAAAK,cAAA,OAAKY,UAAU,SAASoF,IAAKD,GACzBpG,IAAAK,cAAA,OAAKY,UAAU,QACXjB,IAAAK,cAAA,OAAKY,UAAU,oCAAkC,2EA0C1E4Q,a,mECnGAE,UANsCtT,GACjDuB,gBAAA,MAAAU,OAAAsF,OAAA,CAAK/E,UAAWxC,EAAMwC,UAAWR,GAAIhC,EAAMgC,IAAQhC,EAAMyS,uBAAuBzS,IAC3EA,EAAMyG,U,kCCVf,uBAiBA,MAAM8M,UAAyBhS,gBACpB0E,SACH,OAAOd,KAAKnF,MAAMoI,WAAWjD,KAAKnF,QAI3BuT,a,kCCvBf,uBAQgBvT,cACZ,OACIuB,gBAAA,WACOA,gBAAA,OAAKiB,UAAU,YACVjB,gBAAA,UAAQiB,UAAU,WAAS,YAC3BjB,gBAAA,OAAKiB,UAAU,oBAEiB,QAAhCgR,EAAOxT,EAAME,OAAOuT,oBAAY,IAAAD,OAAA,EAAzBA,EAA2B5P,IAAI,CAAC8P,EAAQC,IAEvCpS,gBAAA,KAAGqG,IAAK+L,EAAGC,KAAMF,EAAOG,SAAUH,EAAOI,kBAHpD,IAACN,I,kCCdlB,uBAQgBxT,aAIRuB,gBAACA,WAAc,KACXA,gBAAA,OAAKS,GAAG,uBAAsB,YACd,SAA6BrB,IAA1BX,EAAME,OAAO6T,SAAyB,GAAK/T,EAAME,OAAO6T,UACtEvR,UAAW,SAAkC7B,IAA/BX,EAAME,OAAO8T,cAA8B,GAAKhU,EAAME,OAAO8T,eAAe,cAC7EhU,EAAME,OAAO+T,UAET,oBAAXrI,OACF,SAAAsI,GACG,MAAMC,EAAIxS,SAASC,cAAc,UACjCuS,EAAEtS,KAAK,kBACPsS,EAAE3J,OAAM,EACR2J,EAAErS,IAAI,uCAAwC9B,EAAME,OAAO+T,aAC3D,MAAMG,EAAIzS,SAAS0S,qBAAqB,UAAU,GACtC,QAAZH,EAAAE,EAAEE,kBAAU,IAAAJ,GAAZA,EAAcK,aAAaJ,EAAEC,GANhC,GAOC,QAEiBzT,IAA1BX,EAAME,OAAO6T,SAAyB,GAAKxS,gBAAA,aAnBxC,uD,wsBCShB,MAAMiT,UAAyBjT,gBAC3BwD,YAAY/E,GACRgF,MAAMhF,GA2CH,KAAAiF,iBAAoBC,GAAiCC,KAAKnF,MAAME,OAAOkF,QAASC,YAAcH,EAAMI,OAAOC,MAxC3GU,SACH,MAAM,MAAEC,EAAK,UAAEC,EAAS,OAAEjG,EAAM,KAAED,GAASkF,KAAKnF,MAChDmG,EAAUC,IAAIC,IAASC,MAAO,oDAAqD,CAC/EC,OAAQ,CAACpB,KAAKnF,MAAMgC,GAAImD,KAAKnF,MAAMwG,YAGvC,MAAMpB,EAAUlF,EAAOkF,SAAWnF,EAAKmF,QACjCwB,EAAYC,IAAA,GACXzB,GAAO,IACVH,iBAAkBE,KAAKF,iBACvB6B,eAAgB3B,KAAKnF,MAAMI,QAAQ6D,UAGvC,OACI1C,gBAACwF,IAAS,CACNC,cAAe9G,EAAO8G,cACtBxE,UAAWtC,EAAOsC,UAClBgE,SAAUrB,KAAKnF,MAAMwG,SACrBxE,GAAImD,KAAKnF,MAAMgC,GACfiC,QAASkB,KAAKnF,MAAMI,QAAQ6D,QAC5BgD,gBAAiB/G,aAAM,EAANA,EAAQ+G,gBACzBC,sBAAuBhH,aAAM,EAANA,EAAQgH,sBAC/BC,oBAAqBjH,aAAM,EAANA,EAAQiH,oBAE7BC,aAAelH,aAAc,EAAdA,EAAgBmH,wBAE9BjC,GAAW7D,gBAAC+F,IAAgBrF,OAAAsF,OAAA,CAAC/E,UAAU,qBAAwBoE,IAC/DV,GACGA,EAAMO,SACNP,EAAMO,QAAQ7C,IAAI,CAAC2L,EAA2B5H,IAEtCpG,gBAAA,OAAKiB,UAAW2C,KAAKsP,wBAAyB7M,IAAKD,GAC9C4H,KAUrBkF,wBACJ,MACIvU,QAAQ,OAAEuL,EAAM,cAAEiJ,IAClBvP,KAAKnF,MACT,OAAQyL,GACJ,IAAI,OACA,MAAoB,SAAbiJ,EAA2C,gBAAkBvP,KAAKwP,eAAeD,GAC5F,IAAI,UACJ,QACI,MAAO,UAIXC,eAAeC,GACnB,OAAOjQ,IAAUkQ,IAAID,GAAC,SAA+B,UAI9CJ","file":"static/js/9.4ab70126e5ae8842974a.chunk.js","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\nimport { IChatData } from './interfaces';\nimport { IMsdyn365CsChatConnectorViewProps } from './msdyn365-cs-chat-connector';\n\n/**\n * Returns data parameters for Omnichannel chat script.\n * @param {IMsdyn365CsChatConnectorViewProps} props The properties.\n * @returns {IChatData} Chat data.\n */\nconst getChatData = (props: IMsdyn365CsChatConnectorViewProps): IChatData => {\n const data: IChatData = {\n 'data-app-id': props.config.dataAppId || props.context.app.config.msDyn365CsChatConnectorDataAppId,\n 'data-org-id': props.config.dataOrgId || props.context.app.config.msDyn365CsChatConnectorDataOrgId,\n 'data-org-url': props.config.dataOrgUrl || props.context.app.config.msDyn365CsChatConnectorDataOrgUrl\n };\n if (props.config.dataHideChatButton !== undefined) {\n data['data-hide-chat-button'] = props.config.dataHideChatButton;\n } else if (props.context.app.config.msDyn365CsChatConnectorDataHideChatButton) {\n data['data-hide-chat-button'] = props.context.app.config.msDyn365CsChatConnectorDataHideChatButton;\n }\n if (props.config.dataColorOverride) {\n data['data-color-override'] = props.config.dataColorOverride;\n } else if (props.context.app.config.msDyn365CsChatConnectorDataColorOverride) {\n data['data-color-override'] = props.context.app.config.msDyn365CsChatConnectorDataColorOverride;\n }\n if (props.config.dataFontFamilyOverride) {\n data['data-font-family-override'] = props.config.dataFontFamilyOverride;\n } else if (props.context.app.config.msDyn365CsChatConnectorDataFontFamilyOverride) {\n data['data-font-family-override'] = props.context.app.config.msDyn365CsChatConnectorDataFontFamilyOverride;\n }\n if (props.config.dataEnableTelemetry) {\n data['data-disable-telemetry'] = !props.config.dataEnableTelemetry;\n }\n if (props.config.dataOpenInWindow) {\n data['data-open-in-window'] = props.config.dataOpenInWindow;\n }\n if (props.config.dataEnableLcwAutofill) {\n data['data-enable-lcw-autofill'] = props.config.dataEnableLcwAutofill;\n }\n if (props.config.dataSuggestedActionLayout !== undefined) {\n data['data-suggested-action-layout'] = props.config.dataSuggestedActionLayout;\n }\n return data;\n};\n\nexport default (props: IMsdyn365CsChatConnectorViewProps) => {\n const data: IChatData = getChatData(props);\n\n // we cannot use server rendering here, because OCCS fires 'lcw:ready' event ASAP when initialized\n // and by the time when execution comes to Msdyn365CsChatConnector, that event is already fired\n // thus, we can only add OCCS script to DOM on client side to control execution flow.\n React.useEffect(() => {\n const script = document?.createElement('script');\n script.type = 'text/javascript';\n script.src = props.config.src || props.context.app.config.msDyn365CsChatConnectorSrc;\n script.id = 'Microsoft_Omnichannel_LCWidget';\n Object.keys(data).forEach(k => {\n script.setAttribute(k, data[k]);\n });\n document?.body?.appendChild(script);\n }, []);\n\n return null;\n};\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { IWarrantyViewProps } from './warranty';\r\n\r\nexport default (props: IWarrantyViewProps) => {\r\n return (\r\n
\r\n
\r\n
\r\n {props.config.cusTextfield}\r\n
\r\n
\r\n
\r\n

{props.config.cusIframeHeading}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ICoreContext } from '@msdyn365-commerce/core';\nimport * as twoSlots from '../modules/default-container-2-slots/default-container-2-slots.props.autogenerated';\nimport * as threeSlots from '../modules/default-container-3-slots/default-container-3-slots.props.autogenerated';\n\n// eslint-disable-next-line security/detect-unsafe-regex\nconst sizePattern = /col(_(\\d|auto){1,2}){2,}/;\n\nexport interface IShowErrorOptions {\n isDebug?: boolean;\n isEditor?: boolean;\n}\n\nexport interface IViewPortOptions {\n xsmall?: threeSlots.xsmall | twoSlots.xsmall;\n small?: threeSlots.small | twoSlots.small;\n medium?: threeSlots.medium | twoSlots.medium;\n large?: threeSlots.large | twoSlots.large;\n}\n\nconst translatePrefix = (prefix: `large` | `medium` | `small` | `xsmall` | undefined) => {\n switch (prefix && prefix.toLowerCase()) {\n case 'large':\n return 'lg';\n case 'medium':\n return 'md';\n case 'small':\n return 'sm';\n case 'xsmall':\n default:\n return '';\n }\n};\n\n/**\n * converts config option and size to bootstrap col class name\n * If size is auto or config option is invalid col-auto will be returned\n * If size is xsmall or size is invalid col-{config} will be returned\n * @param config configuration option e.g. col_12_12\n * @param size bootstrap gridsize\n */\nexport const getColumnSizes = (config: string, size?: `large` | `medium` | `small` | `xsmall`): string[] | boolean => {\n if (!sizePattern.exec(config)) {\n return false;\n }\n const cols = config.split('_').slice(1);\n const translatedSize = translatePrefix(size);\n const sizePrefix = (translatedSize && `-${translatedSize}`) || '';\n return cols.map((colWidth: string) => `col${sizePrefix}-${colWidth}`);\n};\n\nexport const showErrors = (context?: ICoreContext): Boolean => {\n const { isDebug, isEditor }: IShowErrorOptions = (context && context.request && context.request.params) || {};\n return !!isDebug || !!isEditor;\n};\n\n/**\n * Converts viewport configuration into a two dimensional array of class names\n */\nexport const getColClassArray = (options: IViewPortOptions): string[][] =>\n (\n [\n options.xsmall && getColumnSizes(options.xsmall),\n options.small && getColumnSizes(options.small, 'small'),\n options.medium && getColumnSizes(options.medium, 'medium'),\n options.large && getColumnSizes(options.large, 'large')\n ].filter(Boolean)\n );\n\nexport const colWidths = new Map([\n ['one', 'col-md-1'],\n ['two', 'col-md-2'],\n ['three', 'col-md-3'],\n ['four', 'col-md-4'],\n ['six', 'col-md-6'],\n ['twelve', 'col-md-12']\n]);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport React, { ReactNode } from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { getColClassArray, showErrors } from '../../utils/classnames';\nimport { IDefaultContainer2SlotsData } from './default-container-2-slots.data';\nimport { IDefaultContainer2SlotsProps } from './default-container-2-slots.props.autogenerated';\n\ninterface IColSizes {\n left: string[];\n right: string[];\n}\n\n/**\n * Default container that displays 2 modules\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass Default2SlotContainer extends React.PureComponent> {\n constructor(props: IDefaultContainer2SlotsProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, context, config, data } = this.props;\n telemetry.log(LogLevel.Debug, \"Default 2 Slot Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n\n const content = slots && slots.content;\n const slotsClassNames = this._getColClassName();\n if (content && content.length > 2) {\n telemetry.log(LogLevel.Warning, 'Default 2 Slot Container passed more than 2 slots');\n }\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n return (\n \n {heading && }\n {content && content[0] &&
{content[0]}
}\n {content && content[1] &&
{content[1]}
}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n
\n
\n
\n Slot exceeded maximum number of slots supported by container. (2)\n
\n
\n
\n );\n })}\n \n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n /**\n * Captures left and right column classnames from this.props.config. Returns col if no options specified.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _getColClassName = (): IColSizes => {\n const { config } = this.props;\n\n const classNames = getColClassArray(config);\n\n if (!classNames.length) {\n return {\n left: ['col'],\n right: ['col']\n };\n }\n\n return classNames.reduce(\n (memo: IColSizes, [left, right]: string[]) => {\n memo.left.push(left);\n memo.right.push(right);\n return memo;\n },\n { left: [], right: [] }\n );\n };\n}\n\nexport default Default2SlotContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport classnames from 'classnames';\n\nimport { IHtmlBlockProps } from './html-block.props.autogenerated';\n\nexport interface IHtmlBlockViewProps extends IHtmlBlockProps<{}> {\n content?: React.ReactNode;\n className?: string;\n}\n\n/**\n *\n * HtmlBlock component\n * @extends {React.PureComponent>}\n */\nclass HtmlBlock extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { content, className } = this.props.config;\n const text = content && (\n \n );\n const htmlBlockViewProps = {\n ...this.props,\n content: text,\n className: classnames('ms-html-block', className)\n };\n return this.props.renderView(htmlBlockViewProps) as React.ReactElement;\n }\n\n public handleTextChange = (event: MsDyn365.ContentEditableEvent) => (this.props.config.content = event.target.value);\n}\n\nexport default HtmlBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IInternalTelemetry, LogLevel } from '@msdyn365-commerce/telemetry-internal';\n\nexport const logDebug = (debugMessage: string, telemetry: IInternalTelemetry | undefined): void => {\n telemetry && telemetry.log(LogLevel.Debug, debugMessage);\n};\n\nexport const logError = (errorMessage: string, telemetry: IInternalTelemetry | undefined): void => {\n telemetry && telemetry.log(LogLevel.Error, errorMessage);\n};\n\n/**\n * Returns true if the given string matches an URL pattern\n *\n * @param source The string to check against\n */\nexport const isAbsoluteUrl = (source: string): boolean => {\n // eslint-disable-next-line security/detect-unsafe-regex\n return /^(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?$/.test(source);\n};\n\nexport const isRelativeUrl = (source: string): boolean => {\n return /^(?!www\\.|(?:http|ftp)s?:\\/\\/|[A-Za-z]:\\\\|\\/\\/).*(\\.js){1}$/.test(source);\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { isNonceEnabled, SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultInlineScriptProps } from './default-inline-script.props.autogenerated';\n\n/**\n *\n * DefaultScript\n * @extends {React.PureComponent>}\n */\nclass DefaultInlineScript extends React.PureComponent> {\n constructor(props: IDefaultInlineScriptProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n logDebug(`Adding script tags for '${this.props.id}/${this.props.typeName}'`, this.props.telemetry);\n const source = config.inlineScript;\n\n if (!source || source === '' || isAbsoluteUrl(source) || isRelativeUrl(source)) {\n logError(\n 'Invalid inline script - Empty inline source defined or a url is being used as a source. Use default-external-script to load scripts from an external or relative url.',\n this.props.telemetry\n );\n return null;\n }\n\n if (source.includes('')) {\n logError('Invalid inline script - inline script should not contain html tags', this.props.telemetry);\n return null;\n }\n\n const nonceToken = this.props.context && isNonceEnabled(this.props.context.request);\n const scriptHtml = ``;\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: scriptHtml } });\n }\n}\n\nexport default DefaultInlineScript;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nimport { isNonceEnabled, SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport { IDefaultMetatagsData } from './default-metatags.data';\nimport { IDefaultMetatagsProps } from './default-metatags.props.autogenerated';\n\n/**\n *\n * DefaultPageSummaryMetadata component\n * @extends {React.PureComponent>}\n */\nclass DefaultMetaTags extends React.PureComponent> {\n public render(): JSX.Element {\n const { data, config } = this.props;\n const nonceToken = this.props.context && isNonceEnabled(this.props.context.request);\n let metaTagsHtml: string = '';\n let metaTags;\n if (config.metaTags) {\n metaTags = nonceToken ? this._addNonceToInlineScript(config.metaTags, nonceToken) : config.metaTags;\n metaTagsHtml = metaTags && metaTags.join('\\n');\n } else if (data.metaTags) {\n metaTags = data.metaTags;\n let metaTagsText = metaTags.map(simpleText => simpleText.text);\n metaTagsText = nonceToken ? this._addNonceToInlineScript(metaTagsText, nonceToken) : metaTagsText;\n metaTagsHtml = metaTagsText && metaTagsText.join('\\n');\n }\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: metaTagsHtml } });\n }\n\n private _addNonceToInlineScript(metaTags: string[], nonceToken: string): string[] {\n const inlineScripRegex = /(.*?)<\\/script>/g;\n return metaTags\n .map(metaTag => {\n if (inlineScripRegex.test(metaTag)) {\n return metaTag.replace(/`;\n\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: scriptHtml } });\n }\n}\n\nexport default DefaultExternalScript;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce, {\n constructViewportInformationForImage,\n getImageResizeUrl,\n getLargestGridSettingViewportName,\n getMinMaxWidth,\n IAny,\n IGeneric,\n IViewPort,\n Viewport\n} from '@msdyn365-commerce/core-internal';\nimport { cloneDeep as _cloneDeep } from 'lodash';\nimport {\n BackgroundImageRepeat,\n BackgroundImageSize,\n IBackgroundImageAttributes,\n IBackgroundImageLazyloadAttributes,\n IBackgroundImageProps,\n IBackgroundImageStyle\n} from './container-background-image-interfaces';\n\nconst getBackgroundRepeatProperty = (size: string | undefined, repeat: string | undefined): BackgroundImageRepeat => {\n if (!size || size === 'cover') {\n return 'no-repeat';\n }\n switch (repeat) {\n case 'noRepeat':\n return 'no-repeat';\n case 'repeat':\n return 'repeat';\n default:\n return 'no-repeat';\n }\n};\n\nconst getBackgroundSizeProperty = (size: string | undefined): BackgroundImageSize => {\n switch (size) {\n case 'cover':\n return 'cover';\n case 'contain':\n return 'contain';\n case 'default':\n default:\n return undefined;\n }\n};\n\nconst getDefaultViewports = (): IViewPort => {\n return {\n xs: {\n w: 800,\n h: 600\n },\n sm: {\n w: 1200,\n h: 900\n },\n md: {\n w: 1600,\n h: 900\n },\n lg: {\n w: 1600,\n h: 700\n },\n xl: {\n w: 1600,\n h: 700\n }\n };\n};\n\nconst getAuthoringViewport = (moduleName: string | undefined, layout: string | undefined): IViewPort | undefined => {\n if (!msdyn365Commerce.isBrowser) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const authoringHelper = (window as any)._msdyn365.authoringHelper;\n if (!authoringHelper) {\n return;\n }\n\n // if authoring helper is setup, component is rendering from site builder. Build viewport based on layout selected.\n return constructViewportInformationForImage(moduleName, layout, 'backgroundImage', authoringHelper?.themeSettings) as IViewPort;\n};\n\nexport const buildBackgroundImageStylesByViewport = (props: IBackgroundImageProps): IGeneric => {\n const { containerType, image, request, configs } = props;\n\n const gridSettings = request.gridSettings ?? {};\n const imageSettings = image.imageSettings;\n\n const styles: IGeneric = {};\n\n const largestGridSettingViewportName = getLargestGridSettingViewportName(gridSettings);\n if (largestGridSettingViewportName && imageSettings) {\n // in site builder the layout may change, so use authoring viewports.\n const authoringViewPorts = getAuthoringViewport(containerType, configs?.layout);\n const imgSettings = {\n ...imageSettings,\n viewports: { ..._cloneDeep(authoringViewPorts || imageSettings.viewports || getDefaultViewports()) }\n };\n\n // Skip resizing width and height for background images.\n const skipWidthAndHeightSettings = true;\n Object.keys(imgSettings.viewports).map(vp => {\n const viewport = vp as Viewport;\n const minMaxWidth = getMinMaxWidth(gridSettings, imgSettings, viewport, largestGridSettingViewportName);\n const urlSrc = getImageResizeUrl(\n image.src,\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n imgSettings.viewports[viewport],\n imgSettings,\n skipWidthAndHeightSettings,\n image?.externalProvider,\n request?.apiSettings\n );\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n styles[viewport] = {\n maxWidth: minMaxWidth.max,\n minWidth: minMaxWidth.min,\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n minHeight: imgSettings.viewports[viewport]?.h,\n backgroundImage: urlSrc,\n backgroundRepeat: getBackgroundRepeatProperty(configs?.size, configs?.repeat),\n backgroundSize: getBackgroundSizeProperty(configs?.size),\n backgroundPosition: 'center center'\n };\n });\n }\n\n return styles;\n};\n\nexport const setStyleAttribute = (currentStyle: IBackgroundImageStyle): IGeneric => {\n let style: IGeneric = {};\n if (currentStyle) {\n style = { ...currentStyle };\n style['minWidth'] = undefined;\n style['width'] = '100%';\n if (currentStyle.backgroundImage) {\n style['backgroundImage'] = `url('${currentStyle.backgroundImage}')`;\n }\n }\n return style;\n};\n\nexport const getBackgroundImageLazyloadAttributes = (\n className: string,\n currentStyle: IBackgroundImageStyle | undefined,\n styles: IGeneric\n): IBackgroundImageLazyloadAttributes => {\n const attributes = {\n role: 'img',\n className: `${className} lazyload`,\n 'data-bgset': getDataBgSetAttribute(styles)\n };\n\n if (currentStyle) {\n attributes['style'] = setStyleAttribute(currentStyle);\n // On lazyload, lazysizes plugin should pick which background image to use based on data-bgset attribute.\n attributes['style']['backgroundImage'] = undefined;\n }\n return attributes;\n};\n\nexport const getBackgroundImageAttributes = (\n className: string,\n currentStyle: IBackgroundImageStyle | undefined\n): IBackgroundImageAttributes => {\n const attributes = {\n role: 'img',\n className\n };\n\n if (currentStyle) {\n attributes['style'] = setStyleAttribute(currentStyle);\n }\n return attributes;\n};\n\nexport const getBgSetMinMaxWidthAttribute = (style: IBackgroundImageStyle): string => {\n if (style.maxWidth) {\n return `[(max-width: ${style.maxWidth}px)]`;\n }\n return '';\n};\n\nexport const getDataBgSetAttribute = (styles: IGeneric): string => {\n const dataBgSetAttributes: string[] = [];\n Object.keys(styles).map(vp => {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n if (styles[vp].backgroundImage) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n dataBgSetAttributes.push(`${styles[vp].backgroundImage} ${getBgSetMinMaxWidthAttribute(styles[vp])}`);\n }\n });\n\n return dataBgSetAttributes.join(' | ');\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport msdyn365Commerce, { getLargestGridSettingViewportName, IGeneric, isAuthoringEditEnabled } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isEqual as _isEqual } from 'lodash';\nimport {\n buildBackgroundImageStylesByViewport,\n getBackgroundImageAttributes,\n getBackgroundImageLazyloadAttributes\n} from './container-background-image-helper';\nimport {\n IBackgroundImageAttributes,\n IBackgroundImageProps,\n IBackgroundImageState,\n IBackgroundImageStyle\n} from './container-background-image-interfaces';\n\nconst BACKGROUND_IMAGE_CLASS_NAME = 'ms-container-background-image';\n\n/**\n * BackgroundImage component\n * @extends {React.PureComponent}\n */\nexport class BackgroundImage extends React.PureComponent {\n private stylesByViewport: IGeneric;\n private currentStyle: IBackgroundImageStyle | undefined;\n private mounted: boolean;\n\n constructor(props: IBackgroundImageProps, state: IBackgroundImageState) {\n super(props);\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\n this._onChangeHandler = this._onChangeHandler.bind(this);\n this.currentStyle = this._getCurrentStyle();\n this.mounted = false;\n this._componentResize = this._componentResize.bind(this);\n this._getCurrentStyle = this._getCurrentStyle.bind(this);\n this.state = { updateAttributes: false };\n }\n\n public componentDidMount(): void {\n if (msdyn365Commerce.isBrowser) {\n window.addEventListener('resize', this._componentResize);\n this.mounted = true;\n this._componentResize();\n }\n }\n\n public componentWillUnmount(): void {\n if (msdyn365Commerce.isBrowser) {\n window.removeEventListener('resize', this._componentResize);\n this.mounted = false;\n }\n }\n\n public shouldComponentUpdate(nextProps: IBackgroundImageProps, nextState: { updateAttributes: boolean }): boolean {\n if (\n this.state !== nextState ||\n this.props.request?.gridSettings !== nextProps.request?.gridSettings ||\n this.props.configs.repeat !== nextProps.configs.repeat ||\n this.props.configs.size !== nextProps.configs.size ||\n this.props.configs.layout !== nextProps.configs.layout ||\n this.props.image?.imageSettings !== nextProps.image?.imageSettings ||\n this.props.image?.src !== nextProps.image?.src\n ) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { children } = this.props;\n\n try {\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\n this.currentStyle = this._getCurrentStyle();\n\n if (this.currentStyle) {\n const backgroundImageClassName = isAuthoringEditEnabled(this.props.request)\n ? `${BACKGROUND_IMAGE_CLASS_NAME} ms-editable-field enabled`\n : BACKGROUND_IMAGE_CLASS_NAME;\n const processedAtributes = this._processAttributes(\n backgroundImageClassName,\n this.currentStyle,\n this.stylesByViewport,\n this._isLazyload()\n );\n const attributes = this._getAttributes(processedAtributes);\n const eventHandlers = isAuthoringEditEnabled(this.props.request) ? { onDoubleClick: this._onChangeHandler } : {};\n\n if (this.state.updateAttributes) {\n // Update component with the latest attributes.\n return (\n
\n {children}\n
\n );\n } else if (this._isLazyload()) {\n // On lazyload, only include the class name on the first render.\n return (\n
\n {children}\n
\n );\n } else {\n // On lazyload disabled, render the default attributes from server side.\n return (\n
\n {children}\n
\n );\n }\n } else {\n // in no style is found, return the container content.\n return <>{children};\n }\n } catch {\n // in case of any failure, return the container content.\n return <>{children};\n }\n }\n\n private _processAttributes(\n className: string,\n currentStyle: IBackgroundImageStyle,\n stylesByViewport: IGeneric,\n lazyLoad: boolean\n ) {\n if (lazyLoad) {\n return getBackgroundImageLazyloadAttributes(className, currentStyle, stylesByViewport);\n } else {\n return getBackgroundImageAttributes(className, currentStyle);\n }\n }\n\n private _getAttributes(processedAtributes: IBackgroundImageAttributes) {\n return { ...processedAtributes, style: { ...processedAtributes?.style } };\n }\n\n private _onChangeHandler(event: React.SyntheticEvent | { target: { value: string } }): void {\n if (event.target === (event as React.SyntheticEvent).currentTarget) {\n const binding: any = this.props.image;\n const eventTarget: any = event.target;\n binding.$type = eventTarget.value;\n }\n }\n\n private _componentResize(): void {\n if (msdyn365Commerce.isBrowser) {\n const selectedStyle = this._getCurrentStyle();\n\n if (this.mounted || (selectedStyle && !_isEqual(this.currentStyle, selectedStyle))) {\n this.setState({ updateAttributes: true });\n }\n }\n }\n\n private _getCurrentStyle(): IBackgroundImageStyle | undefined {\n if (msdyn365Commerce.isBrowser) {\n const winInnerWidth: number = window.innerWidth;\n let selectedStyle: IBackgroundImageStyle | undefined;\n Object.keys(this.stylesByViewport).map(vp => {\n if (\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n (this.stylesByViewport[vp]?.minWidth || this.stylesByViewport[vp]?.maxWidth) &&\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n (this.stylesByViewport[vp]?.minWidth || 0) <= winInnerWidth &&\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n winInnerWidth <= (this.stylesByViewport[vp]?.maxWidth || Number.MAX_SAFE_INTEGER)\n ) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n selectedStyle = this.stylesByViewport[vp];\n }\n });\n return selectedStyle;\n } else {\n return this._getDefaultStyle();\n }\n }\n\n private _isLazyload(): boolean {\n // Lazyload by default if nothing is specified\n return !this.props.image?.imageSettings?.disableLazyLoad;\n }\n\n private _getDefaultStyle(): IBackgroundImageStyle | undefined {\n const { request } = this.props;\n const largestGridSettingViewportName = getLargestGridSettingViewportName(request.gridSettings ?? {});\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n return this.stylesByViewport[largestGridSettingViewportName];\n }\n\n private _getDefaultAttributes(): IBackgroundImageAttributes {\n const style = this._getDefaultStyle();\n const processedAtributes = style\n ? this._processAttributes(BACKGROUND_IMAGE_CLASS_NAME, style, this.stylesByViewport, this._isLazyload())\n : {};\n return this._getAttributes(processedAtributes);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent, IImageData, IRequestContext, Text } from '@msdyn365-commerce/core';\nimport * as React from 'react';\nimport { BackgroundImage } from './container-background-image/container-backgroud-image';\n\n/**\n * Heading options\n */\nexport interface IHeadingComponentProps {\n /**\n * Heading text\n */\n headingText?: string;\n /**\n * Heading tag (h1, h2, h3, h4, h5, h6)\n */\n tag?: HeadingTag;\n /**\n * Heading text size (sm, md, lg, xl)\n */\n textSize?: TextSize;\n\n requestContext: IRequestContext;\n\n handleTextChange(event: ContentEditableEvent): string;\n}\n\nexport type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\nexport type TextSize = 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Container class options\n */\nexport interface IContainerProps {\n /**\n * CSS class name\n */\n className?: string;\n /**\n * Bootstrap supported container types\n */\n containerType?: string;\n /**\n * type name\n */\n typeName?: string;\n /**\n * id of container\n */\n id?: string;\n /**\n * React children\n */\n children: React.ReactNode;\n /**\n * Request context\n */\n request?: IRequestContext;\n /**\n * background image\n */\n backgroundImage?: IImageData;\n /**\n * background image repeat property\n */\n backgroundImageRepeat?: string;\n /**\n * background image size property\n */\n backgroundImageSize?: string;\n /**\n * module layout property\n */\n moduleLayout?: string;\n}\n\nconst getContainerType = (containerType: string | undefined) => {\n switch (containerType) {\n case 'container':\n return 'container';\n case 'fluid':\n default:\n return 'fluid';\n }\n};\n\n/**\n * HOC to create bootstrap container div. If no container type is specified children are rendered.\n * @param options IContainerClasses\n */\nexport const Container: React.SFC = (props: IContainerProps): JSX.Element => {\n const {\n containerType,\n className,\n typeName,\n id,\n children,\n backgroundImage,\n request,\n backgroundImageRepeat,\n backgroundImageSize,\n moduleLayout\n } = props;\n const customClassName = className ? ` ${className}` : '';\n\n let containerContent = children;\n if (containerType) {\n containerContent =
{containerContent}
;\n }\n\n if (backgroundImage && backgroundImage.src && backgroundImage.imageSettings && request) {\n containerContent = (\n \n {containerContent}\n \n );\n }\n\n return containerType ? (\n
{containerContent}
\n ) : (\n
{containerContent}
\n );\n};\n\nexport const HeadingComponent = (props: IHeadingComponentProps & { className: string }): JSX.Element | null => {\n const { tag, headingText, textSize, className } = props;\n const Tag = tag || 'h2';\n const classNameWithHeading = textSize ? `heading ${textSize} ${className}` : `heading ${className}`;\n return (\n (headingText && (\n \n )) ||\n null\n );\n};\n","import * as React from 'react';\r\nimport { IEplpContainerViewProps } from './eplp-container';\r\n\r\nexport default (props: IEplpContainerViewProps) => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t

{props.heading}

\r\n\t\t\t{(props.slots.top && props.slots.top[0])}\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{(props.slots.square1 && props.slots.square1[0])}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{(props.slots.square2 && props.slots.square2[0])}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{(props.slots.square3 && props.slots.square3[0])}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{(props.slots.square4 && props.slots.square4[0])}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{(props.slots.square5 && props.slots.square5[0])}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{(props.slots.square6 && props.slots.square6[0])}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nimport { ITextBlockViewProps } from './text-block';\n\nconst TextBlockView: React.FC = props => (\n
\n {props.paragraph}\n
\n);\n\nexport default TextBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultInlineStyleProps } from './default-inline-style.props.autogenerated';\n\n/**\n *\n * DefaultStyle\n * @extends {React.PureComponent>}\n */\n\nconst DefaultInlineStyle = (props: IDefaultInlineStyleProps<{}>) => {\n const { config, id, typeName, telemetry } = props;\n logDebug(`Adding style tags for '${id}/${typeName}'`, telemetry);\n const source = config.inlineStyle;\n\n if (!source || source === '' || isAbsoluteUrl(source) || isRelativeUrl(source)) {\n logError('Invalid inline style - Empty inline source defined or a url is being used as a source.', telemetry);\n return null;\n }\n\n if (source.includes('')) {\n logError('Invalid inline style - inline style should not contain html tags', telemetry);\n return null;\n }\n\n const styleHtml = ``;\n return React.createElement(SDK_FRAGMENT_NAME, { key: id, dangerouslySetInnerHTML: { __html: styleHtml } });\n};\n\nexport default DefaultInlineStyle;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IDealerLocatorData } from './dealer-locator.data';\r\nimport { IDealerLocatorProps } from './dealer-locator.props.autogenerated';\r\n\r\nexport interface IDealerLocatorViewProps extends IDealerLocatorProps {}\r\n\r\n/**\r\n *\r\n * DealerLocator component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass DealerLocator extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default DealerLocator;\r\n","import * as React from 'react';\r\nimport { IEplpContainerData } from './eplp-container.data';\r\nimport { IEplpContainerProps } from './eplp-container.props.autogenerated';\r\n\r\nexport interface IEplpContainerViewProps extends IEplpContainerProps {\r\n\theading?: string;\r\n}\r\n\r\n/**\r\n * EplpContainer component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass EplpContainer extends React.PureComponent> {\r\n\tpublic render(): JSX.Element | null {\r\n\t\tconst { config } = this.props;\r\n\t\tconst EplpContainerProps = {\r\n\t\t\t...this.props,\r\n\t\t\theading: (config.heading || null)\r\n\t\t};\r\n\t\treturn this.props.renderView(EplpContainerProps);\r\n\t}\r\n}\r\n\r\nexport default EplpContainer;","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IWarrantyData } from './warranty.data';\r\nimport { IWarrantyProps } from './warranty.props.autogenerated';\r\n\r\nexport interface IWarrantyViewProps extends IWarrantyProps {}\r\n\r\n/**\r\n *\r\n * Warranty component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass Warranty extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default Warranty;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITextBlockProps } from './text-block.props.autogenerated';\n\nexport interface ITextBlockViewProps extends ITextBlockProps<{}> {\n paragraph?: React.ReactNode;\n className?: string;\n}\n\n/**\n *\n * TextBlock component.\n */\nclass TextBlock extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { paragraph, className } = this.props.config;\n const text = paragraph && (\n \n );\n const textBlockViewProps = {\n ...this.props,\n paragraph: text,\n className: classnames('ms-text-block', className)\n };\n return this.props.renderView(textBlockViewProps) as React.ReactElement;\n }\n\n public handleTextChange = (event: MsDyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n}\nexport default TextBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport React, { ReactNode } from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { getColClassArray, showErrors } from '../../utils/classnames';\nimport { IDefaultContainer3SlotsData } from './default-container-3-slots.data';\nimport { IDefaultContainer3SlotsProps } from './default-container-3-slots.props.autogenerated';\n\ninterface IColSizes {\n left: string[];\n center: string[];\n right: string[];\n}\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass Default3SlotContainer extends React.PureComponent> {\n constructor(props: IDefaultContainer3SlotsProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, context, config, data } = this.props;\n\n const slotsClassNames = this._getColClassName();\n const content = slots && slots.content;\n\n telemetry.log(LogLevel.Debug, \"Default 3 Slot Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n if (content && content.length > 3) {\n telemetry.log(LogLevel.Warning, 'Default 3 Slot Container passed more than 3 slots');\n }\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n return (\n \n {heading && }\n {content && content[0] &&
{content[0]}
}\n {content && content[1] &&
{content[1]}
}\n {content && content[2] &&
{content[2]}
}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n
\n
\n
\n Slot exceeded maximum number of slots supported by container. (3)\n
\n
\n
\n );\n })}\n \n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n /**\n * Captures left and right column classnames from this.props.config. Returns col if no options specified.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _getColClassName = (): IColSizes => {\n const { config } = this.props;\n\n const classNames = getColClassArray(config);\n\n if (!classNames.length) {\n return {\n left: ['col'],\n center: ['col'],\n right: ['col']\n };\n }\n\n return classNames.reduce(\n (memo: IColSizes, [left, center, right]: string[]) => {\n memo.left.push(left);\n memo.center.push(center);\n memo.right.push(right);\n return memo;\n },\n { left: [], center: [], right: [] }\n );\n };\n}\n\nexport default Default3SlotContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\nimport { IHtmlBlockViewProps } from './html-block';\n\nconst HtmlBlockView: React.FC = props => (\n
\n {props.content}\n
\n);\n\nexport default HtmlBlockView;\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILanguageSelectorData } from './language-selector.data';\r\nimport { ILanguageSelectorProps } from './language-selector.props.autogenerated';\r\n\r\nexport interface ILanguageSelectorViewProps extends ILanguageSelectorProps {}\r\n\r\n/**\r\n *\r\n * LanguageSelector component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LanguageSelector extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LanguageSelector;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { ILanguageSelectorViewProps } from './language-selector';\r\n\r\nexport default (props: ILanguageSelectorViewProps) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {(() => {\r\n return props.config.cusLanguages?.map((cuslan, i) => {\r\n return(\r\n {cuslan.languageCode}\r\n );\r\n });\r\n })()}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { IDealerLocatorViewProps } from './dealer-locator';\r\n\r\nexport default (props: IDealerLocatorViewProps) => {\r\n const css = `#storepoint-tag-dropdown{display:none!important;}`;\r\n\r\n return (\r\n \r\n
\r\n {\r\n typeof window !== 'undefined' ?\r\n (function(){\r\n const a = document.createElement(\"script\");\r\n a.type=\"text/javascript\";\r\n a.async=!0;\r\n a.src=`https://cdn.storepoint.co/api/v1/js/${ props.config.storeID }.js`;\r\n const b = document.getElementsByTagName(\"script\")[0];\r\n b.parentNode?.insertBefore(a,b);}())\r\n : ''\r\n }\r\n {props.config.dataTags === undefined ? '' : }\r\n
\r\n );\r\n};","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport * as React from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { colWidths } from '../../utils/classnames';\nimport { IDefaultContainerData } from './default-container.data';\nimport { childrenWidth as childrenWidthEnum, IDefaultContainerProps, layout as layoutEnum } from './default-container.props.autogenerated';\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass DefaultContainer extends React.PureComponent> {\n constructor(props: IDefaultContainerProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, config, data } = this.props;\n telemetry.log(LogLevel.Debug, \"Default Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n\n return (\n \n {heading && }\n {slots &&\n slots.content &&\n slots.content.map((children: React.ReactNode, index: number) => {\n return (\n
\n {children}\n
\n );\n })}\n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n\n private _getChildColClassName(): string {\n const {\n config: { layout, childrenWidth }\n } = this.props;\n switch (layout) {\n case layoutEnum.flow:\n return childrenWidth === childrenWidthEnum.auto ? 'col-12 col-md' : this._getWidthClass(childrenWidth);\n case layoutEnum.stacked:\n default:\n return 'col-12';\n }\n }\n\n private _getWidthClass(s?: childrenWidthEnum): string {\n return colWidths.get(s || childrenWidthEnum.four) || 'col-12';\n }\n}\n\nexport default DefaultContainer;\n"],"sourceRoot":""}