{"version":3,"sources":["webpack://EEWidgets/webpack/bootstrap","webpack://EEWidgets/./widgets/src/behaviors/ads/adsSlideshowBehavior.ts","webpack://EEWidgets/./widgets/src/behaviors/documentCentre/advancedSearchBarBehavior.ts","webpack://EEWidgets/./widgets/src/behaviors/documentCentre/favouriteDocumentBehavior.ts","webpack://EEWidgets/./widgets/src/behaviors/documentCentre/favouriteDocumentListBehavior.ts","webpack://EEWidgets/./widgets/src/behaviors/login/uiBehavior.ts","webpack://EEWidgets/./widgets/src/components/ads/ads.ts","webpack://EEWidgets/./widgets/src/components/ads/adsList.ts","webpack://EEWidgets/./widgets/src/components/ads/adsSlide.ts","webpack://EEWidgets/./widgets/src/components/ads/adsSlideshow.ts","webpack://EEWidgets/./widgets/src/components/ads/adsSwitcher.ts","webpack://EEWidgets/./widgets/src/components/application/application.ts","webpack://EEWidgets/./widgets/src/components/corporateSearch/contractItem.ts","webpack://EEWidgets/./widgets/src/components/corporateSearch/contractList.ts","webpack://EEWidgets/./widgets/src/components/corporateSearch/corporateSearch.ts","webpack://EEWidgets/./widgets/src/components/documentCentre/advancedSearchBar.ts","webpack://EEWidgets/./widgets/src/components/documentCentre/documentCentre.ts","webpack://EEWidgets/./widgets/src/components/documentCentre/documentSearch.ts","webpack://EEWidgets/./widgets/src/components/documentCentre/favouriteDocuments.ts","webpack://EEWidgets/./widgets/src/components/documentCentre/favourites.ts","webpack://EEWidgets/./widgets/src/components/documentCentre/quickSearch.ts","webpack://EEWidgets/./widgets/src/components/instabilityMessages/instabilityMessages.ts","webpack://EEWidgets/./widgets/src/components/login/login.ts","webpack://EEWidgets/./widgets/src/components/models/ads/adsSlideshowModel.ts","webpack://EEWidgets/./widgets/src/components/models/application/applicationModel.ts","webpack://EEWidgets/./widgets/src/components/models/corporateSearch/contractListModel.ts","webpack://EEWidgets/./widgets/src/components/models/corporateSearch/corporateSearchModel.ts","webpack://EEWidgets/./widgets/src/components/models/documentCentre/documentComponentModel.ts","webpack://EEWidgets/./widgets/src/components/models/instabilityMessages/instabilityMessageModel.ts","webpack://EEWidgets/./widgets/src/components/models/login/loginModel.ts","webpack://EEWidgets/./widgets/src/components/models/news/newsModel.ts","webpack://EEWidgets/./widgets/src/components/news/news.ts","webpack://EEWidgets/./widgets/src/components/news/newsItem.ts","webpack://EEWidgets/./widgets/src/components/promotion/electronicFeatures.ts","webpack://EEWidgets/./widgets/src/components/promotion/personalizedAccessCode.ts","webpack://EEWidgets/./widgets/src/components/promotion/profileReview.ts","webpack://EEWidgets/./widgets/src/components/promotion/promotion.ts","webpack://EEWidgets/./widgets/src/components/promotion/securedMessaging.ts","webpack://EEWidgets/./widgets/src/components/unavailable/unavailable.ts","webpack://EEWidgets/./widgets/src/components/upcomingUnavailability/upcomingUnavailability.ts","webpack://EEWidgets/./widgets/src/configs/componentsLoader.ts","webpack://EEWidgets/./widgets/src/configs/injection.ts","webpack://EEWidgets/./widgets/src/configs/templatesLoader.ts","webpack://EEWidgets/./widgets/src/main.ts","webpack://EEWidgets/./widgets/src/resources/widget.en.ts","webpack://EEWidgets/./widgets/src/resources/widget.fr.ts","webpack://EEWidgets/./widgets/src/services/ads/adsService.ts","webpack://EEWidgets/./widgets/src/services/corporateSearch/corporateSearchService.ts","webpack://EEWidgets/./widgets/src/services/documentCentre/documentService.ts","webpack://EEWidgets/./widgets/src/services/documentCentre/querySuggestService.ts","webpack://EEWidgets/./widgets/src/services/documentCentre/searchService.ts","webpack://EEWidgets/./widgets/src/services/entities/news/newsModelList.ts","webpack://EEWidgets/./widgets/src/services/instabilityMessages/instabilityMessagesService.ts","webpack://EEWidgets/./widgets/src/services/login/UserPreferencesService.ts","webpack://EEWidgets/./widgets/src/services/news/newsService.ts","webpack://EEWidgets/./widgets/src/services/promotion/promotionService.ts","webpack://EEWidgets/./widgets/src/services/upcomingUnavailability/upcomingUnavailabilityService.ts","webpack://EEWidgets/./widgets/templates/ads/ads.html","webpack://EEWidgets/./widgets/templates/ads/adsList.html","webpack://EEWidgets/./widgets/templates/ads/adsSlide.html","webpack://EEWidgets/./widgets/templates/ads/adsSlideshow.html","webpack://EEWidgets/./widgets/templates/application/application.html","webpack://EEWidgets/./widgets/templates/application/applicationItem.html","webpack://EEWidgets/./widgets/templates/common/widgetBox.html","webpack://EEWidgets/./widgets/templates/corporateSearch/contractItem.html","webpack://EEWidgets/./widgets/templates/corporateSearch/contractItemNoLink.html","webpack://EEWidgets/./widgets/templates/corporateSearch/contractList.html","webpack://EEWidgets/./widgets/templates/corporateSearch/corporateSearch.html","webpack://EEWidgets/./widgets/templates/corporateSearch/corporateSearchEmpty.html","webpack://EEWidgets/./widgets/templates/documentCentre/advancedSearchBar.html","webpack://EEWidgets/./widgets/templates/documentCentre/documentCentre.affiliate.html","webpack://EEWidgets/./widgets/templates/documentCentre/documentCentre.html","webpack://EEWidgets/./widgets/templates/documentCentre/documentCentre.noauth.html","webpack://EEWidgets/./widgets/templates/documentCentre/documentSearch.html","webpack://EEWidgets/./widgets/templates/documentCentre/favourite.html","webpack://EEWidgets/./widgets/templates/documentCentre/favouriteDocument.html","webpack://EEWidgets/./widgets/templates/documentCentre/favouriteDocuments.html","webpack://EEWidgets/./widgets/templates/documentCentre/favourites.html","webpack://EEWidgets/./widgets/templates/documentCentre/quickSearch.html","webpack://EEWidgets/./widgets/templates/instabilityMessages/instabilityMessages_Multiple.html","webpack://EEWidgets/./widgets/templates/instabilityMessages/instabilityMessages_MultipleItem.html","webpack://EEWidgets/./widgets/templates/instabilityMessages/instabilityMessages_Single.html","webpack://EEWidgets/./widgets/templates/login/login.noauth.html","webpack://EEWidgets/./widgets/templates/login/login.noauth.ind.html","webpack://EEWidgets/./widgets/templates/login/loginnondispo.html","webpack://EEWidgets/./widgets/templates/news/news.affiliate.html","webpack://EEWidgets/./widgets/templates/news/news.client.html","webpack://EEWidgets/./widgets/templates/news/newsItem.affiliate.html","webpack://EEWidgets/./widgets/templates/news/newsItem.client.html","webpack://EEWidgets/./widgets/templates/promotion/electronicFeatures.html","webpack://EEWidgets/./widgets/templates/promotion/personalizedAccessCode.html","webpack://EEWidgets/./widgets/templates/promotion/profileReview.html","webpack://EEWidgets/./widgets/templates/promotion/securedMessaging.html","webpack://EEWidgets/./widgets/templates/unavailable/unavailable.html","webpack://EEWidgets/./widgets/templates/upcomingUnavailability/upcomingUnavailability.html"],"names":[],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;ACjFA,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAAA;IAUA,CAAC;IAAD,qBAAC;AAAD,CAAC;AAGD;IAKE,8BAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,oCAAK,GAAL,UAAM,OAAgB,EAAE,UAAwB;QAC9C,IAAM,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxD,IAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAM,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC;QAEpD,IAAM,KAAK,GAAmB;YAC5B,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1C,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC9D,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,UAAU,CAAC,QAAQ;YACjC,qBAAqB,EAAE,IAAI;SAC5B,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAEzB,IAAM,EAAE,GAAG,IAAI,CAAC;QAChB,IAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACzE,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACnC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC3E,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACpC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QACjF,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACvC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChB,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC5C,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,IAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACzE,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACnC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChB,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC5C,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACxD;QAED,IAAI,UAAU,CAAC,QAAQ;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,oDAAqB,GAA7B,UAA8B,eAAwB,EAAE,KAAqB;QAC3E,IAAM,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3E,IAAM,EAAE,GAAG,IAAI,CAAC;QAChB,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACxC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChB,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACnC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oCAAK,GAAb,UAAc,KAAqB;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAClB,IAAM,IAAE,GAAG,IAAI,CAAC;YAChB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACxD,KAAK,CAAC,qBAAqB,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC/C,IAAE,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;SACxB;IACH,CAAC;IAEO,mCAAI,GAAZ,UAAa,KAAqB;QAChC,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACnD;IACH,CAAC;IAEO,oCAAK,GAAb,UAAc,KAAqB;QACjC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEO,qCAAM,GAAd,UAAe,KAAqB;QAClC,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;SACzB;IACH,CAAC;IAEO,wCAAS,GAAjB,UAAkB,KAAqB,EAAE,QAAgB;QACvD,OAAO,QAAQ,GAAG,CAAC;YAAE,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC;QAClD,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC;QAEvC,IAAI,QAAQ,KAAK,KAAK,CAAC,YAAY,EAAE;YACnC,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;gBAC9B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC3E,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;aACtF;YAED,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;YACxE,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;SAC/B;IACH,CAAC;IAlHD;QADC,SAAS,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;4DACjD;IAHnB,oBAAoB;QADxC,SAAS,CAAC,eAAe,CAAC,sBAAsB,CAAC;OAC7B,oBAAoB,CAuHxC;IAAD,2BAAC;CAAA;kBAvHoB,oBAAoB;;;;;;;;;;;;;;;;;;;;;AChBzC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAAA;IAgBA,CAAC;IAdC,iDAAa,GAAb,UAAc,SAAkB;QAC9B,IAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC5C,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;SACrC;QAED,IAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;SACrC;IACH,CAAC;IAfkB,yBAAyB;QAD7C,SAAS,CAAC,eAAe,CAAC,yCAAyC,CAAC;OAChD,yBAAyB,CAgB7C;IAAD,gCAAC;CAAA;kBAhBoB,yBAAyB;;;;;;;;;;;;;;;;;;;;;ACH9C,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAIpC;IAKE,mCAAY,eAAgC;QAC1C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,yCAAK,GAAL,UAAM,eAAwB;QAA9B,iBA4BC;QA3BC,IAAM,UAAU,GAAG,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAM,qBAAqB,GAAG,eAAe,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QACtF,IAAI,qBAAqB,IAAI,IAAI,EAAE;YACjC,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAC9C,KAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;oBAC5D,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QAED,IAAM,qBAAqB,GAAG,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACvF,IAAI,qBAAqB,EAAE;YACzB,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAC9C,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;oBACpD,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;gBACtG,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QAED,IAAM,uBAAuB,GAAG,eAAe,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QAC3F,IAAI,uBAAuB,EAAE;YAC3B,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAChD,KAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;oBACtD,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;gBAClG,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAlCD;QADC,SAAS,CAAC,kBAAkB,CAAC,yCAAyC,EAAE,+BAA+B,CAAC;sEAChE;IAHtB,yBAAyB;QAD7C,SAAS,CAAC,eAAe,CAAC,yCAAyC,CAAC;OAChD,yBAAyB,CAuC7C;IAAD,gCAAC;CAAA;kBAvCoB,yBAAyB;;;;;;;;;;;;;;;;;;;;;ACJ9C,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAKE,mCAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,yCAAK,GAAL,UAAM,mBAA4B;QAAlC,iBAWC;QAVC,IAAM,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;QACpF,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACtC,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YACzD,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAM,eAAe,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC;YAC9F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC7D,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;aAC5D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAjBD;QADC,SAAS,CAAC,kBAAkB,CAAC,6CAA6C,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;iEACxE;IAHnB,yBAAyB;QAD7C,SAAS,CAAC,eAAe,CAAC,6CAA6C,CAAC;OACpD,yBAAyB,CAsB7C;IAAD,gCAAC;CAAA;kBAtBoB,yBAAyB;;;;;;;;;;;;;;;;;;;;;ACH9C,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAAA;IAeA,CAAC;IAbC,kDAA6B,GAA7B,UAA8B,SAAkB,EAAE,SAAiB,EAAE,YAAqB,EAAE,QAAgB;QAE1G,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY;YAAE,OAAO;QAExC,IAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;YACrC,IAAM,WAAW,GAAI,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAiB,CAAC;YAC1E,IAAI,CAAC,WAAW;gBAAE,OAAO;YACzB,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SACjD;IACH,CAAC;IAdkB,UAAU;QAD9B,SAAS,CAAC,eAAe,CAAC,iBAAiB,CAAC;OACxB,UAAU,CAe9B;IAAD,iBAAC;CAAA;kBAfoB,UAAU;;;;;;;;;;;;;;;;;;;;;ACF/B,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAOE,aAAY,eAA0C;QACpD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,kBAAI,GAAJ;QACE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAXD;QADC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;gDACxB;IAHhC,GAAG;QADvB,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC;OACZ,GAAG,CAevB;IAAD,UAAC;CAAA;kBAfoB,GAAG;;;;;;;;;;;;;;;;;;;;;ACLxB,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC,oFAAwB;AAIxB;IAcE,iBAAY,eAA0C,EAAE,UAAsB,EAAE,mBAAkD,EAAE,QAAkB;QACpJ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,sBAAI,GAAJ,UAAK,SAAkB;QAAvB,iBAgBC;QAfC,IAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,OAAoB;gBAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,OAAO,CAAC,KAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC,CAAC;iBACxD;qBAAM;oBACL,IAAM,QAAQ,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;oBACvC,QAAQ,CAAC,WAAW,CAAC,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC9C,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,qCAAqC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gCAAc,GAAtB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAEO,2BAAS,GAAjB,UAAkB,OAAoB;QACpC,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,aAAG,CAAQ,CAAC;YACjE,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,IAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YACrB,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACnD,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SACzC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAlDD;QADC,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;oDAC5B;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC;+CACvB;IAG/B;QADC,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;wDACxB;IAG3D;QADC,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;6CAC5C;IAZR,OAAO;QAD3B,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC;OAChB,OAAO,CAsD3B;IAAD,cAAC;CAAA;kBAtDoB,OAAO;;;;;;;;;;;;;;;;;;;;;ACL5B,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAOE,kBAAY,eAA0C;QACpD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,uBAAI,GAAJ;QACE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAXD;QADC,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;qDAC7B;IAHhC,QAAQ;QAD5B,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC;OACjB,QAAQ,CAe5B;IAAD,eAAC;CAAA;kBAfoB,QAAQ;;;;;;;;;;;;;;;;;;;;;ACL7B,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAIpC,iJAAoD;AACpD,mGAAkC;AAKlC;IAuBE,sBAAY,eAA0C,EACpD,UAAsB,EACtB,mBAAkD,EAClD,QAAkB,EAAE,UAA6B,EACjD,oBAA0C,EAC1C,kBAAsD;QACtD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,2BAAI,GAAJ,UAAK,SAAkB;QAAvB,iBA2BC;QA1BC,IAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAC9D,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,KAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,kBAAsC;gBACpF,KAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,YAAuD;oBACvH,IAAI,YAAY,CAAC,WAAW,KAAK,KAAK,EAAE;wBACtC,OAAO,CAAC,KAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC,CAAC;qBACxD;yBACI,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC5C,OAAO,CAAC,KAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC,CAAC;qBACxD;yBAAM;wBACL,IAAM,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;wBACzD,IAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAgB,CAAC;wBACxE,cAAc,CAAC,WAAW,CAAC,KAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;wBACtE,IAAI,kBAAkB,CAAC,YAAY,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;4BAAE,cAAc,CAAC,WAAW,CAAC,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAExJ,IAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAgB,CAAC;wBAC7E,iBAAiB,CAAC,WAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;wBAE1F,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;wBAC9D,OAAO,CAAC,QAAQ,CAAC,CAAC;qBACnB;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,0CAA0C,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,qCAAc,GAAtB,UAAuB,kBAAsC;QAC3D,IAAM,KAAK,GAAG,IAAI,2BAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAE3D,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;YACrC,KAAK,CAAC,UAAU,IAAI,aAAa,CAAC;YAClC,IAAI,kBAAkB,CAAC,YAAY;gBAAE,KAAK,CAAC,UAAU,IAAI,eAAe,CAAC;YACzE,IAAI,kBAAkB,CAAC,YAAY;gBAAE,KAAK,CAAC,UAAU,IAAI,eAAe,CAAC;SAC1E;QAED,IAAI,CAAC,kBAAkB,CAAC,YAAY;YAAE,KAAK,CAAC,UAAU,IAAI,eAAe,CAAC;QAC1E,IAAI,CAAC,kBAAkB,CAAC,YAAY;YAAE,KAAK,CAAC,UAAU,IAAI,eAAe,CAAC;QAE1E,IAAI,kBAAkB,CAAC,YAAY;YAAE,KAAK,CAAC,UAAU,IAAI,aAAa,CAAC;QACvE,KAAK,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAC7E,IAAI,CAAC,kBAAkB,CAAC,cAAc;YAAE,KAAK,CAAC,kBAAkB,IAAI,iBAAiB,CAAC;QACtF,IAAI,CAAC,kBAAkB,CAAC,aAAa;YAAE,KAAK,CAAC,kBAAkB,IAAI,gBAAgB,CAAC;QACpF,KAAK,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAC7E,IAAI,CAAC,kBAAkB,CAAC,cAAc;YAAE,KAAK,CAAC,kBAAkB,IAAI,eAAe,CAAC;QACpF,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,CAAC,YAAY;YAAE,KAAK,CAAC,KAAK,GAAG,oBAAiB,kBAAkB,CAAC,KAAK,oBAAe,kBAAkB,CAAC,MAAM,UAAM,CAAC;QAE5I,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,mCAAY,GAApB,UAAqB,GAAgB;QACnC,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1D,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SAC5C;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,wCAAiB,GAAzB,UAA0B,GAAc;QACtC,IAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAExD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,kCAAW,GAAnB,UAAoB,GAAc;QAChC,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,kBAAQ,CAAa,CAAC;QAC7E,KAAK,CAAC,KAAK,GAAG,GAAG;QACjB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAEO,6CAAsB,GAA9B,UAA+B,QAAgB;QAC7C,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;YACjC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,wBAAqB,CAAC,eAAW,CAAC,CAAC,CAAC;SAC7F;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAxHD;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;yDACjC;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,YAAY,CAAC;oDAC5B;IAG/B;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;6DAC7B;IAG3D;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;kDACjD;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;oDACzC;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,sBAAsB,CAAC;8DAClB;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;4DACxB;IArB5C,YAAY;QADhC,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC;OACrB,YAAY,CA4HhC;IAAD,mBAAC;CAAA;kBA5HoB,YAAY;;;;;;;;;;;;;;;;;;;;;ACTjC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AACpC,wHAA6H;AAC7H,+GAA0C;AAC1C,gGAAgC;AAGhC;IAUE,qBAAY,UAAsB,EAAE,mBAAkD,EAAE,QAAkB;QACxG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,0BAAI,GAAJ,UAAK,SAAkB,EAAE,OAAe;QAAxC,iBAqBC;QApBC,IAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAE9D,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,IAAM,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAmC,CAAC;YAC7F,UAAU,CAAC,IAAI,CAAC,UAAC,aAAa;gBAC5B,IAAI,aAAa,KAAK,6CAAgC,EAAE;oBACtD,IAAM,qBAAqB,GAAG,KAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,sBAAY,CAAC,CAAC;oBACrF,IAAM,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAoC,CAAC;oBAC9G,mBAAmB,CAAC,IAAI,CAAC,UAAC,GAAY,IAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/D;qBAAM,IAAI,aAAa,KAAK,2CAA8B,EAAE;oBAC3D,IAAM,gBAAgB,GAAG,KAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,iBAAO,CAAC,CAAC;oBAC3E,IAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAoC,CAAC;oBACpG,cAAc,CAAC,IAAI,CAAC,UAAC,GAAY,IAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1D;qBAAM;oBACL,OAAO,CAAC,KAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC,CAAC;iBACxD;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAnCD;QADC,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,YAAY,CAAC;mDAC3B;IAG/B;QADC,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;4DAC5B;IAG3D;QADC,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;iDAChD;IARR,WAAW;QAD/B,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC;OACpB,WAAW,CAsC/B;IAAD,kBAAC;CAAA;kBAtCoB,WAAW;;;;;;;;;;;;;;;;;;;;;ACNhC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC,8JAA2D;AAK3D;IAsBE,qBAAY,eAA0C,EAAE,kBAAsC,EAAE,mBAAkD,EAChJ,QAAkB,EAAE,SAA0B,EAAE,KAAmB,EAAE,SAAmC;QACxG,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,0BAAI,GAAJ,UAAK,SAAkB,EAAE,OAAe;QAAxC,iBAkBC;QAhBC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,IAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACjD,IAAM,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAE5C,KAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,UAAC,YAAY;gBAC1D,IAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;gBAC5E,IAAM,iBAAiB,GAAG,KAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACtF,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC1F,IAAM,aAAa,GAAG,KAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;gBAE1D,oBAAoB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAES,oCAAc,GAAxB,UAAyB,KAAc;QACrC,IAAM,KAAK,GAAG,IAAI,0BAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC;QACzE,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAES,iCAAW,GAArB,UAAsB,YAAyB;QAC7C,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC;QAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpG;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,qDAA+B,GAAvC,UAAwC,YAAuC,EAAE,OAAe;QAAhG,iBAuBC;QArBC,IAAM,qBAAqB,GAAG,IAAI,KAAK,EAAa,CAAC;QAErD,YAAY,CAAC,OAAO,CAAC,UAAC,WAAoC;YACxD,IAAI,gBAAgB,CAAC;YAErB,IAAI,KAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE;gBACzC,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC;aACxC;iBAAM;gBACL,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC;aACxC;YAED,IAAM,wBAAwB,GAAc;gBAC1C,KAAK,EAAE,gBAAgB;gBACvB,GAAG,EAAE,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;gBAC/C,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;aAC7D,CAAC;YAEF,qBAAqB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAEO,6CAAuB,GAA/B,UAAgC,OAAe;QAE7C,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YAC/C,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAjGD;QADC,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;wDAC1C;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;2DAC7B;IAG/C;QADC,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;4DACtC;IAG3D;QADC,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;iDAC1D;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,iBAAiB,CAAC;kDACtC;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;8CACtD;IAG5B;QADC,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;kDAC3C;IApBzB,WAAW;QAD/B,SAAS,CAAC,eAAe,CAAC,uBAAuB,CAAC;OAC9B,WAAW,CAqG/B;IAAD,kBAAC;CAAA;kBArGoB,WAAW;;;;;;;;;;;;;;;;;;;;;ACPhC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAOE,sBAAY,eAA0C;QACpD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,2BAAI,GAAJ;QACE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAE5E,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,KAAK,EAAE;YACrC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3E;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAhBD;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;yDACjC;IAHhC,YAAY;QADhC,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC;OACrB,YAAY,CAoBhC;IAAD,mBAAC;CAAA;kBApBoB,YAAY;;;;;;;;;;;;;;;;;;;;;ACJjC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC,2HAA0C;AAC1C,yKAAgE;AAIhE;IAsBE,sBAAY,eAA0C,EAAE,eAAgC,EAAE,mBAAkD,EAAE,QAAkB,EAAE,SAA0B,EAAE,UAA6B,EAAE,MAAc;QACzO,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,2BAAI,GAAJ;QAAA,iBAqBC;QApBC,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC3D,IAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEjE,IAAI,WAAW,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE;YAC7C,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;SACjG;QAED,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,KAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,cAAmC;gBAChG,IAAM,QAAQ,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,IAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;gBAExE,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACxD,iBAAiB,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;gBAE1E,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,8BAA8B,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAES,qCAAc,GAAxB;QACE,IAAM,KAAK,GAAG,IAAI,2BAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC;QACpE,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC;QACtE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;QAE9D,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAES,kCAAW,GAArB,UAAsB,SAA8B;QAClD,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,sBAAY,CAAiB,CAAC;YAC5F,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAElC,IAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YAEpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;aAC9C;YAED,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACvC;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,wCAAiB,GAAzB,UAA0B,eAAwB,EAAE,YAAoB,EAAE,WAAmB;QAC3F,IAAM,OAAO,GAAG,eAAe,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAClE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAEhC,QAAQ,CAAC,IAAI,GAAG,0DAAwD,YAAY,qBAAgB,WAAa,CAAC;QACpH,CAAC,CAAC,CAAC;IACL,CAAC;IAtFD;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,CAAC;mDAC7B;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;yDACjC;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,wBAAwB,CAAC;yDAC9B;IAGzC;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;6DAC7B;IAG3D;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;kDACjD;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;oDACzC;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;gDACnD;IApBJ,YAAY;QADhC,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC;OACrB,YAAY,CAyFhC;IAAD,mBAAC;CAAA;kBAzFoB,YAAY;;;;;;;;;;;;;;;;;;;;;ACVjC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAIpC,kLAAmE;AAInE;IAsBE,yBAAY,eAA0C,EAAE,sBAA8C,EAAE,mBAAkD,EACxJ,QAAkB,EAAE,SAA0B,EAAE,MAAc,EAAE,SAAmC;QACnG,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,8BAAI,GAAJ;QAAA,iBAoBC;QAnBC,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC3D,IAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEjE,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE;YAC7B,IAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,KAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,oBAA0C;gBAC9G,IAAM,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;gBAC3D,KAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAEpC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,8BAA8B,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAES,wCAAc,GAAxB,UAAyB,eAAqC;QAC5D,IAAM,KAAK,GAAG,IAAI,8BAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC5C,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;QAEpD,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9D,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;SACxE;QAED,KAAK,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;QAE1C,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAEO,8CAAoB,GAA5B,UAA6B,sBAA+B;QAA5D,iBAMC;QALC,IAAM,OAAO,GAAG,sBAAsB,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACtE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QACtD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAChC,QAAQ,CAAC,IAAI,GAAG,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IA3ED;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;sDACzC;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;4DAC7C;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;mEAC5B;IAGvD;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;gEACzC;IAG3D;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;qDAC7D;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;mDAC/D;IAGvB;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;sDAC9C;IApBzB,eAAe;QADnC,SAAS,CAAC,eAAe,CAAC,0BAA0B,CAAC;OACjC,eAAe,CA8EnC;IAAD,sBAAC;CAAA;kBA9EoB,eAAe;;;;;;;;;;;;;;;;;;;;;ACRpC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAMpC;IAoBE,2BAAY,eAA0C,EAAE,aAA4B,EAAE,mBAAwC,EAAE,OAAuB,EACrJ,iBAAoC,EAAE,kBAA8C;QACpF,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,gCAAI,GAAJ;QAAA,iBAYC;QAXC,IAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,UAAC,OAAO;YACnB,IAAI,OAAO,KAAK,KAAK,EAAE;gBACrB,KAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oDAAwB,GAAhC,UAAiC,SAAkB;QACjD,IAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,CAAqB,CAAC;QAC1E,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAC9F,CAAC;IAEO,0CAAc,GAAtB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;IAEO,wCAAY,GAApB,UAAqB,SAAkB;QAAvC,iBAyCC;QAxCC,IAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAqB,CAAC;QAClF,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,KAAoB;YACzD,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE;gBAAE,KAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAM,mBAAmB,GAAG,SAAS,CAAC,aAAa,CAAC,0BAA0B,CAAgB,CAAC;QAC/F,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAClC,KAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAI,oBAAoB,GAAW,IAAI,CAAC;QACxC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE;YACjC,IAAI,CAAC,oBAAoB,EAAE;gBACzB,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC;oBACvC,mBAAmB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC7C,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAClC,IAAI,oBAAoB,EAAE;gBACxB,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;gBAC1C,oBAAoB,GAAG,IAAI,CAAC;aAC7B;YACD,KAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAC3E,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACrC,KAAI,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,KAAK;YAClD,IAAI,MAAM,GAAG,KAAK,CAAC,MAAiB,CAAC;YACrC,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK;gBAAE,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YAC7E,IAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;YACvE,IAAI,gBAAgB,EAAE;gBACpB,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,2CAAe,GAAvB,UAAwB,QAAgB;QACtC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEO,8CAAkB,GAA1B,UAA2B,QAAgB,EAAE,SAAsB;QACjE,IAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,UAAC,WAAW;YACvB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,OAAO,IAAI,mCAAgC,WAAW,CAAC,CAAC,CAAC,CAAC,gBAAgB,WAAK,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,WAAQ,CAAC;aAC/G;YAED,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC;YAC9B,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IA7GD;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;8DAC9D;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,6BAA6B,CAAC;4DACpE;IAGrC;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,6CAA6C,CAAC;kEACxE;IAGjD;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;sDACxE;IAGhC;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,yCAAyC,CAAC;gEACxE;IAG7C;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;iEAC7D;IAlBpC,iBAAiB;QADrC,SAAS,CAAC,eAAe,CAAC,2CAA2C,CAAC;OAClD,iBAAiB,CAiHrC;IAAD,wBAAC;CAAA;kBAjHoB,iBAAiB;;;;;;;;;;;;;;;;;;;;;ACNtC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC;IAWE,wBAAY,eAA0C,EAAE,SAA0B,EAAE,UAA6B;QAC/G,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,6BAAI,GAAJ,UAAK,SAAkB;QACrB,IAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACjD,IAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,uCAAc,GAAtB,UAAuB,KAAc;QACnC,IAAM,KAAK,GAAU;YACnB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,mBAAmB;YAC5E,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW;YAC9D,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc;YACpE,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB;SACzF,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAEO,qCAAY,GAApB,UAAqB,SAAkB;QAAvC,iBAOC;QANC,IAAM,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,KAAiB,IAAO,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAwB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzH,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAC,KAAiB,IAAO,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClH,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAC,KAAiB,IAAO,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClH;IACH,CAAC;IAEO,kCAAS,GAAjB,UAAkB,GAAY,EAAE,SAAkB;QAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE;YACtD,IAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAC7D,IAAM,iBAAiB,GAAG,SAAS,CAAC,aAAa,CAAC,iDAAiD,CAAC,CAAC;YACrG,IAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,4CAA0C,OAAO,MAAG,CAAC,CAAC;YAEjG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,uCAAuC,CAAC,CAAC;YACpF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,yCAAyC,CAAC,CAAC;YACnF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;YAEzD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;YAC/E,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;SACpD;IACH,CAAC;IAEO,iCAAQ,GAAhB,UAAiB,GAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE;YACtD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;YAC/E,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;SAC9C;IACH,CAAC;IAEO,gCAAO,GAAf,UAAgB,GAAY;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE;YACtD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;YAC7E,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,yCAAyC,CAAC,CAAC;SAC7E;IACH,CAAC;IA9ED;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;2DACnC;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;qDAC/B;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;sDAC3C;IATnB,cAAc;QADlC,SAAS,CAAC,eAAe,CAAC,gBAAgB,CAAC;OACvB,cAAc,CAkFlC;IAAD,qBAAC;CAAA;kBAlFoB,cAAc;;;;;;;;;;;;;;;;;;;;;ACNnC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AACpC,sLAAoE;AAIpE;IAQE,wBAAY,eAA0C,EAAE,SAA0B;QAChF,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,6BAAI,GAAJ,UAAK,SAAkB;QACrB,IAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAEO,uCAAc,GAAtB,UAAuB,KAAc;QACnC,IAAM,KAAK,GAAG,IAAI,gCAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC;QACtF,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAnBD;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;2DACnC;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;qDAC/B;IANhB,cAAc;QADlC,SAAS,CAAC,eAAe,CAAC,gBAAgB,CAAC;OACvB,cAAc,CAuBlC;IAAD,qBAAC;CAAA;kBAvBoB,cAAc;;;;;;;;;;;;;;;;;;;;;ACJnC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AASpC;IAoBE,4BAAY,eAA0C,EAAE,SAA0B,EAAE,eAAgC,EAClH,gBAAkC,EAAE,oBAA0C,EAAE,SAAmC;QACnH,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,iCAAI,GAAJ;QAAA,iBAgBC;QAfC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO;YACjD,IAAM,OAAO,GAAG,KAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,UAAC,SAA0B;gBACtC,IAAM,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACxD,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAM,iBAAiB,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACxD,KAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBACjD,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,OAAe;gBACvB,IAAM,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;gBACzE,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC;gBACnC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,2CAAc,GAAtB,UAAuB,aAAqB;QAC1C,IAAM,KAAK,GAAU;YACnB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU;YAC1D,iBAAiB,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC7D,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe;SACvE,CAAC;QAEF,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;IACrF,CAAC;IAEO,0CAAa,GAArB,UAAsB,iBAA0B,EAAE,SAA0B;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxD,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC;YACxF,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC;YACpF,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC;YACpF,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,mCAAmC,CAAC,CAAC;YACzF,IAAM,UAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,iCAAiC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAQ,CAAC,CAAC;YACtC,iBAAiB,CAAC,WAAW,CAAC,UAAQ,CAAC,CAAC;SACzC;IACH,CAAC;IAlED;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;+DAC9D;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,iBAAiB,CAAC;yDAC1D;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,+BAA+B,CAAC;+DAClE;IAGzC;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,yCAAyC,CAAC;gEAC1E;IAG3C;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,6CAA6C,CAAC;oEACtE;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,2CAA2C,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;yDAC/D;IAlBzB,kBAAkB;QADtC,SAAS,CAAC,eAAe,CAAC,2CAA2C,CAAC;OAClD,kBAAkB,CAsEtC;IAAD,yBAAC;CAAA;kBAtEoB,kBAAkB;;;;;;;;;;;;;;;;;;;;;ACTvC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAUpC;IAiBE,oBAAY,eAA0C,EAAE,SAA0B,EAAE,eAAgC,EAAE,gBAAkC,EAAE,oBAA0C;QAClM,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED,yBAAI,GAAJ,UAAK,SAAkB;QAAvB,iBAmBC;QAlBC,IAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;QACjE,IAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAEjD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO;YACjD,IAAM,OAAO,GAAG,KAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,UAAC,SAA0B;gBACtC,IAAM,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACxE,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAM,iBAAiB,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAChE,KAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;gBACjD,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,OAAe;gBACvB,IAAM,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBACzD,IAAM,cAAc,GAAG,SAAS,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;gBACzE,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC;gBACnC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mCAAc,GAAtB,UAAuB,aAAqB,EAAE,OAAgB,EAAE,KAAa;QAC3E,IAAM,KAAK,GAAU;YACnB,iBAAiB,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC7D,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY;SACpE,CAAC;QAEF,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACnF,IAAI,OAAO,EAAE;YACX,IAAM,QAAQ,GAAmB;gBAC/B,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,UAAU;aACpE,CAAC;YAEF,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACpE,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpD,QAAQ,GAAG,GAAG,CAAC;SAChB;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,kCAAa,GAArB,UAAsB,iBAA0B,EAAE,SAA0B;QAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxD,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC;YACxF,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC;YACpF,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC;YACpF,IAAM,UAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAQ,CAAC,CAAC;YACtC,iBAAiB,CAAC,WAAW,CAAC,UAAQ,CAAC,CAAC;SACzC;IACH,CAAC;IAzED;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;uDAC7C;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;iDACzC;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,+BAA+B,CAAC;uDACjD;IAGzC;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,yCAAyC,CAAC;wDACzD;IAG3C;QADC,SAAS,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,6CAA6C,CAAC;4DACrD;IAfhC,UAAU;QAD9B,SAAS,CAAC,eAAe,CAAC,0BAA0B,CAAC;OACjC,UAAU,CA6E9B;IAAD,iBAAC;CAAA;kBA7EoB,UAAU;;;;;;;;;;;;;;;;;;;;;ACV/B,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAKE,qBAAY,eAA0C;QACpD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,0BAAI,GAAJ;QACE,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAEO,oCAAc,GAAtB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAZD;QADC,SAAS,CAAC,kBAAkB,CAAC,2BAA2B,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;wDAC9C;IAHhC,WAAW;QAD/B,SAAS,CAAC,eAAe,CAAC,2BAA2B,CAAC;OAClC,WAAW,CAgB/B;IAAD,kBAAC;CAAA;kBAhBoB,WAAW;;;;;;;;;;;;;;;;;;;;;;ACJhC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAEpC,mMAA0E;AAG7D,6BAAqB,GAAG,UAAU,CAAC;AACnC,gCAAwB,GAAG,MAAM,CAAC;AAG/C;IAoBE,6BAAY,eAA0C,EACpD,QAAkB,EAClB,OAAgB,EAChB,SAA0B,EAC1B,WAAwC,EACxC,kBAA8C;QAC9C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,kCAAI,GAAJ,UAAK,SAAkB;QAAvB,iBAUC;QATC,IAAM,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QAE5E,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO;YACjD,KAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAC,QAAkB;gBAC3E,OAAO,CAAC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,OAAO,CAAC,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAES,4CAAc,GAAxB,UAAyB,QAAkB;QACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC;SACtD;aAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACvF,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO,SAAS,CAAC;SAClB;QAED,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;QACvF,IAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;QACjF,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAE9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,yCAAW,GAArB,UAAsB,iBAA0B,EAAE,QAAkB;QAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YAC7F,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAChC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC1C;IACH,CAAC;IAEO,2CAAa,GAArB,UAAsB,OAAe;QACnC,IAAM,KAAK,GAAG,IAAI,iCAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,wCAAU,GAAlB;QACE,IAAM,wBAAwB,GAAa,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC1E,IAAM,QAAQ,GAAG,IAAI,KAAK,EAAU,CAAC;QAErC,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE;YACtF,IAAI,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnF,OAAO,QAAQ,CAAC;SACnB;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACvF,QAAQ,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,EAAE;oBAClD,KAAK,IAAI,CAAC,CAAC;wBACT,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;wBAClE,OAAO,QAAQ,CAAC;qBACjB;oBACD,KAAK,UAAU,CAAC,CAAC;wBACf,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;wBACxE,OAAO,QAAQ,CAAC;qBACjB;oBACD,KAAK,QAAQ,CAAC,CAAC;wBACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;wBACtE,OAAO,QAAQ,CAAC;qBACjB;oBACD,OAAO,CAAC,CAAC;wBACP,MAAM;qBACP;iBACF;aACF;YAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE;gBAC/I,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;gBAClE,OAAO,QAAQ,CAAC;aACjB;YAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAC7D,OAAO,QAAQ,CAAC;SACjB;aACI;YACH,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE;gBAC9I,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;gBAClE,OAAO,QAAQ,CAAC;aACjB;YAED,OAAO,QAAQ,CAAC;SACjB;IACH,CAAC;IAEO,6CAAe,GAAvB,UAAwB,SAAkB;QACxC,IAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,6BAAqB,EAAE,gCAAwB,GAAG,6BAAqB,CAAC,CAAC,CAAC;SACrH;IACH,CAAC;IAjID;QADC,SAAS,CAAC,kBAAkB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC;0DAC7C;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,8BAA8B,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;gEACjD;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,8BAA8B,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;yDACjE;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,8BAA8B,EAAE,4BAA4B,CAAC;wDAClE;IAGzB;QADC,SAAS,CAAC,kBAAkB,CAAC,8BAA8B,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;4DAC/C;IAGjD;QADC,SAAS,CAAC,kBAAkB,CAAC,8BAA8B,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;mEAChD;IAlBpC,mBAAmB;QADvC,SAAS,CAAC,eAAe,CAAC,8BAA8B,CAAC;OACrC,mBAAmB,CAqIvC;IAAD,0BAAC;CAAA;kBArIoB,mBAAmB;;;;;;;;;;;;;;;;;;;;;ACTxC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAEpC,gIAA+C;AAG/C;IAgBE,eAAY,eAA0C,EACpD,SAA0B,EAC1B,SAAmC,EACnC,QAAkB,EAClB,WAAwC;QACxC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,oBAAI,GAAJ;QACE,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAEO,8BAAc,GAAtB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE;YACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC;SACtD;QACD,IAAM,KAAK,GAAG,IAAI,oBAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QACzC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;QACvD,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACjE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACpE,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAEjE,IAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEtE,OAAO,YAAY,CAAC;IACtB,CAAC;IA5CD;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;4CAC/B;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;kDACnC;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;4CACpC;IAG5C;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;2CACnD;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;8CACjC;IAd9B,KAAK;QADzB,SAAS,CAAC,eAAe,CAAC,gBAAgB,CAAC;OACvB,KAAK,CA+CzB;IAAD,YAAC;CAAA;kBA/CoB,KAAK;;;;;;;;;;;;;;;ACL1B;IAAA;IAKA,CAAC;IAAD,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;ACLD;IAAA;IAEA,CAAC;IAAD,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;ACFD;IAAA;IAIA,CAAC;IAAD,wBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;ACJD;IAAA;IAMA,CAAC;IAAD,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;ACND;IAAA;IAEA,CAAC;IAAD,6BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;ACFD;IAAA;IAEA,CAAC;IAAD,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;ACFD;IAAA;IAMA,CAAC;IAAD,iBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;ACND;IAAA;IAIA,CAAC;IAAD,gBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;ACJD,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC,oGAAkC;AAClC,2HAA6C;AAC7C,iIAAqD;AAGrD;IAmBE,cAAY,eAA0C,EACpD,WAAwB,EAAE,mBAAkD,EAC5E,QAAkB,EAAE,SAA0B,EAC9C,kBAAsD;QACtD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IACD,mBAAI,GAAJ,UAAK,SAAkB;QAAvB,iBAmBC;QAlBC,IAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,KAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,UAAC,aAA4B;gBAC7D,IAAM,QAAQ,GAAG,KAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC/D,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBACzD,KAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,YAAuD;oBACvH,IAAI,YAAY,CAAC,WAAW,KAAK,KAAK,EAAE;wBACtC,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;qBACjE;yBACI;wBACH,aAAa,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;qBACjE;oBACD,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,4BAA4B,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAES,6BAAc,GAAxB,UAAyB,GAAW,EAAE,KAAc;QAClD,IAAM,KAAK,GAAG,IAAI,mBAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;QAC3D,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;QACpD,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAES,gCAAiB,GAA3B,UAA4B,gBAA2D;QACrF,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC;QACvE,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,qBAAW,CAAgB,CAAC;QACtF,QAAQ,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAClC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAES,0BAAW,GAArB,UAAsB,IAAiB;QACrC,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,kBAAQ,CAAa,CAAC;YAChF,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACzB,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;SAC/C;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAzED;QADC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,CAAC;2CACrB;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;iDACzB;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC;6CACnB;IAGjC;QADC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;qDACrB;IAG3D;QADC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;0CACzC;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;oDAChB;IAjB5C,IAAI;QADxB,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;OACb,IAAI,CA4ExB;IAAD,WAAC;CAAA;kBA5EoB,IAAI;;;;;;;;;;;;;;;;;;;;;ACRzB,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAOE,kBAAY,eAA0C;QACpD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,uBAAI,GAAJ;QACE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAXD;QADC,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;qDAC7B;IAHhC,QAAQ;QAD5B,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC;OACjB,QAAQ,CAe5B;IAAD,eAAC;CAAA;kBAfoB,QAAQ;;;;;;;;;;;;;;;;;;;;;ACL7B,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC;IAgBE,4BAAY,eAA0C,EAAE,UAA6B,EAAE,gBAAkC,EAAE,OAAuB;QAChJ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,iCAAI,GAAJ;QAAA,iBAaC;QAXC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,IAAM,cAAc,GAAG,KAAI,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,CAAC;YAC5E,cAAc,CAAC,IAAI,CAAC,UAAC,OAAO;gBAC1B,IAAM,gBAAgB,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC1B,KAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAClC,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,yCAAyC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mCAAM,GAAd,UAAe,OAAe;QAC5B,IAAM,KAAK,GAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC1C,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC/E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEhC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,6CAAgB,GAAxB,UAAyB,OAAgB;QACvC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1F,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC;YACtF,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3F,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAClH,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC7C,OAAO,CAAC,aAAa,CAAC,eAAe,CAAiB,CAAC,KAAK,CAAC,eAAe,GAAG,UAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,OAAI,CAAC;aACxI;SACF;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC;SAChF;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,KAAK,kBAAkB,EAAE;YACzD,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAClF,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACtF;IACH,CAAC;IAEO,uCAAU,GAAlB,UAAmB,OAAgB;QAAnC,iBAmEC;QAlEC,IAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAqB,CAAC;QAC7F,IAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC/D,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAC1C,IAAI,gBAAgB,CAAC,OAAO;gBAC1B,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;;gBAEvD,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBACxC,KAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC;oBAC/D,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QAED,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACnC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE;gBACpF,IAAM,mBAAmB,GAAG,KAAI,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,CAAC;gBAClF,mBAAmB,CAAC,IAAI,CAAC,UAAC,QAAQ;oBAChC,IAAM,wBAAwB,GAAG,QAAQ,CAAC,wBAAwB,CAAC;oBACnE,IAAI,wBAAwB,EAAE;wBAC5B,OAAO,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,SAAS,GAAG,wBAAwB,CAAC;wBACrG,OAAO,CAAC,aAAa,CAAC,kCAAkC,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;qBACpG;yBAAM;wBACJ,OAAO,CAAC,aAAa,CAAC,qCAAqC,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;qBACvG;oBAED,IAAI,KAAI,CAAC,aAAa,CAAC,OAAO,EAAE;wBAC9B,OAAO,CAAC,aAAa,CAAC,kCAAkC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAC1H,OAAO,CAAC,aAAa,CAAC,gCAAgC,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;qBAClG;oBAEA,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;oBACzF,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACnF,CAAC,CAAC,CAAC;gBAEH,mBAAmB,CAAC,KAAK,CAAC;oBACvB,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;oBAClF,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACnF,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,IAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QACpE,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBACpC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;SACJ;QAED,IAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAC5E,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBACxC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;SACJ;QAED,IAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACjE,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBACxC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,4CAAe,GAAvB,UAAwB,OAAgB;QAAxC,iBAKC;QAJE,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3F,UAAU,CAAC;YACT,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAxID;QADC,SAAS,CAAC,kBAAkB,CAAC,6BAA6B,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;+DAChD;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,6BAA6B,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;0DACxD;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;gEACrC;IAG3C;QADC,SAAS,CAAC,kBAAkB,CAAC,6BAA6B,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;uDAC1D;IAZb,kBAAkB;QADtC,SAAS,CAAC,eAAe,CAAC,6BAA6B,CAAC;OACpC,kBAAkB,CA4ItC;IAAD,yBAAC;CAAA;kBA5IoB,kBAAkB;;;;;;;;;;;;;;;;;;;;;ACLvC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC;IAWE,gCAAY,eAA0C,EAAE,UAA6B,EAAE,gBAAkC;QACvH,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,qCAAI,GAAJ;QAAA,iBAaC;QAXC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,IAAM,cAAc,GAAG,KAAI,CAAC,gBAAgB,CAAC,gCAAgC,EAAE,CAAC;YAChF,cAAc,CAAC,IAAI,CAAC,UAAC,OAAO;gBAC1B,IAAM,gBAAgB,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC1B,KAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAClC,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,yCAAyC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uCAAM,GAAd,UAAe,OAAe;QAC5B,IAAM,KAAK,GAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC1C,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAEnF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,2CAAU,GAAlB,UAAmB,OAAgB;QAAnC,iBAOC;QANC,IAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAC3D,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACpC,KAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC;gBACpE,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gDAAe,GAAvB,UAAwB,OAAgB;QAAxC,iBAIC;QAHC,UAAU,CAAC;YACT,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAjDD;QADC,SAAS,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;mEACpD;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;8DAC5D;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,kBAAkB,CAAC;oEACzC;IATxB,sBAAsB;QAD1C,SAAS,CAAC,eAAe,CAAC,iCAAiC,CAAC;OACxC,sBAAsB,CAqD1C;IAAD,6BAAC;CAAA;kBArDoB,sBAAsB;;;;;;;;;;;;;;;;;;;;;ACL3C,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AASpC;IAiBE,uBAAY,eAA0C,EAAE,SAA0B,EAAE,UAA6B,EAAE,gBAAkC,EAAE,OAAuB;QAC5K,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,4BAAI,GAAJ;QAAA,iBAeC;QAbC,IAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC;QACvE,IAAM,0BAA0B,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC;QAEnF,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACzE,IAAM,gBAAgB,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC1B,KAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAClC,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,yCAAyC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,8BAAM,GAAd,UAAe,OAAe,EAAE,oBAA0C;QACxE,IAAM,KAAK,GAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC1C,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAEtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,wCAAgB,GAAxB,UAAyB,OAAgB,EAAE,oBAA0C;QAArF,iBA+BC;QA9BC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,WAAmB;YAC5D,OAAO,IAAO,WAAW,WAAQ,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9D,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAmB;YACtD,cAAc,IAAI,WAAS,KAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,cAAc,CAAC,YAAS,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAM,qBAAqB,GAAG,oBAAoB,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3E,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,WAAwB;YACjE,YAAY,IAAI,WAAS,KAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,qBAAqB,CAAC,YAAS,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC;QACpE,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC;QAClF,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC;QAC9E,OAAO,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;QAE5J,IAAI,CAAC,cAAc,EAAE;YAClB,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC9F,OAAO,CAAC,aAAa,CAAC,sCAAsC,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;SACxG;QAED,IAAI,CAAC,YAAY,EAAE;YAChB,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAC9F;IACH,CAAC;IAEO,6CAAqB,GAA7B,UAA8B,KAAmB,EAAE,SAAkB;QACnE,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,cAAc,GAAG,WAAS,KAAK,CAAC,KAAK,YAAS,CAAC;QAEnD,IAAI,SAAS,KAAK,KAAK,EAAE;YACvB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;gBACzB,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;aAC5C;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;gBAChC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;aAC5C;YACD,cAAc,GAAG,WAAS,KAAK,gBAAW,cAAgB,CAAC;SAC5D;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,mDAA2B,GAAnC,UAAoC,WAAwB,EAAE,SAAkB;QAC9E,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,oBAAoB,GAAG,WAAS,WAAW,CAAC,WAAa,CAAC;QAC9D,IAAI,WAAW,CAAC,SAAS;YAAE,oBAAoB,IAAI,OAAK,WAAW,CAAC,SAAW,CAAC;QAChF,oBAAoB,IAAI,SAAS,CAAC;QAElC,IAAI,SAAS,KAAK,KAAK,EAAE;YACvB,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE;gBAC/B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;aAClD;iBAAM,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE;gBACtC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;aAClD;iBAAM,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE;gBACtC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;aAClD;iBAAM,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,EAAE;gBACrC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC;aACjD;YAED,oBAAoB,GAAG,WAAS,KAAK,gBAAW,oBAAsB,CAAC;SACxE;QAED,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEO,oDAA4B,GAApC,UAAqC,qBAA6B;QAChE,OAAO,qBAAqB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,6BAA6B,CAAC;IACzJ,CAAC;IAEO,kCAAU,GAAlB,UAAmB,OAAgB;QAAnC,iBAOC;QANC,IAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC9D,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACtC,KAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC;gBAC1D,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uCAAe,GAAvB,UAAwB,OAAgB;QAAxC,iBAMC;QALE,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3F,UAAU,CAAC;YACT,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/C,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAC1E,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IA1ID;QADC,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;0DAClC;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,iBAAiB,CAAC;oDAC9B;IAGnC;QADC,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;qDAC1C;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,kBAAkB,CAAC;2DACvB;IAG3C;QADC,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;kDAC5C;IAfb,aAAa;QADjC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC;OACtB,aAAa,CA8IjC;IAAD,oBAAC;CAAA;kBA9IoB,aAAa;;;;;;;;;;;;;;;;;;;;;ACTlC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC,wHAA4C;AAC5C,mJAA8D;AAC9D,uIAAsD;AACtD,iIAAkD;AAGlD;IAiBE,mBAAY,mBAAkD,EAC5D,gBAAkC,EAAE,aAA6B,EACjE,QAAkB,EAClB,kBAAsD;QACtD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,wBAAI,GAAJ,UAAK,SAAkB,EAAE,OAAe;QAAxC,iBAkBC;QAjBC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,6BAA6B,CAAC,KAAK,GAAG;YAAE,OAAO,QAAQ,CAAC,sBAAsB,EAAS,CAAC;QACnH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAC3D,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,KAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,UAAC,SAAS;gBACzD,KAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,YAAuD;oBACxH,IAAI,YAAY,CAAC,WAAW,KAAK,KAAK,EAAE;qBAEvC;yBACI;wBACH,KAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;qBAC/E;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAEL,CAAC;IAEO,iCAAa,GAArB,UAAsB,gBAAkC,EAAE,SAAkB,EAAE,OAAe;QAA7F,iBAyBC;QAxBC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,gBAAgB;YAAE,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;QACnE,IAAI,kBAAkB,GAA4B,IAAI,CAAC;QACvD,QAAQ,YAAY,EAAE;YACpB,KAAK,gBAAgB;gBACnB,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,uBAAa,CAAC,CAAC;gBAC7E,MAAM;YACR,KAAK,0BAA0B;gBAC7B,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,gCAAsB,CAAC,CAAC;gBACtF,MAAM;YACR,KAAK,qBAAqB;gBACxB,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,4BAAkB,CAAC,CAAC;gBAClF,MAAM;YACR,KAAK,6BAA6B;gBAChC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,0BAAgB,CAAC,CAAC;gBAChF,MAAM;SACT;QAED,IAAI,kBAAkB,EAAE;YACrB,kBAA0B,CAAC,aAAa,GAAG,gBAAgB,CAAC;YAC7D,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAQ,CAAC;SAC3D;aAAM;YACL,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,IAAO,OAAO,CAAC,KAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtH;IACH,CAAC;IAtED;QADC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC;0DAC1B;IAG3D;QADC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC;uDACnB;IAG3C;QADC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;oDAClC;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;+CAC9C;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;yDACrB;IAf5C,SAAS;QAD7B,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC;OAClB,SAAS,CA0E7B;IAAD,gBAAC;CAAA;kBA1EoB,SAAS;;;;;;;;;;;;;;;;;;;;;ACT9B,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC;IAaE,0BAAY,eAA0C,EAAE,UAA6B,EAAE,gBAAkC,EAAE,OAAuB;QAChJ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,+BAAI,GAAJ;QAAA,iBAaC;QAZC,IAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,CAAC;QAE1E,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBAC7C,IAAM,gBAAgB,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC1B,KAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAClC,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,yCAAyC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iCAAM,GAAd,UAAe,OAAe;QAC5B,IAAM,KAAK,GAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC1C,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAE7E,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEhC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,qCAAU,GAAlB,UAAmB,OAAgB;QAAnC,iBASC;QARC,IAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAC7D,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE;YACtC,KAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC;gBACvE,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACjD,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACzF,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC5F,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,0CAAe,GAAvB,UAAwB,OAAgB;QAAxC,iBAMC;QALE,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1F,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3F,UAAU,CAAC;YACT,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAEO,2CAAgB,GAAxB,UAAyB,OAAgB;QACtC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAiB,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;IAC5F,CAAC;IA/DD;QADC,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;6DACrC;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;wDAC7C;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;8DAC1B;IAG3C;QADC,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;qDAC/C;IAXb,gBAAgB;QADpC,SAAS,CAAC,eAAe,CAAC,kBAAkB,CAAC;OACzB,gBAAgB,CAkEpC;IAAD,uBAAC;CAAA;kBAlEoB,gBAAgB;;;;;;;;;;;;;;;;;;;;;ACLrC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAGpC;IAME,qBAAY,eAA0C;QACpD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,0BAAI,GAAJ;QACE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAVD;QADC,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;wDAChC;IAHhC,WAAW;QAD/B,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC;OACpB,WAAW,CAc/B;IAAD,kBAAC;CAAA;kBAdoB,WAAW;;;;;;;;;;;;;;;;;;;;;ACHhC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC;IAWE,gCAAY,eAA0C,EAAE,QAAkB,EAAE,6BAA4D;QACtI,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,6BAA6B,GAAG,6BAA6B,CAAC;IACrE,CAAC;IAED,qCAAI,GAAJ;QAAA,iBAWC;QAVC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,KAAI,CAAC,6BAA6B,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,KAAY;gBACrF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO;oBAC1B,OAAO,CAAC,KAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAS,CAAC,CAAC;;oBAEvD,OAAO,CAAC,KAAI,CAAC,eAAe,CAAC,WAAW,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,qCAAqC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAzBD;QADC,SAAS,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;mEACpD;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;4DACpE;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,+BAA+B,CAAC;iFAC5B;IATlD,sBAAsB;QAD1C,SAAS,CAAC,eAAe,CAAC,iCAAiC,CAAC;OACxC,sBAAsB,CA6B1C;IAAD,6BAAC;CAAA;kBA7BoB,sBAAsB;;;;;;;;;;;;;;;;;;;;;ACL3C,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AACpC,uKAA+F;AAC/F,kJAAiF;AACjF,oKAA6F;AAC7F,2JAAyE;AACzE,yGAA2C;AAC3C,8GAA8C;AAC9C,oLAAwF;AACxF,uJAAsE;AACtE,+HAA0D;AAC1D,mMAAiG;AAGjG;IAKE,0BAAY,qBAAsD;QAChE,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;IAED,+BAAI,GAAJ;QACE,IAAM,UAAU,GAAG;YACjB,gCAAgC,EAAE,4BAAgC;YAClE,yBAAyB,EAAE,qBAAyB;YACpD,+BAA+B,EAAE,2BAA+B;YAChE,cAAc,EAAE,wBAAc;YAC9B,IAAI,EAAE,cAAI;YACV,KAAK,EAAE,eAAK;YACZ,mBAAmB,EAAE,6BAAmB;YACxC,YAAY,EAAE,sBAAY;YAC1B,YAAY,EAAE,sBAAY;YAC1B,sBAAsB,EAAE,gCAAsB;SAC/C,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IApBD;QADC,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC;mEACpC;IAH5C,gBAAgB;QADpC,SAAS,CAAC,eAAe,CAAC,uBAAuB,CAAC;OAC9B,gBAAgB,CAwBpC;IAAD,uBAAC;CAAA;kBAxBoB,gBAAgB;;;;;;;;;;;;;;;ACbrC,4GAAuD;AACvD,4GAAuD;AACvD,iHAA+C;AAC/C,oHAAkD;AAClD,0HAAuD;AACvD,oJAAmF;AACnF,sKAA+F;AAC/F,0JAAuF;AACvF,0LAA4G;AAC5G,sMAAoH;AACpH,0LAA4G;AAC5G,6JAA8E;AAC9E,2HAA4D;AAC5D,mJAAsE;AACtE,qMAAoG;AACpG,iLAAiF;AACjF,qHAAoD;AACpD,qJAAyE;AACzE,oNAA6G;AAC7G,IAAO,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;AAEvD;IAAA;IA6BA,CAAC;IA3BQ,iCAAiB,GAAxB;QACE,IAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC3C,IAAM,OAAO,GAAmB,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/E,QAAQ,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3E,QAAQ,CAAC,YAAY,CAAC,sBAAsB,EAAE,IAAI,yBAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,QAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,0BAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,qBAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9E,QAAQ,CAAC,YAAY,CAAC,6BAA6B,EAAE,IAAI,uBAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9G,QAAQ,CAAC,YAAY,CAAC,6CAA6C,EAAE,IAAI,6BAAiC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9H,QAAQ,CAAC,YAAY,CAAC,+BAA+B,EAAE,IAAI,yBAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACtG,QAAQ,CAAC,YAAY,CAAC,yCAAyC,EAAE,IAAI,mCAAuC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpH,QAAQ,CAAC,YAAY,CAAC,6CAA6C,EAAE,IAAI,uCAA2C,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5H,QAAQ,CAAC,YAAY,CAAC,yCAAyC,EAAE,IAAI,mCAAuC,EAAE,CAAC,CAAC;QAChH,QAAQ,CAAC,YAAY,CAAC,wBAAwB,EAAE,IAAI,gCAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClF,QAAQ,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,oBAAe,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,0BAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,QAAQ,CAAC,YAAY,CAAC,4BAA4B,EAAE,IAAI,oCAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACtG,QAAQ,CAAC,YAAY,CAAC,wBAAwB,EAAE,IAAI,gCAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,QAAQ,CAAC,YAAY,CAAC,sBAAsB,EAAE,IAAI,8BAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACpF,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,oBAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,YAAY,CAAC,+BAA+B,EAAE,IAAI,uCAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,CAAC;IAEc,kCAAkB,GAAjC,UAAkC,OAAuB;QACvD,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAiB,CAAC,CAAC,CAAC,mBAAiB,CAAC;IACjG,CAAC;IACH,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;AClDD,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AACpC,oKAAgF;AAChF,yLAA6F;AAC7F,kMAAmG;AACnG,gLAAsG;AACtG,6KAAoG;AACpG,wJAAsF;AACtF,qJAAoF;AACpF,2JAAwF;AACxF,6KAAoG;AACpG,oKAAgF;AAChF,uIAAyD;AACzD,gJAAqE;AACrE,mJAAiE;AACjE,4JAA6E;AAC7E,qJAAuE;AACvE,4IAA4D;AAC5D,wJAAmE;AACnE,+IAAqE;AACrE,qJAAuE;AACvE,iKAA+E;AAC/E,uJAAyE;AACzE,kLAA2F;AAC3F,sKAAmF;AACnF,kNAA4G;AAC5G,wNAAgH;AAChH,oOAAwH;AACxH,yKAAmF;AACnF,wLAA6F;AAC7F,gKAA6E;AAC7E,gKAA6E;AAC7E,kLAAyF;AACzF,wIAAiE;AACjE,4HAAyD;AACzD,yHAAuD;AACvD,6GAA+C;AAC/C,4MAAwG;AACxG,qIAA8D;AAC9D,gKAA+E;AAG/E;IAKE,wBAAY,eAA0C;QACpD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,6BAAI,GAAJ;QACE,IAAM,SAAS,GAAG;YAChB,OAAO,EACP;gBACE,cAAc,EAAE;oBACd,MAAM,EAAE;wBACN,MAAM,EAAE,oCAAoB;wBAC5B,OAAO,EAAE,6BAAc;qBACxB;oBACD,OAAO,EAAE;wBACP,MAAM,EAAE,oCAAoB;wBAC5B,OAAO,EAAE,6BAAc;qBACxB;oBACD,QAAQ,EAAE;wBACR,MAAM,EAAE,oCAAoB;wBAC5B,OAAO,EAAE,6BAAc;qBACxB;oBACD,YAAY,EAAE;wBACZ,MAAM,EAAE,oCAAoB;wBAC5B,OAAO,EAAE,6BAAc;qBACxB;oBACD,aAAa,EAAE;wBACb,MAAM,EAAE,oCAAoB;wBAC5B,OAAO,EAAE,6BAAc;qBACxB;oBACD,OAAO,EAAE,6BAAc;iBACxB;gBACD,gCAAgC,EAAE;oBAChC,OAAO,EAAE,iCAAgC;iBAC1C;gBACD,+BAA+B,EAAE;oBAC/B,OAAO,EAAE,gCAA+B;iBACzC;gBACD,wBAAwB,EAAE;oBACxB,OAAO,EAAE,yBAAwB;iBAClC;gBACD,uBAAuB,EAAE;oBACvB,OAAO,EAAE,wBAAuB;iBACjC;gBACD,yBAAyB,EAAE;oBACzB,OAAO,EAAE,0BAAyB;iBACnC;gBACD,+BAA+B,EAAE;oBAC/B,OAAO,EAAE,gCAA+B;iBACzC;gBACD,cAAc,EAAE;oBACd,OAAO,EAAE,6BAAc;iBACxB;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,0BAAI;iBACd;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,8BAAQ;iBAClB;gBACD,KAAK,EAAE;oBACL,OAAO,EAAE,2BAAK;iBACf;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,+BAAQ;iBAClB;gBACD,aAAa,EAAE;oBACb,OAAO,EAAE,4BAAa;iBACvB;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE,0BAAW;iBACrB;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,8BAAe;iBACzB;gBACD,aAAa,EAAE;oBACb,OAAO,EAAE,4BAAa;iBACvB;gBACD,sBAAsB,EAAE;oBACtB,OAAO,EAAE,qCAAsB;iBAChC;gBACD,kBAAkB,EAAE;oBAClB,OAAO,EAAE,iCAAkB;iBAC5B;gBACD,gBAAgB,EAAE;oBAChB,OAAO,EAAE,+BAAgB;iBAC1B;gBACD,yBAAyB,EAAE;oBACzB,OAAO,EAAE,yCAAyB;iBACnC;gBACD,2BAA2B,EAAE;oBAC3B,OAAO,EAAE,2CAA2B;iBACrC;gBACD,+BAA+B,EAAE;oBAC/B,OAAO,EAAE,+CAA+B;iBACzC;gBACD,eAAe,EAAE;oBACf,OAAO,EAAE,8BAAe;iBACzB;gBACD,oBAAoB,EAAE;oBACpB,OAAO,EAAE,mCAAoB;iBAC9B;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,2BAAY;iBACtB;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,2BAAY;iBACtB;gBACD,kBAAkB,EAAE;oBAClB,OAAO,EAAE,iCAAkB;iBAC5B;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE,2BAAY;iBACtB;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,uBAAQ;iBAClB;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,sBAAO;iBACjB;gBACD,GAAG,EAAE;oBACH,OAAO,EAAE,kBAAG;iBACb;gBACD,SAAS,EAAE;oBACT,OAAO,EAAE,wBAAS;iBACnB;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE,0BAAW;iBACrB;gBACD,sBAAsB,EAAE;oBACtB,OAAO,EAAE,qCAAsB;iBAChC;aACF;YACD,QAAQ,EAAE;gBACR,cAAc,EAAE;oBACd,OAAO,EAAE;wBACP,OAAO,EAAE,uCAAuB;qBACjC;oBACD,OAAO,EAAE,uCAAuB;iBACjC;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,6BAAa;iBACvB;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,iCAAiB;iBAC3B;aACF;YACD,MAAM,EAAE;gBACN,cAAc,EAAE;oBACd,OAAO,EAAE;wBACP,OAAO,EAAE,uCAAuB;qBACjC;oBACD,OAAO,EAAE,uCAAuB;iBACjC;gBACD,IAAI,EAAE;oBACJ,OAAO,EAAE,6BAAa;iBACvB;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,iCAAiB;iBAC3B;aACF;SACF,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAnKD;QADC,SAAS,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC;2DACzC;IAHhC,cAAc;QADlC,SAAS,CAAC,eAAe,CAAC,sBAAsB,CAAC;OAC7B,cAAc,CAuKlC;IAAD,qBAAC;CAAA;kBAvKoB,cAAc;;;;;;;;;;;;;;ACzCnC,uGAA4C;AAC5C,wGAA0C;AAC1C,0JAAwE;AACxE,0JAAwE;AACxE,8IAAwE;AACxE,6GAA6C;AAC7C,2IAA+D;AAC/D,iIAAyD;AACzD,mLAAuF;AACvF,kMAAgG;AAChG,+JAA2E;AAC3E,2HAAuD;AAEvD,mBAAS,CAAC,iBAAiB,EAAE,CAAC;AAC9B,IAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC;AAChE,IAAM,OAAO,GAAmB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;AACjE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,CAAC;AAElE,SAAS,SAAS;IAChB,IAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/C,IAAM,cAAc,GAAG,mBAAmB,CAAC,eAAe,CAAC,eAAK,CAAC,CAAC;QAClE,IAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAY,CAAC;QACzG,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;KACrF;AACH,CAAC;AAED,SAAS,QAAQ;IACf,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,aAAa,KAAK,IAAI,EAAE;QAC1B,IAAM,aAAa,GAAG,mBAAmB,CAAC,eAAe,CAAC,cAAI,CAAC,CAAC;QAChE,IAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAoC,CAAC;QACtH,WAAW,CAAC,IAAI,CAAC,UAAC,gBAAyB;YACzC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAM,wBAAwB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxD,IAAM,uBAAuB,GAAG,mBAAmB,CAAC,eAAe,CAAC,wBAAc,CAAC,CAAC;QACpF,IAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAY,CAAC;QAC3H,wBAAwB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;KACvG;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAM,wBAAwB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxD,IAAM,uBAAuB,GAAG,mBAAmB,CAAC,eAAe,CAAC,wBAAc,CAAC,CAAC;QACpF,IAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAY,CAAC;QAC3H,wBAAwB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;KACvG;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACxE,IAAI,qBAAqB,KAAK,IAAI,EAAE;QAClC,IAAM,oBAAoB,GAAG,mBAAmB,CAAC,eAAe,CAAC,qBAAW,CAAC,CAAC;QAC9E,IAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAoC,CAAC;QAC5I,kBAAkB,CAAC,IAAI,CAAC,UAAC,gBAAyB;YAChD,qBAAqB,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAED,SAAS,aAAa;IACpB,IAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAClE,IAAI,kBAAkB,KAAK,IAAI,EAAE;QAC/B,IAAM,kBAAkB,GAAG,mBAAmB,CAAC,eAAe,CAAC,mBAAS,CAAC,CAAC;QAC1E,IAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAA8C,CAAC;QAE9I,IAAI,eAAe,YAAY,MAAM,CAAC,OAAO,EAAE;YAC7C,eAAe,CAAC,IAAI,CAAC,UAAC,gBAAyB;gBAC7C,kBAAkB,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;YACtF,CAAC,CAAC,CAAC;SACJ;aACI;YACH,kBAAkB,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;SACpF;KACF;AACH,CAAC;AAED,SAAS,uBAAuB;IAC9B,IAAM,4BAA4B,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IACtF,IAAI,4BAA4B,EAAE;QAChC,IAAM,4BAA4B,GAAG,mBAAmB,CAAC,eAAe,CAAC,6BAAmB,CAAC,CAAC;QAC9F,IAAM,mCAAmC,GAAG,4BAA4B,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAoC,CAAC;QAC5K,mCAAmC,CAAC,IAAI,CAAC,UAAC,gBAAyB;YACjE,4BAA4B,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAED,SAAS,0BAA0B;IACjC,IAAM,+BAA+B,GAAG,QAAQ,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAC5F,IAAI,+BAA+B,EAAE;QACnC,IAAM,+BAA+B,GAAG,mBAAmB,CAAC,eAAe,CAAC,gCAAsB,CAAC,CAAC;QACpG,IAAM,6BAA6B,GAAG,+BAA+B,CAAC,IAAI,CAAC,+BAA+B,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAoC,CAAC;QAC5K,6BAA6B,CAAC,IAAI,CAAC,UAAC,gBAAyB;YAC3D,+BAA+B,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,+BAA+B,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAM,wBAAwB,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC9E,IAAI,wBAAwB,KAAK,IAAI,EAAE;QACrC,IAAM,wBAAwB,GAAG,mBAAmB,CAAC,eAAe,CAAC,yBAAe,CAAC,CAAC;QACtF,IAAM,sBAAsB,GAAG,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAoC,CAAC;QAEvJ,IAAI,sBAAsB,YAAY,MAAM,CAAC,OAAO,EAAE;YACpD,sBAAsB,CAAC,IAAI,CAAC,UAAC,gBAAyB;gBACpD,wBAAwB,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;YAClG,CAAC,CAAC,CAAC;SACJ;aACI;YACH,wBAAwB,CAAC,aAAa,CAAC,YAAY,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;SACvG;KAEF;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAM,sBAAsB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtD,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C;AACH,CAAC;AAED,SAAS,eAAe,CAAC,SAAkB;IACzC,IAAM,qBAAqB,GAAG,mBAAmB,CAAC,eAAe,CAAC,qBAAW,CAAC,CAAC;IAC/E,IAAM,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAoC,CAAC;IAClI,mBAAmB,CAAC,IAAI,CAAC,UAAC,gBAAyB;QACjD,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB;IAC7B,IAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;IACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,4BAA4B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,SAAkB;IACtD,IAAM,SAAS,GAAG,mBAAmB,CAAC,eAAe,CAAC,oBAAkB,CAAC,CAAC;IAC1E,IAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAoC,CAAC;IAC1G,OAAO,CAAC,IAAI,CAAC,UAAC,gBAAyB;QACrC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;IAC5C,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,kBAAkB,EAAE,CAAC;IACrB,kBAAkB,EAAE,CAAC;IACrB,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,CAAC;IAChB,uBAAuB,EAAE,CAAC;IAC1B,0BAA0B,EAAE,CAAC;IAC7B,mBAAmB,EAAE,CAAC;IACtB,gBAAgB,EAAE,CAAC;IACnB,sBAAsB,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,iBAAS;IACP,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,QAAQ;IAClB,kBAAkB,EAAE,kBAAkB;IACtC,kBAAkB,EAAE,kBAAkB;IACtC,gBAAgB,EAAE,gBAAgB;IAClC,aAAa,EAAE,aAAa;IAC5B,uBAAuB,EAAE,uBAAuB;IAChD,mBAAmB,EAAE,mBAAmB;IACxC,iBAAiB,EAAE,gBAAgB;IACnC,sBAAsB,EAAE,sBAAsB;CAC/C,CAAC;;;;;;;;;;;;;;;AClLF,IAAM,SAAS,GAAoB;IACjC,cAAc,EAAE;QACd,UAAU,EAAE;YACV,cAAc,EAAE,kBAAkB;YAClC,mBAAmB,EAAE,iBAAiB;SACvC;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,QAAQ;YACrB,cAAc,EAAE,WAAW;SAC5B;QACD,UAAU,EAAE;YACV,UAAU,EAAE,WAAW;YACvB,kBAAkB,EAAE,oFAAoF;YACxG,aAAa,EAAE,kBAAkB;YACjC,eAAe,EAAE,oBAAoB;YACrC,aAAa,EAAE,sBAAsB;YACrC,YAAY,EAAE,gBAAgB;YAC9B,eAAe,EAAE,qBAAqB;YACtC,YAAY,EAAE,yCAAyC;YACvD,iBAAiB,EAAE,4IAA4I;SAChK;KACF;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,cAAc;KAC5B;IACD,KAAK,EAAE;QACL,KAAK,EAAE,eAAe;QACtB,YAAY,EAAE,SAAS;QACvB,iBAAiB,EAAE,UAAU;KAC9B;IACD,WAAW,EAAE;QACX,UAAU,EAAE,wBAAwB;KACrC;IACD,SAAS,EAAE;QACT,6BAA6B,EAAE,SAAS;QACxC,4BAA4B,EAAE,QAAQ;QACtC,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,MAAM;QACjB,eAAe,EAAE,MAAM;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,MAAM;QACvB,eAAe,EAAE,MAAM;KACxB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,sBAAsB;QAChC,SAAS,EAAE,YAAY;KACxB;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,cAAc;QAC/B,gBAAgB,EAAE,aAAa;QAC/B,YAAY,EAAE,kBAAkB;KACjC;IACD,kBAAkB,EAAE;QAClB,WAAW,EAAE,oGAAoG;QACjH,sBAAsB,EAAE,wPACgH;QACxI,oBAAoB,EAAE,4PACsH;QAC5I,gBAAgB,EAAE,sPACyG;KAC5H;CACF,CAAC;AACF,kBAAe,SAAS,CAAC;;;;;;;;;;;;;;;AChEzB,IAAM,SAAS,GAAoB;IACjC,cAAc,EAAE;QACd,UAAU,EAAE;YACV,cAAc,EAAE,uBAAuB;YACvC,mBAAmB,EAAE,yBAAyB;SAC/C;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,WAAW;YACxB,cAAc,EAAE,SAAS;SAC1B;QACD,UAAU,EAAE;YACV,UAAU,EAAE,SAAS;YACrB,kBAAkB,EAAE,kGAAkG;YACtH,aAAa,EAAE,sBAAsB;YACrC,eAAe,EAAE,yBAAyB;YAC1C,aAAa,EAAE,qBAAqB;YACpC,YAAY,EAAE,kBAAkB;YAChC,eAAe,EAAE,uBAAuB;YACxC,YAAY,EAAE,sDAAsD;YACpE,iBAAiB,EAAE,kLAAkL;SACtM;KACF;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,YAAY;QACxB,WAAW,EAAE,uBAAuB;KACrC;IACD,KAAK,EAAE;QACL,KAAK,EAAE,gBAAgB;QACvB,YAAY,EAAE,cAAc;QAC5B,iBAAiB,EAAE,YAAY;KAChC;IACD,WAAW,EAAE;QACX,UAAU,EAAE,wBAAwB;KACrC;IACD,SAAS,EAAE;QACT,6BAA6B,EAAE,SAAS;QACxC,4BAA4B,EAAE,UAAU;QACxC,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,SAAS;QACpB,eAAe,EAAE,YAAY;QAC7B,cAAc,EAAE,aAAa;QAC7B,eAAe,EAAE,QAAQ;QACzB,eAAe,EAAE,SAAS;KAC3B;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,sBAAsB;QAChC,SAAS,EAAE,oBAAoB;KAChC;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,YAAY;QAC7B,gBAAgB,EAAE,aAAa;QAC/B,YAAY,EAAE,kBAAkB;KACjC;IACD,kBAAkB,EAAE;QAClB,WAAW,EAAE,gJAAgJ;QAC7J,sBAAsB,EAAE,8UAC4H;QACpJ,oBAAoB,EAAE,kVACkI;QACxJ,gBAAgB,EAAE,2WACqI;KACxJ;CACF,CAAC;AACF,kBAAe,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;ACjEzB,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAIvB,4BAAoB,GAAG,YAAY,CAAC;AACpC,sCAA8B,GAAG,UAAU,CAAC;AAC5C,wCAAgC,GAAG,eAAe,CAAC;AAGhE;IAKE,oBAAY,cAA8C;QACxD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,4BAAO,GAAP,UAAQ,WAA0C;QAAlD,iBAWC;QAXO,4CAAsB,4BAAoB;QAChD,IAAI,CAAC,WAAW;YAAE,WAAW,GAAG,4BAAoB,CAAC;QAErD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAgB,UAAC,OAAO,EAAE,MAAM;YACvD,IAAM,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC1E,cAAc,CAAC,IAAI,CAAC,UAAC,OAAO;gBAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAAU,GAAV,UAAW,WAA0C;QAArD,iBAcC;QAdU,4CAAsB,4BAAoB;QACnD,IAAI,CAAC,WAAW;YAAE,WAAW,GAAG,4BAAoB,CAAC;QAErD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAiB,UAAC,OAAO,EAAE,MAAM;YACxD,IAAM,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC1E,cAAc,CAAC,IAAI,CAAC,UAAC,OAAO;gBAC1B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,CAAC;;oBAEd,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAY,GAAZ,UAAa,WAA0C;QAAvD,iBAmBC;QAnBY,4CAAsB,4BAAoB;QACrD,IAAI,CAAC,WAAW;YAAE,WAAW,GAAG,4BAAoB,CAAC;QAErD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAuB,UAAC,OAAO,EAAE,MAAM;YAC9D,IAAM,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC1E,cAAc,CAAC,IAAI,CAAC,UAAC,OAAO;;gBAC1B,IAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvC,IAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACvC,eAAS,CAAC,GAAG,EAAC,IAAI,WAAI,QAAQ,EAAE;iBACjC;gBAED,KAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;gBAC5C,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAa,GAAb,UAAc,OAAgB;QAC5B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,OAAO,CAAC;SAChB;QAED,IAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;YACpF,IAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAM,KAAK,GAAG,2FAA8E,IAAI,QAAI,CAAC;YACrG,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;SAC7C;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,IAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACvB;SACF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,gDAA2B,GAAnC,UAAoC,SAAuB;QACzD,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7B,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,SAAS,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC;YAChC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC5B;IACH,CAAC;IArFD;QADC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC;sDAC1B;IAHpC,UAAU;QAD9B,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC;OACnB,UAAU,CAyF9B;IAAD,iBAAC;CAAA;kBAzFoB,UAAU;;;;;;;;;;;;;;;;;;;;;ACT/B,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAIpC;IAOE,gCAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,6CAAY,GAAZ,UAAa,QAAgB,EAAE,WAAmB;QAChD,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;YAElC,IAAI,GAAG,GAAG,wCAAwC,CAAC;YACnD,IAAI,QAAQ,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI;gBAAE,GAAG,IAAI,eAAa,QAAQ,qBAAgB,WAAa,CAAC;YAEzG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAuB,GAAG,EAAE,IAAI,CAAC,CAAC;SAC/E;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAjBD;QADC,SAAS,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;8DACnD;IAHnB,sBAAsB;QAD1C,SAAS,CAAC,eAAe,CAAC,wBAAwB,CAAC;OAC/B,sBAAsB,CAqB1C;IAAD,6BAAC;CAAA;kBArBoB,sBAAsB;;;;;;;;;;;;;;;;;;;;;ACJ3C,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC;IAQE,yBAAY,UAA6B,EAAE,SAA0B;QACnE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,+CAAqB,GAArB;QAAA,iBAYC;QAXC,OAAO,IAAI,MAAM,CAAC,OAAO,CAA0B,UAAC,OAAO,EAAE,MAAM;YACjE,IAAM,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAAkB,uCAAuC,EAAE,IAAI,CAAC,CAAC;YACpG,OAAO,CAAC,IAAI,CAAC,UAAC,SAA0B;gBACtC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;oBACxB,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;;oBAEnE,OAAO,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAuB,GAAvB,UAAwB,UAAkB;QAA1C,iBAWC;QAVC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE3D,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,IAAM,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,2CAAyC,UAAY,EAAE,IAAI,CAAC,CAAC;YACpG,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,OAAe;gBACvB,MAAM,CAAC,OAAO,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAe,GAAf,UAAgB,UAAkB;QAChC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,2CAAiB,GAAjB,UAAkB,UAAkB;QAClC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAEO,uCAAa,GAArB,UAAsB,UAAkB,EAAE,SAAiB;QAA3D,iBASC;QARC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAkB,UAAC,OAAO,EAAE,MAAM;YACzD,IAAM,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,2CAAyC,UAAU,cAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YACpI,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,OAAe;gBACvB,MAAM,CAAC,OAAO,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IA1DD;QADC,SAAS,CAAC,kBAAkB,CAAC,+BAA+B,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;uDAC1D;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,+BAA+B,EAAE,iBAAiB,CAAC;sDAC9C;IANhB,eAAe;QADnC,SAAS,CAAC,eAAe,CAAC,+BAA+B,CAAC;OACtC,eAAe,CA+DnC;IAAD,sBAAC;CAAA;kBA/DoB,eAAe;;;;;;;;;;;;;;;;;;;;;ACLpC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC;IAIE,6BAAY,KAAa,EAAE,SAAiB;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IACH,0BAAC;AAAD,CAAC;AAGD;IAWE,6BAAY,UAA6B,EAAE,MAAqB,EAAE,kBAA8C;QAC9G,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,4CAAc,GAAd,UAAe,QAAgB;QAA/B,iBAmCC;QAlCC,IAAM,oBAAoB,GAAG,iBAAiB,CAAC;QAC/C,IAAM,WAAW,GAAY;YAC3B,KAAK,EAAE,CAAC;YACR,oBAAoB,EAAE,KAAK;YAC3B,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ;YACxC,CAAC,EAAE,QAAQ;YACX,SAAS,EAAE,iBAAiB;YAC5B,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU;YACvD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SACtD,CAAC;QAEF,OAAO,IAAI,MAAM,CAAC,OAAO,CAA4B,UAAC,OAAO,EAAE,MAAM;YACnE,IAAM,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,0CAAwC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAY,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAChK,OAAO,CAAC,IAAI,CAAC,UAAC,YAAY;gBACxB,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAa,CAAC;gBACtD,IAAI,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE;oBACpC,IAAM,WAAW,GAAsB,EAAE,CAAC;oBAE1C,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAO,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpD,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,oBAAoB,IAAI,GAAG;4BAAE,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC1H;oBAED,OAAO,CAAC,WAAW,CAAC,CAAC;iBACtB;qBAEI;oBACH,OAAO,CAAC,EAAE,CAAC,CAAC;iBACb;YACH,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,KAAK,CAAC,MAAa,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,6CAAe,GAAvB,UAAwB,UAAsB;QAC5C,IAAM,UAAU,GAAG;YACjB,IAAI,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;YACrC,IAAI,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC;YACtC,IAAI,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC;YACxC,IAAI,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC;YAC1C,IAAI,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC;YAClC,IAAI,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC;SACnC,CAAC;QAEF,IAAI,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE;YACxC,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE9F,OAAO;YACL,OAAO,EAAE,iBAAiB;YAC1B,gBAAgB,EAAE,UAAU,CAAC,UAAU;SACxC,CAAC;IACJ,CAAC;IArED;QADC,SAAS,CAAC,kBAAkB,CAAC,6CAA6C,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;2DACxE;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,6CAA6C,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;uDAC3E;IAG9B;QADC,SAAS,CAAC,kBAAkB,CAAC,6CAA6C,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;mEAC/D;IATpC,mBAAmB;QADvC,SAAS,CAAC,eAAe,CAAC,6CAA6C,CAAC;OACpD,mBAAmB,CAyEvC;IAAD,0BAAC;CAAA;kBAzEoB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;AChBxC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAEvB,wBAAgB,GAAG,wCAAwC,CAAC;AAGzE;IAcE,uBAAY,QAAkB,EAAE,oBAAyD,EAAE,UAA6B,EAAE,kBAA8C;QACtK,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,wCAAgB,GAAhB,UAAiB,QAAgB;QAC/B,IAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;QAC9D,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,QAAQ,cAAc,EAAE;YACtB,KAAK,KAAK;gBACR,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACvD,QAAQ;wBACM,mGAAmG,CAAC;iBACnH;qBAAM;oBACL,QAAQ;wBACM,iGAAiG,CAAC;iBAEjH;gBACD,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACvD,QAAQ;wBACM,wEAAwE,CAAC;iBACxF;qBAAM;oBACL,QAAQ;wBACM,qEAAqE,CAAC;iBAErF;gBACD,MAAM;YACR,KAAK,IAAI;gBACP,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACvD,QAAQ;wBACM,yDAAyD,CAAC;iBACzE;qBAAM;oBACL,QAAQ;wBACM,oDAAoD,CAAC;iBAEpE;gBACD,MAAM;YACR,QAAQ;SACT;QAED,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,2BAAyB,QAAQ,GAAG,QAAU,CAAC,CAAC;IACvE,CAAC;IAED,uCAAe,GAAf;QACE,IAAM,GAAG,GAAG,uDAAqD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAc,wBAAgB,iBAAY,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAY,CAAC;QACxM,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAS,GAAG,EAAE,KAAK,CAAC,CAAC;QAGxD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAmB,UAAC,OAAO;YAClD,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC,KAAK,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAvED;QADC,SAAS,CAAC,kBAAkB,CAAC,sCAAsC,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;mDACzE;IAG3B;QADC,SAAS,CAAC,kBAAkB,CAAC,sCAAsC,EAAE,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC;+DAChD;IAGlE;QADC,SAAS,CAAC,kBAAkB,CAAC,sCAAsC,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;qDACjE;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,sCAAsC,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;6DACxD;IAZpC,aAAa;QADjC,SAAS,CAAC,eAAe,CAAC,sCAAsC,CAAC;OAC7C,aAAa,CA2EjC;IAAD,oBAAC;CAAA;kBA3EoB,aAAa;;;;;;;;;;;;;;;ACLlC;IAAA;IAGA,CAAC;IAAD,oBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;ACJD,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAKpC;IAWE,oCAAY,UAA6B,EAAE,oBAA0C,EAAE,WAAwC;QAC7H,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,2DAAsB,GAAtB,UAAuB,eAAoB;QAA3C,iBA6BC;QA7BsB,sDAAoB;QACzC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAmB,UAAC,OAAO,EAAE,MAAM;YAC1D,IAAM,OAAO,GAAG,KAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;YACvD,IAAM,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAA4B,KAAI,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;YACjH,OAAO,CAAC,IAAI,CAAC,UAAC,QAAmC;gBAC/C,IAAM,mBAAmB,GAAG,KAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;gBAC/D,IAAM,GAAG,GAAG,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACzB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI;wBACnD,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;wBAC3D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBACxB;yBAAM;wBACL,IAAI,mBAAmB,EAAE;4BACvB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;gCAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;6BACxB;yBACF;6BAAM;4BACL,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;gCAClC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;6BACxB;yBACF;qBACF;iBACF;gBACD,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gDAAW,GAAnB,UAAoB,OAAY,EAAE,eAAoB;QAAlC,sCAAY;QAAE,sDAAoB;QACpD,IAAI,QAAQ,GAAG,6BAA6B,CAAC;QAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,OAAO;YAAE,MAAM,IAAI,aAAW,OAAS,CAAC;QAC5C,IAAI,OAAO,IAAI,eAAe;YAAE,MAAM,IAAI,GAAG,CAAC;QAC9C,IAAI,eAAe;YAAE,MAAM,IAAI,qBAAmB,eAAiB,CAAC;QAEpE,IAAI,MAAM;YAAE,QAAQ,IAAI,MAAI,MAAQ,CAAC;QAErC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAxDD;QADC,SAAS,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;kEACvD;IAGtC;QADC,SAAS,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC;4EACrD;IAGnD;QADC,SAAS,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;mEAC7C;IAT9B,0BAA0B;QAD9C,SAAS,CAAC,eAAe,CAAC,4BAA4B,CAAC;OACnC,0BAA0B,CA6D9C;IAAD,iCAAC;CAAA;kBA7DoB,0BAA0B;;;;;;;;;;;;;;;;;;;;;ACL/C,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAIpC;IAKE,gCAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,8CAAa,GAAb;QACE,IAAM,GAAG,GAAG,iDAAiD,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAS,GAAG,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,8CAAa,GAAb,UAAc,UAAkB;QAC9B,IAAM,GAAG,GAAG,iDAAiD,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,iDAAgB,GAAhB;QACE,IAAM,GAAG,GAAG,iDAAiD,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,oDAAmB,GAAnB;QACE,IAAM,GAAG,GAAG,uDAAuD,CAAC;QACpE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAS,GAAG,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,uDAAsB,GAAtB;QACE,IAAM,GAAG,GAAG,uDAAuD,CAAC;QACpE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,kDAAiB,GAAjB;QACE,IAAM,GAAG,GAAG,iDAAiD,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAa,GAAG,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAlCD;QADC,SAAS,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;8DACnD;IAHnB,sBAAsB;QAD1C,SAAS,CAAC,eAAe,CAAC,wBAAwB,CAAC;OAC/B,sBAAsB,CAsC1C;IAAD,6BAAC;CAAA;kBAtCoB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;ACH3C,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AACpC,yIAA2D;AAE9C,wBAAgB,GAAG,wCAAwC,CAAC;AAC5D,4BAAoB,GAAG,YAAY,CAAC;AAGjD;IAcE,qBAAY,cAA8C,EAAE,SAA2B,EAAE,WAAwC,EAAE,kBAA8C;QAC/K,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED,+BAAS,GAAT,UAAU,WAA0C;QAApD,iBA+BC;QA/BS,4CAAsB,4BAAoB;QAClD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEjE,IAAI,CAAC,WAAW;YAAE,WAAW,GAAG,4BAAoB,CAAC;QAErD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAwB,UAAC,OAAO,EAAE,MAAM;YAC/D,IAAM,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAE3E,cAAc,CAAC,IAAI,CAAC,UAAC,QAAQ;gBAC3B,IAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;gBAC1C,aAAa,CAAC,GAAG,GAAG,mBAAmB,CAAC;gBACxC,aAAa,CAAC,IAAI,GAAG,EAAE,CAAC;gBACxB,IAAI,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACtC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,UAAC,CAAM,EAAE,CAAM,IAAO,OAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAS,GAAI,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5I,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBACnC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;wBACtB,EAAE,EAAE,UAAU,CAAC,EAAE;wBACjB,GAAG,EAAK,mBAAmB,YAAO,UAAU,CAAC,EAAI;wBACjD,IAAI,EAAE,UAAU,CAAC,QAAQ;wBACzB,OAAO,EAAE,UAAU,CAAC,OAAO;wBAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;qBACxB,CAAC,CAAC;iBACJ;gBAED,OAAO,CAAC,aAAa,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gCAAU,GAAlB;QACE,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM;YAC3I,OAAO,EAAE,CAAC;QAEZ,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACxD,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YAChK,cAAc,GAAG,KAAK,CAAC;QAEzB,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,4CAAsB,GAA9B,UAA+B,OAAe;QAC5C,IAAM,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE9C,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;YAC/C,OAAO,eAAa,OAAO,CAAC,WAAW,EAAE,MAAG,CAAC;QAE/C,OAAO,YAAY,CAAC;IACtB,CAAC;IArED;QADC,SAAS,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC;uDACpC;IAGvD;QADC,SAAS,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;kDAClD;IAGpC;QADC,SAAS,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;oDACvC;IAGjD;QADC,SAAS,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC;2DACxC;IAZpC,WAAW;QAD/B,SAAS,CAAC,eAAe,CAAC,sBAAsB,CAAC;OAC7B,WAAW,CAyE/B;IAAD,kBAAC;CAAA;kBAzEoB,WAAW;;;;;;;;;;;;;;;;;;;;;ACRhC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAMpC;IAKE,0BAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,8CAAmB,GAAnB;QACE,IAAM,GAAG,GAAG,gCAAgC,CAAC;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAmB,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,kDAAuB,GAAvB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mDAAmD,EAAE,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED,2DAAgC,GAAhC;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,uDAA4B,GAA5B;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,2CAA2C,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IAED,qDAA0B,GAA1B;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,kDAAuB,GAAvB;QACE,IAAM,GAAG,GAAG,kCAAkC,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAuB,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,yCAAc,GAAd,UAAe,aAAqB;QAClC,IAAM,GAAG,GAAG,4BAA0B,aAAe,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,wDAA6B,GAA7B;QAAA,iBAUC;QATC,OAAO,IAAI,MAAM,CAAC,OAAO,CAA+C,UAAC,OAAO,EAAE,MAAM;YACtF,IAAM,GAAG,GAAG,+CAA+C,CAAC;YAC5D,IAAM,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,UAAC,QAAQ;gBACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACb,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IA/CD;QADC,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;wDAC7C;IAHnB,gBAAgB;QADpC,SAAS,CAAC,eAAe,CAAC,kBAAkB,CAAC;OACzB,gBAAgB,CAmDpC;IAAD,uBAAC;CAAA;kBAnDoB,gBAAgB;;;;;;;;;;;;;;;;;;;;;ACNrC,IAAO,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAIpC;IAKE,uCAAY,UAA6B;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,iEAAyB,GAAzB,UAA0B,iBAAyB;QAAnD,iBAUC;QATC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAsC,UAAC,OAAO,EAAE,MAAM;YAC7E,IAAM,GAAG,GAAG,gFAA8E,iBAAmB,CAAC;YAC9G,IAAM,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAA8B,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,UAAC,KAAkC;gBAC9C,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAa;gBACrB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAhBD;QADC,SAAS,CAAC,kBAAkB,CAAC,+BAA+B,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;qEAC1D;IAHnB,6BAA6B;QADjD,SAAS,CAAC,eAAe,CAAC,+BAA+B,CAAC;OACtC,6BAA6B,CAqBjD;IAAD,oCAAC;CAAA;kBArBoB,6BAA6B;;;;;;;;;;;;ACJlD,+EAA+E,8EAA8E,YAAY,IAAI,IAAI,cAAc,Q;;;;;;;;;;;ACA/L,kD;;;;;;;;;;;ACAA,0CAA0C,cAAc,Q;;;;;;;;;;;ACAxD,kDAAkD,iBAAiB,KAAK,YAAY,wDAAwD,yBAAyB,yEAAyE,qEAAqE,uEAAuE,qEAAqE,uCAAuC,yBAAyB,kB;;;;;;;;;;;ACA/f,8FAA8F,iBAAiB,+F;;;;;;;;;;;ACA/G,oCAAoC,UAAU,MAAM,YAAY,Y;;;;;;;;;;;ACAhE,8FAA8F,YAAY,qD;;;;;;;;;;;ACA1G,oGAAoG,UAAU,KAAK,SAAS,sDAAsD,kBAAkB,gB;;;;;;;;;;;ACApM,0FAA0F,SAAS,kDAAkD,kBAAkB,gB;;;;;;;;;;;ACAvK,yHAAyH,sBAAsB,kDAAkD,uBAAuB,mJAAmJ,mBAAmB,oB;;;;;;;;;;;ACA9X,4EAA4E,YAAY,uCAAuC,eAAe,oCAAoC,eAAe,gJAAgJ,gBAAgB,oB;;;;;;;;;;;ACAjW,4EAA4E,YAAY,+CAA+C,iBAAiB,oCAAoC,gBAAgB,wB;;;;;;;;;;;ACA5M,qV;;;;;;;;;;;ACAA,6H;;;;;;;;;;;ACAA,gHAAgH,YAAY,+TAA+T,KAAK,qBAAqB,mJAAmJ,KAAK,wBAAwB,mUAAmU,kCAAkC,4H;;;;;;;;;;;ACA1+B,gHAAgH,YAAY,wT;;;;;;;;;;;ACA5H,gHAAgH,YAAY,gO;;;;;;;;;;;ACA5H,kCAAkC,iBAAiB,qCAAqC,SAAS,uCAAuC,WAAW,eAAe,aAAa,mBAAmB,8BAA8B,2FAA2F,UAAU,oCAAoC,wGAAwG,SAAS,KAAK,YAAY,IAAI,IAAI,YAAY,oGAAoG,oBAAoB,mlB;;;;;;;;;;;ACAvnB,iCAAiC,iBAAiB,qCAAqC,SAAS,8NAA8N,mBAAmB,iDAAiD,WAAW,oGAAoG,UAAU,oCAAoC,wGAAwG,SAAS,KAAK,YAAY,IAAI,IAAI,YAAY,kJAAkJ,qCAAqC,oBAAoB,4DAA4D,yCAAyC,uCAAuC,sBAAsB,8DAA8D,yCAAyC,oCAAoC,oBAAoB,4DAA4D,wGAAwG,iBAAiB,0LAA0L,eAAe,2C;;;;;;;;;;;ACA/jD,2GAA2G,YAAY,2KAA2K,sCAAsC,wBAAwB,KAAK,mBAAmB,kB;;;;;;;;;;;ACAxX,qLAAqL,gBAAgB,oBAAoB,sFAAsF,uQAAuQ,wBAAwB,wCAAwC,mBAAmB,qM;;;;;;;;;;;ACAzoB,6I;;;;;;;;;;;ACAA,yJ;;;;;;;;;;;ACAA,iFAAiF,cAAc,S;;;;;;;;;;;ACA/F,qJAAqJ,cAAc,uB;;;;;;;;;;;ACAnK,gFAAgF,YAAY,iDAAiD,oBAAoB,KAAK,mBAAmB,gEAAgE,uBAAuB,KAAK,wBAAwB,2B;;;;;;;;;;;ACA7S,gFAAgF,YAAY,iDAAiD,oBAAoB,KAAK,mBAAmB,gEAAgE,uBAAuB,KAAK,wBAAwB,2B;;;;;;;;;;;ACA7S,iDAAiD,oBAAoB,kBAAkB,mBAAmB,kBAAkB,yBAAyB,yBAAyB,kBAAkB,sLAAsL,wdAAwd,mCAAmC,eAAe,gBAAgB,oBAAoB,kBAAkB,iBAAiB,qBAAqB,kBAAkB,mBAAmB,cAAc,wCAAwC,mCAAmC,eAAe,gBAAgB,oBAAoB,kBAAkB,iBAAiB,qBAAqB,kBAAkB,mBAAmB,wBAAwB,iB;;;;;;;;;;;ACAlwC,qGAAqG,iBAAiB,uGAAuG,UAAU,kBAAkB,6FAA6F,IAAI,kBAAkB,oB;;;;;;;;;;;ACA5W,+FAA+F,iBAAiB,uGAAuG,UAAU,kBAAkB,6FAA6F,IAAI,kBAAkB,oB;;;;;;;;;;;ACAtW,0EAA0E,WAAW,8CAA8C,UAAU,mBAAmB,MAAM,oBAAoB,OAAO,kBAAkB,QAAQ,kBAAkB,OAAO,eAAe,QAAQ,iBAAiB,OAAO,EAAE,YAAY,OAAO,MAAM,cAAc,a;;;;;;;;;;;ACA5U,0EAA0E,WAAW,wCAAwC,UAAU,mBAAmB,MAAM,oBAAoB,OAAO,kBAAkB,QAAQ,kBAAkB,OAAO,eAAe,QAAQ,iBAAiB,OAAO,EAAE,YAAY,OAAO,MAAM,YAAY,mCAAmC,cAAc,gB;;;;;;;;;;;ACArX,sMAAsM,cAAc,e;;;;;;;;;;;ACApN,8IAA8I,cAAc,sDAAsD,cAAc,e;;;;;;;;;;;ACAhO,0MAA0M,cAAc,e;;;;;;;;;;;ACAxN,+MAA+M,cAAc,e;;;;;;;;;;;ACA7N,4EAA4E,YAAY,0CAA0C,cAAc,yCAAyC,wBAAwB,sB;;;;;;;;;;;ACAjN,wJAAwJ,cAAc,uB","file":"eewidgets.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./widgets/src/main.ts\");\n","\r\nimport Injection = EECore.Injection;\r\nimport AdsSlideshow from \"../../services/entities/ads/adsSlideshow\";\r\n\r\nclass SlideshowState {\r\n container: Element;\r\n slides: Element[];\r\n progressElements: Element[];\r\n slideCount: number;\r\n currentIndex: number;\r\n playing: boolean;\r\n canResume: boolean;\r\n playInterval: number;\r\n playIntervalReference: number;\r\n}\r\n\r\n@Injection.injectableClass(\"AdsSlideshowBehavior\")\r\nexport default class AdsSlideshowBehavior {\r\n\r\n @Injection.injectableProperty(\"AdsSlideshowBehavior\", EECore.Registrations.HTML_HELPER)\r\n private htmlHelper: EECore.HtmlHelper;\r\n\r\n constructor(htmlHelper: EECore.HtmlHelper) {\r\n this.htmlHelper = htmlHelper;\r\n }\r\n\r\n apply(element: Element, parameters: AdsSlideshow): void {\r\n const slideContainer = element.querySelector(\".slides\");\r\n const progressContainer = element.querySelector(\".progress\");\r\n const controlsContainer = element.querySelector(\".controls\");\r\n const slides = slideContainer.querySelectorAll(\".slide\");\r\n const progressElements = progressContainer.children;\r\n\r\n const state: SlideshowState = {\r\n container: element,\r\n slides: Array.prototype.slice.call(slides),\r\n progressElements: Array.prototype.slice.call(progressElements),\r\n slideCount: slides.length,\r\n currentIndex: null,\r\n playing: false,\r\n canResume: false,\r\n playInterval: parameters.interval,\r\n playIntervalReference: null\r\n };\r\n\r\n this.setActive(state, 0);\r\n\r\n const me = this;\r\n const playButton = controlsContainer.querySelector(\"[data-action=play]\");\r\n playButton.addEventListener(\"click\", () => {\r\n me.start(state);\r\n });\r\n\r\n const pauseButton = controlsContainer.querySelector(\"[data-action=pause]\");\r\n pauseButton.addEventListener(\"click\", () => {\r\n me.stop(state);\r\n });\r\n\r\n const previousButton = controlsContainer.querySelector(\"[data-action=previous]\");\r\n previousButton.addEventListener(\"click\", () => {\r\n me.pause(state);\r\n me.setActive(state, state.currentIndex - 1);\r\n me.resume(state);\r\n });\r\n\r\n const nextButton = controlsContainer.querySelector(\"[data-action=next]\");\r\n nextButton.addEventListener(\"click\", () => {\r\n me.pause(state);\r\n me.setActive(state, state.currentIndex + 1);\r\n me.resume(state);\r\n });\r\n\r\n for (let i = 0; i < progressElements.length; i++) {\r\n this.applyProgressBehavior(progressElements[i], state);\r\n }\r\n\r\n if (parameters.autoPlay) this.start(state);\r\n }\r\n\r\n private applyProgressBehavior(progressElement: Element, state: SlideshowState) {\r\n const progressIndex = parseInt(progressElement.getAttribute(\"data-index\"));\r\n const me = this;\r\n progressElement.addEventListener(\"click\", () => {\r\n me.pause(state);\r\n me.setActive(state, progressIndex);\r\n me.resume(state);\r\n });\r\n }\r\n\r\n private start(state: SlideshowState) {\r\n if (!state.playing) {\r\n const me = this;\r\n state.playing = true;\r\n this.htmlHelper.addCssClass(state.container, \"playing\");\r\n state.playIntervalReference = window.setInterval(() => {\r\n me.setActive(state, state.currentIndex + 1);\r\n }, state.playInterval);\r\n }\r\n }\r\n\r\n private stop(state: SlideshowState) {\r\n if (state.playing) {\r\n state.playing = false;\r\n this.htmlHelper.removeCssClass(state.container, \"playing\");\r\n window.clearInterval(state.playIntervalReference);\r\n }\r\n }\r\n\r\n private pause(state: SlideshowState) {\r\n state.canResume = state.playing;\r\n this.stop(state);\r\n }\r\n\r\n private resume(state: SlideshowState) {\r\n if (state.canResume) {\r\n this.start(state);\r\n state.canResume = false;\r\n }\r\n }\r\n\r\n private setActive(state: SlideshowState, newIndex: number) {\r\n while (newIndex < 0) newIndex += state.slideCount;\r\n newIndex = newIndex % state.slideCount;\r\n\r\n if (newIndex !== state.currentIndex) {\r\n if (state.currentIndex != null) {\r\n this.htmlHelper.removeCssClass(state.slides[state.currentIndex], \"active\");\r\n this.htmlHelper.removeCssClass(state.progressElements[state.currentIndex], \"active\");\r\n }\r\n\r\n this.htmlHelper.addCssClass(state.slides[newIndex], \"active\");\r\n this.htmlHelper.addCssClass(state.progressElements[newIndex], \"active\");\r\n state.currentIndex = newIndex;\r\n }\r\n }\r\n\r\n}","\r\nimport Injection = EECore.Injection;\r\n\r\n@Injection.injectableClass(\"DocumentCentreAdvancedSearchBarBehavior\")\r\nexport default class AdvancedSearchBarBehavior {\r\n\r\n disableSearch(component: Element) {\r\n const inputField = component.querySelector(\"input\");\r\n if (inputField != null) {\r\n inputField.setAttribute(\"disabled\", \"true\");\r\n inputField.style.cursor = \"no-drop\";\r\n }\r\n \r\n const button = component.querySelector(\"button\");\r\n if (button != null) {\r\n button.setAttribute(\"disabled\", \"true\");\r\n button.style.cursor = \"no-drop\";\r\n button.style.background = \"#ebebe4\";\r\n }\r\n }\r\n}\r\n","\r\nimport Injection = EECore.Injection;\r\nimport DocumentService from \"../../services/documentCentre/documentService\";\r\n\r\n@Injection.injectableClass(\"DocumentCentreFavouriteDocumentBehavior\")\r\nexport default class FavouriteDocumentBehavior {\r\n\r\n @Injection.injectableProperty(\"DocumentCentreFavouriteDocumentBehavior\", \"DocumentCentreDocumentService\")\r\n private documentService: DocumentService;\r\n\r\n constructor(documentService: DocumentService) {\r\n this.documentService = documentService;\r\n }\r\n\r\n apply(documentElement: Element): void {\r\n const documentId = documentElement.getAttribute(\"data-id\");\r\n const removeFavouriteButton = documentElement.querySelector(\"[data-action='remove']\");\r\n if (removeFavouriteButton != null) {\r\n removeFavouriteButton.addEventListener(\"click\", () => {\r\n this.documentService.removeFavouriteDocument(documentId).then(() => {\r\n documentElement.parentElement.removeChild(documentElement);\r\n });\r\n });\r\n }\r\n\r\n const moveFavouriteUpButton = documentElement.querySelector(\"[data-action='move-up']\");\r\n if (moveFavouriteUpButton) {\r\n moveFavouriteUpButton.addEventListener(\"click\", () => {\r\n this.documentService.moveFavouriteUp(documentId).then(() => {\r\n documentElement.parentElement.insertBefore(documentElement, documentElement.previousElementSibling);\r\n });\r\n });\r\n }\r\n\r\n const moveFavouriteDownButton = documentElement.querySelector(\"[data-action='move-down']\");\r\n if (moveFavouriteDownButton) {\r\n moveFavouriteDownButton.addEventListener(\"click\", () => {\r\n this.documentService.moveFavouriteDown(documentId).then(() => {\r\n documentElement.parentElement.insertBefore(documentElement.nextElementSibling, documentElement);\r\n });\r\n });\r\n }\r\n }\r\n\r\n}","\r\nimport Injection = EECore.Injection;\r\n\r\n@Injection.injectableClass(\"DocumentCentreFavouriteDocumentListBehavior\")\r\nexport default class FavouriteDocumentBehavior {\r\n\r\n @Injection.injectableProperty(\"DocumentCentreFavouriteDocumentListBehavior\", EECore.Registrations.HTML_HELPER)\r\n private htmlHelper: EECore.HtmlHelper;\r\n\r\n constructor(htmlHelper: EECore.HtmlHelper) {\r\n this.htmlHelper = htmlHelper;\r\n }\r\n\r\n apply(documentListElement: Element): void {\r\n const showAllButton = documentListElement.querySelector(\"[data-action='show-all']\");\r\n showAllButton.addEventListener(\"click\", () => {\r\n this.htmlHelper.removeCssClass(showAllButton, \"visible\");\r\n this.htmlHelper.addCssClass(showAllButton, \"hidden\");\r\n const hiddenDocuments = documentListElement.querySelectorAll(\".ee_favourite_document.hidden\");\r\n for (let i = 0; i < hiddenDocuments.length; i++) {\r\n this.htmlHelper.removeCssClass(hiddenDocuments[i], \"hidden\");\r\n this.htmlHelper.addCssClass(hiddenDocuments[i], \"visible\");\r\n }\r\n });\r\n }\r\n\r\n}","\r\nimport Injection = EECore.Injection;\r\n\r\n@Injection.injectableClass(\"LoginUiBehavior\")\r\nexport default class UiBehavior {\r\n\r\n removeSectionBasedOnAttribute(container: Element, attribute: string, loginElement: Element, selector: string): void {\r\n\r\n if (!container || !loginElement) return;\r\n\r\n const visible = container.getAttribute(attribute);\r\n if (!visible) return;\r\n\r\n if (visible.toLowerCase() === \"false\") {\r\n const toBeRemoved = (loginElement.querySelector(selector) as HTMLElement);\r\n if (!toBeRemoved) return;\r\n toBeRemoved.parentNode.removeChild(toBeRemoved);\r\n }\r\n }\r\n}","\r\nimport Model from \"../../services/entities/ads/ads\";\r\nimport Injection = EECore.Injection;\r\n\r\n@Injection.injectableClass(\"Ads\")\r\nexport default class Ads implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"Ads\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n model: Model;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory) {\r\n this.templateFactory = templateFactory;\r\n }\r\n\r\n load(): Element {\r\n if (this.model === null) throw new Error(\"web component model is required\");\r\n return this.templateFactory.getTemplate(\"Ads\", this.model);\r\n }\r\n}\r\n","import Injection = EECore.Injection;\r\nimport AdsService from \"../../services/ads/adsService\";\r\nimport AdsEntity from \"../../services/entities/ads/ads\";\r\nimport Ads from \"./ads\";\r\n\r\n\r\n@Injection.injectableClass(\"AdsList\")\r\nexport default class AdsList implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"AdsList\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"AdsList\", \"AdsService\")\r\n private adsService: AdsService;\r\n\r\n @Injection.injectableProperty(\"AdsList\", EECore.Registrations.WEBCOMPONENT_FACTORY)\r\n private webComponentFactory: EECore.UI.WebComponentFactory;\r\n\r\n @Injection.injectableProperty(\"AdsList\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, adsService: AdsService, webComponentFactory: EECore.UI.WebComponentFactory, document: Document) {\r\n this.templateFactory = templateFactory;\r\n this.adsService = adsService;\r\n this.webComponentFactory = webComponentFactory;\r\n this.document = document;\r\n }\r\n\r\n load(container: Element): EECore.Promise {\r\n const contentPath = container.getAttribute(\"ee-content-path\");\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n this.adsService.getList(contentPath).then((adsList: AdsEntity[]) => {\r\n if (adsList.length === 0) {\r\n resolve(this.document.createDocumentFragment() as any);\r\n } else {\r\n const template = this.renderTemplate();\r\n template.appendChild(this.renderAds(adsList));\r\n resolve(template);\r\n }\r\n }).catch(() => {\r\n reject(\"Could not get ads list information.\");\r\n });\r\n });\r\n }\r\n\r\n private renderTemplate(): Element {\r\n return this.templateFactory.getTemplate(\"AdsList\", null);\r\n }\r\n\r\n private renderAds(adsList: AdsEntity[]): Element {\r\n const documentFragment = this.document.createDocumentFragment() as any;\r\n for (let i = 0; i < adsList.length; i++) {\r\n const ads = this.webComponentFactory.getWebComponent(Ads) as Ads;\r\n ads.model = adsList[i];\r\n const e = ads.load();\r\n const trackedEl = this.adsService.trackAllLinks(e);\r\n documentFragment.appendChild(trackedEl);\r\n }\r\n return documentFragment;\r\n }\r\n}","\r\nimport Model from \"../../services/entities/ads/ads\";\r\nimport Injection = EECore.Injection;\r\n\r\n@Injection.injectableClass(\"AdsSlide\")\r\nexport default class AdsSlide implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"AdsSlide\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n model: Model;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory) {\r\n this.templateFactory = templateFactory;\r\n }\r\n\r\n load(): Element {\r\n if (this.model === null) throw new Error(\"web component model is required\");\r\n return this.templateFactory.getTemplate(\"AdsSlide\", this.model);\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport AdsService from \"../../services/ads/adsService\";\r\nimport AdsSlideshowEntity from \"../../services/entities/ads/adsSlideshow\";\r\nimport AdsEntity from \"../../services/entities/ads/ads\";\r\nimport Model from \"../models/ads/adsSlideshowModel\";\r\nimport AdsSlide from \"./adsSlide\";\r\nimport AdsSlideshowBehavior from \"../../behaviors/ads/adsSlideshowBehavior\";\r\n\r\n\r\n@Injection.injectableClass(\"AdsSlideshow\")\r\nexport default class AdsSlideshow implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"AdsSlideshow\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"AdsSlideshow\", \"AdsService\")\r\n private adsService: AdsService;\r\n\r\n @Injection.injectableProperty(\"AdsSlideshow\", EECore.Registrations.WEBCOMPONENT_FACTORY)\r\n private webComponentFactory: EECore.UI.WebComponentFactory;\r\n\r\n @Injection.injectableProperty(\"AdsSlideshow\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n @Injection.injectableProperty(\"AdsSlideshow\", EECore.Registrations.HTML_HELPER)\r\n private htmlHelper: EECore.HtmlHelper;\r\n\r\n @Injection.injectableProperty(\"AdsSlideshow\", \"AdsSlideshowBehavior\")\r\n private adsSlideshowBehavior: AdsSlideshowBehavior;\r\n\r\n @Injection.injectableProperty(\"AdsSlideshow\", EECore.Registrations.UNAVAILABLE_SERVICE)\r\n private unavailableService: EECore.Services.UnavailableService;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory,\r\n adsService: AdsService,\r\n webComponentFactory: EECore.UI.WebComponentFactory,\r\n document: Document, htmlHelper: EECore.HtmlHelper,\r\n adsSlideshowBehavior: AdsSlideshowBehavior,\r\n unavailableService: EECore.Services.UnavailableService) {\r\n this.templateFactory = templateFactory;\r\n this.adsService = adsService;\r\n this.webComponentFactory = webComponentFactory;\r\n this.document = document;\r\n this.htmlHelper = htmlHelper;\r\n this.adsSlideshowBehavior = adsSlideshowBehavior;\r\n this.unavailableService = unavailableService;\r\n }\r\n\r\n load(container: Element): EECore.Promise {\r\n const contentPath = container.getAttribute(\"ee-content-path\");\r\n return new EECore.Promise((resolve, reject) => {\r\n this.adsService.getSlideshow(contentPath).then((adsSlideshowEntity: AdsSlideshowEntity) => {\r\n this.unavailableService.getAvailabilityservice(\"EXT2_PUBS\").then((availability: EECore.Services.Entities.UnavailableModel) => {\r\n if (availability.isAvailable === false) {\r\n resolve(this.document.createDocumentFragment() as any);\r\n }\r\n else if (adsSlideshowEntity.ads.length === 0) {\r\n resolve(this.document.createDocumentFragment() as any);\r\n } else {\r\n const template = this.renderTemplate(adsSlideshowEntity);\r\n const slideContainer = template.querySelector(\".slides\") as HTMLElement;\r\n slideContainer.appendChild(this.renderSlides(adsSlideshowEntity.ads));\r\n if (adsSlideshowEntity.isResponsive && adsSlideshowEntity.ads.length > 0) slideContainer.appendChild(this.renderHiddenSlide(adsSlideshowEntity.ads[0]));\r\n\r\n const progressContainer = template.querySelector(\".progress\") as HTMLElement;\r\n progressContainer.appendChild(this.renderSlidesNavigation(adsSlideshowEntity.ads.length));\r\n\r\n this.adsSlideshowBehavior.apply(template, adsSlideshowEntity);\r\n resolve(template);\r\n }\r\n });\r\n }).catch(() => {\r\n reject(\"Could not get ads slideshow information.\");\r\n });\r\n });\r\n }\r\n\r\n private renderTemplate(adsSlideshowEntity: AdsSlideshowEntity): Element {\r\n const model = new Model();\r\n model.cssClasses = adsSlideshowEntity.effect.toLowerCase();\r\n\r\n if (!adsSlideshowEntity.showOnDesktop) {\r\n model.cssClasses += \" HideInFull\";\r\n if (adsSlideshowEntity.showOnMobile) model.cssClasses += \" ShowInMobile\";\r\n if (adsSlideshowEntity.showOnTablet) model.cssClasses += \" ShowInTablet\";\r\n }\r\n\r\n if (!adsSlideshowEntity.showOnMobile) model.cssClasses += \" HideInMobile\";\r\n if (!adsSlideshowEntity.showOnTablet) model.cssClasses += \" HideInTablet\";\r\n\r\n if (adsSlideshowEntity.isResponsive) model.cssClasses += \" responsive\";\r\n model.controlsCssClasses = adsSlideshowEntity.controlsPosition.toLowerCase();\r\n if (!adsSlideshowEntity.showNavigation) model.controlsCssClasses += \" hideNavigation\";\r\n if (!adsSlideshowEntity.showPlayPause) model.controlsCssClasses += \" hidePlayPause\";\r\n model.progressCssClasses = adsSlideshowEntity.controlsPosition.toLowerCase();\r\n if (!adsSlideshowEntity.showPagination) model.progressCssClasses += \" hideProgress\";\r\n model.style = \"\";\r\n if (!adsSlideshowEntity.isResponsive) model.style = `style=\"width: ${adsSlideshowEntity.width}px; height: ${adsSlideshowEntity.height}px;\"`;\r\n\r\n return this.templateFactory.getTemplate(\"AdsSlideshow\", model);\r\n }\r\n\r\n private renderSlides(ads: AdsEntity[]): Element {\r\n const documentFragment = this.document.createDocumentFragment() as any;\r\n for (let i = 0; i < ads.length; i++) {\r\n const slide = this.renderSlide(ads[i]);\r\n const trackedSlide = this.adsService.trackAllLinks(slide);\r\n documentFragment.appendChild(trackedSlide);\r\n }\r\n return documentFragment;\r\n }\r\n\r\n private renderHiddenSlide(ads: AdsEntity): Element {\r\n const hiddenSlide = this.renderSlide(ads);\r\n this.htmlHelper.removeCssClass(hiddenSlide, \"slide\");\r\n this.htmlHelper.addCssClass(hiddenSlide, \"hiddenSlide\");\r\n\r\n return hiddenSlide;\r\n }\r\n\r\n private renderSlide(ads: AdsEntity): Element {\r\n const slide = this.webComponentFactory.getWebComponent(AdsSlide) as AdsSlide;\r\n slide.model = ads\r\n return slide.load();\r\n }\r\n\r\n private renderSlidesNavigation(adsCount: number): Element {\r\n const documentFragment = this.document.createDocumentFragment() as any;\r\n for (let i = 0; i < adsCount; i++) {\r\n documentFragment.appendChild(this.htmlHelper.fromString(``));\r\n }\r\n\r\n return documentFragment;\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport AdsService, { DEFAULT_ADSLIST_COMPONENT_NAME, DEFAULT_SLIDESHOW_COMPONENT_NAME } from \"../../services/ads/adsService\";\r\nimport AdsSlideshow from \"./adsSlideshow\";\r\nimport AdsList from \"./adsList\";\r\n\r\n@Injection.injectableClass(\"AdsSwitcher\")\r\nexport default class AdsSwitcher implements EECore.UI.IWebComponent {\r\n @Injection.injectableProperty(\"AdsSwitcher\", \"AdsService\")\r\n private adsService: AdsService;\r\n\r\n @Injection.injectableProperty(\"AdsSwitcher\", EECore.Registrations.WEBCOMPONENT_FACTORY)\r\n private webComponentFactory: EECore.UI.WebComponentFactory;\r\n\r\n @Injection.injectableProperty(\"AdsSwitcher\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n constructor(adsService: AdsService, webComponentFactory: EECore.UI.WebComponentFactory, document: Document) {\r\n this.adsService = adsService;\r\n this.webComponentFactory = webComponentFactory;\r\n this.document = document;\r\n }\r\n\r\n load(container: Element, culture: string): EECore.Promise {\r\n const contentPath = container.getAttribute(\"ee-content-path\");\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const getAdsType = this.adsService.getTypeAds(contentPath) as EECore.Promise;\r\n getAdsType.then((componentName) => {\r\n if (componentName === DEFAULT_SLIDESHOW_COMPONENT_NAME) {\r\n const adsSlideshowComponent = this.webComponentFactory.getWebComponent(AdsSlideshow);\r\n const adsSlideshowPromise = adsSlideshowComponent.load(container, culture) as EECore.Promise;\r\n adsSlideshowPromise.then((res: Element) => { resolve(res); });\r\n } else if (componentName === DEFAULT_ADSLIST_COMPONENT_NAME) {\r\n const adsListComponent = this.webComponentFactory.getWebComponent(AdsList);\r\n const adsListPromise = adsListComponent.load(container, culture) as EECore.Promise;\r\n adsListPromise.then((res: Element) => { resolve(res); });\r\n } else {\r\n resolve(this.document.createDocumentFragment() as any);\r\n }\r\n }).catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport ApplicationService from \"../../services/application/applicationService\";\r\nimport ApplicationServiceModel from \"../../services/entities/application/application\";\r\nimport Model from \"../models/application/applicationModel\";\r\nimport ItemModel from \"../models/application/applicationItemModel\";\r\nimport { WidgetResources } from \"../../resources/widget\";\r\n\r\n@Injection.injectableClass(\"EEWidgets.Application\")\r\nexport default class Application implements EECore.UI.IWebComponent {\r\n @Injection.injectableProperty(\"EEWidgets.Application\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"EEWidgets.Application\", \"ApplicationService\")\r\n private applicationService: ApplicationService;\r\n\r\n @Injection.injectableProperty(\"EEWidgets.Application\", EECore.Registrations.WEBCOMPONENT_FACTORY)\r\n private webComponentFactory: EECore.UI.WebComponentFactory;\r\n\r\n @Injection.injectableProperty(\"EEWidgets.Application\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n @Injection.injectableProperty(\"EEWidgets.Application\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"EEWidgets.Application\", EECore.Registrations.EVENT)\r\n private event: EECore.Event;\r\n\r\n @Injection.injectableProperty(\"EEWidgets.Application\", EECore.Registrations.URL_HELPER)\r\n private urlHelper: EECore.Helpers.UrlHelper;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, applicationService: ApplicationService, webComponentFactory: EECore.UI.WebComponentFactory, \r\n document: Document, resources: WidgetResources, event: EECore.Event, urlHelper: EECore.Helpers.UrlHelper) {\r\n this.templateFactory = templateFactory;\r\n this.applicationService = applicationService;\r\n this.webComponentFactory = webComponentFactory;\r\n this.document = document;\r\n this.resources = resources;\r\n this.event = event;\r\n this.urlHelper = urlHelper;\r\n }\r\n\r\n load(container: Element, culture: string): EECore.Promise {\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const title = container.getAttribute(\"ee-title\");\r\n const template = this.renderTemplate(title);\r\n\r\n this.applicationService.getApplications().then((applications) => {\r\n const applicationContainer = template.querySelector(\".application_content\");\r\n const applicationsModel = this.applicationsToWebComponentModel(applications, culture);\r\n this.event.dispatch(container, \"applicationsLoaded\", { applications: applicationsModel });\r\n const renderedItems = this.renderItems(applicationsModel);\r\n\r\n applicationContainer.appendChild(renderedItems);\r\n }).catch(() => {\r\n reject(\"Could not get the applications.\");\r\n });\r\n resolve(template);\r\n });\r\n }\r\n\r\n protected renderTemplate(title?: string): Element {\r\n const model = new Model();\r\n model.titleLabel = title ? title : this.resources.application.titleLabel;\r\n return this.templateFactory.getTemplate(\"Application\", model);\r\n }\r\n\r\n protected renderItems(applications: ItemModel[]): Element {\r\n const documentFragment = this.document.createDocumentFragment() as any;\r\n\r\n for (let i = 0; i < applications.length; i++) {\r\n documentFragment.appendChild(this.templateFactory.getTemplate(\"ApplicationItem\", applications[i]));\r\n }\r\n return documentFragment;\r\n }\r\n\r\n private applicationsToWebComponentModel(applications: ApplicationServiceModel[], culture: string): ItemModel[] {\r\n\r\n const applicationItemModels = new Array();\r\n\r\n applications.forEach((application: ApplicationServiceModel) => {\r\n let applicationLabel;\r\n\r\n if (this.CurrentCultureIsEnglish(culture)) {\r\n applicationLabel = application.labelEn;\r\n } else {\r\n applicationLabel = application.labelFr;\r\n }\r\n\r\n const applicationMenuItemModel: ItemModel = {\r\n label: applicationLabel, // TODO - Missing Tests\r\n url: this.urlHelper.processUrl(application.url),\r\n linkTarget: application.openInNewWindow ? \"_blank\" : \"_self\" // TODO - Missing Tests\r\n };\r\n\r\n applicationItemModels.push(applicationMenuItemModel);\r\n });\r\n\r\n return applicationItemModels;\r\n }\r\n\r\n private CurrentCultureIsEnglish(culture: string): boolean {\r\n\r\n if (culture.substr(0, 2).toLowerCase() === \"en\") {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}","\r\nimport Model from \"../../services/entities/corporateSearch/contractModel\";\r\nimport Injection = EECore.Injection;\r\n\r\n@Injection.injectableClass(\"ContractItem\")\r\nexport default class ContractItem implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"ContractItem\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n public model: Model;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory) {\r\n this.templateFactory = templateFactory;\r\n }\r\n\r\n load(): Element {\r\n if (this.model === null) throw new Error(\"web component model is required\");\r\n\r\n if (this.model.indCliquable === false) {\r\n return this.templateFactory.getTemplate(\"ContractItemNoLink\", this.model);\r\n }\r\n\r\n return this.templateFactory.getTemplate(\"ContractItem\", this.model);\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport { WidgetResources } from \"../../resources/widget\";\r\nimport ContractService from \"../../services/corporateSearch/corporateSearchService\";\r\nimport ClientContractModel from \"../../services/entities/corporateSearch/corporateSearchModel\";\r\nimport ContractItemModel from \"../../services/entities/corporateSearch/contractModel\";\r\nimport ContractItem from \"./contractItem\";\r\nimport Model from \"../models/corporateSearch/contractListModel\";\r\nimport Cookie from \"../../../../Core/src/lib/cookie\";\r\n\r\n@Injection.injectableClass(\"ContractList\")\r\nexport default class ContractList implements EECore.UI.IWebComponent {\r\n @Injection.injectableProperty(\"ContractList\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"ContractList\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"ContractList\", \"CorporateSearchService\")\r\n private contractService: ContractService;\r\n\r\n @Injection.injectableProperty(\"ContractList\", EECore.Registrations.WEBCOMPONENT_FACTORY)\r\n private webComponentFactory: EECore.UI.WebComponentFactory;\r\n\r\n @Injection.injectableProperty(\"ContractList\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n @Injection.injectableProperty(\"ContractList\", EECore.Registrations.HTML_HELPER)\r\n private htmlHelper: EECore.HtmlHelper;\r\n\r\n @Injection.injectableProperty(\"ContractList\", EECore.Registrations.COOKIE)\r\n private cookie: Cookie;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, contractService: ContractService, webComponentFactory: EECore.UI.WebComponentFactory, document: Document, resources: WidgetResources, htmlHelper: EECore.HtmlHelper, cookie: Cookie) {\r\n this.templateFactory = templateFactory;\r\n this.contractService = contractService;\r\n this.webComponentFactory = webComponentFactory;\r\n this.document = document;\r\n this.resources = resources;\r\n this.htmlHelper = htmlHelper;\r\n this.cookie = cookie;\r\n }\r\n\r\n load(): EECore.Promise {\r\n const clientNo = this.cookie.getValue(\"wemwpn45-clientNo\");\r\n const companyCode = this.cookie.getValue(\"wemwpn45-companyCode\");\r\n\r\n if (companyCode === null || clientNo === null) {\r\n throw new Error(\"You must specify both companyCode and clientNo in cookies to use the widget.\");\r\n }\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n this.contractService.getContracts(clientNo, companyCode).then((clientContract: ClientContractModel) => {\r\n const template = this.renderTemplate();\r\n const contractContainer = template.querySelector(\".blockHeaderContent\");\r\n\r\n this.setupReturnButton(template, clientNo, companyCode);\r\n contractContainer.appendChild(this.renderItems(clientContract.contracts));\r\n\r\n resolve(template);\r\n }).catch(() => {\r\n reject(\"Could not get the contracts.\");\r\n });\r\n });\r\n }\r\n\r\n protected renderTemplate(): Element {\r\n const model = new Model();\r\n model.noContractTitle = this.resources.contractList.noContractTitle;\r\n model.descriptionTitle = this.resources.contractList.descriptionTitle;\r\n model.returnButton = this.resources.contractList.returnButton;\r\n\r\n return this.templateFactory.getTemplate(\"ContractList\", model);\r\n }\r\n\r\n protected renderItems(contracts: ContractItemModel[]): Element {\r\n const documentFragment = this.document.createDocumentFragment() as any;\r\n for (let i = 0; i < contracts.length; i++) {\r\n const contractItem = this.webComponentFactory.getWebComponent(ContractItem) as ContractItem;\r\n contractItem.model = contracts[i];\r\n\r\n const element = contractItem.load();\r\n\r\n if (i % 2 === 1) {\r\n this.htmlHelper.addCssClass(element, \"even\");\r\n }\r\n\r\n documentFragment.appendChild(element);\r\n }\r\n return documentFragment;\r\n }\r\n\r\n private setupReturnButton(contractElement: Element, clientNumber: string, companyCode: string) {\r\n const element = contractElement.querySelector(\"#btnReturnClient\");\r\n if (element === undefined || element === null) return;\r\n element.addEventListener(\"click\", () => {\r\n\r\n location.href = `/WEMWPN45/CorporateSearch/ClientContext?clientNumber=${clientNumber}&companyCode=${companyCode}`;\r\n });\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport { WidgetResources } from \"../../resources/widget\";\r\nimport CorporateSearchService from \"../../services/corporateSearch/corporateSearchService\";\r\nimport CorporateSearchModel from \"../../services/entities/corporateSearch/corporateSearchModel\";\r\nimport Model from \"../models/corporateSearch/corporateSearchModel\";\r\nimport Cookie from \"../../../../Core/src/lib/cookie\";\r\n\r\n@Injection.injectableClass(\"EEWidget.CorporateSearch\")\r\nexport default class CorporateSearch implements EECore.UI.IWebComponent {\r\n @Injection.injectableProperty(\"EEWidget.CorporateSearch\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"EEWidget.CorporateSearch\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"EEWidget.CorporateSearch\", \"CorporateSearchService\")\r\n private corporateSearchService: CorporateSearchService;\r\n\r\n @Injection.injectableProperty(\"EEWidget.CorporateSearch\", EECore.Registrations.WEBCOMPONENT_FACTORY)\r\n private webComponentFactory: EECore.UI.WebComponentFactory;\r\n\r\n @Injection.injectableProperty(\"EEWidget.CorporateSearch\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n @Injection.injectableProperty(\"EEWidget.CorporateSearch\", EECore.Registrations.COOKIE)\r\n private cookie: Cookie;\r\n\r\n @Injection.injectableProperty(\"EEWidget.CorporateSearch\", EECore.Registrations.URL_HELPER)\r\n private urlHelper: EECore.Helpers.UrlHelper;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, corporateSearchService: CorporateSearchService, webComponentFactory: EECore.UI.WebComponentFactory,\r\n document: Document, resources: WidgetResources, cookie: Cookie, urlHelper: EECore.Helpers.UrlHelper) {\r\n this.templateFactory = templateFactory;\r\n this.corporateSearchService = corporateSearchService;\r\n this.webComponentFactory = webComponentFactory;\r\n this.document = document;\r\n this.resources = resources;\r\n this.cookie = cookie;\r\n this.urlHelper = urlHelper;\r\n }\r\n\r\n load(): EECore.Promise | Element {\r\n const clientNo = this.cookie.getValue(\"wemwpn45-clientNo\");\r\n const companyCode = this.cookie.getValue(\"wemwpn45-companyCode\");\r\n\r\n if (!companyCode || !clientNo) {\r\n const component = this.renderTemplate(null);\r\n\r\n return component;\r\n }\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n this.corporateSearchService.getContracts(clientNo, companyCode).then((corporateSearchModel: CorporateSearchModel) => {\r\n const template = this.renderTemplate(corporateSearchModel);\r\n this.setupNewSearchButton(template);\r\n\r\n resolve(template);\r\n }).catch(() => {\r\n reject(\"Could not get the contracts.\");\r\n });\r\n });\r\n }\r\n\r\n protected renderTemplate(corporateSearch: CorporateSearchModel): Element {\r\n const model = new Model();\r\n model.title = this.resources.contract.title;\r\n model.subTitle = this.resources.contract.subTitle;\r\n model.newSearch = this.resources.contract.newSearch;\r\n\r\n if (!corporateSearch || corporateSearch.contracts.length === 0) {\r\n model.searchLink = this.urlHelper.processUrl(\"/WEMWPN45\");\r\n return this.templateFactory.getTemplate(\"CorporateSearchEmpty\", model);\r\n }\r\n\r\n model.fullName = corporateSearch.fullName;\r\n\r\n return this.templateFactory.getTemplate(\"CorporateSearch\", model);\r\n }\r\n\r\n private setupNewSearchButton(corporateSearchElement: Element) {\r\n const element = corporateSearchElement.querySelector(\"#btnNewSearch\");\r\n if (element === undefined || element === null) return;\r\n element.addEventListener(\"click\", () => {\r\n location.href = this.urlHelper.processUrl(\"/WEMWPN45\");\r\n });\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport QuerySuggestService from \"../../services/documentCentre/querySuggestService\";\r\nimport SearchService from \"../../services/documentCentre/searchService\";\r\nimport SearchBarBehavior from \"../../behaviors/documentCentre/advancedSearchBarBehavior\";\r\n\r\n@Injection.injectableClass(\"EEWidget.DocumentCentre.AdvancedSearchBar\")\r\nexport default class AdvancedSearchBar implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentre.AdvancedSearchBar\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentre.AdvancedSearchBar\", \"DocumentCentreSearchService\")\r\n private searchService: SearchService;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentre.AdvancedSearchBar\", \"EEWidget.DocumentCentre.QuerySuggestService\")\r\n private querySuggestService: QuerySuggestService;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentre.AdvancedSearchBar\", EECore.Registrations.TEALIUM)\r\n private tealium: EECore.Tealium;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentre.AdvancedSearchBar\", \"DocumentCentreAdvancedSearchBarBehavior\")\r\n private searchBarBehavior: SearchBarBehavior;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentre.AdvancedSearchBar\", EECore.Registrations.INTEGRATION_CONTEXT)\r\n private integrationContext: EECore.Integration.Context;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, searchService: SearchService, querySuggestService: QuerySuggestService, tealium: EECore.Tealium,\r\n searchBarBehavior: SearchBarBehavior, integrationContext: EECore.Integration.Context) {\r\n this.templateFactory = templateFactory;\r\n this.searchService = searchService;\r\n this.querySuggestService = querySuggestService;\r\n this.tealium = tealium;\r\n this.searchBarBehavior = searchBarBehavior;\r\n this.integrationContext = integrationContext;\r\n }\r\n\r\n load(): Element {\r\n const component = this.renderTemplate();\r\n this.setSearchButtonImagePath(component);\r\n this.bindUIEvents(component);\r\n\r\n const request = this.searchService.isSearchEnabled();\r\n request.then((enabled) => {\r\n if (enabled === false) {\r\n this.searchBarBehavior.disableSearch(component);\r\n }\r\n });\r\n return component;\r\n }\r\n\r\n private setSearchButtonImagePath(component: Element) {\r\n const image = component.querySelector(\"button > img\") as HTMLImageElement;\r\n image.src = this.integrationContext.environment.baseCdnUrl + image.getAttribute(\"data-src\");\r\n }\r\n\r\n private renderTemplate(): Element {\r\n return this.templateFactory.getTemplate(\"DocumentCentreAdvancedSearchBar\", null);\r\n }\r\n\r\n private bindUIEvents(component: Element) {\r\n const searchBar = component.querySelector(\"input[type=text]\") as HTMLInputElement;\r\n searchBar.addEventListener(\"keydown\", (event: KeyboardEvent) => {\r\n if (event.which === 13) this.searchDocuments(searchBar.value);\r\n });\r\n\r\n const suggestionContainer = component.querySelector(\".we_searchBarSuggestions\") as HTMLElement;\r\n searchBar.addEventListener(\"input\", () => {\r\n this.displaySuggestions(searchBar.value, suggestionContainer);\r\n });\r\n\r\n let suggestionsHideTimer: number = null;\r\n searchBar.addEventListener(\"blur\", () => {\r\n if (!suggestionsHideTimer) {\r\n suggestionsHideTimer = window.setTimeout(() => {\r\n suggestionContainer.style.display = \"none\";\r\n }, 500);\r\n }\r\n });\r\n\r\n searchBar.addEventListener(\"focus\", () => {\r\n if (suggestionsHideTimer) {\r\n window.clearTimeout(suggestionsHideTimer);\r\n suggestionsHideTimer = null;\r\n }\r\n this.displaySuggestions(searchBar.value, suggestionContainer);\r\n });\r\n\r\n const searchButton = component.querySelector(\"button[data-action=search]\");\r\n searchButton.addEventListener(\"click\", () => {\r\n this.searchDocuments(searchBar.value);\r\n });\r\n\r\n suggestionContainer.addEventListener(\"click\", (event) => {\r\n let target = event.target as Element;\r\n while (target.tagName.toLowerCase() !== \"div\") target = target.parentElement;\r\n const searchExpression = target.getAttribute(\"data-search-expression\");\r\n if (searchExpression) {\r\n this.searchDocuments(searchExpression);\r\n }\r\n });\r\n }\r\n\r\n private searchDocuments(keywords: string) {\r\n this.tealium.trackLink(\"Search Keywords\", keywords, \"Documentation Center\");\r\n this.searchService.searchByKeywords(keywords);\r\n }\r\n\r\n private displaySuggestions(keywords: string, container: HTMLElement) {\r\n const request = this.querySuggestService.getSuggestions(keywords);\r\n request.then((suggestions) => {\r\n let content = \"\";\r\n for (let i = 0; i < suggestions.length; i++) {\r\n content += `
${suggestions[i].content}
`;\r\n }\r\n\r\n container.innerHTML = content;\r\n container.style.display = content ? \"block\" : \"none\";\r\n });\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport Model from \"../models/documentCentre/documentCentreModel\";\r\nimport { WidgetResources } from \"../../resources/widget\";\r\n\r\n@Injection.injectableClass(\"DocumentCentre\")\r\nexport default class DocumentCentre implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"DocumentCentre\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"DocumentCentre\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"DocumentCentre\", EECore.Registrations.HTML_HELPER)\r\n private htmlHelper: EECore.HtmlHelper;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, resources: WidgetResources, htmlHelper: EECore.HtmlHelper) {\r\n this.templateFactory = templateFactory;\r\n this.resources = resources;\r\n this.htmlHelper = htmlHelper;\r\n }\r\n\r\n load(container: Element): Element {\r\n const title = container.getAttribute(\"ee-title\");\r\n const component = this.renderTemplate(title);\r\n this.bindUIEvents(component);\r\n\r\n return component;\r\n }\r\n\r\n private renderTemplate(title?: string): Element {\r\n const model: Model = {\r\n title: title || this.resources.documentCentre.components.documentCentreTitle,\r\n searchTabTitle: this.resources.documentCentre.tabs.searchLabel,\r\n favouriteTabTitle: this.resources.documentCentre.tabs.favouriteLabel,\r\n favouriteUnavailableMessage: this.resources.documentCentre.favourites.unavailableMessage\r\n };\r\n return this.templateFactory.getTemplate(\"DocumentCentre\", model);\r\n }\r\n\r\n private bindUIEvents(component: Element) {\r\n const tabs = component.querySelectorAll(\".documentationcenter_menuItem\");\r\n for (let i = 0; i < tabs.length; i++) {\r\n tabs[i].addEventListener(\"click\", (event: MouseEvent) => { this.selectTab(event.currentTarget as Element, component); });\r\n tabs[i].addEventListener(\"mouseenter\", (event: MouseEvent) => { this.enterTab(event.currentTarget as Element); });\r\n tabs[i].addEventListener(\"mouseleave\", (event: MouseEvent) => { this.exitTab(event.currentTarget as Element); });\r\n }\r\n }\r\n\r\n private selectTab(tab: Element, component: Element) {\r\n if (!this.htmlHelper.hasCssClass(tab, \"selection_fix\")) {\r\n const currentTab = component.querySelector(\".selection_fix\");\r\n const currentTabContent = component.querySelector(\".documentationcenter_content [data-tab].visible\");\r\n const tabName = tab.getAttribute(\"data-tab\");\r\n const tabContent = component.querySelector(`.documentationcenter_content [data-tab=${tabName}]`);\r\n\r\n this.htmlHelper.removeCssClass(currentTab, \"documentationcenter_menuItem_selected\");\r\n this.htmlHelper.removeCssClass(currentTab, \"selected\");\r\n this.htmlHelper.removeCssClass(currentTab, \"selection_fix\");\r\n this.htmlHelper.removeCssClass(currentTabContent, \"visible\");\r\n this.htmlHelper.addCssClass(currentTab, \"documentationcenter_menuItem_unselected\");\r\n this.htmlHelper.addCssClass(currentTabContent, \"hidden\");\r\n\r\n this.htmlHelper.removeCssClass(tab, \"documentationcenter_menuItem_unselected\");\r\n this.htmlHelper.removeCssClass(tabContent, \"hidden\");\r\n this.htmlHelper.addCssClass(tab, \"documentationcenter_menuItem_selected\");\r\n this.htmlHelper.addCssClass(tab, \"selected\");\r\n this.htmlHelper.addCssClass(tab, \"selection_fix\");\r\n this.htmlHelper.addCssClass(tabContent, \"visible\");\r\n }\r\n }\r\n\r\n private enterTab(tab: Element) {\r\n if (!this.htmlHelper.hasCssClass(tab, \"selection_fix\")) {\r\n this.htmlHelper.removeCssClass(tab, \"documentationcenter_menuItem_unselected\");\r\n this.htmlHelper.addCssClass(tab, \"documentationcenter_menuItem_selected\");\r\n this.htmlHelper.addCssClass(tab, \"selected\");\r\n }\r\n }\r\n\r\n private exitTab(tab: Element) {\r\n if (!this.htmlHelper.hasCssClass(tab, \"selection_fix\")) {\r\n this.htmlHelper.removeCssClass(tab, \"documentationcenter_menuItem_selected\");\r\n this.htmlHelper.removeCssClass(tab, \"selected\");\r\n this.htmlHelper.addCssClass(tab, \"documentationcenter_menuItem_unselected\");\r\n }\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport Model from \"../models/documentCentre/documentComponentModel\";\r\nimport { WidgetResources } from \"../../resources/widget\";\r\n\r\n@Injection.injectableClass(\"DocumentSearch\")\r\nexport default class DocumentSearch implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"DocumentSearch\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"DocumentSearch\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, resources: WidgetResources) {\r\n this.templateFactory = templateFactory;\r\n this.resources = resources;\r\n }\r\n\r\n load(container: Element): Element {\r\n const title = container.getAttribute(\"ee-title\");\r\n return this.renderTemplate(title);\r\n }\r\n\r\n private renderTemplate(title?: string): Element {\r\n const model = new Model();\r\n model.title = title ? title : this.resources.documentCentre.components.searchBarTitle;\r\n return this.templateFactory.getTemplate(\"DocumentSearch\", model);\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport Model from \"../models/documentCentre/favouriteDocumentsModel\";\r\nimport DocumentModel from \"../models/documentCentre/favouriteDocumentModel\";\r\nimport DocumentService from \"../../services/documentCentre/documentService\";\r\nimport DocumentBehavior from \"../../behaviors/documentCentre/favouriteDocumentBehavior\";\r\nimport DocumentListBehavior from \"../../behaviors/documentCentre/favouriteDocumentListBehavior\";\r\nimport { WidgetResources } from \"../../resources/widget\";\r\n\r\n@Injection.injectableClass(\"EEWidget.DocumentCentreFavouriteDocuments\")\r\nexport default class FavouriteDocuments implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreFavouriteDocuments\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreFavouriteDocuments\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreFavouriteDocuments\", \"DocumentCentreDocumentService\")\r\n private documentService: DocumentService;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreFavouriteDocuments\", \"DocumentCentreFavouriteDocumentBehavior\")\r\n private documentBehavior: DocumentBehavior;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreFavouriteDocuments\", \"DocumentCentreFavouriteDocumentListBehavior\")\r\n private documentListBehavior: DocumentListBehavior;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreFavouriteDocuments\", EECore.Registrations.URL_HELPER)\r\n private urlHelper: EECore.Helpers.UrlHelper;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, resources: WidgetResources, documentService: DocumentService,\r\n documentBehavior: DocumentBehavior, documentListBehavior: DocumentListBehavior, urlHelper: EECore.Helpers.UrlHelper) {\r\n this.templateFactory = templateFactory;\r\n this.resources = resources;\r\n this.documentService = documentService;\r\n this.documentBehavior = documentBehavior;\r\n this.documentListBehavior = documentListBehavior;\r\n this.urlHelper = urlHelper;\r\n }\r\n\r\n load(): EECore.Promise {\r\n return new EECore.Promise((resolve) => {\r\n const request = this.documentService.getFavouriteDocuments();\r\n request.then((documents: DocumentModel[]) => {\r\n const component = this.renderTemplate(documents.length);\r\n this.documentListBehavior.apply(component);\r\n const documentContainer = component.querySelector(\"ul\");\r\n this.loadDocuments(documentContainer, documents);\r\n resolve(component);\r\n }).catch((message: string) => {\r\n const component = this.renderTemplate(0);\r\n const errorContainer = component.querySelector(\"[data-content=message]\");\r\n errorContainer.innerHTML = message;\r\n resolve(component);\r\n });\r\n });\r\n }\r\n\r\n private renderTemplate(documentCount: number): Element {\r\n const model: Model = {\r\n title: this.resources.documentCentre.favourites.titleLabel,\r\n showAllVisibility: documentCount <= 10 ? \"hidden\" : \"visible\",\r\n showAllLabel: this.resources.documentCentre.favourites.showAllLabelInd\r\n };\r\n\r\n return this.templateFactory.getTemplate(\"DocumentCentreFavouriteDocuments\", model);\r\n }\r\n\r\n private loadDocuments(documentContainer: Element, documents: DocumentModel[]) {\r\n for (let i = 0; i < documents.length; i++) {\r\n documents[i].visibility = i < 10 ? \"visible\" : \"hidden\";\r\n documents[i].moveDownTooltip = this.resources.documentCentre.favourites.moveDownTooltip;\r\n documents[i].moveUpTooltip = this.resources.documentCentre.favourites.moveUpTooltip;\r\n documents[i].removeTooltip = this.resources.documentCentre.favourites.removeTooltip;\r\n documents[i].ajaxLoader = this.urlHelper.processUrl(\"/wemwpn41/content/ajax-loader.gif\");\r\n const document = this.templateFactory.getTemplate(\"DocumentCentreFavouriteDocument\", documents[i]);\r\n this.documentBehavior.apply(document);\r\n documentContainer.appendChild(document);\r\n }\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport Model from \"../models/documentCentre/favouritesModel\";\r\nimport DocumentModel from \"../models/documentCentre/favouriteDocumentModel\";\r\nimport WidgetBoxModel from \"../models/common/widgetBoxModel\";\r\nimport DocumentService from \"../../services/documentCentre/documentService\";\r\nimport DocumentBehavior from \"../../behaviors/documentCentre/favouriteDocumentBehavior\";\r\nimport DocumentListBehavior from \"../../behaviors/documentCentre/favouriteDocumentListBehavior\";\r\nimport { WidgetResources } from \"../../resources/widget\";\r\n\r\n@Injection.injectableClass(\"DocumentCentreFavourites\")\r\nexport default class Favourites implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"DocumentCentreFavourites\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"DocumentCentreFavourites\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"DocumentCentreFavourites\", \"DocumentCentreDocumentService\")\r\n private documentService: DocumentService;\r\n\r\n @Injection.injectableProperty(\"DocumentCentreFavourites\", \"DocumentCentreFavouriteDocumentBehavior\")\r\n private documentBehavior: DocumentBehavior;\r\n\r\n @Injection.injectableProperty(\"DocumentCentreFavourites\", \"DocumentCentreFavouriteDocumentListBehavior\")\r\n private documentListBehavior: DocumentListBehavior;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, resources: WidgetResources, documentService: DocumentService, documentBehavior: DocumentBehavior, documentListBehavior: DocumentListBehavior) {\r\n this.templateFactory = templateFactory;\r\n this.resources = resources;\r\n this.documentService = documentService;\r\n this.documentBehavior = documentBehavior;\r\n this.documentListBehavior = documentListBehavior;\r\n }\r\n\r\n load(container: Element): EECore.Promise {\r\n const withBox = container.getAttribute(\"ee-with-box\") === \"true\";\r\n const title = container.getAttribute(\"ee-title\");\r\n\r\n return new EECore.Promise((resolve) => {\r\n const request = this.documentService.getFavouriteDocuments();\r\n request.then((documents: DocumentModel[]) => {\r\n const component = this.renderTemplate(documents.length, withBox, title);\r\n this.documentListBehavior.apply(component);\r\n const documentContainer = component.querySelector(\".documents\");\r\n this.loadDocuments(documentContainer, documents);\r\n resolve(component);\r\n }).catch((message: string) => {\r\n const component = this.renderTemplate(0, withBox, title);\r\n const errorContainer = component.querySelector(\"[data-content=message]\");\r\n errorContainer.innerHTML = message;\r\n resolve(component);\r\n });\r\n });\r\n }\r\n\r\n private renderTemplate(documentCount: number, withBox: boolean, title: string): Element {\r\n const model: Model = {\r\n showAllVisibility: documentCount <= 10 ? \"hidden\" : \"visible\",\r\n showAllLabel: this.resources.documentCentre.favourites.showAllLabel\r\n };\r\n\r\n let template = this.templateFactory.getTemplate(\"DocumentCentreFavourites\", model);\r\n if (withBox) {\r\n const boxModel: WidgetBoxModel = {\r\n title: title || this.resources.documentCentre.favourites.titleLabel\r\n };\r\n\r\n const box = this.templateFactory.getTemplate(\"WidgetBox\", boxModel);\r\n box.querySelector(\".content\").appendChild(template);\r\n template = box;\r\n }\r\n\r\n return template;\r\n }\r\n\r\n private loadDocuments(documentContainer: Element, documents: DocumentModel[]) {\r\n for (let i = 0; i < documents.length; i++) {\r\n documents[i].visibility = i < 10 ? \"visible\" : \"hidden\";\r\n documents[i].moveDownTooltip = this.resources.documentCentre.favourites.moveDownTooltip;\r\n documents[i].moveUpTooltip = this.resources.documentCentre.favourites.moveUpTooltip;\r\n documents[i].removeTooltip = this.resources.documentCentre.favourites.removeTooltip;\r\n const document = this.templateFactory.getTemplate(\"DocumentCentreFavourite\", documents[i]);\r\n this.documentBehavior.apply(document);\r\n documentContainer.appendChild(document);\r\n }\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\n\r\n@Injection.injectableClass(\"DocumentCentreQuickSearch\")\r\nexport default class QuickSearch implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"DocumentCentreQuickSearch\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory) {\r\n this.templateFactory = templateFactory;\r\n }\r\n\r\n load(): Element {\r\n return this.renderTemplate();\r\n }\r\n\r\n private renderTemplate(): Element {\r\n return this.templateFactory.getTemplate(\"DocumentCentreQuickSearch\", null);\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport Service from \"../../services/instabilityMessages/instabilityMessagesService\";\r\nimport Model from \"../models/instabilityMessages/instabilityMessageModel\";\r\nimport { WidgetResources } from \"../../resources/widget\";\r\n\r\nexport const SITECORE_MEDIA_PREFIX = \"-/media/\";\r\nexport const SITECORE_EXTRANET_PREFIX = \"/cw/\";\r\n\r\n@Injection.injectableClass(\"EEWidget.InstabilityMessages\")\r\nexport default class InstabilityMessages implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"EEWidget.InstabilityMessages\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"EEWidget.InstabilityMessages\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"EEWidget.InstabilityMessages\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n @Injection.injectableProperty(\"EEWidget.InstabilityMessages\", \"InstabilityMessagesService\")\r\n private service: Service;\r\n\r\n @Injection.injectableProperty(\"EEWidget.InstabilityMessages\", EECore.Registrations.AUTH_SERVICE)\r\n private authService: EECore.Services.AuthService;\r\n\r\n @Injection.injectableProperty(\"EEWidget.InstabilityMessages\", EECore.Registrations.INTEGRATION_CONTEXT)\r\n private integrationContext: EECore.Integration.Context;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory,\r\n document: Document,\r\n service: Service,\r\n resources: WidgetResources,\r\n authService: EECore.Services.AuthService,\r\n integrationContext: EECore.Integration.Context) {\r\n this.templateFactory = templateFactory;\r\n this.document = document;\r\n this.service = service;\r\n this.resources = resources;\r\n this.authService = authService;\r\n this.integrationContext = integrationContext;\r\n }\r\n\r\n load(container: Element): EECore.Promise {\r\n const applicationName = container.getAttribute(\"ee-application-name\") || \"\";\r\n\r\n return new EECore.Promise((resolve) => {\r\n this.service.getInstabilityMessages(applicationName).then((messages: string[]) => {\r\n resolve(this.renderTemplate(messages));\r\n }).catch(() => {\r\n resolve(this.renderTemplate(this.getMessage()));\r\n });\r\n });\r\n }\r\n\r\n protected renderTemplate(messages: string[]): Element {\r\n if (!messages || messages.length === 0) {\r\n return this.document.createDocumentFragment() as any;\r\n } else if (messages.length === 1) {\r\n const model = this.stringToModel(messages[0]);\r\n const component = this.templateFactory.getTemplate(\"InstabilityMessagesSingle\", model);\r\n this.rewriteMediaUrl(component);\r\n return component;\r\n }\r\n\r\n const template = this.templateFactory.getTemplate(\"InstabilityMessagesMultiple\", null);\r\n const messagesContainer = template.querySelector(\".instabilityMessages_content\");\r\n this.renderItems(messagesContainer, messages);\r\n\r\n return template;\r\n }\r\n\r\n protected renderItems(messagesContainer: Element, messages: string[]): void {\r\n for (let i = 0; i < messages.length; i++) {\r\n const model = this.stringToModel(messages[i]);\r\n const component = this.templateFactory.getTemplate(\"InstabilityMessagesMultipleItem\", model);\r\n this.rewriteMediaUrl(component);\r\n messagesContainer.appendChild(component);\r\n }\r\n }\r\n\r\n private stringToModel(message: string): Model {\r\n const model = new Model();\r\n model.message = message;\r\n return model;\r\n }\r\n\r\n private getMessage(): string[] {\r\n const clientSiteWithoutMessage: string[] = [\"IAVM\", \"INVESTIA\", \"FUNDEX\"];\r\n const messages = new Array();\r\n\r\n if (this.integrationContext.experience.audience === EECore.Integration.Audience.Client) {\r\n if (clientSiteWithoutMessage.indexOf(this.integrationContext.experience.company) > -1)\r\n return messages;\r\n }\r\n\r\n if (this.authService.isAuthenticated()) {\r\n if (this.integrationContext.experience.audience === EECore.Integration.Audience.Advisor) {\r\n switch (this.integrationContext.experience.company) {\r\n case \"IA\": {\r\n messages.push(this.resources.instabilityMessage.iaAdvisorMessage);\r\n return messages;\r\n }\r\n case \"INVESTIA\": {\r\n messages.push(this.resources.instabilityMessage.investiaAdvisorMessage);\r\n return messages;\r\n }\r\n case \"FUNDEX\": {\r\n messages.push(this.resources.instabilityMessage.fundexAdvisorMessage);\r\n return messages;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (this.integrationContext.experience.audience === EECore.Integration.Audience.Employee && this.integrationContext.experience.company === \"IA\") {\r\n messages.push(this.resources.instabilityMessage.iaAdvisorMessage);\r\n return messages;\r\n }\r\n\r\n messages.push(this.resources.instabilityMessage.baseMessage);\r\n return messages;\r\n }\r\n else {\r\n if (this.integrationContext.experience.audience === EECore.Integration.Audience.Advisor && this.integrationContext.experience.company === \"IA\") {\r\n messages.push(this.resources.instabilityMessage.iaAdvisorMessage);\r\n return messages;\r\n }\r\n\r\n return messages;\r\n }\r\n }\r\n\r\n private rewriteMediaUrl(component: Element) {\r\n const images = component.querySelectorAll(\"img\");\r\n for (let i = 0; i < images.length; i++) {\r\n const src = images[i].getAttribute(\"src\");\r\n images[i].setAttribute(\"src\", src.replace(SITECORE_MEDIA_PREFIX, SITECORE_EXTRANET_PREFIX + SITECORE_MEDIA_PREFIX));\r\n }\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport { WidgetResources } from \"../../resources/widget\";\r\nimport Model from \"../models/login/loginModel\";\r\n\r\n@Injection.injectableClass(\"EEWidget.Login\")\r\nexport default class Login implements EECore.UI.IWebComponent {\r\n @Injection.injectableProperty(\"EEWidget.Login\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"EEWidget.Login\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"EEWidget.Login\", EECore.Registrations.URL_HELPER)\r\n private urlHelper: EECore.Helpers.UrlHelper;\r\n\r\n @Injection.injectableProperty(\"EEWidget.Login\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n @Injection.injectableProperty(\"EEWidget.Login\", EECore.Registrations.AUTH_SERVICE)\r\n private authService: EECore.Services.AuthService;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory,\r\n resources: WidgetResources,\r\n urlHelper: EECore.Helpers.UrlHelper,\r\n document: Document,\r\n authService: EECore.Services.AuthService) {\r\n this.templateFactory = templateFactory;\r\n this.resources = resources;\r\n this.urlHelper = urlHelper;\r\n this.document = document;\r\n this.authService = authService;\r\n }\r\n\r\n load() {\r\n return this.renderTemplate();\r\n }\r\n\r\n private renderTemplate(): Element {\r\n if (this.authService.isAuthenticated()) {\r\n return this.document.createDocumentFragment() as any;\r\n }\r\n const model = new Model();\r\n model.title = this.resources.login.title;\r\n model.submitButton = this.resources.login.submitButton;\r\n model.registrationLabel = this.resources.login.registrationLabel;\r\n model.loginPageLink = this.urlHelper.processUrl(\"/wemwpn48/gohome\");\r\n model.registrationLink = this.urlHelper.processUrl(\"/wemwpn46/\");\r\n\r\n const loginElement = this.templateFactory.getTemplate(\"Login\", model);\r\n\r\n return loginElement;\r\n }\r\n}","export default class AdsSlideshowModel {\r\n cssClasses: string;\r\n controlsCssClasses: string;\r\n progressCssClasses: string;\r\n style: string;\r\n}","export default class ApplicationModel {\r\n titleLabel: string;\r\n}","export default class ContractItemModel {\r\n noContractTitle: string;\r\n descriptionTitle: string;\r\n returnButton: string;\r\n}","export default class CorporateSearchModel {\r\n title: string;\r\n subTitle: string;\r\n fullName: string;\r\n newSearch: string;\r\n searchLink: string;\r\n}","export default class DocumentComponentModel {\r\n title: string;\r\n}","export default class InstabilityMessageModel {\r\n message: string;\r\n}","export default class LoginModel {\r\n title: string;\r\n registrationLabel: string;\r\n submitButton: string;\r\n loginPageLink: string;\r\n registrationLink: string;\r\n}","export default class NewsModel {\r\n titleLabel: string;\r\n buttonLabel: string;\r\n url: string;\r\n}","import Injection = EECore.Injection;\r\nimport { WidgetResources } from \"../../resources/widget\";\r\nimport NewsService from \"../../services/news/newsService\";\r\nimport NewsModelList from \"../../services/entities/news/newsModelList\";\r\nimport NewsModel from \"../../services/entities/news/newsModel\";\r\nimport NewsItem from \"./newsItem\";\r\nimport Model from \"../models/news/newsModel\";\r\nimport Unavailable from \"../unavailable/unavailable\";\r\n\r\n@Injection.injectableClass(\"News\")\r\nexport default class News implements EECore.UI.IWebComponent {\r\n @Injection.injectableProperty(\"News\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"News\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"News\", \"NewsService\")\r\n private newsService: NewsService;\r\n\r\n @Injection.injectableProperty(\"News\", EECore.Registrations.WEBCOMPONENT_FACTORY)\r\n private webComponentFactory: EECore.UI.WebComponentFactory;\r\n\r\n @Injection.injectableProperty(\"News\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n @Injection.injectableProperty(\"News\", EECore.Registrations.UNAVAILABLE_SERVICE)\r\n private unavailableService: EECore.Services.UnavailableService;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory,\r\n newsService: NewsService, webComponentFactory: EECore.UI.WebComponentFactory,\r\n document: Document, resources: WidgetResources,\r\n unavailableService: EECore.Services.UnavailableService) {\r\n this.templateFactory = templateFactory;\r\n this.newsService = newsService;\r\n this.webComponentFactory = webComponentFactory;\r\n this.document = document;\r\n this.resources = resources;\r\n this.unavailableService = unavailableService;\r\n }\r\n load(container: Element): EECore.Promise {\r\n const title = container.getAttribute(\"ee-title\");\r\n return new EECore.Promise((resolve, reject) => {\r\n this.newsService.getLatest().then((newsModelList: NewsModelList) => {\r\n const template = this.renderTemplate(newsModelList.url, title);\r\n const newsContainer = template.querySelector(\".content\");\r\n this.unavailableService.getAvailabilityservice(\"EXT2_NEWS\").then((availability: EECore.Services.Entities.UnavailableModel) => {\r\n if (availability.isAvailable === false) {\r\n newsContainer.appendChild(this.renderunavailable(availability));\r\n }\r\n else {\r\n newsContainer.appendChild(this.renderItems(newsModelList.news));\r\n }\r\n resolve(template);\r\n });\r\n }).catch(() => {\r\n reject(\"Could not get latest news.\");\r\n });\r\n });\r\n }\r\n\r\n protected renderTemplate(url: string, title?: string): Element {\r\n const model = new Model();\r\n model.titleLabel = title || this.resources.news.titleLabel;\r\n model.buttonLabel = this.resources.news.buttonLabel;\r\n model.url = url;\r\n return this.templateFactory.getTemplate(\"News\", model);\r\n }\r\n\r\n protected renderunavailable(unavailableModel: EECore.Services.Entities.UnavailableModel): Element {\r\n const documentFragment = this.document.createDocumentFragment() as any;\r\n const newsItem = this.webComponentFactory.getWebComponent(Unavailable) as Unavailable;\r\n newsItem.model = unavailableModel;\r\n documentFragment.appendChild(newsItem.load());\r\n return documentFragment;\r\n }\r\n\r\n protected renderItems(news: NewsModel[]): Element {\r\n const documentFragment = this.document.createDocumentFragment() as any;\r\n for (let i = 0; i < news.length; i++) {\r\n const newsItem = this.webComponentFactory.getWebComponent(NewsItem) as NewsItem;\r\n newsItem.model = news[i];\r\n documentFragment.appendChild(newsItem.load());\r\n }\r\n return documentFragment;\r\n }\r\n}","\r\nimport Model from \"../../services/entities/news/newsModel\";\r\nimport Injection = EECore.Injection;\r\n\r\n@Injection.injectableClass(\"NewsItem\")\r\nexport default class NewsItem implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"NewsItem\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n public model: Model;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory) {\r\n this.templateFactory = templateFactory;\r\n }\r\n\r\n load(): Element {\r\n if (this.model === null) throw new Error(\"web component model is required\");\r\n return this.templateFactory.getTemplate(\"NewsItem\", this.model);\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport Model from \"../models/promotion/promotionModel\";\r\nimport PromotionService from \"../../services/promotion/promotionService\";\r\n\r\n@Injection.injectableClass(\"ElectronicFeaturesPromotion\")\r\nexport default class ElectronicFeatures implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"ElectronicFeaturesPromotion\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"ElectronicFeaturesPromotion\", EECore.Registrations.HTML_HELPER)\r\n private htmlHelper: EECore.HtmlHelper;\r\n\r\n @Injection.injectableProperty(\"ElectronicFeaturesPromotion\", \"PromotionService\")\r\n private promotionService: PromotionService;\r\n\r\n @Injection.injectableProperty(\"ElectronicFeaturesPromotion\", EECore.Registrations.TEALIUM)\r\n private tealium: EECore.Tealium;\r\n\r\n promotionData: any;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, htmlHelper: EECore.HtmlHelper, promotionService: PromotionService, tealium: EECore.Tealium) {\r\n this.templateFactory = templateFactory;\r\n this.htmlHelper = htmlHelper;\r\n this.promotionService = promotionService;\r\n this.tealium = tealium;\r\n }\r\n\r\n load() {\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const contentRequest = this.promotionService.getElectronicFeaturesContent();\r\n contentRequest.then((content) => {\r\n const promotionElement = this.render(content);\r\n resolve(promotionElement);\r\n this.bindEvents(promotionElement);\r\n this.scheduleDisplay(promotionElement);\r\n }).catch(() => {\r\n reject(\"Could not get the promotion information\");\r\n });\r\n });\r\n }\r\n\r\n private render(content: string): Element {\r\n const model: Model = { content: content };\r\n const template = this.templateFactory.getTemplate(\"ElectronicFeatures\", model);\r\n this.customizeContent(template);\r\n\r\n return template;\r\n }\r\n\r\n private customizeContent(content: Element) {\r\n if (this.promotionData.contest) {\r\n this.htmlHelper.addCssClass(content.querySelector(\".we_overlayBannerContestInd\"), \"show\");\r\n this.htmlHelper.addCssClass(content.querySelector(\"#conditionsLabelContest\"), \"show\");\r\n content.querySelector(\"#we_overlayBannerText\").innerHTML = this.promotionData.contest.text;\r\n content.querySelector(\"#eDocBannerContestRules\").setAttribute(\"href\", this.promotionData.contest.contestRulesUrl);\r\n if (this.promotionData.contest.contestImageUrl) {\r\n (content.querySelector(\".banner-image\") as HTMLElement).style.backgroundImage = `url('${this.promotionData.contest.contestImageUrl}')`;\r\n }\r\n } else {\r\n this.htmlHelper.addCssClass(content.querySelector(\"#conditionsLabel\"), \"show\");\r\n }\r\n\r\n if (this.promotionData.promoterRule === \"CAN_REMIND_LATER\") {\r\n (content.querySelector(\"#eDocBannerLater\") as HTMLElement).style.display = \"block\";\r\n (content.querySelector(\"#eDocBannerRedirect\") as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n\r\n private bindEvents(content: Element) {\r\n const adhesionCheckbox = content.querySelector(\"#eDocBannerCkbAdhesion\") as HTMLInputElement;\r\n const saveButton = content.querySelector(\"#eDocBannerSaveBtn\");\r\n adhesionCheckbox.addEventListener(\"change\", () => {\r\n if (adhesionCheckbox.checked)\r\n this.htmlHelper.removeCssClass(saveButton, \"disabled\");\r\n else\r\n this.htmlHelper.addCssClass(saveButton, \"disabled\");\r\n });\r\n\r\n const closeButtons = content.querySelectorAll(\".close-button\");\r\n for (let i = 0; i < closeButtons.length; i++) {\r\n closeButtons[i].addEventListener(\"click\", () => {\r\n this.promotionService.updateReminder(\"ELECTRONIC_FEATURES\").then(() => {\r\n this.htmlHelper.removeCssClass(content, \"active\");\r\n });\r\n });\r\n }\r\n\r\n saveButton.addEventListener(\"click\", () => {\r\n if (!this.htmlHelper.hasCssClass(saveButton, \"disabled\") && adhesionCheckbox.checked) {\r\n const subscriptionRequest = this.promotionService.subscribeToElectronicServices();\r\n subscriptionRequest.then((response) => {\r\n const notificationEmailAddress = response.notificationEmailAddress;\r\n if (notificationEmailAddress) {\r\n content.querySelector(\"#eDocBannerWithNotificationEmail strong\").innerHTML = notificationEmailAddress;\r\n (content.querySelector(\"#eDocBannerWithNotificationEmail\") as HTMLElement).style.display = \"block\";\r\n } else {\r\n (content.querySelector(\"#eDocBannerWithoutNotificationEmail\") as HTMLElement).style.display = \"block\";\r\n }\r\n\r\n if (this.promotionData.contest) {\r\n content.querySelector(\"#eDocBannerConfirmContestBlock a\").setAttribute(\"href\", this.promotionData.contest.contestRulesUrl);\r\n (content.querySelector(\"#eDocBannerConfirmContestBlock\") as HTMLElement).style.display = \"block\";\r\n }\r\n\r\n (content.querySelector(\"#eDocBannerConfirmation\") as HTMLElement).style.display = \"block\";\r\n (content.querySelector(\"#eDocBannerMain\") as HTMLElement).style.display = \"none\";\r\n });\r\n\r\n subscriptionRequest.catch(() => {\r\n (content.querySelector(\"#eDocBannerError\") as HTMLElement).style.display = \"block\";\r\n (content.querySelector(\"#eDocBannerMain\") as HTMLElement).style.display = \"none\";\r\n });\r\n }\r\n });\r\n\r\n const noEmailLink = content.querySelector(\"a.persoInfoNoEmailLink\");\r\n if (noEmailLink) {\r\n noEmailLink.addEventListener(\"click\", () => {\r\n this.tealium.trackLink(\"EdocEmailLink\", \"EDoc_NoEmail\", \"EdocBanner\");\r\n });\r\n }\r\n\r\n const changeEmailLink = content.querySelector(\"a.persoInfoChangeEmailLink\");\r\n if (changeEmailLink) {\r\n changeEmailLink.addEventListener(\"click\", () => {\r\n this.tealium.trackLink(\"EdocEmailLink\", \"EDoc_ChangeEmail\", \"EdocBanner\");\r\n });\r\n }\r\n\r\n const contestRuleLink = content.querySelector(\"#contestBlock a\");\r\n if (contestRuleLink) {\r\n contestRuleLink.addEventListener(\"click\", () => {\r\n this.tealium.trackLink(\"EdocLink\", \"EDoc_ContestRule\", \"EdocBanner\");\r\n });\r\n }\r\n }\r\n\r\n private scheduleDisplay(content: Element) {\r\n (content.querySelector(\".we_overlayBannerContent\") as HTMLElement).style.display = \"block\";\r\n setTimeout(() => {\r\n this.htmlHelper.addCssClass(content, \"active\");\r\n }, 500);\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport Model from \"../models/promotion/promotionModel\";\r\nimport PromotionService from \"../../services/promotion/promotionService\";\r\n\r\n@Injection.injectableClass(\"PersonalizedAccessCodePromotion\")\r\nexport default class PersonalizedAccessCode implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"PersonalizedAccessCodePromotion\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"PersonalizedAccessCodePromotion\", EECore.Registrations.HTML_HELPER)\r\n private htmlHelper: EECore.HtmlHelper;\r\n\r\n @Injection.injectableProperty(\"PersonalizedAccessCodePromotion\", \"PromotionService\")\r\n private promotionService: PromotionService;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, htmlHelper: EECore.HtmlHelper, promotionService: PromotionService) {\r\n this.templateFactory = templateFactory;\r\n this.htmlHelper = htmlHelper;\r\n this.promotionService = promotionService;\r\n }\r\n\r\n load() {\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const contentRequest = this.promotionService.getPersonalizedAccessCodeContent();\r\n contentRequest.then((content) => {\r\n const promotionElement = this.render(content);\r\n resolve(promotionElement);\r\n this.bindEvents(promotionElement);\r\n this.scheduleDisplay(promotionElement);\r\n }).catch(() => {\r\n reject(\"Could not get the promotion information\");\r\n });\r\n });\r\n }\r\n\r\n private render(content: string): Element {\r\n const model: Model = { content: content };\r\n const template = this.templateFactory.getTemplate(\"PersonalizedAccessCode\", model);\r\n\r\n return template;\r\n }\r\n\r\n private bindEvents(content: Element) {\r\n const closeButton = content.querySelector(\".close-button\");\r\n closeButton.addEventListener(\"click\", () => {\r\n this.promotionService.updateReminder(\"PERSONALIZED_ACCESS_CODE\").then(() => {\r\n this.htmlHelper.removeCssClass(content, \"active\");\r\n });\r\n });\r\n }\r\n\r\n private scheduleDisplay(content: Element) {\r\n setTimeout(() => {\r\n this.htmlHelper.addCssClass(content, \"active\");\r\n }, 500);\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport { WidgetResources } from \"../../resources/widget\";\r\nimport Model from \"../models/promotion/promotionModel\";\r\nimport PromotionService from \"../../services/promotion/promotionService\";\r\nimport PersonnalInformation from \"../../services/entities/promotion/personnalInformation\";\r\nimport PhoneNumber from \"../../services/entities/promotion/phoneNumber\";\r\nimport EmailAddress from \"../../services/entities/promotion/emailAddress\";\r\n\r\n@Injection.injectableClass(\"ProfileReview\")\r\nexport default class ProfileReview implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"ProfileReview\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"ProfileReview\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n @Injection.injectableProperty(\"ProfileReview\", EECore.Registrations.HTML_HELPER)\r\n private htmlHelper: EECore.HtmlHelper;\r\n\r\n @Injection.injectableProperty(\"ProfileReview\", \"PromotionService\")\r\n private promotionService: PromotionService;\r\n\r\n @Injection.injectableProperty(\"ProfileReview\", EECore.Registrations.TEALIUM)\r\n private tealium: EECore.Tealium;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, resources: WidgetResources, htmlHelper: EECore.HtmlHelper, promotionService: PromotionService, tealium: EECore.Tealium) {\r\n this.templateFactory = templateFactory;\r\n this.resources = resources;\r\n this.htmlHelper = htmlHelper;\r\n this.promotionService = promotionService;\r\n this.tealium = tealium;\r\n }\r\n\r\n load() {\r\n\r\n const contentRequest = this.promotionService.getProfileReviewContent();\r\n const personalInformationRequest = this.promotionService.getPersonnalInformation();\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n EECore.Promise.all(contentRequest, personalInformationRequest).then((result) => {\r\n const promotionElement = this.render(result[0], result[1]);\r\n resolve(promotionElement);\r\n this.bindEvents(promotionElement);\r\n this.scheduleDisplay(promotionElement);\r\n }).catch(() => {\r\n reject(\"Could not get the promotion information\");\r\n });\r\n });\r\n }\r\n\r\n private render(content: string, personnalInformation: PersonnalInformation): Element {\r\n const model: Model = { content: content };\r\n const template = this.templateFactory.getTemplate(\"ProfileReview\", model);\r\n this.customizeContent(template, personnalInformation);\r\n\r\n return template;\r\n }\r\n\r\n private customizeContent(content: Element, personnalInformation: PersonnalInformation) {\r\n let address = \"\";\r\n personnalInformation.addressLines.forEach((addressLine: string) => {\r\n address += `${addressLine}
`;\r\n });\r\n\r\n let emailAddresses = \"\";\r\n const showEmailLabel = personnalInformation.emails.length > 1;\r\n personnalInformation.emails.forEach((email: EmailAddress) => {\r\n emailAddresses += `${this.formatEmailForDisplay(email, showEmailLabel)}`;\r\n });\r\n\r\n let phoneNumbers = \"\";\r\n const showPhoneNumbersLabel = personnalInformation.phoneNumbers.length > 1;\r\n personnalInformation.phoneNumbers.forEach((phoneNumber: PhoneNumber) => {\r\n phoneNumbers += `${this.formatPhoneNumberForDisplay(phoneNumber, showPhoneNumbersLabel)}`;\r\n });\r\n\r\n content.querySelector(\"[data-content=address]\").innerHTML = address;\r\n content.querySelector(\"[data-content=emailAddresses]\").innerHTML = emailAddresses;\r\n content.querySelector(\"[data-content=phoneNumbers]\").innerHTML = phoneNumbers;\r\n content.querySelector(\"[data-content=correspondenceLanguage]\").textContent = this.formatCorrespondenceLanguage(personnalInformation.correspondenceLanguage);\r\n\r\n if (!emailAddresses) {\r\n (content.querySelector(\"[data-content=emailAddresses]\") as HTMLElement).style.display = \"none\";\r\n (content.querySelector(\"[data-content=noEmailAddressMessage]\") as HTMLElement).style.display = \"block\";\r\n }\r\n\r\n if (!phoneNumbers) {\r\n (content.querySelector(\"[data-content=phoneNumbers]\") as HTMLElement).style.display = \"none\";\r\n }\r\n }\r\n\r\n private formatEmailForDisplay(email: EmailAddress, showLabel: boolean): string {\r\n let label = \"\";\r\n let formattedEmail = `${email.email}`;\r\n\r\n if (showLabel !== false) {\r\n if (email.type === \"HOME\") {\r\n label = this.resources.promotion.emailHome;\r\n } else if (email.type === \"WORK\") {\r\n label = this.resources.promotion.emailWork;\r\n }\r\n formattedEmail = `${label}:${formattedEmail}`;\r\n }\r\n\r\n return formattedEmail;\r\n }\r\n\r\n private formatPhoneNumberForDisplay(phoneNumber: PhoneNumber, showLabel: boolean): string {\r\n let label = \"\";\r\n let formattedPhoneNumber = `${phoneNumber.phoneNumber}`;\r\n if (phoneNumber.extension) formattedPhoneNumber += ` #${phoneNumber.extension}`;\r\n formattedPhoneNumber += \"\";\r\n\r\n if (showLabel !== false) {\r\n if (phoneNumber.type === \"HOME\") {\r\n label = this.resources.promotion.phoneNumberHome;\r\n } else if (phoneNumber.type === \"WORK\") {\r\n label = this.resources.promotion.phoneNumberWork;\r\n } else if (phoneNumber.type === \"CELL\") {\r\n label = this.resources.promotion.phoneNumberCell;\r\n } else if (phoneNumber.type === \"FAX\") {\r\n label = this.resources.promotion.phoneNumberFax;\r\n }\r\n\r\n formattedPhoneNumber = `${label}:${formattedPhoneNumber}`;\r\n }\r\n\r\n return formattedPhoneNumber;\r\n }\r\n\r\n private formatCorrespondenceLanguage(twoLetterLanguageCode: string): string {\r\n return twoLetterLanguageCode === \"fr\" ? this.resources.promotion.correspondenceLanguageFrench : this.resources.promotion.correspondenceLanguageEnglish;\r\n }\r\n\r\n private bindEvents(content: Element) {\r\n const dismissButton = content.querySelector(\".popup-dismiss\");\r\n dismissButton.addEventListener(\"click\", () => {\r\n this.promotionService.updateReminder(\"PROFILE_REVIEW\").then(() => {\r\n this.htmlHelper.removeCssClass(content, \"active\");\r\n });\r\n });\r\n }\r\n\r\n private scheduleDisplay(content: Element) {\r\n (content.querySelector(\".we_overlayBannerContent\") as HTMLElement).style.display = \"block\";\r\n setTimeout(() => {\r\n this.htmlHelper.addCssClass(content, \"active\");\r\n this.tealium.trackLink(\"ProfilLaunch\", \"Profil_Banner\", \"ProfilBanner\");\r\n }, 500);\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport PromotionService from \"../../services/promotion/promotionService\";\r\nimport CurrentPromotion from \"../../services/entities/promotion/currentPromotion\";\r\nimport ProfileReview from \"./profileReview\";\r\nimport PersonalizedAccessCode from \"./personalizedAccessCode\";\r\nimport ElectronicFeatures from \"./electronicFeatures\";\r\nimport SecuredMessaging from \"./securedMessaging\";\r\n\r\n@Injection.injectableClass(\"Promotion\")\r\nexport default class Promotion implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"Promotion\", EECore.Registrations.WEBCOMPONENT_FACTORY)\r\n private webComponentFactory: EECore.UI.WebComponentFactory;\r\n\r\n @Injection.injectableProperty(\"Promotion\", \"PromotionService\")\r\n private promotionService: PromotionService;\r\n\r\n @Injection.injectableProperty(\"Promotion\", EECore.Registrations.SESSION)\r\n private sessionHelper: EECore.Session;\r\n\r\n @Injection.injectableProperty(\"Promotion\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n @Injection.injectableProperty(\"Promotion\", EECore.Registrations.UNAVAILABLE_SERVICE)\r\n private unavailableService: EECore.Services.UnavailableService;\r\n\r\n constructor(webComponentFactory: EECore.UI.WebComponentFactory,\r\n promotionService: PromotionService, sessionHelper: EECore.Session,\r\n document: Document,\r\n unavailableService: EECore.Services.UnavailableService) {\r\n this.webComponentFactory = webComponentFactory;\r\n this.promotionService = promotionService;\r\n this.sessionHelper = sessionHelper;\r\n this.document = document;\r\n this.unavailableService = unavailableService;\r\n }\r\n\r\n load(container: Element, culture: string): EECore.Promise | Element {\r\n if (this.sessionHelper.get(\"ee-scripts-displayPromotion\") === \"1\") return document.createDocumentFragment() as any;\r\n this.sessionHelper.set(\"ee-scripts-displayPromotion\", \"1\");\r\n return new EECore.Promise((resolve, reject) => {\r\n this.promotionService.getCurrentPromotion().then((promotion) => {\r\n this.unavailableService.getAvailabilityservice(\"EXT2_PROMO\").then((availability: EECore.Services.Entities.UnavailableModel) => {\r\n if (availability.isAvailable === false) {\r\n // do nothing\r\n }\r\n else {\r\n this.loadPromotion(promotion, container, culture).then(resolve).catch(reject);\r\n }\r\n });\r\n }).catch(() => {\r\n reject(\"Could not get the promotion\");\r\n });\r\n });\r\n\r\n }\r\n\r\n private loadPromotion(currentPromotion: CurrentPromotion, container: Element, culture: string): EECore.Promise {\r\n let promoterCode = \"\";\r\n if (currentPromotion) promoterCode = currentPromotion.promoterCode;\r\n let promotionComponent: EECore.UI.IWebComponent = null;\r\n switch (promoterCode) {\r\n case \"PROFILE_REVIEW\":\r\n promotionComponent = this.webComponentFactory.getWebComponent(ProfileReview);\r\n break;\r\n case \"PERSONALIZED_ACCESS_CODE\":\r\n promotionComponent = this.webComponentFactory.getWebComponent(PersonalizedAccessCode);\r\n break;\r\n case \"ELECTRONIC_FEATURES\":\r\n promotionComponent = this.webComponentFactory.getWebComponent(ElectronicFeatures);\r\n break;\r\n case \"SECURED_MESSAGING_PROMOTION\":\r\n promotionComponent = this.webComponentFactory.getWebComponent(SecuredMessaging);\r\n break;\r\n }\r\n\r\n if (promotionComponent) {\r\n (promotionComponent as any).promotionData = currentPromotion;\r\n return promotionComponent.load(container, culture) as any;\r\n } else {\r\n return new EECore.Promise((resolve) => { resolve(this.document.createDocumentFragment() as any); });\r\n }\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport Model from \"../models/promotion/promotionModel\";\r\nimport PromotionService from \"../../services/promotion/promotionService\";\r\n\r\n@Injection.injectableClass(\"SecuredMessaging\")\r\nexport default class SecuredMessaging implements EECore.UI.IWebComponent {\r\n @Injection.injectableProperty(\"SecuredMessaging\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"SecuredMessaging\", EECore.Registrations.HTML_HELPER)\r\n private htmlHelper: EECore.HtmlHelper;\r\n\r\n @Injection.injectableProperty(\"SecuredMessaging\", \"PromotionService\")\r\n private promotionService: PromotionService;\r\n\r\n @Injection.injectableProperty(\"SecuredMessaging\", EECore.Registrations.TEALIUM)\r\n private tealium: EECore.Tealium;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, htmlHelper: EECore.HtmlHelper, promotionService: PromotionService, tealium: EECore.Tealium) {\r\n this.tealium = tealium;\r\n this.htmlHelper = htmlHelper;\r\n this.templateFactory = templateFactory;\r\n this.promotionService = promotionService;\r\n }\r\n\r\n load() {\r\n const contentRequest = this.promotionService.getSecuredMessagingContent();\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n EECore.Promise.all(contentRequest).then((result) => {\r\n const promotionElement = this.render(result[0]);\r\n resolve(promotionElement);\r\n this.bindEvents(promotionElement);\r\n this.scheduleDisplay(promotionElement);\r\n }).catch(() => {\r\n reject(\"Could not get the promotion information\");\r\n });\r\n });\r\n }\r\n\r\n private render(content: string): Element {\r\n const model: Model = { content: content };\r\n const template = this.templateFactory.getTemplate(\"SecuredMessaging\", model);\r\n\r\n this.customizeContent(template);\r\n\r\n return template;\r\n }\r\n\r\n private bindEvents(content: Element) {\r\n const dismissButton = content.querySelector(\".close-button\");\r\n dismissButton.addEventListener(\"click\", () => {\r\n this.promotionService.updateReminder(\"SECURED_MESSAGING_PROMOTION\").then(() => {\r\n this.htmlHelper.removeCssClass(content, \"active\");\r\n (content.querySelector(\".we_overlayBannerOverlay\") as HTMLElement).style.display = \"none\";\r\n (content.querySelector(\".we_overlayBannerContent\") as HTMLElement).style.display = \"none\";\r\n });\r\n });\r\n }\r\n\r\n private scheduleDisplay(content: Element) {\r\n (content.querySelector(\".we_overlayBannerOverlay\") as HTMLElement).style.display = \"block\";\r\n (content.querySelector(\".we_overlayBannerContent\") as HTMLElement).style.display = \"block\";\r\n setTimeout(() => {\r\n this.htmlHelper.addCssClass(content, \"active\");\r\n }, 500);\r\n }\r\n\r\n private customizeContent(content: Element) {\r\n (content.querySelector(\".banner-image\") as HTMLElement).style.backgroundColor = \"#e1f6fb\";\r\n }\r\n}","import Injection = EECore.Injection;\r\n\r\n@Injection.injectableClass(\"Unavailable\")\r\nexport default class Unavailable implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"Unavailable\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n public model: EECore.Services.Entities.UnavailableModel;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory) {\r\n this.templateFactory = templateFactory;\r\n }\r\n\r\n load(): Element {\r\n if (this.model === null) throw new Error(\"web component model is required\");\r\n return this.templateFactory.getTemplate(\"Unavailable\", this.model);\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport UpcomingUnavailabilityService from \"../../services/upcomingUnavailability/upcomingUnavailabilityService\";\r\nimport Model from \"../models/upcomingUnavailability/upcomingUnavailabilityModel\";\r\n\r\n@Injection.injectableClass(\"EEWidget.UpcomingUnavailability\")\r\nexport default class upcomingUnavailability implements EECore.UI.IWebComponent {\r\n\r\n @Injection.injectableProperty(\"EEWidget.UpcomingUnavailability\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n @Injection.injectableProperty(\"EEWidget.UpcomingUnavailability\", EECore.Registrations.DOCUMENT)\r\n private document: Document;\r\n\r\n @Injection.injectableProperty(\"EEWidget.UpcomingUnavailability\", \"UpcomingUnavailabilityService\")\r\n private upcomingUnavailabilityService: UpcomingUnavailabilityService;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory, document: Document, upcomingUnavailabilityService: UpcomingUnavailabilityService) {\r\n this.templateFactory = templateFactory;\r\n this.document = document;\r\n this.upcomingUnavailabilityService = upcomingUnavailabilityService;\r\n }\r\n\r\n load(): EECore.Promise {\r\n return new EECore.Promise((resolve, reject) => {\r\n this.upcomingUnavailabilityService.getUpcomingUnavailability(\"EXT2\").then((model: Model) => {\r\n if (!model || !model.message)\r\n resolve(this.document.createDocumentFragment() as any);\r\n else\r\n resolve(this.templateFactory.getTemplate(\"UpcomingUnavailability\", model));\r\n }).catch(() => {\r\n reject(\"Could not get upcoming maintenance.\");\r\n });\r\n });\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport DocumentCentreFavouriteDocuments from \"../components/documentCentre/favouriteDocuments\";\r\nimport DocumentCentreQuickSearch from \"../components/documentCentre/quickSearch\";\r\nimport DocumentCentreAdvancedSearchBar from \"../components/documentCentre/advancedSearchBar\";\r\nimport DocumentSearch from \"../components/documentCentre/documentSearch\";\r\nimport News from \"../components/news/news\";\r\nimport Login from \"../components/login/login\";\r\nimport InstabilityMessages from \"../components/instabilityMessages/instabilityMessages\";\r\nimport ContractList from \"../components/corporateSearch/contractList\";\r\nimport AdsSlideshow from \"../components/ads/adsSlideshow\";\r\nimport UpcomingUnavailability from \"../components/upcomingUnavailability/upcomingUnavailability\";\r\n\r\n@Injection.injectableClass(\"WidgetComponentLoader\")\r\nexport default class ComponentsLoader {\r\n\r\n @Injection.injectableProperty(\"WidgetComponentLoader\", EECore.Registrations.NESTEDCOMPONENT_LOADER)\r\n private nestedComponentLoader: EECore.UI.NestedComponentLoader;\r\n\r\n constructor(nestedComponentLoader: EECore.UI.NestedComponentLoader) {\r\n this.nestedComponentLoader = nestedComponentLoader;\r\n }\r\n\r\n load(): void {\r\n const components = {\r\n documentcentrefavouritedocuments: DocumentCentreFavouriteDocuments,\r\n documentcentrequicksearch: DocumentCentreQuickSearch,\r\n documentcentreadvancedsearchbar: DocumentCentreAdvancedSearchBar,\r\n documentsearch: DocumentSearch,\r\n news: News,\r\n login: Login,\r\n instabilitymessages: InstabilityMessages,\r\n contractlist: ContractList,\r\n adsslideshow: AdsSlideshow,\r\n upcomingUnavailability: UpcomingUnavailability\r\n };\r\n this.nestedComponentLoader.addComponents(components);\r\n }\r\n}","import WidgetResourcesFr from \"../resources/widget.fr\";\r\nimport WidgetResourcesEn from \"../resources/widget.en\";\r\nimport TemplateLoader from \"./templatesLoader\";\r\nimport ComponentsLoader from \"./componentsLoader\";\r\nimport NewsService from \"../services/news/newsService\";\r\nimport DocumentCentreSearchService from \"../services/documentCentre/searchService\";\r\nimport DocumentCentreQuerySuggestService from \"../services/documentCentre/querySuggestService\";\r\nimport DocumentCentreDocumentService from \"../services/documentCentre/documentService\";\r\nimport DocumentCentreFavouriteDocumentBehavior from \"../behaviors/documentCentre/favouriteDocumentBehavior\";\r\nimport DocumentCentreFavouriteDocumentListBehavior from \"../behaviors/documentCentre/favouriteDocumentListBehavior\";\r\nimport DocumentCentreAdvancedSearchBarBehavior from \"../behaviors/documentCentre/advancedSearchBarBehavior\";\r\nimport UserPreferencesService from \"../services/login/UserPreferencesService\";\r\nimport LoginUiBehavior from \"../behaviors/login/uiBehavior\";\r\nimport PromotionService from \"../services/promotion/promotionService\";\r\nimport InstabilityMessagesService from \"../services/instabilityMessages/instabilityMessagesService\";\r\nimport ContractService from \"../services/corporateSearch/corporateSearchService\";\r\nimport AdsService from \"../services/ads/adsService\";\r\nimport AdsSlideshowBehavior from \"../behaviors/ads/adsSlideshowBehavior\";\r\nimport UpcomingUnavailabilityService from \"../services/upcomingUnavailability/upcomingUnavailabilityService\";\r\nimport ContentService = EECore.Services.ContentService;\r\n\r\nexport default class InjectionConfig {\r\n\r\n static registerInjection(): void {\r\n const injector = EECore.Injection.Injector;\r\n const culture: EECore.Culture = injector.resolve(EECore.Registrations.CULTURE);\r\n injector.registerType(\"WidgetResources\", this.getWidgetResources(culture));\r\n injector.registerType(\"WidgetTemplateLoader\", new TemplateLoader(null));\r\n injector.registerType(\"WidgetComponentLoader\", new ComponentsLoader(null));\r\n injector.registerType(\"NewsService\", new NewsService(null, null, null, null));\r\n injector.registerType(\"DocumentCentreSearchService\", new DocumentCentreSearchService(null, null, null, null));\r\n injector.registerType(\"EEWidget.DocumentCentre.QuerySuggestService\", new DocumentCentreQuerySuggestService(null, null, null));\r\n injector.registerType(\"DocumentCentreDocumentService\", new DocumentCentreDocumentService(null, null));\r\n injector.registerType(\"DocumentCentreFavouriteDocumentBehavior\", new DocumentCentreFavouriteDocumentBehavior(null));\r\n injector.registerType(\"DocumentCentreFavouriteDocumentListBehavior\", new DocumentCentreFavouriteDocumentListBehavior(null));\r\n injector.registerType(\"DocumentCentreAdvancedSearchBarBehavior\", new DocumentCentreAdvancedSearchBarBehavior());\r\n injector.registerType(\"UserPreferencesService\", new UserPreferencesService(null));\r\n injector.registerType(\"LoginUiBehavior\", new LoginUiBehavior());\r\n injector.registerType(\"PromotionService\", new PromotionService(null));\r\n injector.registerType(\"InstabilityMessagesService\", new InstabilityMessagesService(null, null, null));\r\n injector.registerType(\"CorporateSearchService\", new ContractService(null));\r\n injector.registerType(\"AdsSlideshowBehavior\", new AdsSlideshowBehavior(null));\r\n injector.registerType(\"ContentService\", new ContentService(null, null, null, null));\r\n injector.registerType(\"AdsService\", new AdsService(null));\r\n injector.registerType(\"UpcomingUnavailabilityService\", new UpcomingUnavailabilityService(null));\r\n }\r\n\r\n private static getWidgetResources(culture: EECore.Culture) {\r\n return culture.getCurrentCulture().indexOf(\"fr\") === 0 ? WidgetResourcesFr : WidgetResourcesEn;\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport documentCentre from \"../../templates/documentCentre/documentCentre.html\";\r\nimport documentCentreNoAuth from \"../../templates/documentCentre/documentCentre.noauth.html\";\r\nimport documentCentreAffiliate from \"../../templates/documentCentre/documentCentre.affiliate.html\";\r\nimport documentCentreFavouriteDocuments from \"../../templates/documentCentre/favouriteDocuments.html\";\r\nimport documentCentreFavouriteDocument from \"../../templates/documentCentre/favouriteDocument.html\";\r\nimport documentCentreFavourites from \"../../templates/documentCentre/favourites.html\";\r\nimport documentCentreFavourite from \"../../templates/documentCentre/favourite.html\";\r\nimport documentCentreQuickSearch from \"../../templates/documentCentre/quickSearch.html\";\r\nimport documentCentreAdvancedSearchBar from \"../../templates/documentCentre/advancedSearchBar.html\";\r\nimport documentSearch from \"../../templates/documentCentre/documentSearch.html\";\r\nimport news from \"../../templates/news/news.client.html\";\r\nimport newsAffiliate from \"../../templates/news/news.affiliate.html\";\r\nimport newsItem from \"../../templates/news/newsItem.client.html\";\r\nimport newsItemAffiliate from \"../../templates/news/newsItem.affiliate.html\";\r\nimport unavailable from \"../../templates/unavailable/unavailable.html\";\r\nimport login from \"../../templates/login/login.noauth.html\";\r\nimport loginind from \"../../templates/login/login.noauth.ind.html\";\r\nimport loginnondispo from \"../../templates/login/loginnondispo.html\";\r\nimport application from \"../../templates/application/application.html\";\r\nimport applicationitem from \"../../templates/application/applicationItem.html\";\r\nimport profileReview from \"../../templates/promotion/profileReview.html\";\r\nimport personalizedAccessCode from \"../../templates/promotion/personalizedAccessCode.html\";\r\nimport electronicFeatures from \"../../templates/promotion/electronicFeatures.html\";\r\nimport instabilityMessagesSingle from \"../../templates/instabilityMessages/instabilityMessages_Single.html\";\r\nimport instabilityMessagesMultiple from \"../../templates/instabilityMessages/instabilityMessages_Multiple.html\";\r\nimport instabilityMessagesMultipleItem from \"../../templates/instabilityMessages/instabilityMessages_MultipleItem.html\";\r\nimport corporateSearch from \"../../templates/corporateSearch/corporateSearch.html\";\r\nimport corporateSearchEmpty from \"../../templates/corporateSearch/corporateSearchEmpty.html\";\r\nimport contractList from \"../../templates/corporateSearch/contractList.html\";\r\nimport contractItem from \"../../templates/corporateSearch/contractItem.html\";\r\nimport contractItemNoLink from \"../../templates/corporateSearch/contractItemNoLink.html\";\r\nimport adsSlideshow from \"../../templates/ads/adsSlideshow.html\";\r\nimport adsSlide from \"../../templates/ads/adsSlide.html\";\r\nimport adsList from \"../../templates/ads/adsList.html\";\r\nimport ads from \"../../templates/ads/ads.html\";\r\nimport upcomingUnavailability from \"../../templates/upcomingUnavailability/upcomingUnavailability.html\";\r\nimport widgetBox from \"../../templates/common/widgetBox.html\";\r\nimport securedMessaging from \"../../templates/promotion/securedMessaging.html\";\r\n\r\n@Injection.injectableClass(\"WidgetTemplateLoader\")\r\nexport default class TemplateLoader {\r\n\r\n @Injection.injectableProperty(\"WidgetTemplateLoader\", EECore.Registrations.TEMPLATE_FACTORY)\r\n private templateFactory: EECore.UI.TemplateFactory;\r\n\r\n constructor(templateFactory: EECore.UI.TemplateFactory) {\r\n this.templateFactory = templateFactory;\r\n }\r\n\r\n load(): void {\r\n const templates = {\r\n default:\r\n {\r\n documentcentre: {\r\n client: {\r\n noauth: documentCentreNoAuth,\r\n default: documentCentre\r\n },\r\n advisor: {\r\n noauth: documentCentreNoAuth,\r\n default: documentCentre\r\n },\r\n employee: {\r\n noauth: documentCentreNoAuth,\r\n default: documentCentre\r\n },\r\n employee_sal: {\r\n noauth: documentCentreNoAuth,\r\n default: documentCentre\r\n },\r\n employee_iavm: {\r\n noauth: documentCentreNoAuth,\r\n default: documentCentre\r\n },\r\n default: documentCentre\r\n },\r\n documentcentrefavouritedocuments: {\r\n default: documentCentreFavouriteDocuments\r\n },\r\n documentcentrefavouritedocument: {\r\n default: documentCentreFavouriteDocument\r\n },\r\n documentcentrefavourites: {\r\n default: documentCentreFavourites\r\n },\r\n documentcentrefavourite: {\r\n default: documentCentreFavourite\r\n },\r\n documentcentrequicksearch: {\r\n default: documentCentreQuickSearch\r\n },\r\n documentcentreadvancedsearchbar: {\r\n default: documentCentreAdvancedSearchBar\r\n },\r\n documentsearch: {\r\n default: documentSearch\r\n },\r\n news: {\r\n default: news\r\n },\r\n newsitem: {\r\n default: newsItem\r\n },\r\n login: {\r\n default: login\r\n },\r\n loginind: {\r\n default: loginind\r\n },\r\n loginnondispo: {\r\n default: loginnondispo\r\n },\r\n application: {\r\n default: application\r\n },\r\n applicationitem: {\r\n default: applicationitem\r\n },\r\n profilereview: {\r\n default: profileReview\r\n },\r\n personalizedaccesscode: {\r\n default: personalizedAccessCode\r\n },\r\n electronicfeatures: {\r\n default: electronicFeatures\r\n },\r\n securedmessaging: {\r\n default: securedMessaging\r\n },\r\n instabilitymessagessingle: {\r\n default: instabilityMessagesSingle\r\n },\r\n instabilitymessagesmultiple: {\r\n default: instabilityMessagesMultiple\r\n },\r\n instabilitymessagesmultipleitem: {\r\n default: instabilityMessagesMultipleItem\r\n },\r\n corporatesearch: {\r\n default: corporateSearch\r\n },\r\n corporatesearchempty: {\r\n default: corporateSearchEmpty\r\n },\r\n contractlist: {\r\n default: contractList\r\n },\r\n contractitem: {\r\n default: contractItem\r\n },\r\n contractitemnolink: {\r\n default: contractItemNoLink\r\n },\r\n adsslideshow: {\r\n default: adsSlideshow\r\n },\r\n adsslide: {\r\n default: adsSlide\r\n },\r\n adslist: {\r\n default: adsList\r\n },\r\n ads: {\r\n default: ads\r\n },\r\n widgetbox: {\r\n default: widgetBox\r\n },\r\n unavailable: {\r\n default: unavailable\r\n },\r\n upcomingunavailability: {\r\n default: upcomingUnavailability\r\n }\r\n },\r\n investia: {\r\n documentcentre: {\r\n advisor: {\r\n default: documentCentreAffiliate\r\n },\r\n default: documentCentreAffiliate\r\n },\r\n news: {\r\n default: newsAffiliate\r\n },\r\n newsitem: {\r\n default: newsItemAffiliate\r\n }\r\n },\r\n fundex: {\r\n documentcentre: {\r\n advisor: {\r\n default: documentCentreAffiliate\r\n },\r\n default: documentCentreAffiliate\r\n },\r\n news: {\r\n default: newsAffiliate\r\n },\r\n newsitem: {\r\n default: newsItemAffiliate\r\n }\r\n }\r\n };\r\n this.templateFactory.addTemplate(templates);\r\n }\r\n}","import Injection from \"./configs/injection\";\r\nimport News from \"./components/news/news\";\r\nimport DocumentSearch from \"./components/documentCentre/documentSearch\";\r\nimport DocumentCentre from \"./components/documentCentre/documentCentre\";\r\nimport FavouritesDocument from \"./components/documentCentre/favourites\";\r\nimport Login from \"./components/login/login\";\r\nimport Application from \"./components/application/application\";\r\nimport Promotion from \"./components/promotion/promotion\";\r\nimport InstabilityMessages from \"./components/instabilityMessages/instabilityMessages\";\r\nimport UpcomingUnavailability from \"./components/upcomingUnavailability/upcomingUnavailability\";\r\nimport CorporateSearch from \"./components/corporateSearch/corporateSearch\";\r\nimport AdsSwitcher from \"./components/ads/adsSwitcher\";\r\n\r\nInjection.registerInjection();\r\nconst webComponentFactory = new EECore.UI.WebComponentFactory();\r\nconst culture: EECore.Culture = EECore.Injection.Injector.resolve(EECore.Registrations.CULTURE);\r\nEECore.Injection.Injector.resolve(\"WidgetTemplateLoader\").load();\r\nEECore.Injection.Injector.resolve(\"WidgetComponentLoader\").load();\r\n\r\nfunction loadLogin() {\r\n const loginContainers = document.querySelectorAll(\"ee-login\");\r\n for (let i = 0; i < loginContainers.length; i++) {\r\n const loginComponent = webComponentFactory.getWebComponent(Login);\r\n const componentElement = loginComponent.load(loginContainers[i], culture.getCurrentCulture()) as Element;\r\n loginContainers[i].parentElement.replaceChild(componentElement, loginContainers[i]);\r\n }\r\n}\r\n\r\nfunction loadNews() {\r\n const newsContainer = document.querySelector(\"ee-news\");\r\n if (newsContainer !== null) {\r\n const newsComponent = webComponentFactory.getWebComponent(News);\r\n const newsPromise = newsComponent.load(newsContainer, culture.getCurrentCulture()) as EECore.Promise;\r\n newsPromise.then((componentElement: Element) => {\r\n newsContainer.parentElement.replaceChild(componentElement, newsContainer);\r\n });\r\n }\r\n}\r\n\r\nfunction loadDocumentSearch() {\r\n const documentSearchContainers = document.querySelectorAll(\"ee-documentsearch\");\r\n for (let i = 0; i < documentSearchContainers.length; i++) {\r\n const documentSearchComponent = webComponentFactory.getWebComponent(DocumentSearch);\r\n const componentElement = documentSearchComponent.load(documentSearchContainers[i], culture.getCurrentCulture()) as Element;\r\n documentSearchContainers[i].parentElement.replaceChild(componentElement, documentSearchContainers[i]);\r\n }\r\n}\r\n\r\nfunction loadDocumentCentre() {\r\n const documentCentreContainers = document.querySelectorAll(\"ee-documentcentre\");\r\n for (let i = 0; i < documentCentreContainers.length; i++) {\r\n const documentCentreComponent = webComponentFactory.getWebComponent(DocumentCentre);\r\n const componentElement = documentCentreComponent.load(documentCentreContainers[i], culture.getCurrentCulture()) as Element;\r\n documentCentreContainers[i].parentElement.replaceChild(componentElement, documentCentreContainers[i]);\r\n }\r\n}\r\n\r\nfunction loadApplications() {\r\n const applicationsContainer = document.querySelector(\"ee-applications\");\r\n if (applicationsContainer !== null) {\r\n const applicationComponent = webComponentFactory.getWebComponent(Application);\r\n const applicationPromise = applicationComponent.load(applicationsContainer, culture.getCurrentCulture()) as EECore.Promise;\r\n applicationPromise.then((componentElement: Element) => {\r\n applicationsContainer.parentElement.replaceChild(componentElement, applicationsContainer);\r\n });\r\n }\r\n}\r\n\r\nfunction loadPromotion() {\r\n const promotionContainer = document.querySelector(\"ee-promotion\");\r\n if (promotionContainer !== null) {\r\n const promotionComponent = webComponentFactory.getWebComponent(Promotion);\r\n const promotionResult = promotionComponent.load(promotionContainer, culture.getCurrentCulture()) as EECore.Promise | Element;\r\n\r\n if (promotionResult instanceof EECore.Promise) {\r\n promotionResult.then((componentElement: Element) => {\r\n promotionContainer.parentElement.replaceChild(componentElement, promotionContainer);\r\n });\r\n }\r\n else {\r\n promotionContainer.parentElement.replaceChild(promotionResult, promotionContainer);\r\n }\r\n }\r\n}\r\n\r\nfunction loadInstabilityMessages() {\r\n const InstabilityMessagesContainer = document.querySelector(\"ee-instabilitymessages\");\r\n if (InstabilityMessagesContainer) {\r\n const InstabilityMessagesComponent = webComponentFactory.getWebComponent(InstabilityMessages);\r\n const InstabilityMessagesComponentPromise = InstabilityMessagesComponent.load(InstabilityMessagesContainer, culture.getCurrentCulture()) as EECore.Promise;\r\n InstabilityMessagesComponentPromise.then((componentElement: Element) => {\r\n InstabilityMessagesContainer.parentElement.replaceChild(componentElement, InstabilityMessagesContainer);\r\n });\r\n }\r\n}\r\n\r\nfunction loadUpcomingUnavailability() {\r\n const UpcomingUnavailabilityContainer = document.querySelector(\"ee-upcomingUnavailability\");\r\n if (UpcomingUnavailabilityContainer) {\r\n const UpcomingUnavailabilityComponent = webComponentFactory.getWebComponent(UpcomingUnavailability);\r\n const UpcomingUnavailabilityPromise = UpcomingUnavailabilityComponent.load(UpcomingUnavailabilityContainer, culture.getCurrentCulture()) as EECore.Promise;\r\n UpcomingUnavailabilityPromise.then((componentElement: Element) => {\r\n UpcomingUnavailabilityContainer.parentElement.replaceChild(componentElement, UpcomingUnavailabilityContainer);\r\n });\r\n }\r\n}\r\n\r\nfunction loadCorporateSearch() {\r\n const corporateSearchContainer = document.querySelector(\"ee-corporatesearch\");\r\n if (corporateSearchContainer !== null) {\r\n const corporateSearchComponent = webComponentFactory.getWebComponent(CorporateSearch);\r\n const corporateSearchPromise = corporateSearchComponent.load(corporateSearchContainer, culture.getCurrentCulture()) as EECore.Promise;\r\n\r\n if (corporateSearchPromise instanceof EECore.Promise) {\r\n corporateSearchPromise.then((componentElement: Element) => {\r\n corporateSearchContainer.parentElement.replaceChild(componentElement, corporateSearchContainer);\r\n });\r\n }\r\n else {\r\n corporateSearchContainer.parentElement.replaceChild(corporateSearchPromise, corporateSearchContainer);\r\n }\r\n\r\n }\r\n}\r\n\r\nfunction loadAdsSwitchers() {\r\n const adsSlideshowContainers = document.querySelectorAll(\"ee-ads\");\r\n for (let i = 0; i < adsSlideshowContainers.length; i++) {\r\n loadAdsSwitcher(adsSlideshowContainers[i]);\r\n }\r\n}\r\n\r\nfunction loadAdsSwitcher(container: Element) {\r\n const adsSlideshowComponent = webComponentFactory.getWebComponent(AdsSwitcher);\r\n const adsSlideshowPromise = adsSlideshowComponent.load(container, culture.getCurrentCulture()) as EECore.Promise;\r\n adsSlideshowPromise.then((componentElement: Element) => {\r\n container.parentElement.replaceChild(componentElement, container);\r\n });\r\n}\r\n\r\nfunction loadFavouritesDocument() {\r\n const containers = document.querySelectorAll(\"ee-favourites-document\");\r\n for (let i = 0; i < containers.length; i++) {\r\n loadSingleFavouritesDocument(containers[i]);\r\n }\r\n}\r\n\r\nfunction loadSingleFavouritesDocument(container: Element) {\r\n const component = webComponentFactory.getWebComponent(FavouritesDocument);\r\n const promise = component.load(container, culture.getCurrentCulture()) as EECore.Promise;\r\n promise.then((componentElement: Element) => {\r\n container.parentElement.replaceChild(componentElement, container);\r\n });\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n loadLogin();\r\n loadNews();\r\n loadDocumentSearch();\r\n loadDocumentCentre();\r\n loadApplications();\r\n loadPromotion();\r\n loadInstabilityMessages();\r\n loadUpcomingUnavailability();\r\n loadCorporateSearch();\r\n loadAdsSwitchers();\r\n loadFavouritesDocument();\r\n});\r\n\r\nexport = {\r\n loadLogin: loadLogin,\r\n loadNews: loadNews,\r\n loadDocumentSearch: loadDocumentSearch,\r\n loadDocumentCentre: loadDocumentCentre,\r\n loadApplications: loadApplications,\r\n loadPromotion: loadPromotion,\r\n loadInstabilityMessages: loadInstabilityMessages,\r\n loadCorporateSearch: loadCorporateSearch,\r\n loadAdsSlideshows: loadAdsSwitchers,\r\n loadFavouritesDocument: loadFavouritesDocument\r\n};","import { WidgetResources } from \"./widget\";\r\n\r\nconst resources: WidgetResources = {\r\n documentCentre: {\r\n components: {\r\n searchBarTitle: \"Forms and guides\",\r\n documentCentreTitle: \"Document Centre\"\r\n },\r\n tabs: {\r\n searchLabel: \"Search\",\r\n favouriteLabel: \"Favourite\"\r\n },\r\n favourites: {\r\n titleLabel: \"Favourite\",\r\n unavailableMessage: \"Actions on the favourites are not available at the moment. Please try again later.\",\r\n moveUpTooltip: \"Move up the list\",\r\n moveDownTooltip: \"Move down the list\",\r\n removeTooltip: \"Remove from the list\",\r\n showAllLabel: \"All favourites\",\r\n showAllLabelInd: \"View all favourites\",\r\n errorMessage: \"Unable to retrieve favourite documents.\",\r\n noDocumentMessage: \"No favourite document found. To add a document to favourites, click on the « Add to favourites » icon next to each document search result.\"\r\n }\r\n },\r\n news: {\r\n titleLabel: \"News\",\r\n buttonLabel: \"All the news\"\r\n },\r\n login: {\r\n title: \"Secure access\",\r\n submitButton: \"Sign in\",\r\n registrationLabel: \"Register\"\r\n },\r\n application: {\r\n titleLabel: \"Tools and applications\"\r\n },\r\n promotion: {\r\n correspondenceLanguageEnglish: \"English\",\r\n correspondenceLanguageFrench: \"French\",\r\n emailHome: \"Home\",\r\n emailWork: \"Work\",\r\n phoneNumberCell: \"Cell\",\r\n phoneNumberFax: \"Fax\",\r\n phoneNumberHome: \"Home\",\r\n phoneNumberWork: \"Work\"\r\n },\r\n contract: {\r\n title: \"Search\",\r\n subTitle: \"All the contracts of\",\r\n newSearch: \"New search\"\r\n },\r\n contractList: {\r\n noContractTitle: \"Contract no.\",\r\n descriptionTitle: \"Description\",\r\n returnButton: \"Return to client\"\r\n },\r\n instabilityMessage: {\r\n baseMessage: \"Please take note that some sections are currently unavailable. We apologize for the inconvenience.\",\r\n investiaAdvisorMessage: `Please take note that some sections are currently unavailable. We apologize for the inconvenience.
\r\n Meanwhile, you can access Univeris by clicking this link: Univeris`,\r\n fundexAdvisorMessage: `Please take note that some sections are currently unavailable. We apologize for the inconvenience.
\r\n Meanwhile, you can access Univeris by clicking this link: Univeris`,\r\n iaAdvisorMessage: `Please take note that some sections are currently unavailable, specifically the documentation access. We are working\r\n to resolve the situation. We apologize for the inconvenience.
Thank you for your understanding.`\r\n }\r\n};\r\nexport default resources;","import { WidgetResources } from \"./widget\";\r\n\r\nconst resources: WidgetResources = {\r\n documentCentre: {\r\n components: {\r\n searchBarTitle: \"Formulaires et guides\",\r\n documentCentreTitle: \"Centre de documentation\"\r\n },\r\n tabs: {\r\n searchLabel: \"Recherche\",\r\n favouriteLabel: \"Favoris\"\r\n },\r\n favourites: {\r\n titleLabel: \"Favoris\",\r\n unavailableMessage: \"Les actions sur les favoris ne sont pas disponible pour l'instant. Veuillez réessayer plus tard.\",\r\n moveUpTooltip: \"Monter dans la liste\",\r\n moveDownTooltip: \"Descendre dans la liste\",\r\n removeTooltip: \"Retirer de la liste\",\r\n showAllLabel: \"Tous les favoris\",\r\n showAllLabelInd: \"Voir tous les favoris\",\r\n errorMessage: \"Impossible d’obtenir la liste des documents favoris.\",\r\n noDocumentMessage: \"Aucun document favori n’a été trouvé. Pour ajouter un document aux favoris, cliquez sur l’icône « Ajouter aux favoris » présent sur chaque résultat d’une recherche de document.\"\r\n }\r\n },\r\n news: {\r\n titleLabel: \"Actualités\",\r\n buttonLabel: \"Toutes les actualités\"\r\n },\r\n login: {\r\n title: \"Accès sécurisé\",\r\n submitButton: \"Se connecter\",\r\n registrationLabel: \"S'inscrire\"\r\n },\r\n application: {\r\n titleLabel: \"Outils et applications\"\r\n },\r\n promotion: {\r\n correspondenceLanguageEnglish: \"Anglais\",\r\n correspondenceLanguageFrench: \"Français\",\r\n emailHome: \"Maison\",\r\n emailWork: \"Travail\",\r\n phoneNumberCell: \"Cellulaire\",\r\n phoneNumberFax: \"Télécopieur\",\r\n phoneNumberHome: \"Maison\",\r\n phoneNumberWork: \"Travail\"\r\n },\r\n contract: {\r\n title: \"Recherche\",\r\n subTitle: \"Tous les contrats de\",\r\n newSearch: \"Nouvelle recherche\"\r\n },\r\n contractList: {\r\n noContractTitle: \"No contrat\",\r\n descriptionTitle: \"Description\",\r\n returnButton: \"Retour au client\"\r\n },\r\n instabilityMessage: {\r\n baseMessage: \"Veuillez noter que certaines sections ne sont pas disponibles pour le moment. Nous sommes désolés des inconvénients que cela peut vous causer.\",\r\n investiaAdvisorMessage: `Veuillez noter que certaines sections ne sont pas disponibles pour le moment. Nous sommes désolés des inconvénients que cela peut vous causer.
\r\n Vous pouvez tout de même accéder à Univeris en cliquant sur ce lien : Univeris`,\r\n fundexAdvisorMessage: `Veuillez noter que certaines sections ne sont pas disponibles pour le moment. Nous sommes désolés des inconvénients que cela peut vous causer.
\r\n Vous pouvez tout de même accéder à Univeris en cliquant sur ce lien : Univeris`,\r\n iaAdvisorMessage: `Veuillez noter que certaines sections ne sont pas disponibles pour le moment, plus précisément l’accès à la documentation. Nous travaillons activement\r\n à résoudre la situation.
Nous sommes désolés des inconvénients que cela peut vous causer.
Merci de votre compréhension.`\r\n }\r\n};\r\nexport default resources;","\r\nimport Injection = EECore.Injection;\r\nimport AdsSlideshow from \"../entities/ads/adsSlideshow\";\r\nimport Ads from \"../entities/ads/ads\";\r\n\r\nexport const DEFAULT_CONTENT_PATH = \"/dashboard\";\r\nexport const DEFAULT_ADSLIST_COMPONENT_NAME = \"Ads List\";\r\nexport const DEFAULT_SLIDESHOW_COMPONENT_NAME = \"Ads Slideshow\";\r\n\r\n@Injection.injectableClass(\"AdsService\")\r\nexport default class AdsService {\r\n\r\n @Injection.injectableProperty(\"AdsService\", EECore.Registrations.CONTENT_SERVICE)\r\n private contentService: EECore.Services.ContentService;\r\n\r\n constructor(contentService: EECore.Services.ContentService) {\r\n this.contentService = contentService;\r\n }\r\n\r\n getList(contentPath: string = DEFAULT_CONTENT_PATH) {\r\n if (!contentPath) contentPath = DEFAULT_CONTENT_PATH;\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const contentRequest = this.contentService.getContent(contentPath, \"ads\");\r\n contentRequest.then((content) => {\r\n resolve(content[0].fields.ads);\r\n }).catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n getTypeAds(contentPath: string = DEFAULT_CONTENT_PATH) {\r\n if (!contentPath) contentPath = DEFAULT_CONTENT_PATH;\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const contentRequest = this.contentService.getContent(contentPath, \"ads\");\r\n contentRequest.then((content) => {\r\n if (content.length === 0)\r\n resolve(null);\r\n else\r\n resolve(content[0].componentName);\r\n }).catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n getSlideshow(contentPath: string = DEFAULT_CONTENT_PATH) {\r\n if (!contentPath) contentPath = DEFAULT_CONTENT_PATH;\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const contentRequest = this.contentService.getContent(contentPath, \"ads\");\r\n contentRequest.then((content) => {\r\n const slideshow = content[0].fields;\r\n\r\n for (let i = 1; i < content.length; i++) {\r\n const adsToAdd = content[i].fields.ads;\r\n slideshow.ads.push(...adsToAdd);\r\n }\r\n\r\n this.validateSlideshowParameters(slideshow);\r\n resolve(slideshow);\r\n }).catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n trackAllLinks(element: Element): Element {\r\n if (!element) {\r\n return element;\r\n }\r\n\r\n const name = \"data-tealium\";\r\n if (((element.tagName || \"\").toUpperCase() === \"A\") && (!element.getAttribute(name))) {\r\n const href = element.getAttribute(\"href\");\r\n const value = `{\"event_category\":\"General Link\", \"event_action\":\"Carousel\",\"event_label\":\"${href}\"}`;\r\n element.setAttribute(\"data-tealium\", value);\r\n }\r\n\r\n if (element.children) {\r\n for (let i=0; i;\r\n\r\n constructor(httpClient: EECore.HttpClient) {\r\n this.httpClient = httpClient;\r\n }\r\n\r\n getContracts(clientNo: string, companyCode: string) {\r\n if (this.cachedHttpRequest == null) {\r\n\r\n let url = \"/wemwpn45/api/contract/clientcontracts\";\r\n if (clientNo !== null && companyCode !== null) url += `?clientNo=${clientNo}&companyCode=${companyCode}`;\r\n\r\n this.cachedHttpRequest = this.httpClient.get(url, true);\r\n }\r\n return this.cachedHttpRequest;\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport DocumentModel from \"../../components/models/documentCentre/documentModel\";\r\nimport { WidgetResources } from \"../../resources/widget\";\r\n\r\n@Injection.injectableClass(\"DocumentCentreDocumentService\")\r\nexport default class DocumentService {\r\n\r\n @Injection.injectableProperty(\"DocumentCentreDocumentService\", EECore.Registrations.HTTP_CLIENT)\r\n private httpClient: EECore.HttpClient;\r\n\r\n @Injection.injectableProperty(\"DocumentCentreDocumentService\", \"WidgetResources\")\r\n private resources: WidgetResources;\r\n\r\n constructor(httpClient: EECore.HttpClient, resources: WidgetResources) {\r\n this.httpClient = httpClient;\r\n this.resources = resources;\r\n }\r\n \r\n getFavouriteDocuments(): EECore.Promise {\r\n return new EECore.Promise((resolve, reject) => {\r\n const request = this.httpClient.get(\"/wemwpn41/api/v2/documents/favourites\", true);\r\n request.then((documents: DocumentModel[]) => {\r\n if (documents.length === 0)\r\n reject(this.resources.documentCentre.favourites.noDocumentMessage);\r\n else\r\n resolve(documents);\r\n }).catch(() => {\r\n reject(this.resources.documentCentre.favourites.errorMessage);\r\n });\r\n });\r\n }\r\n\r\n removeFavouriteDocument(documentId: string) {\r\n if (!documentId) throw new Error(\"documentId is required\");\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const request = this.httpClient.delete(`/wemwpn41/api/v2/documents/favourites/${documentId}`, true);\r\n request.then(() => {\r\n resolve(true);\r\n }).catch((message: string) => {\r\n reject(message);\r\n });\r\n });\r\n }\r\n\r\n moveFavouriteUp(documentId: string) {\r\n if (!documentId) throw new Error(\"documentId is required\");\r\n\r\n return this.moveFavourite(documentId, \"up\");\r\n }\r\n\r\n moveFavouriteDown(documentId: string) {\r\n if (!documentId) throw new Error(\"documentId is required\");\r\n\r\n return this.moveFavourite(documentId, \"down\");\r\n }\r\n\r\n private moveFavourite(documentId: string, direction: string) {\r\n return new EECore.Promise((resolve, reject) => {\r\n const request = this.httpClient.put(`/wemwpn41/api/v2/documents/favourites/${documentId}/position`, { direction: direction }, true);\r\n request.then(() => {\r\n resolve(true);\r\n }).catch((message: string) => {\r\n reject(message);\r\n });\r\n });\r\n }\r\n\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport Request from \"../entities/documentCentre/querySuggestRequest\";\r\nimport Response, { Completion } from \"../entities/documentCentre/querySuggestResponse\";\r\nimport QuerySuggestion from \"../entities/documentCentre/querySuggestion\";\r\n\r\nclass CompletionParseRule {\r\n match: RegExp;\r\n replaceBy: string;\r\n\r\n constructor(match: RegExp, replaceBy: string) {\r\n this.match = match;\r\n this.replaceBy = replaceBy;\r\n }\r\n}\r\n\r\n@Injection.injectableClass(\"EEWidget.DocumentCentre.QuerySuggestService\")\r\nexport default class QuerySuggestService {\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentre.QuerySuggestService\", EECore.Registrations.HTTP_CLIENT)\r\n private httpClient: EECore.HttpClient;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentre.QuerySuggestService\", EECore.Registrations.COOKIE)\r\n private cookie: EECore.Cookie;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentre.QuerySuggestService\", EECore.Registrations.INTEGRATION_CONTEXT)\r\n private integrationContext: EECore.Integration.Context;\r\n\r\n constructor(httpClient: EECore.HttpClient, cookie: EECore.Cookie, integrationContext: EECore.Integration.Context) {\r\n this.httpClient = httpClient;\r\n this.cookie = cookie;\r\n this.integrationContext = integrationContext;\r\n }\r\n\r\n getSuggestions(keywords: string): EECore.Promise {\r\n const coveoVisitorIdCookie = \"coveo_visitorId\";\r\n const requestData: Request = {\r\n count: 5,\r\n enableWordCompletion: false,\r\n isGuestUser: false,\r\n locale: this.integrationContext.language,\r\n q: keywords,\r\n searchHub: \"Document Centre\",\r\n pipeline: this.integrationContext.experience.cwSiteName,\r\n visitorId: this.cookie.getValue(coveoVisitorIdCookie)\r\n };\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const request = this.httpClient.sendRequest(`/coveo/rest/v2/querySuggest?siteName=${this.integrationContext.experience.cwSiteName}`, \"POST\", requestData, true);\r\n request.then((responseText) => {\r\n const response = JSON.parse(responseText) as Response;\r\n if (response && response.completions) {\r\n const suggestions: QuerySuggestion[] = [];\r\n\r\n response.completions.sort((a, b) => { return b.score - a.score; });\r\n for (let i = 0; i < response.completions.length; i++) {\r\n if (response.completions[i].executableConfidence >= 0.8) suggestions.push(this.buildSuggestion(response.completions[i]));\r\n }\r\n\r\n resolve(suggestions);\r\n }\r\n\r\n else {\r\n resolve([]);\r\n }\r\n });\r\n\r\n request.catch(reject as any);\r\n });\r\n }\r\n\r\n private buildSuggestion(completion: Completion): QuerySuggestion {\r\n const parseRules = [\r\n new CompletionParseRule(/\\{/g, \"\"),\r\n new CompletionParseRule(/\\}/g, \"\"),\r\n new CompletionParseRule(/\\(/g, \"\"),\r\n new CompletionParseRule(/\\)/g, \"\"),\r\n new CompletionParseRule(/\\[/g, \"\"),\r\n new CompletionParseRule(/\\]/g, \"\")\r\n ];\r\n\r\n let suggestionContent = completion.highlighted;\r\n for (let i = 0; i < parseRules.length; i++)\r\n suggestionContent = suggestionContent.replace(parseRules[i].match, parseRules[i].replaceBy);\r\n\r\n return {\r\n content: suggestionContent,\r\n searchExpression: completion.expression\r\n };\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\n\r\nexport const SITECORE_API_KEY = \"{BBEC7EE2-E0B1-4041-90F4-80CA08BACE59}\";\r\n\r\n@Injection.injectableClass(\"EEWidget.DocumentCentreSearchService\")\r\nexport default class SearchService {\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreSearchService\", EECore.Registrations.LOCATION)\r\n private location: Location;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreSearchService\", EECore.Registrations.CONTENT_SERVICE_HELPER)\r\n private contentServiceHelper: EECore.Helpers.ContentServiceHelper;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreSearchService\", EECore.Registrations.HTTP_CLIENT)\r\n private httpClient: EECore.HttpClient;\r\n\r\n @Injection.injectableProperty(\"EEWidget.DocumentCentreSearchService\", EECore.Registrations.INTEGRATION_CONTEXT)\r\n private integrationContext: EECore.Integration.Context;\r\n\r\n constructor(location: Location, contentServiceHelper: EECore.Helpers.ContentServiceHelper, httpClient: EECore.HttpClient, integrationContext: EECore.Integration.Context) {\r\n this.location = location;\r\n this.contentServiceHelper = contentServiceHelper;\r\n this.httpClient = httpClient;\r\n this.integrationContext = integrationContext;\r\n }\r\n\r\n searchByKeywords(keywords: string) {\r\n const currentLobCode = this.contentServiceHelper.getLobCode();\r\n let lobParam = \"\";\r\n switch (currentLobCode) {\r\n case \"IND\":\r\n if (this.integrationContext.language.indexOf(\"fr\") >= 0) {\r\n lobParam =\r\n \"&f:@doclineofbusinessreference=[Épargne%20et%20retraite%20individuelles,Assurance%20individuelle]\";\r\n } else {\r\n lobParam =\r\n \"&f:@doclineofbusinessreference=[Individual%20Savings%20and%20Retirement,Individual%20Insurance]\";\r\n\r\n }\r\n break;\r\n case \"ERC\":\r\n if (this.integrationContext.language.indexOf(\"fr\") >= 0) {\r\n lobParam =\r\n \"&f:@doclineofbusinessreference=[Épargne%20et%20retraite%20collectives]\";\r\n } else {\r\n lobParam =\r\n \"&f:@doclineofbusinessreference=[Group%20Savings%20and%20Retirement]\";\r\n\r\n }\r\n break;\r\n case \"AC\":\r\n if (this.integrationContext.language.indexOf(\"fr\") >= 0) {\r\n lobParam =\r\n \"&f:@doclineofbusinessreference=[Assurance%20collective]\";\r\n } else {\r\n lobParam =\r\n \"&f:@doclineofbusinessreference=[Group%20Insurance]\";\r\n\r\n }\r\n break;\r\n default:\r\n }\r\n\r\n keywords = encodeURIComponent(keywords.replace(/[<>']/g, \" \"));\r\n this.location.assign(`/cw/document-centre#q=${keywords}${lobParam}`);\r\n }\r\n\r\n isSearchEnabled(): EECore.Promise {\r\n const url = `/sitecore/api/layout/render/jss?item=/404&sc_lang=${this.integrationContext.language.substr(0, 2)}&sc_apikey=${SITECORE_API_KEY}&sc_site=${this.integrationContext.experience.cwSiteName}`;\r\n const request = this.httpClient.get(url, false);\r\n\r\n //When receive 2xx, it means the api is working, so Sitecore is Up (always return 404 in local due to bad url)\r\n return new EECore.Promise((resolve) => {\r\n request.then(() => {\r\n resolve(true);\r\n }).catch(() => {\r\n resolve(false);\r\n });\r\n });\r\n }\r\n}","import NewsModel from \"./newsModel\";\r\nexport default class NewsModelList {\r\n news: NewsModel[];\r\n url: string;\r\n}","import Injection = EECore.Injection;\r\nimport InstabilityMessageModel from \"../entities/instabilityMessages/instabilityMessageModel\";\r\nimport ContentServiceHelper from \"../../../../Core/src/helpers/contentServiceHelper\";\r\n\r\n@Injection.injectableClass(\"InstabilityMessagesService\")\r\nexport default class InstabilityMessagesService {\r\n\r\n @Injection.injectableProperty(\"InstabilityMessagesService\", EECore.Registrations.HTTP_CLIENT)\r\n private httpClient: EECore.HttpClient;\r\n\r\n @Injection.injectableProperty(\"InstabilityMessagesService\", EECore.Registrations.CONTENT_SERVICE_HELPER)\r\n private contentServiceHelper: ContentServiceHelper;\r\n\r\n @Injection.injectableProperty(\"InstabilityMessagesService\", EECore.Registrations.AUTH_SERVICE)\r\n private authService: EECore.Services.AuthService;\r\n\r\n constructor(httpClient: EECore.HttpClient, contentServiceHelper: ContentServiceHelper, authService: EECore.Services.AuthService) {\r\n this.httpClient = httpClient;\r\n this.contentServiceHelper = contentServiceHelper;\r\n this.authService = authService;\r\n }\r\n\r\n getInstabilityMessages(applicationName = \"\"): EECore.Promise {\r\n return new EECore.Promise((resolve, reject) => {\r\n const lobCode = this.contentServiceHelper.getLobCode();\r\n const request = this.httpClient.get(this.getApiRoute(lobCode, applicationName), true); \r\n request.then((messages: InstabilityMessageModel[]) => {\r\n const userIsAuthenticated = this.authService.isAuthenticated();\r\n const ret = [];\r\n for (let i = 0; i < messages.length; i++) {\r\n const item = messages[i];\r\n if (item.authenticated === true && item.notAuthenticated === true ||\r\n !item.authenticated && !item.notAuthenticated) {\r\n ret.push(item.message);\r\n } else {\r\n if (userIsAuthenticated) {\r\n if (item.authenticated === true) {\r\n ret.push(item.message);\r\n }\r\n } else {\r\n if (item.notAuthenticated === true) {\r\n ret.push(item.message);\r\n }\r\n }\r\n }\r\n }\r\n resolve(ret);\r\n }).catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n private getApiRoute(lobCode = \"\", applicationName = \"\"): string {\r\n let routeAPI = \"/cw/api/instabilitymessages\"; \r\n let params = \"\";\r\n\r\n if (lobCode) params += `lobCode=${lobCode}`;\r\n if (lobCode && applicationName) params += \"&\";\r\n if (applicationName) params += `applicationName=${applicationName}`;\r\n\r\n if (params) routeAPI += `?${params}`;\r\n \r\n return routeAPI;\r\n }\r\n\r\n}","import Injection = EECore.Injection;\r\nimport LoginError from \"../entities/login/loginError\";\r\n\r\n@Injection.injectableClass(\"UserPreferencesService\")\r\nexport default class UserPreferencesService {\r\n\r\n @Injection.injectableProperty(\"UserPreferencesService\", EECore.Registrations.HTTP_CLIENT)\r\n private httpClient: EECore.HttpClient;\r\n\r\n constructor(httpClient: EECore.HttpClient) {\r\n this.httpClient = httpClient;\r\n }\r\n\r\n getAccessCode() {\r\n const url = \"/eemwpnp1/public/api/userpreferences/accesscode\";\r\n return this.httpClient.get(url, true);\r\n }\r\n\r\n setAccessCode(accessCode: string) {\r\n const url = \"/eemwpnp1/public/api/userpreferences/accesscode\";\r\n return this.httpClient.post(url, accessCode, true);\r\n }\r\n\r\n removeAccessCode() {\r\n const url = \"/eemwpnp1/public/api/userpreferences/accesscode\";\r\n return this.httpClient.delete(url, true);\r\n }\r\n\r\n getSubscriptionCode() {\r\n const url = \"/eemwpnp1/public/api/userpreferences/subscriptioncode\";\r\n return this.httpClient.get(url, true);\r\n }\r\n\r\n removeSubscriptionCode() {\r\n const url = \"/eemwpnp1/public/api/userpreferences/subscriptioncode\";\r\n return this.httpClient.delete(url, true);\r\n }\r\n\r\n getLoginErrorCode() {\r\n const url = \"/eemwpnp1/public/api/userpreferences/loginerror\";\r\n return this.httpClient.get(url, true);\r\n }\r\n}","\r\nimport Injection = EECore.Injection;\r\nimport NewsModelList from \"../entities/news/newsModelList\";\r\n\r\nexport const SITECORE_API_KEY = \"{BBEC7EE2-E0B1-4041-90F4-80CA08BACE59}\";\r\nexport const DEFAULT_CONTENT_PATH = \"/dashboard\";\r\n\r\n@Injection.injectableClass(\"EEWidget.NewsService\")\r\nexport default class NewsService {\r\n\r\n @Injection.injectableProperty(\"EEWidget.NewsService\", EECore.Registrations.CONTENT_SERVICE)\r\n private contentService: EECore.Services.ContentService;\r\n\r\n @Injection.injectableProperty(\"EEWidget.NewsService\", EECore.Registrations.LOB_HELPER)\r\n private lobHelper: EECore.LobHelper;\r\n\r\n @Injection.injectableProperty(\"EEWidget.NewsService\", EECore.Registrations.AUTH_SERVICE)\r\n private authService: EECore.Services.AuthService;\r\n\r\n @Injection.injectableProperty(\"EEWidget.NewsService\", EECore.Registrations.INTEGRATION_CONTEXT)\r\n private integrationContext: EECore.Integration.Context;\r\n\r\n constructor(contentService: EECore.Services.ContentService, lobHelper: EECore.LobHelper, authService: EECore.Services.AuthService, integrationContext: EECore.Integration.Context) {\r\n this.contentService = contentService;\r\n this.lobHelper = lobHelper;\r\n this.authService = authService;\r\n this.integrationContext = integrationContext;\r\n }\r\n\r\n getLatest(contentPath: string = DEFAULT_CONTENT_PATH) {\r\n const lobCode = this.getLobCode();\r\n const newsApplicationPath = this.getNewsApplicationPath(lobCode);\r\n\r\n if (!contentPath) contentPath = DEFAULT_CONTENT_PATH;\r\n\r\n return new EECore.Promise((resolve, reject) => {\r\n const contentRequest = this.contentService.getContent(contentPath, \"news\");\r\n\r\n contentRequest.then((newsList) => {\r\n const newsListModel = new NewsModelList();\r\n newsListModel.url = newsApplicationPath;\r\n newsListModel.news = [];\r\n let newsEntities = newsList[0].fields;\r\n newsEntities = newsEntities.sort((a: any, b: any) => { return (new Date(b.activationDate) as any) - (new Date(a.activationDate) as any); });\r\n for (let i = 0; i < newsEntities.length; i++) {\r\n const newsEntity = newsEntities[i];\r\n newsListModel.news.push({\r\n id: newsEntity.id,\r\n url: `${newsApplicationPath}?id=${newsEntity.id}`,\r\n date: newsEntity.newsDate,\r\n summary: newsEntity.summary,\r\n title: newsEntity.title\r\n });\r\n }\r\n\r\n resolve(newsListModel);\r\n }).catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n private getLobCode() {\r\n if (this.integrationContext.experience.company !== \"IA\" || this.integrationContext.experience.audience === EECore.Integration.Audience.Client)\r\n return \"\";\r\n\r\n let currentLobCode = this.lobHelper.getCurrentLobCode();\r\n if (this.integrationContext.experience.audience === EECore.Integration.Audience.Employee && this.authService.isAuthenticated() && this.authService.isSalEmployee())\r\n currentLobCode = \"SAL\";\r\n\r\n return currentLobCode;\r\n }\r\n\r\n private getNewsApplicationPath(lobCode: string) {\r\n const validLobs = [\"IND\", \"ERC\", \"AC\", \"SAL\"];\r\n\r\n if (validLobs.indexOf(lobCode.toUpperCase()) >= 0)\r\n return `/wemwpn43/${lobCode.toLowerCase()}/`;\r\n\r\n return \"/wemwpn43/\";\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport CurrentPromotion from \"../entities/promotion/currentPromotion\";\r\nimport PersonnalInformation from \"../entities/promotion/personnalInformation\";\r\nimport ElectronicServicesSubscriptionResult from \"../entities/promotion/electronicServicesSubscriptionResult\";\r\n\r\n@Injection.injectableClass(\"PromotionService\")\r\nexport default class PromotionService {\r\n\r\n @Injection.injectableProperty(\"PromotionService\", EECore.Registrations.HTTP_CLIENT)\r\n private httpClient: EECore.HttpClient;\r\n\r\n constructor(httpClient: EECore.HttpClient) {\r\n this.httpClient = httpClient;\r\n }\r\n\r\n getCurrentPromotion() {\r\n const url = \"/wemwpn49/api/promotion/active\";\r\n return this.httpClient.get(url, true);\r\n }\r\n\r\n getProfileReviewContent() {\r\n return this.httpClient.getHtml(\"/cw/promotions/personal-information-review-banner\", true);\r\n }\r\n\r\n getPersonalizedAccessCodeContent() {\r\n return this.httpClient.getHtml(\"/cw/promotions/username-banner\", true);\r\n }\r\n\r\n getElectronicFeaturesContent() {\r\n return this.httpClient.getHtml(\"/cw/promotions/electronic-services-banner\", true);\r\n }\r\n\r\n getSecuredMessagingContent() {\r\n return this.httpClient.getHtml(\"/cw/promotions/secure-messaging-banner\", true);\r\n }\r\n\r\n getPersonnalInformation() {\r\n const url = \"/wemwpn42/api/contactinformation\";\r\n return this.httpClient.get(url, true);\r\n }\r\n\r\n updateReminder(promotionCode: string) {\r\n const url = `/wemwpn49/api/reminder/${promotionCode}`;\r\n return this.httpClient.put(url, true);\r\n }\r\n\r\n subscribeToElectronicServices(): EECore.Promise {\r\n return new EECore.Promise((resolve, reject) => {\r\n const url = \"/wemwpn42/api/electronicservices/subscription\";\r\n const request = this.httpClient.sendRequest(url, \"PUT\", null, true);\r\n request.then((response) => {\r\n resolve(JSON.parse(response));\r\n }).catch((error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n}","import Injection = EECore.Injection;\r\nimport UpcomingUnavailabilityModel from \"../entities/upcomingUnavailability/upcomingUnavailabilityModel\";\r\n\r\n@Injection.injectableClass(\"UpcomingUnavailabilityService\")\r\nexport default class UpcomingUnavailabilityService {\r\n\r\n @Injection.injectableProperty(\"UpcomingUnavailabilityService\", EECore.Registrations.HTTP_CLIENT)\r\n private httpClient: EECore.HttpClient;\r\n\r\n constructor(httpClient: EECore.HttpClient) {\r\n this.httpClient = httpClient;\r\n }\r\n\r\n getUpcomingUnavailability(availabilityGroup: string): EECore.Promise {\r\n return new EECore.Promise((resolve, reject) => {\r\n const url = `/eemwpnp1/public/api/availability/upcomingUnavailability?availabilityGroup=${availabilityGroup}`;\r\n const request = this.httpClient.get(url, true);\r\n request.then((model: UpcomingUnavailabilityModel) => {\r\n resolve(model);\r\n }).catch((error: string) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n}","exports.default = \"
${model.content}
\";","exports.default = \"
\";","exports.default = \"
${model.content}
\";","exports.default = \"
\";","exports.default = \"
${model.titleLabel}
\";","exports.default = \"
  • ${model.label}
  • \";","exports.default = \"
    ${model.title}
    \";","exports.default = \"
    ${model.description}
    \";","exports.default = \"
    ${model.no}
    ${model.description}
    \";","exports.default = \"
    ${model.noContractTitle}
    ${model.descriptionTitle}
    \";","exports.default = \"
    ${model.title}
    ${model.subTitle}
    ${model.fullName}
    \";","exports.default = \"
    ${model.title}
    \";","exports.default = \"
    \";","exports.default = \"

    \";","exports.default = \"
    ${model.title}


    ${model.favouriteUnavailableMessage}

    \";","exports.default = \"
    ${model.title}

    \";","exports.default = \"
    ${model.title}
    \";","exports.default = \"\";","exports.default = \"

  • ${model.size}
    ${model.title}
    \\\"...\\\"/
    ${model.revision}
  • \";","exports.default = \"
    ${model.title}

    ${model.showAllLabel}

    \";","exports.default = \"\";","exports.default = \"
    \";","exports.default = \"
    \";","exports.default = \"
    ${model.message}
    \";","exports.default = \"
    ${model.message}
    \";","exports.default = \"\";","exports.default = \"\";","exports.default = \"
    ${model.message}
    ${model.backOnLineMessage}
    \";","exports.default = \"
    ${model.titleLabel}
    \";","exports.default = \"
    ${model.titleLabel}
    \";","exports.default = \"
    ${model.date}
    ${model.summary}
    \";","exports.default = \"
    ${model.date} ${model.title} ${model.summary}
    \";","exports.default = \"
    ${model.content}
    \";","exports.default = \"
    ${model.content}
    \";","exports.default = \"
    ${model.content}
    \";","exports.default = \"
    ${model.content}
    \";","exports.default = \"
    ${model.title}
    ${model.message}
    ${model.backOnLineMessage}
    \";","exports.default = \"
    ${model.message}
    \";"],"sourceRoot":""}