{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.html","./src/app/layout/footer/footer.component.html","./src/app/layout/header/header.component.html","./src/app/layout/header/navsearch/navsearch.component.html","./src/app/layout/layout.component.html","./src/app/layout/offsidebar/offsidebar.component.html","./src/app/layout/sidebar/sidebar.component.html","./src/app/layout/sidebar/userblock/userblock.component.html","./src/app/modules/entity-management/components/assessmentreview/assessmentreview.component.html","./src/app/modules/entity-management/components/assignweightages/assignweightages.component.html","./src/app/modules/home/components/composition-report/composition-report.component.html","./src/app/modules/home/components/detailed-report/detailed-report.component.html","./src/app/modules/home/components/home.component.html","./src/app/modules/user-management/components/add-user/add-user.component.html","./src/app/shared/components/loading-screen/loading-screen.component.html","./src/app/shared/entity-header/entity-header.component.html","./src/app/Pipes/custom-css-pipe.pipe.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/core/core.module.ts","./src/app/core/gaurds/authentication.guard.ts","./src/app/core/interceptors/api-error-handler.interceptor.ts","./src/app/core/interceptors/api-header.interceptor.ts","./src/app/core/interceptors/httpcancel.interceptor.ts","./src/app/core/interceptors/index.ts","./src/app/core/interceptors/loading-screen-interceptor.ts","./src/app/core/module-import-guard.ts","./src/app/core/services/authentication.service.ts","./src/app/core/services/credentials.service.ts","./src/app/core/services/download-file.service.ts","./src/app/core/services/error.service.ts","./src/app/core/services/http-cancel.service.ts","./src/app/core/services/http-genric.service.ts","./src/app/core/services/loading-screen.service.ts","./src/app/core/services/logging.service.ts","./src/app/core/services/menu.service.ts","./src/app/core/services/notification.service.ts","./src/app/core/settings/settings.service.ts","./src/app/core/themes/themes.service.ts","./src/app/core/translator/translator.service.ts","./src/app/layout/footer/footer.component.scss","./src/app/layout/footer/footer.component.ts","./src/app/layout/header/header.component.scss","./src/app/layout/header/header.component.ts","./src/app/layout/header/navsearch/navsearch.component.scss","./src/app/layout/header/navsearch/navsearch.component.ts","./src/app/layout/layout.component.scss","./src/app/layout/layout.component.ts","./src/app/layout/layout.module.ts","./src/app/layout/offsidebar/offsidebar.component.scss","./src/app/layout/offsidebar/offsidebar.component.ts","./src/app/layout/sidebar/sidebar.component.scss","./src/app/layout/sidebar/sidebar.component.ts","./src/app/layout/sidebar/userblock/userblock.component.scss","./src/app/layout/sidebar/userblock/userblock.component.ts","./src/app/layout/sidebar/userblock/userblock.service.ts","./src/app/modules/entity-management/components/assessmentreview/assessmentreview.component.scss","./src/app/modules/entity-management/components/assessmentreview/assessmentreview.component.ts","./src/app/modules/entity-management/components/assignweightages/assignweightages.component.scss","./src/app/modules/entity-management/components/assignweightages/assignweightages.component.ts","./src/app/modules/entity-management/model/fileupload.ts","./src/app/modules/entity-management/services/entity-management.service.ts","./src/app/modules/home/components/composition-report/composition-report.component.scss","./src/app/modules/home/components/composition-report/composition-report.component.ts","./src/app/modules/home/components/detailed-report/detailed-report.component.scss","./src/app/modules/home/components/detailed-report/detailed-report.component.ts","./src/app/modules/home/components/home.component.scss","./src/app/modules/home/components/home.component.ts","./src/app/modules/menu.ts","./src/app/modules/user-management/components/add-user/add-user.component.scss","./src/app/modules/user-management/components/add-user/add-user.component.ts","./src/app/modules/user-management/services/user-management.service.ts","./src/app/routes.module.ts","./src/app/routes.ts","./src/app/shared/colors/colors.service.ts","./src/app/shared/commonservices/commonservice.service.ts","./src/app/shared/components/loading-screen/loading-screen.component.scss","./src/app/shared/components/loading-screen/loading-screen.component.ts","./src/app/shared/constants/api.constants.ts","./src/app/shared/constants/globle.constants.ts","./src/app/shared/constants/validations.constants.ts","./src/app/shared/directives/checkall/checkall.directive.ts","./src/app/shared/directives/easypiechart/easypiechart.directive.ts","./src/app/shared/directives/flot/flot.directive.ts","./src/app/shared/directives/jqcloud/jqcloud.directive.ts","./src/app/shared/directives/now/now.directive.ts","./src/app/shared/directives/scrollable/scrollable.directive.ts","./src/app/shared/directives/sparkline/sparkline.directive.ts","./src/app/shared/directives/vectormap/vectormap.directive.ts","./src/app/shared/dynamictable.pipe.ts","./src/app/shared/entity-header/entity-header.component.scss","./src/app/shared/entity-header/entity-header.component.ts","./src/app/shared/shared.module.ts","./src/app/shared/styles/themes/theme-a.scss","./src/app/shared/styles/themes/theme-b.scss","./src/app/shared/styles/themes/theme-c.scss","./src/app/shared/styles/themes/theme-d.scss","./src/app/shared/styles/themes/theme-e.scss","./src/app/shared/styles/themes/theme-f.scss","./src/app/shared/styles/themes/theme-g.scss","./src/app/shared/styles/themes/theme-h.scss","./src/environments/environment.ts","./src/environments/environmentLoader.ts","./src/main.ts","./src/modernizr.js","./src/vendor.ts","webpack:///crypto (ignored)?d550","webpack:///crypto (ignored)?441a","webpack:///crypto (ignored)?766c","fs (ignored)","crypto (ignored)","stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;;AC3QA;AAAe,4bAA6X,iBAAiB,oBAAoB,gBAAgB,uvBAAuvB,2KAA2K,4GAA4G,iBAAiB,WAAW,qGAAqG,yVAAyV,E;;;;;;;;;;;;ACAz6D;AAAe,qIAAsE,GAAG,gCAAgC,KAAK,kCAAkC,wVAAwV,mCAAmC,kCAAkC,E;;;;;;;;;;;;ACA5jB;AAAe,qbAAsX,mUAAmU,qEAAqE,uUAAuU,gKAAgK,KAAK,6CAA6C,OAAO,wGAAwG,+QAA+Q,OAAO,gyBAAgyB,mCAAmC,2DAA2D,mCAAmC,+BAA+B,uBAAuB,4KAA4K,2yBAA2yB,E;;;;;;;;;;;;ACAzlH;AAAe,gWAAiS,yCAAyC,0NAA0N,E;;;;;;;;;;;;ACAnjB;AAAe,koBAAmkB,E;;;;;;;;;;;;ACAllB;AAAe,siBAAue,YAAY,2DAA2D,E;;;;;;;;;;;;ACA7jB;AAAe,4jBAA6f,4BAA4B,iIAAiI,2CAA2C,yMAAyM,WAAW,qIAAqI,YAAY,mCAAmC,WAAW,kDAAkD,2CAA2C,qNAAqN,WAAW,qOAAqO,YAAY,mCAAmC,WAAW,kDAAkD,2CAA2C,8HAA8H,WAAW,qOAAqO,YAAY,mCAAmC,WAAW,kDAAkD,2CAA2C,uNAAuN,2CAA2C,iUAAiU,cAAc,mJAAmJ,eAAe,uCAAuC,cAAc,yDAAyD,iDAAiD,2OAA2O,cAAc,mJAAmJ,eAAe,uCAAuC,cAAc,yDAAyD,iDAAiD,qIAAqI,cAAc,uPAAuP,eAAe,uCAAuC,cAAc,yDAAyD,iDAAiD,4fAA4f,eAAe,6JAA6J,gBAAgB,2CAA2C,eAAe,8DAA8D,mDAAmD,mJAAmJ,eAAe,qQAAqQ,gBAAgB,2CAA2C,eAAe,8DAA8D,mDAAmD,8hBAA8hB,eAAe,qKAAqK,gBAAgB,+CAA+C,eAAe,kEAAkE,mDAAmD,+JAA+J,eAAe,0SAA0S,gBAAgB,+CAA+C,eAAe,kEAAkE,mDAAmD,ylBAAylB,eAAe,6KAA6K,gBAAgB,mDAAmD,eAAe,sEAAsE,mDAAmD,6VAA6V,E;;;;;;;;;;;;ACA3lR;AAAe,uiBAAwe,iCAAiC,uGAAuG,E;;;;;;;;;;;;ACA/nB;AAAe,8zDAA+vD,yOAAyO,gBAAgB,iCAAiC,q7CAAq7C,mrBAAmrB,gsCAAgsC,oBAAoB,0QAA0Q,muBAAmuB,gBAAgB,6cAA6c,eAAe,i6EAAi6E,8IAA8I,KAAK,qNAAqN,yBAAyB,iLAAiL,UAAU,iLAAiL,kCAAkC,kQAAkQ,aAAa,iLAAiL,wBAAwB,iLAAiL,+BAA+B,iLAAiL,8BAA8B,6FAA6F,kCAAkC,+CAA+C,8BAA8B,iQAAiQ,iCAAiC,qBAAqB,8GAA8G,kBAAkB,6FAA6F,kBAAkB,KAAK,sBAAsB,sKAAsK,oBAAoB,qBAAqB,8GAA8G,kBAAkB,oGAAoG,kBAAkB,KAAK,8BAA8B,4KAA4K,8GAA8G,kBAAkB,mGAAmG,kBAAkB,KAAK,+BAA+B,yaAAya,aAAa,8kDAA8kD,UAAU,yvCAAyvC,UAAU,8kBAA8kB,2BAA2B,iEAAiE,WAAW,qpCAAqpC,UAAU,ukDAAukD,UAAU,wYAAwY,cAAc,iYAAiY,WAAW,y8CAAy8C,UAAU,sZAAsZ,cAAc,+YAA+Y,WAAW,onDAAonD,UAAU,mYAAmY,cAAc,4XAA4X,WAAW,+mBAA+mB,4tBAA4tB,yLAAyL,iCAAiC,ozBAAozB,ggCAAggC,khCAAkhC,oCAAoC,+rBAA+rB,aAAa,qHAAqH,sBAAsB,wCAAwC,wBAAwB,+CAA+C,KAAK,yHAAyH,sBAAsB,wCAAwC,wBAAwB,oNAAoN,gBAAgB,0MAA0M,2BAA2B,gKAAgK,yBAAyB,gKAAgK,mCAAmC,gKAAgK,oCAAoC,gKAAgK,6BAA6B,gKAAgK,uCAAuC,2IAA2I,kCAAkC,wCAAwC,kCAAkC,4IAA4I,iBAAiB,wCAAwC,iBAAiB,KAAK,8BAA8B,gKAAgK,4BAA4B,gKAAgK,WAAW,gKAAgK,6BAA6B,20EAA20E,aAAa,2HAA2H,sBAAsB,4BAA4B,wBAAwB,uCAAuC,KAAK,yGAAyG,sBAAsB,4BAA4B,wBAAwB,uCAAuC,gBAAgB,+JAA+J,yBAAyB,+JAA+J,mCAAmC,+JAA+J,oCAAoC,+JAA+J,6BAA6B,+JAA+J,uCAAuC,iJAAiJ,kCAAkC,4BAA4B,mDAAmD,4EAA4E,8BAA8B,+JAA+J,4BAA4B,+JAA+J,WAAW,+JAA+J,6BAA6B,odAAod,oTAAoT,aAAa,4hDAA4hD,UAAU,0vCAA0vC,UAAU,oaAAoa,cAAc,kwCAAkwC,UAAU,saAAsa,cAAc,y0CAAy0C,UAAU,m0CAAm0C,UAAU,4aAA4a,cAAc,y2CAAy2C,UAAU,sZAAsZ,cAAc,wiCAAwiC,UAAU,oXAAoX,cAAc,skCAAskC,UAAU,kbAAkb,yLAAyL,iCAAiC,qrBAAqrB,cAAc,cAAc,aAAa,iSAAiS,aAAa,4pCAA4pC,iGAAiG,+GAA+G,gRAAgR,2rBAA2rB,+HAA+H,aAAa,uSAAuS,gBAAgB,wIAAwI,OAAO,ksCAAksC,oBAAoB,0NAA0N,iCAAiC,kWAAkW,aAAa,mhBAAmhB,wHAAwH,iEAAiE,WAAW,mmBAAmmB,aAAa,+/CAA+/C,E;;;;;;;;;;;;ACAn72D;AAAe,slEAAuhE,aAAa,+qDAA+qD,kBAAkB,8bAA8b,gOAAgO,WAAW,mBAAmB,oYAAoY,6NAA6N,WAAW,mBAAmB,oYAAoY,6NAA6N,WAAW,mBAAmB,sUAAsU,gBAAgB,mHAAmH,sqBAAsqB,4+DAA4+D,QAAQ,wSAAwS,qBAAqB,oSAAoS,mBAAmB,+1CAA+1C,kBAAkB,KAAK,gBAAgB,uFAAuF,kBAAkB,KAAK,OAAO,+gBAA+gB,2PAA2P,qDAAqD,ihDAAihD,QAAQ,yRAAyR,uBAAuB,oRAAoR,mBAAmB,2xCAA2xC,kBAAkB,KAAK,gBAAgB,uFAAuF,kBAAkB,KAAK,aAAa,4gBAA4gB,2PAA2P,qDAAqD,ghDAAghD,QAAQ,yRAAyR,kBAAkB,oRAAoR,mBAAmB,uxCAAuxC,kBAAkB,KAAK,gBAAgB,uFAAuF,kBAAkB,KAAK,YAAY,mhBAAmhB,2PAA2P,qDAAqD,qhDAAqhD,QAAQ,yRAAyR,kBAAkB,oRAAoR,mBAAmB,uyCAAuyC,kBAAkB,KAAK,gBAAgB,uFAAuF,kBAAkB,KAAK,gBAAgB,ihBAAihB,2PAA2P,qDAAqD,ihDAAihD,QAAQ,yRAAyR,uBAAuB,oRAAoR,mBAAmB,2xCAA2xC,kBAAkB,KAAK,gBAAgB,uFAAuF,kBAAkB,KAAK,cAAc,4gBAA4gB,2PAA2P,qDAAqD,ghDAAghD,QAAQ,qRAAqR,kBAAkB,oRAAoR,mBAAmB,uxCAAuxC,kBAAkB,KAAK,gBAAgB,uFAAuF,kBAAkB,KAAK,aAAa,yiBAAyiB,2PAA2P,qDAAqD,m+CAAm+C,QAAQ,yRAAyR,kBAAkB,oRAAoR,mBAAmB,yyCAAyyC,kBAAkB,KAAK,gBAAgB,uFAAuF,kBAAkB,KAAK,OAAO,o3EAAo3E,UAAU,4YAA4Y,cAAc,q+BAAq+B,UAAU,6WAA6W,kBAAkB,kYAAkY,wNAAwN,iCAAiC,igBAAigB,gBAAgB,kIAAkI,kyBAAkyB,kBAAkB,KAAK,gBAAgB,uFAAuF,kBAAkB,KAAK,OAAO,4ZAA4Z,67DAA67D,QAAQ,wSAAwS,qBAAqB,oSAAoS,mBAAmB,ynGAAynG,UAAU,4YAA4Y,cAAc,q+BAAq+B,UAAU,6WAA6W,kBAAkB,kYAAkY,wNAAwN,iCAAiC,igBAAigB,gBAAgB,kIAAkI,wtBAAwtB,kBAAkB,KAAK,gBAAgB,uFAAuF,kBAAkB,KAAK,OAAO,4ZAA4Z,k4DAAk4D,QAAQ,wSAAwS,gBAAgB,oSAAoS,mBAAmB,woDAAwoD,aAAa,2gDAA2gD,UAAU,4YAA4Y,cAAc,y+BAAy+B,UAAU,6WAA6W,kBAAkB,kYAAkY,wNAAwN,iCAAiC,ycAAyc,E;;;;;;;;;;;;ACAhr8D;AAAe,kQAAmM,ijDAAijD,iBAAiB,oGAAoG,iBAAiB,wUAAwU,iBAAiB,iDAAiD,yBAAyB,umBAAumB,sCAAsC,45BAA45B,YAAY,sZAAsZ,YAAY,sXAAsX,YAAY,gHAAgH,YAAY,gHAAgH,YAAY,mXAAmX,YAAY,yDAAyD,oBAAoB,4JAA4J,E;;;;;;;;;;;;ACAr+K;AAAe,kQAAmM,uuBAAuuB,+IAA+I,+IAA+I,+IAA+I,+IAA+I,+IAA+I,+IAA+I,+IAA+I,+IAA+I,+IAA+I,+IAA+I,gJAAgJ,gJAAgJ,gJAAgJ,gJAAgJ,gJAAgJ,mCAAmC,E;;;;;;;;;;;;ACAlkG;AAAe,iRAAkN,sKAAsK,oBAAoB,m2BAAm2B,qCAAqC,+NAA+N,YAAY,mSAAmS,aAAa,YAAY,ynBAAynB,yLAAyL,YAAY,shCAAshC,gOAAgO,YAAY,4IAA4I,cAAc,iBAAiB,w5BAAw5B,gFAAgF,gBAAgB,kBAAkB,cAAc,4qBAA4qB,oBAAoB,oBAAoB,iCAAiC,sFAAsF,wNAAwN,2MAA2M,wBAAwB,4BAA4B,mCAAmC,2BAA2B,eAAe,mGAAmG,wBAAwB,4BAA4B,mCAAmC,2BAA2B,eAAe,mGAAmG,wBAAwB,4BAA4B,mCAAmC,mOAAmO,kCAAkC,8DAA8D,mBAAmB,yHAAyH,mCAAmC,sDAAsD,sBAAsB,4FAA4F,iCAAiC,sDAAsD,sBAAsB,4FAA4F,iCAAiC,iJAAiJ,mGAAmG,iCAAiC,4LAA4L,mGAAmG,iCAAiC,8KAA8K,8BAA8B,mGAAmG,iCAAiC,6KAA6K,kCAAkC,wKAAwK,4DAA4D,wBAAwB,+CAA+C,mBAAmB,qBAAqB,0CAA0C,cAAc,4HAA4H,mBAAmB,oBAAoB,oBAAoB,2EAA2E,kBAAkB,oBAAoB,cAAc,KAAK,YAAY,wmBAAwmB,iEAAiE,kBAAkB,oBAAoB,+CAA+C,6GAA6G,mBAAmB,oBAAoB,oBAAoB,2EAA2E,kBAAkB,oBAAoB,cAAc,KAAK,YAAY,+JAA+J,8BAA8B,gFAAgF,gBAAgB,iBAAiB,eAAe,gIAAgI,8BAA8B,oBAAoB,6HAA6H,6BAA6B,oBAAoB,kKAAkK,6BAA6B,oBAAoB,6HAA6H,6BAA6B,oBAAoB,kKAAkK,6BAA6B,oBAAoB,6HAA6H,6BAA6B,oBAAoB,kKAAkK,6BAA6B,oBAAoB,6HAA6H,6BAA6B,oBAAoB,kKAAkK,6BAA6B,oBAAoB,6HAA6H,6BAA6B,oBAAoB,wPAAwP,8BAA8B,gFAAgF,gBAAgB,iBAAiB,eAAe,mBAAmB,wZAAwZ,gFAAgF,gBAAgB,kBAAkB,cAAc,oqBAAoqB,oBAAoB,oBAAoB,iCAAiC,oFAAoF,oNAAoN,iMAAiM,wBAAwB,4BAA4B,mCAAmC,yBAAyB,kBAAkB,+FAA+F,wBAAwB,4BAA4B,mCAAmC,yBAAyB,kBAAkB,+FAA+F,wBAAwB,4BAA4B,mCAAmC,uNAAuN,kCAAkC,4DAA4D,mBAAmB,mHAAmH,mCAAmC,oDAAoD,sBAAsB,wFAAwF,iCAAiC,oDAAoD,sBAAsB,qEAAqE,iCAAiC,iJAAiJ,4EAA4E,iCAAiC,wLAAwL,4EAA4E,iCAAiC,0KAA0K,8BAA8B,4EAA4E,iCAAiC,uKAAuK,kCAAkC,2GAA2G,2EAA2E,0CAA0C,2HAA2H,mBAAmB,oBAAoB,oBAAoB,2EAA2E,kBAAkB,oBAAoB,cAAc,KAAK,YAAY,mbAAmb,aAAa,yjCAAyjC,E;;;;;;;;;;;;ACA5zmB;AAAe,sQAAuM,sEAAsE,kxBAAkxB,UAAU,uOAAuO,iDAAiD,0OAA0O,cAAc,iqBAAiqB,UAAU,4OAA4O,cAAc,2NAA2N,YAAY,osBAAosB,UAAU,84CAA84C,UAAU,qsBAAqsB,UAAU,mPAAmP,sXAAsX,E;;;;;;;;;;;;ACAlnM;AAAe,6HAA8D,E;;;;;;;;;;;;ACA7E;AAAe,oRAAqN,6DAA6D,qBAAqB,wBAAwB,+8DAA+8D,6DAA6D,qBAAqB,YAAY,ihCAAihC,E;;;;;;;;;;;;;;;;;;ACAx1G;AACe;AAKnE,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAE5B,YAAoB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAI,CAAC;IAEjD,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;CACF;;YALiC,sEAAY;;AAFjC,iBAAiB;IAH7B,0DAAI,CAAC;QACJ,IAAI,EAAE,cAAc;KACrB,CAAC;mFAGgC,sEAAY;GAFjC,iBAAiB,CAO7B;AAP6B;;;;;;;;;;;;;ACN9B;AAAe,mFAAoB,oBAAoB,GAAG,kCAAkC,qCAAqC,iBAAiB,GAAG,oCAAoC,uCAAuC,iBAAiB,GAAG,6CAA6C,2kCAA2kC,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAjyC;AACmE;AAC3E;AACJ;AAChB;AACN;AACY;AAEA;AACoB;AACzE,yEAAyE;AACf;AACqB;AACA;AAClB;AACtB;AACvC,MAAM,IAAI,GAAG,mBAAO,CAAC,oEAAY,CAAC,CAAC;AAOnC,IAAa,YAAY,GAAzB,MAAa,YAAY;IAuBrB,YAAmB,QAAyB,EACjC,mBAAuC,EACtC,IAAU,EAAU,SAAoB,EACxC,MAAc,EAAU,YAA4B,EACpD,kBAAsC,EACtC,qBAA4C,EAC9C,GAAsB,EACtB,kBAAsC;QAP7B,aAAQ,GAAR,QAAQ,CAAiB;QACjC,wBAAmB,GAAnB,mBAAmB,CAAoB;QACtC,SAAI,GAAJ,IAAI,CAAM;QAAU,cAAS,GAAT,SAAS,CAAW;QACxC,WAAM,GAAN,MAAM,CAAQ;QAAU,iBAAY,GAAZ,YAAY,CAAgB;QACpD,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC9C,QAAG,GAAH,GAAG,CAAmB;QACtB,uBAAkB,GAAlB,kBAAkB,CAAoB;QA5BhD,cAAS,GAAG,cAAc,CAAC;QAC3B,aAAQ,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAU,IAAI,CAAC;QACzB,UAAK,GAAG,sBAAsB,CAAC;QAC/B,QAAG,GAAG,2EAAG,CAAC;QA0BR,4DAA4D;QAC5D,IAAI,CAAC,OAAO,CAAC,qEAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9C,6GAA6G;QAC7G,IAAI,CAAC,UAAU,CAAC,qEAAW,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC;QACpD,kGAAkG;QAClG,IAAI,CAAC,aAAa,CAAC,sEAAwB,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,SAAS,GAAG,iBAAiB;YAClC,8BAA8B;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,8BAA8B;YAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,SAAS,GAAG,oBAAoB;YACrC,8BAA8B;YAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,kBAAkB;QAC/B,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5C,IAAI,CAAC,SAAS,GAAG,wCAAwC,GAAE,MAAM,GAAE,gCAAgC,GAAE,SAAS,GAAE,EAAE,CAAC;YACnH,8BAA8B;QAChC,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEvB,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;YACjE,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;QACH,CAAC,CAAC;IACJ,CAAC;IAjEoC,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IACjE,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IAC/E,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IACvE,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IAC5E,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IACnF,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IACvE,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IAChE,IAAI,cAAc,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IACpF,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IACvE,IAAI,eAAe,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAAA,CAAC;IA0DjI,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,MAAM;QACJ,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QACtD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,GAAG,EACxC,WAAW,CACZ;aACA,IAAI,CAAC,6DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACvB,kDAAkD;gBAClD,+BAA+B;gBAC/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAClD,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,SAAS,IAAI,MAAM,EAAE;oBACvB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,4BAA4B,GAAG,qEAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,GAAG,0CAA0C,GAAG,qEAAW,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC;iBAC3K;qBACI;oBACH,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,IAAI,CAAC,GAAG,IAAI,CAAE,IAAI,CAAC,GAAe,CAAC,SAAS,EAAE;4BAChD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;yBAC1B;wBACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;iBACJ;aAEF;iBAEI;gBACH,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,0CAA0C;iBACjD,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAGP,CAAC;IAEC,QAAQ;QACN,6DAA6D;QAC7D,6DAA6D;QAC7D,8DAA8D;QAC5D,yCAAyC;QACzC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;YACnC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;YACvC,IAAI,MAAM,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC7E,CAAC,CAAC,cAAc,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;;YA5HgC,+EAAe;YACb,uFAAmB;YAChC,kDAAI;YAAqB,4DAAS;YAChC,sDAAM;YAAwB,kEAAc;YAChC,qFAAkB;YACf,4FAAqB;YACzC,+DAAiB;YACF,6FAAkB;;AApBJ;IAA3C,+DAAS,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;4EAAa,kEAAc;gDAAC;AAEpC;IAAlC,iEAAW,CAAC,oBAAoB,CAAC;;;2CAAoE;AAChE;IAArC,iEAAW,CAAC,uBAAuB,CAAC;;;+CAA4E;AAC9E;IAAlC,iEAAW,CAAC,oBAAoB,CAAC;;;2CAAoE;AACtE;IAA/B,iEAAW,CAAC,iBAAiB,CAAC;;;iDAAgF;AAC3E;IAAnC,iEAAW,CAAC,qBAAqB,CAAC;;;gDAA8E;AAClF;IAA9B,iEAAW,CAAC,gBAAgB,CAAC;;;8CAA0E;AACtE;IAAjC,iEAAW,CAAC,mBAAmB,CAAC;;;2CAAoE;AAC/D;IAArC,iEAAW,CAAC,uBAAuB,CAAC;;;kDAAkF;AACnF;IAAnC,iEAAW,CAAC,qBAAqB,CAAC;;;gDAA8E;AACtE;IAA1C,iEAAW,CAAC,4BAA4B,CAAC;;;mDAAoF;AArBrH,YAAY;IALxB,+DAAS,CAAC;QACP,QAAQ,EAAE,UAAU;QACpB,iNAAmC;;KAEtC,CAAC;mFAwB+B,+EAAe;QACb,uFAAmB;QAChC,kDAAI,EAAqB,4DAAS;QAChC,sDAAM,EAAwB,kEAAc;QAChC,qFAAkB;QACf,4FAAqB;QACzC,+DAAiB;QACF,6FAAkB;GA9BvC,YAAY,CAmJxB;AAnJwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBsB;AACgC,CAAC,kBAAkB;AACzD;AAC2B;AACG;AACN;AAClB;AACC;AACM;AACA;AACP;AACe;AACH,CAAC,uFAAuF;AACjG;AAKlD,4DAA4D;AAC5D,uFAAuF;AACvF,2DAA2D;AAGpD,SAAS,qBAAqB,CAAC,IAAgB;IAClD,OAAO,IAAI,8EAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AA6BD,IAAa,SAAS,GAAtB,MAAa,SAAS;CAAI;AAAb,SAAS;IA3BrB,8DAAQ,CAAC;QACN,YAAY,EAAE;YACV,2DAAY;YACZ,2EAAgB;SACnB;QACD,OAAO,EAAE;YACL,qEAAgB;YAChB,4FAAuB;YACvB,4DAAU;YACV,kEAAY;YACZ,mEAAY,CAAC,OAAO,EAAE;YACtB,2DAAY;YACZ,6DAAY;YACZ,yEAAqB,CAAC,OAAO,EAAE;YAC/B,gEAAW;YACX,mEAAe,CAAC,OAAO,CAAC;gBACpB,MAAM,EAAE;oBACJ,OAAO,EAAE,mEAAe;oBACxB,UAAU,EAAE,CAAC,qBAAqB,CAAC;oBACnC,IAAI,EAAE,CAAC,+DAAU,CAAC;iBACrB;aACJ,CAAC;SAEL;QACD,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,CAAC,2DAAY,CAAC;KAC5B,CAAC;GACW,SAAS,CAAI;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtD6C;AACM;AACL;AACM;AACV;AACH;AAEC;AACN;AACY;AACd;AAEO;AACiB;AA0B9E,IAAa,UAAU,GAAvB,MAAa,UAAU;IACnB,YAAoC,YAAwB;QACxD,kFAAoB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;CACJ;;YAHqD,UAAU,uBAA/C,sDAAQ,YAAI,sDAAQ;;AADxB,UAAU;IAxBtB,8DAAQ,CAAC;QACN,OAAO,EAAE;YACL,sEAAgB;YAChB,0EAAoB,CAAC,WAAW,CAAC;gBAC7B,UAAU,EAAE,YAAY;gBACxB,UAAU,EAAE,cAAc;aAC7B,CAAC;SACL;QACD,SAAS,EAAE;YACP,4EAAwB;YACxB,sFAAqB;YACrB,gFAAkB;YAClB,0EAAe;YACf,oEAAa;YACb,gFAAiB;YACjB,mEAAW;YACX,qFAAoB;YACpB,+EAAiB;SACpB;QACD,YAAY,EAAE,EACb;QACD,OAAO,EAAE,EACR;KACJ,CAAC;IAEe,uHAAQ,EAAE,GAAE,uHAAQ,EAAE;mFAAe,UAAU;GADnD,UAAU,CAItB;AAJsB;;;;;;;;;;;;;;;;;;;;;;ACvCgD;AACA;AAC5B;AACwD;AAGxC;AAI3D,IAAa,YAAY,GAAzB,MAAa,YAAY;IAEvB,YAAoB,MAAc,EACxB,kBAAsC,EAAS,kBAAsC;QAD3E,WAAM,GAAN,MAAM,CAAQ;QACxB,uBAAkB,GAAlB,kBAAkB,CAAoB;QAAS,uBAAkB,GAAlB,kBAAkB,CAAoB;QAC/F,gBAAW,GAAQ,EAAE,CAAC;QACtB,WAAM,GAAwB,EAAE,CAAC;QACjC,QAAG,GAAC,mEAAG,CAAC;IAH2F,CAAC;IAIpG,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACpE,mBAAmB;QAClB,IAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;YACtC,OAAO,IAAI,CAAC;SACb;aAAI;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CACF;;YAd6B,sDAAM;YACJ,gFAAkB;YAA6B,gFAAkB;;AAHpF,YAAY;IAHxB,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;mFAG4B,sDAAM;QACJ,gFAAkB,EAA6B,gFAAkB;GAHpF,YAAY,CAgBxB;AAhBwB;;;;;;;;;;;;;;;;;;;;;;;;;ACVsC;AACU;AACd;AAEU;AACM;AACtB;AAGT;AACH;AAGzC;;GAEG;AAIH,IAAa,0BAA0B,GAAvC,MAAa,0BAA0B;IAItC,YAAoB,qBAA4C,EAAU,KAAa,EAC9E,kBAAsC,EACtC,QAAkB;QAFP,0BAAqB,GAArB,qBAAqB,CAAuB;QAAU,UAAK,GAAL,KAAK,CAAQ;QAC9E,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,aAAQ,GAAR,QAAQ,CAAU;QAL3B,qBAAgB,GAAqB,EAAE,CAAC;QAExC,WAAM,GAAwB,EAAE,CAAC;IAMjC,CAAC;IACD,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACrD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iEAAU,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,qDAAqD;IAC7C,YAAY,CAAC,QAAa,EAAE,IAAS,EAAE,UAAe;QAE7D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oEAAY,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,wEAAc,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kFAAmB,CAAC,CAAC;QAExD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAEvD,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,QAAQ,CAAC,KAAK,YAAY,UAAU,EAAE;YACzC,oBAAoB;YACpB,0EAA0E;YAC1E,MAAM,OAAO,GAAG,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/D,8CAA8C;YAC9C,2DAA2D;SAC3D;aACI;YACJ,oBAAoB;YACpB,QAAQ,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,kBAAkB,GAAG,YAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACtE,IAAI,kBAAkB,EAAE;gBACvB,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;aAC3E;iBACI;gBACJ,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC7D,kCAAkC;aAClC;YACD,+DAA+D;YAC/D,2BAA2B;SAC3B;QACD,QAAQ,QAAQ,CAAC,MAAM,EAAE;YACxB,KAAK,GAAG;gBACP,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;gBACpC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,MAAM;YACP,KAAK,GAAG;gBACP,QAAQ,CAAC,SAAS,CAAC,iBAAiB,EAAE,mEAAmE,CAAC,CAAC;gBAC3G,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;gBACpC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC,MAAM;YACP,KAAK,GAAG;gBACP,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,gEAAgE,CAAC,CAAC;gBAC9F,MAAM;YACP,KAAK,GAAG;gBACP,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,iDAAiD,CAAC,CAAC;gBAC/E,MAAM;YACP,KAAK,GAAG;gBACP,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;gBAC7F,MAAM;YACP;gBACC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,6DAA6D,CAAC,CAAC;gBAC3F,MAAM;SACP;QACD,MAAM,QAAQ,CAAC;IAChB,CAAC;CAED;;YAtE2C,sFAAqB;YAAiB,sDAAM;YAC1D,gFAAkB;YAC5B,sDAAQ;;AANf,0BAA0B;IAHtC,gEAAU,CAAC;QACX,UAAU,EAAE,MAAM;KAClB,CAAC;mFAK0C,sFAAqB,EAAiB,sDAAM;QAC1D,gFAAkB;QAC5B,sDAAQ;GANf,0BAA0B,CA0EtC;AA1EsC;;;;;;;;;;;;;;;;;;;;ACnB8B;AAC1B;AAGgB;AAC3D,iFAAiF;AACjF;;GAEG;AAIH,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAChC,YAAmB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAEzD,CAAC;IACD,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAErD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACrC,gGAAgG;YAC7F,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5C,sDAAsD;YACtD,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACrD,IAAI,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACpD,oCAAoC;YAEpC,IAAI,KAAK,EAAE;gBACN,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;oBAE3B,UAAU,EAAE;wBACX,aAAa,EAAE,UAAU,KAAK,EAAE;wBAChC,YAAY,EAAE,MAAM;wBACpB,YAAY,EAAE,iEAAiE;wBAC/E,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAC,GAAG,SAAS,EAAE,EAAC,UAAU,EAAC,GAAG,UAAU,EAAE,EAAE,UAAU,EAAC,GAAG,UAAU,EAAE;qBAC/G,EAAE,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,wEAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG;iBAC3F,CAAC,CAAC;aACH;iBAAM;gBACN,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,wEAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;aACtH;SACD;QAGD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;CACD;;YAhCuC,gFAAkB;;AAD7C,oBAAoB;IAHhC,gEAAU,CAAC;QACX,UAAU,EAAE,MAAM;KAClB,CAAC;mFAEsC,gFAAkB;GAD7C,oBAAoB,CAiChC;AAjCgC;;;;;;;;;;;;;;;;;;;;ACZqC;AAE3B;AAEA;AAG3C,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAChC,YAAoB,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAI,CAAC;IAE7D,SAAS,CAAI,GAAmB,EAAE,IAAiB;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gEAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;CACF;;YALwC,+EAAiB;;AAD7C,qBAAqB;IADjC,gEAAU,EAAE;mFAE4B,+EAAiB;GAD7C,qBAAqB,CAMjC;AANiC;;;;;;;;;;;;;ACPlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6E;AACb;AACC;AAGR;AACe;AAEjE,MAAM,wBAAwB,GAAG;IACpC;QACI,OAAO,EAAE,sEAAiB;QAC1B,QAAQ,EAAE,4EAAoB;QAC9B,KAAK,EAAE,IAAI;KACd;IACD;QACI,OAAO,EAAE,sEAAiB;QAC1B,QAAQ,EAAE,yFAA0B;QACpC,KAAK,EAAE,IAAI;KACd;IACD;QACI,OAAO,EAAE,sEAAiB;QAC1B,QAAQ,EAAE,6EAAqB;QAC/B,KAAK,EAAE,IAAI;KACd;IACD;QACI,OAAO,EAAE,sEAAiB;QAC1B,QAAQ,EAAE,oFAAwB;QAClC,KAAK,EAAE,IAAI;KACd;CAKJ,CAAC;;;;;;;;;;;;;;;;;;;;ACjC0E;AACjC;AAGD;AAI1C,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;IAWnC,YAAoB,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAT9D,mBAAc,GAAW,CAAC,CAAC;QAE3B;;WAEG;QACH,cAAS,GAAG;YACV,cAAc;SACf,CAAC;IAGF,CAAC;IAED,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,IAAI,oBAAoB,GAAG,IAAI,CAAC;QAEhC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC1C,oBAAoB,GAAG,KAAK,CAAC;gBAC7B,MAAM;aACP;SACF;QAED,IAAI,oBAAoB,EAAE;YACxB,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;aAC1C;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9B,+DAAQ,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,EAAE;oBAC7B,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;iBACzC;YACH,CAAC,CAAC,CACH;SACF;aAAM;YACL,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC7B;IACH,CAAC;IAAA,CAAC;CACH;;YA/B2C,qFAAoB;;AAXnD,wBAAwB;IADpC,gEAAU,EAAE;mFAY+B,qFAAoB;GAXnD,wBAAwB,CA0CpC;AA1CoC;;;;;;;;;;;;;ACRrC;AAAA;AAAA,wCAAwC;AACjC,SAAS,oBAAoB,CAAC,YAAiB,EAAE,UAAkB;IACxE,IAAI,YAAY,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,sEAAsE,CAAC,CAAC;KACtG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;ACL0C;AACL;AACqB;AAE3D;;;GAGG;AAIH,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAEhC,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAI,CAAC;IAE/D;;;;OAIG;IACH,KAAK,CAAC,OAAY;QAChB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,+CAAE,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,0CAA0C;QAC1C,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC;QACzC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,+CAAE,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CAEF;;YAxByC,uEAAkB;;AAF/C,qBAAqB;IAHjC,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;mFAGwC,uEAAkB;GAF/C,qBAAqB,CA0BjC;AA1BiC;;;;;;;;;;;;;;;;;;;;;;ACXS;AAC3C,IAAI,QAAQ,GAAG,mBAAO,CAAC,oDAAW,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,mBAAO,CAAC,eAAQ,CAAC,CAAC;AACjC,MAAM,SAAS,GAAG,mBAAO,CAAC,sDAAY,CAAC,CAAC;AAGC;AACzC,MAAM,cAAc,GAAW,OAAO,CAAC;AACmC;AAG/B;AACgB;AAC3D;;;GAGG;AAIH,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAS9B,YAAqB,MAAc;QAClC,4BAA4B;QAC7B,+EAA+E;QAC/E,gGAAgG;QAH3E,WAAM,GAAN,MAAM,CAAQ;QAP3B,iBAAY,GAAe,IAAI,CAAC;QAChC,UAAK,GAAe,IAAI,CAAC;QACzB,uBAAkB,GAAG,EAAE,CAAC;QAGxB,iBAAY,GAAG,IAAI,4CAAO,EAAW,CAAC;QAO7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,eAAe;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3B,CAAC;IACD,8BAA8B;IAC9B,oCAAoC;IACpC,IAAI;IAEJ,iBAAiB;QAChB,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACxG,IAAI,gBAAgB,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACnE;aAAM;YACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SACzB;IACF,CAAC;IACD;;;OAGG;IACH,IAAI,WAAW;QACd,4BAA4B;QAC5B,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,gBAAgB,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACnE;aAAM;YACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IACD,WAAW,CAAE,IAAS;QACnB,IAAI;YACF,qCAAqC;YACrC,wDAAwD;YACxD,4BAA4B;YAC5B,QAAQ;YACR,eAAe;YACf,yDAAyD;YACzD,uDAAuD;YACvD,KAAK;YACL,IAAI;YAEJ,eAAe;YACf,mCAAmC;YAEnC,0BAA0B;YAC1B,wCAAwC;YAExC,8BAA8B;YAEjC,iDAAiD;YACjD,+BAA+B;YAC/B,0BAA0B;YAC1B,kBAAkB;YAClB,4DAA4D;YAC5D,0DAA0D;YAC1D,QAAQ;YACR,OAAO;YAEP,kBAAkB;YAClB,uCAAuC;YAEvC,6BAA6B;YAC7B,2CAA2C;YAC3C,gCAAgC;YAChC,mCAAmC;YAChC,IAAI,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,wEAAW,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAC9I;gBACE,OAAO,EAAE,GAAG,GAAG,CAAC;gBAChB,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,wEAAW,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC;gBACpE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;gBACvB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK;aAC5B,CAAC,CAAC;YACL,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC/B;QAAC,OAAO,KAAK,EAAE;YACf,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,oCAAoC;SACpC;IACF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IAEH,WAAW,CAAE,IAAS;QACrB,IAAI;YAEA,oCAAoC;YACpC,4BAA4B;YAC5B,aAAa;YACb,eAAe;YACf,yDAAyD;YACzD,uDAAuD;YACvD,KAAK;YACL,IAAI;YACJ,kCAAkC;YAClC,wBAAwB;YACxB,wCAAwC;YAExC,qCAAqC;YACrC,wDAAwD;YACxD,4BAA4B;YAC5B,QAAQ;YACR,eAAe;YACf,yDAAyD;YACzD,uDAAuD;YACvD,KAAK;YACL,IAAI;YACJ,kCAAkC;YAClC,wBAAwB;YACxB,wCAAwC;YACxC,8BAA8B;YAE9B,8BAA8B;YAC9B,iLAAiL;YACjL,KAAK;YACL,uBAAuB;YACvB,2EAA2E;YAC3E,8BAA8B;YAC9B,iCAAiC;YACjC,OAAO;YAEP,0CAA0C;YAC1C,IAAI,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,wEAAW,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAC1G;gBACE,OAAO,EAAE,GAAG,GAAG,CAAC;gBAChB,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,wEAAW,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC;gBACpE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;gBACvB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK;aAC5B,CAAC,CAAC;YACL,IAAI,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC9C;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB;IACF,CAAC;IACD,IAAI,KAAK;QACR,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,KAAK;YACR,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,QAAQ,CAAE,KAAc;QACvB,IAAI,KAAK;YACR,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD;;;;;;OAMG;IACH,cAAc,CAAE,WAAiB,EAAE,QAAkB;QACpD,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,IAAI,CAAC;QACxC,IAAI,WAAW,EAAE;YAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;YACzD,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SACrF;aAAM;YACN,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC1C,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAED,oBAAoB,CAAE,WAAiB;QACtC,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,IAAI,CAAC;QACxC,IAAI,WAAW,EAAE;YAChB,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;SACrC;IACF,CAAC;IAED,oBAAoB;QACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,eAAe;;QACd,MAAM,YAAY,SAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,0FAA6B,CAAC,YAAY,CAAC,CAAC,0CAAE,KAAK,CAAC,sFAAyB,CAAC,CAAC;QAC5I,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;YACrD,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1D,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D;aAAM;YACN,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED,QAAQ;;QACP,OAAO,uBAAI,CAAC,WAAW,0CAAE,YAAY,0CAAE,IAAI,4CAAI,WAAW,OAAM,sFAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAChH,CAAC;IAED,eAAe,CAAC,YAAqB;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IACzC,CAAC;CAED;;YAtO6B,sDAAM;;AATvB,kBAAkB;IAH9B,gEAAU,CAAC;QACX,UAAU,EAAE,MAAM;KAClB,CAAC;mFAU4B,sDAAM;GATvB,kBAAkB,CA+O9B;AA/O8B;;;;;;;;;;;;;;;;;;;;;;;ACpBY;AACoB;AACvB;AACX;AAC7B,MAAM,UAAU,GAAG,iFAAiF,CAAC;AACrG,MAAM,eAAe,GAAG,OAAO,CAAC;AAKhC,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAG9B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAExC,YAAY,CAAC,YAAoB,EAAE,IAAS,EAAE,YAAY;QACzD,IAAI,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC;QAChC,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,gBAAgB,CAAC,IAAS,EAAE,QAAa;QACxC,iEAAiE;QACjE,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACzC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;QACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtB,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,MAAM,EAAE,CAAC;IACX,CAAC;IAGM,iBAAiB,CAAC,IAAW,EAAE,aAAqB,EAAE,UAAkB;QAC7E,IAAI,SAAS,GAAmB,0CAAU,CAAC;QAC3C,0CAAU,CAAC,aAAa,CAAC,SAAS,EAAE;YAClC,CAAC,UAAU,CAAC;SACb,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG;YACZ,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;SAC1C,CAAC;QACF,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QAC7B,0CAAU,CAAC,cAAc,CAAC,SAAS,EAAC,IAAI,EAAC,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAkB,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QACpG,MAAM,WAAW,GAAQ,0CAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IACO,eAAe,CAAC,MAAW,EAAE,QAAgB;QACnD,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5D,IAAI,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAQ,YAAY,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,KAAK,GAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YAC1B,IAAI,GAAG,GAAG,GAAE,IAAI,CAAC;SAClB;QACD,IAAI,KAAK,IAAG,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;YAC3B,KAAK,GAAG,GAAG,GAAE,KAAK,CAAC;SACpB;QACD,IAAI,SAAS,GAAG,GAAG,GAAG,IAAI,GAAE,GAAG,GAAG,KAAK,GAAE,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,GAAE,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAE,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;QAC1I,iDAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,eAAe,CAAC,CAAC;IACjE,CAAC;CACF;;YApD2B,+DAAU;;AAHzB,mBAAmB;IAH/B,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;mFAI0B,+DAAU;GAHzB,mBAAmB,CAuD/B;AAvD+B;;;;;;;;;;;;;;;;;;ACRW;AAM3C,IAAa,YAAY,GAAzB,MAAa,YAAY;IAEvB,gBAAgB,CAAC,KAAY;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,OAAO,wBAAwB,CAAC;SACjC;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,cAAc,CAAC,KAAY;QACzB,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB,CAAC,KAAwB;QACvC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;IAC9D,CAAC;IAED,mBAAmB,CAAC,KAAkB;QACpC,IAAI,kBAAkC,CAAC;QACvC,IAAI,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAK,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE;YACjF,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;YAEtE,IAAI,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,EAAE;gBAC5C,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC1F,OAAO,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;gBACpC,CAAC,CAAC,CAAC;aACJ;YACD,OAAO,kBAAkB,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0BAA0B,CAAC,KAAiB;QAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,aAAa,CAAC,KAAY;QACxB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACrB,OAAO,wBAAwB,CAAC;SACjC;IACH,CAAC;CACF;AAzCY,YAAY;IAHxB,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,YAAY,CAyCxB;AAzCwB;;;;;;;;;;;;;;;;;;;ACRM;AACY;AAK3C,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAG5B;QAFQ,2BAAsB,GAAG,IAAI,4CAAO,EAAQ,CAAC;IAEtC,CAAC;IAEhB,yCAAyC;IAClC,qBAAqB;QAC1B,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAEM,uBAAuB;QAC5B,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;IACpD,CAAC;CACF;AAbY,iBAAiB;IAH7B,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;;GACW,iBAAiB,CAa7B;AAb6B;;;;;;;;;;;;;;;;;;;ACNa;AACO;AAElD;;GAEG;AAIH,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAE3B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAEpC,CAAC;IACD;;;OAGG;IACH,QAAQ,CAAC,YAAoB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAQ,YAAY,CAAC,CAAC;IAC9C,CAAC;IACD;;;OAGG;IACH,WAAW,CAAC,YAAoB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,YAAY,CAAC,CAAC;IAC5C,CAAC;IACD;;;OAGG;IACH,eAAe,CAAC,YAAoB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,YAAoB,EAAE,IAAS;QACrC,+BAA+B;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,YAAY,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;KAIC;IACD,UAAU,CAAC,YAAoB,EAAE,IAAS;QACvC,+BAA+B;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD;;;;OAIG;IACH,eAAe,CAAC,YAAoB,EAAE,IAAS;QAC5C,+BAA+B;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC;IACD;;;OAGG;IAEF,YAAY,CAAC,YAAoB,EAAE,IAAS,EAAE,YAAY;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,EAAC,YAAY,EAAC,YAAY,EAAC,CAAC,CAAC;IAC1E,CAAC;IACM,mBAAmB,CAAC,GAAQ;QAChC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,IAAI,GAAG;YACb,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;gBACvB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtE;QACL,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACJ;;YArE6B,+DAAU;;AAF3B,kBAAkB;IAH9B,gEAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;mFAG4B,+DAAU;GAF3B,kBAAkB,CAuE9B;AAvE8B;;;;;;;;;;;;;;;;;;;ACTY;AACZ;AAK/B,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAAjC;QAEU,aAAQ,GAAY,KAAK,CAAC;QAClC,kBAAa,GAAiB,IAAI,4CAAO,EAAE,CAAC;IAkB9C,CAAC;IAhBC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK;QACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;CACF;AArBY,oBAAoB;IAHhC,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,oBAAoB,CAqBhC;AArBgC;;;;;;;;;;;;;;;;;;ACNU;AAK3C,IAAa,cAAc,GAA3B,MAAa,cAAc;IAEzB,QAAQ,CAAC,OAAe,EAAE,KAAa;QACrC,2DAA2D;QAC3D,4DAA4D;IAC9D,CAAC;CACF;AANY,cAAc;IAH1B,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,cAAc,CAM1B;AAN0B;;;;;;;;;;;;;;;;;;;ACLgB;AACoB;AAG/D,IAAa,WAAW,GAAxB,MAAa,WAAW;IAOpB;QACI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,0DAAK,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,4DAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,4DAAO,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,KASN;QACE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,KASP;QACE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,KAST;QACE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,KAST;QACE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CACJ;AAzFY,WAAW;IADvB,gEAAU,EAAE;;GACA,WAAW,CAyFvB;AAzFuB;;;;;;;;;;;;;;;;;;;;ACJO;AACY;AACE;AAK7C,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAK9B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAHlD,sBAAiB,GAAG,CAAC,CAAC;QACtB,cAAS,GAAG,IAAI,4CAAO,EAAW,CAAC;IAEmB,CAAC;IAEvD,WAAW,CAAC,OAAe;QACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,SAAS,CAAC,UAAkB,uBAAuB,EAAE,OAAe;QAClE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,WAAW;QACT,+BAA+B;QAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC3I,CAAC;IAED,SAAS,CAAC,KAAc;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,6BAA6B;IAC/B,CAAC;IAED,QAAQ,CAAC,KAAc;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE;IACrB,CAAC;IACD,YAAY;QACV,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;CACF;;YA1BqC,0DAAc;;AALvC,mBAAmB;IAH/B,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;mFAMoC,0DAAc;GALvC,mBAAmB,CA+B/B;AA/B+B;;;;;;;;;;;;;;;;;;;ACPW;AACJ;AAGvC,IAAa,eAAe,GAA5B,MAAa,eAAe;IASxB;QAHO,eAAU,GAAG,IAAI,oDAAe,CAAU,IAAI,CAAC,CAAC;QAChD,kBAAa,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAIlD,gBAAgB;QAChB,sCAAsC;QACtC,IAAI,CAAC,IAAI,GAAG;YACR,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,cAAc;YACnB,OAAO,EAAE,wBAAwB;SACpC,CAAC;QAEF,eAAe;QACf,sCAAsC;QACtC,IAAI,CAAC,GAAG,GAAG;YACP,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,OAAO,EAAE,cAAc;SAC1B,CAAC;QAEF,kBAAkB;QAClB,sCAAsC;QACtC,IAAI,CAAC,MAAM,GAAG;YACV,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,KAAK;YACrB,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,aAAa;SAC/B,CAAC;IAEN,CAAC;IAED,aAAa,CAAC,IAAI;QACd,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IAC5C,CAAC;IACD,cAAc,CAAC,IAAI;QACf,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9C,CAAC;IACD,gBAAgB,CAAC,IAAI;QACjB,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,KAAK;QACrB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;YACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SAC1B;IACL,CAAC;IACD,cAAc,CAAC,IAAI,EAAE,KAAK;QACtB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SAC3B;IACL,CAAC;IACD,gBAAgB,CAAC,IAAI,EAAE,KAAK;QACxB,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE;YAC1C,IAAI,IAAI,IAAI,aAAa,EAAE;gBACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;SACpC;IACL,CAAC;IAED,mBAAmB,CAAC,IAAI;QACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,GAAG;QACC,OAAQ,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IACjD,CAAC;CAEJ;AAvFY,eAAe;IAD3B,gEAAU,EAAE;;GACA,eAAe,CAuF3B;AAvF2B;;;;;;;;;;;;;;;;;;ACJe;AAE3C,MAAM,MAAM,GAAG,mBAAO,CAAC,4FAAyC,CAAC,CAAC;AAClE,MAAM,MAAM,GAAG,mBAAO,CAAC,4FAAyC,CAAC,CAAC;AAClE,MAAM,MAAM,GAAG,mBAAO,CAAC,4FAAyC,CAAC,CAAC;AAClE,MAAM,MAAM,GAAG,mBAAO,CAAC,4FAAyC,CAAC,CAAC;AAClE,MAAM,MAAM,GAAG,mBAAO,CAAC,4FAAyC,CAAC,CAAC;AAClE,MAAM,MAAM,GAAG,mBAAO,CAAC,4FAAyC,CAAC,CAAC;AAClE,MAAM,MAAM,GAAG,mBAAO,CAAC,4FAAyC,CAAC,CAAC;AAClE,MAAM,MAAM,GAAG,mBAAO,CAAC,4FAAyC,CAAC,CAAC;AAGlE,IAAa,aAAa,GAA1B,MAAa,aAAa;IAKtB;QAFA,iBAAY,GAAW,GAAG,CAAC;QAGvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAEO,WAAW;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,IAAI;QACT,QAAQ,IAAI,EAAE;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;SACb;IACL,CAAC;IAED,gBAAgB,CAAC,GAAG;QAChB,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;IAClC,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CAEJ;AAvDY,aAAa;IADzB,gEAAU,EAAE;;GACA,aAAa,CAuDzB;AAvDyB;;;;;;;;;;;;;;;;;;;ACZiB;AACY;AAGvD,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAS1B,YAAmB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;QAPtC,oBAAe,GAAW,IAAI,CAAC;QAE/B,mBAAc,GAAG;YACrB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;SACrC,CAAC;QAIE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;YAC3B,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnD,IAAI,CAAC,WAAW,EAAE,CAAC;IAEvB,CAAC;IAED,WAAW,CAAC,OAAe,IAAI;QAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;CAEJ;;YAjBiC,oEAAgB;;AATrC,iBAAiB;IAD7B,gEAAU,EAAE;mFAUqB,oEAAgB;GATrC,iBAAiB,CA0B7B;AA1B6B;;;;;;;;;;;;;ACJ9B;AAAe,6GAA8C,uJAAuJ,E;;;;;;;;;;;;;;;;;;ACAlK;AACqB;AAOvE,IAAa,eAAe,GAA5B,MAAa,eAAe;IAExB,YAAmB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;IAAI,CAAC;IAEjD,QAAQ;IAER,CAAC;CAEJ;;YANgC,+EAAe;;AAFnC,eAAe;IAL3B,+DAAS,CAAC;QACP,QAAQ,EAAE,cAAc;QACxB,qOAAsC;;KAEzC,CAAC;mFAG+B,+EAAe;GAFnC,eAAe,CAQ3B;AAR2B;;;;;;;;;;;;;ACR5B;AAAe,kFAAmB,iBAAiB,gBAAgB,GAAG,gBAAgB,yCAAyC,qFAAqF,2CAA2C,iBAAiB,GAAG,yHAAyH,2BAA2B,GAAG,kBAAkB,8DAA8D,iBAAiB,sBAAsB,oBAAoB,qBAAqB,iBAAiB,uBAAuB,GAAG,aAAa,8DAA8D,oBAAoB,oBAAoB,qBAAqB,iBAAiB,mBAAmB,GAAG,6CAA6C,uuGAAuuG,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAr9H;AAC1D;AACzC,MAAM,UAAU,GAAG,mBAAO,CAAC,gEAAY,CAAC,CAAC;AAEiC;AACH;AACR;AACsB;AACR;AACvB;AACoD;AAE3B;AAClB;AAIF;AAE3D,MAAM,IAAI,GAAG,mBAAO,CAAC,oEAAY,CAAC,CAAC;AASnC,IAAa,eAAe,GAA5B,MAAa,eAAe;IAiB3B,YAAmB,IAAiB,EAC3B,kBAAsC,EACtC,KAAa,EACd,QAAyB,EACzB,gBAAkC,EACjC,GAAsB,EACvB,aAA4B,EAC3B,kBAAsC,EACtC,qBAA4C,EAC7C,QAAkB;QATP,SAAI,GAAJ,IAAI,CAAa;QAC3B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,UAAK,GAAL,KAAK,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAiB;QACzB,qBAAgB,GAAhB,gBAAgB,CAAkB;QACjC,QAAG,GAAH,GAAG,CAAmB;QACvB,kBAAa,GAAb,aAAa,CAAe;QAC3B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC7C,aAAQ,GAAR,QAAQ,CAAU;QAxB1B,iBAAY,GAAG,IAAI,CAAC,CAAC,wBAAwB;QAC7C,cAAS,GAAG,EAAE,CAAC,CAAC,wBAAwB;QAOxC,aAAQ,GAAe,EAAE,CAAC;QAC1B,QAAG,GAAG,2EAAG,CAAC;QAGV,UAAK,GAAG,YAAY;QACpB,QAAG,GAAG,GAAG;QAiJT,gBAAW,GAAG,CAAC,UAAc,EAAE,EAAE;YAChC,IAAI,CAAC,kBAAkB;iBACrB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC;iBAC/D,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,IAAI,QAAQ,GAAQ,GAAG,CAAC;gBACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QA5ID,gCAAgC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IACxD,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAEhC,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QACpC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,yBAAyB;YAC1F,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SACnD;IACF,CAAC;IAED,eAAe,CAAC,KAAK;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,KAAK;QAClB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,mBAAmB,CAAC,IAAa;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,mBAAmB;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IAChC,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,uBAAuB;QACtB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAED,gBAAgB,CAAC,KAAK;QACrB,IAAI,UAAU,CAAC,OAAO,EAAE;YACvB,UAAU,CAAC,MAAM,EAAE,CAAC;SACpB;IACF,CAAC;IAED,MAAM;QACL,IAAI,CAAC;YACJ,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACR,MAAM,EAAE;oBACP,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE;oBACR,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,YAAY;oBACvB,UAAU,EAAE,IAAI;iBAChB;aACD;SACD,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YAClB,IAAI,SAAS,EAAE;gBACd,kDAAkD;gBAClD,8CAA8C;gBAG7C,IAAI,CAAC,kBAAkB;qBACpB,eAAe,CACd,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,EAClC,IAAI,CAAC,WAAW,CACjB;qBACA,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBACV,IAAI,QAAQ,GAAQ,GAAG,CAAC;oBAC1B,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;wBAC/B,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;wBACpC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBACnD,YAAY,CAAC,KAAK,EAAE,CAAC;wBACrB,cAAc,CAAC,KAAK,EAAE,CAAC;wBACvB,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;4BAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,4BAA4B,GAAG,yEAAW,CAAC,UAAU,CAAC,CAAC,QAAQ,GAAG,0CAA0C,GAAG,yEAAW,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC;yBAC3K;6BACI;4BACH,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;4BAClB,UAAU,CAAC,GAAG,EAAE;gCACd,IAAI,IAAI,CAAC,GAAG,IAAI,CAAE,IAAI,CAAC,GAAe,CAAC,SAAS,EAAE;oCAChD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;iCAC1B;gCACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;4BAClC,CAAC,CAAC,CAAC;yBACJ;qBACF;yBACI;wBACH,UAAU,CAAC,GAAG,EAAE;4BACd,IAAI,IAAI,CAAC,GAAG,IAAI,CAAE,IAAI,CAAC,GAAe,CAAC,SAAS,EAAE;gCAChD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;6BAC1B;4BACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACnC,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACT;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAS;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,uHAAgB,EAAE;YACpD,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpC,KAAK,EAAE;gBACN,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,MAAM;gBACvB,OAAO,EAAE,KAAK;aACd;SACD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,IAAI,GAAG,EAAE;gBACR,IAAI,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,+CAA+C;gBACrF,mEAAmE;aACnE;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CAaD;;YA1JyB,uEAAW;YACP,qFAAkB;YAC/B,sDAAM;YACJ,+EAAe;YACP,qFAAgB;YAC5B,+DAAiB;YACR,mEAAa;YACP,6FAAkB;YACf,kGAAqB;YACnC,sDAAQ;;AAlBe;IAAxC,+DAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;iDAAU;AARtC,eAAe;IAL3B,+DAAS,CAAC;QACV,QAAQ,EAAE,YAAY;QACtB,qOAAsC;;KAEtC,CAAC;mFAkBwB,uEAAW;QACP,qFAAkB;QAC/B,sDAAM;QACJ,+EAAe;QACP,qFAAgB;QAC5B,+DAAiB;QACR,mEAAa;QACP,6FAAkB;QACf,kGAAqB;QACnC,sDAAQ;GA1Bd,eAAe,CA2K3B;AA3K2B;;;;;;;;;;;;;AC5B5B;AAAe,6GAA8C,uKAAuK,E;;;;;;;;;;;;;;;;;ACAhH;AAOpH,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAM9B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAH1B,YAAO,GAAG,IAAI,0DAAY,EAAW,CAAC;IAGR,CAAC;IAEzC,QAAQ;QACP,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC1C,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE,EAAC,MAAM;gBAChC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtB;QACF,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YAC1C,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9G,IAAI,CAAC,QAAQ,EAAE;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;aACtB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,cAAc;QACb,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,WAAW,CAAE,OAA6C;QACzD,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,KAAK,IAAI,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;SACvD;IACF,CAAC;IAED,UAAU;QACT,4CAA4C;IAC7C,CAAC;CACD;;YA9B0B,wDAAU;;AAJ3B;IAAR,2DAAK,EAAE;;mDAAkB;AAChB;IAAT,4DAAM,EAAE;;mDAAuC;AAHpC,kBAAkB;IAL9B,+DAAS,CAAC;QACV,QAAQ,EAAE,eAAe;QACzB,qPAAyC;;KAEzC,CAAC;mFAOyB,wDAAU;GANxB,kBAAkB,CAoC9B;AApC8B;;;;;;;;;;;;;ACP/B;AAAe,6GAA8C,+IAA+I,E;;;;;;;;;;;;;;;;;;;;ACAjJ;AACS;AAC3B;AACgC;AAOzE,IAAa,eAAe,GAA5B,MAAa,eAAe;IAE3B,YACS,KAAa,EACd,QAAyB;QADxB,UAAK,GAAL,KAAK,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAiB;QAEhC,2DAA2D;QAC3D,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;;YAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,GAAG,CAAC,WAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9F,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ,KAAK,CAAC;IAEd,SAAS;QACR,oFAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACvC,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,EAAE;gBACvB,IAAI,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,CACvC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CACjB,CAAC;gBACF,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;iBACpC;aACC;iBAAM;gBACR,IAAI,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,aAAa,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,CAAC;gBAC5D,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACrC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;oBACjE,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC5C,WAAW,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;iBAC3C;aACC;QACH,CAAC,CAAC,CAAC;IACF,CAAC;CACH;;YA/BgB,sDAAM;YACJ,+EAAe;;AAJrB,eAAe;IAL3B,+DAAS,CAAC;QACV,QAAQ,EAAE,YAAY;QACtB,8NAAsC;;KAEtC,CAAC;mFAIe,sDAAM;QACJ,+EAAe;GAJrB,eAAe,CAkC3B;AAlC2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVa;AAEY;AACU;AACH;AACgB;AACJ;AACK;AACJ;AACb;AAEL;AACA;AA4BvD,IAAa,YAAY,GAAzB,MAAa,YAAY;CAAI;AAAhB,YAAY;IA1BxB,8DAAQ,CAAC;QACN,OAAO,EAAE;YACL,mEAAY,EAAC,qEAAS;SACzB;QACD,SAAS,EAAE;YACP,qFAAgB;SACnB;QACD,YAAY,EAAE;YACV,iEAAe;YACf,2EAAgB;YAChB,yFAAkB;YAClB,wEAAe;YACf,wFAAkB;YAClB,oFAAmB;YACnB,wEAAe;SAClB;QACD,OAAO,EAAE;YACL,iEAAe;YACf,2EAAgB;YAChB,yFAAkB;YAClB,wEAAe;YACf,wFAAkB;YAClB,oFAAmB;YACnB,wEAAe;SAClB;KACJ,CAAC;GACW,YAAY,CAAI;AAAJ;;;;;;;;;;;;;ACxCzB;AAAe,6GAA8C,mKAAmK,E;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9I;AAC3C;AACwC;AACA;AAER;AACN;AACY;AACL;AACT;AACd;AAMjD,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAK5B,YAAmB,QAAyB,EAAU,cAA8B,EAAU,kBAAsC,EAAS,MAAqB,EAAS,UAA6B,EAAU,kBAAsC,EAAS,IAAgB;QAA9P,aAAQ,GAAR,QAAQ,CAAiB;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,eAAU,GAAV,UAAU,CAAmB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QAAS,SAAI,GAAJ,IAAI,CAAY;QAgCjR,yBAAoB,GAAG,CAAC,CAAC,EAAE;YACvB,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,QAAQ,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;aAC3D;QACL,CAAC;QAED,WAAM,GAAW,CAAC,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QAvCjB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IACD,SAAS;QACL,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACjD,IAAI,CAAC,MAAM,CAAC,GAAG;gBACX,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAElC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,KAAK;QACT,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,aAAa;QACT,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAWD,iBAAiB;;QACb,MAAM,YAAY,SAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,mFAA6B,CAAC,YAAY,CAAC,CAAC,0CAAE,KAAK,CAAC,+EAAyB,CAAC,CAAC;QAC/J,IAAI,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;YAClD,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1D,IAAI,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAClC;QACD,IAAI,CAAC,kBAAkB;aAClB,QAAQ,CAAC,GAAG,6EAAoB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;aACjD,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;YAC1B,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBACtC,IAAI,CAAC,kBAAkB;qBAClB,QAAQ,CAAC,GAAG,2EAAkB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;qBAC/C,IAAI,CAAC,4DAAK,EAAE,CAAC;qBACb,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;oBAC1B,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE;wBAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;wBAC1B,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAC3C,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;wBACvG,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;wBAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;wBACV,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;qBAChC;gBACL,CAAC,CAAC,CAAC;aACV;iBAAM;gBACH,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxD;QACL,CAAC,CAAC,CAAC;IAEX,CAAC;IACD,WAAW;QACP,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrE,CAAC;CACJ;;YA3EgC,+EAAe;YAA0B,+DAAc;YAA8B,4FAAkB;YAAiB,yEAAa;YAAqB,qFAAiB;YAA8B,4FAAkB;YAAe,wDAAU;;AALxQ,mBAAmB;IAL/B,+DAAS,CAAC;QACP,QAAQ,EAAE,gBAAgB;QAC1B,iPAA0C;;KAE7C,CAAC;mFAM+B,+EAAe,EAA0B,+DAAc,EAA8B,4FAAkB,EAAiB,yEAAa,EAAqB,qFAAiB,EAA8B,4FAAkB,EAAe,wDAAU;GALxQ,mBAAmB,CAgF/B;AAhF+B;;;;;;;;;;;;;AChBhC;AAAe,6GAA8C,2JAA2J,E;;;;;;;;;;;;;;;;;;;;;;;;;;ACAjJ;AAC9B;AACsB;AACQ;AACQ;AACJ;AAEI;AAClB;AACtB;AAEoD;AAS3F,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAiB3B,YACS,IAAiB,EACjB,QAAyB,EACxB,iBAAqC,EACtC,QAAkB,EACjB,uBAA2C,EAC3C,oBAA0C;QAL3C,SAAI,GAAJ,IAAI,CAAa;QACjB,aAAQ,GAAR,QAAQ,CAAiB;QACxB,sBAAiB,GAAjB,iBAAiB,CAAoB;QACtC,aAAQ,GAAR,QAAQ,CAAU;QACjB,4BAAuB,GAAvB,uBAAuB,CAAoB;QAC3C,yBAAoB,GAApB,oBAAoB,CAAsB;QApBpD,iBAAY,GAAG,sBAAsB,CAAC;QACtC,SAAI,GAAQ,IAAI,CAAC;QAGjB,eAAU,GAAgB,EAAE,CAAC;QAC7B,iBAAY,GAAiB,EAAE,CAAC;QAChC,eAAU,GAAW,EAAE,CAAC;QACxB,QAAG,GAAG,0EAAG,CAAC;QAGV,eAAU,GAAG,EAAE,CAAC;QAChB,cAAS,GAAG,EAAE,CAAC;QACf,mBAAc,GAAG,qFAAkC;QA+DnD,aAAQ,GAAG,CAAC,UAAU,EAAE,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;YAC1C,gBAAgB;YAChB,IAAI,CAAC,uBAAuB;iBACzB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;iBACtD,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnB,IAAI,IAAI,GAAa,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QA/DA,mCAAmC;QACnC,mEAAmE;QACnE,kDAAkD;QAClD,kCAAkC;QAClC,mCAAmC;QACnC,yCAAyC;QACzC,yBAAyB;QACzB,sCAAsC;QACtC,IAAI;QACJ,4EAA4E;QAC5E,sCAAsC;QACtC,IAAI;QACJ,8EAA8E;QAC9E,wCAAwC;QACxC,IAAI;QACJ,8EAA8E;QAC9E,wCAAwC;QACxC,IAAI;IACN,CAAC;IAEK,QAAQ;;YACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;YACnD,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,YAAY,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC;YAC/D,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAChF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;YAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC7D,CAAC;YACF,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAChC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;wBACxB,IAAI,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE;4BACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBACzB;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,sDAAM,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;gBAChC,8CAA8C;gBAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,qBAAqB;gBACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,gCAAgC;gBAChC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,+CAA+C;YAC/C,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;KAAA;IAcD,aAAa;QACX,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE;gBACnD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;aACvD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,KAAK;QACtB,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,IACE,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC9B,CAAC,IAAI,CAAC,cAAc,EAAE,EACtB;YACA,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAEnD,sBAAsB;YACtB,IAAI,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC9C,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBACpC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChB,wCAAwC;gBACxC,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;oBACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC;YAEH,6BAA6B;YAC7B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;gBACd,OAAO;aACR;YAED,qCAAqC;YACrC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBAC1C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;gBACjD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACpB;iBAAM;gBACL,cAAc;gBACd,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;oBAC1B,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBACrC,gCAAgC;gBAChC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aACxB;SACF;IACH,CAAC;IAED,+BAA+B;IAC/B,SAAS,CAAC,IAAI;QACZ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;QACvD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,+BAA+B;QACtD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,kBAAkB,CAAC,KAAK;QACtB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IACE,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,cAAc,EAAE,EACrB;YACA,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACnD,IAAI,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAEpC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;gBACd,OAAO,CAAC,wBAAwB;aACjC;YAED,IAAI,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,6BAA6B;YAChF,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChD,IAAI,GAAG,GACL,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC3C,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;YAE1E,IAAI,WAAW,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YAE1C,8DAA8D;YAE9D,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAErC,6BAA6B;YAC7B,+CAA+C;YAC/C,IAAI,eAAe,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7B,IAAI,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;YAChE,IAAI,UAAU,GACZ,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;YAE5D,IAAI,YAAY,GAAG,EAAE,CAAC,CAAC,iCAAiC;YAExD,wEAAwE;YACxE,IAAI,OAAO,GACT,QAAQ,GAAG,OAAO,GAAG,UAAU;gBAC7B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;YAE3C,WAAW;iBACR,WAAW,CAAC,SAAS,CAAC,CAAC,+DAA+D;iBACtF,GAAG,CAAC;gBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC;oBACjD,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,UAAU;gBACd,GAAG,EAAE,OAAO;gBACZ,MAAM,EACJ,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,QAAQ;oBAChD,CAAC,CAAC,YAAY,GAAG,IAAI;oBACrB,CAAC,CAAC,MAAM;aACb,CAAC,CAAC;YAEL,WAAW;iBACR,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;gBACrB,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,CAAC;iBACT,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;gBACtB,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,gCAAgC;gBACpD,uCAAuC;gBACvC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpC,IAAI,OAAO;oBAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEL,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IACH,CAAC;IAED,uBAAuB;QACrB,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE;gBACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvD,CAAC;IACD,sBAAsB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAC3D,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;CACF;;YA5OgB,uEAAW;YACP,+EAAe;YACL,4FAAkB;YAC5B,sDAAQ;YACQ,4FAAkB;YACrB,yGAAoB;;AAvBzC,gBAAgB;IAL5B,+DAAS,CAAC;QACT,QAAQ,EAAE,aAAa;QACvB,wOAAuC;;KAExC,CAAC;mFAmBe,uEAAW;QACP,+EAAe;QACL,4FAAkB;QAC5B,sDAAQ;QACQ,4FAAkB;QACrB,yGAAoB;GAvBzC,gBAAgB,CA8P5B;AA9P4B;;;;;;;;;;;;;ACpB7B;AAAe,6GAA8C,2KAA2K,E;;;;;;;;;;;;;;;;;;ACAtL;AAEK;AAOvD,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAE3B,YAAmB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAEjD,IAAI,CAAC,IAAI,GAAG;YACR,OAAO,EAAE,wBAAwB;SACpC,CAAC;IACN,CAAC;IAED,QAAQ;IACR,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC;CAEJ;;YAdwC,mEAAgB;;AAF5C,kBAAkB;IAL9B,+DAAS,CAAC;QACP,QAAQ,EAAE,eAAe;QACzB,sPAAyC;;KAE5C,CAAC;mFAGuC,mEAAgB;GAF5C,kBAAkB,CAgB9B;AAhB8B;;;;;;;;;;;;;;;;;;ACTY;AAG3C,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAEzB;QACI,oBAAoB;QACpB,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC;IAClC,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,IAAI,GAAG,IAAI;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACnD,CAAC;CAEJ;AAnBY,gBAAgB;IAD5B,gEAAU,EAAE;;GACA,gBAAgB,CAmB5B;AAnB4B;;;;;;;;;;;;;ACH7B;AAAe,wEAAS,sBAAsB,qBAAqB,+BAA+B,GAAG,YAAY,8BAA8B,GAAG,cAAc,yCAAyC,2BAA2B,GAAG,mBAAmB,mBAAmB,gBAAgB,sBAAsB,2BAA2B,oBAAoB,qBAAqB,6BAA6B,iBAAiB,2BAA2B,iCAAiC,2BAA2B,2BAA2B,6EAA6E,GAAG,sBAAsB,gCAAgC,wBAAwB,GAAG,4BAA4B,mBAAmB,gBAAgB,sBAAsB,2BAA2B,oBAAoB,qBAAqB,6BAA6B,gBAAgB,gCAAgC,iCAAiC,gBAAgB,2BAA2B,6EAA6E,wBAAwB,GAAG,WAAW,8BAA8B,sBAAsB,gBAAgB,2BAA2B,yCAAyC,sDAAsD,kCAAkC,qBAAqB,oBAAoB,sBAAsB,2BAA2B,2BAA2B,GAAG,sCAAsC,qBAAqB,iBAAiB,GAAG,qBAAqB,uBAAuB,oBAAoB,gCAAgC,sBAAsB,2BAA2B,2BAA2B,GAAG,qBAAqB,uBAAuB,qBAAqB,oBAAoB,sBAAsB,2BAA2B,2BAA2B,6CAA6C,GAAG,gCAAgC,8BAA8B,GAAG,gBAAgB,yCAAyC,4BAA4B,GAAG,gBAAgB,mBAAmB,wBAAwB,GAAG,YAAY,qBAAqB,GAAG,cAAc,gBAAgB,wBAAwB,GAAG,eAAe,iBAAiB,GAAG,kBAAkB,iBAAiB,GAAG,cAAc,uBAAuB,mBAAmB,wBAAwB,sBAAsB,GAAG,iBAAiB,6BAA6B,qBAAqB,8BAA8B,GAAG,gBAAgB,eAAe,mBAAmB,mBAAmB,cAAc,GAAG,aAAa,oBAAoB,eAAe,gBAAgB,wBAAwB,GAAG,eAAe,oBAAoB,cAAc,gBAAgB,wBAAwB,GAAG,eAAe,oBAAoB,cAAc,gBAAgB,wBAAwB,gBAAgB,GAAG,sBAAsB,yCAAyC,GAAG,qBAAqB,8BAA8B,GAAG,gBAAgB,eAAe,GAAG,aAAa,eAAe,GAAG,uDAAuD,qBAAqB,GAAG,mBAAmB,yCAAyC,GAAG,6CAA6C,mhZAAmhZ,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA5pf;AAM1B;AACiB;AACF;AACwC;AACA;AACY;AAC9B;AACsB;AACnF,MAAM,IAAI,GAAG,mBAAO,CAAC,oEAAY,CAAC,CAAC;AACA;AAC2C;AACnC;AAEuC;AACT;AAC1C;AAC2B;AAE1D,IAAI,MAAM,GAAG,mBAAO,CAAC,oDAAW,CAAC,CAAC;AAQlC,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAoIpC,oDAAoD;IACpD,yBAAyB;IAEzB,YACU,EAAe,EACf,KAAa,EACb,kBAAsC,EACtC,kBAAsC,EACtC,oBAA0C,EAC1C,SAAmB,EACnB,YAAiC,EACjC,eAAgC;QAPhC,OAAE,GAAF,EAAE,CAAa;QACf,UAAK,GAAL,KAAK,CAAQ;QACb,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,cAAS,GAAT,SAAS,CAAU;QACnB,iBAAY,GAAZ,YAAY,CAAqB;QACjC,oBAAe,GAAf,eAAe,CAAiB;QA9I1C,SAAI,GAAG,IAAI,CAAC;QACZ,OAAE,GAAY,IAAI,CAAC;QACnB,OAAE,GAAY,KAAK,CAAC;QAIpB,QAAG,GAAG,0EAAG,CAAC;QACV,WAAM,GAAU,EAAE,CAAC;QAcnB,aAAQ,GAAG,gGAAiB,CAAC,QAAQ,CAAC;QACtC,cAAS,GAAG,gGAAiB,CAAC,SAAS,CAAC;QACxC,iBAAY,GAAG,gGAAiB,CAAC,YAAY,CAAC;QAG9C,cAAS,GAAY,KAAK,CAAC;QAK3B,MAAC,GAAW,CAAC,CAAC;QASd,UAAK,GAAW,CAAC,CAAC;QAKlB,gBAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAIzB,cAAS,GAAW,CAAC,CAAC;QAEtB,eAAU,GAAW,EAAE,CAAC;QACxB,eAAU,GAAW,EAAE,CAAC;QAOxB,mBAAc,GAAG,sFAA+B,CAAC;QAMjD,eAAU,GAAgB,EAAE,CAAC;QAC7B,eAAU,GAAG,EAAE,CAAC;QAIhB,gBAAW,GAAY,KAAK,CAAC;QAC7B,qBAAgB,GAAY,KAAK,CAAC;QAClC,qBAAgB,GAAY,KAAK,CAAC;QAClC,2BAAsB,GAAY,KAAK,CAAC;QACxC,uBAAkB,GAAY,KAAK,CAAC;QACpC,aAAQ,GAAY,KAAK,CAAC;QAgB1B,UAAK,GAAW,CAAC,CAAC;QAGlB,iBAAY,GAAQ,IAAI,CAAC;QAGzB,gBAAW,GAAY,KAAK,CAAC;QAC7B,QAAG,GAAQ,IAAI,CAAC;QAIhB,WAAM,GAAY,KAAK,CAAC;QACxB,uBAAkB,GAAQ,IAAI,CAAC;QAC/B,kCAA6B,GAAQ,IAAI,CAAC;QACb,QAAG,GAAG,IAAI,CAAC;QAExC,UAAK,GAAQ,EAAE,CAAC;QAMhB,cAAS,GAAG,KAAK,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,gBAAW,GAAY,KAAK,CAAC;QAC7B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;QACvB,mBAAc,GAAW,CAAC,CAAC;QAC3B,iBAAY,GAAW,CAAC,CAAC;QACzB,gBAAW,GAAW,CAAC,CAAC;QACxB,UAAK,GAAW,CAAC,CAAC;QAClB,yCAAoC,GAAkB,EAAE,CAAC;QACzD,+CAA0C,GAAyB,EAAE,CAAC;QAOtE,iBAAY,GAAW,IAAI,CAAC;QA6H5B,oBAAe,GAAG,IAAI,wDAAS,CAAC;YAC9B,kBAAkB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACzC,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC5B,kBAAkB,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAC9D,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACpD,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE;gBACnC,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;gBAC/C,yDAAU,CAAC,GAAG,CAAC,GAAG,CAAC;aACpB,CAAC;YACF,oBAAoB,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE;gBAC1C,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;gBAC/C,yDAAU,CAAC,GAAG,CAAC,GAAG,CAAC;aACpB,CAAC;YACF,mBAAmB,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE;gBACzC,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;gBAC/C,yDAAU,CAAC,GAAG,CAAC,GAAG,CAAC;aACpB,CAAC;YACF,gBAAgB,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YACrC,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAClC,kBAAkB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;SAC1C,CAAC,CAAC;QAEH,oBAAe,GAAG,IAAI,wDAAS,CAAC;YAC9B,kBAAkB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACzC,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC5B,iBAAiB,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAC7D,2BAA2B,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC/C,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;aAChD,CAAC;YACF,4BAA4B,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAChD,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;aAChD,CAAC;YACF,qBAAqB,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACjE,+BAA+B,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBACnD,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;aAChD,CAAC;YACF,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACnC,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACnC,oBAAoB,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBACxC,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;aAChD,CAAC;YACF,GAAG,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBACvB,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;aAChD,CAAC;YACF,qBAAqB,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;SAClE,CAAC,CAAC;QAEH,oBAAe,GAAG,IAAI,wDAAS,CAAC;YAC9B,kBAAkB,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACzC,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC5B,OAAO,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;SACpD,CAAC,CAAC;QA+gBH,aAAQ,GAAG;YACT,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;YACtB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;SACtB,CAAC;QA4tBF,aAAQ,GAAG,CAAC;YACX,uBAAuB;YACtB,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,6BAA6B;YAC7B,OAAO,UAAU,IAAI,EAAE,QAAQ;gBAC/B,sBAAsB;gBACpB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EACnB,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAC9B,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACzC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;gBACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACtB,CAAC,CAAC,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;QAv6CH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IACtD,CAAC;IAEK,QAAQ;;YACZ,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,YAAY,CAAC;YACxE,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC;YAChE,QAAQ;YACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;gBAC3B,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAC7C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAChB,CAAC;aACH;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC;YACzD,IAEE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;gBAC5D,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC,EAC5D;gBACA,IAAI,CAAC,sBAAsB,GAAE,IAAI,CAAC;aACnC;YAAA,CAAC;YACF,IACE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;gBAC5D,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;gBAC5D,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC,EAC5D;gBACA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;YACD,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;gBAC3B,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAC7C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,CAChB,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;gBACjE,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;oBAChC,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,mFAA4B,CAAC,UAAU,CACpE,CAAC,kBAAkB,CAAC;iBACtB;gBACD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAC7E,GAAG,CACJ,CAAC;gBACF,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;aAE5B;iBACI,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;gBAC3C,IAAI,CAAC,wBAAwB,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACnE,IAAI,UAAU,GAAW,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,wBAAwB,GAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,wBAAwB,CAAC;gBAC5C,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,KAAK,CAC9C,YAAY,CAAC,OAAO,CAAC,6BAA6B,CAAC,CACpD,CAAC;gBACF,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CACjC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAC1C,CAAC;gBACF,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;iBACI;gBACH,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,KAAK,CAC9C,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAC1C,CAAC;gBACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAClC;YAED,IACE,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;gBAC5D,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB;oBACnC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EACvC;gBACA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;iBAAM,IACL,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;gBAC3D,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;gBACvC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;oBAC3D,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EACvC;gBACA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;YACD,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACtD,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;oBAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;iBACvB;qBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;oBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;qBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;oBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;qBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;oBAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;YACH,QAAQ;YACR,IAAI,CAAC,wBAAwB,GAAI,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACpE,IAAI,UAAU,GAAW,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvE,IAAI,CAAC,wBAAwB,GAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,wBAAwB,CAAC;YAC9C,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAElD,uBAAuB;QACzB,CAAC;KAAA;IA+DD,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;aAAM,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;YAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;YAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;aAAM,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;YAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;aAAM;YACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;gBACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC;aAE/C;iBAAM;gBACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;oBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;iBACtD;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;iBACjC;aACF;YAED,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,mBAAmB,oBAAoB,IAAI,CAAC,QAAQ,EAAE,CAAC;iBAC1F,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,wBAAwB,WAAW,IAAI,CAAC,MAAM,EAAE,CAC3E;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,SAAS;;YACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAEvC,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE;gBAC3C,IACE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,IAAI;oBAClD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,IAAI;oBAClD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE;oBAChD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE,EAChD;oBACA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBAExB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB;wBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBAExB;gBACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,EAAE;oBACjD,IACE,IAAI,CAAC,gBAAgB;wBACrB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;4BAC3D,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC,CAAC;wBAE/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;yBAC5B,IACH,IAAI,CAAC,gBAAgB;wBACrB,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE;wBAChD,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;wBAE5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;iBAClC;aACF;YAED,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;gBACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC;gBAC9C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;aACpD;iBAAM;gBACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;oBACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;iBACtD;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;iBACjC;gBACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aAC3E;YACD,IAAI,CAAC,kBAAkB;iBACtB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kCAAkC,aAAa,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CACnI;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,MAAM,GAAG,QAAQ,IAAI,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE5C,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,sCAAsC,EAAE;oBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC9D,CAAC;oBACF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;iBACxD;gBAED,IAAI,IAAI,CAAC,WAAW,iBAAI,IAAI,CAAC,GAAG,0CAAG,CAAC,2CAAG,cAAc,GAAE;oBACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CACvD,IAAI,IAAI,CAAC;iBACX;gBAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE7C,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;QAEL,CAAC;KAAA;IAED,cAAc;QACZ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;QACD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,uBAAuB,oBAAoB,IAAI,CAAC,QAAQ,mBAAmB,IAAI,CAAC,UAAU,CAAC,cAAc;kBAClI,IAAI,CAAC,cAAc,wBAAwB,IAAI,CAAC,oBAAoB,EAAE,CACjF;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,mBAAmB,GAAO,IAAI,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAC1B,IAAI,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB,IAAI,mBAAmB,IAAI,IAAI,EAAE;4BAC3F,mBAAmB,GAAG,QAAQ,CAAC;4BAC/B,OAAO;yBACR;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;gBAC/C,gHAAgH;aACjH;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC9D,IAAI,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;QAE1D,IAAI,CAAC,SAAS,EAAE;YACd,gBAAgB,GAAG,gEAAgE,CAAC;YACpF,iBAAiB,GAAG,KAAK,CAAC;YAC1B,gBAAgB,GAAG,IAAI,CAAC;SACzB;aAAM;YACL,gBAAgB,GAAG,mEAAmE,CAAC;YACvF,iBAAiB,GAAG,KAAK,CAAC;YAC1B,gBAAgB,GAAG,KAAK,CAAC;SAC1B;QAED,mDAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,gBAAgB;YACtB,gBAAgB,EAAE,gBAAgB;YAClC,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,iBAAiB;YACpC,gBAAgB,EAAE,QAAQ;YAC1B,iBAAiB,EAAE,SAAS;YAC5B,kBAAkB,EAAE,SAAS;SAC9B,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,MAAM,CAAC,WAAW,EAAE;gBACtB,iCAAiC;gBACjC,IAAI,CAAC,SAAS,EAAE;oBACd,qCAAqC;oBACrC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC;iBACrD;qBAAM;oBACL,qCAAqC;oBACrC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;iBACpD;gBACD,wEAAwE;gBACxE,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;iBAAM;gBACL,iCAAiC;gBACjC,IAAI,CAAC,SAAS,EAAE;oBACd,0DAA0D;oBAC1D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;iBACpD;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;QACrD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,0CAA0C,sBAAsB,EAAE,oBAAoB,IAAI,CAAC,QAAQ,mBAAmB,IAAI,CAAC,UAAU,CAAC,cAAc;kBAC7K,IAAI,CAAC,cAAc,wBAAwB,IAAI,CAAC,oBAAoB,EAAE,CACjF;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;YACnC,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACzC,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;oBAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;wBAC1B,IAAG,QAAQ,CAAC,wBAAwB,IAAI,QAAQ,CAAC,wBAAwB,EAAE;4BACzE,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;4BAC/B,IAAI,IAAI,IAAI,IAAI,EAAE;gCAChB,IAAI,GAAG,QAAQ,CAAC;6BACjB;4BACD,OAAO;yBACR;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;iBACnC;aACF;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,IAAI,EAAE,MAAM;QAC3B,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,6BAA6B,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,4BAA4B,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;QACrD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACpD;aAAM;YACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;aACtD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACjC;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3E;QACD,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAEtD,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;QAC9D,IAAI,gBAAgB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;QACnE,IAAI,wBAAwB,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;QAE9D,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,yBAAyB,oBAAoB,IAAI,CAAC,QAAQ,mBAAmB,IAAI,CAAC,cAAc,mBAAmB,cAAc,qBAAqB,gBAAgB,6BAA6B,wBAAwB,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CAC9S;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAElC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACzC,IAAI,CAAC,kBAAkB,IAAI,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;oBACrD,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC;oBAChC,CAAC,CAAC,CAAC,CAAC;gBACR,IAAI,CAAC,6BAA6B,IAAI,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC;oBACtE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC;oBACtC,CAAC,CAAC,CAAC,CAAC;gBACR,IAAI,CAAC,4BAA4B,IAAI,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC;oBACtE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC;oBACvC,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,6BAA6B,GAAG,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,IAAI,CAAC,4BAA4B,GAAG,UAAU,CAAC,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;gBACvC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAC3D,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAC3D,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC1D,IAAI,EAAE,IAAI,SAAS,EAAE;oBACnB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;iBAC/B;gBACD,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAChC,OAAO,CAAC,0BAA0B,CACnC,CAAC;gBACF,IAAI,SAAS,IAAI,SAAS,EAAE;oBAC1B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,aAAa,CAAC;iBACrD;gBACD,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAC/B,OAAO,CAAC,8BAA8B,CACvC,CAAC;gBACF,IAAI,QAAQ,IAAI,SAAS,EAAE;oBACzB,OAAO,CAAC,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC;iBACxD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC9B,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC3C,gDAAgD;gBAChD,uCAAuC;aACxC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB,CAAC,QAAgB;QACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,iCAAiC,aAAa,QAAQ,EAAE,CAAC;iBAC5F,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CACR,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE;oBACxB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBACtC,IAAI,IAAI,IAAI,IAAI,CAAC,sBAAsB,EAAE;4BACvC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,CAAC;yBAC1D;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;iBACnC;qBAAM;oBACL,MAAM,CAAC,6CAA6C,CAAC,CAAC;iBACvD;YACH,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;gBAC9D,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,IAAS;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC9C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE;gBAC1C,CAAC,CAAC,IAAI,CAAC;oBACL,QAAQ;oBACR,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC;iBACtD,CAAC,CAAC;aACJ;YACD,OAAO,CAAC,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,qBAAqB,CAAC,EAAE;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,sBAAsB,mBAAmB,EAAE,EAAE,CACjF;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;aACvC;iBAAM;gBACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;oBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;iBACtD;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;iBACjC;aACF;YACD,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,oBAAoB,aAAa,IAAI,CAAC,QAAQ,EAAE,CAC3E;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yBAAyB;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;gBACtC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;aACpD;iBAAM;gBACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;oBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;iBACtD;qBAAM;oBACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;iBACjC;gBACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aAC3E;YACD,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,yBAAyB,oBAAoB,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CAC7I;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEC,GAAG,CAAE,KAAU;QACb,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACnB,IAAI,KAAK,IAAI,MAAM,EAAE;gBACnB,OAAO,KAAK,CAAC;aACd;iBACI,IAAI,KAAK,IAAI,QAAQ,EAAE;gBAC1B,OAAO,QAAQ,CAAC;aACjB;iBACI,IAAI,KAAK,IAAI,KAAK,EAAE;gBACvB,OAAO,OAAO,CAAC;aAChB;iBACI,IAAI,KAAK,IAAI,sBAAsB,EAAE;gBACxC,OAAO,SAAS,CAAC;aAClB;iBACI,IAAI,KAAK,IAAI,qBAAqB,EAAE;gBACvC,OAAO,SAAS,CAAC;aAClB;SAIF;aACI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;YACxB,IAAI,KAAK,IAAI,WAAW,EAAE;gBACxB,OAAO,OAAO,CAAC;aAChB;iBACI,IAAI,KAAK,IAAI,mBAAmB,EAAE;gBACrC,OAAO,KAAK,CAAC;aACd;iBACI,IAAI,KAAK,IAAI,QAAQ,EAAE;gBAC1B,OAAO,OAAO,CAAC;aAChB;iBACI,IAAI,KAAK,IAAI,cAAc,EAAE;gBAChC,OAAO,QAAQ,CAAC;aACjB;SACF;IACH,CAAC;IAEH,aAAa,CAAC,IAAY;QACxB,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC,IAAI,IAAI,CACpD,CAAC;QACF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,aAAa,CAAC,KAAc;QAC1B,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,KAAK,IAAI,KAAK,EAAE;YACzB,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAOD,SAAS,CAAC,IAAI;QACZ,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAC1D,IAAI,CAAC,kBAAkB,CACxB,CAAC;QACF,IAAI,EAAE,GAAQ,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC,KAAK,IAAI,CAAC,oBAAoB,CAC1E,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,KAAK,GAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CACrD,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAC5D,IAAI,CAAC,uBAAuB,CAC7B,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAC3D,IAAI,CAAC,sBAAsB,CAC5B,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CACxD,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CACnD,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAC3C,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAC1D,IAAI,CAAC,wBAAwB,CAC9B,CAAC;IACJ,CAAC;IAEK,cAAc,CAAC,IAAI;;YACvB,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;YAC9C,QAAQ;YACR,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,GAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aAE7E;iBAAK,IAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAC;gBACrD,IAAI,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,mBAAmB,GAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;aAEvE;iBAAI;gBACH,IAAI,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,mBAAmB,GAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;aACvE;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CACrD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,sBAAsB,KAAK,IAAI,CAAC,sBAAsB,CAChF,CAAC;YAEF,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,IAAI,KAAK,mBAAmB,EAAE;gBAEtE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAEjC;YAED,0CAA0C;YAC1C,8DAA8D;YAC9D,wDAAwD;YACxD,OAAO;YACP,IAAI;YACJ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAC1D,IAAI,CAAC,kBAAkB,CACxB,CAAC;YACF,IAAI,iBAAiB,GAAQ,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACzD,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,kCAAkC,KAAK,IAAI,CAAC,0BAA0B,CAC3E,CAAC;YAEN,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC5B,IAAK,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CACzD,qBAAqB,CACvB,CAAC;aACF;iBAAI;gBACH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CACzD,iBAAiB,CAAC,CAAC,CAAC,CACtB,CAAC;aACF;YAGG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CACnE,IAAI,CAAC,2BAA2B,CACjC,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CACpE,IAAI,CAAC,4BAA4B,CAClC,CAAC;YACF,IAAI,qBAAqB,GAAQ,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAC7D,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,kCAAkC;gBACpC,IAAI,CAAC,8BAA8B,CACtC,CAAC;YAEN,QAAQ;YAEJ,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,qBAAqB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAC7D,qBAAqB,CACvB,CAAC;aACF;iBAAI;gBACH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAC7D,qBAAqB,CAAC,CAAC,CAAC,CAC1B,CAAC;aACF;YACD,mEAAmE;YACnE,6BAA6B;YAC7B,KAAK;YACL,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CACvE,IAAI,CAAC,+BAA+B,CACrC,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAC5D,IAAI,CAAC,oBAAoB,CAC1B,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAC7D,IAAI,CAAC,qBAAqB,CAC3B,CAAC;QACJ,CAAC;KAAA;IAED,2BAA2B,CAAC,KAAK,EAAE,IAAI;QACrC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,kBAAkB,EAAE;gBACxD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,kCAAkC,CAAC,KAAK,EAAE,IAAI;QAC5C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,kBAAkB,EAAE;gBACxD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,iCAAiC,CAAC,KAAK,EAAE,IAAI;QAC3C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,CAAC,kBAAkB,EAAE;gBACxD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC;aAC7C;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,YAAY,CAAC,IAAI;;QACf,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,eAAe;YACf,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;gBACvD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;gBACvD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,sBAAsB,EAAE,CAAC;aAC/D;YACD,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,WAAI,CAAC,QAAQ,0CAAE,EAAE,KAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;gBACpF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC5D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACnE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACnE,IAAI,CAAC,eAAe;qBACjB,GAAG,CAAC,sBAAsB,CAAC;qBAC3B,sBAAsB,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;gBAClE,IAAI,CAAC,eAAe;qBACjB,GAAG,CAAC,qBAAqB,CAAC;qBAC1B,sBAAsB,EAAE,CAAC;aAC7B;YACD,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;gBAChC,OAAO;aACR;YAED,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,IAAI,IAAI,CAAC,kBAAkB,CAC7D,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;gBAC/D,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EACF,kCAAkC;wBAClC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa;wBACrB,eAAe;iBAClB,CAAC,CAAC;gBACH,OAAO;aACR;iBAAM,IACL,CAAC,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAClE;gBACA,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EACF,wCAAwC;wBACxC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa;wBACrB,eAAe;iBAClB,CAAC,CAAC;gBACH,OAAO;aACR;iBAAM,IACL,CAAC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EACjE;gBACA,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EACF,uCAAuC;wBACvC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa;wBACrB,eAAe;iBAClB,CAAC,CAAC;gBACH,OAAO;aACR;iBAAM;gBACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBAC5D,IAAI,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,EAAE;wBACvD,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;4BACtC,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;yBACxD;6BAAM;4BACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gCACrC,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;6BAC9D;iCAAM;gCACL,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;6BACzC;yBACF;wBACD,KAAK,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;wBACvD,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;4BAC9B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;yBAC5D;wBACD,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;4BAC1B,KAAK,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,kBAAkB;iCAClD,kCAAkC,CAAC;4BACtC,KAAK,CAAC,gBAAgB;gCACpB,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oCACxC,IAAI,CAAC,aAAa,IAAI,IAAI;wCACxB,CAAC,CAAC,IAAI;wCACN,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;4BAC3C,KAAK,CAAC,uBAAuB;gCAC3B,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oCACxC,IAAI,CAAC,oBAAoB,IAAI,IAAI;wCACjC,CAAC,CAAC,IAAI;wCACJ,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;4BAClD,KAAK,CAAC,sBAAsB;gCAC1B,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oCACxC,IAAI,CAAC,mBAAmB,IAAI,IAAI;wCAChC,CAAC,CAAC,IAAI;wCACJ,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;4BACjD,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;yBAChD;6BAAM;4BACL,KAAK,CAAC,0BAA0B;gCAC9B,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,CAAC;yBACtD;wBACD,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;wBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAClB,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;wBAC1C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;qBAC9B;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;aACJ;SACF;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE;YAClB,IACE,IAAI,CAAC,2BAA2B,IAAI,IAAI,CAAC,+BAA+B,EACxE;gBACA,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EACF,4GAA4G;iBAC/G,CAAC,CAAC;gBACH,OAAO;aACR;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5D,IAAI,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBACvD,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;wBACtC,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;qBACxD;yBAAM;wBACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;4BACrC,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;yBAC9D;6BAAM;4BACL,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;yBACzC;qBACF;oBACD,KAAK,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;oBACvD,KAAK,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,iBAAiB;yBACvD,kCAAkC,CAAC;oBACtC,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B;yBACjE,QAAQ,EAAE;yBACV,IAAI,EAAE,CAAC;oBACV,KAAK,CAAC,4BAA4B,GAAG,IAAI,CAAC,4BAA4B;yBACnE,QAAQ,EAAE;yBACV,IAAI,EAAE,CAAC;oBACV,KAAK,CAAC,8BAA8B,GAAG,CAAC,IAAI,CAAC,qBAAqB;yBAC/D,kCAAkC,CAAC;oBACtC,KAAK,CAAC,+BAA+B,GAAG,IAAI,CAAC,+BAA+B;yBACzE,QAAQ,EAAE;yBACV,IAAI,EAAE,CAAC;oBACV,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;oBACvC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;oBACvC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;yBACnD,QAAQ,EAAE;yBACV,IAAI,EAAE,CAAC;oBACV,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;oBACvC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;oBACzD,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;oBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClB,IAAI,CAAC,iCAAiC,GAAG,KAAK,CAAC;oBAC/C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;iBAC9B;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,aAAa,CAAC,IAAI;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5D,IAAI,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACvD,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC9B,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aACnB;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;YACtC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3E;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,yBAAyB,oBAAoB,IAAI,CAAC,oBAAoB,cAAc,IAAI,CAAC,MAAM,EAAE,EACpI,IAAI,CACL;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC/B,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC;oBACH,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,IAAS,EAAE,KAAc;QACjC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;SAChD;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;SACpC;IACH,CAAC;IAED,UAAU,CAAC,KAAU;QACnB,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B;;YAEC,IAAI,CAAC;gBACH,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,8DAA8D;aACrE,CAAC,CAAC;IAEP,CAAC;IAED,mBAAmB,CAAC,KAAU;QAC5B,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,cAAc,CAAC,IAAU;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;gBACtB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAqB,CAAC;gBACjD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EACzD,EAAE,CACH,CAAC;gBACF,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,0DAA0D;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,KAAK;;QACV,MAAM,IAAI,SAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,0CAAG,CAAC,CAAC,CAAC;QAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAEpF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,WAAgB,EAAE,EAAE;YAChD,IAAI,WAAW,KAAK,UAAU,EAAE;gBAEhC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAEvD,mBAAmB;gBACnB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE;oBAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,kBAAkB,GAAG,6BAA6B,CAAC;oBACxD,OAAO;iBACR;qBAAM;oBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAClD,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;wBACtD,IAAI,GAAG,GAAG;4BACR,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;4BAC3B,SAAS,EAAE,GAAG;yBACf,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACrB;oBACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;wBAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;qBAC9B;iBACF;aACF;iBAAM;gBACL,IAAI,CAAC;oBACH,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,8BAA8B;iBACrC,CAAC,CAAC;aAAG;QACR,CAAC,CAAC,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,OAAY;QACpC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAE3C,gDAAgD;QAChD,kDAAkD;QAClD,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAE9B,gCAAgC;QAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,8CAA8C;YAC9C,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC9B,+DAA+D;gBAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBAChF,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;oBACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACzB;YACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC;QAEF,gBAAgB;QAChB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAGD,qBAAqB,CAAC,GAAG,EAAE,GAAG;QAC9B,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAE5C,IAAI,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAEtD,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1D,CAAC;IAEC,SAAS;QACP,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;YACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;;YAEnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5E,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,yBAAyB,oBAAoB,IAAI,CAAC,oBAAoB,cAAc,IAAI,CAAC,MAAM,EAAE,EACpI,GAAG,CACJ;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC/B,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC;oBACH,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,GAAG,IAAI,mEAAgB,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,kBAAkB;aACpB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,CAAC;aAClF,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE;gBAClE,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7B;iBACI,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE;gBACvE,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;iBACI;gBACH,IAAI,CAAC;oBACH,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAET,CAAC;IAED,eAAe,CAAC,IAAa;QAC3B,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;YAC3B,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;SAC3C;aACI;YACH,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;SACtB;QACD,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,uBAC/B,aAAa,EAAE,mBAAmB,IAAI,oBAAoB,IAAI,CAAC,uBAAuB,CAAC,KAAK;kBAClF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CACjC;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;oBAC/B,OAAO,CAAC,EAAE,GAAG,eAAe,CAAC;iBAC9B;qBACI,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,EAAE;oBACpC,OAAO,CAAC,EAAE,GAAG,uBAAuB,CAAC;iBACtC;qBACI;oBACH,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;iBACnB;YACH,CAAC,CAAC,CAAC;YACH,6BAA6B;YAC7B,iCAAiC;YACjC,iCAAiC;YACjC,uCAAuC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,KAAY,EAAE,QAAgB;QACpC,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;gBAC5C,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,6BAA6B,EAAE;YACpD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,2BAA2B,IAAI,EAAE,EAAE;gBAChE,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,8BAA8B,EAAE;YACrD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,EAAE;gBACjE,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,iCAAiC,EAAE;YACxD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,+BAA+B,IAAI,EAAE,EAAE;gBACpE,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,cAAc,EAAE;YACrC,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE;gBACjD,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,cAAc,EAAE;YACrC,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE;gBACjD,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,sBAAsB,EAAE;YAC7C,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,IAAI,EAAE,EAAE;gBACzD,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,KAAK,EAAE;YAC5B,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE;gBACxC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,eAAe,EAAE;YACtC,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE;gBAClD,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,sBAAsB,EAAE;YAC7C,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,IAAI,EAAE,EAAE;gBACzD,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,QAAQ,IAAI,qBAAqB,EAAE;YAC5C,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,EAAE;gBACxD,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,sBAAsB,CAAC,IAAa;QAClC,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;YACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;;YAEnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5E,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QAC1C,IAAI,aAAa,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACpD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,aAAa,EAAE,oBAAoB,IAAI,CAAC,oBAAoB,sBAAsB,IAAI,CAAC,MAAM,kBAAkB,aAAa,EAAE,CACzK;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC;YAExB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE;gBAC9D,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAC5B,QAAQ,CAAC,MAAM,CAAC,YAAY,CAC7B,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAC3B,QAAQ,CAAC,MAAM,CAAC,WAAW,CAC5B,CAAC;iBACH;gBACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC;oBACH,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,iCAAiC;iBACxC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CAAC,KAAK;QAClB,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC1B,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC9B,8BAA8B;QAC9B,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtD,kDAAS,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,gBAAgB,GAAG,gCAAgC,CAAC;SAC1D;aACI;YACH,IAAI,CAAC,gBAAgB,GAAG,gCAAgC,CAAC;SAC1D;QACD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,cAC/B,aAAa,IAAI,CAAC,gBAAgB,qBAAqB,IAAI,CAAC,QAAQ,EAAE,CACvE;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC;YACxB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC/B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC5E;iBAAM;gBACL,IAAI,CAAC;oBACH,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,0BAA0B;iBACjC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAmBD,YAAY,CAAC,UAAU;QACrB,IAAI,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAClC;QACD,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACpD;aAAM;YACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;aACtD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACjC;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3E;QACD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,gBAAgB,oBAAoB,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,oBAAoB,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAC/J;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAO,GAAG,EAAE,EAAE,CAAC;YACxB,IAAI,QAAQ,GAAQ,GAAG,CAAC;YACxB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;gBAChE,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACvC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EACjF;oBACA,sBAAsB;oBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;qBAAM;oBACL,IAEE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE;wBAChD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE,EAChD;wBACA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;wBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBAExB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB;4BAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;qBAExB;yBACI,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;wBACnE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;yBAC5B,IACH,IAAI,CAAC,UAAU,CAAC,oBAAoB;wBACpC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;wBAE5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;yBAC5B,IACH,IAAI,CAAC,UAAU,CAAC,oBAAoB;wBACpC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;wBAC5D,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE;wBAEhD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;iBAClC;gBACD,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;iBAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;gBACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,QAAQ,CAAC,OAAO,IAAI,+BAA+B,EAAE;oBACvD,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,wBAAwB;wBACxB,IAAI,EAAE,QAAQ,CAAC,MAAM;qBACtB,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;oBAChC,yBAAyB;oBACxB,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,wBAAwB;wBACxB,IAAI,EACF,4DAA4D;4BAC5D,QAAQ,CAAC,MAAM,CAAC,sBAAsB;4BACtC,sBAAsB;4BACtB,QAAQ,CAAC,MAAM,CAAC,eAAe;4BAC/B,0BAA0B;4BAC1B,QAAQ,CAAC,MAAM,CAAC,MAAM;4BACtB,4BAA4B;4BAC5B,kCAAkC;4BAClC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB;4BAC5C,MAAM;4BACN,yCAAyC;4BACzC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B;4BACnD,MAAM;4BACN,wCAAwC;4BACxC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B;4BAClD,GAAG;qBACN,CAAC,CAAC;iBACJ;gBACD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;aACxB;iBAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,EAAE;gBAChE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,QAAQ,CAAC,OAAO,IAAI,8BAA8B,IAAI,QAAQ,CAAC,OAAO,IAAI,qBAAqB,EAAE;oBACnG,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,wBAAwB;wBACxB,IAAI,EAAE,QAAQ,CAAC,MAAM;qBACtB,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,EAAE;wBACnC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;wBACf,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;qBACjB;yBACI;wBACH,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;wBAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;qBAChB;oBACD,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;qBAavB,CAAC,CAAC;iBAEJ;gBAED,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;aAExB;iBAAM;gBACL,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;QACH,CAAC,EAAC,CAAC;IACP,CAAC;IACD,uBAAuB;QACrB,QAAQ;IAEV,CAAC;IACH,aAAa;QACX,QAAQ;QACR,YAAY,CAAC,OAAO,CAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB;aAChB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,2CAA2C,aAAa,IAAI,CAAC,QAAQ,mBAAmB,IAAI,CAAC,UAAU,CAAC,cAAc;0BAC7H,IAAI,CAAC,cAAc,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CACnF;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ;YACR,2BAA2B;YAC3B,IAAI,CAAC,oCAAoC;gBACvC,QAAQ,CAAC,oCAAoC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,YAAY,CAAC,OAAO,CAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,0CAA0C;gBAC7C,QAAQ,CAAC,0CAA0C,CAAC;YACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACnE,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,0CAA0C,CAChD,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,YAAY,CAAC,OAAO,CAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;YACjC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/B,YAAY,CAAC,OAAO,CAAC,cAAc,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAErE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,YAAY,CAAC,OAAO,CAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACzD,IACE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG;gBACnB,IAAI,CAAC,WAAW,IAAI,GAAG;gBACvB,IAAI,CAAC,UAAU,IAAI,GAAG;gBACtB,IAAI,CAAC,cAAc,IAAI,GAAG;gBAC1B,IAAI,CAAC,YAAY,IAAI,GAAG;gBACxB,IAAI,CAAC,WAAW,IAAI,GAAG;gBACvB,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAClB;gBACA,IAAI,CAAC,oBAAoB,GAAC,KAAK,CAAC;gBAChC,IAAI,CAAC,YAAY,GAAC,KAAK,CAAC;gBACxB,IAAI,CAAG,IAAI,CAAC,YAAY,IAAE,KAAK,CAAE,EAAE;oBACjC,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,sCAAsC;qBAC7C,CAAC,CAAC;iBACJ;aAEZ;iBAAI;gBACH,IAAI,CAAC,oBAAoB,GAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;QACO,CAAC,CAAC,CAAC;IACX,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,YAAY,CAAC,KAAU;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,KAAU;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,KAAU;QACzB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,KAAU;QACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,KAAU;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAU;QACf,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAChC,CAAC;QACF,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC1C,CAAC;IAEC,qBAAqB;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACpD;aAAM;YACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;aACtD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACjC;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3E;QAED,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kCAAkC,aAAa,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CACnI;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YAC3C,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,QAAQ;gBACR,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;gBACrF,QAAQ;gBACR,IACE,IAAI,CAAC,KAAK,IAAI,GAAG;oBACjB,IAAI,CAAC,WAAW,IAAI,GAAG;oBACvB,IAAI,CAAC,UAAU,IAAI,GAAG;oBACtB,IAAI,CAAC,cAAc,IAAI,GAAG;oBAC1B,IAAI,CAAC,YAAY,IAAI,GAAG;oBACxB,IAAI,CAAC,WAAW,IAAI,GAAG;oBACvB,IAAI,CAAC,KAAK,IAAI,GAAG,EAClB;oBACC,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC;iBACrB;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,8BAA8B;qBACrC,CAAC,CAAC;iBACJ;gBACF,8BAA8B;gBACzB,qCAAqC;gBACrC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;oBACnF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;qBAAM;oBACL,IACE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE;wBAChD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE,EAChD;wBACA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;wBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBAExB,IAAI,IAAI,CAAC,oBAAoB,CAAC,kBAAkB;4BAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACxB;yBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;wBACrE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;yBAC5B,IACH,IAAI,CAAC,UAAU,CAAC,oBAAoB;wBACpC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;wBAE5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;yBAC5B,IACH,IAAI,CAAC,UAAU,CAAC,oBAAoB;wBACpC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC;wBAC5D,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE;wBAEhD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;iBAClC;aACF;YAEC,SAAS;YACT,qBAAqB;YACrB,qDAAqD;YACrD,MAAM;YACR,kBAAkB;YAClB,WAAW;YACX,qBAAqB;YACrB,kDAAkD;YAClD,QAAQ;QACR,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,iBAAiB;QACf,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnD,kBAAkB;SACnB;aAAM;YACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;aACtD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACjC;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3E;QAED,4EAA4E;QAE5E,sFAAsF;QACtF,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpF,gGAAgG;QAChG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,QAAQ;QACR,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,IAAE,SAAS,EAAE;YAC1C,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;SAExE;aAAI;YACH,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;SAEpF;QACD,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEpC,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACtD,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACtD,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;YACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACpD;aAAM;YACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACrC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;aACtD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACjC;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3E;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,sCAAsC,CAAC;QAC5E,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,kBAAkB,oBAAoB,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,OAAO,oBAAoB,IAAI,CAAC,oBAAoB,gBAAgB,IAAI,CAAC,MAAM,EAAE,CACzL;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAO,GAAG,EAAE,EAAE,CAAC;YACxB,IAAI,QAAQ,GAAQ,GAAG,CAAC;YACxB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC/B,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACvC,IACE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE;oBAChD,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,EAAE,EAChD;oBACA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;iBACzB;gBACC,uBAAuB;gBACzB,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBAIf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC;oBACH,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;QACH,CAAC,EAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,EAAE;QACL,EAAE,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,IAAS,EAAE,MAAe;QACtC,IAAG,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE;YAC9B,IAAI,aAAa,GAAO,IAAI,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9B,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;gBAChC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;oBAC7B,IAAG,EAAE,CAAC,sBAAsB,IAAI,EAAE,EAAE;wBAClC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;wBAC/B,IAAI,aAAa,IAAI,IAAI,EAAE;4BACzB,aAAa,GAAG,OAAO,CAAC;4BAExB,IAAI,GAAG,aAAa,CAAC;yBACtB;wBACD,OAAO;qBACR;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,SAAS;;QAGP,IAAI,WAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,0CAAE,EAAE,KAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACvG,mEAAmE;YAEnE,0EAA0E;YAC1E,yEAAyE;YACzE,IAAI,WAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,0CAAE,EAAE,KAAI,CAAC,EAAE;gBAChD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;gBACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;aAC9D;iBACI;gBACH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAChE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACvE;SACF;aACI;YACH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;YACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC;gBAC3D,yDAAU,CAAC,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC;gBAClE,yDAAU,CAAC,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC;gBACjE,yDAAU,CAAC,QAAQ;aACpB,CAAC,CAAC;SACJ;IAOH,CAAC;IAID,uBAAuB;IACvB,+CAA+C;IAC/C,IAAI;IAEJ,8BAA8B;IAC9B,kDAAkD;IAClD,mDAAmD;IACnD,IAAI;IAEJ,UAAU,CAAC,KAAY;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;CACF;;YAr7De,0DAAW;YACR,sDAAM;YACO,4FAAkB;YAClB,4FAAkB;YAChB,wGAAoB;YAC/B,yDAAQ;YACL,gGAAmB;YAChB,uFAAe;;AA/I/B,yBAAyB;IALrC,+DAAS,CAAC;QACT,QAAQ,EAAE,sBAAsB;QAChC,iSAAgD;;KAEjD,CAAC;mFAyIc,0DAAW;QACR,sDAAM;QACO,4FAAkB;QAClB,4FAAkB;QAChB,wGAAoB;QAC/B,yDAAQ;QACL,gGAAmB;QAChB,uFAAe;GA/I/B,yBAAyB,CA6jErC;AA7jEqC;;;;;;;;;;;;;AChCtC;AAAe,wEAAS,sBAAsB,qBAAqB,+BAA+B,GAAG,YAAY,8BAA8B,GAAG,cAAc,yCAAyC,2BAA2B,GAAG,aAAa,oBAAoB,eAAe,gBAAgB,wBAAwB,kBAAkB,GAAG,eAAe,oBAAoB,cAAc,gBAAgB,wBAAwB,kBAAkB,GAAG,gBAAgB,qBAAqB,GAAG,gBAAgB,oBAAoB,eAAe,gBAAgB,wBAAwB,kBAAkB,GAAG,kBAAkB,oBAAoB,cAAc,gBAAgB,wBAAwB,kBAAkB,GAAG,gBAAgB,eAAe,GAAG,aAAa,eAAe,GAAG,gBAAgB,mBAAmB,wBAAwB,GAAG,WAAW,8BAA8B,sBAAsB,gBAAgB,2BAA2B,yCAAyC,sDAAsD,kCAAkC,qBAAqB,oBAAoB,sBAAsB,2BAA2B,2BAA2B,GAAG,sCAAsC,qBAAqB,iBAAiB,GAAG,qBAAqB,uBAAuB,oBAAoB,gCAAgC,sBAAsB,2BAA2B,2BAA2B,GAAG,qBAAqB,uBAAuB,qBAAqB,oBAAoB,sBAAsB,2BAA2B,2BAA2B,6CAA6C,GAAG,gCAAgC,8BAA8B,GAAG,6CAA6C,+rNAA+rN,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAv3Q;AAO1B;AACiB;AACF;AACwC;AACA;AAClB;AAIL;AAM2B;AACQ;AAC3F,MAAM,IAAI,GAAG,mBAAO,CAAC,oEAAY,CAAC,CAAC;AAC2C;AACnC;AAE8B;AAOzE,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IAmFpC,YACU,EAAe,EACf,KAAa,EACb,kBAAsC,EACtC,kBAAsC,EACtC,uBAAgD,EAChD,oBAA0C,EAC1C,SAAmB,EACnB,eAAgC;QAPhC,OAAE,GAAF,EAAE,CAAa;QACf,UAAK,GAAL,KAAK,CAAQ;QACb,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,cAAS,GAAT,SAAS,CAAU;QACnB,oBAAe,GAAf,eAAe,CAAiB;QA1F1C,OAAE,GAAY,KAAK,CAAC;QACpB,OAAE,GAAY,KAAK,CAAC;QACpB,OAAE,GAAY,KAAK,CAAC;QAIpB,6BAAwB,GAAU,EAAE,CAAC;QAErC,YAAO,GAAG,sFAAO,CAAC;QAElB,aAAQ,GAAG,gGAAiB,CAAC,QAAQ,CAAC;QACtC,sBAAiB,GAAG,gGAAiB,CAAC;QACtC,iBAAY,GAAG,gGAAiB,CAAC,YAAY,CAAC;QAC9C,qBAAgB,GAAG,gGAAiB,CAAC,UAAU,CAAC;QAChD,gBAAW,GAAG;YACZ,QAAQ,EAAE,mBAAmB;YAC7B,YAAY,EAAE,uBAAuB;SACtC,CAAC;QACF,iCAAiC;QACjC,QAAG,GAAG,0EAAG,CAAC;QAGV,gBAAW,GAAoB,EAAE,CAAC;QAElC,yCAAoC,GAAkB,EAAE,CAAC;QAEzD,+CAA0C,GAAyB,EAAE,CAAC;QAQtE,0CAA0C;QAC1C,iDAAiD;QACjD,UAAK,GAAW,CAAC,CAAC;QAClB,gBAAW,GAAY,KAAK,CAAC;QAC7B,uBAAkB,GAAY,KAAK,CAAC;QACpC,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;QACvB,mBAAc,GAAW,CAAC,CAAC;QAC3B,iBAAY,GAAW,CAAC,CAAC;QACzB,gBAAW,GAAW,CAAC,CAAC;QACxB,UAAK,GAAW,CAAC,CAAC;QAClB,gBAAW,GAAU,EAAE,CAAC;QACxB,oBAAoB;QACpB,gBAAW,GAAU,EAAE,CAAC;QAIxB,UAAK,GAAW,CAAC,CAAC;QAElB,aAAQ,GAAY,KAAK,CAAC;QAI1B,mBAAc,GAAG,sFAA+B,CAAC;QAMjD,eAAU,GAAgB,EAAE,CAAC;QAC7B,eAAU,GAAG,EAAE,CAAC;QAchB,sBAAiB,GAAW,CAAC,CAAC;QAC9B,6BAAwB,GAAW,CAAC,CAAC;QACrC,eAAU,GAAW,CAAC,CAAC;QAqUvB,yBAAoB,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,wBAAwB,GAAG;gBAC9B;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,oBAAoB;4BACjC,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,uBAAuB;4BAC7B,KAAK,EAAE,uBAAuB;4BAC9B,WAAW,EAAE,qBAAqB;4BAClC,UAAU,EAAE,eAAe;yBAC5B;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,WAAW;4BACjB,KAAK,EAAE,WAAW;4BAClB,WAAW,EAAE,cAAc;4BAC3B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,gBAAgB;4BAC7B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,6BAA6B;4BACpC,WAAW,EAAE,oBAAoB;4BACjC,UAAU,EAAE,eAAe;yBAC5B;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,UAAU;4BACjB,WAAW,EAAE,cAAc;4BAC3B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,eAAe;4BAC5B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,6BAA6B;4BACpC,WAAW,EAAE,mBAAmB;4BAChC,UAAU,EAAE,eAAe;yBAC5B;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,cAAc;4BACpB,KAAK,EAAE,cAAc;4BACrB,WAAW,EAAE,cAAc;4BAC3B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,mBAAmB;4BAChC,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,6BAA6B;4BACpC,WAAW,EAAE,uBAAuB;4BACpC,UAAU,EAAE,eAAe;yBAC5B;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,WAAW;4BACjB,KAAK,EAAE,WAAW;4BAClB,WAAW,EAAE,cAAc;4BAC3B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,gBAAgB;4BAC7B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,6BAA6B;4BACpC,WAAW,EAAE,oBAAoB;4BACjC,UAAU,EAAE,eAAe;yBAC5B;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,UAAU;4BAChB,KAAK,EAAE,UAAU;4BACjB,WAAW,EAAE,cAAc;4BAC3B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,eAAe;4BAC5B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,6BAA6B;4BACpC,WAAW,EAAE,mBAAmB;4BAChC,UAAU,EAAE,eAAe;yBAC5B;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,2BAA2B;4BACjC,KAAK,EAAE,2BAA2B;4BAClC,WAAW,EAAE,cAAc;4BAC3B,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,8BAA8B;4BAC3C,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,6BAA6B;4BACnC,KAAK,EAAE,6BAA6B;4BACpC,WAAW,EAAE,aAAa;4BAC1B,UAAU,EAAE,UAAU;yBACvB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,WAAM,GAAG,GAAG,EAAE;YACZ,IAAI,CAAC,WAAW,GAAG;gBACjB;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,oBAAoB;4BACjC,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,uBAAuB;4BAC7B,KAAK,EAAE,uBAAuB;4BAC9B,WAAW,EAAE,WAAW;4BACxB,UAAU,EAAE,UAAU;yBACvB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,WAAM,GAAG,GAAG,EAAE;YACZ,IAAI,CAAC,WAAW,GAAG;gBACjB;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,oBAAoB;4BACjC,UAAU,EAAE,WAAW;yBACxB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;gBACD;oBACE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,kBAAkB;4BACxB,KAAK,EAAE,kBAAkB;4BACzB,WAAW,EAAE,WAAW;4BACxB,UAAU,EAAE,UAAU;yBACvB;qBACF;oBACD,mBAAmB,EAAE,OAAO;oBAC5B,WAAW,EAAE,OAAO;iBACrB;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,oBAAe,GAAG,IAAI,wDAAS,CAAC;YAC9B,uBAAuB,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC3C,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;aAChD,CAAC;YACF,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE;gBAC7B,yDAAU,CAAC,QAAQ;gBACnB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB;gBAC/C,yDAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aAC5C,CAAC;YACF,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC5B,WAAW,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAClC,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACpC,MAAM,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC7B,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;QA9mBD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEK,QAAQ;;YACZ,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,YAAY,CAAC;YACxE,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC;YAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;gBAC3B,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAC7C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,CAChB,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;gBACjE,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;oBAChC,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,mFAA4B,CAAC,UAAU,CACpE,CAAC,kBAAkB,CAAC;iBACtB;gBACD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAC7E,GAAG,CACJ,CAAC;gBACF,YAAY,CAAC,OAAO,CAAC,6BAA6B,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBAEzG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/C,uBAAuB;gBACvB,mBAAmB;aACpB;iBAAM,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;gBAC7C,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAC7C,IAAI,CAAC,wBAAwB,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACnE,IAAI,CAAC,0BAA0B,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACvE,oEAAoE;gBACpE,sCAAsC;gBACtC,2DAA2D;gBAC3D,aAAa;gBACb,qEAAqE;gBACrE,0BAA0B;gBAC1B,IAAI;gBACJ,WAAW;gBACX,8EAA8E;gBAC9E,uGAAuG;gBACvG,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,KAAK,CAC9C,YAAY,CAAC,OAAO,CAAC,6BAA6B,CAAC,CACpD,CAAC;gBACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CACjC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAC1C,CAAC;gBACF,GAAG;gBACH,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;iBAAM;gBACL,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,KAAK,CAC9C,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAC1C,CAAC;gBACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC9D,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aAChD;YACD,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACtD,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;oBAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;iBACvB;qBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;oBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;qBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;oBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;qBAAM,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;oBAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;gBACtB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;aAChB;iBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;gBAC7B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;aAChB;iBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;gBAC7B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;aAChB;YACD;;eAEG;QACL,CAAC;KAAA;IAED,mBAAmB,CAAC,QAAgB;QAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,+BAA+B;YAC/B,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,mBAAmB,oBAAoB,QAAQ,EAAE,CAAC;iBAErF,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,QAAQ;QACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,yBAAyB;iBAChC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,yBAAyB;iBAChC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC;gBACH,IAAI,EACF,sHAAsH;gBACxH,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,WAAW;wBACtB,UAAU,EAAE,IAAI;qBACjB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,YAAY;wBACvB,UAAU,EAAE,IAAI;qBACjB;iBACF;aACF,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACpB,IAAI,SAAS,EAAE;oBACb,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;oBACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;oBACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,mCAAmC;oBACnC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;oBAChB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;oBAChB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;wBAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;wBACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACzC,uBAAuB;qBACxB;yBAAM,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;wBAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;qBAClB;;wBAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IACE,IAAI,CAAC,KAAK,KAAK,GAAG;gBAClB,IAAI,CAAC,WAAW,KAAK,GAAG;gBACxB,IAAI,CAAC,UAAU,KAAK,GAAG;gBACvB,IAAI,CAAC,cAAc,KAAK,GAAG;gBAC3B,IAAI,CAAC,YAAY,KAAK,GAAG;gBACzB,IAAI,CAAC,WAAW,KAAK,GAAG;gBACxB,IAAI,CAAC,KAAK,KAAK,GAAG,EAClB;gBACA,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,yCAAyC;iBAChD,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,yBAAyB;iBAChC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC;gBACH,IAAI,EACF,uHAAuH;gBACzH,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,WAAW;wBACtB,UAAU,EAAE,IAAI;qBACjB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,YAAY;wBACvB,UAAU,EAAE,IAAI;qBACjB;iBACF;aACF,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACpB,IAAI,SAAS,EAAE;oBACb,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;oBACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,sBAAsB;oBACtB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;oBAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;oBAChB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;wBAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;wBACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACzC,uBAAuB;qBACxB;oBACD,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;wBAAE,IAAI,CAAC,SAAS,EAAE,CAAC;;wBACpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBAC/C;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IACE,IAAI,CAAC,KAAK,KAAK,GAAG;gBAClB,IAAI,CAAC,WAAW,KAAK,GAAG;gBACxB,IAAI,CAAC,UAAU,KAAK,GAAG;gBACvB,IAAI,CAAC,cAAc,KAAK,GAAG;gBAC3B,IAAI,CAAC,YAAY,KAAK,GAAG;gBACzB,IAAI,CAAC,WAAW,KAAK,GAAG;gBACxB,IAAI,CAAC,KAAK,KAAK,GAAG,EAClB;gBACA,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,yCAAyC;iBAChD,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,yBAAyB;iBAChC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC;gBACH,IAAI,EACF,uHAAuH;gBACzH,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,WAAW;wBACtB,UAAU,EAAE,IAAI;qBACjB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,SAAS,EAAE,YAAY;wBACvB,UAAU,EAAE,IAAI;qBACjB;iBACF;aACF,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACpB,IAAI,SAAS,EAAE;oBACb,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;oBAChB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;oBAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;oBACf,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;wBAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;wBACpC,uBAAuB;wBACvB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;qBAC1C;oBACD,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;wBAAE,IAAI,CAAC,SAAS,EAAE,CAAC;;wBACpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBAC/C;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAyTD,iBAAiB;QACf,WAAW;QACX,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,uBAAuB;QACvB,mBAAmB;IACrB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,wBAAwB,WAAW,MAAM,EAAE,CACtE;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,2CAA2C;gBAC3C,mBAAmB;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,sBAAsB;QACtB;;2BAEmB;QACnB,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAE1D,IAAI,UAAU,GAAW,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACpD;aAAM;YACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;aAClE;iBAAM;gBACL,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aAC7C;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3E;QACD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kCAAkC,aAAa,IAAI,CAAC,WAAW,CAAC,QAAQ,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CAC/I;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,IAAI,CAAC,EAAE,EAAE;gBACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;YACD,mCAAmC;YACnC,8EAA8E;YAC9E,iEAAiE;YACjE,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;QACX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;gBACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;aACzB;YACD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;gBACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;aACzB;YACD,QAAQ;YACR,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;gBACtC,+DAA+D;gBAC/D,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;gBAC3D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;aACpD;iBAAM;gBACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;oBACrC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;iBAClE;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;iBAC7C;gBACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aAC3E;YACD,kDAAkD;YAClD,8CAA8C;YAC9C,2EAA2E;YAE3E,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAEjE,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,2CAA2C,aAAa,IAAI,CAAC,WAAW,CAAC,QAAQ,mBAAmB,IAAI,CAAC,WAAW,CAAC,cAAc;0BAC1I,IAAI,CAAC,cAAc,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CACnF;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,2BAA2B;gBAC3B,IAAI,CAAC,oCAAoC;oBACvC,QAAQ,CAAC,oCAAoC,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACxB,YAAY,CAAC,OAAO,CAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,0CAA0C;oBAC7C,QAAQ,CAAC,0CAA0C,CAAC;gBACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACnE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACnE,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,0CAA0C,CAChD,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC9B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,YAAY,CAAC,OAAO,CAAC,YAAY,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;gBACjC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC/B,YAAY,CAAC,OAAO,CAAC,cAAc,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC9B,YAAY,CAAC,OAAO,CAAC,aAAa,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAErE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACxB,YAAY,CAAC,OAAO,CAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEzD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAU;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,KAAU;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,KAAU;QACzB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,KAAU;QACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,KAAU;QACrB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAU;QACf,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAChC,CAAC;QACF,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC1C,CAAC;IAED,cAAc,CAAC,IAAI,EAAE,KAAa,EAAE,IAAa;QAC/C,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAC/D,IAAI,CAAC,WAAW,CACjB,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;aAAM;YACL,IACE,IAAI,CAAC,iBAAiB,IAAI,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,IAAI,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,IAAI,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAC3B;gBACA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAC/D,IAAI,CAAC,QAAQ,CACd,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAC/D,IAAI,CAAC,aAAa,CACnB,CAAC;aACH;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAChC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,cAAc,CAAC,IAAI,EAAE,KAAa;QAChC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED,cAAc,CAAC,IAAI,EAAE,KAAa;QAChC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,QAAQ,CAAC,IAAI;QACX,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,IAAI;QACd,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,oCAAoC,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CACrH,CAAC;YACF,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,6BAA6B;iBACpC,CAAC,CAAC;gBACH,OAAO;aACR;YACD,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAC1F,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACb,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,EAAE;oBACrD,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;oBACrC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBAC5C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC;oBACjD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;oBACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBACxB,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;wBACpB,IAAI,CAAC;4BACH,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,2BAA2B;yBAClC,CAAC,CAAC;wBACH,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;wBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;wBACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;wBACxB,SAAS;qBACV;iBACF;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;QACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,EAAE;gBAC5H,IAAI,GAAG,IAAI,CAAC,0CAA0C,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,wBAAwB,KAAK,IAAI,CAAC,wBAAwB;oBACrH,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChG,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,yBAAyB;qBAChC,CAAC,CAAC;oBACH,OAAO;iBACR;aACF;iBACI;gBACH,IAAI,GAAG,IAAI,CAAC,0CAA0C,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,IAAI,CAAC,iBAAiB;oBACnD,CAAC,CAAC,wBAAwB,KAAK,IAAI,CAAC,wBAAwB,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnI,IAAI,IAAI,KAAK,SAAS,EAAE;oBACtB,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,8BAA8B;qBACrC,CAAC,CAAC;oBACH,OAAO;iBACR;aACF;YACD,IAAI,CAAC,0CAA0C,GAAG,IAAI,CAAC,0CAA0C,CAAC,MAAM,CACtG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACb,IACE,KAAK,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB;oBAC/D,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EACnC;oBACA,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;oBACrC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBAC5C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;oBAC1C,IACE,KAAK,CAAC,iBAAiB,IAAI,CAAC;wBAC5B,KAAK,CAAC,iBAAiB,IAAI,CAAC;wBAC5B,KAAK,CAAC,iBAAiB,IAAI,CAAC;wBAC5B,KAAK,CAAC,iBAAiB,IAAI,CAAC,EAC5B;wBACA,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC;qBAC/C;yBAAM;wBACL,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC;qBACpD;oBACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACnE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACnE,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,0CAA0C,CAChD,CAAC;oBACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;oBAC7D,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;wBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC9B,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;4BAC1B,IAAI,CAAC;gCACH,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,iCAAiC;6BACxC,CAAC,CAAC;4BACH,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;4BAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;4BAC9B,SAAS;yBACV;qBACF;oBACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC7B,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;4BACzB,IAAI,CAAC;gCACH,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,gCAAgC;6BACvC,CAAC,CAAC;4BACH,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;4BAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;4BACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;4BAC7B,SAAS;yBACV;qBACF;oBACD,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;wBACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;wBACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;wBACjC,IAAI,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE;4BAC7B,IAAI,CAAC;gCACH,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,oCAAoC;6BAC3C,CAAC,CAAC;4BACH,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;4BAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;4BACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;4BACjC,SAAS;yBACV;qBACF;oBACD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;wBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;wBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC/B,IAAI,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE;4BAC3B,IAAI,CAAC;gCACH,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,kCAAkC;6BACzC,CAAC,CAAC;4BACH,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;4BAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;4BAC/B,SAAS;yBACV;qBACF;oBACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;wBAC9B,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE;4BAC1B,IAAI,CAAC;gCACH,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,iCAAiC;6BACxC,CAAC,CAAC;4BACH,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;4BAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;4BACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;4BAC9B,SAAS;yBACV;qBACF;oBACD,IAAI,IAAI,CAAC,2BAA2B,IAAI,IAAI,EAAE;wBAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;wBAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;wBACxB,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;4BACpB,IAAI,CAAC;gCACH,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,2BAA2B;6BAClC,CAAC,CAAC;4BACH,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;4BAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;4BAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;4BACxB,SAAS;yBACV;qBACF;iBACF;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;YAEF,sFAAsF;YACtF,kDAAkD;YAClD,0BAA0B;YAC1B,iBAAiB;YACjB,MAAM;YACN,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;SACjC;QACD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,IAAI;QACd,IAAI,IAAI,GAAG,IAAI,CAAC,oCAAoC,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CACrH,CAAC;QACF,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,IAAI,CAAC;gBACH,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,6BAA6B;aACpC,CAAC,CAAC;YACH,OAAO;SACR;QACD,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAC1F,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACb,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;gBACzC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;gBACrC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC5C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBACjD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACxB,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;oBACpB,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,2BAA2B;qBAClC,CAAC,CAAC;oBACH,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;oBACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBACxB,SAAS;iBACV;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,IAAI;QACd,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAChE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACb,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;gBACrC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC5C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBAC5C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACxB,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;oBACpB,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,2BAA2B;qBAClC,CAAC,CAAC;oBACH,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBACxB,SAAS;iBACV;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,IAAI,GAAG,GAAG;YACR,oCAAoC,EAAE,IAAI;iBACvC,oCAAoC;YACvC,0CAA0C,EAAE,IAAI;iBAC7C,0CAA0C;SAC9C,CAAC;QAEF,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IACE,IAAI,CAAC,KAAK,IAAI,GAAG;gBACjB,IAAI,CAAC,WAAW,IAAI,GAAG;gBACvB,IAAI,CAAC,UAAU,IAAI,GAAG;gBACtB,IAAI,CAAC,cAAc,IAAI,GAAG;gBAC1B,IAAI,CAAC,YAAY,IAAI,GAAG;gBACxB,IAAI,CAAC,WAAW,IAAI,GAAG;gBACvB,IAAI,CAAC,KAAK,IAAI,GAAG,EACjB;gBACA,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;oBACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;;oBAEnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC5E,IAAI,CAAC,kBAAkB;qBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,4CAA4C,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,EAClH,GAAG,CACJ;qBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;qBACb,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;oBAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;oBACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;wBAC/B,IAAI,CAAC;4BACH,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,sBAAsB;yBAC7B,CAAC,CAAC;wBACH,2BAA2B;wBAC3B,eAAe;wBACf,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;wBACtB,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;wBACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,sBAAsB;wBACtB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;wBAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;wBACf,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;wBAChB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;4BAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;4BACpC,uBAAuB;4BACvB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;yBAC1C;wBACD,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;4BAAE,IAAI,CAAC,SAAS,EAAE,CAAC;;4BACpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;qBAC/C;yBAAM;wBACL,IAAI,CAAC;4BACH,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,QAAQ,CAAC,OAAO;yBACvB,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACN;iBAAM;gBACL,YAAY,CAAC,OAAO,CAClB,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtB,CAAC;gBACF,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,4CAA4C;iBACnD,CAAC,CAAC;aACJ;SACF;QAED,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;gBACrB,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;oBACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;;oBAEnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC5E,IAAI,CAAC,kBAAkB;qBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,4CAA4C,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,EAClH,GAAG,CACJ;qBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;qBACb,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;oBAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;oBACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;wBAC/B,IAAI,CAAC;4BACH,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,sBAAsB;yBAC7B,CAAC,CAAC;wBACH,2BAA2B;wBAC3B,eAAe;wBACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACrB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;wBAChB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;wBAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;wBACf,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;4BAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;4BAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;4BACpC,uBAAuB;4BACvB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;yBAC1C;wBACD,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;4BAAE,IAAI,CAAC,SAAS,EAAE,CAAC;;4BACpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC9C,yBAAyB;wBACzB;;;;0BAIE;wBACF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;qBAC1C;yBAAM;wBACL,IAAI,CAAC;4BACH,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,QAAQ,CAAC,OAAO;yBACvB,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;aACN;iBAAM;gBACL,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,+BAA+B;iBACtC,CAAC,CAAC;aACJ;SACF;QAED,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;gBACnB,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;oBACrB,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;wBACpC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC;;wBAEnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC5E,IAAI,CAAC,kBAAkB;yBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,yBAAyB,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,EAC/F,IAAI,CAAC,uBAAuB,CAC7B;yBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;yBACb,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;wBAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;4BAC/B,IAAI,CAAC;gCACH,IAAI,EAAE,SAAS;gCACf,IAAI,EAAE,QAAQ,CAAC,OAAO;6BACvB,CAAC,CAAC;4BACH,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;gCAC1B,yCAAyC;gCACzC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gCACpC,4DAA4D;gCAC5D,YAAY,CAAC,OAAO,CAClB,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACrB,CAAC;gCACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;6BACnD;iCAAM,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB,EAAE;gCAC7C,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gCACpC,4DAA4D;gCAC5D,YAAY,CAAC,OAAO,CAClB,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACrB,CAAC;gCACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;6BACjD;iCAAM;gCACL,mBAAmB;gCACnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;6BAC1C;yBACF;6BAAM;4BACL,IAAI,CAAC;gCACH,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ,CAAC,OAAO;6BACvB,CAAC,CAAC;yBACJ;oBACH,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACL,YAAY,CAAC,OAAO,CAClB,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtB,CAAC;oBACF,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,+BAA+B;qBACtC,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,YAAY,CAAC,OAAO,CAClB,wBAAwB,EACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACtB,CAAC;gBACF,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,yBAAyB;iBAChC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,OAAO,CAAC,KAAY;QAClB,IACE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,uBAAuB,IAAI,IAAI;YAC1D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,uBAAuB,IAAI,EAAE,EACxD;YACA,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,aAAa,CAAC,IAAS;QACrB,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC9C;IACH,CAAC;CACF;;YAv0Ce,0DAAW;YACR,sDAAM;YACO,4FAAkB;YAClB,4FAAkB;YACb,2FAAuB;YAC1B,yGAAoB;YAC/B,yDAAQ;YACF,uFAAe;;AA3F/B,yBAAyB;IALrC,+DAAS,CAAC;QACT,QAAQ,EAAE,sBAAsB;QAChC,iSAAgD;;KAEjD,CAAC;mFAqFc,0DAAW;QACR,sDAAM;QACO,4FAAkB;QAClB,4FAAkB;QACb,2FAAuB;QAC1B,yGAAoB;QAC/B,yDAAQ;QACF,uFAAe;GA3F/B,yBAAyB,CA25CrC;AA35CqC;;;;;;;;;;;;;ACnCtC;AAAA;AAAA;AAAO,MAAM,UAAU;IAAvB;QAGQ,iBAAY,GAAY,EAAE,CAAC;QAC3B,aAAQ,GAAY,EAAE,CAAC;QACvB,eAAU,GAAW,EAAE,CAAC;QAKxB,wBAAmB,GAAW,EAAE,CAAC;IACzC,CAAC;CAAA;AAEM,MAAM,gBAAgB;IAA7B;QAQQ,eAAU,GAAW,EAAE,CAAC;QAExB,eAAU,GAAW,EAAE,CAAC;IAChC,CAAC;CAAA;;;;;;;;;;;;;;;;;;;;ACxB0C;AACoB;AAGF;AAE7D,0DAA0D;AAC1D,wBAAwB;AACxB,iCAAiC;AACjC,6CAA6C;AAC7C,SAAS;AACT,KAAK;AAKL,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAkBlC,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAdpC,WAAM,GAAU,EAAE,CAAC;QAWnB,QAAG,GAAG,0EAAG,CAAC;IAG8B,CAAC;IAEzC,UAAU,CAAC,OAAmB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAa,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IACpG,CAAC;IAEC,WAAW,CAAC,GAAQ;QAClB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,GAAQ;QAChB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IACpB,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,eAAe,CAAC,GAAW;QACzB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACvB,CAAC;IACD,eAAe;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,gCAAgC;IAChC,2BAA2B;IAC3B,IAAI;IACJ,oBAAoB;IACpB,4BAA4B;IAC5B,IAAI;IAEJ,2BAA2B;IAC3B,0BAA0B;IAC1B,IAAI;IACJ,oBAAoB;IACpB,2BAA2B;IAC3B,IAAI;IAEJ,kBAAkB,CAAC,IAAa;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,mBAAmB;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,oBAAoB,CAAC,IAAa;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IACD,qBAAqB;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,qBAAqB,CAAC,IAAa;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,sBAAsB;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,iBAAiB,CAAC,IAAa;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,yBAAyB,CAAC,IAAa;QACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IACD,0BAA0B;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,sBAAsB,CAAC,IAAa;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IACD,uBAAuB;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,gBAAgB,CAAC,GAAQ,EAAE,IAAa;QACtC,IAAI,CAAC,aAAa,GAAG;YACnB,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,IAAI;SACX;IACH,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,iBAAiB,CAAC,IAAS;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF;;YA3G2B,+DAAU;;AAlBzB,uBAAuB;IAHnC,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;mFAmB0B,+DAAU;GAlBzB,uBAAuB,CA6HnC;AA7HmC;;;;;;;;;;;;;AChBpC;AAAe,6GAA8C,+MAA+M,E;;;;;;;;;;;;;;;;;;;;;ACApN;AAC2B;AAC5C;AACsB;AACK;AAQlE,IAAa,0BAA0B;AADvC,6BAA6B;AAC7B,MAAa,0BAA0B;IAcrC,YAAoB,kBAAsC,EAAS,SAAuB;QAAtE,uBAAkB,GAAlB,kBAAkB,CAAoB;QAAS,cAAS,GAAT,SAAS,CAAc;QAV1F,QAAG,GAAG,0EAAG,CAAC;QAqGV,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG;gBACV,EAAE,KAAK,EAAE,iCAAiC,EAAE,MAAM,EAAE,0BAA0B,EAAE;gBAChF,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE;gBACjD,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,wBAAwB,EAAE;gBAC7D,EAAE,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,+BAA+B,EAAE;gBAC9E,EAAE,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,8BAA8B,EAAE;aAE9E,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG;gBACd,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE;gBAC5C,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,aAAa,EAAE;aACzD,CAAC;QAEJ,CAAC,CAAC;IAzG4F,CAAC;IAE/F,QAAQ;QACN,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,IAAI,CAAC,sCAAsC,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,wBAAwB,CAAC,YAAY,IAAI,IAAI,EAAE;YACtD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;aACI;YACH,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,uBAChC,oBAAoB,IAAI,CAAC,wBAAwB,CAAC,EAAE,mBAAmB,IAAI,CAAC,wBAAwB,CAAC,eAAe;kBACzG,IAAI,CAAC,cAAc,wBAAwB,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAC5F;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,WAAW,EAAE,UAAU;gBACvB,iBAAiB,EAAE,CAAC;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;QAEnB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;QACrD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,0CAChC,sBAAsB,EAAE,oBAAoB,IAAI,CAAC,wBAAwB,CAAC,EAAE,mBAAmB,IAAI,CAAC,wBAAwB,CAAC,eAAe;kBACjI,IAAI,CAAC,cAAc,wBAAwB,IAAI,CAAC,wBAAwB,CAAC,KAAK,gBAAgB,CAC1G;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;YACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC3B,aAAa,EAAE,UAAU;gBACzB,wBAAwB,EAAE,CAAC;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAEnE,OAAO,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,wBAAwB,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,IAAI,CAAC,EAAE;gBACnD,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;iBACI;gBACH,IAAI,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,IAAI,CAAC,EAAE;oBACjE,IAAI,CAAC,YAAY,EAAE,CAAC;iBACrB;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sCAAsC;QACpC,IAAI,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC1C,IAAI,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC;QACpE,IAAI,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;QAChD,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,wBAAwB,GAAG,CAAC,CAAC;QACjC,IAAI,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC;QAC9D,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,mCACnB,aAAa,EAAE,oBAAoB,eAAe,sBAAsB,iBAAiB,6BAA6B,wBAAwB,iBAAiB,YAAY,SAAS,KAAK,EAAE,CAC5L;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,8BAA8B,GAAG,QAAQ;QAChD,CAAC,CAAC,CAAC;IACP,CAAC;IAkBD,YAAY;QACV,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;QAC5C,IAAI,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC1C,IAAI,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC;QACpE,IAAI,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;QAChD,IAAI,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;QACnE,IAAI,wBAAwB,GAAG,IAAI,CAAC,0BAA0B,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3I,IAAI,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1H,IAAI,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC;QAC9D,IAAI,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1H,IAAI,aAAa,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;QACzD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,0BACnB,aAAa,EAAE,oBAAoB,eAAe,sBAAsB,iBAAiB,6BAA6B,wBAAwB,iBAAiB,YAAY,SAAS,KAAK,kBAAkB,aAAa,eAAe,UAAU,EAAE,CACpP;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,+BAA+B,GAAG,QAAQ,CAAC;YAChD,6CAA6C;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;CAEF;;YApIyC,qFAAkB;YAAoB,sEAAY;;AAd/E,0BAA0B;IANtC,+DAAS,CAAC;QACT,QAAQ,EAAE,wBAAwB;QAClC,0RAAkD;;KAEnD,CAAC;IACF,6BAA6B;;mFAea,qFAAkB,EAAoB,sEAAY;GAd/E,0BAA0B,CAkJtC;AAlJsC;;;;;;;;;;;;;ACZvC;AAAe,6GAA8C,uMAAuM,E;;;;;;;;;;;;;;;;;;;;;;ACAlN;AACiC;AAC5C;AACsB;AACpB;AAOzC,IAAa,uBAAuB,GAApC,MAAa,uBAAuB;IAQlC,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAJ1D,QAAG,GAAG,0EAAG,CAAC;QAuFH,4BAAuB,GAAQ;YACpC,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;aACf;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;aACtB;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;aACf;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,KAAK,CAAC,cAAc;aAC9B;YACD,KAAK,EAAE;gBACL,UAAU,EAAE,CAAC,WAAW,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,SAAS,CAAC;aACtF;YACD,KAAK,EAAE,CAAC,SAAS,EAAC,SAAS,EAAC,SAAS,CAAC;YACtC,KAAK,EAAE;gBACL,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE;oBACL,IAAI,EAAE,yBAAyB;iBAChC;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE;wBACL,UAAU,EAAE,MAAM;wBAClB,KAAK,EAAE,EAAE,QAAQ;wBACf,yDAAyB,CAAC,KAAK,CAAC,KAAK;4BACrC,yDAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAC5C,IAAI,MAAM;qBACZ;iBACF;aACF;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,OAAO;gBACd,CAAC,EAAE,CAAC,EAAE;gBACN,aAAa,EAAE,KAAK;gBACpB,CAAC,EAAE,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,eAAe,EACb,yDAAyB,CAAC,MAAM,CAAC,eAAe,IAAI,OAAO;gBAC7D,WAAW,EAAE,MAAM;gBACnB,WAAW,EAAE,CAAC;gBACd,MAAM,EAAE,KAAK;aACd;YACD,OAAO,EAAE;gBACP,YAAY,EAAE,uBAAuB;gBACrC,WAAW,EAAE,wDAAwD;aACtE;YACD,WAAW,EAAE;gBACX,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAQ;oBAClB,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI;qBACd;iBACF;aACF;YACD,MAAM,EAAE,CAAC;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBACnB,EAAE;oBACD,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBACnB,EAAE;oBACD,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBACnB,CAAC;SACH;IAtJ6D,CAAC;IAE/D,QAAQ;QACN,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,qBAAqB,CAAC,YAAY,IAAI,IAAI,EAAE;YACnD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;aACI;YACH,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;QACD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,uBAChC,oBAAoB,IAAI,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,IAAI,CAAC,qBAAqB,CAAC,eAAe;kBACnG,IAAI,CAAC,cAAc,wBAAwB,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CACzF;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,WAAW,EAAE,UAAU;gBACvB,iBAAiB,EAAE,CAAC;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB;QACnB,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC5E,QAAQ,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7E,QAAQ,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7E,QAAQ,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7E,QAAQ,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7E,QAAQ,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7E,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;QACrD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,0CAChC,sBAAsB,EAAE,oBAAoB,IAAI,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,IAAI,CAAC,qBAAqB,CAAC,eAAe;kBAC3H,IAAI,CAAC,cAAc,wBAAwB,IAAI,CAAC,qBAAqB,CAAC,KAAK,gBAAgB,CACvG;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;YACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC3B,aAAa,EAAE,UAAU;gBACzB,wBAAwB,EAAE,CAAC;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnE,OAAO,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,wBAAwB,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,IAAI,CAAC,EAAE;gBACnD,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;iBACI;gBACH,IAAI,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,IAAI,CAAC,EAAE;oBACjE,IAAI,CAAC,YAAY,EAAE,CAAC;iBACrB;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAuED,YAAY;QACV,QAAQ,CAAC;QACT,IAAI,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAE;QACxC,IAAI,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAE;QAClE,IAAI,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAE;QAC9C,IAAI,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;QACnE,IAAI,wBAAwB,GAAG,IAAI,CAAC,0BAA0B,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3I,IAAI,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1H,IAAI,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC;QAC3D,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,uBACnB,aAAa,EAAE,oBAAoB,eAAe,sBAAsB,iBAAiB,6BAA6B,wBAAwB,iBAAiB,YAAY,SAAS,KAAK,eAAe,UAAU,EAAE,CACrN;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzD,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3D,gDAAgB,CAAC,kCAAkC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;aACnG;YAED,6DAA6D;YAC7D,0CAA0C;YAC1C,0CAA0C;YAC1C,kDAAkD;QACpD,CAAC,CAAC,CAAC;IACP,CAAC;CACF;;YAtLyC,qFAAkB;;AAR/C,uBAAuB;IALnC,+DAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,iRAA+C;;KAEhD,CAAC;mFASwC,qFAAkB;GAR/C,uBAAuB,CA8LnC;AA9LmC;;;;;;;;;;;;;ACXpC;AAAe,iFAAkB,mBAAmB,qBAAqB,GAAG,8BAA8B,iBAAiB,GAAG,8BAA8B,uBAAuB,GAAG,6BAA6B,gCAAgC,uBAAuB,KAAK,GAAG,kCAAkC,yBAAyB,GAAG,oFAAoF,qBAAqB,qBAAqB,qBAAqB,GAAG,8BAA8B,kBAAkB,GAAG,gDAAgD,qCAAqC,8BAA8B,8BAA8B,sBAAsB,uBAAuB,gBAAgB,qBAAqB,GAAG,kDAAkD,mBAAmB,qBAAqB,gBAAgB,GAAG,6CAA6C,qBAAqB,mBAAmB,GAAG,wIAAwI,mBAAmB,GAAG,8GAA8G,wBAAwB,GAAG,mDAAmD,wBAAwB,GAAG,8BAA8B,qCAAqC,uBAAuB,GAAG,eAAe,gBAAgB,GAAG,qBAAqB,oBAAoB,+BAA+B,GAAG,aAAa,kBAAkB,GAAG,MAAM,oCAAoC,kBAAkB,GAAG,gBAAgB,4BAA4B,GAAG,gBAAgB,8BAA8B,KAAK,6SAA6S,4BAA4B,GAAG,YAAY,gBAAgB,wBAAwB,GAAG,eAAe,kBAAkB,oBAAoB,wBAAwB,qBAAqB,GAAG,oBAAoB,gBAAgB,iBAAiB,GAAG,YAAY,yCAAyC,qBAAqB,sBAAsB,uBAAuB,qBAAqB,sCAAsC,uBAAuB,GAAG,iBAAiB,oBAAoB,iBAAiB,iBAAiB,iBAAiB,mBAAmB,GAAG,mBAAmB,yDAAyD,kCAAkC,2BAA2B,GAAG,wCAAwC,uBAAuB,GAAG,wBAAwB,mBAAmB,qBAAqB,4BAA4B,sBAAsB,2BAA2B,2BAA2B,uBAAuB,iBAAiB,mBAAmB,GAAG,eAAe,iBAAiB,iBAAiB,mBAAmB,uBAAuB,kBAAkB,4BAA4B,wBAAwB,2BAA2B,GAAG,eAAe,gBAAgB,GAAG,gBAAgB,iBAAiB,GAAG,WAAW,gCAAgC,GAAG,WAAW,gCAAgC,GAAG,uBAAuB,gBAAgB,kBAAkB,kBAAkB,4BAA4B,wBAAwB,2BAA2B,GAAG,2BAA2B,gBAAgB,GAAG,qBAAqB,kCAAkC,oBAAoB,sBAAsB,mBAAmB,sBAAsB,GAAG,6CAA6C,2inBAA2inB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACC5puB;AAClC;AACE;AACe;AACxD,mEAAY,CAAC,uCAAU,CAAC,CAAC;AACkC;AAC3D,qEAAa,CAAC,uCAAU,CAAC,CAAC;AACqD;AAClB;AACpB;AACuC;AAChF,MAAM,IAAI,GAAG,mBAAO,CAAC,oEAAY,CAAC,CAAC;AACG;AAC4C;AASlF,IAAa,aAAa,GAA1B,MAAa,aAAa;IA6kBxB,YAAoB,kBAAsC,EAAU,KAAa,EAAU,kBAAsC,EAAU,YAAiC;QAAxJ,uBAAkB,GAAlB,kBAAkB,CAAoB;QAAU,UAAK,GAAL,KAAK,CAAQ;QAAU,uBAAkB,GAAlB,kBAAkB,CAAoB;QAAU,iBAAY,GAAZ,YAAY,CAAqB;QA5kB5K,UAAK,GAAG,SAAS,CAAC;QAClB,QAAG,GAAG,0EAAG,CAAC;QAEV,OAAE,GAAG,CAAC,CAAC;QACP,oBAAe,GAAG,CAAC,CAAC;QACpB,UAAK,GAAG,EAAE,CAAC;QAIX,eAAU,GAAG,IAAI,CAAC;QAClB,mBAAc,GAAU,EAAE,CAAC;QAC3B,qBAAgB,GAAU,EAAE,CAAC;QAEtB,cAAS,GAAQ;YACtB,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,GAAG;aACZ;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAC,MAAM;iBAClB;aACF;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,KAAK,CAAC,cAAc;aAC9B;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;aACf;YACD,aAAa,EAAE;gBACb,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI;iBACd;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;aAEjB;YACD,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE,EAAE;iBACT;gBACD,GAAG,EAAE,CAAC;aAEP;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK;aACf;YACD,WAAW,EAAE;gBACX,MAAM,EAAE;oBACN,WAAW,EAAE,CAAC;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,eAAe;wBAEvB,UAAU,EAAE,EAAE;qBACf;iBAEF;aAGF;YAED,OAAO,EAAE;gBACP,YAAY,EAAE,uDAAuD;gBACrE,WAAW,EAAE,6EAA6E;aAC3F;YACD,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;gBACjD,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;YACnE,MAAM,EAAE;gBACN;oBAEE,YAAY,EAAE,IAAI;oBAClB,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,QAAQ;4BACd,CAAC,EAAE,KAAK;4BACR,KAAK,EAAE,QAAQ;yBAChB;wBACD;4BACE,IAAI,EAAE,SAAS;4BACf,CAAC,EAAE,KAAK;4BACR,KAAK,EAAE,MAAM;yBACd;wBACD;4BACE,IAAI,EAAE,mBAAmB;4BACzB,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,QAAQ;yBAChB;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,CAAC,EAAE,IAAI;yBACR;wBACD;4BACE,IAAI,EAAE,MAAM;4BACZ,CAAC,EAAE,IAAI;yBACR;wBACD;4BACE,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;yBACR;wBACD;4BACE,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;yBACR;qBACF;iBACF;aACF;SACF;QAEM,cAAS,GAAQ;YACtB,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,GAAG;aACZ;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,MAAM;oBAChB,UAAU,EAAE,MAAM;iBACnB;aACF;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,KAAK,CAAC,cAAc;aAC9B;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;aACf;YACD,aAAa,EAAE;gBACb,eAAe,EAAE;oBACf,OAAO,EAAE,IAAI;iBACd;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;aACjB;YACD,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,IAAI,EAAE,EAAE;iBACT;gBACD,GAAG,EACC,CAAC;aACN;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK;aACf;YACD,WAAW,EAAE;gBACX,MAAM,EAAE;oBACN,WAAW,EAAE,CAAC;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,eAAe;qBACxB;oBACD,QAAQ,EAAC,IAAI;iBACd;aAEF;YAED,OAAO,EAAE;gBACP,YAAY,EAAE,uDAAuD;gBACrE,WAAW,EAAE,6EAA6E;aAC3F;YACD,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;gBACjD,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;YACnE,MAAM,EAAE;gBACN;oBAEE,YAAY,EAAE,IAAI;oBAClB,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,QAAQ;4BACd,CAAC,EAAE,KAAK;4BACR,KAAK,EAAE,QAAQ;yBAChB;wBACD;4BACE,IAAI,EAAE,SAAS;4BACf,CAAC,EAAE,KAAK;4BACR,KAAK,EAAE,MAAM;yBACd;wBACD;4BACE,IAAI,EAAE,mBAAmB;4BACzB,CAAC,EAAE,IAAI;4BACP,KAAK,EAAE,QAAQ;yBAChB;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,CAAC,EAAE,IAAI;yBACR;wBACD;4BACE,IAAI,EAAE,MAAM;4BACZ,CAAC,EAAE,IAAI;yBACR;wBACD;4BACE,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;yBACR;wBACD;4BACE,IAAI,EAAE,OAAO;4BACb,CAAC,EAAE,IAAI;yBACR;qBACF;iBACF;aACF;SACF;QAEM,qBAAgB,GAAQ;YAC7B,KAAK,EAAE;gBACL,kCAAkC;gBAClC,MAAM,EAAE,GAAG;aAOZ;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,KAAK,CAAC,cAAc;aAC9B;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;aACf;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE;oBAEL,IAAI,EAAE,6EAA6E;iBAEpF;gBAED,aAAa,EAAE,KAAK;gBACpB,CAAC,EAAE,EAAE;aACN;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,qCAAqC;aACnD;YACD,aAAa,EAAE;gBACb,KAAK,EAAE;oBACL,WAAW,EAAE,GAAG;iBACjB;aACF;YACD,WAAW,EAAE;gBACX,GAAG,EAAE;oBACH,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,CAAC,EAAE;wBACb,KAAK,EAAE;4BACL,UAAU,EAAE,MAAM;4BAClB,KAAK,EAAE,OAAO;yBACf;qBACF;oBACD,UAAU,EAAE,CAAC,EAAE;oBACf,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;oBACtB,IAAI,EAAE,KAAK;iBACZ;aACF;YACD,MAAM,EAAE,CAAC;oBACP,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,EAAE;oBACR,SAAS,EAAE,KAAK;oBAChB,IAAI,EAAE;wBACJ,CAAC,KAAK,EAAE,EAAE,CAAC;wBACX,CAAC,QAAQ,EAAE,EAAE,CAAC;qBACf;iBACF,CAAC;SACH;QAEM,qBAAgB,GAAQ;YAC7B,KAAK,EAAE;gBAEL,MAAM,EAAE,GAAG;aASZ;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,KAAK,CAAC,cAAc;aAC9B;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;aACf;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE;oBAEL,IAAI,EAAE,6EAA6E;iBACpF;gBACD,CAAC,EAAE,EAAE;gBACL,aAAa,EAAE,KAAK;aAErB;YACD,OAAO,EAAE;gBACP,WAAW,EAAE,qCAAqC;aACnD;YACD,aAAa,EAAE;gBACb,KAAK,EAAE;oBACL,WAAW,EAAE,GAAG;iBACjB;aACF;YACD,WAAW,EAAE;gBACX,GAAG,EAAE;oBACH,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,CAAC,EAAE;wBACb,KAAK,EAAE;4BACL,UAAU,EAAE,MAAM;4BAClB,KAAK,EAAE,OAAO;yBACf;qBACF;oBACD,UAAU,EAAE,CAAC,EAAE;oBACf,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;oBACtB,IAAI,EAAE,KAAK;iBACZ;aACF;YACD,MAAM,EAAE,CAAC;oBACP,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,EAAE;oBACR,SAAS,EAAE,KAAK;oBAChB,IAAI,EAAE;wBACJ,CAAC,aAAa,EAAE,IAAI,CAAC;wBAErB;4BACE,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,KAAK;4BACZ,CAAC,EAAE,IAAI;4BACP,UAAU,EAAE;gCACV,OAAO,EAAE,KAAK;6BACf;yBACF;qBACF;iBACF,CAAC;SACH;QACD,WAAM,GAAG,EAAE,CAAC;QACZ,eAAU,GAAO,EAAE,CAAC;QACpB,iBAAY,GAAQ,EAAE,CAAC;QACvB,WAAM,GAAY,KAAK,CAAC;QAmBtB,YAAO,GAAO,EAAE,CAAC;QACjB,YAAO,GAAQ,EAAE,CAAC;QAElB,iBAAY,GAAU,IAAI,CAAC;IA8N7B,CAAC;IAzNC,6BAA6B;IAE7B,iBAAiB;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,iBACnB,aAAa,IAAI,CAAC,EAAE,oBAAoB,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,KAAK,EAAE,CAClF;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,kCAAkC;gBAClC,kFAAkF;gBAClF,6DAA6D;gBAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC3D,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACxC,oCAAoC;gBACvC,mDAAmD;gBAChD,IAAI,OAAO,GAAG,gDAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9D,4BAA4B;gBAE7B,uCAAuC;gBACtC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAE7D,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEH,iBAAiB;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,iBACnB,aAAa,IAAI,CAAC,EAAE,oBAAoB,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,KAAK,EAAE,CAClF;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,6DAA6D;gBAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC3D,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACxC,0CAA0C;gBAC3C,mDAAmD;gBAElD,IAAI,OAAO,GAAG,gDAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9D,4BAA4B;gBAC7B,wCAAwC;gBACvC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2BAA2B;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,wBACtB,aAAa,IAAI,CAAC,EAAE,oBAAoB,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,KAAK,yBAAyB,IAAI,CAAC,KAAK,EAAE,CACrH;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC;gBAEzC,6DAA6D;gBAC7D,0CAA0C;gBAC1C,0CAA0C;gBAC1C,kDAAkD;gBAClD,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2BAA2B;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,2BACnB,aAAa,IAAI,CAAC,EAAE,oBAAoB,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,KAAK,EAAE,CAClF;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;oBACnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3C,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnD;oBACD,gGAAgG;oBAChG,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAClF,IAAI,KAAK,IAAI,CAAC,EAAE;wBACd,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACnD,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;4BAE3B,oIAAoI;4BAClI,wKAAwK;4BACxK,QAAQ,CAAC,cAAc,CAAC,2BAA2B,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,GAAG,yBAAyB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;yBAGhM;6BACI;4BACL,oIAAoI;4BAClI,0GAA0G;4BAC1G,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACjI,gDAAgB,CAAC,2BAA2B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;yBACrF;qBACF;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EACxB;wBACA,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;4BAC3B,+EAA+E;4BAC1E,QAAQ,CAAC,cAAc,CAAC,2BAA2B,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;yBACpF;qBACJ;iBAEF;gBACD,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2BAA2B;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,2BACnB,aAAa,IAAI,CAAC,EAAE,oBAAoB,IAAI,CAAC,eAAe,SAAS,IAAI,CAAC,KAAK,EAAE,CAClF;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpC,+CAA+C;gBAC/C,kDAAkD;gBAClD,KAAK;gBACL,oDAAoD;gBACpD,yEAAyE;gBAEzE,KAAK;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;oBACnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3C,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnD;oBACF,iGAAiG;oBAChG,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBAClF,IAAI,KAAK,IAAI,CAAC,EAAE;wBACd,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACnD,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;4BACzB,8UAA8U;4BAC9U,QAAQ,CAAC,cAAc,CAAC,2BAA2B,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,GAAG,yBAAyB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;yBAChM;6BACI;4BACH,0GAA0G;4BAC1G,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACjI,gDAAgB,CAAC,2BAA2B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;yBACrF;qBACF;oBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wBAC1B,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;4BACxB,QAAQ,CAAC,cAAc,CAAC,2BAA2B,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;yBACpF;qBACF;iBACF;gBACD,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAEA,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ;QACtC,2CAA2C;QAC3C,IAAI,GAAG,GAAG;YACR,QAAQ,EAAE,IAAI,CAAC,EAAE;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;YACjC,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;SACf,CAAC;QACF,IAAI,CAAC,kBAAkB;YAErB,mDAAmD;YACnD,mBAAmB;aAElB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,aAAa,QAAQ,EAAE,EAAE,GAAG,CAAC;aAE3D,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAEpB,eAAe;YACf,KAAK;QACP,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,cAAc;QACd,SAAS;QACT,gCAAgC;QAChC,6HAA6H;QAC7H,KAAK;QACL,kBAAkB;QAClB,yBAAyB;QACzB,wCAAwC;QAExC,OAAO;IACT,CAAC;IAMK,QAAQ;;YACZ,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChD,4CAA4C;YAC3C,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACzD,uFAAuF;YACrF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACrE,sDAAsD;YACtD,GAAG;YACJ;;;gBAGI;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC;YACzD,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEvB,mCAAmC;YACnC,yCAAyC;YACzC,2BAA2B;YAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YACzE,iDAAiD;YACjD,mDAAmD;YACnD,+CAA+C;YAC/C,+CAA+C;YAC/C,oDAAoD;YACpD,4CAA4C;YAC5C,iCAAiC;YACjC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;oBACjD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE;wBACnD,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;qBAElK;yBACI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE;wBACxD,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;qBAClK;iBACF;qBACI;oBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC1H;aACF;iBACI;gBACH,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aAC3D;YAED,wCAAwC;YACxC,iCAAiC;YACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/E,IAAG,IAAI,CAAC,WAAW,KAAK,SAAS;gBAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW;;gBAE/B,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;KAAA;IAEK,UAAU;;YAEd,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;gBAChE,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,wBAAwB;iBAC/B,CAAC,CAAC;aACJ;iBACI;gBACH,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE;oBACzE,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,wCAAwC;qBAC/C,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,mBAAmB;oBACnB,mBAAmB;oBAClB,uCAAuC;oBACvC,qCAAqC;oBACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpF,gCAAgC;oBAEhC,gGAAgG;oBAChG,oFAAoF;oBACpF,oCAAoC;oBACpC,8FAA8F;oBAC9F,GAAG;oBACH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,EACvE;wBACE,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;wBAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,GAAG,CAAC;qBACzD;oBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC7C,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;oBACzC,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;oBACzC,MAAM,IAAI,CAAC,2BAA2B,EAAE,CAAC;oBACzC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC/B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;wBAC9D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;wBAC1B,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE;4BAC7B,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC;yBACpC;6BACI;4BACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;yBAC1C;wBACD,wBAAwB;qBACzB;oBACD,wDAAwD;oBACxD,wDAAwD;oBACxD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAClB,6BAA6B;iBAC5B;aACF;QACH,CAAC;KAAA;IAED,SAAS;QACP,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GACA,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,yBAC7B,oBAAoB,IAAI,CAAC,EAAE,EAAE,CAC9B;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CACxB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,MAAM,EAAE,KAAK;gBACb,cAAc,EAAE,CAAC;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,OAAO,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACD,cAAc;QAEZ,gGAAgG;QAChG,oCAAoC;QACpC,8FAA8F;QAC9F,GAAG;QAEH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACvE,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,GAAG,CAAC;SACzD;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE7C,IAAI,GAAG,GAAG;YACR,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,eAAe,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7E,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,iBAAiB;QACf,gGAAgG;QAChG,oCAAoC;QACpC,8FAA8F;QAC9F,GAAG;QACH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACvE,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,GAAG,CAAC;SACzD;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE7C,IAAI,GAAG,GAAG;YACR,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,eAAe,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7E,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,gBAAgB;QAEd,gGAAgG;QAChG,oCAAoC;QACpC,8FAA8F;QAC9F,GAAG;QACH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACvE,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,GAAG,CAAC;SACzD;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE7C,IAAI,GAAG,GAAG;YACR,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,eAAe,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7E,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,mBAAmB;QAEjB,gGAAgG;QAChG,oCAAoC;QACpC,8FAA8F;QAC9F,GAAG;QACH,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACvE,IAAI,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,GAAG,CAAC;SACzD;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE7C,IAAI,GAAG,GAAG;YACR,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,eAAe,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC7E,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,kBAAkB;QAEhB,sCAAsC;QACtC,+BAA+B;QAC/B,qCAAqC;QAErC,+BAA+B;QAC/B,OAAO;QACP,4BAA4B;QAC5B,uBAAuB;QACvB,SAAS;QACT,8BAA8B;QAC9B,uBAAuB;QACvB,SAAS;QACT,KAAK;QACL,GAAG;QACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,+BAA+B;YAC/B,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,mBAAmB,oBAAoB,IAAI,CAAC,EAAE,EAAE,CAAC;iBAEpF,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAElC,0DAA0D;gBAC1D,uDAAuD;gBACvD,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEE,cAAc;QACf,UAAU,CAAC,GAAS,EAAE,CAAC;YACvB,2CAA2C;YAC3C,mDAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACrE,kEAAkE;gBAClE,0CAA0C;gBAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEF,mDAAW,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC5E,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACrE,kEAAkE;gBAClE,0CAA0C;gBAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC9D,yDAAyD;YAC3D,CAAC,CAAC,CAAC;YAEF,mDAAW,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC5E,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACrE,oEAAoE;gBACpE,yCAAyC;gBACzC,2DAA2D;gBAC5D,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE;oBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;iBACrE;qBACI;oBACJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;iBAChE;YACH,CAAC,CAAC,CAAC;YAEF,mDAAW,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAC1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC5E,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACrE,oEAAoE;gBACpE,0CAA0C;gBAC1C,2DAA2D;gBAC3D,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE;oBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;iBACtE;qBACI;oBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;iBAChE;YACH,CAAC,CAAC,CAAC;QACL,CAAC,GAAC,GAAG,CAAC,CAAC;QACP,gBAAgB;QAChB,MAAM;IACR,CAAC;IAID,cAAc;QACZ,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,oBAAoB,aAAa,IAAI,CAAC,EAAE,oBAAoB,IAAI,CAAC,KAAK,EAAE,CACrG;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC;YACxB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBACI;gBACH,IAAI,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACvB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,sBAAsB,CAAC,IAAa;QAElC,IAAI,aAAa,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACpD,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,aAAa,IAAI,CAAC,EAAE,oBAAoB,IAAI,CAAC,KAAK,sBAAsB,IAAI,CAAC,MAAM,kBAAkB,aAAa,EAAE,CAC/J;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC;YACxB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE;gBAC9D,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAC5B,QAAQ,CAAC,MAAM,CAAC,YAAY,CAC7B,CAAC;iBACH;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAC3B,QAAQ,CAAC,MAAM,CAAC,WAAW,CAC5B,CAAC;iBACH;gBACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC;oBACH,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,iCAAiC;iBACxC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;QACd,oDAAoD;QACpD,gDAAgD;QAChD,2BAA2B;QAC3B,oCAAoC;QACpC,GAAG;QACJ,qDAAqD;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,8CAA8C;YAC9C,8CAA8C;YAC9C,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAK,IAAI,CAAC,OAAO,KAAK,SAAS,CAAE,EAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAE;YACtH,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK;YAE9B,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,oBAAoB,IAAI,CAAC,EAAE,mBAAmB,IAAI,CAAC,eAAe,UAAU,KAAK,UAAU,KAAK,EAAE,CAClJ;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC;gBACxB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;oBAC/B,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9C;;;yBAGK;iBAEN;qBACI;oBACH,IAAI,CAAC;wBACH,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,yDAAyD;qBAChE,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACN;IAEH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC;gBACH,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,yCAAyC;aAChD,CAAC,CAAC;SACJ;aACI,IAAI,OAAO,GAAG,OAAO,EAAE;YAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC;gBACH,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,8CAA8C;aACrD,CAAC,CAAC;SACJ;;YAEC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAE7B,CAAC;CAGF;;YAhbyC,4FAAkB;YAAiB,sDAAM;YAA8B,qFAAkB;YAAwB,gGAAmB;;AA3OvJ;IAApB,+DAAS,CAAC,QAAQ,CAAC;4EAAS,wDAAU;6CAAC;AAChB;IAAvB,+DAAS,CAAC,WAAW,CAAC;4EAAY,wDAAU;gDAAC;AAClB;IAA3B,+DAAS,CAAC,eAAe,CAAC;4EAAgB,wDAAU;oDAAC;AAC1B;IAA3B,+DAAS,CAAC,eAAe,CAAC;4EAAgB,wDAAU;oDAAC;AACjC;IAApB,+DAAS,CAAC,QAAQ,CAAC;4EAAS,wDAAU;6CAAC;AACb;IAA1B,+DAAS,CAAC,cAAc,CAAC;4EAAe,wDAAU;mDAAC;AAvWzC,aAAa;IALzB,+DAAS,CAAC;QACT,QAAQ,EAAE,UAAU;QAClB,2OAAoC;;KAEvC,CAAC;mFA8kBwC,4FAAkB,EAAiB,sDAAM,EAA8B,qFAAkB,EAAwB,gGAAmB;GA7kBjK,aAAa,CA6/BzB;AA7/ByB;;;;;;;;;;;;;ACvB1B;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,UAAU,GAAG;IACf,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,KAAK;CACjB,CAAC;AAEF,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,aAAa,GAAK;IACtB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE;QACL;YACI,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,eAAe;SACxB;QACD;YACI,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,eAAe;SACxB;QACD;YACI,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,eAAe;SACxB;KACJ;CACF,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEK,MAAM,KAAK,GAAG;IACnB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,gBAAgB;IAChB,aAAa;IACb,UAAU;IACV,UAAU;IACV,cAAc;IACd,eAAe;IACf,WAAW;IACX,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqCI;AAEG,MAAM,IAAI,GAAG;IAClB,aAAa;IACb,cAAc;IACd,eAAe;CAOhB,CAAC;AAEK,MAAM,OAAO,GAAG;IACrB,SAAS;IACT,UAAU;IACV,UAAU;IACV,aAAa;IACb,eAAe;CAChB,CAAC;AAEK,MAAM,OAAO,GAAG;IACrB,SAAS;IACT,UAAU;IACV,UAAU;IACV,cAAc;IACd,eAAe;CAChB,CAAC;;;;;;;;;;;;;AC/NF;AAAe,mFAAoB,iBAAiB,mBAAmB,gBAAgB,sBAAsB,2BAA2B,oBAAoB,qBAAqB,6BAA6B,iBAAiB,2BAA2B,iCAAiC,2BAA2B,2BAA2B,6EAA6E,GAAG,YAAY,0BAA0B,GAAG,WAAW,iCAAiC,GAAG,cAAc,+BAA+B,GAAG,wCAAwC,gBAAgB,oCAAoC,KAAK,GAAG,KAAK,2BAA2B,GAAG,cAAc,mBAAmB,gBAAgB,oBAAoB,GAAG,+DAA+D,kBAAkB,oBAAoB,gBAAgB,eAAe,sBAAsB,sBAAsB,iCAAiC,oCAAoC,qCAAqC,wCAAwC,GAAG,sDAAsD,sBAAsB,gBAAgB,eAAe,kBAAkB,sBAAsB,iBAAiB,mBAAmB,uBAAuB,mEAAmE,kCAAkC,qCAAqC,uCAAuC,oCAAoC,kCAAkC,qCAAqC,GAAG,YAAY,oBAAoB,GAAG,2CAA2C,kBAAkB,gBAAgB,mBAAmB,GAAG,yDAAyD,uBAAuB,0BAA0B,gBAAgB,iBAAiB,GAAG,mDAAmD,eAAe,aAAa,cAAc,GAAG,6BAA6B,uBAAuB,oBAAoB,WAAW,YAAY,aAAa,cAAc,2BAA2B,qBAAqB,GAAG,2BAA2B,kCAAkC,iBAAiB,GAAG,yBAAyB,oCAAoC,GAAG,kCAAkC,gCAAgC,GAAG,wCAAwC,wBAAwB,GAAG,wBAAwB,uBAAuB,GAAG,wDAAwD,+DAA+D,kBAAkB,sBAAsB,GAAG,gBAAgB,wBAAwB,kCAAkC,GAAG,WAAW,4BAA4B,iBAAiB,GAAG,6CAA6C,+lUAA+lU,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1xZ;AAC+B;AAC/B;AAC4B;AACC;AACa;AACf;AACZ;AACR;AACG;AACuB;AACA;AACQ;AAC3F,MAAM,IAAI,GAAG,mBAAO,CAAC,oEAAY,CAAC,CAAC;AAQnC,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAwB5B,YACC,EAAe,EACR,qBAA4C,EAC3C,iBAAoC,EACpC,kBAAsC,EACvC,GAAqB,EACrB,MAA2B,EAC1B,kBAAsC,EACtC,oBAA0C;QAN3C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC3C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACvC,QAAG,GAAH,GAAG,CAAkB;QACrB,WAAM,GAAN,MAAM,CAAqB;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,yBAAoB,GAApB,oBAAoB,CAAsB;QA/BnD,YAAO,GAAG,IAAI,wDAAS,CAAC;YACvB,KAAK,EAAE,IAAI,0DAAW,EAAE;YACxB,IAAI,EAAE,IAAI,0DAAW,EAAE;YACvB,WAAW,EAAE,IAAI,0DAAW,EAAE;YAC9B,IAAI,EAAE,IAAI,0DAAW,EAAE;YACvB,OAAO,EAAE,IAAI,0DAAW,EAAE;SAC1B,CAAC,CAAC;QACH,oBAAe,GAAU,EAAE,CAAC;QAC5B,aAAQ,GAAU,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAExD,WAAM,GAAG,KAAK,CAAC;QACf,aAAQ,GAAG,gGAAiB,CAAC,QAAQ,CAAC;QACtC,eAAU,GAAG,gGAAiB,CAAC,WAAW,CAAC;QAC3C,iBAAY,GAAG,gGAAiB,CAAC,YAAY,CAAC;QAC9C,iBAAY,GAAG,+EAAY,CAAC;QAC5B,QAAG,GAAG,mEAAG,CAAC;QAEV,WAAM,GAAY,KAAK,CAAC;QACxB,YAAO,GAAG,sFAAO,CAAC;QAClB,sBAAiB,GAAG,gGAAiB,CAAC;QACtC,aAAQ,GAAY,KAAK,CAAC;QA4C1B,gBAAW,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;QAChD,CAAC;QA0BD,mBAAc,GAAG,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,QAAQ,GAAG;gBACd,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;gBACvC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;gBACrC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC7B,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBACjC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;gBACvC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;aACzB,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBAC3F,IAAI,QAAQ,GAAQ,GAAG,CAAC;gBACxB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;oBACjE,IAAI,CACH;wBACC,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;qBACtB,CAAC,CAAC;oBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAChC;qBACI,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE;oBACxE,IAAI,CACH;wBACC,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;qBACtB,CAAC,CAAC;iBACJ;qBACI;oBACJ,IAAI,CACH;wBACC,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,QAAQ,CAAC,OAAO;qBACtB,CAAC,CAAC;iBACJ;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;QA/FD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;YACvB,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,OAAO,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,+DAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9I,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,OAAO,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC5J,WAAW,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrD,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC9C,OAAO,EAAE,IAAI,0DAAW,CAAC,KAAK,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACpD,CAAC,CAAC;IACJ,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAClC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC5C,IAAI,WAAW,GAAQ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxG,IAAI,IAAI,GAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACrB;iBACI;gBACJ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACnB;SACD;IACF,CAAC;IAMD,YAAY;QACX,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO;SACP;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE/C,CAAC;IAED,UAAU,CAAC,GAAU,EAAE,KAAU;QAChC,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACvB,IAAI,IAAI,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACnB;iBAAM;gBACN,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC3B;SACD;IACF,CAAC;IAwCD,MAAM,CAAC,IAAI;QACV,IAAI,eAAe,GAAG;YACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YACtC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;YACrC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;YACxC,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC1C,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAClC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YACvC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;SACzB,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACnG,IAAI,QAAQ,GAAQ,GAAG,CAAC;YACxB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;gBACjE,IAAI,CACH;oBACC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACtB,CAAC,CAAC;gBACJ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAChC;iBACI,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE;gBACxE,IAAI,CACH;oBACC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACtB,CAAC,CAAC;aACJ;iBACI;gBACJ,IAAI,CACH;oBACC,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ,CAAC,OAAO;iBACtB,CAAC,CAAC;aACJ;QACF,CAAC,CAAC,CAAC;IAEJ,CAAC;IAED,OAAO,CAAC,KAAY,EAAE,IAAY;QACjC,IAAI,IAAI,IAAI,CAAC,EAAE;YACd,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE;gBAClC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC9C;SACD;aACI,IAAI,IAAI,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC9C;IACF,CAAC;CACD;;YA5JK,0DAAW;YACe,uFAAqB;YACxB,2FAAiB;YAChB,sFAAkB;YAClC,sEAAgB;YACb,yEAAmB;YACN,sFAAkB;YAChB,yGAAoB;;AAhCvC,gBAAgB;IAN5B,+DAAS,CAAC;QACV,QAAQ,EAAE,cAAc;QACxB,uQAAwC;;KAExC,CAAC;mFA2BI,0DAAW;QACe,uFAAqB;QACxB,2FAAiB;QAChB,sFAAkB;QAClC,sEAAgB;QACb,yEAAmB;QACN,sFAAkB;QAChB,yGAAoB;GAhCvC,gBAAgB,CAqL5B;AArL4B;;;;;;;;;;;;;;;;;;;;ACnBwB;AAGzB;AAK5B,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAUhC,YAAoB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QANtC,aAAQ,GAAU,EAAE,CAAC;QACrB,eAAU,GAAU,EAAE,CAAC;QACvB,oBAAe,GAAU,EAAE,CAAC;QAC5B,cAAS,GAAU,EAAE,CAAC;QAMtB,2BAAsB,GAAG,CAAC,IAAa,EAAE,EAAE;YACzC,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,sBAAiB,GAAG,CAAC,QAAmB,EAAE,EAAE;YAC1C,OAAO,IAAI,CAAC,sBAAsB,mBAAM,QAAQ,EAAG,CAAC;QACtD,CAAC;QAED,gBAAW,GAAG,CAAC,GAAG,EAAE,EAAE;YACpB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3C,CAAC;QACD,iBAAY,GAAG,CAAC,GAAG,EAAE,EAAE;YACrB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACjD,CAAC;QA0BD,yBAAoB,GAAG,CAAC,IAAa,EAAE,EAAE;YACvC,MAAM,uBAAuB,GAAgB,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChB,IAAI,aAAwB,CAAC;gBAC7B,aAAa,qBAAQ,iDAAY,mBAAM,aAAa,qBAAS,IAAI,EAAG,CAAE,CAAC;gBACvE,aAAa,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;gBAC/G,aAAa,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5E,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,2BAAsB,GAAG,CAAC,QAAmB,EAAE,EAAE;YAC/C,IAAI,SAAgB,CAAC;YACrB,SAAS,qBAAQ,iDAAY,mBAAM,SAAS,qBAAS,QAAQ,EAAG,CAAE,CAAC;YACnE,SAAS,CAAC,WAAW,GAAG,EAAE,eAAe,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACnH,SAAS,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChF,OAAO,SAAS,CAAC;QACnB,CAAC;IA3DD,CAAC;IAiBD,WAAW,CAAC,SAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,aAAa,CAAC,WAAkB;QAC9B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;IAChC,CAAC;IACD,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,kBAAkB,CAAC,gBAAuB;QACxC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;IAC1C,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,kBAAkB,CAAC,WAAkB;QACnC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;IAC/B,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAqBD,iBAAiB,CAAC,IAAS;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF;;YArE+B,sDAAQ;;AAV3B,qBAAqB;IAHjC,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;mFAW8B,sDAAQ;GAV3B,qBAAqB,CA+EjC;AA/EiC;;;;;;;;;;;;;;;;;;;;;;;;;ACVO;AACM;AAC0B;AACd;AACL;AAEhB;AACJ;AACa;AAc/C,IAAa,YAAY,GAAzB,MAAa,YAAY;IACrB,YAAmB,WAAwB,EAAE,EAAqB;QAA/C,gBAAW,GAAX,WAAW,CAAa;QACvC,WAAW,CAAC,OAAO,CAAC,kDAAI,CAAC,CAAC;IAC9B,CAAC;CACJ;;YAHmC,uEAAW;YAAM,qFAAiB;;AADzD,YAAY;IAZxB,8DAAQ,CAAC;QACN,OAAO,EAAE;YACL,kEAAY;YACZ,4DAAY;YACZ,4DAAY,CAAC,OAAO,CAAC,8CAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAClD;QACD,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE;YACL,4DAAY;SACf;KACJ,CAAC;mFAGkC,uEAAW,EAAM,qFAAiB;GADzD,YAAY,CAIxB;AAJwB;;;;;;;;;;;;;ACtBzB;AAAA;AAAA;AAAA;AAA4D;AACW;AAEhE,MAAM,MAAM,GAAG;IAElB,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE;IACpD;QACI,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,GAAG,EAAE,CAAC,4RAAwD;aACvE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;KACzC;IAED;QACI,IAAI,EAAE,EAAE;QACR,WAAW,EAAE,CAAC,kFAAY,CAAC;QAC3B,SAAS,EAAE,wEAAe;QAC1B,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,GAAG,EAAE,CAAC,oSAA0D;qBACzE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;aACzC;YACD;gBACI,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,GAAG,EAAE,CAAC,4RAAwD;qBACvE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;aACzC;YACD;gBACI,IAAI,EAAE,iBAAiB;gBACvB,YAAY,EAAE,GAAG,EAAE,CAAC,4XAAgF;qBAC/F,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC;aACnD;YACD;gBACI,IAAI,EAAE,YAAY;gBAClB,YAAY,EAAE,GAAG,EAAE,CAAC,oVAAsE;qBACrF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;aAC/C;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,GAAG,EAAE,CAAC,0cAA8D;qBAC7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC;aAC3C;YAED;gBACI,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,GAAG,EAAE,CAAC,obAA0D;qBAC7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;aACrC;YAEF;gBACE,IAAI,EAAE,QAAQ;gBACd,YAAY,EAAE,GAAG,EAAE,CAAC,4bAA4D;qBAC7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;aACvC;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,GAAG,EAAE,CAAC,oRAAsD;qBACvE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;aACpC;YAED;gBACE,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,GAAG,EAAE,CAAC,4QAAoD;qBACrE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC;aAClC;YAED;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,YAAY,EAAE,GAAG,EAAE,CAAC,seAAqE;qBACtF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;aAC3C;SAEF;KACJ;CACJ,CAAC;;;;;;;;;;;;;;;;;;AC1EyC;AAG3C,IAAa,aAAa,GAA1B,MAAa,aAAa;IAqBzB;QAnBA,eAAU,GAAG;YACZ,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,SAAS;YACtB,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,SAAS;YACvB,cAAc,EAAE,SAAS;SACzB,CAAC;IAEe,CAAC;IAElB,MAAM,CAAE,IAAI;QACX,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC;IAC1C,CAAC;CAED;AA3BY,aAAa;IADzB,gEAAU,EAAE;;GACA,aAAa,CA2BzB;AA3ByB;;;;;;;;;;;;;;;;;;;;;;ACHiB;AAEJ;AACwC;AACA;AAC9B;AAKjD,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAO/B,YACU,kBAAsC,EACtC,kBAAsC;QADtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QARhD,QAAG,GAAG,4DAAG,CAAC;QACV,eAAU,GAAG,EAAE,CAAC;QACT,aAAQ,GAAQ,CAAC,CAAC;IAOrB,CAAC;IAEL,YAAY,CAAC,KAAY;QACvB,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;IAChC,CAAC;IAEM,qBAAqB,CAAC,OAAoB;QAE/C,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACvE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC;YAE9B,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAEhD;IACH,CAAC;IAED,eAAe,CAAC,QAAa,EAAE,UAAe;QAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,kBAAkB;iBACpB,QAAQ,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,qBAAqB,YAAY,QAAQ,CAAC,OAAO,EAAE,EAC3E,UAAU,CACX;iBACA,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;gBACxB,IAAI,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,KAAK;QACd,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7D,IAAI,QAAQ,IAAI,EAAE,EAAE;YAChB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,YAAY,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnD,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC5B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;aACtB;YACD,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACnB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,IAAI,QAAQ,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,QAAQ,GAAG,EAAE,IAAI,QAAQ,IAAE,EAAE,CAAC,EAAE;YACnE,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAC9B,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACvB,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,OAAO,KAAK,CAAC;iBAChB;gBACD,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,OAAO,KAAK,CAAC;iBAChB;aACJ;SAEJ;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;CACA;;YAvE+B,4FAAkB;YAClB,4FAAkB;;AATrC,oBAAoB;IAHhC,gEAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;mFAS8B,4FAAkB;QAClB,4FAAkB;GATrC,oBAAoB,CA+EhC;AA/EgC;;;;;;;;;;;;;ACVjC;AAAe,6GAA8C,2LAA2L,E;;;;;;;;;;;;;;;;;;;;ACAjK;AACrC;AAEJ;AACG;AAMjD,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAKjC,YAAoB,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAH9D,YAAO,GAAY,KAAK,CAAC;IAIzB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CACrE,mEAAY,CAAC,GAAG,CAAC,CAClB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAG,IAAI,CAAC,OAAO,EAAC;gBACd,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;aAClC;iBAAI;gBACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aACtB;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;CACF;;YArB2C,0FAAoB;;AADnD;IAAV,2DAAO,EAAE;;uDAAoB;AAJnB,sBAAsB;IALlC,+DAAS,CAAC;QACT,QAAQ,EAAE,oBAAoB;QAC9B,wQAA8C;;KAE/C,CAAC;mFAM0C,0FAAoB;GALnD,sBAAsB,CA0BlC;AA1BkC;;;;;;;;;;;;;ACVnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,GAAG,GAAG;IAClB,cAAc,EAAE;QACf,WAAW,EAAE,oCAAoC;QAC/C,YAAY,EAAE,wCAAwC;QACtD,UAAU,EAAE,2BAA2B;KACxC;IACD,SAAS,EAAE;QACT,iBAAiB,EAAE,yCAAyC;QAC5D,iBAAiB,EAAE,yCAAyC;QAC5D,wBAAwB,EAAE,0DAA0D;QACpF,2BAA2B,EAAE,0CAA0C;QACvE,2BAA2B,EAAE,0CAA0C;QACvE,uBAAuB,EAAE,sCAAsC;QAC/D,mCAAmC,EAAE,kDAAkD;QACvF,0BAA0B,EAAE,yCAAyC;QACrE,OAAO,EAAE,mBAAmB;QAC5B,yBAAyB,EAAC,qCAAqC;KAGhE;IACF,cAAc,EAAE;QACf,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,yBAAyB;QACnC,sBAAsB,EAAE,mCAAmC;QAC3D,UAAU,EAAE,4BAA4B;QACtC,cAAc,EAAE,+BAA+B;KACjD;IACD,IAAI,EAAE;QACL,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,yBAAyB;QACrC,uBAAuB,EAAC,8BAA8B;QACtD,0BAA0B,EAAC,iCAAiC;KAC5D;IACD,WAAW,EAAE;QACZ,QAAQ,EAAE,6BAA6B;QACvC,qBAAqB,EAAE,kCAAkC;QACzD,wBAAwB,EAAE,qCAAqC;KAC/D;IACD,aAAa,EAAE;QACd,oBAAoB,EAAE,oCAAoC;QAC1D,wBAAwB,EAAE,wCAAwC;QAClE,mBAAmB,EAAE,mCAAmC;QACxD,mBAAmB,EAAE,mCAAmC;QACxD,mBAAmB,EAAE,mCAAmC;QACxD,mBAAmB,EAAE,mCAAmC;QACxD,6BAA6B,EAAE,2CAA2C;QAC1E,kBAAkB,EAAE,kCAAkC;QACtD,iCAAiC,EAAC,iDAAiD;KACnF;IACD,mBAAmB,EAAE;QACpB,0BAA0B,EAAE,gDAAgD;QAC5E,yBAAyB,EAAE,+CAA+C;QAC1E,yBAAyB,EAAE,+CAA+C;QAC1E,yBAAyB,EAAE,+CAA+C;QAC1E,yBAAyB,EAAE,+CAA+C;KAC1E;IACD,oBAAoB,EAAE;QACrB,0BAA0B,EAAE,iDAAiD;QAC7E,0BAA0B,EAAE,iDAAiD;QAC7E,mBAAmB,EAAE,0CAA0C;QAC/D,mBAAmB,EAAE,0CAA0C;KAC/D;IACD,UAAU,EAAE;QACX,kCAAkC,EAAE,+CAA+C;QACnF,2CAA2C,EAAE,wDAAwD;QACrG,yBAAyB,EAAE,sCAAsC;QACjE,0GAA0G;QAC1G,oCAAoC,EAAE,iDAAiD;QACvF,2CAA2C,EAAE,wDAAwD;QACrG,4CAA4C,EAAG,yDAAyD;QACxG,2CAA2C,EAAE,wDAAwD;KACrG;IACD,kBAAkB,EAAE;QACnB,wBAAwB,EAAE,4CAA4C;QACtE,uBAAuB,EAAE,2CAA2C;QACpE,uBAAuB,EAAE,2CAA2C;QACpE,yBAAyB,EAAC,6CAA6C;QACvE,uBAAuB,EAAE,2CAA2C;QACpE,4BAA4B,EAAE,gDAAgD;QAC9E,uBAAuB,EAAE,2CAA2C;QACjE,YAAY,EAAE,gCAAgC;QAC9C,cAAc,EAAE,kCAAkC;QACrD,wBAAwB,EAAC,4CAA4C;KACpE;IACF,YAAY,EAAE;QACX,mBAAmB,EAAE,kCAAkC;QACvD,kBAAkB,EAAE,iCAAiC;QACrD,kBAAkB,EAAE,iCAAiC;QACrD,kBAAkB,EAAE,iCAAiC;QACrD,uBAAuB,EAAE,sCAAsC;QAC/D,kBAAkB,EAAE,iCAAiC;KACvD;IACD,sBAAsB,EAAE;QACvB,yBAAyB,EAAE,kDAAkD;QAC7E,uBAAuB,EAAE,gDAAgD;QACzE,0CAA0C,EAAE,mEAAmE;QAC5G,mCAAmC,EAAE,4DAA4D;QACjG,yBAAyB,EAAE,kDAAkD;QAChF,sBAAsB,EAAE,+CAA+C;QACvE,gBAAgB,EAAE,yCAAyC;QACzD,kBAAkB,EAAE,2CAA2C;QAC/D,yBAAyB,EAAE,kDAAkD;KAE/E;IAED,eAAe,EAAE;QACd,cAAc,EAAE,+BAA+B;QAC/C,oBAAoB,EAAE,qCAAqC;KAC7D;IAED,cAAc,EAAE;QACf,mBAAmB,EAAE,oCAAoC;KACzD;IACD,WAAW,EAAE;QACZ,kBAAkB,EAAE,2CAA2C;QAC/D,gBAAgB,EAAE,2CAA2C;QAC7D,aAAa,EAAE,6BAA6B;QAC5C,aAAa,EAAE,+BAA+B;QAC9C,aAAa,EAAE,gCAAgC;QAC/C,gBAAgB,EAAE,+BAA+B;QACjD,cAAc,EAAE,+BAA+B;KAC/C;IACD,gBAAgB,EAAE;QACjB,sBAAsB,EAAE,yCAAyC;QACjE,aAAa,EAAE,gCAAgC;QAC/C,oBAAoB,EAAE,uCAAuC;QAC7D,gCAAgC,EAAE,mDAAmD;QACrF,mBAAmB,EAAE,sCAAsC;QAC3D,0BAA0B,EAAE,6CAA6C;QACzE,0BAA0B,EAAE,6CAA6C;QACzE,0BAA0B,EAAE,6CAA6C;QACzE,uBAAuB,EAAE,0CAA0C;QACnE,cAAc,EAAE,iCAAiC;QACjD,eAAe,EAAE,kCAAkC;QACnD,UAAU,EAAE,6BAA6B;QACzC,6BAA6B,EAAE,2CAA2C;QAC1E,aAAa,EAAE,gCAAgC;QAC/C,0BAA0B,EAAE,6CAA6C;QACzE,eAAe,EAAE,kCAAkC;KACnD;IACD,MAAM,EAAE;QACP,SAAS,EAAE,uBAAuB;QAClC,MAAM,EAAE,+BAA+B;QACvC,iBAAiB,EAAE,6CAA6C;QAChE,oBAAoB,EAAE,uCAAuC;QAC7D,QAAQ,EAAE,6BAA6B;QACvC,OAAO,EAAE,gCAAgC;KACzC;IACD,SAAS,EAAE;QACV,oBAAoB,EAAE,2CAA2C;QACjE,sBAAsB,EAAE,0BAA0B;QAClD,gBAAgB,EAAE,mCAAmC;QACrD,eAAe,EAAE,sCAAsC;QACvD,kBAAkB,EAAE,kCAAkC;QACtD,4BAA4B,EAAE,uCAAuC;KACrE;IACA,QAAQ,EAAE;QAEV,kBAAkB,EAAE,0CAA0C;QAC9D,sBAAsB,EAAE,qCAAqC;QAC7D,sBAAsB,EAAE,qCAAqC;QAC7D,gBAAgB,EAAE,+BAA+B;QACjD,gBAAgB,EAAE,+BAA+B;QACjD,kBAAkB,EAAE,kCAAkC;KAGrD;IAED,cAAc,EAAE;QACd,oBAAoB,EAAE,qCAAqC;QAC3D,oBAAoB,EAAE,qCAAqC;QAC3D,kCAAkC,EAAE,iDAAiD;KAEtF;IAED,eAAe,EAAE;QACf,qBAAqB,EAAE,uCAAuC;QAC9D,oBAAoB,EAAE,sCAAsC;QAC5D,mCAAmC,EAAE,mDAAmD;QAC3F,iBAAiB,EAAE,mCAAmC;QACtD,qBAAqB,EAAE,uCAAuC;KAC5D;IAED,aAAa,EAAE;QACb,mBAAmB,EAAE,wCAAwC;QAC7D,mBAAmB,EAAE,iCAAiC;KACvD;IAED,WAAW,EAAE;QACX,mBAAmB,EAAE,2CAA2C;QAChE,0BAA0B,EAAE,kDAAkD;QAC9E,WAAW,EAAE,mCAAmC;KACjD;CAQF,CAAC;AAEF,wBAAwB;AACjB,MAAM,eAAe,GAAG,6BAA6B,CAAC;AACtD,MAAM,4BAA4B,GAAG,2CAA2C,CAAC;AACjF,MAAM,sBAAsB,GAAG,+DAA+D,CAAC;AAC/F,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AAEhE,4BAA4B;AACrB,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;AACjE,MAAM,qBAAqB,GAAG,wCAAwC,CAAC;AAE9E,QAAQ;AACD,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;AACrE,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAE5D,MAAM;AACC,MAAM,UAAU,GAAG,kCAAkC,CAAC;AACtD,MAAM,aAAa,GAAG,6BAA6B,CAAC;AACpD,MAAM,qBAAqB,GAAG,qCAAqC,CAAC;AACpE,MAAM,oBAAoB,GAAG,4CAA4C,CAAC;AAC1E,MAAM,iBAAiB,GAAG,iCAAiC,CAAC;AAC5D,MAAM,oBAAoB,GAAG,4CAA4C,CAAC;AAC1E,MAAM,mBAAmB,GAAG,mCAAmC,CAAC;AAChE,MAAM,sBAAsB,GAAG,8CAA8C,CAAC;AAC9E,MAAM,sBAAsB,GAAG,8CAA8C,CAAC;AAC9E,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,qBAAqB,GAAG,qCAAqC,CAAC;AAE3E,iBAAiB;AAEjB,6BAA6B;AACtB,MAAM,+BAA+B,GAAG,uDAAuD,CAAC;AAChG,MAAM,gCAAgC,GAAG,gDAAgD,CAAC;AAEjG,8BAA8B;AACvB,MAAM,wBAAwB,GAAG,gDAAgD,CAAC;AAClF,MAAM,yBAAyB,GAAG,yCAAyC,CAAC;AAEnF,8BAA8B;AACvB,MAAM,wBAAwB,GAAG,gDAAgD,CAAC;AAClF,MAAM,yBAAyB,GAAG,yCAAyC,CAAC;AAEnF,8BAA8B;AACvB,MAAM,wBAAwB,GAAG,gDAAgD,CAAC;AAClF,MAAM,yBAAyB,GAAG,yCAAyC,CAAC;AAEnF,4BAA4B;AACrB,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF,4BAA4B;AACrB,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF,4BAA4B;AACrB,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF,6BAA6B;AACtB,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF,4BAA4B;AACrB,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF,4BAA4B;AACrB,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF,4BAA4B;AACrB,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF,4BAA4B;AACrB,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF,4BAA4B;AACrB,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF,iBAAiB;AAEjB,6BAA6B;AACtB,MAAM,+BAA+B,GAAG,+CAA+C,CAAC;AACxF,MAAM,gCAAgC,GAAG,wCAAwC,CAAC;AAEzF,6BAA6B;AACtB,MAAM,+BAA+B,GAAG,+CAA+C,CAAC;AACxF,MAAM,gCAAgC,GAAG,wCAAwC,CAAC;AAEzF,8BAA8B;AACvB,MAAM,gCAAgC,GAAG,gDAAgD,CAAC;AAC1F,MAAM,iCAAiC,GAAG,yCAAyC,CAAC;AAE3F,8BAA8B;AACvB,MAAM,gCAAgC,GAAG,gDAAgD,CAAC;AAC1F,MAAM,iCAAiC,GAAG,yCAAyC,CAAC;AAE3F,6BAA6B;AACtB,MAAM,+BAA+B,GAAG,+CAA+C,CAAC;AACxF,MAAM,gCAAgC,GAAG,wCAAwC,CAAC;AAEzF,6BAA6B;AACtB,MAAM,+BAA+B,GAAG,+CAA+C,CAAC;AACxF,MAAM,gCAAgC,GAAG,wCAAwC,CAAC;AAEzF,SAAS;AACF,MAAM,gCAAgC,GAAG,4DAA4D,CAAC;AACtG,MAAM,uBAAuB,GAAG,mDAAmD,CAAC;AACpF,MAAM,iCAAiC,GAAG,6DAA6D,CAAC;AACxG,MAAM,6BAA6B,GAAG,yDAAyD,CAAC;AAChG,MAAM,8BAA8B,GAAG,8CAA8C,CAAC;AAEtF,MAAM,oBAAoB,GAAG,8CAA8C,CAAC;AAC5E,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAEpE,UAAU;AACH,MAAM,uBAAuB,GAAG,8CAA8C,CAAC;AAC/E,MAAM,eAAe,GAAG,oDAAoD,CAAC;AAC7E,MAAM,+BAA+B,GAAG,sDAAsD,CAAC;AAC/F,MAAM,iBAAiB,GAAG,gDAAgD,CAAC;AAC3E,MAAM,yBAAyB,GAAG,wDAAwD,CAAC;AAC3F,MAAM,kBAAkB,GAAG,yCAAyC,CAAC;AAErE,MAAM,+BAA+B,GAAG,sDAAsD,CAAC;AAC/F,MAAM,aAAa,GAAG,kCAAkC,CAAC;AAEzD,MAAM,kBAAkB,GAAG,mCAAmC,CAAC;AAC/D,MAAM,sBAAsB,GAAG,yCAAyC,CAAC;AACzE,MAAM,aAAa,GAAG,qCAAqC,CAAC;AAC5D,MAAM,WAAW,GAAG,mCAAmC,CAAC;;;;;;;;;;;;;AChV/D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;GAEG;AAGI,MAAM,aAAa,GAAG,cAAc,CAAC;AAC5C,6BAA6B;AAE7B,yBAAyB;AAClB,MAAM,eAAe,GAAG,6BAA6B,CAAC;AACtD,MAAM,wBAAwB,GAAG,iCAAiC,CAAC;AAI1E,iEAAiE;AACjE,+DAA+D;AAG/D,IAAY,UAOX;AAPD,WAAY,UAAU;IACrB,6CAA+B;IAC/B,+CAAiC;IACjC,8CAAgC;IAChC,4CAA8B;IAC9B,yDAA2C;IAC3C,uDAAyC;AAC1C,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB;AACD,YAAY;AAGL,MAAM,YAAY,GAAG;IAC3B,SAAS,EAAE,WAAW;IACtB,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,gBAAgB;IAChC,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,aAAa;CACzB,CAAC;AAGK,MAAM,cAAc,GAAG;IAC7B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,iBAAiB,EAAE,mBAAmB;IACtC,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAC5B,0CAA0C,EAAE,4CAA4C;IACxF,+BAA+B,EAAE,iCAAiC;IAClE,qCAAqC,EAAE,uCAAuC;IAC9E,qCAAqC,EAAE,uCAAuC;IAC9E,mCAAmC,EAAE,qCAAqC;IAC1E,oCAAoC,EAAE,sCAAsC;IAC5E,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,0BAA0B,EAAE,4BAA4B;IACxD,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,cAAc,EAAE,gBAAgB;IAChC,yBAAyB,EAAE,2BAA2B;IACtD,yBAAyB,EAAE,2BAA2B;IACtD,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,oBAAoB;CACxC,CAAC;AAEK,MAAM,WAAW,GAAG;IAC1B,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,sBAAsB;CACpC,CAAC;AAEF,IAAY,UAEX;AAFD,WAAY,UAAU;IACrB,2CAA6B;AAC9B,CAAC,EAFW,UAAU,KAAV,UAAU,QAErB;AAED,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC7B,2CAAqB;IACrB,mCAAa;IACb,mCAAa;IACb,uCAAiB;IACjB,qBAAqB;AACtB,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;AAED,IAAY,eAmCX;AAnCD,WAAY,eAAe;IAC1B,mDAAgC;IAChC,sEAAmD;IACnD,gEAA6C;IAC7C,qDAAkC;IAClC,uCAAoB;IACpB,oEAAiD;IACjD,gEAA6C;IAC7C,mGAAgF;IAChF,+FAA4E;IAC5E,+DAA4C;IAC5C,sDAAmC;IACnC,wDAAqC;IACrC,yEAAsD;IACtD,qEAAkD;IAClD,oDAAiC;IACjC,wCAAqB;IACrB,+CAA4B;IAC5B,2CAAwB;IACxB,wCAAqB;IACrB,gEAA6C;IAC7C,qCAAqC;IACrC,0CAAuB;IACvB,qDAAkC;IAClC,qDAAkC;IAClC,6DAA0C;IAC1C,qDAAkC;IAClC,yDAAsC;IACtC,sDAAmC;IACnC,4CAAyB;IACzB,4CAAyB;IACzB,uDAAoC;IACpC,+CAA4B;IAC5B,yDAAsC;IACtC,iEAA8C;AAC/C,CAAC,EAnCW,eAAe,KAAf,eAAe,QAmC1B;AAEM,MAAM,kBAAkB,GAAG;IACjC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACpB,CAAC;AAGK,MAAM,eAAe,GAAE;IAC7B,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,kBAAkB;IACnC,wBAAwB,EAAE,4BAA4B;CACtD,CAAC;AACK,MAAM,WAAW,GAAG;IAC1B,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACd,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAEzH,MAAM,YAAY,GAAG;IAC3B,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;CACX,CAAC;AAEK,MAAM,QAAQ,GAAG,MAAM,CAAC;AAExB,MAAM,KAAK,GAAG;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACZ,CAAC;AAEK,MAAM,gBAAgB,GAAG;IAC/B,YAAY,EAAE,MAAM;CACpB,CAAC;AAEK,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,WAAW,GAAG,eAAe,CAAC;AAEpC,MAAM,iBAAiB,GAAG;IAChC;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,KAAK;KACZ;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,KAAK;KACZ;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;KACb;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,KAAK;KACZ;CACC,CAAC;;;;;;;;;;;;;AC5OJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAY,iBAgBX;AAhBD,WAAY,iBAAiB;IAC5B,wDAAmC;IACnC,uEAAkD;IAElD,uFAAkE;IAClE,oFAA+D;IAC/D,+CAA0B;IAC1B,+DAA0C;IAC1C,6EAAwD;IACxD,iEAA4C;IAC5C,gGAA2E;IAC3E,+FAA0E;IAE1E,iEAA4C;IAC5C,yEAAoD;IACpD,uDAAkC;AACnC,CAAC,EAhBW,iBAAiB,KAAjB,iBAAiB,QAgB5B;AAED,IAAY,SAyBX;AAzBD,WAAY,SAAS;IACpB,2CAAU;IACV,iDAAa;IACb,yDAAiB;IACjB,mEAAsB;IACtB,+DAAoB;IACpB,+DAAoB;IACpB,qEAAuB;IACvB,kEAAqB;IACrB,kEAAqB;IACrB,0EAAyB;IACzB,iDAAa;IACb,6DAAmB;IACnB,2DAAkB;IAClB,kDAAc;IACd,+CAAY;IACZ,qDAAe;IACf,6DAAmB;IACnB,2DAAkB;IAClB,kDAAa;IACb,yDAAiB;IACjB,4CAAU;IACV,uCAAO;IACP,wCAAQ;IACR,yDAAgB;AACjB,CAAC,EAzBW,SAAS,KAAT,SAAS,QAyBpB;AAED,IAAY,SAcX;AAdD,WAAY,SAAS;IACpB,yCAAQ;IACR,+CAAW;IACX,6DAAkB;IAClB,iEAAoB;IACpB,yEAAwB;IACxB,uDAAe;IACf,iEAAoB;IACpB,2CAAS;IACT,yDAAgB;IAChB,uCAAO;IACP,2DAAiB;IACjB,yDAAgB;IAChB,wCAAQ;AACT,CAAC,EAdW,SAAS,KAAT,SAAS,QAcpB;AAED,IAAY,QAEX;AAFD,WAAY,QAAQ;IACnB,wDAAuB;AACxB,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB;AAED,IAAY,QAEX;AAFD,WAAY,QAAQ;IACnB,2CAAU;AACX,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB;AAED,IAAY,OAWX;AAXD,WAAY,OAAO;IAClB,oCAAyB;IACzB,iCAAsB;IACtB,oBAAoB;IAClB,mCAAwB;IAC1B,0CAA+B;IAC/B,mDAAwC;IACxC,iEAAqD;IACrD,kEAAsD;IAEpD,mCAAwB;AAC3B,CAAC,EAXW,OAAO,KAAP,OAAO,QAWlB;;;;;;;;;;;;;;;;;;AChFqD;AAMtD,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAE1B,YAAmB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAEnC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;YAClB,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAC5B,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAClD,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtC,uDAAuD;YACvD,KAAK,CAAC,IAAI,CAAC,4BAA4B,GAAG,KAAK,GAAG,0BAA0B,CAAC;iBACxE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE9C,CAAC,CAAC,CAAC;IAEP,CAAC;CAEJ;;YAf0B,wDAAU;;AAFxB,iBAAiB;IAH7B,+DAAS,CAAC;QACP,QAAQ,EAAE,YAAY;KACzB,CAAC;mFAGyB,wDAAU;GAFxB,iBAAiB,CAiB7B;AAjB6B;;;;;;;;;;;;;;;;;;ACNgE;AAG9F,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,4BAA4B;AAKvD,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAyB9B,YAAmB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;QAvBtC;;;WAGG;QACI,mBAAc,GAAG;YACpB,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,CAAC;YACT,OAAO,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;aAChB;SACJ,CAAC;QAOE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,QAAQ;QACJ,IAAG,YAAY,EAAE;YACb,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3E,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtC;IACL,CAAC;IAED,WAAW,CAAC,OAAiD;QACzD,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACtC;IACL,CAAC;CAEJ;;YAlB+B,wDAAU;;AAH7B;IAAR,2DAAK,EAAE;;sDAAS;AACR;IAAR,2DAAK,EAAE;;sDAAS;AAvBR,qBAAqB;IAHjC,+DAAS,CAAC;QACP,QAAQ,EAAE,gBAAgB;KAC7B,CAAC;mFA0B8B,wDAAU;GAzB7B,qBAAqB,CA2CjC;AA3CiC;;;;;;;;;;;;;;;;;;ACR6F;AAO/H,IAAa,aAAa,GAA1B,MAAa,aAAa;IActB,YAAmB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAFvB,UAAK,GAAG,IAAI,0DAAY,EAAE,CAAC;QAGjC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QAExC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;YACT,2CAA2C;SAC9C;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,QAAQ,KAAK,CAAC;IAEd,WAAW,CAAC,OAAiD;QACzD,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;YACT,OAAO;SACV;QACD,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACvC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;IACL,CAAC;IAED,IAAI;QAEA,MAAM,aAAa,GAAG,GAAG,CAAC;QAE1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;QAE3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAChC,OAAO;SACV;QACD,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SACtC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,gBAAgB,CAAC,OAAO;QACpB,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC3B;aAAM;YACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC;SACpB;IACL,CAAC;IAED,cAAc,CAAC,MAAM;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;YACvB,OAAO;SACV;QACD,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEjB,SAAS,SAAS,CAAC,KAAK;YACpB,OAAO,UAAS,CAAC,EAAE,CAAC;gBAChB,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;oBACnC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;iBAC/B;YACL,CAAC,CAAC;QACN,CAAC;IACL,CAAC;IAED,WAAW;QACP,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;SACxB;IACL,CAAC;CACJ;;YArF0B,wDAAU;;AARxB;IAAR,2DAAK,EAAE;;8CAAc;AACb;IAAR,2DAAK,EAAE;;8CAAc;AACb;IAAR,2DAAK,EAAE;;gDAAgB;AACf;IAAR,2DAAK,EAAE;;6CAAgB;AACf;IAAR,2DAAK,EAAE;;6CAAa;AAEX;IAAT,4DAAM,EAAE;;4CAA4B;AAZ5B,aAAa;IAHzB,+DAAS,CAAC;QACP,QAAQ,EAAE,QAAQ;KACrB,CAAC;mFAeyB,wDAAU;GAdxB,aAAa,CAmGzB;AAnGyB;;;;;;;;;;;;;;;;;;ACP+E;AAMzG,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAUzB,YAAY,OAAmB;QAF/B,gBAAW,GAAG,KAAK,CAAC,CAAC,mDAAmD;QAGpE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,QAAQ;QACJ,IAAI,IAAI,GAAQ,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SAC3B;QAED,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,OAAiD;QACzD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5C;IACL,CAAC;IAED,WAAW;QACP,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;CACJ;;YA/BwB,wDAAU;;AARtB;IAAR,2DAAK,EAAE;;+CAAO;AACN;IAAR,2DAAK,EAAE;;+CAAO;AACN;IAAR,2DAAK,EAAE;;gDAAQ;AACP;IAAR,2DAAK,EAAE;;+CAAO;AALN,gBAAgB;IAH5B,+DAAS,CAAC;QACP,QAAQ,EAAE,WAAW;KACxB,CAAC;mFAWuB,wDAAU;GAVtB,gBAAgB,CAyC5B;AAzC4B;;;;;;;;;;;;;;;;;;;;ACNmD;AACpD;AAK5B,IAAa,YAAY,GAAzB,MAAa,YAAY;IAKrB,YAAmB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAI,CAAC;IAE3C,QAAQ;QACJ,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,UAAU;QACN,IAAI,EAAE,GAAG,6CAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;IAC9C,CAAC;IAED,WAAW;QACP,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;CAEJ;;YAhB+B,wDAAU;;AAH7B;IAAR,2DAAK,EAAE;;4CAAQ;AAFP,YAAY;IAHxB,+DAAS,CAAC;QACP,QAAQ,EAAE,OAAO;KACpB,CAAC;mFAM8B,wDAAU;GAL7B,YAAY,CAqBxB;AArBwB;;;;;;;;;;;;;;;;;;ACN4C;AAMrE,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAK5B,YAAmB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;QAFtC,kBAAa,GAAG,GAAG,CAAC;IAEsB,CAAC;IAE3C,QAAQ;QACJ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC;YACrC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC;SAC9C,CAAC,CAAC;IACP,CAAC;CAEJ;;YAR+B,wDAAU;;AAH7B;IAAR,2DAAK,EAAE;;mDAAgB;AAFf,mBAAmB;IAH/B,+DAAS,CAAC;QACP,QAAQ,EAAE,YAAY;KACzB,CAAC;mFAM8B,wDAAU;GAL7B,mBAAmB,CAa/B;AAb+B;;;;;;;;;;;;;;;;;;ACNgD;AAMhF,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAS3B,YAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAJlC,wDAAwD;QAChD,kBAAa,GAAG,kBAAkB,GAAG,IAAI,CAAC;QAI9C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED,aAAa;QACT,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,EACxB,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEhC,IAAI,CAAC,OAAO,EAAE,EAAC,gDAAgD;YAC3D,OAAO,GAAG,IAAI,CAAC;SAClB;aACI;YACD,IAAI,IAAI,EAAE,EAAC,0CAA0C;gBACjD,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;aACzC;SACJ;QAED,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,uBAAuB;QAC7D,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAElC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE3B,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE;gBAClC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,YAAY,CAAC,OAAO;QAChB,IAAG,IAAI,CAAC,MAAM,EAAE;YACZ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC;YAC1E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACjD;aACI;YACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC5C;IACL,CAAC;IAED,WAAW;QACP,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;CACJ;;YA/C2B,wDAAU;;AAPzB;IAAR,2DAAK,EAAE;;qDAAW;AACV;IAAR,2DAAK,EAAE;;kDAAQ;AAHP,kBAAkB;IAH9B,+DAAS,CAAC;QACP,QAAQ,EAAE,aAAa;KAC1B,CAAC;mFAU0B,wDAAU;GATzB,kBAAkB,CAwD9B;AAxD8B;;;;;;;;;;;;;;;;;;ACNiD;AAMhF,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAU3B,YAAmB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAI,CAAC;IAE3C,QAAQ;QAEJ,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACnD,OAAO;SACV;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACpB,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;YACxC,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE;gBACT,OAAO,EAAE;oBACL,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;oBAClC,cAAc,EAAE,CAAC;oBACjB,QAAQ,EAAE,MAAM;oBAChB,cAAc,EAAE,GAAG;oBACnB,gBAAgB,EAAE,CAAC;iBACtB;gBACD,KAAK,EAAE;oBACH,cAAc,EAAE,GAAG;iBACtB;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,MAAM;iBACf;gBACD,aAAa,EAAE,EACd;aACJ;YACD,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACzD,WAAW,EAAE;gBACT,OAAO,EAAE;oBACL,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;oBACjC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;iBACtC;aACJ;YACD,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;gBAC/B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBAC1C,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;iBACnE;YACL,CAAC;YACD,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,MAAM,EAAE;gBACJ,OAAO,EAAE,CAAC;wBACN,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;wBAClC,iBAAiB,EAAE,YAAY;qBAClC,CAAC;aACL;SACJ,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;IACzD,CAAC;CAEJ;;YA7D+B,wDAAU;;AAR7B;IAAR,2DAAK,EAAE;;qDAAmB;AAClB;IAAR,2DAAK,EAAE;;mDAAc;AACb;IAAR,2DAAK,EAAE;;sDAAiB;AAChB;IAAR,2DAAK,EAAE;;sDAAiB;AAChB;IAAR,2DAAK,EAAE;;uDAAkB;AANjB,kBAAkB;IAH9B,+DAAS,CAAC;QACP,QAAQ,EAAE,aAAa;KAC1B,CAAC;mFAW8B,wDAAU;GAV7B,kBAAkB,CAuE9B;AAvE8B;;;;;;;;;;;;;;;;;;ACNqB;AAKpD,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAE3B,SAAS,CAAC,KAAU,EAAE,IAAW;QAC/B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;YACtB,oBAAoB;YACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAEF;AAXY,gBAAgB;IAH5B,0DAAI,CAAC;QACJ,IAAI,EAAE,MAAM;KACb,CAAC;GACW,gBAAgB,CAW5B;AAX4B;;;;;;;;;;;;;ACL7B;AAAe,wEAAS,8BAA8B,GAAG,YAAY,sBAAsB,2BAA2B,GAAG,0BAA0B,yCAAyC,2BAA2B,GAAG,qBAAqB,iBAAiB,GAAG,oBAAoB,gBAAgB,wBAAwB,gBAAgB,oBAAoB,cAAc,GAAG,oCAAoC,qBAAqB,GAAG,mCAAmC,oBAAoB,GAAG,6CAA6C,unEAAunE,E;;;;;;;;;;;;;;;;;;;;;ACA5lF;AACT;AACsC;AAChB;AACxB;AACvC,MAAM,IAAI,GAAG,mBAAO,CAAC,oEAAY,CAAC,CAAC;AASnC,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAiChC,YACU,KAAa,EACb,kBAAsC;QADtC,UAAK,GAAL,KAAK,CAAQ;QACb,uBAAkB,GAAlB,kBAAkB,CAAoB;QAlChD,WAAM,GAAY,KAAK,CAAC;QACxB,aAAQ,GAAY,KAAK,CAAC;QAC1B,cAAS,GAAY,KAAK,CAAC;QAC3B,SAAI,GAAY,KAAK,CAAC;QACtB,kBAAa,GAAY,KAAK,CAAC;QAC/B,eAAU,GAAY,KAAK,CAAC;QAiB5B,UAAK,GAAW,CAAC,CAAC;QAClB,gBAAW,GAAY,KAAK,CAAC;QAC7B,uBAAkB,GAAY,KAAK,CAAC;QACpC,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;QACvB,mBAAc,GAAW,CAAC,CAAC;QAC3B,iBAAY,GAAW,CAAC,CAAC;QACzB,gBAAW,GAAW,CAAC,CAAC;QACxB,UAAK,GAAW,CAAC,CAAC;IAKd,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,oEAAoE;QACpE,8BAA8B;QAC9B,IAAI;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,kBAAkB;YACpC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAErF,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,IAAI,EAAE;YACrE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,IAAI,EAAE;YAClE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;QACD,sEAAsE;QACtE,gCAAgC;QAChC,IAAI;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,IAAI,EAAE;YACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QACD,uEAAuE;QACvE,iCAAiC;QACjC,IAAI;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,IAAI,IAAI,EAAE;YACrE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;QACD,mEAAmE;QACnE,4BAA4B;QAC5B,IAAI;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,IAAI,IAAI,EAAE;YACjE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;QACD,2EAA2E;QAC3E,qCAAqC;QACrC,IAAI;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,IAAI,IAAI,EAAE;YACzE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACjC;QACD,wEAAwE;QACxE,kCAAkC;QAClC,IAAI;QACJ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,IAAI,IAAI,EAAE;YACtE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC9B;QACD,sDAAsD;QACtD,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACpB;aAAK,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;aAAK,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;aAAK,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B;aAAK,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAK,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aACI,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;aACI,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;YAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;IACD,CAAC;IAED,aAAa;QACX,yCAAyC;QACzC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,eAAe;QACb,yCAAyC;QACzC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,WAAW;QACT,yCAAyC;QACzC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB;QAClB,yCAAyC;QACzC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB;QACd,yCAAyC;QACzC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC,kDAAkD;QAClD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,KAAK,GAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,GAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAI,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,GAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,GAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjD,QAAQ;QACJ,IACE,IAAI,CAAC,KAAK,IAAI,GAAG;YACjB,IAAI,CAAC,WAAW,IAAI,GAAG;YACvB,IAAI,CAAC,UAAU,IAAI,GAAG;YACtB,IAAI,CAAC,cAAc,IAAI,GAAG;YAC1B,IAAI,CAAC,YAAY,IAAI,GAAG;YACxB,IAAI,CAAC,WAAW,IAAI,GAAG;YACvB,IAAI,CAAC,KAAK,IAAI,GAAG,EAClB;YACC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;SACnD;IACH,CAAC;IAED,gBAAgB;QACd,yCAAyC;QACzC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC,6CAA6C;QAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,kBAAkB;QAChB,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB;QACjB,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,kBAAkB;aACpB,QAAQ,CACP,GAAG,mEAAU,CAAC,aAAa,CAAC,oBAC5B,aAAa,EAAE,EAAE,CAClB;aACA,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,QAAQ,GAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;CACF;;YA9JkB,sDAAM;YACO,4FAAkB;;AAnCrC,qBAAqB;IALjC,+DAAS,CAAC;QACT,QAAQ,EAAE,mBAAmB;QAC7B,0PAA6C;;KAE9C,CAAC;mFAmCiB,sDAAM;QACO,4FAAkB;GAnCrC,qBAAqB,CAgMjC;AAhMiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdW;AACiB;AACf;AACmB;AACnB;AACO;AACI;AACR;AACI;AACE;AACA;AACE;AACR;AACU;AACE;AACV;AACJ;AACY;AACN;AACA;AACI;AACE;AACE;AACG;AACe;AACS;AACjC;AACqB;AACG;AAClB;AACqB;AACT;AACoB;AAClD;AACF;AACQ;AACI;AACN;AACN;AACE;AACI;AACM;AACJ;AAEN;AACH;AACC;AACU;AACE;AACA;AACZ;AACsC;AACN;AACsD;AACA;AAC9D;AAC6C;AACS;AACrE;AACnD,wCAAwC;AAoIxC,IAAa,YAAY;AAFzB,qDAAqD;AAErD,MAAa,YAAY;IACrB,MAAM,CAAC,OAAO;QACV,OAAO;YACH,QAAQ,EAAE,cAAY;SACzB,CAAC;IACN,CAAC;CACJ;AANY,YAAY;IAnIxB,8DAAQ,CAAC;QACN,OAAO,EAAE;YACL,0DAAW;YACX,sEAAiB;YACjB,gEAAc;YACd,sEAAiB;YACjB,sEAAiB;YACjB,gEAAc;YACd,4DAAY;YACZ,0DAAW;YACX,kEAAmB;YACnB,mEAAe;YACf,4DAAY;YACZ,uEAAe,CAAC,OAAO,EAAE;YACzB,+DAAW,CAAC,OAAO,EAAE;YACrB,mEAAa,CAAC,OAAO,EAAE;YACvB,sEAAc,CAAC,OAAO,EAAE;YACxB,sEAAc,CAAC,OAAO,EAAE;YACxB,0EAAgB,CAAC,OAAO,EAAE;YAC1B,4EAAkB,CAAC,OAAO,EAAE;YAC5B,wEAAgB,CAAC,OAAO,EAAE;YAC1B,gEAAW,CAAC,OAAO,EAAE;YACrB,0EAAgB,CAAC,OAAO,EAAE;YAC1B,4EAAiB,CAAC,OAAO,EAAE;YAC3B,kEAAY,CAAC,OAAO,EAAE;YACtB,8DAAU,CAAC,OAAO,EAAE;YACpB,0EAAgB,CAAC,OAAO,EAAE;YAC1B,oEAAa,CAAC,OAAO,EAAE;YACvB,oEAAa,CAAC,OAAO,EAAE;YACvB,wEAAe,CAAC,OAAO,EAAE;YACzB,0DAAa,CAAC,OAAO,EAAE;YACvB,0DAAW;YACX,kEAAe;YACf,0DAAW;YACX,4DAAY;YACZ,gEAAc;YACd,sEAAiB;YACjB,gEAAc;YACd,kEAAe;YACf,sEAAiB;YACjB,0DAAW;YACX,gEAAc;YACd,oEAAgB;YAChB,mEAAmB;SACtB;QACD,SAAS,EAAE;YACP,qEAAa;YACb,0DAAc,EAAC,oEAAa,EAAC,wDAAQ;SACxC;QACD,YAAY,EAAE;YACV,8EAAa;YACb,6FAAkB;YAClB,sGAAqB;YACrB,0FAAiB;YACjB,6FAAkB;YAClB,2EAAY;YACZ,gGAAmB;YACnB,uFAAgB;YAChB,2GAAsB;YACtB,6FAAqB;YACrB,sFAAa;YACb,4IAAyB;YACzB,4IAAyB;YACzB,8EAAiB;YACjB,2HAAuB;YACvB,oIAA0B;SAC7B;QACD,OAAO,EAAE;YACL,0DAAW;YACX,sEAAiB;YACjB,4DAAY;YACZ,gEAAc;YACd,sEAAiB;YACjB,sEAAiB;YACjB,gEAAc;YACd,4DAAY;YACZ,0DAAW;YACX,kEAAmB;YACnB,mEAAe;YACf,4DAAY;YACZ,uEAAe;YACf,+DAAW;YACX,mEAAa;YACb,sEAAc;YACd,sEAAc;YACd,0EAAgB;YAChB,4EAAkB;YAClB,wEAAgB;YAChB,gEAAW;YACX,0EAAgB;YAChB,4EAAiB;YACjB,kEAAY;YACZ,8DAAU;YACV,0EAAgB;YAChB,oEAAa;YACb,oEAAa;YACb,wEAAe;YACf,8EAAa;YACb,6FAAkB;YAClB,sGAAqB;YACrB,0FAAiB;YACjB,6FAAkB;YAClB,2EAAY;YACZ,gGAAmB;YACnB,uFAAgB;YAChB,2GAAsB;YACtB,0DAAa;YACb,0DAAW;YACX,kEAAe;YACf,0DAAW;YACX,4DAAY;YACZ,gEAAc;YACd,sEAAiB;YACjB,gEAAc;YACd,kEAAe;YACf,sEAAiB;YACjB,0DAAW;YACX,gEAAc;YACd,oEAAgB;YAChB,6FAAqB;YACrB,sFAAa;YACb,4IAAyB;YACzB,4IAAyB;YACzB,8EAAiB;YACjB,2HAAuB;YACvB,oIAA0B;SAC7B;KACJ,CAAC;IAEF,qDAAqD;GAExC,YAAY,CAMxB;AANwB;;;;;;;;;;;;;AC/LzB;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,2BAA2B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,+KAA+K,yCAAyC,KAAK,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,2BAA2B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,gBAAgB,GAAG,sIAAsI,8BAA8B,gBAAgB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,gBAAgB,GAAG,0JAA0J,8BAA8B,gBAAgB,GAAG,4BAA4B,8BAA8B,mBAAmB,GAAG,mBAAmB,2BAA2B,GAAG,4CAA4C,gBAAgB,GAAG,8DAA8D,gBAAgB,GAAG,kJAAkJ,8BAA8B,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,us+BAAus+B,E;;;;;;;;;;;;ACAlwlC;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,2BAA2B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,+KAA+K,yCAAyC,KAAK,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,2BAA2B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,mBAAmB,GAAG,sIAAsI,mBAAmB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,mBAAmB,GAAG,0JAA0J,mBAAmB,GAAG,4BAA4B,+BAA+B,GAAG,mBAAmB,2BAA2B,GAAG,4CAA4C,mBAAmB,GAAG,8DAA8D,mBAAmB,GAAG,kJAAkJ,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,u98BAAu98B,E;;;;;;;;;;;;ACAx7jC;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,2BAA2B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,+KAA+K,yCAAyC,KAAK,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,2BAA2B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,mBAAmB,GAAG,sIAAsI,mBAAmB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,mBAAmB,GAAG,0JAA0J,mBAAmB,GAAG,4BAA4B,+BAA+B,GAAG,mBAAmB,2BAA2B,GAAG,4CAA4C,mBAAmB,GAAG,8DAA8D,mBAAmB,GAAG,kJAAkJ,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,298BAA298B,E;;;;;;;;;;;;ACA57jC;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,2BAA2B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,+KAA+K,yCAAyC,KAAK,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,2BAA2B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,mBAAmB,GAAG,sIAAsI,mBAAmB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,mBAAmB,GAAG,0JAA0J,mBAAmB,GAAG,4BAA4B,+BAA+B,GAAG,mBAAmB,2BAA2B,GAAG,4CAA4C,mBAAmB,GAAG,8DAA8D,mBAAmB,GAAG,kJAAkJ,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,298BAA298B,E;;;;;;;;;;;;ACA57jC;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,8BAA8B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,+KAA+K,yCAAyC,KAAK,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,8BAA8B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,mBAAmB,GAAG,sIAAsI,mBAAmB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,mBAAmB,GAAG,0JAA0J,mBAAmB,GAAG,4BAA4B,+BAA+B,GAAG,mBAAmB,8BAA8B,GAAG,4CAA4C,mBAAmB,GAAG,8DAA8D,mBAAmB,GAAG,kJAAkJ,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,u+8BAAu+8B,E;;;;;;;;;;;;ACAj9jC;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,8BAA8B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,+KAA+K,yCAAyC,KAAK,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,8BAA8B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,mBAAmB,GAAG,sIAAsI,mBAAmB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,mBAAmB,GAAG,0JAA0J,mBAAmB,GAAG,4BAA4B,+BAA+B,GAAG,mBAAmB,8BAA8B,GAAG,4CAA4C,mBAAmB,GAAG,8DAA8D,mBAAmB,GAAG,kJAAkJ,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,2+8BAA2+8B,E;;;;;;;;;;;;ACAr9jC;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,8BAA8B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,+KAA+K,yCAAyC,KAAK,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,8BAA8B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,mBAAmB,GAAG,sIAAsI,mBAAmB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,mBAAmB,GAAG,0JAA0J,mBAAmB,GAAG,4BAA4B,+BAA+B,GAAG,mBAAmB,8BAA8B,GAAG,4CAA4C,mBAAmB,GAAG,8DAA8D,mBAAmB,GAAG,kJAAkJ,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,mg9BAAmg9B,E;;;;;;;;;;;;ACA7+jC;AAAe,sRAAuN,8BAA8B,GAAG,6BAA6B,8BAA8B,GAAG,qMAAqM,8BAA8B,0EAA0E,gCAAgC,GAAG,6BAA6B,+KAA+K,yCAAyC,KAAK,GAAG,qDAAqD,gBAAgB,GAAG,wGAAwG,gBAAgB,GAAG,sOAAsO,mBAAmB,GAAG,sEAAsE,8BAA8B,GAAG,gMAAgM,8BAA8B,GAAG,yBAAyB,mBAAmB,GAAG,wDAAwD,mBAAmB,GAAG,sIAAsI,mBAAmB,GAAG,kEAAkE,oBAAoB,GAAG,oQAAoQ,8BAA8B,mBAAmB,GAAG,0JAA0J,mBAAmB,GAAG,4BAA4B,+BAA+B,GAAG,mBAAmB,8BAA8B,GAAG,4CAA4C,mBAAmB,GAAG,8DAA8D,mBAAmB,GAAG,kJAAkJ,mBAAmB,GAAG,4EAA4E,mBAAmB,GAAG,wFAAwF,0BAA0B,8BAA8B,GAAG,sMAAsM,8CAA8C,2BAA2B,mBAAmB,GAAG,6CAA6C,2/8BAA2/8B,E;;;;;;;;;;;;ACAr+jC;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACvB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE;QACL,MAAM,EAAE,kDAAkD;KAC3D;CACN,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;AClBnE;AAAA;AAAO,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,EAClC,MAAM,GAAG,KAAK,EACd,GAAG,GAAG,wCAAwC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;QACpB,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE;YAC1B,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;;;;;;;;;;;;;ACXH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;GASG;AAEkB;AAC0B;AAC4B;AAE9B;AACY;AACzD,iFAAiF;AACgB;AACjG,iFAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,GAAG,CAAC,UAAU,EAAE;QAClB,oEAAc,EAAE,CAAC;KAClB;IACD,qEAAW,CAAC,UAAU,CAAC,qBAAQ,GAAG,CAAE,CAAC;IACrC,SAAS,UAAU;QACjB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAE9E,IAAI,CAAC,GAAG,gGAAsB,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,yDAAS,CAAC,CAAC;IACrE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAS,MAAO,CAAC,YAAY,IAAU,MAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAIH,qCAAqC;;;;;;;;;;;;ACrCrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA,kBAAkB,qCAAqC;AACvD,KAAK;;AAEL;AACA,kBAAkB,mBAAmB;AACrC;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA,yBAAyB,+BAA+B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;;AAEA;;;AAGA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe;AACf;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB,eAAe,kBAAkB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,aAAa,oBAAoB,EAAE,EAAE;AAC9G;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,iBAAiB;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,eAAe,SAAS;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,OAAO;AACpB,aAAa,eAAe;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,uBAAuB;AACpC,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA,wCAAwC,iCAAiC,8BAA8B,4BAA4B,6BAA6B;AAChK;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA,4BAA4B,sBAAsB,mBAAmB,iBAAiB,kBAAkB;AACxG;AACA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B;AAC5B;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,YAAY,mBAAmB,EAAE;AACxE;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,YAAY,cAAc,WAAW;AAC5E,kEAAkE;AAClE,mEAAmE;AACnE,iEAAiE;AACjE,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,aAAa,OAAO,aAAa;AAClE,0DAA0D;AAC1D,yDAAyD;AACzD,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ,SAAS;AACtD;AACA;AACA;AACA,OAAO;AACP;AACA,yDAAyD,MAAM;AAC/D;AACA;AACA;AACA;AACA;;AAEA,cAAc,WAAW,UAAU,YAAY,SAAS,UAAU,UAAU;;AAE5E;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,4BAA4B,mBAAmB,oBAAoB;AACnE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,eAAe;AACf;;AAEA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,GAAG;;;;;AAKH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,iBAAiB;AAC9B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;;AAEA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,EAAE;AAC7B,GAAG;;;AAGH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,yBAAyB;AAC1C;AACA;;AAEA;AACA;;;AAGA;;AAEA,CAAC,oB;;;;;;;;;;;;ACntDD;AAAA;AAAA;AAAwB,CAAC,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;ACDnE,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n

{{message.summary}}

\\r\\n

{{message.detail}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Your session will Expire

\\r\\n
\\r\\n
\\r\\n {{idleState}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"
\\r\\n
\\r\\n © {{settings.getAppSetting('year')}} - {{ settings.getAppSetting('name') }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{settings.getAppSetting('version')}}\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\t
\\r\\n\\t\\t\\r\\n\\t
\\r\\n\\t
\\r\\n\\t\\tProfile\\t\\r\\n\\t
\\r\\n
\\r\\n\\r\\n
\\r\\n\\t
\\r\\n\\t\\t\\r\\n\\t
\\r\\n\\t
\\r\\n\\t\\tLogout\\r\\n\\t
\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\t
\\r\\n\\t\\t\\r\\n\\t\\t
\\r\\n\\t\\t\\t\\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\t\\r\\n\\t\\r\\n
\\r\\n\";","export default \"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{item.Value}}\\r\\n \\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n\\t\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"Avatar\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ 'sidebar.WELCOME' | translate }} John\\r\\n Programmer\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Inherent AML Risk
\\r\\n
Control Effectiveness
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{item.riskAttribute}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
1\\\" class=\\\"scroll mb-2\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{items.riskType}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Action\\r\\n Sr.No\\r\\n Risk Attribute\\r\\n Risk Classification\\r\\n \\r\\n Response\\r\\n \\r\\n Offering\\r\\n No. of Customers(%)\\r\\n \\r\\n Volume of\\r\\n Transactions(%)\\r\\n Value of\\r\\n Transactions(%)\\r\\n Risk Rating\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{i+1}}\\r\\n \\r\\n \\r\\n {{value.riskTypeAttribute}}\\r\\n \\r\\n \\r\\n {{value.RC}}\\r\\n \\r\\n \\r\\n {{value.qualitativeFactorsResponse}}\\r\\n \\r\\n \\r\\n {{value.offer}}\\r\\n \\r\\n \\r\\n {{value.noOfCustomersPer}}\\r\\n \\r\\n \\r\\n {{value.volumeOfTransactionsPer}}\\r\\n \\r\\n \\r\\n {{value.valueOfTransactionsPer}}\\r\\n \\r\\n \\r\\n {{value.riskClassificationAggr}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Risk Classification* :


\\r\\n \\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Response* :\\r\\n


\\r\\n \\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Note :\\r\\n


\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

Offering


\\r\\n \\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

No Of Customers*\\r\\n :


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n {{max_value}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Volume Of Transactions* :


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n {{max_value}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n Value Of Transactions* :\\r\\n


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n {{max_value}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Data Not Available

\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ActionSr.NoQuestionReference GuidelinesControls DesignControls EffectivenessControl / Mitigating
Factors Rating
Remedial MeasuresPICDue Date for
Implementation
Are Controls/Risk
Mitigating Factors in place?
Are there any controls in
column E implemented based
on\\r\\n your existing policies,
procedures or practices?
Documentary
Reference
Are the controls
effectiveto mitigate
the risk\\r\\n identified
If controls/risk mitigating
factors are in place as\\r\\n referenced
in Column, are tests conducted to
determine its effectiveness?
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{i+1}}\\r\\n \\r\\n
\\r\\n {{value.question}}\\r\\n
\\r\\n
\\r\\n {{value.referenceGuidelines}}\\r\\n \\r\\n {{value.ExistenceResponse}}\\r\\n \\r\\n {{value.controlExistenceExplanation}}\\r\\n \\r\\n {{value.controlExistenceDocReference}}\\r\\n \\r\\n {{value.EffectivenessResponse}}\\r\\n \\r\\n {{value.controlEffectivenessExplanation}}\\r\\n \\r\\n {{value.mitigatingFactorRating}}\\r\\n \\r\\n {{value.riskTreatmentActions}}\\r\\n \\r\\n {{value.pic}}\\r\\n \\r\\n {{value.implementationDueDate}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n No records found\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Existence Response\\r\\n * :


\\r\\n \\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Control Existence Explanation* :


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Control Existence Doc Reference* :


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Effectiveness Response* :


\\r\\n \\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Control Effectiveness Explanation\\r\\n * :\\r\\n


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Remedial Measures*\\r\\n :


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

PIC* :

\\r\\n
\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Implementation Due\\r\\n Date* :


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{UploadErrorMessage}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Inherent AML Risk Assessment
\\r\\n
Control Effectiveness Assessment
\\r\\n
Business Units
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Risk Category\\r\\n {{item.subCategory}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Sr.No\\r\\n Risk Category\\r\\n Weightage\\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sr.No:\\r\\n {{ri + 1}}\\r\\n \\r\\n \\r\\n Risk Category:\\r\\n {{rowData.subCategory}}\\r\\n \\r\\n \\r\\n Weightage:\\r\\n {{rowData.weightage}}%\\r\\n \\r\\n \\r\\n Action:\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\" class=\\\"col-md-12 p-0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Sr.No\\r\\n Risk Attribute\\r\\n Weightage\\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sr.No:\\r\\n {{ri + 1}}\\r\\n \\r\\n \\r\\n Risk Attribute:\\r\\n {{rowData.riskAttribute}}\\r\\n \\r\\n \\r\\n Weightage:\\r\\n {{rowData.weightage}}%\\r\\n \\r\\n \\r\\n Action:\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\" class=\\\"col-md-12 p-0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Sr.No\\r\\n Risk Attribute\\r\\n Weightage\\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sr.No:\\r\\n {{ri + 1}}\\r\\n \\r\\n \\r\\n Risk Attribute:\\r\\n {{rowData.riskType}}\\r\\n \\r\\n \\r\\n Weightage:\\r\\n {{rowData.weightage}}%\\r\\n \\r\\n \\r\\n Action:\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\" class=\\\"col-md-12 p-0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Sr.No\\r\\n Risk Attribute\\r\\n Weightage\\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sr.No:\\r\\n {{ri + 1}}\\r\\n \\r\\n \\r\\n Risk Attribute:\\r\\n {{rowData.riskType}}\\r\\n \\r\\n \\r\\n Weightage:\\r\\n {{rowData.weightage}}%\\r\\n \\r\\n \\r\\n Action:\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\" class=\\\"col-md-12 p-0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Sr.No\\r\\n Risk Attribute\\r\\n Weightage\\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sr.No:\\r\\n {{ri + 1}}\\r\\n \\r\\n \\r\\n Risk Attribute:\\r\\n {{rowData.riskAttribute}}\\r\\n \\r\\n \\r\\n Weightage:\\r\\n {{rowData.weightage}}%\\r\\n \\r\\n \\r\\n Action:\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\" class=\\\"col-md-12 p-0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Sr.No\\r\\n Risk Attribute\\r\\n Weightage\\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sr.No:\\r\\n {{ri + 1}}\\r\\n \\r\\n \\r\\n Risk Attribute:\\r\\n {{rowData.riskType}}\\r\\n \\r\\n \\r\\n Weightage:\\r\\n {{rowData.weightage}}%\\r\\n \\r\\n \\r\\n Action:\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\" class=\\\"col-md-12 p-0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Sr.No\\r\\n Risk Attribute\\r\\n Weightage\\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sr.No:\\r\\n {{ri + 1}}\\r\\n \\r\\n \\r\\n Risk Attribute:\\r\\n {{rowData.riskType}}\\r\\n \\r\\n \\r\\n Weightage:\\r\\n {{rowData.weightage}}%\\r\\n \\r\\n \\r\\n Action:\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\" class=\\\"col-md-12 p-0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Risk\\r\\n Category/Attribute*\\r\\n :


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Weightage\\r\\n * :\\r\\n


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{weightagePattern}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
0\\\" class=\\\"col-md-12 p-0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Sr.No\\r\\n Risk Category\\r\\n Weightage\\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sr.No:\\r\\n {{ri + 1}}\\r\\n \\r\\n \\r\\n Risk Category:\\r\\n {{rowData.subCategory}}\\r\\n \\r\\n \\r\\n Weightage:\\r\\n {{rowData.weightage}}%\\r\\n \\r\\n \\r\\n Action:\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Risk Category\\r\\n * :\\r\\n


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Weightage\\r\\n * :\\r\\n


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{weightagePattern}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n
0\\\" class=\\\"col-md-12 p-0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Sr.No\\r\\n Business Unit\\r\\n Weightage\\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Sr.No:\\r\\n {{ri + 1}}\\r\\n \\r\\n \\r\\n Business Unit:\\r\\n {{rowData.buname}}\\r\\n \\r\\n \\r\\n Weightage:\\r\\n {{rowData.weightage}}%\\r\\n \\r\\n \\r\\n Action:\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Business Unit\\r\\n * :\\r\\n


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Weightage\\r\\n * :\\r\\n


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{weightagePattern}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n Dashboard\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n Dashboard\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{colsMain.header}}\\r\\n\\r\\n \\r\\n \\r\\n {{colsMain.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{colsMain.header}}\\r\\n \\r\\n {{rowData[colsMain.field]}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{col.header}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n {{rowData[col.field]}}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n Dashboard\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Detailed Report\\r\\n Composition Report\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Risk Meter
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Residual Risk Scorecard
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Trend Analysis
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{taYear1.value}} Risk Assessment\\r\\n \\r\\n {{taYear2.value}} Risk Assessment\\r\\n \\r\\n TREND\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.year1Assessment}}\\r\\n \\r\\n {{item.year2Assessment}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{item.riskCategory}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Full Name*\\r\\n


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{validationMessage.inputFieldPatternErrorMessage}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Email ID*\\r\\n


\\r\\n \\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n {{noWhiteSpace}}\\r\\n
\\r\\n
\\r\\n {{validemail}}\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Designation*\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

Select Role*\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{required}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n \\r\\n\";","export default \"
\\r\\n
\\r\\n Entity Management \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Assessment Status \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\";","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser'; \r\n\r\n@Pipe({\r\n name: 'sanitizeHtml'\r\n})\r\nexport class CustomCssPipePipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) { }\r\n\r\n transform(value: string): SafeHtml {\r\n return this._sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","export default \".margin-left-5Per {\\n margin-left: 5%;\\n}\\n\\n.btn-logout-background-color {\\n background-color: red !important;\\n color: white;\\n}\\n\\n.btn-continue-background-color {\\n background-color: green !important;\\n color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXGFwcC5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZUFBQTtBQ0NKOztBREVBO0VBQ0ksZ0NBQUE7RUFDQSxZQUFBO0FDQ0o7O0FERUE7RUFDSSxrQ0FBQTtFQUNBLFlBQUE7QUNDSiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYXJnaW4tbGVmdC01UGVye1xyXG4gICAgbWFyZ2luLWxlZnQ6IDUlO1xyXG59XHJcblxyXG4uYnRuLWxvZ291dC1iYWNrZ3JvdW5kLWNvbG9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uYnRuLWNvbnRpbnVlLWJhY2tncm91bmQtY29sb3Ige1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4gIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufSIsIi5tYXJnaW4tbGVmdC01UGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDUlO1xufVxuXG4uYnRuLWxvZ291dC1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ0bi1jb250aW51ZS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW4gIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlO1xufSJdfQ== */\";","import { NotificationService } from './core/services/notification.service';\r\nimport { Component, HostBinding, OnInit, ViewChild, TemplateRef, ElementRef, AfterViewInit, ChangeDetectorRef, ViewRef } from '@angular/core';\r\nimport { SettingsService } from './core/settings/settings.service';\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\r\nimport { Keepalive } from '@ng-idle/keepalive';\r\nimport { Router } from '@angular/router';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { CredentialsService } from './core/services/credentials.service';\r\n//import * as timing from 'src/assets/environments/ideal-time-out.json';\r\nimport { environment } from '../environments/environment';\r\nimport { AuthenticationService } from './core/services/authentication.service';\r\nimport { HttpGenericService } from \"src/app/core/services/http-genric.service\";\r\nimport { API } from \"src/app/shared/constants/api.constants\";\r\nimport { first } from \"rxjs/operators\";\r\nconst swal = require(\"sweetalert\");\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n title = 'angular-idle-timeout';\r\n api = API;\r\n \r\n public modalRef: BsModalRef;\r\n \r\n @ViewChild('childModal', { static: false }) childModal: ModalDirective;\r\n\r\n @HostBinding('class.layout-fixed') get isFixed() { return this.settings.getLayoutSetting('isFixed'); };\r\n @HostBinding('class.aside-collapsed') get isCollapsed() { return this.settings.getLayoutSetting('isCollapsed'); };\r\n @HostBinding('class.layout-boxed') get isBoxed() { return this.settings.getLayoutSetting('isBoxed'); };\r\n @HostBinding('class.layout-fs') get useFullLayout() { return this.settings.getLayoutSetting('useFullLayout'); };\r\n @HostBinding('class.hidden-footer') get hiddenFooter() { return this.settings.getLayoutSetting('hiddenFooter'); };\r\n @HostBinding('class.layout-h') get horizontal() { return this.settings.getLayoutSetting('horizontal'); };\r\n @HostBinding('class.aside-float') get isFloat() { return this.settings.getLayoutSetting('isFloat'); };\r\n @HostBinding('class.offsidebar-open') get offsidebarOpen() { return this.settings.getLayoutSetting('offsidebarOpen'); };\r\n @HostBinding('class.aside-toggled') get asideToggled() { return this.settings.getLayoutSetting('asideToggled'); };\r\n @HostBinding('class.aside-collapsed-text') get isCollapsedText() { return this.settings.getLayoutSetting('isCollapsedText'); };\r\n\r\n constructor(public settings: SettingsService,\r\n public notificationService:NotificationService,\r\n private idle: Idle, private keepalive: Keepalive, \r\n private router: Router, private modalService: BsModalService,\r\n private credentialsService: CredentialsService,\r\n private authenticationService: AuthenticationService,\r\n private cdr: ChangeDetectorRef,\r\n private httpGenericService: HttpGenericService) { \r\n\r\n // sets an idle timeout of 10 seconds, for testing purposes.\r\n idle.setIdle(environment['settings'].setIdle);\r\n // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.\r\n idle.setTimeout(environment['settings'].setTimeout);\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n idle.onIdleEnd.subscribe(() => { \r\n this.idleState = 'No longer idle.'\r\n //console.log(this.idleState);\r\n this.reset();\r\n });\r\n \r\n idle.onTimeout.subscribe(() => {\r\n this.childModal.hide();\r\n this.idleState = 'Timed out!';\r\n this.timedOut = true;\r\n //console.log(this.idleState);\r\n this.logout();\r\n });\r\n \r\n idle.onIdleStart.subscribe(() => {\r\n this.idleState = 'You\\'ve gone idle!'\r\n //console.log(this.idleState);\r\n this.childModal.show();\r\n });\r\n let extend = \"'Extend Session'\"\r\n idle.onTimeoutWarning.subscribe((countdown) => {\r\n this.idleState = 'In case you want to continue Click on '+ extend +', your session will expire in '+ countdown +'';\r\n //console.log(this.idleState);\r\n });\r\n\r\n // sets the ping interval to 15 seconds\r\n keepalive.interval(60);\r\n\r\n keepalive.onPing.subscribe(() => this.lastPing = new Date());\r\n\r\n this.credentialsService.getUserLoggedIn().subscribe(userLoggedIn => {\r\n if (userLoggedIn) {\r\n idle.watch()\r\n this.timedOut = false;\r\n } else {\r\n idle.stop();\r\n }\r\n })\r\n }\r\n\r\n reset() {\r\n this.idle.watch();\r\n this.timedOut = false;\r\n }\r\n\r\n hideChildModal(): void {\r\n this.childModal.hide();\r\n }\r\n\r\n stay() {\r\n this.childModal.hide();\r\n this.reset();\r\n }\r\n\r\n logout() {\r\n let userDetails = this.credentialsService.credentials;\r\n this.httpGenericService\r\n .postData(\r\n `${this.api.authentication.logoutUser}?`,\r\n userDetails\r\n )\r\n .pipe(first())\r\n .subscribe((data) => {\r\n let response = data;\r\n if (response.StatusCode === 200) {\r\n this.childModal.hide();\r\n // this.credentialsService.setUserLoggedIn(false);\r\n // this.router.navigate(['/']);\r\n this.authenticationService.logout();\r\n let adfsLogin = localStorage.getItem(\"adfsLOGIN\");\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n if (adfsLogin == \"true\") {\r\n window.location.href = \"https://login.windows.net/\" + environment['settings'].tenantId + \"/oauth2/logout?post_logout_redirect_uri=\" + environment['settings'].redirectUrl;\r\n }\r\n else {\r\n setTimeout(() => {\r\n if (this.cdr && !(this.cdr as ViewRef).destroyed) {\r\n this.cdr.detectChanges();\r\n }\r\n this.router.navigate(['/login']);\r\n });\r\n }\r\n\r\n }\r\n\r\n else {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Error occured while logging out the user\",\r\n });\r\n }\r\n });\r\n\r\n \r\n }\r\n\r\n ngOnInit() {\r\n // console.log(\"tenantid\", environment['settings'].tenantId);\r\n // console.log(\"idealtime\", environment['settings'].setIdle);\r\n // console.log(\"timeout\", environment['settings'].setTimeout);\r\n // prevent empty links to reload the page\r\n document.addEventListener('click', e => {\r\n const target = e.target as HTMLElement;\r\n if (target.tagName === 'A' && ['', '#'].indexOf(target.getAttribute('href')) > -1)\r\n e.preventDefault();\r\n });\r\n }\r\n}\r\n","import { RoutesModule } from './routes.module';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations'; // this is needed!\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { AppComponent } from './app.component';\r\nimport { CoreModule } from './core/core.module';\r\nimport { LayoutModule } from './layout/layout.module';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DynamictablePipe } from './shared/dynamictable.pipe';\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive'; // this includes the core NgIdleModule but includes keepalive providers for easy wireup\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\n//import { MsalModule } from '@azure/msal-angular';\r\n//import { environment } from '../assets/environments/environment';\r\nimport * as environment from 'src/assets/environments/environment.json';\r\n\r\n// export const protectedResourceMap: [string, string][] = [\r\n// ['https://buildtodoservice.azurewebsites.net/api/todolist', environment.scopeUri],\r\n// ['https://graph.microsoft.com/v1.0/me', 'user.read']];\r\n\r\n\r\nexport function createTranslateLoader(http: HttpClient) {\r\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n DynamictablePipe\r\n ],\r\n imports: [\r\n HttpClientModule,\r\n BrowserAnimationsModule, // required for ng2-tag-input\r\n CoreModule,\r\n LayoutModule,\r\n SharedModule.forRoot(),\r\n RoutesModule,\r\n CommonModule,\r\n NgIdleKeepaliveModule.forRoot(),\r\n ModalModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: (createTranslateLoader),\r\n deps: [HttpClient]\r\n }\r\n }),\r\n\r\n ],\r\n providers: [],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { HttpCancelService } from './services/http-cancel.service';\r\nimport { LoadingScreenService } from './services/loading-screen.service';\r\nimport { HttpGenericService } from './services/http-genric.service';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { httpInterceptorProviders } from './interceptors/index';\r\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\r\n\r\nimport { SettingsService } from './settings/settings.service';\r\nimport { ThemesService } from './themes/themes.service';\r\nimport { TranslatorService } from './translator/translator.service';\r\nimport { MenuService } from './services/menu.service';\r\n\r\nimport { throwIfAlreadyLoaded } from './module-import-guard';\r\nimport { HttpClientModule, HttpClientXsrfModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n HttpClientModule,\r\n HttpClientXsrfModule.withOptions({\r\n cookieName: 'XSRF-TOKEN',\r\n headerName: 'X-XSRF-TOKEN',\r\n })\r\n ],\r\n providers: [\r\n httpInterceptorProviders,\r\n AuthenticationService,\r\n HttpGenericService,\r\n SettingsService,\r\n ThemesService,\r\n TranslatorService,\r\n MenuService,\r\n LoadingScreenService,\r\n HttpCancelService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ]\r\n})\r\nexport class CoreModule {\r\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\r\n }\r\n}\r\n","import { HttpGenericService } from './../services/http-genric.service';\r\nimport { CredentialsService } from './../services/credentials.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { UserConcurrentLogin } from '../../shared/models/ApplicationUser';\r\nimport { first } from 'rxjs/operators';\r\nimport { API } from \"../../shared/constants/api.constants\";\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PartnerGuard implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private credentialsService: CredentialsService,private httpGenericSerivce: HttpGenericService) { }\r\n credentials: any = {};\r\n logout: UserConcurrentLogin = {};\r\n api=API;\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n // console.clear();\r\n if(this.credentialsService.credentials ){\r\n return true;\r\n }else{\r\n this.router.navigate(['/']);\r\n return false;\r\n }\r\n }\r\n}\r\n","import { LoggingService } from './../services/logging.service';\r\nimport { NotificationService } from './../services/notification.service';\r\nimport { ErrorService } from './../services/error.service';\r\nimport { HttpGenericService } from '../services/http-genric.service';\r\nimport { CredentialsService } from '../services/credentials.service';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { JWTTokenResponse } from '../../shared/models/JWTTokenAuthentication';\r\nimport { UserConcurrentLogin } from '../../shared/models/ApplicationUser';\r\n/**\r\n * Adds a default error handler to all requests.\r\n */\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ApiErrorHandlerInterceptor implements HttpInterceptor {\r\n\tjWTTokenResponse: JWTTokenResponse = {};\r\n\tcurrentUser: any;\r\n\tlogout: UserConcurrentLogin = {};\r\n\tconstructor(private authenticationService: AuthenticationService, private route: Router,\r\n\t\tprivate credentialsService: CredentialsService,\r\n\t\tprivate injector: Injector\r\n\t) {\r\n\r\n\t}\r\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\t\treturn next.handle(request).pipe(catchError(error => this.errorHandler(error, next, request)));\r\n\t}\r\n\r\n\t// Customize the default error handler here if needed\r\n\tprivate errorHandler(response: any, next: any, Oldrequest: any): Observable> {\r\n\r\n\t\tconst errorService = this.injector.get(ErrorService);\r\n\t\tconst logger = this.injector.get(LoggingService);\r\n\t\tconst notifier = this.injector.get(NotificationService);\r\n\r\n\t\tthis.currentUser = this.credentialsService.credentials;\r\n\r\n\t\tlet errorMessage = '';\r\n\r\n\t\tif (response.error instanceof ErrorEvent) {\r\n\t\t\t// client-side error\r\n\t\t\t// errorMessage = errorService.getClientErrorEventMessage(response.error);\r\n\t\t\tconst message = errorService.getClientMessage(response.error);\r\n\t\t\tconst stackTrace = errorService.getClientStack(response.error);\r\n\t\t\t//notifier.showError(\"message\", \"stackTrace\");\r\n\t\t\t// logger.logError(\"Client ErrorEvent \", response.error);\r\n\t\t}\r\n\t\telse {\r\n\t\t\t// server-side error\r\n\t\t\tnotifier.closeConfirm();\r\n\t\t\tconst notificationObject = errorService.getAPIErrorResponse(response);\r\n\t\t\tif (notificationObject) {\r\n\t\t\t\tnotifier.showError(notificationObject.summary, notificationObject.message);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconst notification = errorService.getServerMessage(response);\r\n\t\t\t\t//notifier.showError(\"Error\", \"\");\r\n\t\t\t}\r\n\t\t\t// logger.logError(response.message, JSON.stringify(response));\r\n\t\t\t// console.error(response);\r\n\t\t}\r\n\t\tswitch (response.status) {\r\n\t\t\tcase 403:\r\n\t\t\t\tthis.authenticationService.logout();\r\n\t\t\t\tlocalStorage.clear();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 401:\r\n\t\t\t\tnotifier.showError(\"Session Expired\", \"Your session has expired. Please login again to continue working.\");\r\n\t\t\t\tthis.authenticationService.logout();\r\n\t\t\t\tlocalStorage.clear();\r\n\t\t\t\tthis.route.navigate(['/login']);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 404:\r\n\t\t\t\tnotifier.showError(\"Error\", \"The specified URI does not exist. Please verify and try again.\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase 204:\r\n\t\t\t\tnotifier.showError(\"Error\", \"The specified URI does not contain any content.\");\r\n\t\t\t\tbreak;\r\n\t\t\tcase 400:\r\n\t\t\t\tnotifier.showError(\"Error\", \"Please correct the specified validation errors and try again.\");\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tnotifier.showError(\"Error\", \"Your request cannot be processed. Please contact a support.\");\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tthrow response;\r\n\t}\r\n\r\n}\r\n","import { CredentialsService } from '../services/credentials.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n//import * as environment from 'src/assets/environments/environment.local.json';\r\n/**\r\n * Prefixes all requests not starting with `http[s]` with `environment.serverUrl`.\r\n */\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ApiHeaderInterceptor implements HttpInterceptor {\r\n\tconstructor(public credentialsService: CredentialsService) {\r\n\r\n\t}\r\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n\t\tif (!request.url.includes(\"assets/\")) {\r\n\t\t\t// let token = this.credentialsService.token; //JSON.parse(localStorage.getItem('currentUser'));\r\n let token = localStorage.getItem(\"APICRED\");\r\n //let sessionId = sessionStorage.getItem(\"sessionId\");\r\n let sessionId = localStorage.getItem(\"sessionId\");\r\n\t let idTokenIss = localStorage.getItem(\"idTokenIss\");\r\n\t let idTokenAud = localStorage.getItem(\"idTokenAud\");\r\n\t //console.log(\"abeubb\", idTokenAud);\r\n\t \r\n\t\t\tif (token) {\r\n request = request.clone({\r\n\r\n\t\t\t\t\tsetHeaders: {\r\n\t\t\t\t\t\tAuthorization: `Bearer ${token}`,\r\n\t\t\t\t\t\tresponseType: \"JSON\",\r\n\t\t\t\t\t\tCacheControl: \"no-cache, no-store, must-revalidate, post- check=0, pre-check=0\",\r\n\t\t\t\t\t\tPragma: 'no-cache', Expires: '0', Session:`${sessionId}`,idTokenIss:`${idTokenIss}`, idTokenAud:`${idTokenAud}`\r\n\t\t\t\t\t}, url: this.credentialsService.decryptdata(environment['settings'].endPoint) + request.url,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\trequest = request.clone({ url: this.credentialsService.decryptdata(environment['settings'].endPoint) + request.url });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\t\treturn next.handle(request);\r\n\t}\r\n}\r\n","import { HttpCancelService } from './../services/http-cancel.service';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class HttpCancelInterceptor implements HttpInterceptor {\r\n constructor(private httpCancelService: HttpCancelService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(req).pipe(takeUntil(this.httpCancelService.onCancelPendingRequests()));\r\n }\r\n}\r\n","import { ApiErrorHandlerInterceptor } from './api-error-handler.interceptor';\r\nimport { ApiHeaderInterceptor } from './api-header.interceptor';\r\nimport { HttpCancelInterceptor } from './httpcancel.interceptor';\r\nimport { GlobalErrorHandler } from './global-error-handler';\r\nimport { ErrorHandler } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { LoadingScreenInterceptor } from './loading-screen-interceptor';\r\n\r\nexport const httpInterceptorProviders = [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ApiHeaderInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ApiErrorHandlerInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: HttpCancelInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: LoadingScreenInterceptor,\r\n multi: true\r\n },\r\n // {\r\n // provide: ErrorHandler,\r\n // useClass: GlobalErrorHandler,\r\n // }\r\n];","import { LoadingScreenService } from './../services/loading-screen.service';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { finalize } from \"rxjs/operators\";\r\n\r\n\r\n@Injectable()\r\nexport class LoadingScreenInterceptor implements HttpInterceptor {\r\n\r\n activeRequests: number = 0;\r\n\r\n /**\r\n * URLs for which the loading screen should not be enabled\r\n */\r\n skippUrls = [\r\n '/authrefresh',\r\n ];\r\n\r\n constructor(private loadingScreenService: LoadingScreenService) {\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n let displayLoadingScreen = true;\r\n\r\n for (const skippUrl of this.skippUrls) {\r\n if (new RegExp(skippUrl).test(request.url)) {\r\n displayLoadingScreen = false;\r\n break;\r\n }\r\n }\r\n\r\n if (displayLoadingScreen) {\r\n if (this.activeRequests === 0) {\r\n this.loadingScreenService.startLoading();\r\n }\r\n this.activeRequests++;\r\n\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n this.activeRequests--;\r\n if (this.activeRequests === 0) {\r\n this.loadingScreenService.stopLoading();\r\n }\r\n })\r\n )\r\n } else {\r\n return next.handle(request);\r\n }\r\n };\r\n}","// https://angular.io/styleguide#!#04-12\r\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { CredentialsService } from './credentials.service';\r\n\r\n/**\r\n * Provides a base for authentication workflow.\r\n * The login/logout methods should be replaced with proper implementation.\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n\r\n constructor(private credentialsService: CredentialsService) { }\r\n\r\n /**\r\n * Authenticates the user.\r\n * @param context The login parameters.\r\n * @return The user credentials.\r\n */\r\n login(context: any): Observable {\r\n this.credentialsService.setCredentials(context, true);\r\n this.credentialsService.setUserLoggedIn(true);\r\n return of(context);\r\n }\r\n\r\n /**\r\n * Logs out the user and clear credentials.\r\n * @return True if the user was logged out successfully.\r\n */\r\n logout(): Observable {\r\n // Customize credentials invalidation here\r\n this.credentialsService.setCredentials();\r\n this.credentialsService.setUserLoggedIn(false);\r\n return of(true);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nvar CryptoJS = require(\"crypto-js\");\r\nconst crypto = require('crypto');\r\nconst CryptoGcm = require('crypto-gcm');\r\n//var CryptoJS1 = require(\"crypto\");\r\nimport * as consts from '../../shared/constants/globle.constants';\r\nimport { Router } from '@angular/router';\r\nconst credentialsKey: string = 'UCRDE';\r\nimport * as globleConsts from 'src/app/shared/constants/globle.constants';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n/**\r\n * Provides storage for authentication credentials.\r\n * The Credentials interface should be replaced with proper implementation.\r\n */\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class CredentialsService {\r\n\r\n\tprivate _credentials: any | null = null;\r\n\tprivate Token: any | null = null;\r\n\tprivate applicationSetting = {};\r\n\tuserDetails: any;\r\n\tpermissionDetails: any;\r\n\tprivate userLoggedIn = new Subject();\r\n\r\n\tconstructor (private router: Router) {\r\n\t\t// this.updateCredentials();\r\n\t// console.log(\"Key: Encrypt \", this.encryptdata(\"https://localhost:44385/\"));\r\n\t// console.log(\"PI decrypt\", this.decryptdata(\"Z6k3oAeI8EiBdK3DdAj82IPrBH4evHmefVC4ISK6QMI=\"));\r\n\t \r\n\t\tthis.userLoggedIn.next(false);\r\n\t}\r\n\r\n\t/**\r\n\t * Checks is the user is authenticated.\r\n\t * @return True if the user is authenticated.\r\n\t */\r\n\tisAuthenticated (): boolean {\r\n\t\tthis.updateCredentials();\r\n\t\treturn !!this.credentials;\r\n\t}\r\n\t// getSettingConfiguration() {\r\n\t// return this.applicationSetting;\r\n\t// }\r\n\r\n\tupdateCredentials () {\r\n\t\tconst savedCredentials = sessionStorage.getItem(credentialsKey) || localStorage.getItem(credentialsKey);\r\n\t\tif (savedCredentials) {\r\n\t\t\tthis._credentials = JSON.parse(this.decryptdata(savedCredentials));\r\n\t\t} else {\r\n\t\t\tthis._credentials = null;\r\n\t\t}\r\n\t}\r\n\t/**\r\n\t * Gets the user credentials.\r\n\t * @return The user credentials or null if the user is not authenticated.\r\n\t */\r\n\tget credentials (): any | null {\r\n\t\t// this.updateCredentials();\r\n\t\tconst savedCredentials = localStorage.getItem(credentialsKey);\r\n\t\tif (savedCredentials) {\r\n\t\t\tthis._credentials = JSON.parse(this.decryptdata(savedCredentials));\r\n\t\t} else {\r\n\t\t\tthis._credentials = null;\r\n\t\t}\r\n\t\treturn this._credentials;\r\n\t}\r\n\tencryptdata (data: any) {\r\n try {\r\n //const key = crypto.randomBytes(32);\r\n //// create instance (you can create multiple instances)\r\n //const cg = new CryptoGcm({\r\n // key,\r\n // encoding: {\r\n // plaintext: 'utf8', // also supported: ascii, buffer\r\n // payload: 'base64' // also supported: base64, hex\r\n // }\r\n //})\r\n\r\n //// ut8 string\r\n //const plaintext = 'my plaintext';\r\n\r\n //// will be base64 string\r\n //const payload = cg.encrypt(plaintext);\r\n\r\n //return payload.toString(); \r\n\t\t\r\n // let encryptionKey = consts.AESEncryptionKey;\r\n // const cg = new CryptoJS1({\r\n // key: encryptionKey,\r\n // encoding: {\r\n // plaintext: 'utf8', // also supported: ascii, buffer\r\n // payload: 'base64' // also supported: base64, hex\r\n // }\r\n // })\r\n\r\n // // ut8 string\r\n // const plaintext = data.toString();\r\n\r\n // // will be base64 string\r\n // const payload = cg.encrypt(plaintext);\r\n\t\t\t////return encrypted.toString();\r\n ////// return payload.toString();\r\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(data.toString()), CryptoJS.enc.Utf8.parse(environment['settings'].aesEncryptionKey),\r\n {\r\n keySize: 128 / 8,\r\n iv: CryptoJS.enc.Utf8.parse(environment['settings'].aesEncryptionIV),\r\n mode: CryptoJS.mode.CFB,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encrypted.toString();\r\n\t\t} catch (error) {\r\n\t\t\tthis.setCredentials();\r\n\t\t\t//this.router.navigate(['/signIn']);\r\n\t\t}\r\n\t}\r\n\r\n\t/*decryptdata (data: any) {\r\n\t\ttry {\r\n\r\nvar encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(data.toString()), CryptoJS.enc.Utf8.parse(consts.AESEncryptionKey),\r\n\t\t\t\t{\r\n\t\t\t\t\tkeySize: 128 / 8,\r\n\t\t\t\t\tiv: CryptoJS.enc.Utf8.parse(consts.AESEncryptionIV),\r\n\t\t\t\t\tmode: CryptoJS.mode.CBC,\r\n\t\t\t\t\tpadding: CryptoJS.pad.Pkcs7\r\n\t\t\t\t});\r\n\t\t\treturn encrypted.toString();\r\n\t\t} catch (error) {\r\n\t\t\tthis.setCredentials();\r\n\t\t\t//this.router.navigate(['/signIn']);\r\n\t\t}\r\n\t}*/\r\n\r\n\tdecryptdata (data: any) {\r\n\t\ttry {\r\n\t\t\t\r\n //let key = consts.AESEncryptionKey;\r\n //const cg = new CryptoJS1({\r\n // key: key,\r\n // encoding: {\r\n // plaintext: 'utf8', // also supported: ascii, buffer\r\n // payload: 'base64' // also supported: base64, hex\r\n // }\r\n //})\r\n //const payload = data.toString();\r\n //// will be utf8 string\r\n //const plaintext = cg.decrypt(payload);\r\n\r\n //const key = crypto.randomBytes(32);\r\n //// create instance (you can create multiple instances)\r\n //const cg = new CryptoGcm({\r\n // key,\r\n // encoding: {\r\n // plaintext: 'utf8', // also supported: ascii, buffer\r\n // payload: 'base64' // also supported: base64, hex\r\n // }\r\n //})\r\n //const payload = data.toString();\r\n //// will be utf8 string\r\n //const plaintext = cg.decrypt(payload);\r\n //return plaintext.toString();\r\n\r\n //return plaintext.toString();\r\n //var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse('https://inassessdeck.deloitte.com/api/v1.0/'), CryptoJS.enc.Utf8.parse(environment['settings'].aesEncryptionKey),\r\n // {\r\n // keySize: 128 / 8,\r\n // iv: CryptoJS.enc.Utf8.parse(environment['settings'].aesEncryptionIV),\r\n // mode: CryptoJS.mode.CFB,\r\n // padding: CryptoJS.pad.Pkcs7\r\n // });\r\n\r\n //var encryptedurl = encrypted.toString();\r\n var decrypted = CryptoJS.AES.decrypt(data, CryptoJS.enc.Utf8.parse(environment['settings'].aesEncryptionKey),\r\n {\r\n keySize: 128 / 8,\r\n iv: CryptoJS.enc.Utf8.parse(environment['settings'].aesEncryptionIV),\r\n mode: CryptoJS.mode.CFB,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n var decrptedstring = decrypted.toString(CryptoJS.enc.Utf8);\r\n return decrypted.toString(CryptoJS.enc.Utf8);\r\n } catch (error) {\r\n console.log(error.message);\r\n\t\t\tthis.setCredentials();\r\n\t\t}\r\n\t}\r\n\tget token (): any | null {\r\n\t\tlet token = localStorage.getItem(\"APICRED\");\r\n\t\tif (token)\r\n\t\t\treturn this.decryptdata(localStorage.getItem(\"APICRED\"));\r\n\t}\r\n\r\n\tsetToken (token?: string) {\r\n\t\tif (token)\r\n\t\t\tlocalStorage.setItem(\"APICRED\", this.encryptdata(token));\r\n\t}\r\n\t/**\r\n\t * Sets the user credentials.\r\n\t * The credentials may be persisted across sessions by setting the `remember` parameter to true.\r\n\t * Otherwise, the credentials are only persisted for the current session.\r\n\t * @param credentials The user credentials.\r\n\t * @param remember True to remember credentials across sessions.\r\n\t */\r\n\tsetCredentials (credentials?: any, remember?: boolean) {\r\n\t\tthis._credentials = credentials || null;\r\n\t\tif (credentials) {\r\n\t\t\tconst storage = remember ? localStorage : sessionStorage;\r\n\t\t\tstorage.setItem(credentialsKey, this.encryptdata(JSON.stringify(this._credentials)));\r\n\t\t} else {\r\n\t\t\tsessionStorage.removeItem(credentialsKey);\r\n\t\t\tlocalStorage.removeItem(credentialsKey);\r\n\t\t\tthis.setToken();\r\n\t\t}\r\n\t}\r\n\r\n\tsetPermissionDetails (credentials?: any) {\r\n\t\tthis._credentials = credentials || null;\r\n\t\tif (credentials) {\r\n\t\t\tthis.permissionDetails = credentials;\r\n\t\t}\r\n\t}\r\n\r\n\tgetPermissionDetails () {\r\n\t\treturn this.permissionDetails;\r\n\t}\r\n\r\n\tclearPermissionDetails () {\r\n\t\tthis.permissionDetails = null;\r\n\t}\r\n\r\n\tgetTaskClientId () {\r\n\t\tconst decryptedIds = this.decryptdata(sessionStorage.getItem(globleConsts.LocalStorageKeys.TaskClientId))?.split(globleConsts.KeyDelimiter);\r\n\t\tif (decryptedIds && decryptedIds[0] && decryptedIds[1] &&\r\n\t\t\tdecryptedIds[0].length > 0 && decryptedIds[1].length > 0) {\r\n\t\t\tdecryptedIds[0] = +decryptedIds[0];\r\n\t\t\tdecryptedIds[1] = +decryptedIds[1];\r\n\t\t\treturn { taskId: decryptedIds[0], clientId: decryptedIds[1] };\r\n\t\t} else {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n\r\n\tisClient () {\r\n\t\treturn this.credentials?.assignedRole?.trim()?.toLowerCase() == globleConsts.Designations.CLIENT.toLowerCase();\r\n\t}\r\n\r\n\tsetUserLoggedIn(userLoggedIn: boolean) {\r\n\t\tthis.userLoggedIn.next(userLoggedIn);\r\n\t}\r\n\t\r\n\tgetUserLoggedIn(): Observable {\r\n\t\treturn this.userLoggedIn.asObservable();\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DownloadFileService {\r\n \r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n downLoadFile(resourceName: string, data: any, responseType){\r\n let headers = new HttpHeaders();\r\n let token = localStorage.getItem(\"APICRED\");\r\n headers = headers.set('Authorization', `Bearer ${token}`);\r\n return this.http.post(resourceName, data, { headers: headers, responseType: responseType });\r\n }\r\n\r\n downloadDocument(data: any, category: any) {\r\n //let blob = new Blob([data], { type: this.show[myIndex].type });\r\n var url = data;\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.setAttribute(\"style\", \"display: none\");\r\n a.setAttribute(\"target\", \"_blank\");\r\n a.href = url;\r\n a.download = category;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n a.remove();\r\n }\r\n\r\n\r\n public exportAsExcelFile(json: any[], excelFileName: string, headername: string): void {\r\n var worksheet: XLSX.WorkSheet = XLSX.utils;\r\n XLSX.utils.sheet_add_aoa(worksheet, [\r\n [headername]\r\n ], {origin: 0});\r\n const merge = [\r\n { s: { r: 0, c: 0 }, e: { r: 0, c: 24 } }\r\n ];\r\n worksheet[\"!merges\"] = merge;\r\n XLSX.utils.sheet_add_json(worksheet,json,{origin: 2});\r\n const workbook: XLSX.WorkBook = { Sheets: { 'Audit Data': worksheet }, SheetNames: ['Audit Data'] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\r\n var completedate = new Date();\r\n var date: any = completedate.getDate();\r\n var month: any = (completedate.getMonth()+1);\r\n if (date >= 1 && date <= 9) {\r\n date = '0'+ date;\r\n }\r\n if (month >=1 && month <= 9) {\r\n month = '0'+ month;\r\n }\r\n var finaldate = \"_\" + date +\"-\" + month +\"-\" + completedate.getFullYear() +\"_\" + completedate.getHours() +\"_\" + completedate.getMinutes();\r\n FileSaver.saveAs(data, fileName + finaldate + EXCEL_EXTENSION);\r\n }\r\n}\r\n","import { MNotification } from './../../shared/models/MNotification';\r\nimport { MAPIResponse } from './../../shared/models/MAPIResponse';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorService {\r\n\r\n getClientMessage(error: Error): string {\r\n if (!navigator.onLine) {\r\n return 'No Internet Connection';\r\n }\r\n return error.message ? error.message : error.toString();\r\n }\r\n\r\n getClientStack(error: Error): string {\r\n return error.stack;\r\n }\r\n\r\n getServerMessage(error: HttpErrorResponse): MNotification {\r\n return { summary: error.statusText, message: error.message }\r\n }\r\n\r\n getAPIErrorResponse(error:MAPIResponse): MNotification {\r\n let notificationObject : MNotification;\r\n if (error.hasOwnProperty(\"responseException\") && error.responseException.isError) {\r\n notificationObject.summary = error.responseException.exceptionMessage;\r\n\r\n if (error.responseException.validationErrors) {\r\n notificationObject.message = error.responseException.validationErrors.filter((validation) => {\r\n return validation.reason + '
';\r\n });\r\n }\r\n return notificationObject;\r\n }\r\n return null;\r\n }\r\n\r\n getClientErrorEventMessage(error: ErrorEvent): string {\r\n return error.message ? error.message : error.toString();\r\n }\r\n\r\n internetError(error: Error): string {\r\n if (!navigator.onLine) {\r\n return 'No Internet Connection';\r\n }\r\n }\r\n}\r\n","import { Subject } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpCancelService {\r\n private cancelPendingRequests$ = new Subject();\r\n\r\n constructor() {}\r\n\r\n /** Cancels all pending Http requests. */\r\n public cancelPendingRequests() {\r\n this.cancelPendingRequests$.next();\r\n }\r\n\r\n public onCancelPendingRequests() {\r\n return this.cancelPendingRequests$.asObservable();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n/**\r\n * Generic HTTP data service to be used by all other services\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpGenericService {\r\n\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n /**\r\n * Get List Of Data From Server \r\n * @param resourceName \r\n */\r\n fetchAll(resourceName: string) {\r\n return this.http.get(resourceName);\r\n }\r\n /**\r\n * Get object From Server \r\n * @param resourceName \r\n */\r\n fetchSingle(resourceName: string) {\r\n return this.http.get(resourceName);\r\n }\r\n /**\r\n * Get List of data From Server with promise\r\n * @param resourceName \r\n */\r\n fetchAllPromise(resourceName: string): Promise {\r\n return this.http.get(resourceName).toPromise().then();\r\n }\r\n\r\n /**\r\n * Post Data To Server Insert/Edit\r\n * @param resourceName Controller Name + Method Name\r\n * @param data Actual Data\r\n */\r\n postData(resourceName: string, data: any) {\r\n // data = JSON.stringify(data);\r\n return this.http.post(resourceName, data);\r\n }\r\n\r\n /**\r\n * Post Data To Server Insert/Edit\r\n * @param resourceName Controller Name + Method Name\r\n * @param data Actual Data\r\n */\r\n updateData(resourceName: string, data: any) {\r\n // data = JSON.stringify(data);\r\n return this.http.put(resourceName, data);\r\n }\r\n /**\r\n * Post Data To Server Using Promise Insert/Edit\r\n * @param resourceName Controller Name + Method Name\r\n * @param data Actual Data\r\n */\r\n postDataPromise(resourceName: string, data: any): Promise {\r\n // data = JSON.stringify(data);\r\n return this.http.post(resourceName, data).toPromise().then();\r\n }\r\n /**\r\n * Convert Object to Query String \r\n * @param resourceName \r\n */\r\n\r\n downLoadFile(resourceName: string, data: any, responseType){\r\n return this.http.post(resourceName, data, {responseType:responseType});\r\n }\r\n private objectToQueryString(obj: any): string {\r\n var str = [];\r\n for (var p in obj)\r\n if (obj.hasOwnProperty(p)) {\r\n str.push(encodeURIComponent(p) + \"=\" + encodeURIComponent(obj[p]));\r\n }\r\n return str.join(\"&\");\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoadingScreenService {\r\n\r\n private _loading: boolean = false;\r\n loadingStatus: Subject = new Subject();\r\n\r\n get loading():boolean {\r\n return this._loading;\r\n }\r\n\r\n set loading(value) {\r\n this._loading = value;\r\n this.loadingStatus.next(value);\r\n }\r\n\r\n startLoading() {\r\n this.loading = true;\r\n }\r\n\r\n stopLoading() {\r\n this.loading = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggingService {\r\n\r\n logError(message: string, stack: string) {\r\n // console.log('LoggingService Error Message: ' + message);\r\n // console.log('LoggingService Error StackTrace: ' + stack);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Admin, Analyst, Manager } from 'src/app/modules/menu';\r\n\r\n@Injectable()\r\nexport class MenuService {\r\n\r\n menuItems: Array;\r\n adminItems : Array;\r\n managerItems : Array;\r\n analystItems : Array;\r\n\r\n constructor() {\r\n this.menuItems = [];\r\n this.adminItems = Admin;\r\n this.managerItems = Manager;\r\n this.analystItems = Analyst;\r\n }\r\n\r\n addMenu(items: Array<{\r\n text: string,\r\n heading?: boolean,\r\n link?: string, // internal route links\r\n elink?: string, // used only for external links\r\n target?: string, // anchor target=\"_blank|_self|_parent|_top|framename\"\r\n icon?: string,\r\n alert?: string,\r\n submenu?: Array\r\n }>) {\r\n items.forEach((item) => {\r\n this.menuItems.push(item);\r\n });\r\n }\r\n \r\n getMenu() {\r\n return this.menuItems;\r\n }\r\n\r\n addAdmin(items: Array<{\r\n text: string,\r\n heading?: boolean,\r\n link?: string, // internal route links\r\n elink?: string, // used only for external links\r\n target?: string, // anchor target=\"_blank|_self|_parent|_top|framename\"\r\n icon?: string,\r\n alert?: string,\r\n submenu?: Array\r\n }>) {\r\n items.forEach((item) => {\r\n this.adminItems.push(item);\r\n });\r\n }\r\n\r\n getAdmin() {\r\n return this.adminItems;\r\n }\r\n\r\n addManager(items: Array<{\r\n text: string,\r\n heading?: boolean,\r\n link?: string, // internal route links\r\n elink?: string, // used only for external links\r\n target?: string, // anchor target=\"_blank|_self|_parent|_top|framename\"\r\n icon?: string,\r\n alert?: string,\r\n submenu?: Array\r\n }>) {\r\n items.forEach((item) => {\r\n this.managerItems.push(item);\r\n });\r\n }\r\n\r\n getManager() {\r\n return this.managerItems;\r\n }\r\n\r\n addAnalyst(items: Array<{\r\n text: string,\r\n heading?: boolean,\r\n link?: string, // internal route links\r\n elink?: string, // used only for external links\r\n target?: string, // anchor target=\"_blank|_self|_parent|_top|framename\"\r\n icon?: string,\r\n alert?: string,\r\n submenu?: Array\r\n }>) {\r\n items.forEach((item) => {\r\n this.analystItems.push(item);\r\n });\r\n }\r\n\r\n getAnalyst() {\r\n return this.analystItems;\r\n }\r\n}\r\n","import { Subject } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { MessageService } from 'primeng/api';\r\nimport { resolve } from 'dns';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n\r\n durationInSeconds = 3;\r\n isConfirm = new Subject();\r\n\r\n constructor(private messageService: MessageService) { }\r\n\r\n showSuccess(message: string): void {\r\n this.messageService.add({ severity: 'success', summary: 'Success', detail: message });\r\n }\r\n\r\n showError(summary: string = 'Someting went wrong!!', message: string): void {\r\n this.messageService.add({ severity: 'error', summary: summary, detail: message });\r\n }\r\n showConfirm() {\r\n // this.messageService.clear();\r\n this.messageService.add({ key: 'confirmToast', sticky: true, severity: 'warn', summary: 'Are you sure?', detail: 'Confirm to proceed' });\r\n }\r\n\r\n onConfirm(value: boolean) {\r\n this.isConfirm.next(value);\r\n // this.isConfirm.complete();\r\n }\r\n\r\n onReject(value: boolean) {\r\n this.isConfirm.next(value);\r\n this.closeConfirm()\r\n }\r\n closeConfirm() {\r\n this.messageService.clear('confirmToast');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SettingsService {\r\n\r\n private user: any;\r\n private app: any;\r\n private layout: any;\r\n\r\n public panelValue = new BehaviorSubject(true);\r\n public getpanelValue = this.panelValue.asObservable();\r\n\r\n constructor() {\r\n\r\n // User Settings\r\n // -----------------------------------\r\n this.user = {\r\n name: 'John',\r\n job: 'ng-developer',\r\n picture: 'assets/img/user/02.jpg'\r\n };\r\n\r\n // App Settings\r\n // -----------------------------------\r\n this.app = {\r\n name: 'Deloitte | AssessDeck',\r\n description: 'Angular Bootstrap Admin Template',\r\n year: ((new Date()).getFullYear()),\r\n version: 'Version: 1.0'\r\n };\r\n\r\n // Layout Settings\r\n // -----------------------------------\r\n this.layout = {\r\n isFixed: true,\r\n isCollapsed: false,\r\n isBoxed: false,\r\n isRTL: false,\r\n horizontal: false,\r\n isFloat: false,\r\n asideHover: false,\r\n theme: null,\r\n asideScrollbar: false,\r\n isCollapsedText: false,\r\n useFullLayout: false,\r\n hiddenFooter: false,\r\n offsidebarOpen: false,\r\n asideToggled: false,\r\n viewAnimation: 'ng-fadeInUp'\r\n };\r\n\r\n }\r\n\r\n getAppSetting(name) {\r\n return name ? this.app[name] : this.app;\r\n }\r\n getUserSetting(name) {\r\n return name ? this.user[name] : this.user;\r\n }\r\n getLayoutSetting(name) {\r\n return name ? this.layout[name] : this.layout;\r\n }\r\n\r\n setAppSetting(name, value) {\r\n if (typeof this.app[name] !== 'undefined') {\r\n this.app[name] = value;\r\n }\r\n }\r\n setUserSetting(name, value) {\r\n if (typeof this.user[name] !== 'undefined') {\r\n this.user[name] = value;\r\n }\r\n }\r\n setLayoutSetting(name, value) {\r\n if (typeof this.layout[name] !== 'undefined') {\r\n if (name == 'isCollapsed') {\r\n this.panelValue.next(value);\r\n }\r\n return this.layout[name] = value;\r\n }\r\n }\r\n\r\n toggleLayoutSetting(name) {\r\n return this.setLayoutSetting(name, !this.getLayoutSetting(name));\r\n }\r\n\r\n set() {\r\n return this.layout[\"offsidebarOpen\"] = true;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nconst themeA = require('../../shared/styles/themes/theme-a.scss');\r\nconst themeB = require('../../shared/styles/themes/theme-b.scss');\r\nconst themeC = require('../../shared/styles/themes/theme-c.scss');\r\nconst themeD = require('../../shared/styles/themes/theme-d.scss');\r\nconst themeE = require('../../shared/styles/themes/theme-e.scss');\r\nconst themeF = require('../../shared/styles/themes/theme-f.scss');\r\nconst themeG = require('../../shared/styles/themes/theme-g.scss');\r\nconst themeH = require('../../shared/styles/themes/theme-h.scss');\r\n\r\n@Injectable()\r\nexport class ThemesService {\r\n\r\n styleTag: any;\r\n defaultTheme: string = 'A';\r\n\r\n constructor() {\r\n this.createStyle();\r\n this.setTheme(this.defaultTheme);\r\n }\r\n\r\n private createStyle() {\r\n const head = document.head || document.getElementsByTagName('head')[0];\r\n this.styleTag = document.createElement('style');\r\n this.styleTag.type = 'text/css';\r\n this.styleTag.id = 'appthemes';\r\n head.appendChild(this.styleTag);\r\n }\r\n\r\n setTheme(name) {\r\n switch (name) {\r\n case 'A':\r\n this.injectStylesheet(themeA);\r\n break;\r\n case 'B':\r\n this.injectStylesheet(themeB);\r\n break;\r\n case 'C':\r\n this.injectStylesheet(themeC);\r\n break;\r\n case 'D':\r\n this.injectStylesheet(themeD);\r\n break;\r\n case 'E':\r\n this.injectStylesheet(themeE);\r\n break;\r\n case 'F':\r\n this.injectStylesheet(themeF);\r\n break;\r\n case 'G':\r\n this.injectStylesheet(themeG);\r\n break;\r\n case 'H':\r\n this.injectStylesheet(themeH);\r\n break;\r\n }\r\n }\r\n\r\n injectStylesheet(css) {\r\n this.styleTag.innerHTML = css;\r\n }\r\n\r\n getDefaultTheme() {\r\n return this.defaultTheme;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class TranslatorService {\r\n\r\n private defaultLanguage: string = 'en';\r\n\r\n private availablelangs = [\r\n { code: 'en', text: 'English' },\r\n { code: 'es_AR', text: 'Spanish' }\r\n ];\r\n\r\n constructor(public translate: TranslateService) {\r\n\r\n if (!translate.getDefaultLang())\r\n translate.setDefaultLang(this.defaultLanguage);\r\n\r\n this.useLanguage();\r\n\r\n }\r\n\r\n useLanguage(lang: string = null) {\r\n this.translate.use(lang || this.translate.getDefaultLang());\r\n }\r\n\r\n getAvailableLanguages() {\r\n return this.availablelangs;\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5zY3NzIn0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { SettingsService } from '../../core/settings/settings.service';\r\n\r\n@Component({\r\n selector: '[app-footer]',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor(public settings: SettingsService) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n}\r\n","export default \".img-fluid-width {\\n height: 40px;\\n float: left;\\n}\\n\\n.topnavbar {\\n background-color: #000000 !important;\\n background-image: linear-gradient(to right, #000000 0%, #000000 100%) !important;\\n background-repeat: repeat-x !important;\\n height: 50px;\\n}\\n\\n.topnavbar .navbar-nav > .nav-item > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link :hover,\\n:focus {\\n color: #fff !important;\\n}\\n\\n.oriontittle {\\n font-family: \\\"Open Sans regular\\\", sans-serif !important;\\n color: white;\\n margin-top: -25px;\\n font-size: 15px;\\n font-weight: 500;\\n float: right;\\n padding-right: 5px;\\n}\\n\\n.barcss {\\n font-family: \\\"Open Sans regular\\\", sans-serif !important;\\n margin-top: 8px;\\n font-size: 20px;\\n font-weight: 500;\\n color: white;\\n max-width: 1px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGF5b3V0L2hlYWRlci9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcbGF5b3V0XFxoZWFkZXJcXGhlYWRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGF5b3V0L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxZQUFBO0VBQ0EsV0FBQTtBQ0NKOztBREVBO0VBQ0ksb0NBQUE7RUFFQSxnRkFBQTtFQUNBLHNDQUFBO0VBQ0EsWUFBQTtBQ0NKOztBREVBOztFQUVJLHNCQUFBO0FDQ0o7O0FERUE7RUFDSSx1REFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtBQ0NKOztBRENBO0VBQ0ksdURBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7QUNFSiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmltZy1mbHVpZC13aWR0aCB7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLnRvcG5hdmJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbSgjMDAwMDAwKSwgdG8oIzAwMDAwMCkpICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwMDAwMDAgMCUsICMwMDAwMDAgMTAwJSkgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLCAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsgXHJcbjpob3ZlciwgOmZvY3Vze1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9yaW9udGl0dGxlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zIHJlZ3VsYXInLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbn1cclxuLmJhcmNzcyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucyByZWd1bGFyJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIG1heC13aWR0aDogMXB4O1xyXG59IiwiLmltZy1mbHVpZC13aWR0aCB7XG4gIGhlaWdodDogNDBweDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi50b3BuYXZiYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKCMwMDAwMDApLCB0bygjMDAwMDAwKSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDAwMDAwIDAlLCAjMDAwMDAwIDEwMCUpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayA6aG92ZXIsXG46Zm9jdXMge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4ub3Jpb250aXR0bGUge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnMgcmVndWxhclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLXRvcDogLTI1cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi5iYXJjc3Mge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnMgcmVndWxhclwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogd2hpdGU7XG4gIG1heC13aWR0aDogMXB4O1xufSJdfQ== */\";","import { Component, OnInit, ViewChild, Injector, ChangeDetectorRef, ViewRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nconst screenfull = require('screenfull');\r\n\r\nimport { UserblockService } from '../sidebar/userblock/userblock.service';\r\nimport { SettingsService } from '../../core/settings/settings.service';\r\nimport { MenuService } from '../../core/services/menu.service';\r\nimport { AuthenticationService } from 'src/app/core/services/authentication.service';\r\nimport { CredentialsService } from '../../core/services/credentials.service';\r\nimport { DialogService } from \"primeng/dynamicdialog\";\r\nimport { AddUserComponent } from 'src/app/modules/user-management/components/add-user/add-user.component';\r\nimport { UserList } from 'src/app/shared/models/MUserGrid';\r\nimport { HttpGenericService } from 'src/app/core/services/http-genric.service';\r\nimport { API } from 'src/app/shared/constants/api.constants';\r\nimport { LocalStorage } from '@ng-idle/core';\r\n//import { environment } from 'src/assets/environments/environment';\r\nimport { first } from \"rxjs/operators\";\r\nimport { environment } from 'src/environments/environment';\r\n\r\nconst swal = require(\"sweetalert\");\r\n\r\n\r\n\r\n@Component({\r\n\tselector: 'app-header',\r\n\ttemplateUrl: './header.component.html',\r\n\tstyleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n\tnavCollapsed = true; // for horizontal layout\r\n\tmenuItems = []; // for horizontal layout\r\n\trouter: Router;\r\n\t\r\n userDetails: any;\r\n\tisNavSearchVisible: boolean;\r\n\t@ViewChild('fsbutton', { static: true }) fsbutton; // the fullscreen button\r\n\tref: any;\r\n\tuserList: UserList[] = [];\r\n\tapi = API;\r\n adfsLogin: string;\r\n userDetails1: { username: string};\r\n\ttitle = \"AssessDeck\"\r\n\tbar = \"|\"\r\n\r\n\tconstructor(public menu: MenuService,\r\n\t\tprivate credentialsService: CredentialsService,\r\n\t\tprivate route: Router,\r\n\t\tpublic settings: SettingsService,\r\n\t\tpublic userblockService: UserblockService,\r\n\t\tprivate cdr: ChangeDetectorRef,\r\n\t\tpublic dialogService: DialogService,\r\n\t\tprivate httpGenericService: HttpGenericService,\r\n\t\tprivate authenticationService: AuthenticationService,\r\n\t\tpublic injector: Injector) {\r\n\t\t// show only a few items on demo\r\n\t\tthis.menuItems = menu.getMenu().slice(0, 4); // for horizontal layout\r\n\t\tthis.userDetails = this.credentialsService.credentials;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.isNavSearchVisible = false;\r\n\r\n\t\tvar ua = window.navigator.userAgent;\r\n\t\tif (ua.indexOf(\"MSIE \") > 0 || !!ua.match(/Trident.*rv\\:11\\./)) { // Not supported under IE\r\n\t\t\tthis.fsbutton.nativeElement.style.display = 'none';\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleUserBlock(event) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.userblockService.toggleVisibility();\r\n\t}\r\n\r\n\topenNavSearch(event) {\r\n\t\tevent.preventDefault();\r\n\t\tevent.stopPropagation();\r\n\t\tthis.setNavSearchVisible(true);\r\n\t}\r\n\r\n\tsetNavSearchVisible(stat: boolean) {\r\n\t\tthis.isNavSearchVisible = stat;\r\n\t}\r\n\r\n\tgetNavSearchVisible() {\r\n\t\treturn this.isNavSearchVisible;\r\n\t}\r\n\r\n\ttoggleOffsidebar() {\r\n\t\tthis.settings.toggleLayoutSetting('offsidebarOpen');\r\n\t}\r\n\r\n\ttoggleCollapsedSideabar() {\r\n\t\tthis.settings.toggleLayoutSetting('isCollapsed');\r\n\t}\r\n\r\n\tisCollapsedText() {\r\n\t\treturn this.settings.getLayoutSetting('isCollapsedText');\r\n\t}\r\n\r\n\ttoggleFullScreen(event) {\r\n\t\tif (screenfull.enabled) {\r\n\t\t\tscreenfull.toggle();\r\n\t\t}\r\n\t}\r\n\r\n\tlogOut() {\r\n\t\tswal({\r\n\t\t\ttext: \"Do you want to logout?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tbuttons: {\r\n\t\t\t\tcancel: {\r\n\t\t\t\t\ttext: \"No\",\r\n\t\t\t\t\tvalue: null,\r\n\t\t\t\t\tvisible: true,\r\n\t\t\t\t\tclassName: \"bg-danger\",\r\n\t\t\t\t\tcloseModal: true,\r\n\t\t\t\t},\r\n\t\t\t\tconfirm: {\r\n\t\t\t\t\ttext: \"Yes\",\r\n\t\t\t\t\tvalue: true,\r\n\t\t\t\t\tvisible: true,\r\n\t\t\t\t\tclassName: \"bg-primary\",\r\n\t\t\t\t\tcloseModal: true,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t}).then((isConfirm) => {\r\n if (isConfirm) {\r\n // let user = this.credentialsService.credentials;\r\n // this.userDetails1.username = user.userName;\r\n \r\n \r\n this.httpGenericService\r\n .postDataPromise(\r\n this.api.authentication.logoutUser,\r\n this.userDetails\r\n )\r\n .then((res) => {\r\n let response: any = res;\r\n if (response.StatusCode === 200) {\r\n this.authenticationService.logout();\r\n this.adfsLogin = localStorage.getItem(\"adfsLOGIN\");\r\n localStorage.clear();\r\n sessionStorage.clear();\r\n if (this.adfsLogin == \"true\") {\r\n window.location.href = \"https://login.windows.net/\" + environment['settings'].tenantId + \"/oauth2/logout?post_logout_redirect_uri=\" + environment['settings'].redirectUrl;\r\n }\r\n else {\r\n this.cdr.detach();\r\n setTimeout(() => {\r\n if (this.cdr && !(this.cdr as ViewRef).destroyed) {\r\n this.cdr.detectChanges();\r\n }\r\n this.route.navigate(['/login']);\r\n });\r\n }\r\n }\r\n else {\r\n setTimeout(() => {\r\n if (this.cdr && !(this.cdr as ViewRef).destroyed) {\r\n this.cdr.detectChanges();\r\n }\r\n this.router.navigate(['/login']);\r\n });\r\n }\r\n });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\teditUserPopUp(user: any) {\r\n\t\tthis.ref = this.dialogService.open(AddUserComponent, {\r\n\t\t\theader: \"User Details\",\r\n\t\t\tdata: { user: user, readonly: true },\r\n\t\t\tstyle: {\r\n\t\t\t\t\"margin-top\": \"7%\",\r\n\t\t\t\t\"margin-bottom\": \"auto\",\r\n\t\t\t\t\"width\": \"60%\",\r\n\t\t\t},\r\n\t\t});\r\n\t\tthis.ref.onClose.subscribe((res) => {\r\n\t\t\tif (res) {\r\n\t\t\t\tthis.getUserList({ searchText: \"\" }); //comment after response is mapped from backend\r\n\t\t\t\t// this.users.push(res) this is for no need to call getAllUsers API\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tgetUserList = (searchText: {}) => {\r\n\t\tthis.httpGenericService\r\n\t\t\t.postDataPromise(this.api.userManagement.getAllUser, searchText)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tlet response: any = res;\r\n\t\t\t\tthis.userList = response.Result;\r\n\t\t\t});\r\n\t};\r\n\r\n\t\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9oZWFkZXIvbmF2c2VhcmNoL25hdnNlYXJjaC5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChange, ElementRef } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-navsearch',\r\n\ttemplateUrl: './navsearch.component.html',\r\n\tstyleUrls: ['./navsearch.component.scss']\r\n})\r\nexport class NavsearchComponent implements OnInit, OnChanges {\r\n\r\n\t@Input() visible: boolean;\r\n\t@Output() onclose = new EventEmitter();\r\n\tterm: string;\r\n\r\n\tconstructor (public elem: ElementRef) { }\r\n\r\n\tngOnInit () {\r\n\t\tdocument.addEventListener('keyup', event => {\r\n\t\t\tif (event.keyCode === 27) {// ESC\r\n\t\t\t\tthis.closeNavSearch();\r\n\t\t\t}\r\n\t\t});\r\n\t\tdocument.addEventListener('click', event => {\r\n\t\t\tconst contains = (this.elem.nativeElement !== event.target && this.elem.nativeElement.contains(event.target));\r\n\t\t\tif (!contains) {\r\n\t\t\t\tthis.closeNavSearch();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tcloseNavSearch () {\r\n\t\tthis.visible = false;\r\n\t\tthis.onclose.emit();\r\n\t}\r\n\r\n\tngOnChanges (changes: { [propKey: string]: SimpleChange; }) {\r\n\t\tif (changes['visible'].currentValue === true) {\r\n\t\t\tthis.elem.nativeElement.querySelector('input').focus();\r\n\t\t}\r\n\t}\r\n\r\n\thandleForm () {\r\n\t\t// console.log('Form submit: ' + this.term);\r\n\t}\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, DoCheck, OnInit } from '@angular/core';\r\nimport { SettingsService } from '../core/settings/settings.service';\r\nimport { Router } from '@angular/router';\r\nimport { PaginatorIconList } from '../shared/constants/globle.constants';\r\ndeclare var $: any;\r\n@Component({\r\n\tselector: 'app-layout',\r\n\ttemplateUrl: './layout.component.html',\r\n\tstyleUrls: ['./layout.component.scss']\r\n})\r\nexport class LayoutComponent implements OnInit {\r\n\r\n\tconstructor (\r\n\t\tprivate route: Router,\r\n\t\tpublic settings: SettingsService,\r\n\t) {\r\n\t\t// Hide sidebar automatically when you go into inner pages \r\n\t\troute.events.subscribe(() => {\r\n\t\t\tthis.settings['layout'].isCollapsed = (this.route.url.split('/')?.length > 2) ? true : false;\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit () {}\r\n\r\n\tngDoCheck(): void {\r\n\t\tPaginatorIconList.forEach((iconConfig) => {\r\n\t\t if (iconConfig?.hide) {\r\n\t\t\tlet iconElement = document?.querySelector(\r\n\t\t\t iconConfig?.icon\r\n\t\t\t);\r\n\t\t\tif (iconElement) {\r\n\t\t\t iconElement.style.display = \"none\";\r\n\t\t\t}\r\n\t\t } else {\r\n\t\t\tlet iconElement = document?.querySelector(iconConfig?.icon);\r\n\t\t\tif (iconElement) {\r\n\t\t\t iconElement.removeAttribute(\"class\");\r\n\t\t\t iconElement.setAttribute(\"style\", \"font-size: 14px !important;\");\r\n\t\t\t iconElement.classList.add(\"paginator-text\");\r\n\t\t\t iconElement.textContent = iconConfig.text;\r\n\t\t\t}\r\n\t\t }\r\n\t\t});\r\n\t }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { LayoutComponent } from './layout.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { NavsearchComponent } from './header/navsearch/navsearch.component';\r\nimport { OffsidebarComponent } from './offsidebar/offsidebar.component';\r\nimport { UserblockComponent } from './sidebar/userblock/userblock.component';\r\nimport { UserblockService } from './sidebar/userblock/userblock.service';\r\nimport { FooterComponent } from './footer/footer.component';\r\n\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,NgbModule\r\n ],\r\n providers: [\r\n UserblockService\r\n ],\r\n declarations: [\r\n LayoutComponent,\r\n SidebarComponent,\r\n UserblockComponent,\r\n HeaderComponent,\r\n NavsearchComponent,\r\n OffsidebarComponent,\r\n FooterComponent\r\n ],\r\n exports: [\r\n LayoutComponent,\r\n SidebarComponent,\r\n UserblockComponent,\r\n HeaderComponent,\r\n NavsearchComponent,\r\n OffsidebarComponent,\r\n FooterComponent\r\n ]\r\n})\r\nexport class LayoutModule { }\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9vZmZzaWRlYmFyL29mZnNpZGViYXIuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit, OnDestroy, ElementRef, DoCheck } from '@angular/core';\r\nimport { first } from 'rxjs/operators';\r\nimport { CredentialsService } from 'src/app/core/services/credentials.service';\r\nimport { HttpGenericService } from 'src/app/core/services/http-genric.service';\r\n\r\nimport { SettingsService } from '../../core/settings/settings.service';\r\nimport { ThemesService } from '../../core/themes/themes.service';\r\nimport { TranslatorService } from '../../core/translator/translator.service';\r\nimport * as globleConsts from \"../../shared/constants/globle.constants\";\r\nimport * as consts from '../../shared/constants/api.constants';\r\nimport { ActivatedRoute } from '@angular/router';\r\n@Component({\r\n selector: 'app-offsidebar',\r\n templateUrl: './offsidebar.component.html',\r\n styleUrls: ['./offsidebar.component.scss']\r\n})\r\nexport class OffsidebarComponent implements OnInit, OnDestroy, DoCheck {\r\n\r\n currentTheme: any;\r\n selectedLanguage: string;\r\n\r\n constructor(public settings: SettingsService, private activatedRoute: ActivatedRoute, private httpGenericSerivce: HttpGenericService, public themes: ThemesService, public translator: TranslatorService, private credentialsService: CredentialsService, public elem: ElementRef) {\r\n this.currentTheme = themes.getDefaultTheme();\r\n this.selectedLanguage = this.getLangs()[0].code;\r\n }\r\n ngDoCheck(): void {\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (!params.tab)\r\n this.validationAList = [];\r\n\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.anyClickClose();\r\n }\r\n\r\n setTheme() {\r\n this.themes.setTheme(this.currentTheme);\r\n }\r\n\r\n getLangs() {\r\n return this.translator.getAvailableLanguages();\r\n }\r\n\r\n setLang(value) {\r\n this.translator.useLanguage(value);\r\n }\r\n\r\n anyClickClose() {\r\n document.addEventListener('click', this.checkCloseOffsidebar, false);\r\n }\r\n\r\n checkCloseOffsidebar = e => {\r\n const contains = (this.elem.nativeElement !== e.target && this.elem.nativeElement.contains(e.target));\r\n if (!contains) {\r\n this.settings.setLayoutSetting('offsidebarOpen', false);\r\n }\r\n }\r\n\r\n taskId: number = 0;\r\n validationAList = [];\r\n getValidationData() {\r\n const decryptedIds = this.credentialsService.decryptdata(sessionStorage.getItem(globleConsts.LocalStorageKeys.TaskClientId))?.split(globleConsts.KeyDelimiter);\r\n if (decryptedIds && decryptedIds[0] && decryptedIds[1] &&\r\n decryptedIds[0].length > 0 && decryptedIds[1].length > 0) {\r\n this.taskId = +decryptedIds[0];\r\n }\r\n this.httpGenericSerivce\r\n .fetchAll(`${consts.XMLValidation}${this.taskId}`)\r\n .pipe(first())\r\n .subscribe((validationData) => {\r\n if (validationData[\"Result\"].length == 0) {\r\n this.httpGenericSerivce\r\n .fetchAll(`${consts.GenerateXML}${this.taskId}`)\r\n .pipe(first())\r\n .subscribe((validationData) => {\r\n if (validationData[\"Result\"]) {\r\n this.validationAList = [];\r\n var a = window.document.createElement('a');\r\n a.href = window.URL.createObjectURL(new Blob([validationData[\"Result\"]], { type: 'application/xml' }));\r\n a.download = validationData[\"Message\"] + '.xml';\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n });\r\n } else {\r\n this.validationAList = [...validationData[\"Result\"]];\r\n }\r\n });\r\n\r\n }\r\n ngOnDestroy() {\r\n document.removeEventListener('click', this.checkCloseOffsidebar);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit, Injector, OnDestroy } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MenuService } from \"../../core/services/menu.service\";\r\nimport { SettingsService } from \"../../core/settings/settings.service\";\r\nimport { CredentialsService } from \"src/app/core/services/credentials.service\";\r\nimport * as globleConstants from \"../../shared/constants/globle.constants\";\r\nimport { SearchEntity } from \"src/app/shared/models/SearchEntity\";\r\nimport { HttpGenericService } from \"src/app/core/services/http-genric.service\";\r\nimport { API } from \"src/app/shared/constants/api.constants\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { GetRoles } from \"src/app/modules/role-permission-management/model/getRoleList\";\r\nimport { CommonserviceService } from \"src/app/shared/commonservices/commonservice.service\";\r\nimport { GetRoleList } from \"src/app/modules/permission-management/models/getRoles\";\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-sidebar\",\r\n templateUrl: \"./sidebar.component.html\",\r\n styleUrls: [\"./sidebar.component.scss\"],\r\n})\r\nexport class SidebarComponent implements OnInit, OnDestroy {\r\n //menuItems: Array;\r\n router: Router;\r\n sbclickEvent = \"click.sidebar-toggle\";\r\n $doc: any = null;\r\n isadmin: boolean;\r\n menuList: any;\r\n roleEntity: GetRoleList = {};\r\n searchEntity: SearchEntity = {};\r\n searchText: string = \"\";\r\n api = API;\r\n roleList: GetRoles;\r\n userData: any;\r\n permission = [];\r\n menuItems = [];\r\n permissionType = globleConstants.PermissionTypeEnum\r\n\r\n constructor(\r\n public menu: MenuService,\r\n public settings: SettingsService,\r\n private credencialService: CredentialsService,\r\n public injector: Injector,\r\n private httpGenericRouteSerivce: HttpGenericService,\r\n private commonserviceService: CommonserviceService,\r\n ) {\r\n // this.menuItems = menu.getMenu();\r\n // this.roleName = this.credencialService.credentials.assignedRole;\r\n // this.searchEntity.searchText = this.searchText;\r\n // this.getRoles(this.searchText);\r\n //this.menuItems = menu.getAdmin();\r\n // if (this.roleName === \"SUPER ADMIN\") {\r\n // this.isadmin = true;\r\n // this.menuItems = menu.getAdmin();\r\n // }\r\n // if (this.roleName === globleConstants.Designations.ADMIN.toUpperCase()) {\r\n // this.menuItems = menu.getAdmin();\r\n // }\r\n // if (this.roleName === globleConstants.Designations.MANAGER.toUpperCase()) {\r\n // this.menuItems = menu.getManager();\r\n // }\r\n // if (this.roleName === globleConstants.Designations.ANALYST.toUpperCase()) {\r\n // this.menuItems = menu.getAnalyst();\r\n // }\r\n }\r\n\r\n async ngOnInit() {\r\n this.userData = this.credencialService.credentials;\r\n let sidenavitems = this.menu.getAdmin();\r\n this.roleEntity.name = this.credencialService.credentials.assignedRole;\r\n this.roleEntity.id = this.credencialService.credentials.roleId;\r\n await this.commonserviceService.permissioncheck(this.userData, this.roleEntity);\r\n this.permission = this.credencialService.getPermissionDetails();\r\n this.permission = this.permission.filter(\r\n (x) => x.permissionTypeName !== this.permissionType.NoAccess\r\n );\r\n if (this.permission !== undefined && this.permission.length > 0) {\r\n this.permission.forEach(element => {\r\n sidenavitems.forEach(el => {\r\n if (el.text == element.permissionName) {\r\n this.menuItems.push(el);\r\n }\r\n });\r\n });\r\n }\r\n this.router = this.injector.get(Router);\r\n this.router.events.subscribe(() => {\r\n // close any submenu opened when route changes\r\n this.removeFloatingNav();\r\n // scroll view to top\r\n window.scrollTo(0, 0);\r\n // close sidebar on route change\r\n this.settings.setLayoutSetting(\"asideToggled\", false);\r\n });\r\n\r\n // enable sidebar autoclose from extenal clicks\r\n this.anyClickClose();\r\n }\r\n\r\n getRoles = (searchText) => {\r\n this.searchEntity.searchText = searchText;\r\n // get role list\r\n this.httpGenericRouteSerivce\r\n .postData(this.api.role.getRoleList, this.searchEntity)\r\n .pipe(first())\r\n .subscribe((roles) => {\r\n let list: GetRoles = roles[\"Result\"];\r\n this.roleList = list;\r\n });\r\n };\r\n\r\n anyClickClose() {\r\n this.$doc = $(document).on(this.sbclickEvent, (e) => {\r\n if (!$(e.target).parents(\".aside-container\").length) {\r\n this.settings.setLayoutSetting(\"asideToggled\", false);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.$doc) this.$doc.off(this.sbclickEvent);\r\n }\r\n\r\n toggleSubmenuClick(event) {\r\n event.preventDefault();\r\n\r\n localStorage.setItem('maintab', 'false');\r\n if (\r\n !this.isSidebarCollapsed() &&\r\n !this.isSidebarCollapsedText() &&\r\n !this.isEnabledHover()\r\n ) {\r\n let ul = $(event.currentTarget.nextElementSibling);\r\n\r\n // hide other submenus\r\n let parentNav = ul.parents(\".sidebar-subnav\");\r\n $(\".sidebar-subnav\").each((idx, el) => {\r\n let $el = $(el);\r\n // if element is not a parent or self ul\r\n if (el !== parentNav[0] && el !== ul[0]) {\r\n this.closeMenu($el);\r\n }\r\n });\r\n\r\n // abort if not UL to process\r\n if (!ul.length) {\r\n return;\r\n }\r\n\r\n // any child menu should start closed\r\n ul.find(\".sidebar-subnav\").each((idx, el) => {\r\n this.closeMenu($(el));\r\n });\r\n\r\n // toggle UL height\r\n const ulHeight = ul.css(\"height\");\r\n if (ulHeight === \"auto\" || parseInt(ulHeight, 10)) {\r\n this.closeMenu(ul);\r\n } else {\r\n // expand menu\r\n ul.on(\"transitionend\", () => {\r\n ul.css(\"height\", \"auto\").off(\"transitionend\");\r\n }).css(\"height\", ul[0].scrollHeight);\r\n // add class to manage animation\r\n ul.addClass(\"opening\");\r\n }\r\n }\r\n }\r\n\r\n // Close menu collapsing height\r\n closeMenu(elem) {\r\n elem.css(\"height\", elem[0].scrollHeight); // set height\r\n elem.css(\"height\", 0); // and move to zero to collapse\r\n elem.removeClass(\"opening\");\r\n }\r\n\r\n toggleSubmenuHover(event) {\r\n let self = this;\r\n if (\r\n this.isSidebarCollapsed() ||\r\n this.isSidebarCollapsedText() ||\r\n this.isEnabledHover()\r\n ) {\r\n event.preventDefault();\r\n\r\n this.removeFloatingNav();\r\n\r\n let ul = $(event.currentTarget.nextElementSibling);\r\n let anchor = $(event.currentTarget);\r\n\r\n if (!ul.length) {\r\n return; // if not submenu return\r\n }\r\n\r\n let $aside = $(\".aside-container\");\r\n let $asideInner = $aside.children(\".aside-inner\"); // for top offset calculation\r\n let $sidebar = $asideInner.children(\".sidebar\");\r\n let mar =\r\n parseInt($asideInner.css(\"padding-top\"), 0) +\r\n parseInt($aside.css(\"padding-top\"), 0);\r\n let itemTop = anchor.parent().position().top + mar - $sidebar.scrollTop();\r\n\r\n let floatingNav = ul.clone().appendTo($aside);\r\n let vwHeight = document.body.clientHeight;\r\n\r\n // let itemTop = anchor.position().top || anchor.offset().top;\r\n\r\n floatingNav.addClass(\"nav-floating\");\r\n\r\n // each item has ~40px height\r\n // multiply to force space for at least N items\r\n var safeOffsetValue = 40 * 5;\r\n var navHeight = floatingNav.outerHeight(true) + 2; // 2px border\r\n var safeOffset =\r\n navHeight < safeOffsetValue ? navHeight : safeOffsetValue;\r\n\r\n var displacement = 25; // displacement in px from bottom\r\n\r\n // if not enough space to show N items, use then calculated 'safeOffset'\r\n var menuTop =\r\n vwHeight - itemTop > safeOffset\r\n ? itemTop\r\n : vwHeight - safeOffset - displacement;\r\n\r\n floatingNav\r\n .removeClass(\"opening\") // necesary for demo if switched between normal//collapsed mode\r\n .css({\r\n position: this.settings.getLayoutSetting(\"isFixed\")\r\n ? \"fixed\"\r\n : \"absolute\",\r\n top: menuTop,\r\n bottom:\r\n floatingNav.outerHeight(true) + menuTop > vwHeight\r\n ? displacement + \"px\"\r\n : \"auto\",\r\n });\r\n\r\n floatingNav\r\n .on(\"mouseleave\", () => {\r\n floatingNav.remove();\r\n })\r\n .find(\"a\")\r\n .on(\"click\", function (e) {\r\n e.preventDefault(); // prevents page reload on click\r\n // get the exact route path to navigate\r\n let routeTo = $(this).attr(\"route\");\r\n if (routeTo) self.router.navigate([routeTo]);\r\n });\r\n\r\n this.listenForExternalClicks();\r\n }\r\n }\r\n\r\n listenForExternalClicks() {\r\n let $doc = $(document).on(\"click.sidebar\", (e) => {\r\n if (!$(e.target).parents(\".aside-container\").length) {\r\n this.removeFloatingNav();\r\n $doc.off(\"click.sidebar\");\r\n }\r\n });\r\n }\r\n\r\n removeFloatingNav() {\r\n $(\".nav-floating\").remove();\r\n }\r\n\r\n isSidebarCollapsed() {\r\n return this.settings.getLayoutSetting(\"isCollapsed\");\r\n }\r\n isSidebarCollapsedText() {\r\n return this.settings.getLayoutSetting(\"isCollapsedText\");\r\n }\r\n isEnabledHover() {\r\n return this.settings.getLayoutSetting(\"asideHover\");\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xheW91dC9zaWRlYmFyL3VzZXJibG9jay91c2VyYmxvY2suY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { UserblockService } from './userblock.service';\r\n\r\n@Component({\r\n selector: 'app-userblock',\r\n templateUrl: './userblock.component.html',\r\n styleUrls: ['./userblock.component.scss']\r\n})\r\nexport class UserblockComponent implements OnInit {\r\n user: any;\r\n constructor(public userblockService: UserblockService) {\r\n\r\n this.user = {\r\n picture: 'assets/img/user/01.jpg'\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n userBlockIsVisible() {\r\n return this.userblockService.getVisibility();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class UserblockService {\r\n public userBlockVisible: boolean;\r\n constructor() {\r\n // initially visible\r\n this.userBlockVisible = true;\r\n }\r\n\r\n getVisibility() {\r\n return this.userBlockVisible;\r\n }\r\n\r\n setVisibility(stat = true) {\r\n this.userBlockVisible = stat;\r\n }\r\n\r\n toggleVisibility() {\r\n this.userBlockVisible = !this.userBlockVisible;\r\n }\r\n\r\n}\r\n","export default \".style {\\n font-weight: bold;\\n font-size: small;\\n border: 2px solid honeydew;\\n}\\n\\n.color {\\n background-color: #ffffff;\\n}\\n\\nh5:hover {\\n background-color: #86bc25 !important;\\n color: #fff !important;\\n}\\n\\n.form-control {\\n display: block;\\n width: 100%;\\n height: 2.1875rem;\\n padding: 0.375rem 1rem;\\n font-size: 14px;\\n font-weight: 400;\\n line-height: 1.528571429;\\n color: black;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid grey;\\n border-radius: 0.25rem;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n\\n.disablecheckBox {\\n background-color: lightgray;\\n cursor: not-allowed;\\n}\\n\\n.form-control-disabled {\\n display: block;\\n width: 100%;\\n height: 2.1875rem;\\n padding: 0.375rem 1rem;\\n font-size: 14px;\\n font-weight: 400;\\n line-height: 1.528571429;\\n color: grey;\\n background-color: lightgray;\\n background-clip: padding-box;\\n border: 0px;\\n border-radius: 0.25rem;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n cursor: not-allowed;\\n}\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0;\\n width: 100%;\\n background-color: #fff;\\n border: 1px solid #c8c8c8 !important;\\n font-family: \\\"Open Sans\\\", sans-serif !important;\\n font-style: normal !important;\\n font-weight: 500;\\n font-size: 13px;\\n line-height: 19px;\\n letter-spacing: 0.01em;\\n color: #000 !important;\\n}\\n\\nthead > tr > th, tbody > tr > td {\\n text-align: left;\\n padding: 8px;\\n}\\n\\nthead > tr > th {\\n font-style: normal;\\n font-size: 12px;\\n font-weight: 700 !important;\\n line-height: 20px;\\n letter-spacing: 0.01em;\\n color: #333 !important;\\n}\\n\\ntbody > tr > td {\\n font-style: normal;\\n font-weight: 400;\\n font-size: 13px;\\n line-height: 20px;\\n letter-spacing: 0.01em;\\n color: #000 !important;\\n border-top: 1px solid #c8c8c8 !important;\\n}\\n\\ntbody > tr:nth-child(even) {\\n background-color: #f5f7fa;\\n}\\n\\n.alignment {\\n white-space: break-spaces !important;\\n width: 500px !important;\\n}\\n\\ndiv.scroll {\\n overflow: auto;\\n white-space: nowrap;\\n}\\n\\n.fa-vc {\\n line-height: 1.2;\\n}\\n\\n.disable {\\n color: grey;\\n cursor: not-allowed;\\n}\\n\\n.textarea {\\n height: 90px;\\n}\\n\\n.textboxsize {\\n height: 60px;\\n}\\n\\n.wrapper {\\n position: relative;\\n overflow: auto;\\n white-space: nowrap;\\n margin-top: 215px;\\n}\\n\\n.sticky-col {\\n position: -webkit-sticky;\\n position: sticky;\\n background-color: #f5f7fa;\\n}\\n\\n.first-col {\\n width: 8em;\\n min-width: 8em;\\n max-width: 8em;\\n left: 0px;\\n}\\n\\n.sticky {\\n position: fixed;\\n top: 152px;\\n z-index: 10;\\n background: #f5f7fa;\\n}\\n\\n.sticky-2 {\\n position: fixed;\\n top: 70px;\\n z-index: 10;\\n background: #f5f7fa;\\n}\\n\\n.sticky-3 {\\n position: fixed;\\n top: 55px;\\n z-index: 10;\\n background: #f5f7fa;\\n width: 100%;\\n}\\n\\n.main-header-css {\\n background-color: #f5f7fa !important;\\n}\\n\\n.sub-header-css {\\n background-color: #dcdcff;\\n}\\n\\n.collapsed {\\n width: 92%;\\n}\\n\\n.expand {\\n width: 81%;\\n}\\n\\n.my-pagination ::ng-deep .ngx-pagination .current {\\n background: #000;\\n}\\n\\n.warningcolor {\\n background-color: #ff4c4c !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9lbnRpdHktbWFuYWdlbWVudC9jb21wb25lbnRzL2Fzc2Vzc21lbnRyZXZpZXcvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXG1vZHVsZXNcXGVudGl0eS1tYW5hZ2VtZW50XFxjb21wb25lbnRzXFxhc3Nlc3NtZW50cmV2aWV3XFxhc3Nlc3NtZW50cmV2aWV3LmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9tb2R1bGVzL2VudGl0eS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvYXNzZXNzbWVudHJldmlldy9hc3Nlc3NtZW50cmV2aWV3LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBQ0ksaUJBQUE7RUFDQSxnQkFBQTtFQUNBLDBCQUFBO0FDQUo7O0FER0E7RUFDSSx5QkFBQTtBQ0FKOztBREdBO0VBQ0ksb0NBQUE7RUFDQSxzQkFBQTtBQ0FKOztBREdBO0VBQ0ksY0FBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esd0JBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7RUFDQSw0QkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7RUFDQSx3RUFBQTtBQ0FKOztBREdBO0VBQ0ksMkJBQUE7RUFDQSxtQkFBQTtBQ0FKOztBRElBO0VBQ0ksY0FBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esd0JBQUE7RUFDQSxXQUFBO0VBQ0EsMkJBQUE7RUFDQSw0QkFBQTtFQUNBLFdBQUE7RUFDQSxzQkFBQTtFQUNBLHdFQUFBO0VBQ0EsbUJBQUE7QUNESjs7QURJSTtFQUNJLHlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQ0FBQTtFQUNBLCtDQUFBO0VBQ0EsNkJBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7QUNEUjs7QURJTTtFQUNFLGdCQUFBO0VBQ0EsWUFBQTtBQ0RSOztBRElNO0VBQ0Usa0JBQUE7RUFDQSxlQUFBO0VBQ0EsMkJBQUE7RUFDQSxpQkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7QUNEUjs7QURJTTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxzQkFBQTtFQUVBLHNCQUFBO0VBQ0Esd0NBQUE7QUNGUjs7QURLTTtFQUNFLHlCQUFBO0FDRlI7O0FES007RUFDRSxvQ0FBQTtFQUNBLHVCQUFBO0FDRlI7O0FES007RUFDRSxjQUFBO0VBQ0EsbUJBQUE7QUNGUjs7QURLTTtFQUFPLGdCQUFBO0FDRGI7O0FER1E7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7QUNBVjs7QURHUTtFQUNFLFlBQUE7QUNBVjs7QURHUTtFQUNFLFlBQUE7QUNBVjs7QURHUTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7QUNBVjs7QURHUTtFQUNFLHdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtBQ0FWOztBREdRO0VBQ0UsVUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0VBQ0EsU0FBQTtBQ0FWOztBREdNO0VBQ0UsZUFBQTtFQUNBLFVBQUE7RUFFQSxXQUFBO0VBQ0EsbUJBQUE7QUNEUjs7QURLTTtFQUNFLGVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0FDRlI7O0FET007RUFDRSxlQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7QUNKUjs7QURPTTtFQUNFLG9DQUFBO0FDSlI7O0FET007RUFDRSx5QkFBQTtBQ0pSOztBRE9NO0VBQ0UsVUFBQTtBQ0pSOztBRE9NO0VBQ0UsVUFBQTtBQ0pSOztBRE9NO0VBQ0UsZ0JBQUE7QUNKUjs7QURPQTtFQUNFLG9DQUFBO0FDSkYiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2VudGl0eS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvYXNzZXNzbWVudHJldmlldy9hc3Nlc3NtZW50cmV2aWV3LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi5zdHlsZXtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiBzbWFsbDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIGhvbmV5ZGV3O1xyXG4gICAgfSBcclxuXHJcbi5jb2xvcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtcclxuICAgIH1cclxuICBcclxuaDU6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg2YmMyNSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmYhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbi5mb3JtLWNvbnRyb2wge1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAyLjE4NzVyZW07XHJcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAxcmVtO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjUyODU3MTQyOTtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmV5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbi5kaXNhYmxlY2hlY2tCb3gge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuXHJcbi5mb3JtLWNvbnRyb2wtZGlzYWJsZWQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMi4xODc1cmVtO1xyXG4gICAgcGFkZGluZzogMC4zNzVyZW0gMXJlbTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS41Mjg1NzE0Mjk7XHJcbiAgICBjb2xvcjogZ3JleTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JheTtcclxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICBib3JkZXI6IDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIH0gICAgXHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcclxuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICB0aGVhZD50cj50aCwgdGJvZHk+dHI+dGQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGVhZD50cj50aCB7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwIWltcG9ydGFudDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xyXG4gICAgICAgIGNvbG9yOiAjMzMzIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGJvZHk+dHI+dGQge1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xyXG4gICAgICAgIC8vd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjOGM4YzggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgdGJvZHk+dHI6bnRoLWNoaWxkKGV2ZW4pe1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hbGlnbm1lbnR7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlcyAhaW1wb3J0YW50OyBcclxuICAgICAgICB3aWR0aDogNTAwcHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgZGl2LnNjcm9sbCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZhLXZje2xpbmUtaGVpZ2h0OiAxLjI7fVxyXG5cclxuICAgICAgICAuZGlzYWJsZXtcclxuICAgICAgICAgIGNvbG9yOiBncmV5O1xyXG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXh0YXJlYSB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGV4dGJveHNpemUge1xyXG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAud3JhcHBlciB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnN0aWNreS1jb2wge1xyXG4gICAgICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xyXG4gICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5maXJzdC1jb2wge1xyXG4gICAgICAgICAgd2lkdGg6IDhlbTtcclxuICAgICAgICAgIG1pbi13aWR0aDogOGVtO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA4ZW07XHJcbiAgICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgLnN0aWNreSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMTUycHg7XHJcbiAgICAgICAgLy9sZWZ0OiA4OXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWY3ZmE7XHJcbiAgICAgICAgLy93aWR0aDogOTIlO1xyXG4gICAgICAgXHJcbiAgICAgIH1cclxuICAgICAgLnN0aWNreS0yIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiA3MHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWY3ZmE7XHJcbiAgICAgICAgLy93aWR0aDogOTIlO1xyXG4gICAgICAgXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdGlja3ktMyB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNTVweDtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZhO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubWFpbi1oZWFkZXItY3NzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdWItaGVhZGVyLWNzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNmZjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNvbGxhcHNlZCB7XHJcbiAgICAgICAgd2lkdGg6IDkyJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmV4cGFuZCB7XHJcbiAgICAgICAgd2lkdGg6IDgxJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm15LXBhZ2luYXRpb24gOjpuZy1kZWVwIC5uZ3gtcGFnaW5hdGlvbiAuY3VycmVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgICAgfVxyXG5cclxuLndhcm5pbmdjb2xvciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNGM0YyAhaW1wb3J0YW50OyBcclxufVxyXG4iLCIuc3R5bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiBzbWFsbDtcbiAgYm9yZGVyOiAycHggc29saWQgaG9uZXlkZXc7XG59XG5cbi5jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbmg1OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg2YmMyNSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuMTg3NXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41Mjg1NzE0Mjk7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgZ3JleTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4uZGlzYWJsZWNoZWNrQm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmF5O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZm9ybS1jb250cm9sLWRpc2FibGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuMTg3NXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41Mjg1NzE0Mjk7XG4gIGNvbG9yOiBncmV5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyYXk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xufVxuXG50aGVhZCA+IHRyID4gdGgsIHRib2R5ID4gdHIgPiB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxudGhlYWQgPiB0ciA+IHRoIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG59XG5cbnRib2R5ID4gdHIgPiB0ZCB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjOGM4YzggIWltcG9ydGFudDtcbn1cblxudGJvZHkgPiB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhO1xufVxuXG4uYWxpZ25tZW50IHtcbiAgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlcyAhaW1wb3J0YW50O1xuICB3aWR0aDogNTAwcHggIWltcG9ydGFudDtcbn1cblxuZGl2LnNjcm9sbCB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmEtdmMge1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uZGlzYWJsZSB7XG4gIGNvbG9yOiBncmV5O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4udGV4dGFyZWEge1xuICBoZWlnaHQ6IDkwcHg7XG59XG5cbi50ZXh0Ym94c2l6ZSB7XG4gIGhlaWdodDogNjBweDtcbn1cblxuLndyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW4tdG9wOiAyMTVweDtcbn1cblxuLnN0aWNreS1jb2wge1xuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7XG59XG5cbi5maXJzdC1jb2wge1xuICB3aWR0aDogOGVtO1xuICBtaW4td2lkdGg6IDhlbTtcbiAgbWF4LXdpZHRoOiA4ZW07XG4gIGxlZnQ6IDBweDtcbn1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxNTJweDtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQ6ICNmNWY3ZmE7XG59XG5cbi5zdGlja3ktMiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA3MHB4O1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZDogI2Y1ZjdmYTtcbn1cblxuLnN0aWNreS0zIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDU1cHg7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kOiAjZjVmN2ZhO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1haW4taGVhZGVyLWNzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmEgIWltcG9ydGFudDtcbn1cblxuLnN1Yi1oZWFkZXItY3NzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNmZjtcbn1cblxuLmNvbGxhcHNlZCB7XG4gIHdpZHRoOiA5MiU7XG59XG5cbi5leHBhbmQge1xuICB3aWR0aDogODElO1xufVxuXG4ubXktcGFnaW5hdGlvbiA6Om5nLWRlZXAgLm5neC1wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cblxuLndhcm5pbmdjb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjRjNGMgIWltcG9ydGFudDtcbn0iXX0= */\";","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { CredentialsService } from \"src/app/core/services/credentials.service\";\r\nimport { HttpGenericService } from \"src/app/core/services/http-genric.service\";\r\nimport { CommonserviceService } from \"src/app/shared/commonservices/commonservice.service\";\r\nimport { API } from \"src/app/shared/constants/api.constants\";\r\nimport { ValidationMessage } from \"src/app/shared/constants/validations.constants\";\r\nconst swal = require(\"sweetalert\");\r\nimport FileSaver from \"file-saver\";\r\nimport * as globleConsts from \"../../../../shared/constants/globle.constants\";\r\nimport { Location } from \"@angular/common\";\r\nimport { GetRoleList } from \"src/app/modules/permission-management/models/getRoles\";\r\nimport { DownloadFileService } from \"src/app/core/services/download-file.service\";\r\nimport { SettingsService } from \"src/app/core/settings/settings.service\";\r\nimport Swal from 'sweetalert2';\r\nimport { reportFileUpload } from \"../../model/fileupload\";\r\nimport { SubCategory, SubCategoryDetails } from \"../../model/assignweightage\";\r\nvar Crypto = require(\"crypto-js\");\r\n\r\n\r\n@Component({\r\n selector: \"app-assessmentreview\",\r\n templateUrl: \"./assessmentreview.component.html\",\r\n styleUrls: [\"./assessmentreview.component.scss\"],\r\n})\r\nexport class AssessmentreviewComponent implements OnInit {\r\n risk = 'IR';\r\n IR: boolean = true;\r\n CE: boolean = false;\r\n entity: any;\r\n entityrowdata: any;\r\n isEntityEdit: boolean;\r\n api = API;\r\n bulist: any[] = [];\r\n selectedBU;\r\n riskCategoryid: number;\r\n irceList: any;\r\n selectedSubCategory;\r\n subcategorydetails: any;\r\n selectedriskattribute;\r\n riskattribute: any;\r\n RiskType: any;\r\n cols: { field: string; header: string }[];\r\n selectedriskclassification;\r\n selectedOffer;\r\n mode: any;\r\n attributevalue: number;\r\n required = ValidationMessage.required;\r\n max_value = ValidationMessage.max_value;\r\n noWhiteSpace = ValidationMessage.noWhiteSpace;\r\n assessmentReviewdisplayModal: boolean;\r\n assessmentReviewdisplayModalforCE: boolean;\r\n isComment: boolean = false;\r\n commentdisplayModal: boolean;\r\n tempdata: any;\r\n Riskclassification: any;\r\n QuestionOptions: any;\r\n p: number = 1;\r\n fileuploadModal: boolean;\r\n fileRequired: boolean;\r\n test: any[];\r\n button: boolean;\r\n fileCounter: number;\r\n UploadErrorMessage: string;\r\n file: any;\r\n fileextension: any;\r\n value: number = 0;\r\n infoPopUpModel: boolean;\r\n inforData: any;\r\n EntityData: any;\r\n date3: Date;\r\n currentDate = new Date();\r\n minDate: Date;\r\n maxDate: Date;\r\n uploadingfile: any;\r\n pageIndex: number = 1;\r\n userData: any;\r\n s3FileName: string = \"\";\r\n fileBase64: string = \"\";\r\n regulatoryGuideList: any;\r\n regulatoryGuidelineId: any;\r\n regulatoryGuideline: any;\r\n isIndustryPractice: boolean;\r\n // uploadingfile: UploadingFile = new UploadingFile();\r\n entitymanagementPermissionMode: any;\r\n permissionType = globleConsts.PermissionTypeEnum;\r\n editMode: boolean;\r\n viewMode: boolean;\r\n deleteMode: boolean;\r\n maintab: string;\r\n currentUser: any;\r\n roleEntity: GetRoleList = {};\r\n permission = [];\r\n entitylist: any;\r\n selectedEntity;\r\n entityid: number;\r\n reportmodel: boolean = false;\r\n isvalidatebutton: boolean = false;\r\n isgeneratebutton: boolean = false;\r\n isUploadDownloadbutton: boolean = false;\r\n validationrequired: boolean = false;\r\n isreport: boolean = false;\r\n headerEntity: any;\r\n AssessmentStatusBUId: any;\r\n AssessmentStatusBUName: any;\r\n AssessmentStatusEntityId: any;\r\n businessUnitId: any;\r\n AssessmentStatusEntityName: string;\r\n EntityDataAssessment: any;\r\n isAdmin: boolean;\r\n assessmentCycles: any;\r\n selectedAssessmentCycle: any;\r\n assessmentCycle: any;\r\n ASAssessmentCycle: any;\r\n assessmentcyclevalue: any;\r\n panelcss: boolean;\r\n userId: any;\r\n total: number = 0;\r\n table_no: string;\r\n RiskType1: any;\r\n previousData: any = null;\r\n first: number;\r\n rows: number;\r\n isSubmitted: boolean = false;\r\n IDs: any = null;\r\n isdashboardbutton: boolean;\r\n isdashboard: boolean;\r\n entityName: any;\r\n dataNA: boolean = false;\r\n totalNoOfCustomers: any = null;\r\n totalNovalueOfTransactionsPer: any = null;\r\n totalvolumeOfTransactionsPer;any = null;\r\n totalvalues: any;\r\n files: any = {};\r\n isEditTemplate: boolean;\r\n filBase64: any;\r\n oldtemplateName: any;\r\n templateCategory: string;\r\n filetooltip: any;\r\n showPopup = false;\r\n RCsum: number = 0;\r\n subcategory: boolean = false;\r\n Customersum: number = 0;\r\n Productsum: number = 0;\r\n Transactionsum: number = 0;\r\n Geographysum: number = 0;\r\n Channelssum: number = 0;\r\n QFsum: number = 0;\r\n riskSubCategoryWeightageAssignEntity: SubCategory[] = [];\r\n riskSubCategoryDetailsWeightageAsignEntity: SubCategoryDetails[] = [];\r\n CustomersData: any;\r\n ProductsData: any;\r\n TransactionsData: any;\r\n GeographyData: any;\r\n ChannelsData: any;\r\n OtherQualitativeFactorsData: any;\r\n WeitagePopup:boolean = true;\r\n // @ViewChild(\"dt\", { static: false }) table: Table;\r\n // pageIndex: number = 1;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private route: Router,\r\n private httpGenericService: HttpGenericService,\r\n private credentialsService: CredentialsService,\r\n private commonserviceService: CommonserviceService,\r\n private _location: Location,\r\n private downloadfile: DownloadFileService,\r\n private settingsService: SettingsService\r\n ) {\r\n this.userData = this.credentialsService.credentials;\r\n }\r\n\r\n async ngOnInit(): Promise { \r\n this.settingsService.getpanelValue.subscribe((value) => {\r\n this.panelcss = value;\r\n });\r\n this.currentUser = this.credentialsService.credentials;\r\n this.roleEntity.name = this.credentialsService.credentials.assignedRole;\r\n this.roleEntity.id = this.credentialsService.credentials.roleId;\r\n debugger\r\n this.entityName = JSON.parse(localStorage.getItem(\"setEntityName\"));\r\n this.maintab = localStorage.getItem(\"maintab\");\r\n if (this.maintab == \"false\") {\r\n await this.commonserviceService.permissioncheck(\r\n this.userData,\r\n this.roleEntity\r\n );\r\n } \r\n this.userId = this.credentialsService.credentials.userId;\r\n if (\r\n \r\n this.roleEntity.id == \"9de2097a-2414-4e9d-8b7b-78cbbbc94863\" ||\r\n this.roleEntity.id == \"d7b8db81-5256-4037-a96b-bec61d028b4a\"\r\n ) {\r\n this.isUploadDownloadbutton= true;\r\n };\r\n if (\r\n this.roleEntity.id == \"9de2097a-2414-4e9d-8b7b-78cbbbc94863\" ||\r\n this.roleEntity.id == \"7ea9791f-6aeb-4ca8-be5b-db459f49e489\" ||\r\n this.roleEntity.id == \"d7b8db81-5256-4037-a96b-bec61d028b4a\"\r\n ) {\r\n this.isgeneratebutton = true;\r\n this.isdashboardbutton = true;\r\n }\r\n this.maintab = localStorage.getItem(\"maintab\");\r\n if (this.maintab == \"false\") {\r\n await this.commonserviceService.permissioncheck(\r\n this.currentUser,\r\n this.roleEntity\r\n );\r\n this.permission = this.credentialsService.getPermissionDetails();\r\n if (this.permission != undefined) {\r\n this.entitymanagementPermissionMode = this.permission.find(\r\n (s) => s.permissionName === globleConsts.PermissionsEnum.Assessment\r\n ).permissionTypeName;\r\n }\r\n this.entitymanagementPermissionMode = this.entitymanagementPermissionMode.split(\r\n \",\"\r\n );\r\n await this.getEntityList();\r\n\r\n }\r\n else if (this.maintab == \"AssessmentStatus\") {\r\n this.AssessmentStatusEntityId = localStorage.getItem(\"ASEntityId\");\r\n let cleanedStr: string = this.AssessmentStatusEntityId.replace(/\"/g, '');\r\n this.AssessmentStatusEntityId=Number(cleanedStr);\r\n this.entityid=this.AssessmentStatusEntityId;\r\n this.entitymanagementPermissionMode = JSON.parse(\r\n localStorage.getItem(\"ASSESSMENTSTATUSPERMISSIONS\")\r\n );\r\n await this.getEntitydetails();\r\n this.ASAssessmentCycle = JSON.parse(\r\n localStorage.getItem(\"ASAssessmentCycle\")\r\n );\r\n this.getBUList();\r\n }\r\n else {\r\n this.entitymanagementPermissionMode = JSON.parse(\r\n localStorage.getItem(\"ENTITYPERMISSIONS\")\r\n );\r\n this.entity = JSON.parse(localStorage.getItem(\"setEntityId\"));\r\n await this.getEntitydetails(); \r\n await this.getAssessmentCycles(); \r\n }\r\n\r\n if (\r\n this.roleEntity.id == \"9de2097a-2414-4e9d-8b7b-78cbbbc94863\" &&\r\n (this.EntityData.bmvalidationRequired ||\r\n this.EntityData.dmvalidationRequired)\r\n ) {\r\n this.isvalidatebutton = true;\r\n } else if (\r\n (this.roleEntity.id == \"7ea9791f-6aeb-4ca8-be5b-db459f49e489\" &&\r\n this.EntityData.bmvalidationRequired) ||\r\n (this.roleEntity.id == \"d7b8db81-5256-4037-a96b-bec61d028b4a\" &&\r\n this.EntityData.dmvalidationRequired)\r\n ) {\r\n this.isvalidatebutton = true;\r\n }\r\n this.entitymanagementPermissionMode.forEach((element) => {\r\n if (element === this.permissionType.NoAccess) {\r\n this._location.back();\r\n } else if (element == this.permissionType.Edit) {\r\n this.editMode = true;\r\n } else if (element == this.permissionType.View) {\r\n this.viewMode = true;\r\n } else if (element == this.permissionType.Delete) {\r\n this.deleteMode = true;\r\n }\r\n });\r\n debugger\r\n this.AssessmentStatusEntityId = localStorage.getItem(\"ASEntityId\");\r\n let cleanedStr: string = this.AssessmentStatusEntityId.replace(/\"/g, '');\r\n this.AssessmentStatusEntityId=Number(cleanedStr);\r\n this.entityid=this.AssessmentStatusEntityId;\r\n await this.getregulatoryGuideline(this.entity.id);\r\n\r\n //this.getEntityList();\r\n }\r\n\r\n assessmentforIR = new FormGroup({\r\n mapQuestionnaireId: new FormControl(null),\r\n index: new FormControl(null),\r\n riskClassification: new FormControl(\"\", [Validators.required]),\r\n offering: new FormControl(\"\", [Validators.required]),\r\n noOfCustomers: new FormControl(null, [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n Validators.max(100),\r\n ]),\r\n volumeOfTransactions: new FormControl(null, [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n Validators.max(100),\r\n ]),\r\n valueOfTransactions: new FormControl(null, [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n Validators.max(100),\r\n ]),\r\n dataNotAvailable: new FormControl(\"\"),\r\n SubCategory: new FormControl(null),\r\n SubCategoryDetails: new FormControl(null),\r\n });\r\n\r\n assessmentforCE = new FormGroup({\r\n mapQuestionnaireId: new FormControl(null),\r\n index: new FormControl(null),\r\n existenceResponse: new FormControl(\"\", [Validators.required]),\r\n controlExistenceExplanation: new FormControl(\"\", [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n ]),\r\n controlExistenceDocReference: new FormControl(\"\", [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n ]),\r\n effectivenessResponse: new FormControl(\"\", [Validators.required]),\r\n controlEffectivenessExplanation: new FormControl(\"\", [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n ]),\r\n inherentRisk: new FormControl(null),\r\n residualRisk: new FormControl(null),\r\n riskTreatmentActions: new FormControl(\"\", [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n ]),\r\n pic: new FormControl(\"\", [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n ]),\r\n implementationDueDate: new FormControl(\"\", [Validators.required]),\r\n });\r\n\r\n addcommentforCE = new FormGroup({\r\n mapQuestionnaireId: new FormControl(null),\r\n index: new FormControl(null),\r\n comment: new FormControl(\"\", [Validators.required]),\r\n });\r\n\r\n setIR() {\r\n this.irceList = null;\r\n this.selectedBU = null;\r\n this.subcategorydetails = null;\r\n this.riskattribute = null;\r\n this.RiskType = null;\r\n this.IR = true;\r\n this.CE = false;\r\n if (this.maintab == \"false\") {\r\n this.selectedEntity = null;\r\n this.bulist = null;\r\n this.getAssessmentCycles();\r\n } else if (this.maintab == \"AssessmentStatus\") {\r\n this.getBUList();\r\n } else {\r\n this.getAssessmentCycles();\r\n }\r\n }\r\n\r\n setCE() {\r\n this.irceList = null;\r\n this.selectedBU = null;\r\n this.subcategorydetails = null;\r\n this.riskattribute = null;\r\n this.RiskType = null;\r\n this.IR = false;\r\n this.CE = true;\r\n if (this.maintab == \"false\") {\r\n this.selectedEntity = null;\r\n this.bulist = null;\r\n this.getAssessmentCycles();\r\n } else if (this.maintab == \"AssessmentStatus\") {\r\n this.getBUList();\r\n } else {\r\n this.getAssessmentCycles();\r\n }\r\n }\r\n\r\n getAssessmentCycles() {\r\n return new Promise((resolve, reject) => {\r\n if (this.maintab == \"AssessmentStatus\") {\r\n this.entityid = this.AssessmentStatusEntityId;\r\n\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.entityid = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.entityid = +this.entity.id;\r\n }\r\n }\r\n \r\n this.httpGenericService\r\n .fetchAll(`${this.api.BusinessUnits.getAssessmentCycles}?entityDetailsID=${this.entityid}`)\r\n .pipe(first())\r\n .subscribe((res) => {\r\n this.assessmentCycles = res[\"Result\"];\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n getEntityList() {\r\n return new Promise((resolve, reject) => {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityDetails.getEntityDetailsByuserId}?userId=${this.userId}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.entitylist = response;\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n async getBUList() {\r\n this.selectedBU = null;\r\n this.selectedSubCategory = null;\r\n this.subcategorydetails = null;\r\n this.RiskType = null;\r\n this.RiskType1 = null;\r\n this.riskattribute = null;\r\n await this.getEntityAssessmentStatus();\r\n\r\n if (this.EntityDataAssessment !== undefined) {\r\n if (\r\n this.EntityDataAssessment.bmvalidationDone != null &&\r\n this.EntityDataAssessment.dmvalidationDone != null &&\r\n this.EntityDataAssessment.bmvalidationDone != \"\" &&\r\n this.EntityDataAssessment.dmvalidationDone != \"\"\r\n ) {\r\n this.validationrequired = true;\r\n this.isdashboard = true;\r\n \r\n if (this.EntityDataAssessment.dashboardGenerated)\r\n this.isreport = true;\r\n \r\n }\r\n if (this.EntityDataAssessment.assessmentSubmitted) {\r\n if (\r\n this.isvalidatebutton &&\r\n (this.roleEntity.id == \"9de2097a-2414-4e9d-8b7b-78cbbbc94863\" ||\r\n this.roleEntity.id == \"7ea9791f-6aeb-4ca8-be5b-db459f49e489\")\r\n )\r\n this.validationrequired = true;\r\n else if (\r\n this.isvalidatebutton &&\r\n this.EntityDataAssessment.bmvalidationDone != \"\" &&\r\n this.roleEntity.id == \"d7b8db81-5256-4037-a96b-bec61d028b4a\"\r\n )\r\n this.validationrequired = true;\r\n }\r\n }\r\n\r\n if (this.maintab == \"AssessmentStatus\") {\r\n this.entityid = this.AssessmentStatusEntityId;\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.irceList = null;\r\n this.selectedSubCategory = null;\r\n this.subcategorydetails = null;\r\n this.RiskType = null;\r\n this.riskattribute = null;\r\n this.entityid = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.entityid = +this.entity.id;\r\n }\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.weightages.getAllEntityBusinessUnitsWeightage}?EntityId=${this.entityid}&assessmentCycle=${this.assessmentcyclevalue}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.bulist = response || [];\r\n console.log(\"Initial bulist:\", this.bulist);\r\n \r\n if (this.roleEntity.id === \"600322f0-f8c3-458a-a300-8661ece3bea5\") {\r\n const result = this.bulist.filter((element1) =>\r\n this.currentUser.businessId.includes(element1.businessUnitId)\r\n );\r\n this.bulist = result.length > 0 ? result : this.bulist;\r\n }\r\n \r\n if (this.isSubmitted && this.IDs?.[0]?.businessUnitId) {\r\n this.selectedBU = this.bulist.find(\r\n (x) => x.businessUnitId === this.IDs[0].businessUnitId\r\n ) || null;\r\n }\r\n \r\n console.log(\"Filtered bulist:\", this.bulist);\r\n console.log(\"Selected BU:\", this.selectedBU);\r\n \r\n this.getSubcategory();\r\n });\r\n \r\n }\r\n\r\n getSubcategory() {\r\n this.selectedSubCategory = null;\r\n this.subcategorydetails = null;\r\n this.RiskType = null;\r\n this.RiskType1 = null;\r\n this.riskattribute = null;\r\n if (this.IR == true) {\r\n this.riskCategoryid = 1;\r\n }\r\n if (this.CE == true) {\r\n this.riskCategoryid = 2;\r\n }\r\n this.getRiskclassification(this.riskCategoryid);\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityAssessmentReview.getAllRiskSubCategories}?entityDetailsId=${this.entityid}&businessUnitId=${this.selectedBU.businessUnitId}\r\n&riskCategoryId=${this.riskCategoryid}&assessmentStartDate=${this.assessmentcyclevalue}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.irceList = response;\r\n if (this.isSubmitted) {\r\n let selectedSubCategory:any = null;\r\n this.irceList.forEach(element1 => {\r\n this.IDs.forEach(element2 => {\r\n if (element1.riskSubCategoryId == element2.riskSubCategoryId && selectedSubCategory == null) {\r\n selectedSubCategory = element1;\r\n return;\r\n }\r\n });\r\n });\r\n this.selectedSubCategory = selectedSubCategory;\r\n //this.selectedSubCategory = this.irceList.filter(x => x.riskSubCategoryId == this.IDs[0].riskSubCategoryId)[0];\r\n }\r\n this.getSubcategorydetails();\r\n });\r\n }\r\n\r\n confirmCheckboxChange() {\r\n const isChecked = this.assessmentforIR.value.dataNotAvailable;\r\n let confirmationText, confirmButtonText, showCancelButton;\r\n \r\n if (!isChecked) {\r\n confirmationText = \"Are you sure you want to deselect 'data not available' option?\";\r\n confirmButtonText = \"Yes\";\r\n showCancelButton = true;\r\n } else {\r\n confirmationText = \"Are you sure that you want to select 'data not available' option?\";\r\n confirmButtonText = \"Yes\";\r\n showCancelButton = false;\r\n }\r\n \r\n Swal.fire({\r\n icon: \"warning\",\r\n text: confirmationText,\r\n showCancelButton: showCancelButton,\r\n showConfirmButton: true,\r\n confirmButtonText: confirmButtonText,\r\n cancelButtonText: \"Cancel\",\r\n cancelButtonColor: \"#dc3545\",\r\n confirmButtonColor: \"#007bff\",\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n // Handle confirmation logic here\r\n if (!isChecked) {\r\n // Checkbox is unchecked, so check it\r\n this.assessmentforIR.value.dataNotAvailable = false;\r\n } else {\r\n // Checkbox is checked, so uncheck it\r\n this.assessmentforIR.value.dataNotAvailable = true;\r\n }\r\n // Additionally, you may want to reset the form or perform other actions\r\n this.resetform();\r\n } else {\r\n // Handle cancellation logic here\r\n if (!isChecked) {\r\n // If attempting to deselect and canceled, keep it checked\r\n this.assessmentforIR.value.dataNotAvailable = true;\r\n }\r\n }\r\n });\r\n }\r\n \r\n getSubcategorydetails() {\r\n let id = +this.selectedSubCategory.riskSubCategoryId;\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityAssessmentReview.getAllRiskSubCategoryDetailsBySubCatergory}?riskSubCategoryId=${id}&entityDetailsId=${this.entityid}&businessUnitId=${this.selectedBU.businessUnitId}\r\n&riskCategoryId=${this.riskCategoryid}&assessmentStartDate=${this.assessmentcyclevalue}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.subcategorydetails = response;\r\n let item = this.subcategorydetails[0];\r\n if (this.isSubmitted) {\r\n item = null;\r\n this.subcategorydetails.forEach(element1 => {\r\n element1.warningDetails = false;\r\n this.IDs.forEach(element2 => {\r\n if(element1.riskSubCategoryDetailsId == element2.riskSubCategoryDetailsId) {\r\n element1.warningDetails = true;\r\n if (item == null) {\r\n item = element1;\r\n }\r\n return;\r\n }\r\n });\r\n });\r\n if (item == null) {\r\n item = this.subcategorydetails[0];\r\n }\r\n }\r\n this.getRiskAttribute(item, true);\r\n });\r\n }\r\n\r\n getRiskAttribute(item, isbool) {\r\n this.totalNoOfCustomers = 0;\r\n this.totalNovalueOfTransactionsPer = 0;\r\n this.totalvolumeOfTransactionsPer = 0;\r\n this.p = isbool ? 1 : this.p;\r\n this.first = isbool ? 0 : this.first;\r\n this.rows = isbool ? 10 : this.rows;\r\n this.assessmentforIR.reset();\r\n this.addcommentforCE.reset();\r\n this.tempdata = item;\r\n this.attributevalue = +item.riskSubCategoryDetailsId;\r\n this.RiskType = null;\r\n if (this.maintab == \"AssessmentStatus\") {\r\n this.entityid = +this.AssessmentStatusEntityId;\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.entityid = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.entityid = +this.entity.id;\r\n }\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n this.businessUnitId = +this.selectedBU.businessUnitId;\r\n\r\n let riskCategoryId = +this.selectedSubCategory.riskCategoryId;\r\n let riskubCategoryId = +this.selectedSubCategory.riskSubCategoryId;\r\n let riskSubCategoryDetailsId = +item.riskSubCategoryDetailsId;\r\n\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityAssessmentReview.getEntityAssessmentReview}?entityDetailsId=${this.entityid}&businessUnitId=${this.businessUnitId}&riskCategoryId=${riskCategoryId}&riskubCategoryId=${riskubCategoryId}&riskSubCategoryDetailsId=${riskSubCategoryDetailsId}&assessmentCycle=${this.assessmentcyclevalue}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n\r\n this.totalvalues = response.map((x: any) => {\r\n this.totalNoOfCustomers += parseFloat(x.noOfCustomersPer)\r\n ? parseFloat(x.noOfCustomersPer)\r\n : 0;\r\n this.totalNovalueOfTransactionsPer += parseFloat(x.valueOfTransactionsPer)\r\n ? parseFloat(x.valueOfTransactionsPer)\r\n : 0;\r\n this.totalvolumeOfTransactionsPer += parseFloat(x.volumeOfTransactionsPer)\r\n ? parseFloat(x.volumeOfTransactionsPer)\r\n : 0;\r\n });\r\n this.totalNoOfCustomers = parseFloat(this.totalNoOfCustomers.toFixed(2));\r\n this.totalNovalueOfTransactionsPer = parseFloat(this.totalNovalueOfTransactionsPer.toFixed(2));\r\n this.totalvolumeOfTransactionsPer = parseFloat(this.totalvolumeOfTransactionsPer.toFixed(2)); \r\n response.forEach((element) => {\r\n element.offer = this.getoffervalue(element.offering);\r\n this.dataNA = element.dataNotAvailable;\r\n element.BGforIR = this.css(element.riskClassificationAggr);\r\n element.BGforCE = this.css(element.mitigatingFactorRating);\r\n let rc = this.getStaticData(element.riskClassificationId);\r\n if (rc != undefined) {\r\n element.RC = rc.riskParameter;\r\n }\r\n let existrepo = this.getStaticData(\r\n element.controlExistenceResponseId\r\n );\r\n if (existrepo != undefined) {\r\n element.ExistenceResponse = existrepo.riskParameter;\r\n }\r\n let efferepo = this.getStaticData(\r\n element.controlEffectivenessResponseId\r\n );\r\n if (efferepo != undefined) {\r\n element.EffectivenessResponse = efferepo.riskParameter;\r\n }\r\n });\r\n this.riskattribute = response;\r\n if (this.riskCategoryid == 1) {\r\n this.dynamictableforIR(this.riskattribute);\r\n // this.pageIndex = isbool ? 1 : this.pageIndex;\r\n // this.setCurrentPage(this.pageIndex);\r\n }\r\n });\r\n }\r\n\r\n getregulatoryGuideline(entityId: number) {\r\n return new Promise((resolve, reject) => {\r\n this.httpGenericService\r\n .fetchAll(`${this.api.entityDetails.GetRegulatoryGuidelinesByEntityId}?entityId=${entityId}`)\r\n .pipe(first())\r\n .subscribe(\r\n (res) => {\r\n if (res && res[\"Result\"]) {\r\n this.regulatoryGuideList = res[\"Result\"];\r\n this.regulatoryGuideList.forEach(item => {\r\n if (item && item.regulatoryGuidelinesId) {\r\n this.regulatoryGuidelineId = item.regulatoryGuidelinesId;\r\n }\r\n });\r\n resolve(this.regulatoryGuideList);\r\n } else {\r\n reject('No results found for regulatory guidelines.');\r\n }\r\n },\r\n (error) => {\r\n console.error('Error fetching regulatory guidelines:', error);\r\n reject(error);\r\n }\r\n );\r\n });\r\n }\r\n \r\n dynamictableforIR(data: any) {\r\n this.RiskType = data.reduce((r, { riskType }) => {\r\n if (!r.some((o) => o.riskType == riskType)) {\r\n r.push({\r\n riskType,\r\n groupItem: data.filter((v) => v.riskType == riskType),\r\n });\r\n }\r\n return r;\r\n }, []);\r\n if (this.previousData == null) {\r\n this.selectedTable(this.RiskType[0], false);\r\n } else {\r\n this.selectedTable(this.previousData, false);\r\n }\r\n this.previousData = null;\r\n }\r\n\r\n getRiskclassification(id) {\r\n return new Promise((resolve, reject) => {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityAssessmentReview.getRiskClassifications}?riskCategoryId=${id}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.Riskclassification = response;\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n getEntitydetails() {\r\n return new Promise((resolve, reject) => {\r\n if (this.maintab == \"AssessmentStatus\") {\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.entityid = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.entityid = +this.entity.id;\r\n }\r\n }\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityDetails.getEntityDetailsById}?entityId=${this.entityid}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.EntityData = response;\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n getEntityAssessmentStatus() {\r\n return new Promise((resolve, reject) => {\r\n this.validationrequired = false;\r\n this.isreport = false;\r\n this.isdashboard = false;\r\n if (this.maintab == \"AssessmentStatus\") { \r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.entityid = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.entityid = +this.entity.id;\r\n }\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityAssessmentReview.getEntityAssessmentStatus}?entityDetailsId=${this.entityid}&assessmentCycle=${this.assessmentcyclevalue}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.EntityDataAssessment = response;\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n css (value: any) {\r\n if (this.IR == true) {\r\n if (value == 'High') {\r\n return 'red';\r\n }\r\n else if (value == 'Medium') {\r\n return 'yellow';\r\n }\r\n else if (value == 'Low') {\r\n return 'green';\r\n }\r\n else if (value == 'High trending Medium') {\r\n return '#FFC000';\r\n }\r\n else if (value == 'Medium trending Low') {\r\n return '#92D050';\r\n }\r\n\r\n\r\n \r\n }\r\n else if (this.CE == true) {\r\n if (value == 'Deficient') {\r\n return 'black';\r\n }\r\n else if (value == 'Needs Improvement') {\r\n return 'red';\r\n }\r\n else if (value == 'Strong') {\r\n return 'green';\r\n }\r\n else if (value == 'Satisfactory') {\r\n return 'yellow';\r\n }\r\n }\r\n }\r\n\r\n getStaticData(item: number) {\r\n let temp = this.Riskclassification.filter(\r\n (x) => x.riskClassificationScoreThresholdId == item\r\n );\r\n return temp[0];\r\n }\r\n\r\n getoffervalue(offer: boolean) {\r\n if (offer == true) {\r\n return \"Yes\";\r\n } else if (offer == false) {\r\n return \"No\";\r\n }\r\n }\r\n\r\n offering = [\r\n { id: 1, name: \"Yes\" },\r\n { id: 2, name: \"No\" },\r\n ];\r\n\r\n onRowEdit(data) {\r\n this.assessmentforIR.reset();\r\n this.assessmentReviewdisplayModal = true;\r\n this.assessmentforIR.controls[\"mapQuestionnaireId\"].setValue(\r\n data.mapQuestionnaireId\r\n );\r\n let rc: any = this.Riskclassification.filter(\r\n (x) => x.riskClassificationScoreThresholdId === data.riskClassificationId\r\n );\r\n this.assessmentforIR.controls[\"riskClassification\"].setValue(rc[0]);\r\n let offer: any = this.offering.filter((x) => x.name === data.offer);\r\n this.assessmentforIR.controls[\"offering\"].setValue(offer[0]);\r\n this.assessmentforIR.controls[\"noOfCustomers\"].setValue(\r\n data.noOfCustomersPer\r\n );\r\n this.assessmentforIR.controls[\"volumeOfTransactions\"].setValue(\r\n data.volumeOfTransactionsPer\r\n );\r\n this.assessmentforIR.controls[\"valueOfTransactions\"].setValue(\r\n data.valueOfTransactionsPer\r\n );\r\n this.assessmentforIR.controls[\"dataNotAvailable\"].setValue(\r\n data.dataNotAvailable);\r\n this.assessmentforIR.controls[\"SubCategory\"].setValue(\r\n this.selectedSubCategory.riskSubCategoryId\r\n );\r\n this.assessmentforIR.controls[\"SubCategoryDetails\"].setValue(\r\n data.riskSubCategoryDetailsId\r\n );\r\n }\r\n\r\n async onRowEditforCE(data) {\r\n let id = 2;\r\n this.isIndustryPractice = false;\r\n await this.getRiskclassification(id);\r\n this.assessmentforCE.reset();\r\n this.assessmentReviewdisplayModalforCE = true;\r\n debugger\r\n if (this.entity != undefined) {\r\n this.regulatoryGuideline= await this.getregulatoryGuideline(this.entity.id);\r\n\r\n }else if(Number(localStorage.getItem(\"EntityId\")) != 0){\r\n let EntityId = Number(localStorage.getItem(\"EntityId\"));\r\n this.regulatoryGuideline= await this.getregulatoryGuideline(EntityId);\r\n\r\n }else{\r\n let EntityId = Number(localStorage.getItem(\"ASEntityId\"));\r\n this.regulatoryGuideline= await this.getregulatoryGuideline(EntityId);\r\n }\r\n\r\n const matchingGuideline = this.regulatoryGuideline.find(\r\n (guideline) => guideline.regulatoryGuidelinesId === data.regulatoryGuidelinesId\r\n );\r\n\r\n if (matchingGuideline && matchingGuideline.name === 'Industry Practice') {\r\n \r\n this.isIndustryPractice = true;\r\n\r\n }\r\n \r\n // if (data.isIndustryPractice == false) {\r\n // this.Riskclassification = this.Riskclassification.filter(\r\n // (x) => x.riskClassificationScoreThresholdId !== 4\r\n // );\r\n // }\r\n this.assessmentforCE.controls[\"mapQuestionnaireId\"].setValue(\r\n data.mapQuestionnaireId\r\n );\r\n let existenceResponse: any = this.Riskclassification.filter(\r\n (x) =>\r\n x.riskClassificationScoreThresholdId === data.controlExistenceResponseId\r\n );\r\n\r\nif (this.isIndustryPractice) {\r\n let existenceResponseData = this.Riskclassification[0];\r\n this.assessmentforCE.controls[\"existenceResponse\"].setValue(\r\n existenceResponseData\r\n );\r\n}else{\r\n this.assessmentforCE.controls[\"existenceResponse\"].setValue(\r\n existenceResponse[0]\r\n );\r\n}\r\n\r\n \r\n this.assessmentforCE.controls[\"controlExistenceExplanation\"].setValue(\r\n data.controlExistenceExplanation\r\n );\r\n this.assessmentforCE.controls[\"controlExistenceDocReference\"].setValue(\r\n data.controlExistenceDocReference\r\n );\r\n let effectivenessResponse: any = this.Riskclassification.filter(\r\n (x) =>\r\n x.riskClassificationScoreThresholdId ===\r\n data.controlEffectivenessResponseId\r\n );\r\n\r\ndebugger\r\n\r\n if (this.isIndustryPractice) {\r\n let existenceResponseData = this.Riskclassification[0];\r\n this.assessmentforCE.controls[\"effectivenessResponse\"].setValue(\r\n existenceResponseData\r\n );\r\n }else{\r\n this.assessmentforCE.controls[\"effectivenessResponse\"].setValue(\r\n effectivenessResponse[0]\r\n );\r\n }\r\n // this.assessmentforCE.controls[\"effectivenessResponse\"].setValue(\r\n // effectivenessResponse[0]\r\n // );\r\n this.assessmentforCE.controls[\"controlEffectivenessExplanation\"].setValue(\r\n data.controlEffectivenessExplanation\r\n );\r\n this.assessmentforCE.controls[\"riskTreatmentActions\"].setValue(\r\n data.riskTreatmentActions\r\n );\r\n this.assessmentforCE.controls[\"pic\"].setValue(data.pic);\r\n this.assessmentforCE.controls[\"implementationDueDate\"].setValue(\r\n data.implementationDueDate\r\n );\r\n }\r\n\r\n getTotalfornoOfCustomersPer(value, data) {\r\n this.total = 0;\r\n value.forEach((value, key) => {\r\n if (value.mapQuestionnaireId !== data.mapQuestionnaireId) {\r\n this.total += +value.noOfCustomersPer;\r\n }\r\n });\r\n this.total = +(this.total + +data.noOfCustomers).toFixed(2);\r\n if (this.total > 100) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n getTotalforvolumeOfTransactionsPer(value, data) {\r\n this.total = 0;\r\n value.forEach((value, key) => {\r\n if (value.mapQuestionnaireId !== data.mapQuestionnaireId) {\r\n this.total += +value.volumeOfTransactionsPer;\r\n }\r\n });\r\n this.total = +(this.total + +data.volumeOfTransactions).toFixed(2);\r\n if (this.total > 100) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n getTotalforvalueOfTransactionsPer(value, data) {\r\n this.total = 0;\r\n value.forEach((value, key) => {\r\n if (value.mapQuestionnaireId !== data.mapQuestionnaireId) {\r\n this.total += +value.valueOfTransactionsPer;\r\n }\r\n });\r\n this.total = +(this.total + +data.valueOfTransactions).toFixed(2);\r\n if (this.total > 100) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n assignReview(data) {\r\n if (this.IR) {\r\n // data mapping\r\n if (data.offering == undefined || data.SubCategory == 6) {\r\n this.assessmentforIR.get(\"offering\").clearValidators();\r\n this.assessmentforIR.get(\"offering\").updateValueAndValidity();\r\n }\r\n if (data.SubCategory == 6 || data.offering?.id == 2 || data.dataNotAvailable == true) {\r\n this.assessmentforIR.get(\"noOfCustomers\").clearValidators();\r\n this.assessmentforIR.get(\"noOfCustomers\").updateValueAndValidity();\r\n this.assessmentforIR.get(\"volumeOfTransactions\").clearValidators();\r\n this.assessmentforIR\r\n .get(\"volumeOfTransactions\")\r\n .updateValueAndValidity();\r\n this.assessmentforIR.get(\"valueOfTransactions\").clearValidators();\r\n this.assessmentforIR\r\n .get(\"valueOfTransactions\")\r\n .updateValueAndValidity();\r\n }\r\n this.assessmentforIR.markAllAsTouched();\r\n if (this.assessmentforIR.invalid) {\r\n return;\r\n }\r\n\r\n let temp = this.subcategorydetails.filter(\r\n (x) => x.riskSubCategoryDetailsId == data.SubCategoryDetails\r\n );\r\n\r\n if (!this.getTotalfornoOfCustomersPer(this.riskattribute, data)) {\r\n swal({\r\n icon: \"warning\",\r\n text:\r\n \"No. of customers percentage per \" +\r\n temp[0].riskAttribute +\r\n \" must be 100%\",\r\n });\r\n return;\r\n } else if (\r\n !this.getTotalforvolumeOfTransactionsPer(this.riskattribute, data)\r\n ) {\r\n swal({\r\n icon: \"warning\",\r\n text:\r\n \"Volume of transactions percentage per \" +\r\n temp[0].riskAttribute +\r\n \" must be 100%\",\r\n });\r\n return;\r\n } else if (\r\n !this.getTotalforvalueOfTransactionsPer(this.riskattribute, data)\r\n ) {\r\n swal({\r\n icon: \"warning\",\r\n text:\r\n \"Value of transactions percentage per \" +\r\n temp[0].riskAttribute +\r\n \" must be 100%\",\r\n });\r\n return;\r\n } else {\r\n this.riskattribute = this.riskattribute.filter((value, key) => {\r\n if (value.mapQuestionnaireId == data.mapQuestionnaireId) {\r\n if (this.maintab == \"AssessmentStatus\") {\r\n value.entityDetailsID = +this.AssessmentStatusEntityId;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n value.entityDetailsID = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n value.entityDetailsID = +this.entity.id;\r\n }\r\n }\r\n value.businessUnitId = +this.selectedBU.businessUnitId;\r\n if (data.offering != undefined) {\r\n value.offering = data.offering.name == \"No\" ? false : true;\r\n }\r\n if (data.SubCategory !== 6) {\r\n value.riskClassificationId = +data.riskClassification\r\n .riskClassificationScoreThresholdId;\r\n value.noOfCustomersPer =\r\n data.dataNotAvailable == true ? \"0.00\" :\r\n data.noOfCustomers == null\r\n ? null\r\n : data.noOfCustomers.toString().trim();\r\n value.volumeOfTransactionsPer =\r\n data.dataNotAvailable == true ? \"0.00\" :\r\n data.volumeOfTransactions == null\r\n ? null\r\n : data.volumeOfTransactions.toString().trim();\r\n value.valueOfTransactionsPer =\r\n data.dataNotAvailable == true ? \"0.00\" :\r\n data.valueOfTransactions == null\r\n ? null\r\n : data.valueOfTransactions.toString().trim();\r\n value.dataNotAvailable = data.dataNotAvailable;\r\n } else {\r\n value.qualitativeFactorsResponse =\r\n data.riskClassification.qualitativeFactorsResponse;\r\n }\r\n let obj = [value];\r\n this.callAPI(obj);\r\n this.assessmentReviewdisplayModal = false;\r\n this.assessmentforIR.reset();\r\n }\r\n return true;\r\n });\r\n }\r\n } else if (this.CE) {\r\n if (\r\n data.controlExistenceExplanation == data.controlEffectivenessExplanation\r\n ) {\r\n swal({\r\n icon: \"warning\",\r\n text:\r\n \"Values provided for Control Existence Explanation and Control Effectiveness Explanation should not be same\",\r\n });\r\n return;\r\n }\r\n this.riskattribute = this.riskattribute.filter((value, key) => {\r\n if (value.mapQuestionnaireId == data.mapQuestionnaireId) {\r\n if (this.maintab == \"AssessmentStatus\") {\r\n value.entityDetailsID = +this.AssessmentStatusEntityId;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n value.entityDetailsID = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n value.entityDetailsID = +this.entity.id;\r\n }\r\n }\r\n value.businessUnitId = +this.selectedBU.businessUnitId;\r\n value.controlExistenceResponseId = +data.existenceResponse\r\n .riskClassificationScoreThresholdId;\r\n value.controlExistenceExplanation = data.controlExistenceExplanation\r\n .toString()\r\n .trim();\r\n value.controlExistenceDocReference = data.controlExistenceDocReference\r\n .toString()\r\n .trim();\r\n value.controlEffectivenessResponseId = +data.effectivenessResponse\r\n .riskClassificationScoreThresholdId;\r\n value.controlEffectivenessExplanation = data.controlEffectivenessExplanation\r\n .toString()\r\n .trim();\r\n value.inherentRisk = data.inherentRisk;\r\n value.residualRisk = data.residualRisk;\r\n value.riskTreatmentActions = data.riskTreatmentActions\r\n .toString()\r\n .trim();\r\n value.pic = data.pic.toString().trim();\r\n value.implementationDueDate = data.implementationDueDate;\r\n let obj = [value];\r\n this.callAPI(obj);\r\n this.assessmentReviewdisplayModalforCE = false;\r\n this.assessmentforCE.reset();\r\n }\r\n return true;\r\n });\r\n }\r\n }\r\n\r\n assignComment(data) {\r\n this.riskattribute = this.riskattribute.filter((value, key) => {\r\n if (value.mapQuestionnaireId == data.mapQuestionnaireId) {\r\n value.comments = data.comment;\r\n let obj = [value];\r\n this.callAPI(obj);\r\n }\r\n return true;\r\n });\r\n this.commentdisplayModal = false;\r\n this.addcommentforCE.reset();\r\n }\r\n\r\n callAPI(data) {\r\n if (this.maintab == \"AssessmentStatus\") {\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n } else {\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n this.previousData = data[0];\r\n this.httpGenericService\r\n .postData(\r\n `${this.api.entityAssessmentReview.saveEntityAssesmentReview}?assessmentCycle=${this.assessmentcyclevalue}&createdBy=${this.userId}`,\r\n data\r\n )\r\n .pipe(first())\r\n .subscribe((data) => {\r\n let response = data;\r\n if (response.StatusCode === 200) {\r\n swal({\r\n icon: \"success\",\r\n text: response.Message,\r\n });\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: response.Message,\r\n });\r\n }\r\n this.getRiskAttribute(this.tempdata, false);\r\n });\r\n }\r\n\r\n infoPopUp(item: any, popup: boolean) {\r\n if (popup) {\r\n this.infoPopUpModel = true;\r\n }\r\n if (item.groupItem[0].riskFactors !== null) {\r\n this.inforData = item.groupItem[0].riskFactors;\r\n } else {\r\n this.inforData = \"Not Available..\";\r\n }\r\n }\r\n\r\n fileupload(value: any) {\r\n if (value.entityAssesmentReviewId > 0) {\r\n this.uploadingfile = value;\r\n this.value = 0;\r\n this.fileuploadModal = true;\r\n this.test = [];\r\n this.fileRequired = false;\r\n }\r\n else\r\n swal({\r\n icon: \"error\",\r\n text: \"Please provide response to question and then you can upload.\"\r\n });\r\n\r\n }\r\n\r\n fileuploadforClient(value: any) { \r\n debugger\r\n this.uploadingfile = value;\r\n this.value = 0;\r\n this.fileuploadModal = true;\r\n this.test = [];\r\n this.oldtemplateName = value.s3FileName;\r\n this.s3FileName = value.s3FileName;\r\n }\r\n getMagicNumber(file: File): Promise {\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n const arrayBuffer = reader.result as ArrayBuffer;\r\n const uintArray = new Uint8Array(arrayBuffer);\r\n const magicNumberHex = uintArray.reduce(\r\n (acc, value) => acc + value.toString(16).padStart(2, '0'),\r\n ''\r\n );\r\n resolve(magicNumberHex.toUpperCase());\r\n };\r\n reader.onerror = () => {\r\n resolve(null);\r\n };\r\n // Read the first few bytes of the file (adjust as needed)\r\n const blob = file.slice(0, 4);\r\n reader.readAsArrayBuffer(blob);\r\n });\r\n }\r\n upload(event) {\r\n const file = (event.target as HTMLInputElement).files?.[0]; this.fileCounter = 0;\r\n\r\n this.file = event.target.files;\r\nthis.getMagicNumber(file).then((magicNumber: any) => {\r\n if (magicNumber === '25504446') {\r\n \r\n this.fileCounter = this.fileCounter + this.file.length;\r\n\r\n // check Validation\r\n if (this.file.size > 28000000) {\r\n this.fileRequired = true;\r\n this.UploadErrorMessage = \"Select file less then 20 MB\";\r\n return;\r\n } else {\r\n for (let i = 0; i < event.target.files.length; i++) {\r\n let ext = event.target.files[i].name.split(\".\").pop();\r\n var obj = {\r\n file: event.target.files[i],\r\n extension: ext,\r\n };\r\n this.test.push(obj);\r\n }\r\n this.fileRequired = false;\r\n for (let file of this.file) {\r\n this.readAndUploadFile(file);\r\n }\r\n }\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: \"Please upload PDF File Only.\",\r\n }); }\r\n });\r\n }\r\n\r\n private readAndUploadFile(theFile: any) {\r\n this.uploadingfile = {};\r\n this.uploadingfile.fileName = theFile.name;\r\n\r\n // Use FileReader() object to get file to upload\r\n // NOTE: FileReader only works with newer browsers\r\n let reader = new FileReader();\r\n\r\n // Setup onload event for reader\r\n reader.onload = () => {\r\n // Store base64 encoded representation of file\r\n let base64 = reader.result.toString();\r\n let split = base64.split(\",\");\r\n this.uploadingfile.fileBase64 = split[1];\r\n this.value = 0;\r\n let interval = setInterval(() => {\r\n //this.value = this.value + Math.floor(Math.random() * 10) + 1;\r\n this.value = this.value + Math.floor(this.getRandomIntInclusive(0, 1) * 10) + 1;\r\n if (this.value >= 100) {\r\n this.value = 100;\r\n this.button = true;\r\n clearInterval(interval);\r\n }\r\n }, 500);\r\n };\r\n\r\n // Read the file\r\n reader.readAsDataURL(theFile);\r\n }\r\n\r\n\r\n getRandomIntInclusive(min, max) {\r\n const randomBuffer = new Uint32Array(1);\r\n\r\n window.crypto.getRandomValues(randomBuffer);\r\n\r\n let randomNumber = randomBuffer[0] / (0xffffffff + 1);\r\n\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n return Math.floor(randomNumber * (max - min + 1)) + min;\r\n}\r\n\r\n saveFiles() {\r\n let obj = [this.uploadingfile];\r\n if (this.maintab == \"AssessmentStatus\")\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n else\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n this.httpGenericService\r\n .postData(\r\n `${this.api.entityAssessmentReview.saveEntityAssesmentReview}?assessmentCycle=${this.assessmentcyclevalue}&createdBy=${this.userId}`,\r\n obj\r\n )\r\n .pipe(first())\r\n .subscribe((data) => {\r\n let response = data;\r\n if (response.StatusCode === 200) {\r\n swal({\r\n icon: \"success\",\r\n text: response.Message,\r\n });\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: response.Message,\r\n });\r\n }\r\n });\r\n this.button = false;\r\n this.test = [];\r\n this.fileuploadModal = false;\r\n }\r\n\r\n saveFile() { \r\n this.files = new reportFileUpload;\r\n this.files.s3FileName = this.uploadingfile.fileName;\r\n this.files.createdBy = this.userData.userId;\r\n this.files.fileBase64 = this.uploadingfile.fileBase64;\r\n this.files.entityDetailsId = this.entityid;\r\n this.httpGenericService\r\n .postDataPromise(this.api.questionsTemplates.UploadUpdatedEntityReport, this.files)\r\n .then((data) => {\r\n let response = data;\r\n if (response.StatusCode === 200 && response.Result !== 'DUPLICATE') {\r\n swal({\r\n icon: \"success\",\r\n text: response.Message\r\n });\r\n this.getAllTemplates(false);\r\n }\r\n else if (response.StatusCode === 200 && response.Result === 'DUPLICATE') {\r\n swal({\r\n icon: \"warning\",\r\n text: response.Message\r\n });\r\n }\r\n else {\r\n swal({\r\n icon: \"error\",\r\n text: response.Message\r\n });\r\n }\r\n });\r\n \r\n }\r\n\r\n getAllTemplates(bool: boolean) {\r\n let id = 0;\r\n if (this.maintab == \"false\") {\r\n id = +this.selectedEntity.entityDetailsId;\r\n }\r\n else {\r\n id = +this.entity.id;\r\n }\r\n let buid = +this.selectedBU.businessUnitId;\r\n this.pageIndex = bool? 1 : this.pageIndex;\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.questionsTemplates.getAllQuestionsTemplate\r\n }?EntityId=${id}&BusinessUnitId=${buid}&assessmentCycle=${this.selectedAssessmentCycle.value}\r\n &UserId=${this.userData.userId}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n response.forEach(element => {\r\n if (element.riskCategoryId == 1) {\r\n element.RC = 'Inherent Risk';\r\n }\r\n else if (element.riskCategoryId == 2) {\r\n element.RC = 'Control Effectiveness';\r\n }\r\n else {\r\n element.RC = null;\r\n }\r\n });\r\n // this.templates = response;\r\n // this.addtemplatebutton = true;\r\n // this.savechangesbutton = true;\r\n // this.setCurrentPage(this.pageIndex);\r\n });\r\n }\r\n\r\n prevent(event: Event, formName: string) {\r\n if (formName == \"comment\") {\r\n if (this.addcommentforCE.value.comment == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"controlExistenceExplanation\") {\r\n if (this.assessmentforCE.value.controlExistenceExplanation == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"controlExistenceDocReference\") {\r\n if (this.assessmentforCE.value.controlExistenceDocReference == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"controlEffectivenessExplanation\") {\r\n if (this.assessmentforCE.value.controlEffectivenessExplanation == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"inherentRisk\") {\r\n if (this.assessmentforCE.value.inherentRisk == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"residualRisk\") {\r\n if (this.assessmentforCE.value.residualRisk == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"riskTreatmentActions\") {\r\n if (this.assessmentforCE.value.riskTreatmentActions == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"pic\") {\r\n if (this.assessmentforCE.value.pic == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"noOfCustomers\") {\r\n if (this.assessmentforIR.value.noOfCustomers == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"volumeOfTransactions\") {\r\n if (this.assessmentforIR.value.volumeOfTransactions == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n } else if (formName == \"valueOfTransactions\") {\r\n if (this.assessmentforIR.value.valueOfTransactions == \"\") {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n }\r\n }\r\n\r\n Generatereport() {\r\n this.reportmodel = true;\r\n }\r\n\r\n Generatedocorpdfreport(data: boolean) {\r\n if (this.maintab == \"AssessmentStatus\")\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n else\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n let id = +this.EntityData.entityDetailsId;\r\n let fileextension = data == true ? \".docx\" : \".pdf\";\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.reportTemplates.generateReport}?EntityId=${id}&assessmentCycle=${this.assessmentcyclevalue}&reportGeneratedBy=${this.userId}&fileExtension=${fileextension}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res;\r\n \r\n if (response.StatusCode === 200 && response.Result !== \"ERROR\") {\r\n if (data == true) {\r\n this.downloadfile.downloadDocument(\r\n response.Result.filePathDOCX,\r\n response.Result.fileNameDOCX\r\n );\r\n } else {\r\n this.downloadfile.downloadDocument(\r\n response.Result.filePathPDF,\r\n response.Result.fileNamePDF\r\n );\r\n }\r\n this.reportmodel = false;\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: \"Error occured while downloading\",\r\n });\r\n }\r\n });\r\n }\r\n\r\n downloadreport(value) {\r\n let Data = value.fileData;\r\n let filename = value.fileName;\r\n // how to use FileSaver here ?\r\n var data = new Blob([Data], { type: \"octet/stream\" });\r\n FileSaver.saveAs(data, filename);\r\n }\r\n\r\n Downloadfile() {\r\n if (this.risk == 'IR') {\r\n this.templateCategory = \"IR-Questionnaire Template.xlsx\";\r\n }\r\n else {\r\n this.templateCategory = \"CE-Questionnaire Template.xlsx\";\r\n }\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.questionsTemplates.DownloadReport\r\n }?fileName=${this.templateCategory}&entityDetailedId=${this.entityid}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res;\r\n if (response.StatusCode === 200) {\r\n this.downloadfile.downloadDocument(response.Result, this.templateCategory);\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: \"Could not Find the File.\",\r\n });\r\n }\r\n });\r\n }\r\n\r\n saveData = (function () {\r\n // console.log(\"Here\");\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n // a.style = \"display: none\";\r\n return function (data, fileName) {\r\n // console.log(data);\r\n var json = atob(data),\r\n blob = this.base64toBlob(json),\r\n url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n };\r\n })();\r\n\r\n base64toBlob(byteString) {\r\n var ia = new Uint8Array(byteString.length);\r\n for (var i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n return new Blob([ia], { type: \"octet/stream\" });\r\n }\r\n\r\n Submit() {\r\n this.isSubmitted = false;\r\n if (this.maintab == \"AssessmentStatus\") {\r\n this.entityid = +this.AssessmentStatusEntityId;\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.entityid = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.entityid = +this.entity.id;\r\n }\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityAssessmentReview.submitAssessment}?entityDetailsId=${this.entityid}&assessmentCycle=${this.assessmentcyclevalue}&submittedBy=${this.userId}`\r\n )\r\n .pipe(first())\r\n .subscribe(async (res) => {\r\n let response: any = res;\r\n if (response.StatusCode === 200 && response.Result === \"SUCCESS\") {\r\n await this.getEntityAssessmentStatus();\r\n if (!(this.EntityData.dmvalidationRequired || this.EntityData.bmvalidationRequired)\r\n ) {\r\n //this.a3x3wQ1 = true;\r\n this.isdashboard = true;\r\n } else {\r\n if (\r\n \r\n this.EntityDataAssessment.bmvalidationDone != \"\" &&\r\n this.EntityDataAssessment.dmvalidationDone != \"\"\r\n ) {\r\n this.validationrequired = true;\r\n this.isdashboard = true;\r\n\r\n if (this.EntityDataAssessment.dashboardGenerated)\r\n this.isreport = true;\r\n\r\n }\r\n else if (this.roleEntity.id == \"9de2097a-2414-4e9d-8b7b-78cbbbc94863\")\r\n this.validationrequired = true;\r\n else if (\r\n this.EntityData.bmvalidationRequired &&\r\n this.roleEntity.id == \"7ea9791f-6aeb-4ca8-be5b-db459f49e489\"\r\n )\r\n this.validationrequired = true;\r\n else if (\r\n this.EntityData.dmvalidationRequired &&\r\n this.roleEntity.id == \"d7b8db81-5256-4037-a96b-bec61d028b4a\" &&\r\n this.EntityDataAssessment.bmvalidationDone != \"\"\r\n ) \r\n this.validationrequired = true;\r\n }\r\n swal({\r\n icon: \"success\",\r\n text: response.Message,\r\n });\r\n } else if (response.StatusCode === 200 && response.Result !== \"SUCCESS\") {\r\n this.isSubmitted = true;\r\n if (response.Message == \"CurrentBU percentages matched\") {\r\n swal({\r\n icon: \"warning\",\r\n //text: response.Message\r\n text: response.Result,\r\n });\r\n }\r\n else {\r\n this.IDs = response.Result.iDs;\r\n // console.log(this.IDs);\r\n swal({\r\n icon: \"warning\",\r\n //text: response.Message\r\n text:\r\n \"Total Percentage against all the Sub-Category-Details of [\" +\r\n response.Result.subcategoryDetailsName +\r\n \"] for Sub-Category [\" +\r\n response.Result.subcategoryName +\r\n \"] under Business Unit - \" +\r\n response.Result.buname +\r\n \" must be equal to 100%. \\n\" +\r\n \"1. No Of Customers Percentage - \" +\r\n response.Result.iDs[0].totalNoOfCustomersPer +\r\n \"% \\n\" +\r\n \"2. Volume Of Transactions Percentage - \" +\r\n response.Result.iDs[0].totalVolumeOfTransactionsPer +\r\n \"% \\n\" +\r\n \"3. Value Of Transactions Percentage - \" +\r\n response.Result.iDs[0].totalValueOfTransactionsPer +\r\n \"%\",\r\n });\r\n }\r\n await this.getBUList();\r\n } else if (response.StatusCode === 500 && response.Result !== \"\") {\r\n this.isSubmitted = true;\r\n if (response.Message == \"CurrentBU responses provided\" || response.Message == \"Improper Weightages\") {\r\n swal({\r\n icon: \"warning\",\r\n //text: response.Message\r\n text: response.Result,\r\n });\r\n }\r\n else {\r\n this.IDs = response.Result;\r\n if (this.IDs[0].riskCategoryId == 1) {\r\n this.IR = true;\r\n this.CE = false;\r\n }\r\n else {\r\n this.IR = false;\r\n this.CE = true;\r\n }\r\n swal({\r\n icon: \"warning\",\r\n text: response.Message,\r\n // text:\r\n // \"Please provide answers for Risk Category [\" +\r\n // response.Result.riskCategory +\r\n // \"] >> having Business Unit [\" +\r\n // response.Result.businessUnit +\r\n // \"] >> with Sub-Category [\" +\r\n // response.Result.riskSubCategory +\r\n // \"] >> and Sub-Category-Details [\" +\r\n // response.Result.riskAttribute +\r\n // \"] >> of Risk Type [\" +\r\n // response.Result.riskType +\r\n // \"]\" ,\r\n });\r\n \r\n }\r\n\r\n await this.getBUList();\r\n \r\n } else {\r\n swal({\r\n icon: \"warning\",\r\n text: response.Message,\r\n });\r\n }\r\n });\r\n }\r\n WeitageNotAssignedPopup(){\r\n debugger\r\n \r\n }\r\nBuWiseWeitage(){\r\n debugger\r\n localStorage.setItem(\"ASEntityId\",JSON.stringify(this.entityid)); ;\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.weightages.getAllRiskCategoryandSubCategoryWeighatages}?EntityId=${this.entityid}&BusinessUnitId=${this.selectedBU.businessUnitId}\r\n &RiskCategoryid=${this.riskCategoryid}&assessmentCycle=${this.assessmentcyclevalue}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n debugger\r\n //this.irceList = response;\r\n this.riskSubCategoryWeightageAssignEntity =\r\n response.riskSubCategoryWeightageAssignEntity;\r\n this.getTotal(this.riskSubCategoryWeightageAssignEntity);\r\n this.RCsum = this.total;\r\n localStorage.setItem(\"RCsum\",JSON.stringify(this.RCsum));\r\n this.riskSubCategoryDetailsWeightageAsignEntity =\r\n response.riskSubCategoryDetailsWeightageAsignEntity;\r\n this.customerdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.productsdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.transactionsdata(\r\n this.riskSubCategoryDetailsWeightageAsignEntity\r\n );\r\n this.geographydata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.channelsdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.QFdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.getTotal(this.CustomersData);\r\n this.Customersum = this.total;\r\n localStorage.setItem(\"Customersum\",JSON.stringify(this.Customersum));\r\n this.getTotal(this.ProductsData);\r\n this.Productsum = this.total;\r\n localStorage.setItem(\"Productsum\",JSON.stringify(this.Productsum));\r\n this.getTotal(this.TransactionsData);\r\n this.Transactionsum = this.total;\r\n localStorage.setItem(\"Transactionsum\",JSON.stringify(this.Transactionsum));\r\n this.getTotal(this.GeographyData);\r\n this.Geographysum = this.total;\r\n localStorage.setItem(\"Geographysum\",JSON.stringify(this.Geographysum));\r\n this.getTotal(this.ChannelsData);\r\n this.Channelssum = this.total;\r\n localStorage.setItem(\"Channelssum\",JSON.stringify(this.Channelssum));\r\n\r\n this.getTotal(this.OtherQualitativeFactorsData);\r\n this.QFsum = this.total;\r\n localStorage.setItem(\"QFsum\",JSON.stringify(this.QFsum));\r\n if (\r\n !(this.RCsum == 100 ||\r\n this.Customersum == 100 ||\r\n this.Productsum == 100 ||\r\n this.Transactionsum == 100 ||\r\n this.Geographysum == 100 ||\r\n this.Channelssum == 100 ||\r\n this.QFsum == 100)\r\n ) {\r\n this.EntityDataAssessment=false;\r\n this.WeitagePopup=false;\r\n if( ( this.WeitagePopup==false )) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Weitage for Selected BU is not 100%.\",\r\n });\r\n }\r\n \r\n}else{\r\n this.EntityDataAssessment=true;\r\n this.WeitagePopup = true;\r\n}\r\n });\r\n}\r\n\r\ngetTotal(data) {\r\n this.total = 0;\r\n data.forEach((value, key) => {\r\n this.total += +value.weightage;\r\n });\r\n return this.total;\r\n}\r\ncustomerdata(value: any) {\r\n this.CustomersData = value.filter((x) => x.riskSubCategoryId == 1);\r\n return this.CustomersData;\r\n}\r\n\r\nproductsdata(value: any) {\r\n this.ProductsData = value.filter((x) => x.riskSubCategoryId == 2);\r\n return this.ProductsData;\r\n}\r\n\r\ntransactionsdata(value: any) {\r\n this.TransactionsData = value.filter((x) => x.riskSubCategoryId == 3);\r\n return this.TransactionsData;\r\n}\r\n\r\ngeographydata(value: any) {\r\n this.GeographyData = value.filter((x) => x.riskSubCategoryId == 4);\r\n return this.GeographyData;\r\n}\r\n\r\nchannelsdata(value: any) {\r\n this.ChannelsData = value.filter((x) => x.riskSubCategoryId == 5);\r\n return this.ChannelsData;\r\n}\r\n\r\nQFdata(value: any) {\r\n this.OtherQualitativeFactorsData = value.filter(\r\n (x) => x.riskSubCategoryId == 6\r\n );\r\n return this.OtherQualitativeFactorsData;\r\n}\r\n\r\n fetchAssessmentStatus() {\r\n this.isSubmitted = false;\r\n \r\n if (this.maintab == \"AssessmentStatus\") {\r\n this.entityid = +this.AssessmentStatusEntityId;\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.entityid = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.entityid = +this.entity.id;\r\n }\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n \r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.weightages.getAllEntityBusinessUnitsWeightage}?EntityId=${this.entityid}&assessmentCycle=${this.assessmentcyclevalue}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.EntityDataAssessment = response;\r\n if (this.EntityDataAssessment) {\r\n debugger\r\n this.showPopup = this.EntityDataAssessment.some(item => item.weightage !== '100.00');\r\n debugger\r\n if (\r\n this.RCsum == 100 ||\r\n this.Customersum == 100 ||\r\n this.Productsum == 100 ||\r\n this.Transactionsum == 100 ||\r\n this.Geographysum == 100 ||\r\n this.Channelssum == 100 ||\r\n this.QFsum == 100\r\n ){\r\n this.showPopup=true;\r\n }\r\n if (this.showPopup) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Weightage not assigned 100 %\",\r\n });\r\n }\r\n // console.log(this.showPopup)\r\n // Logic to display assessment status\r\n if (!(this.EntityData.dmvalidationRequired || this.EntityData.bmvalidationRequired)) {\r\n this.isdashboard = true;\r\n } else {\r\n if (\r\n this.EntityDataAssessment.bmvalidationDone != \"\" &&\r\n this.EntityDataAssessment.dmvalidationDone != \"\"\r\n ) {\r\n this.validationrequired = true;\r\n this.isdashboard = true;\r\n \r\n if (this.EntityDataAssessment.dashboardGenerated)\r\n this.isreport = true;\r\n } else if (this.roleEntity.id == \"9de2097a-2414-4e9d-8b7b-78cbbbc94863\")\r\n this.validationrequired = true;\r\n else if (\r\n this.EntityData.bmvalidationRequired &&\r\n this.roleEntity.id == \"7ea9791f-6aeb-4ca8-be5b-db459f49e489\"\r\n )\r\n this.validationrequired = true;\r\n else if (\r\n this.EntityData.dmvalidationRequired &&\r\n this.roleEntity.id == \"d7b8db81-5256-4037-a96b-bec61d028b4a\" &&\r\n this.EntityDataAssessment.bmvalidationDone != \"\"\r\n )\r\n this.validationrequired = true;\r\n }\r\n }\r\n \r\n // swal({\r\n // icon: \"success\",\r\n // text: \"Assessment status fetched successfully.\",\r\n // });\r\n // }, (error) => {\r\n // swal({\r\n // icon: \"error\",\r\n // text: \"Failed to fetch assessment status.\",\r\n // });\r\n });\r\n }\r\n \r\n\r\n GenerateDashboard() {\r\n if (this.maintab == \"AssessmentStatus\") {\r\n this.entityid = +this.AssessmentStatusEntityId;\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n //this.entityName \r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.entityid = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.entityid = +this.entity.id;\r\n }\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n\r\n //localStorage.setItem('GenDashboardEntiy', JSON.stringify(this.entity.id));\r\n\r\n //localStorage.setItem('GenDashboardYear', JSON.stringify(this.assessmentcyclevalue));\r\n localStorage.setItem('maintab', 'AssessmentStatus')\r\n localStorage.setItem('ASAssessmentCycle', JSON.stringify(this.assessmentcyclevalue))\r\n //localStorage.setItem('DashboardAssessmentCycle', JSON.stringify(this.selectedAssessmentCycle))\r\n localStorage.setItem('ASEntityId', JSON.stringify(this.entityid));\r\n debugger\r\n if (this.entityName.companyName==undefined) {\r\n localStorage.setItem('setEntityName', JSON.stringify(this.entityName));\r\n\r\n }else{\r\n localStorage.setItem('setEntityName', JSON.stringify(this.entityName.companyName));\r\n\r\n }\r\n localStorage.setItem('setCss', '7');\r\n\r\n localStorage.setItem('setDashboardEnableTab', 'true');\r\n localStorage.setItem('setWeightageEnableTab', 'true');\r\n localStorage.setItem('setAssessmentEnableTab', 'true');\r\n this.route.navigate([\"/business/Dashboard\"]);\r\n }\r\n\r\n ValidateEntity() {\r\n if (this.maintab == \"AssessmentStatus\") {\r\n this.entityid = +this.AssessmentStatusEntityId;\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.entityid = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.entityid = +this.entity.id;\r\n }\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n this.isAdmin = this.roleEntity.id == \"9de2097a-2414-4e9d-8b7b-78cbbbc94863\";\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityAssessmentReview.validateAssessment}?entityDetailsId=${this.entityid}&isAdmin=${this.isAdmin}&assessmentCycle=${this.assessmentcyclevalue}&validatedBy=${this.userId}`\r\n )\r\n .pipe(first())\r\n .subscribe(async (res) => {\r\n let response: any = res;\r\n if (response.StatusCode === 200) {\r\n await this.getEntityAssessmentStatus();\r\n if (\r\n this.EntityDataAssessment.bmvalidationDone != \"\" &&\r\n this.EntityDataAssessment.dmvalidationDone != \"\"\r\n ) {\r\n this.validationrequired = true;\r\n this.isdashboard = true;\r\n }\r\n //this.isreport = true;\r\n swal({\r\n icon: \"success\",\r\n\r\n\r\n\r\n text: response.Message,\r\n });\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: response.Message,\r\n });\r\n }\r\n });\r\n }\r\n\r\n hide(el) {\r\n el.hide();\r\n }\r\n\r\n selectedTable(item: any, isbool: boolean) {\r\n if(this.isSubmitted && !isbool) {\r\n let selectedtable:any = null;\r\n this.RiskType.forEach(element => {\r\n element.warningRiskType = false;\r\n element.groupItem.forEach(el => {\r\n if(el.riskClassificationAggr == '') {\r\n element.warningRiskType = true;\r\n if (selectedtable == null) {\r\n selectedtable = element;\r\n\r\n item = selectedtable;\r\n }\r\n return;\r\n }\r\n });\r\n });\r\n }\r\n this.RiskType1 = this.RiskType.filter((x) => x.riskType == item.riskType);\r\n this.table_no = item.riskType;\r\n }\r\n\r\n resetform() {\r\n \r\n \r\n if (this.assessmentforIR.value.offering?.id == 2 || this.assessmentforIR.value.dataNotAvailable == true) {\r\n //this.assessmentforIR.controls[\"noOfCustomers\"].clearValidators();\r\n \r\n //this.assessmentforIR.controls[\"volumeOfTransactions\"].clearValidators();\r\n //this.assessmentforIR.controls[\"valueOfTransactions\"].clearValidators();\r\n if (this.assessmentforIR.value.offering?.id == 2) {\r\n this.assessmentforIR.controls[\"dataNotAvailable\"].setValue(false);\r\n this.assessmentforIR.controls[\"noOfCustomers\"].reset();\r\n this.assessmentforIR.controls[\"volumeOfTransactions\"].reset();\r\n this.assessmentforIR.controls[\"valueOfTransactions\"].reset();\r\n }\r\n else {\r\n this.assessmentforIR.controls[\"noOfCustomers\"].setValue(\"0.00\");\r\n this.assessmentforIR.controls[\"volumeOfTransactions\"].setValue(\"0.00\");\r\n this.assessmentforIR.controls[\"valueOfTransactions\"].setValue(\"0.00\");\r\n }\r\n }\r\n else {\r\n this.assessmentforIR.controls[\"noOfCustomers\"].reset();\r\n this.assessmentforIR.controls[\"volumeOfTransactions\"].reset();\r\n this.assessmentforIR.controls[\"valueOfTransactions\"].reset();\r\n this.assessmentforIR.controls[\"noOfCustomers\"].setValidators([\r\n Validators.required,\r\n ]);\r\n this.assessmentforIR.controls[\"volumeOfTransactions\"].setValidators([\r\n Validators.required,\r\n ]);\r\n this.assessmentforIR.controls[\"valueOfTransactions\"].setValidators([\r\n Validators.required,\r\n ]);\r\n }\r\n \r\n \r\n \r\n\r\n\r\n \r\n }\r\n\r\n\r\n\r\n // paginate(evt: any) {\r\n // this.pageIndex = evt.first / evt.rows + 1;\r\n // }\r\n\r\n // setCurrentPage(n: number) {\r\n // this.table.first = (n - 1) * this.table.rows;\r\n // this.table.firstChange.emit(this.table.first);\r\n // }\r\n\r\n numberOnly(event: Event) { \r\n return this.commonserviceService.numberOnly(event);\r\n }\r\n}\r\n","export default \".style {\\n font-weight: bold;\\n font-size: small;\\n border: 2px solid honeydew;\\n}\\n\\n.color {\\n background-color: #ffffff;\\n}\\n\\nh5:hover {\\n background-color: #86bc25 !important;\\n color: #fff !important;\\n}\\n\\n.sticky {\\n position: fixed;\\n top: 152px;\\n z-index: 10;\\n background: #f5f7fa;\\n width: 95.3em;\\n}\\n\\n.sticky-2 {\\n position: fixed;\\n top: 70px;\\n z-index: 10;\\n background: #f5f7fa;\\n width: 95.3em;\\n}\\n\\n.valid-btn {\\n margin-left: 9px;\\n}\\n\\n.sticky-bu {\\n position: fixed;\\n top: 152px;\\n z-index: 10;\\n background: #f5f7fa;\\n width: 96.5em;\\n}\\n\\n.sticky-bu-2 {\\n position: fixed;\\n top: 70px;\\n z-index: 10;\\n background: #f5f7fa;\\n width: 96.5em;\\n}\\n\\n.collapsed {\\n width: 92%;\\n}\\n\\n.expand {\\n width: 81%;\\n}\\n\\ndiv.scroll {\\n overflow: auto;\\n white-space: nowrap;\\n}\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0;\\n width: 100%;\\n background-color: #fff;\\n border: 1px solid #c8c8c8 !important;\\n font-family: \\\"Open Sans\\\", sans-serif !important;\\n font-style: normal !important;\\n font-weight: 500;\\n font-size: 13px;\\n line-height: 19px;\\n letter-spacing: 0.01em;\\n color: #000 !important;\\n}\\n\\nthead > tr > th, tbody > tr > td {\\n text-align: left;\\n padding: 8px;\\n}\\n\\nthead > tr > th {\\n font-style: normal;\\n font-size: 12px;\\n font-weight: 700 !important;\\n line-height: 20px;\\n letter-spacing: 0.01em;\\n color: #333 !important;\\n}\\n\\ntbody > tr > td {\\n font-style: normal;\\n font-weight: 400;\\n font-size: 13px;\\n line-height: 20px;\\n letter-spacing: 0.01em;\\n color: #000 !important;\\n border-top: 1px solid #c8c8c8 !important;\\n}\\n\\ntbody > tr:nth-child(even) {\\n background-color: #f5f7fa;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9lbnRpdHktbWFuYWdlbWVudC9jb21wb25lbnRzL2Fzc2lnbndlaWdodGFnZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXG1vZHVsZXNcXGVudGl0eS1tYW5hZ2VtZW50XFxjb21wb25lbnRzXFxhc3NpZ253ZWlnaHRhZ2VzXFxhc3NpZ253ZWlnaHRhZ2VzLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9tb2R1bGVzL2VudGl0eS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvYXNzaWdud2VpZ2h0YWdlcy9hc3NpZ253ZWlnaHRhZ2VzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksaUJBQUE7RUFDQSxnQkFBQTtFQUNBLDBCQUFBO0FDQ0o7O0FERUE7RUFDSSx5QkFBQTtBQ0NKOztBREVBO0VBQ0ksb0NBQUE7RUFDQSxzQkFBQTtBQ0NKOztBRENBO0VBQ0ksZUFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0FDRUo7O0FEQ0U7RUFDRSxlQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7QUNFSjs7QURFRTtFQUNFLGdCQUFBO0FDQ0o7O0FERUU7RUFDRSxlQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7QUNDSjs7QURFRTtFQUNFLGVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtBQ0NKOztBREdFO0VBQ0UsVUFBQTtBQ0FKOztBREdFO0VBQ0UsVUFBQTtBQ0FKOztBREdFO0VBQ0UsY0FBQTtFQUNBLG1CQUFBO0FDQUo7O0FER0U7RUFDRSx5QkFBQTtFQUNBLGlCQUFBO0VBQ0EsV0FBQTtFQUNBLHNCQUFBO0VBQ0Esb0NBQUE7RUFDQSwrQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0FDQUo7O0FER0U7RUFDRSxnQkFBQTtFQUNBLFlBQUE7QUNBSjs7QURHRTtFQUNFLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLDJCQUFBO0VBQ0EsaUJBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0FDQUo7O0FER0U7RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esc0JBQUE7RUFFQSxzQkFBQTtFQUNBLHdDQUFBO0FDREo7O0FESUU7RUFDRSx5QkFBQTtBQ0RKIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9lbnRpdHktbWFuYWdlbWVudC9jb21wb25lbnRzL2Fzc2lnbndlaWdodGFnZXMvYXNzaWdud2VpZ2h0YWdlcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zdHlsZXtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiBzbWFsbDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIGhvbmV5ZGV3O1xyXG59XHJcblxyXG4uY29sb3J7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7XHJcbn1cclxuXHJcbmg1OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NmJjMjUgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcclxufVxyXG4uc3RpY2t5IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMTUycHg7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGJhY2tncm91bmQ6ICNmNWY3ZmE7XHJcbiAgICB3aWR0aDogOTUuM2VtO1xyXG4gICBcclxuICB9XHJcbiAgLnN0aWNreS0yIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNzBweDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgYmFja2dyb3VuZDogI2Y1ZjdmYTtcclxuICAgIHdpZHRoOiA5NS4zZW07XHJcbiAgIFxyXG4gIH1cclxuXHJcbiAgLnZhbGlkLWJ0bntcclxuICAgIG1hcmdpbi1sZWZ0OiA5cHg7IFxyXG4gIH1cclxuXHJcbiAgLnN0aWNreS1idSB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDE1MnB4O1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjVmN2ZhO1xyXG4gICAgd2lkdGg6IDk2LjVlbTtcclxuICAgXHJcbiAgfVxyXG4gIC5zdGlja3ktYnUtMiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDcwcHg7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGJhY2tncm91bmQ6ICNmNWY3ZmE7XHJcbiAgICB3aWR0aDogOTYuNWVtO1xyXG4gICBcclxuICB9XHJcblxyXG4gIC5jb2xsYXBzZWQge1xyXG4gICAgd2lkdGg6IDkyJTtcclxuICB9XHJcblxyXG4gIC5leHBhbmQge1xyXG4gICAgd2lkdGg6IDgxJTtcclxuICB9XHJcblxyXG4gIGRpdi5zY3JvbGwge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIH1cclxuXHJcbiAgdGFibGUge1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjOCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTlweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XHJcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICB0aGVhZD50cj50aCwgdGJvZHk+dHI+dGQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmc6IDhweDtcclxuICB9XHJcblxyXG4gIHRoZWFkPnRyPnRoIHtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xyXG4gICAgY29sb3I6ICMzMzMhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgdGJvZHk+dHI+dGQge1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcclxuICAgIC8vd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzhjOGM4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIHRib2R5PnRyOm50aC1jaGlsZChldmVuKXtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7XHJcbiAgfVxyXG4iLCIuc3R5bGUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiBzbWFsbDtcbiAgYm9yZGVyOiAycHggc29saWQgaG9uZXlkZXc7XG59XG5cbi5jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbmg1OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg2YmMyNSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDE1MnB4O1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZDogI2Y1ZjdmYTtcbiAgd2lkdGg6IDk1LjNlbTtcbn1cblxuLnN0aWNreS0yIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDcwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kOiAjZjVmN2ZhO1xuICB3aWR0aDogOTUuM2VtO1xufVxuXG4udmFsaWQtYnRuIHtcbiAgbWFyZ2luLWxlZnQ6IDlweDtcbn1cblxuLnN0aWNreS1idSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxNTJweDtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQ6ICNmNWY3ZmE7XG4gIHdpZHRoOiA5Ni41ZW07XG59XG5cbi5zdGlja3ktYnUtMiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA3MHB4O1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZDogI2Y1ZjdmYTtcbiAgd2lkdGg6IDk2LjVlbTtcbn1cblxuLmNvbGxhcHNlZCB7XG4gIHdpZHRoOiA5MiU7XG59XG5cbi5leHBhbmQge1xuICB3aWR0aDogODElO1xufVxuXG5kaXYuc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xufVxuXG50aGVhZCA+IHRyID4gdGgsIHRib2R5ID4gdHIgPiB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxudGhlYWQgPiB0ciA+IHRoIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG59XG5cbnRib2R5ID4gdHIgPiB0ZCB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjOGM4YzggIWltcG9ydGFudDtcbn1cblxudGJvZHkgPiB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhO1xufSJdfQ== */\";","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n FormArray,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n Validators,\r\n} from \"@angular/forms\";\r\nimport { Router } from \"@angular/router\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { CredentialsService } from \"src/app/core/services/credentials.service\";\r\nimport { HttpGenericService } from \"src/app/core/services/http-genric.service\";\r\nimport { API } from \"src/app/shared/constants/api.constants\";\r\nimport {\r\n Pattern,\r\n ValidationMessage,\r\n} from \"src/app/shared/constants/validations.constants\";\r\nimport {\r\n Assignweightage,\r\n SubCategory,\r\n SubCategoryDetails,\r\n} from \"../../model/assignweightage\";\r\nimport { EntityManagementService } from \"../../services/entity-management.service\";\r\nimport { CommonserviceService } from \"src/app/shared/commonservices/commonservice.service\";\r\nconst swal = require(\"sweetalert\");\r\nimport * as globleConsts from \"../../../../shared/constants/globle.constants\";\r\nimport { Location } from \"@angular/common\";\r\nimport { GetRoleList } from \"src/app/modules/permission-management/models/getRoles\";\r\nimport { SettingsService } from \"src/app/core/settings/settings.service\";\r\n\r\n@Component({\r\n selector: \"app-assignweightages\",\r\n templateUrl: \"./assignweightages.component.html\",\r\n styleUrls: [\"./assignweightages.component.scss\"],\r\n})\r\nexport class AssignweightagesComponent implements OnInit {\r\n IR: boolean = false;\r\n CE: boolean = false;\r\n BU: boolean = false;\r\n status: string;\r\n currentUser: any;\r\n bulist: any;\r\n assignweightageFormArray: any[] = [];\r\n buname: any[];\r\n pattern = Pattern;\r\n\r\n required = ValidationMessage.required;\r\n validationMessage = ValidationMessage;\r\n noWhiteSpace = ValidationMessage.noWhiteSpace;\r\n weightagePattern = ValidationMessage.weightages;\r\n VALIDATIONS = {\r\n required: \"Field is required\",\r\n noWhiteSpace: \"field cannot be blank\",\r\n };\r\n //assignweightageForm: FormGroup;\r\n api = API;\r\n irceList: any[];\r\n entity: any;\r\n riskDetails: Assignweightage = {};\r\n riskCategoryid: number;\r\n riskSubCategoryWeightageAssignEntity: SubCategory[] = [];\r\n isEntityEdit: boolean;\r\n riskSubCategoryDetailsWeightageAsignEntity: SubCategoryDetails[] = [];\r\n CustomersData: any;\r\n ProductsData: any;\r\n TransactionsData: any;\r\n GeographyData: any;\r\n ChannelsData: any;\r\n OtherQualitativeFactorsData: any;\r\n AssigndisplayModal: boolean;\r\n //assignSubCategoryweightages: any[] = [];\r\n //assignSubCategoryDetailsweightages: any[] = [];\r\n RCsum: number = 0;\r\n subcategory: boolean = false;\r\n subcategorydetails: boolean = false;\r\n Customersum: number = 0;\r\n Productsum: number = 0;\r\n Transactionsum: number = 0;\r\n Geographysum: number = 0;\r\n Channelssum: number = 0;\r\n QFsum: number = 0;\r\n ceFormArray: any[] = [];\r\n //ceForm: FormGroup;\r\n buFormArray: any[] = [];\r\n AssigndisplayModalforce: boolean;\r\n buWeightageAssignEntity: any;\r\n AssigndisplayModalforbu: boolean;\r\n total: number = 0;\r\n mode: string;\r\n isselect: boolean = false;\r\n isswitchtab: boolean;\r\n entitymanagementPermissionMode: any;\r\n auditreportPermissionMode: any;\r\n permissionType = globleConsts.PermissionTypeEnum;\r\n editMode: boolean;\r\n viewMode: boolean;\r\n deleteMode: boolean;\r\n maintab: string;\r\n entitylist: any;\r\n roleEntity: GetRoleList = {};\r\n permission = [];\r\n selectedEntity;\r\n selectedBU;\r\n entityName: any;\r\n AssessmentStatusBUId: any;\r\n AssessmentStatusBUName: any;\r\n AssessmentStatusEntityId: any;\r\n AssessmentStatusEntityName: any;\r\n assessmentCycles: any;\r\n selectedAssessmentCycle: any;\r\n ASAssessmentCycle: any;\r\n assessmentcyclevalue: any;\r\n panelcss: boolean;\r\n attributevalue: number;\r\n riskSubCategoryId: number = 0;\r\n riskSubCategoryDetailsId: number = 0;\r\n riskTypeId: number = 0;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private route: Router,\r\n private httpGenericService: HttpGenericService,\r\n private credentialsService: CredentialsService,\r\n private entityManagementService: EntityManagementService,\r\n private commonserviceService: CommonserviceService,\r\n private _location: Location,\r\n private settingsService: SettingsService\r\n ) {\r\n this.attributevalue = 0;\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n this.settingsService.getpanelValue.subscribe((value) => {\r\n this.panelcss = value;\r\n });\r\n this.currentUser = this.credentialsService.credentials;\r\n this.roleEntity.name = this.credentialsService.credentials.assignedRole;\r\n this.roleEntity.id = this.credentialsService.credentials.roleId;\r\n this.entityName = JSON.parse(localStorage.getItem(\"setEntityName\"));\r\n this.maintab = localStorage.getItem(\"maintab\");\r\n this.getSetInitialData();\r\n if (this.maintab == \"false\") {\r\n localStorage.setItem(\"setWeightageCss\", \"1\");\r\n await this.commonserviceService.permissioncheck(\r\n this.currentUser,\r\n this.roleEntity\r\n );\r\n this.permission = this.credentialsService.getPermissionDetails();\r\n if (this.permission != undefined) {\r\n this.entitymanagementPermissionMode = this.permission.find(\r\n (s) => s.permissionName === globleConsts.PermissionsEnum.Weightages\r\n ).permissionTypeName;\r\n }\r\n this.entitymanagementPermissionMode = this.entitymanagementPermissionMode.split(\r\n \",\"\r\n );\r\n localStorage.setItem(\"ASSESSMENTSTATUSPERMISSIONS\", JSON.stringify(this.entitymanagementPermissionMode));\r\n \r\n await this.getAssessmentCycles(this.entity.id);\r\n //this.getEntityList();\r\n //this.getBUList();\r\n } else if (this.maintab == \"AssessmentStatus\") {\r\n localStorage.setItem(\"setWeightageCss\", \"1\");\r\n this.AssessmentStatusEntityId = localStorage.getItem(\"ASEntityId\");\r\n this.AssessmentStatusEntityName = localStorage.getItem('ASEntityName');\r\n // this.permission = this.credentialsService.getPermissionDetails();\r\n // if (this.permission != undefined) {\r\n // this.auditreportPermissionMode = this.permission.find(\r\n // (s) =>\r\n // s.permissionName === globleConsts.PermissionsEnum.Assessment\r\n // ).permissionTypeName;\r\n // }\r\n // debugger\r\n // this.auditreportPermissionMode = this.auditreportPermissionMode.split(',');\r\n // localStorage.setItem(\"ASSESSMENTSTATUSPERMISSIONS\", JSON.stringify(this.auditreportPermissionMode));\r\n this.entitymanagementPermissionMode = JSON.parse(\r\n localStorage.getItem(\"ASSESSMENTSTATUSPERMISSIONS\")\r\n );\r\n this.ASAssessmentCycle = JSON.parse(\r\n localStorage.getItem(\"ASAssessmentCycle\")\r\n );\r\n //}\r\n this.getBUList();\r\n } else {\r\n this.entitymanagementPermissionMode = JSON.parse(\r\n localStorage.getItem(\"ENTITYPERMISSIONS\")\r\n );\r\n this.entity = JSON.parse(localStorage.getItem(\"setEntityId\"));\r\n await this.getAssessmentCycles(this.entity.id);\r\n }\r\n this.entitymanagementPermissionMode.forEach((element) => {\r\n if (element === this.permissionType.NoAccess) {\r\n this._location.back();\r\n } else if (element == this.permissionType.Edit) {\r\n this.editMode = true;\r\n } else if (element == this.permissionType.View) {\r\n this.viewMode = true;\r\n } else if (element == this.permissionType.Delete) {\r\n this.deleteMode = true;\r\n }\r\n });\r\n\r\n this.status = localStorage.getItem(\"setWeightageCss\");\r\n if (this.status == \"1\") {\r\n this.IR = true;\r\n } else if (this.status == \"2\") {\r\n this.CE = true;\r\n } else if (this.status == \"3\") {\r\n this.BU = true;\r\n }\r\n /*if (this.maintab == 'AssessmentStatus') {\r\n //await this.getIRorCRList();\r\n }*/\r\n }\r\n\r\n getAssessmentCycles(entityId: number) {\r\n return new Promise((resolve, reject) => {\r\n //this.entityDetailsId = 20196;\r\n this.httpGenericService\r\n .fetchAll(`${this.api.BusinessUnits.getAssessmentCycles}?entityDetailsId=${entityId}`)\r\n\r\n .pipe(first())\r\n .subscribe((res) => {\r\n this.assessmentCycles = res[\"Result\"];\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n setIR() {\r\n debugger\r\n this.isswitchtab = false;\r\n if (this.CE) {\r\n if (this.RCsum !== 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Please assign weightage\",\r\n });\r\n } else {\r\n this.isswitchtab = true;\r\n }\r\n } else if (this.BU) {\r\n if (this.RCsum !== 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Please assign weightage\",\r\n });\r\n } else {\r\n this.isswitchtab = true;\r\n }\r\n }\r\n if (this.isswitchtab) {\r\n swal({\r\n text:\r\n \"Please save the changes before proceeding further else previous tab data will be lost. Do you still want to continue\",\r\n icon: \"warning\",\r\n buttons: {\r\n cancel: {\r\n text: \"No\",\r\n value: null,\r\n visible: true,\r\n className: \"bg-danger\",\r\n closeModal: true,\r\n },\r\n confirm: {\r\n text: \"Yes\",\r\n value: true,\r\n visible: true,\r\n className: \"bg-primary\",\r\n closeModal: true,\r\n },\r\n },\r\n }).then((isConfirm) => {\r\n if (isConfirm) {\r\n this.isselect = false;\r\n this.riskSubCategoryWeightageAssignEntity = null;\r\n this.CustomersData = null;\r\n this.ProductsData = null;\r\n this.TransactionsData = null;\r\n this.GeographyData = null;\r\n this.ChannelsData = null;\r\n this.OtherQualitativeFactorsData = null;\r\n this.selectedBU = null;\r\n //this.assignweightageForm.reset();\r\n this.IR = true;\r\n this.CE = false;\r\n this.BU = false;\r\n if (this.maintab == \"false\") {\r\n this.selectedEntity = null;\r\n this.bulist = null;\r\n this.getAssessmentCycles(this.entity.id);\r\n //this.getEntityList();\r\n } else if (this.maintab == \"AssessmentStatus\") {\r\n this.getBUList();\r\n } else this.getAssessmentCycles(this.entity.id);\r\n }\r\n });\r\n }\r\n }\r\n\r\n setCE() {\r\n this.isswitchtab = false;\r\n if (this.IR) {\r\n if (\r\n this.RCsum !== 100 ||\r\n this.Customersum !== 100 ||\r\n this.Productsum !== 100 ||\r\n this.Transactionsum !== 100 ||\r\n this.Geographysum !== 100 ||\r\n this.Channelssum !== 100 ||\r\n this.QFsum !== 100\r\n ) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Please assign weightage to all sections\",\r\n });\r\n } else {\r\n this.isswitchtab = true;\r\n }\r\n } else if (this.BU) {\r\n if (this.RCsum !== 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Please assign weightage\",\r\n });\r\n } else {\r\n this.isswitchtab = true;\r\n }\r\n }\r\n if (this.isswitchtab) {\r\n swal({\r\n text:\r\n \"Please save the changes before proceeding further else previous tab data will be lost. Do you still wants to continue\",\r\n icon: \"warning\",\r\n buttons: {\r\n cancel: {\r\n text: \"No\",\r\n value: null,\r\n visible: true,\r\n className: \"bg-danger\",\r\n closeModal: true,\r\n },\r\n confirm: {\r\n text: \"Yes\",\r\n value: true,\r\n visible: true,\r\n className: \"bg-primary\",\r\n closeModal: true,\r\n },\r\n },\r\n }).then((isConfirm) => {\r\n if (isConfirm) {\r\n this.isselect = false;\r\n this.riskSubCategoryWeightageAssignEntity = null;\r\n this.selectedBU = null;\r\n //this.ceForm.reset();\r\n this.IR = false;\r\n this.CE = true;\r\n this.BU = false;\r\n if (this.maintab == \"false\") {\r\n this.selectedEntity = null;\r\n this.bulist = null;\r\n this.getAssessmentCycles(this.entity.id);\r\n //this.getEntityList();\r\n }\r\n if (this.maintab == \"AssessmentStatus\") this.getBUList();\r\n else this.getAssessmentCycles(this.entity.id);\r\n }\r\n });\r\n }\r\n }\r\n\r\n setBU() {\r\n this.isswitchtab = false;\r\n if (this.IR) {\r\n if (\r\n this.RCsum !== 100 ||\r\n this.Customersum !== 100 ||\r\n this.Productsum !== 100 ||\r\n this.Transactionsum !== 100 ||\r\n this.Geographysum !== 100 ||\r\n this.Channelssum !== 100 ||\r\n this.QFsum !== 100\r\n ) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Please assign weightage to all sections\",\r\n });\r\n } else {\r\n this.isswitchtab = true;\r\n }\r\n } else if (this.CE) {\r\n if (this.RCsum !== 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Please assign weightage\",\r\n });\r\n } else {\r\n this.isswitchtab = true;\r\n }\r\n }\r\n if (this.isswitchtab) {\r\n swal({\r\n text:\r\n \"Please save the changes before proceeding further else previous tab data will be lost. Do you still wants to continue\",\r\n icon: \"warning\",\r\n buttons: {\r\n cancel: {\r\n text: \"No\",\r\n value: null,\r\n visible: true,\r\n className: \"bg-danger\",\r\n closeModal: true,\r\n },\r\n confirm: {\r\n text: \"Yes\",\r\n value: true,\r\n visible: true,\r\n className: \"bg-primary\",\r\n closeModal: true,\r\n },\r\n },\r\n }).then((isConfirm) => {\r\n if (isConfirm) {\r\n this.isselect = false;\r\n this.IR = false;\r\n this.CE = false;\r\n this.BU = true;\r\n if (this.maintab == \"false\") {\r\n this.selectedEntity = null;\r\n this.buWeightageAssignEntity = null;\r\n //this.getEntityList();\r\n this.getAssessmentCycles(this.entity.id);\r\n }\r\n if (this.maintab == \"AssessmentStatus\") this.getBUList();\r\n else this.getAssessmentCycles(this.entity.id);\r\n }\r\n });\r\n }\r\n }\r\n\r\n createOnboardingForm = () => {\r\n this.assignweightageFormArray = [\r\n {\r\n rowGroup: [\r\n {\r\n name: \"table\",\r\n controlType: \"IRSubCategorytable\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Overall Inherent Risk\",\r\n label: \"Overall Inherent Risk\",\r\n controlType: \"OverallInherentRisk\",\r\n columnSize: \"col-md-3 mb-1\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Customers\",\r\n label: \"Customers\",\r\n controlType: \"RiskCategory\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"table\",\r\n controlType: \"Customerstable\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Overall Risk Score & Rating\",\r\n label: \"Overall Risk Score & Rating\",\r\n controlType: \"CustomersRiskScore\",\r\n columnSize: \"col-md-3 mb-1\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Products\",\r\n label: \"Products\",\r\n controlType: \"RiskCategory\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"table\",\r\n controlType: \"Productstable\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Overall Risk Score & Rating\",\r\n label: \"Overall Risk Score & Rating\",\r\n controlType: \"ProductsRiskScore\",\r\n columnSize: \"col-md-3 mb-1\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Transactions\",\r\n label: \"Transactions\",\r\n controlType: \"RiskCategory\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"table\",\r\n controlType: \"Transactionstable\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Overall Risk Score & Rating\",\r\n label: \"Overall Risk Score & Rating\",\r\n controlType: \"TransactionsRiskScore\",\r\n columnSize: \"col-md-3 mb-1\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Geography\",\r\n label: \"Geography\",\r\n controlType: \"RiskCategory\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"table\",\r\n controlType: \"Geographytable\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Overall Risk Score & Rating\",\r\n label: \"Overall Risk Score & Rating\",\r\n controlType: \"GeographyRiskScore\",\r\n columnSize: \"col-md-3 mb-1\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Channels\",\r\n label: \"Channels\",\r\n controlType: \"RiskCategory\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"table\",\r\n controlType: \"Channelstable\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Overall Risk Score & Rating\",\r\n label: \"Overall Risk Score & Rating\",\r\n controlType: \"ChannelsRiskScore\",\r\n columnSize: \"col-md-3 mb-1\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Other Qualitative Factors\",\r\n label: \"Other Qualitative Factors\",\r\n controlType: \"RiskCategory\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"table\",\r\n controlType: \"OtherQualitativeFactorstable\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Overall Risk Score & Rating\",\r\n label: \"Overall Risk Score & Rating\",\r\n controlType: \"QFRiskScore\",\r\n columnSize: \"col-md-3\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n ];\r\n };\r\n\r\n CEForm = () => {\r\n this.ceFormArray = [\r\n {\r\n rowGroup: [\r\n {\r\n name: \"table\",\r\n controlType: \"CESubCategorytable\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Control Effectiveness\",\r\n label: \"Control Effectiveness\",\r\n controlType: \"OverallCE\",\r\n columnSize: \"col-md-3\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n ];\r\n };\r\n\r\n BUForm = () => {\r\n this.buFormArray = [\r\n {\r\n rowGroup: [\r\n {\r\n name: \"table\",\r\n controlType: \"BUSubCategorytable\",\r\n columnSize: \"col-md-12\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n {\r\n rowGroup: [\r\n {\r\n name: \"Overall BU score\",\r\n label: \"Overall BU score\",\r\n controlType: \"OverallBU\",\r\n columnSize: \"col-md-3\",\r\n },\r\n ],\r\n reactiveControlType: \"group\",\r\n screenBlock: \"first\",\r\n },\r\n ];\r\n };\r\n\r\n assignweightage = new FormGroup({\r\n riskcategoryORattribute: new FormControl(\"\", [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n ]),\r\n weightage: new FormControl(\"\", [\r\n Validators.required,\r\n this.commonserviceService.noWhitespaceValidator,\r\n Validators.pattern(this.pattern.weightages),\r\n ]),\r\n index: new FormControl(null),\r\n subCategory: new FormControl(null),\r\n riskAttribute: new FormControl(null),\r\n buname: new FormControl(null),\r\n riskType: new FormControl(null),\r\n });\r\n\r\n getSetInitialData() {\r\n // get data\r\n this.buWeightageAssignEntity = null;\r\n this.riskSubCategoryWeightageAssignEntity = null;\r\n this.CustomersData = null;\r\n this.ProductsData = null;\r\n this.TransactionsData = null;\r\n this.GeographyData = null;\r\n this.ChannelsData = null;\r\n this.OtherQualitativeFactorsData = null;\r\n this.createOnboardingForm();\r\n this.CEForm();\r\n this.BUForm();\r\n //this.getEntityList();\r\n //this.getBUList();\r\n }\r\n\r\n getEntityList() {\r\n return new Promise((resolve, reject) => {\r\n let userid = +this.currentUser.userId;\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.entityDetails.getEntityDetailsByuserId}?userId=${userid}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.entitylist = response;\r\n //this.selectedEntity = this.entitylist[0];\r\n //this.getBUList();\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n getBUList() {\r\n this.riskSubCategoryWeightageAssignEntity = null;\r\n this.selectedBU = null;\r\n this.isselect = false;\r\n //this.ceForm.reset();\r\n /* this.IR = false;\r\n this.CE = true;\r\n this.BU = false;*/\r\n if (this.maintab == \"AssessmentStatus\") {\r\n this.riskDetails.entityId = this.AssessmentStatusEntityId;\r\n\r\n let cleanedStr: string = this.AssessmentStatusEntityId.replace(/\"/g, '');\r\n this.riskDetails.entityId=Number(cleanedStr);\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.isselect = false;\r\n this.riskDetails.entityId = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.riskDetails.entityId = +this.entity.id;\r\n }\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.weightages.getAllEntityBusinessUnitsWeightage}?EntityId=${this.riskDetails.entityId}&assessmentCycle=${this.assessmentcyclevalue}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.buWeightageAssignEntity = response;\r\n this.bulist = response;\r\n if (this.BU) {\r\n this.isselect = true;\r\n }\r\n //this.selectedBU = this.bulist[0];\r\n // this.assignweightageForm.controls[\"businessunit\"].setValue(this.bulist[0]);\r\n // this.ceForm.controls[\"businessunit\"].setValue(this.bulist[0]);\r\n //this.getIRorCRList();\r\n this.getTotal(this.bulist);\r\n this.RCsum = this.total;\r\n });\r\n }\r\n\r\n getIRorCRList() {\r\n return new Promise((resolve, reject) => {\r\n this.isselect = true;\r\n this.RCsum = 0;\r\n if (this.IR == true) {\r\n this.riskCategoryid = 1;\r\n }\r\n if (this.CE == true) {\r\n this.riskCategoryid = 2;\r\n }\r\n debugger\r\n if (this.maintab == \"AssessmentStatus\") {\r\n //this.riskDetails.businessUnitId = +this.AssessmentStatusBUId;\r\n this.riskDetails.entityId = +this.AssessmentStatusEntityId;\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n } else {\r\n if (this.selectedEntity !== undefined) {\r\n this.riskDetails.entityId = +this.selectedEntity.entityDetailsId;\r\n } else {\r\n this.riskDetails.entityId = +this.entity.id;\r\n }\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n }\r\n //var onboarding = this.assignweightageForm.value;\r\n //this.riskDetails.entityId = +this.entity.id;\r\n //this.riskDetails.businessUnitId = onboarding.businessunit.businessUnitId;\r\n\r\n this.riskDetails.businessUnitId = this.selectedBU.businessUnitId;\r\n\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.weightages.getAllRiskCategoryandSubCategoryWeighatages}?EntityId=${this.riskDetails.entityId}&BusinessUnitId=${this.riskDetails.businessUnitId}\r\n &RiskCategoryid=${this.riskCategoryid}&assessmentCycle=${this.assessmentcyclevalue}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n //this.irceList = response;\r\n this.riskSubCategoryWeightageAssignEntity =\r\n response.riskSubCategoryWeightageAssignEntity;\r\n this.getTotal(this.riskSubCategoryWeightageAssignEntity);\r\n this.RCsum = this.total;\r\n localStorage.setItem(\"RCsum\",JSON.stringify(this.RCsum));\r\n this.riskSubCategoryDetailsWeightageAsignEntity =\r\n response.riskSubCategoryDetailsWeightageAsignEntity;\r\n this.customerdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.productsdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.transactionsdata(\r\n this.riskSubCategoryDetailsWeightageAsignEntity\r\n );\r\n this.geographydata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.channelsdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.QFdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.getTotal(this.CustomersData);\r\n this.Customersum = this.total;\r\n localStorage.setItem(\"Customersum\",JSON.stringify(this.Customersum));\r\n this.getTotal(this.ProductsData);\r\n this.Productsum = this.total;\r\n localStorage.setItem(\"Productsum\",JSON.stringify(this.Productsum));\r\n this.getTotal(this.TransactionsData);\r\n this.Transactionsum = this.total;\r\n localStorage.setItem(\"Transactionsum\",JSON.stringify(this.Transactionsum));\r\n this.getTotal(this.GeographyData);\r\n this.Geographysum = this.total;\r\n localStorage.setItem(\"Geographysum\",JSON.stringify(this.Geographysum));\r\n this.getTotal(this.ChannelsData);\r\n this.Channelssum = this.total;\r\n localStorage.setItem(\"Channelssum\",JSON.stringify(this.Channelssum));\r\n\r\n this.getTotal(this.OtherQualitativeFactorsData);\r\n this.QFsum = this.total;\r\n localStorage.setItem(\"QFsum\",JSON.stringify(this.QFsum));\r\n\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n customerdata(value: any) {\r\n this.CustomersData = value.filter((x) => x.riskSubCategoryId == 1);\r\n return this.CustomersData;\r\n }\r\n\r\n productsdata(value: any) {\r\n this.ProductsData = value.filter((x) => x.riskSubCategoryId == 2);\r\n return this.ProductsData;\r\n }\r\n\r\n transactionsdata(value: any) {\r\n this.TransactionsData = value.filter((x) => x.riskSubCategoryId == 3);\r\n return this.TransactionsData;\r\n }\r\n\r\n geographydata(value: any) {\r\n this.GeographyData = value.filter((x) => x.riskSubCategoryId == 4);\r\n return this.GeographyData;\r\n }\r\n\r\n channelsdata(value: any) {\r\n this.ChannelsData = value.filter((x) => x.riskSubCategoryId == 5);\r\n return this.ChannelsData;\r\n }\r\n\r\n QFdata(value: any) {\r\n this.OtherQualitativeFactorsData = value.filter(\r\n (x) => x.riskSubCategoryId == 6\r\n );\r\n return this.OtherQualitativeFactorsData;\r\n }\r\n\r\n onRowEditforir(data, index: number, type: boolean) {\r\n if (type) {\r\n this.assignweightage.controls[\"riskcategoryORattribute\"].setValue(\r\n data.subCategory\r\n );\r\n this.subcategory = true;\r\n } else {\r\n if (\r\n data.riskSubCategoryId == 2 ||\r\n data.riskSubCategoryId == 3 ||\r\n data.riskSubCategoryId == 5 ||\r\n data.riskSubCategoryId == 6\r\n ) {\r\n this.assignweightage.controls[\"riskcategoryORattribute\"].setValue(\r\n data.riskType\r\n );\r\n } else {\r\n this.assignweightage.controls[\"riskcategoryORattribute\"].setValue(\r\n data.riskAttribute\r\n );\r\n }\r\n this.subcategorydetails = true;\r\n }\r\n this.riskSubCategoryId = data.riskSubCategoryId;\r\n this.riskSubCategoryDetailsId = data.riskSubCategoryDetailsId;\r\n this.riskTypeId = data.riskTypeId;\r\n this.AssigndisplayModal = true;\r\n this.assignweightage.controls[\"weightage\"].setValue(data.weightage);\r\n this.assignweightage.controls[\"index\"].setValue(index);\r\n this.assignweightage.controls[\"subCategory\"].setValue(data.subCategory);\r\n this.assignweightage.controls[\"riskAttribute\"].setValue(data.riskAttribute);\r\n this.assignweightage.controls[\"riskType\"].setValue(data.riskType);\r\n }\r\n\r\n onRowEditforce(data, index: number) {\r\n this.AssigndisplayModalforce = true;\r\n this.riskSubCategoryId = data.riskSubCategoryId;\r\n this.assignweightage.controls[\"riskcategoryORattribute\"].setValue(data.subCategory);\r\n this.assignweightage.controls[\"weightage\"].setValue(data.weightage);\r\n this.assignweightage.controls[\"index\"].setValue(index);\r\n this.assignweightage.controls[\"subCategory\"].setValue(data.subCategory);\r\n }\r\n\r\n onRowEditforbu(data, index: number) {\r\n this.AssigndisplayModalforbu = true;\r\n this.assignweightage.controls[\"riskcategoryORattribute\"].setValue(data.buname);\r\n this.assignweightage.controls[\"weightage\"].setValue(data.weightage);\r\n this.assignweightage.controls[\"index\"].setValue(index);\r\n this.assignweightage.controls[\"buname\"].setValue(data.buname);\r\n }\r\n\r\n getTotal(data) {\r\n this.total = 0;\r\n data.forEach((value, key) => {\r\n this.total += +value.weightage;\r\n });\r\n return this.total;\r\n }\r\n\r\n assignforIR(data) {\r\n if (this.subcategory == true) {\r\n let temp = this.riskSubCategoryWeightageAssignEntity.find(\r\n (s) => s.riskSubCategoryId !== this.riskSubCategoryId && s.subCategory.trim() == data.riskcategoryORattribute.trim()\r\n );\r\n if (temp !== undefined) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Risk Category Already Exist\",\r\n });\r\n return;\r\n }\r\n this.riskSubCategoryWeightageAssignEntity = this.riskSubCategoryWeightageAssignEntity.filter(\r\n (value, key) => {\r\n if (value.riskSubCategoryId == this.riskSubCategoryId) {\r\n const oldweightage = value.weightage;\r\n value.weightage = data.weightage.toString();\r\n value.subCategory = data.riskcategoryORattribute;\r\n value.createdBy = this.currentUser.userId;\r\n this.getTotal(this.riskSubCategoryWeightageAssignEntity);\r\n this.RCsum = this.total;\r\n if (this.RCsum > 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall IR score exceeded\",\r\n });\r\n value.weightage = oldweightage;\r\n this.getTotal(this.riskSubCategoryWeightageAssignEntity);\r\n this.RCsum = this.total;\r\n //return;\r\n }\r\n }\r\n return true;\r\n }\r\n );\r\n this.subcategory = false;\r\n }\r\n if (this.subcategorydetails == true) {\r\n let temp = null;\r\n if (this.riskSubCategoryId == 2 || this.riskSubCategoryId == 3 || this.riskSubCategoryId == 5 || this.riskSubCategoryId == 6) {\r\n temp = this.riskSubCategoryDetailsWeightageAsignEntity.find(\r\n (s) => s.riskSubCategoryId === this.riskSubCategoryId && s.riskSubCategoryDetailsId === this.riskSubCategoryDetailsId &&\r\n s.riskTypeId !== this.riskTypeId && s.riskType.trim() == data.riskcategoryORattribute.trim());\r\n if (temp !== undefined) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Risk Type Already Exist\",\r\n });\r\n return;\r\n }\r\n }\r\n else {\r\n temp = this.riskSubCategoryDetailsWeightageAsignEntity.find(\r\n (s) => s.riskSubCategoryId === this.riskSubCategoryId &&\r\n s.riskSubCategoryDetailsId !== this.riskSubCategoryDetailsId && s.riskAttribute.trim() == data.riskcategoryORattribute.trim());\r\n if (temp !== undefined) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Risk Attribute Already Exist\",\r\n });\r\n return;\r\n }\r\n }\r\n this.riskSubCategoryDetailsWeightageAsignEntity = this.riskSubCategoryDetailsWeightageAsignEntity.filter(\r\n (value, key) => {\r\n if (\r\n value.riskSubCategoryDetailsId == this.riskSubCategoryDetailsId &&\r\n value.riskTypeId == this.riskTypeId\r\n ) {\r\n const oldweightage = value.weightage;\r\n value.weightage = data.weightage.toString();\r\n value.createdBy = this.currentUser.userId;\r\n if (\r\n value.riskSubCategoryId == 2 ||\r\n value.riskSubCategoryId == 3 ||\r\n value.riskSubCategoryId == 5 ||\r\n value.riskSubCategoryId == 6\r\n ) {\r\n value.riskType = data.riskcategoryORattribute;\r\n } else {\r\n value.riskAttribute = data.riskcategoryORattribute;\r\n }\r\n this.customerdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.productsdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.transactionsdata(\r\n this.riskSubCategoryDetailsWeightageAsignEntity\r\n );\r\n this.geographydata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.channelsdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n this.QFdata(this.riskSubCategoryDetailsWeightageAsignEntity);\r\n if (this.CustomersData != null) {\r\n this.getTotal(this.CustomersData);\r\n this.Customersum = this.total;\r\n if (this.Customersum > 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall Customer score exceeded\",\r\n });\r\n value.weightage = oldweightage;\r\n this.getTotal(this.CustomersData);\r\n this.Customersum = this.total;\r\n //return;\r\n }\r\n }\r\n if (this.ProductsData != null) {\r\n this.getTotal(this.ProductsData);\r\n this.Productsum = this.total;\r\n if (this.Productsum > 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall Product score exceeded\",\r\n });\r\n value.weightage = oldweightage;\r\n this.getTotal(this.ProductsData);\r\n this.Productsum = this.total;\r\n //return;\r\n }\r\n }\r\n if (this.TransactionsData != null) {\r\n this.getTotal(this.TransactionsData);\r\n this.Transactionsum = this.total;\r\n if (this.Transactionsum > 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall Transaction score exceeded\",\r\n });\r\n value.weightage = oldweightage;\r\n this.getTotal(this.TransactionsData);\r\n this.Transactionsum = this.total;\r\n //return;\r\n }\r\n }\r\n if (this.GeographyData != null) {\r\n this.getTotal(this.GeographyData);\r\n this.Geographysum = this.total;\r\n if (this.Geographysum > 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall Geography score exceeded\",\r\n });\r\n value.weightage = oldweightage;\r\n this.getTotal(this.GeographyData);\r\n this.Geographysum = this.total;\r\n //return;\r\n }\r\n }\r\n if (this.ChannelsData != null) {\r\n this.getTotal(this.ChannelsData);\r\n this.Channelssum = this.total;\r\n if (this.Channelssum > 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall Channels score exceeded\",\r\n });\r\n value.weightage = oldweightage;\r\n this.getTotal(this.ChannelsData);\r\n this.Channelssum = this.total;\r\n //return;\r\n }\r\n }\r\n if (this.OtherQualitativeFactorsData != null) {\r\n this.getTotal(this.OtherQualitativeFactorsData);\r\n this.QFsum = this.total;\r\n if (this.QFsum > 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall QF score exceeded\",\r\n });\r\n value.weightage = oldweightage;\r\n this.getTotal(this.OtherQualitativeFactorsData);\r\n this.QFsum = this.total;\r\n //return;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n );\r\n\r\n //this.riskSubCategoryDetailsWeightageAsignEntity.find(x => x.riskSubCategoryId == 1);\r\n // this.riskSubCategoryDetailsWeightageAsignEntity\r\n // .filter((data,key) => {\r\n // return true;\r\n // });\r\n this.subcategorydetails = false;\r\n }\r\n this.AssigndisplayModal = false;\r\n this.assignweightage.reset();\r\n }\r\n\r\n assignforce(data) {\r\n let temp = this.riskSubCategoryWeightageAssignEntity.find(\r\n (s) => s.riskSubCategoryId !== this.riskSubCategoryId && s.subCategory.trim() == data.riskcategoryORattribute.trim()\r\n );\r\n if (temp !== undefined) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Risk Category Already Exist\",\r\n });\r\n return;\r\n }\r\n this.riskSubCategoryWeightageAssignEntity = this.riskSubCategoryWeightageAssignEntity.filter(\r\n (value, key) => {\r\n if (value.subCategory == data.subCategory) {\r\n const oldweightage = value.weightage;\r\n value.weightage = data.weightage.toString();\r\n value.subCategory = data.riskcategoryORattribute;\r\n value.createdBy = this.currentUser.userId;\r\n this.getTotal(this.riskSubCategoryWeightageAssignEntity);\r\n this.RCsum = this.total;\r\n if (this.RCsum > 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall CE score exceeded\",\r\n });\r\n value.weightage = oldweightage;\r\n this.getTotal(this.riskSubCategoryWeightageAssignEntity);\r\n this.RCsum = this.total;\r\n //return;\r\n }\r\n }\r\n return true;\r\n }\r\n );\r\n this.AssigndisplayModalforce = false;\r\n this.assignweightage.reset();\r\n }\r\n\r\n assignforbu(data) {\r\n this.buWeightageAssignEntity = this.buWeightageAssignEntity.filter(\r\n (value, key) => {\r\n if (value.buname == data.buname) {\r\n const oldweightage = value.weightage;\r\n value.weightage = data.weightage.toString();\r\n value.buname = data.riskcategoryORattribute;\r\n value.createdBy = this.currentUser.userId;\r\n this.getTotal(this.buWeightageAssignEntity);\r\n this.RCsum = this.total;\r\n if (this.RCsum > 100) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall BU score exceeded\",\r\n });\r\n value.weightage = oldweightage;\r\n this.getTotal(this.buWeightageAssignEntity);\r\n this.RCsum = this.total;\r\n //return;\r\n }\r\n }\r\n return true;\r\n }\r\n );\r\n\r\n this.AssigndisplayModalforbu = false;\r\n this.assignweightage.reset();\r\n }\r\n\r\n onSubmit() {\r\n let obj = {\r\n riskSubCategoryWeightageAssignEntity: this\r\n .riskSubCategoryWeightageAssignEntity,\r\n riskSubCategoryDetailsWeightageAsignEntity: this\r\n .riskSubCategoryDetailsWeightageAsignEntity,\r\n };\r\n\r\n if (this.IR) {\r\n if (\r\n this.RCsum == 100 &&\r\n this.Customersum == 100 &&\r\n this.Productsum == 100 &&\r\n this.Transactionsum == 100 &&\r\n this.Geographysum == 100 &&\r\n this.Channelssum == 100 &&\r\n this.QFsum == 100\r\n ) {\r\n if (this.maintab == \"AssessmentStatus\")\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n else\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n this.httpGenericService\r\n .postData(\r\n `${this.api.weightages.saveAllRiskCategoryandSubCategoryWeighatages}?assessmentCycle=${this.assessmentcyclevalue}`,\r\n obj\r\n )\r\n .pipe(first())\r\n .subscribe((data) => {\r\n let response = data;\r\n if (response.StatusCode === 200) {\r\n swal({\r\n icon: \"success\",\r\n text: \"Updated Successfully\",\r\n });\r\n //this.getSetInitialData();\r\n //this.setCE();\r\n this.isselect = false;\r\n this.riskSubCategoryWeightageAssignEntity = null;\r\n this.selectedBU = null;\r\n //this.ceForm.reset();\r\n this.IR = false;\r\n this.CE = true;\r\n this.BU = false;\r\n if (this.maintab == \"false\") {\r\n this.selectedEntity = null;\r\n this.buWeightageAssignEntity = null;\r\n //this.getEntityList();\r\n this.getAssessmentCycles(this.entity.id);\r\n }\r\n if (this.maintab == \"AssessmentStatus\") this.getBUList();\r\n else this.getAssessmentCycles(this.entity.id);\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: response.Message,\r\n });\r\n }\r\n });\r\n } else {\r\n localStorage.setItem(\r\n \"setAssessmentEnableTab\",\r\n JSON.stringify(false)\r\n );\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall score must be 100% in each section\",\r\n });\r\n }\r\n }\r\n\r\n if (this.CE) {\r\n if (this.RCsum == 100) {\r\n if (this.maintab == \"AssessmentStatus\")\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n else\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n this.httpGenericService\r\n .postData(\r\n `${this.api.weightages.saveAllRiskCategoryandSubCategoryWeighatages}?assessmentCycle=${this.assessmentcyclevalue}`,\r\n obj\r\n )\r\n .pipe(first())\r\n .subscribe((data) => {\r\n let response = data;\r\n if (response.StatusCode === 200) {\r\n swal({\r\n icon: \"success\",\r\n text: \"Updated Successfully\",\r\n });\r\n //this.getSetInitialData();\r\n //this.setBU();\r\n this.isselect = true;\r\n this.IR = false;\r\n this.CE = false;\r\n this.BU = true;\r\n if (this.maintab == \"false\") {\r\n this.selectedEntity = null;\r\n this.buWeightageAssignEntity = null;\r\n //this.getEntityList();\r\n this.getAssessmentCycles(this.entity.id);\r\n }\r\n if (this.maintab == \"AssessmentStatus\") this.getBUList();\r\n else this.getAssessmentCycles(this.entity.id);\r\n //this.getIRorCRList();*/\r\n /* localStorage.setItem('setCss', '6');\r\n localStorage.setItem('setAssessmentEnableTab', JSON.stringify(true));\r\n this.route.navigate([\"/entity/assessmentreview\"]);\r\n \r\n }*/\r\n this.getAssessmentCycles(this.entity.id);\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: response.Message,\r\n });\r\n }\r\n });\r\n } else {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall CE score must be 100%\",\r\n });\r\n }\r\n }\r\n\r\n if (this.BU) {\r\n if (this.RCsum != 0) {\r\n if (this.RCsum == 100) {\r\n if (this.maintab == \"AssessmentStatus\")\r\n this.assessmentcyclevalue = this.ASAssessmentCycle;\r\n else\r\n this.assessmentcyclevalue = this.selectedAssessmentCycle.value.toString();\r\n this.httpGenericService\r\n .postData(\r\n `${this.api.weightages.updateEntityBusinessUnits}?assessmentCycle=${this.assessmentcyclevalue}`,\r\n this.buWeightageAssignEntity\r\n )\r\n .pipe(first())\r\n .subscribe((data) => {\r\n let response = data;\r\n if (response.StatusCode === 200) {\r\n swal({\r\n icon: \"success\",\r\n text: response.Message,\r\n });\r\n if (this.maintab == \"true\") {\r\n //this.entityManagementService.setCss(6);\r\n localStorage.setItem(\"setCss\", \"6\");\r\n //this.entityManagementService.setAssessmentEnableTab(true);\r\n localStorage.setItem(\r\n \"setAssessmentEnableTab\",\r\n JSON.stringify(true)\r\n );\r\n this.route.navigate([\"/entity/assessmentreview\"]);\r\n } else if (this.maintab == \"AssessmentStatus\") {\r\n localStorage.setItem(\"setCss\", \"9\");\r\n //this.entityManagementService.setAssessmentEnableTab(true);\r\n localStorage.setItem(\r\n \"setAssessmentEnableTab\",\r\n JSON.stringify(true)\r\n );\r\n this.route.navigate([\"/business/BUAssessment\"]);\r\n } else {\r\n //this.getBUList();\r\n this.getAssessmentCycles(this.entity.id);\r\n }\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: response.Message,\r\n });\r\n }\r\n });\r\n } else {\r\n localStorage.setItem(\r\n \"setAssessmentEnableTab\",\r\n JSON.stringify(false)\r\n );\r\n swal({\r\n icon: \"warning\",\r\n text: \"Overall BU score must be 100%\",\r\n });\r\n }\r\n } else {\r\n localStorage.setItem(\r\n \"setAssessmentEnableTab\",\r\n JSON.stringify(false)\r\n );\r\n swal({\r\n icon: \"warning\",\r\n text: \"Please assign weightage\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n prevent(event: Event) {\r\n if (\r\n this.assignweightage.value.riskcategoryORattribute == null ||\r\n this.assignweightage.value.riskcategoryORattribute == \"\"\r\n ) {\r\n this.commonserviceService.preventSpace(event);\r\n }\r\n }\r\n\r\n selectedTable(item: any) {\r\n if (item == null) {\r\n this.attributevalue = 0;\r\n } else {\r\n this.attributevalue = item.riskSubCategoryId;\r\n }\r\n }\r\n}\r\n","export class Fileupload {\r\n riskCategoryId: number;\r\n questionnaireTemplateId?: number;\r\n templateName?: string = \"\";\r\n fileName?: string = \"\";\r\n fileBase64: string = \"\";\r\n entityDetailsId: number;\r\n businessUnitId: number;\r\n createdBy: number;\r\n modifiedBy: number;\r\n assessmentStartDate: string = \"\";\r\n}\r\n\r\nexport class reportFileUpload {\r\n updatedReportID: number;\r\n isActive: boolean;\r\n createdBy: number;\r\n createdDate: string;\r\n modifiedBy: number;\r\n modifiedDate: string;\r\n s3FilePath: string;\r\n s3FileName: string = \"\";\r\n entityDetailsId: number;\r\n fileBase64: string = \"\";\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Fileupload } from '../model/fileupload';\r\nimport { API } from 'src/app/shared/constants/api.constants';\r\n\r\n//const API_URL = \"http://localhost:5000/api/FileUpload/\";\r\n// const httpOptions = {\r\n// headers: new HttpHeaders({\r\n// 'Content-Type': 'application/json'\r\n// })\r\n// };\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EntityManagementService {\r\n\r\n entity: any;\r\n css: number;\r\n BUlist: any[] = [];\r\n entityrowdata: any;\r\n IRCRBUcss: number;\r\n //DisableTab: boolean;\r\n //EnableTab: any;\r\n entityEnable: boolean;\r\n businessEnable: boolean;\r\n weightageEnable: boolean;\r\n userEnable: boolean;\r\n questionnaireEnable: boolean;\r\n assessmentEnable: boolean;\r\n api = API;\r\n permissionMode: any;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n uploadFile(theFile: Fileupload) : Observable {\r\n return this.http.post(this.api.questionsTemplates.createQuestionsTemplate, theFile);\r\n}\r\n\r\n setEntityId(obj: any) {\r\n this.entity = obj;\r\n }\r\n getEntityId() {\r\n return this.entity;\r\n }\r\n\r\n setCss(obj: number) {\r\n this.css = obj;\r\n }\r\n getCss() {\r\n return this.css;\r\n }\r\n\r\n setBulist(obj: any) {\r\n this.BUlist = obj;\r\n }\r\n getBulist() {\r\n return this.BUlist;\r\n }\r\n\r\n setWeightageCss(obj: number) {\r\n this.IRCRBUcss = obj;\r\n }\r\n getWeightageCss() {\r\n return this.IRCRBUcss;\r\n }\r\n\r\n // setDisableTab(obj: boolean) {\r\n // this.DisableTab = obj;\r\n // }\r\n // getDisableTab() {\r\n // return this.DisableTab;\r\n // }\r\n\r\n // setEnableTab(obj: any) {\r\n // this.EnableTab = obj;\r\n // }\r\n // getEnsableTab() {\r\n // return this.EnableTab;\r\n // }\r\n\r\n setEntityEnableTab(type: boolean) {\r\n this.entityEnable = type;\r\n }\r\n getEntityEnsableTab() {\r\n return this.entityEnable;\r\n }\r\n\r\n setBusinessEnableTab(type: boolean) {\r\n this.businessEnable = type;\r\n }\r\n getBusinessEnsableTab() {\r\n return this.businessEnable;\r\n }\r\n\r\n setWeightageEnableTab(type: boolean) {\r\n this.weightageEnable = type;\r\n }\r\n getWeightageEnsableTab() {\r\n return this.weightageEnable;\r\n }\r\n\r\n setUsersEnableTab(type: boolean) {\r\n this.userEnable = type;\r\n }\r\n getUsersEnsableTab() {\r\n return this.userEnable;\r\n }\r\n\r\n setQuestionnaireEnableTab(type: boolean) {\r\n this.questionnaireEnable = type;\r\n }\r\n getQuestionnaireEnsableTab() {\r\n return this.questionnaireEnable;\r\n }\r\n\r\n setAssessmentEnableTab(type: boolean) {\r\n this.assessmentEnable = type;\r\n }\r\n getAssessmentEnsableTab() {\r\n return this.assessmentEnable;\r\n }\r\n\r\n setEntityRowData(obj: any, type: boolean) {\r\n this.entityrowdata = {\r\n rowdata: obj,\r\n mode: type\r\n }\r\n }\r\n getEntityRowData() {\r\n return this.entityrowdata;\r\n }\r\n\r\n setPermissionMode(mode: any) {\r\n this.permissionMode = mode;\r\n }\r\n\r\n getPermissionMode() {\r\n return this.permissionMode;\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvaG9tZS9jb21wb25lbnRzL2NvbXBvc2l0aW9uLXJlcG9ydC9jb21wb3NpdGlvbi1yZXBvcnQuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit, Pipe } from '@angular/core';\r\nimport { HttpGenericService } from '../../../../core/services/http-genric.service';\r\nimport { first } from 'rxjs/operators';\r\nimport { API } from 'src/app/shared/constants/api.constants';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser'\r\n\r\n@Component({\r\n selector: 'app-composition-report',\r\n templateUrl: './composition-report.component.html',\r\n styleUrls: ['./composition-report.component.scss']\r\n})\r\n//@Pipe({ name: 'safeHtml' })\r\nexport class CompositionReportComponent implements OnInit {\r\n compositionreportdetails: any;\r\n riskCategoryid: number;\r\n irceList: any;\r\n api = API;\r\n CompositionReportMainTable: SafeHtml;\r\n CompositionReportChildTable: SafeHtml;\r\n selectedSubCategory;\r\n selectedSubCategoryDetails;\r\n subcategorydetails: any[];\r\n compositionReportChildTableList: any;\r\n cols: { field: string; header: string; }[];\r\n colsMain: { field: string; header: string; }[];\r\n compositionReportMainTableList: any;\r\n constructor(private httpGenericService: HttpGenericService,private sanitized: DomSanitizer) { }\r\n\r\n ngOnInit(): void {\r\n this.compositionreportdetails = JSON.parse(localStorage.getItem(\"setcompositionreport\"));\r\n this.getSubcategory();\r\n this.getDashboardCompositionReportMainTable();\r\n this.setColumns();\r\n }\r\n\r\n getSubcategory() {\r\n if (this.compositionreportdetails.RiskCategory == \"IR\") {\r\n this.riskCategoryid = 1;\r\n }\r\n else {\r\n this.riskCategoryid = 2;\r\n }\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.entityAssessmentReview.getAllRiskSubCategories\r\n }?entityDetailsId=${this.compositionreportdetails.id}&businessUnitId=${this.compositionreportdetails.BusinessUnitsId}\r\n&riskCategoryId=${ this.riskCategoryid}&assessmentStartDate=${this.compositionreportdetails.Years}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.irceList = response;\r\n this.irceList.push({\r\n subCategory: \"Show All\",\r\n riskSubCategoryId: 0\r\n });\r\n this.irceList = this.irceList.sort(function (a, b) {\r\n return a.riskSubCategoryId - b.riskSubCategoryId;\r\n });\r\n });\r\n }\r\n\r\n getSubcategorydetails() {\r\n \r\n let id = +this.selectedSubCategory.riskSubCategoryId;\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.entityAssessmentReview.getAllRiskSubCategoryDetailsBySubCatergory\r\n }?riskSubCategoryId=${id}&entityDetailsId=${this.compositionreportdetails.id}&businessUnitId=${this.compositionreportdetails.BusinessUnitsId}\r\n&riskCategoryId=${ this.riskCategoryid}&assessmentStartDate=${this.compositionreportdetails.Years}&IsDashboard=1`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.subcategorydetails = response;\r\n this.subcategorydetails.push({\r\n riskAttribute: \"Show All\",\r\n riskSubCategoryDetailsId: 0\r\n });\r\n this.subcategorydetails = this.subcategorydetails.sort(function (a, b) {\r\n \r\n return a.riskSubCategoryDetailsId - b.riskSubCategoryDetailsId;\r\n });\r\n\r\n if (this.selectedSubCategory.riskSubCategoryId == 0) {\r\n this.ChartDetails();\r\n }\r\n else {\r\n if (this.selectedSubCategoryDetails.riskSubCategoryDetailsId == 0) {\r\n this.ChartDetails();\r\n }\r\n }\r\n });\r\n }\r\n\r\n getDashboardCompositionReportMainTable() {\r\n let id = this.compositionreportdetails.id;\r\n let BusinessUnitsId = this.compositionreportdetails.BusinessUnitsId;\r\n let Years = this.compositionreportdetails.Years;\r\n let RiskSubCategoryId = 0;\r\n let RiskSubCategoryDetailsId = 0;\r\n let RiskCategory = this.compositionreportdetails.RiskCategory;\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.dashboard.DashboardCompositionReportMainTable\r\n }?EntityId=${id}&BusinessUnitsId=${BusinessUnitsId}&RiskSubCategoryId=${RiskSubCategoryId}&RiskSubCategoryDetailsId=${RiskSubCategoryDetailsId}&RiskCategory=${RiskCategory}&year=${Years}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.compositionReportMainTableList = response\r\n });\r\n }\r\n\r\n setColumns = () => {\r\n this.cols = [\r\n { field: \"riskTypeAttributeClassification\", header: \"Attribute Classification\" },\r\n { field: \"riskAttribute1\", header: \"Row Labels\" },\r\n { field: \"customersScore\", header: \"Sum of No.of Customers\" },\r\n { field: \"volumeOfTrasactionsScore\", header: \"Sum of Volume of Transactions\" },\r\n { field: \"valueOfTransactionsScore\", header: \"Sum of Value of Transactions\" }\r\n \r\n ];\r\n this.colsMain = [\r\n { field: \"subCategory\", header: \"Category\" },\r\n { field: \"riskSubCategoryScore\", header: \"Risk Rating\" }\r\n ];\r\n \r\n };\r\n\r\n ChartDetails() {\r\n this.compositionReportChildTableList = null;\r\n let id = this.compositionreportdetails.id;\r\n let BusinessUnitsId = this.compositionreportdetails.BusinessUnitsId;\r\n let Years = this.compositionreportdetails.Years;\r\n let RiskSubCategoryId = this.selectedSubCategory.riskSubCategoryId;\r\n let RiskSubCategoryDetailsId = this.selectedSubCategoryDetails != undefined ? this.selectedSubCategoryDetails.riskSubCategoryDetailsId : 0;\r\n let RiskTypeId = this.selectedSubCategoryDetails.riskTypeId != undefined ? this.selectedSubCategoryDetails.riskTypeId : 0;\r\n let RiskCategory = this.compositionreportdetails.RiskCategory;\r\n let RiskAttributeTemp = this.selectedSubCategoryDetails != undefined ? this.selectedSubCategoryDetails.riskAttribute : \"\";\r\n let RiskAttribute = encodeURIComponent(RiskAttributeTemp)\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.dashboard.DashboardCompositionReport\r\n }?EntityId=${id}&BusinessUnitsId=${BusinessUnitsId}&RiskSubCategoryId=${RiskSubCategoryId}&RiskSubCategoryDetailsId=${RiskSubCategoryDetailsId}&RiskCategory=${RiskCategory}&year=${Years}&RiskAttribute=${RiskAttribute}&RiskTypeId=${RiskTypeId}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.compositionReportChildTableList = response;\r\n //this.CompositionReportChildTable = response\r\n });\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvaG9tZS9jb21wb25lbnRzL2RldGFpbGVkLXJlcG9ydC9kZXRhaWxlZC1yZXBvcnQuY29tcG9uZW50LnNjc3MifQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { HttpGenericService } from '../../../../core/services/http-genric.service';\r\nimport { first } from 'rxjs/operators';\r\nimport { API } from 'src/app/shared/constants/api.constants';\r\nimport * as Highcharts from 'highcharts';\r\n\r\n@Component({\r\n selector: 'app-detailed-report',\r\n templateUrl: './detailed-report.component.html',\r\n styleUrls: ['./detailed-report.component.scss']\r\n})\r\nexport class DetailedReportComponent implements OnInit {\r\n detailedreportdetails: any;\r\n riskCategoryid: number;\r\n irceList: any;\r\n api = API;\r\n selectedSubCategory;\r\n selectedSubCategoryDetails;\r\n subcategorydetails: any[];\r\n constructor(private httpGenericService: HttpGenericService) { }\r\n\r\n ngOnInit(): void {\r\n this.detailedreportdetails = JSON.parse(localStorage.getItem(\"setdetailedreport\"));\r\n this.getSubcategory();\r\n }\r\n\r\n getSubcategory() {\r\n if (this.detailedreportdetails.RiskCategory == \"IR\") {\r\n this.riskCategoryid = 1;\r\n }\r\n else {\r\n this.riskCategoryid = 2;\r\n }\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.entityAssessmentReview.getAllRiskSubCategories\r\n }?entityDetailsId=${this.detailedreportdetails.id}&businessUnitId=${this.detailedreportdetails.BusinessUnitsId}\r\n&riskCategoryId=${ this.riskCategoryid}&assessmentStartDate=${this.detailedreportdetails.Years}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.irceList = response;\r\n \r\n this.irceList.push({\r\n subCategory: \"Show All\",\r\n riskSubCategoryId: 0\r\n });\r\n this.irceList = this.irceList.sort(function (a, b) {\r\n return a.riskSubCategoryId - b.riskSubCategoryId;\r\n });\r\n });\r\n }\r\n\r\n getSubcategorydetails() {\r\n document.getElementById('SubCategoryDetailsChartContainer0').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer1').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer2').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer3').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer4').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer5').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer6').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer7').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer8').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer9').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer10').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer11').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer12').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer13').innerHTML = \"\";\r\n document.getElementById('SubCategoryDetailsChartContainer14').innerHTML = \"\";\r\n let id = +this.selectedSubCategory.riskSubCategoryId;\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.entityAssessmentReview.getAllRiskSubCategoryDetailsBySubCatergory\r\n }?riskSubCategoryId=${id}&entityDetailsId=${this.detailedreportdetails.id}&businessUnitId=${this.detailedreportdetails.BusinessUnitsId}\r\n&riskCategoryId=${ this.riskCategoryid}&assessmentStartDate=${this.detailedreportdetails.Years}&IsDashboard=1`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.subcategorydetails = response;\r\n this.subcategorydetails.push({\r\n riskAttribute: \"Show All\",\r\n riskSubCategoryDetailsId: 0\r\n });\r\n this.subcategorydetails = this.subcategorydetails.sort(function (a, b) {\r\n return a.riskSubCategoryDetailsId - b.riskSubCategoryDetailsId;\r\n });\r\n\r\n if (this.selectedSubCategory.riskSubCategoryId == 0) {\r\n this.ChartDetails();\r\n }\r\n else {\r\n if (this.selectedSubCategoryDetails.riskSubCategoryDetailsId == 0) {\r\n this.ChartDetails();\r\n }\r\n }\r\n });\r\n }\r\n\r\n public SubCategoryDetailsChart: any = {\r\n chart: {\r\n type: 'column'\r\n },\r\n title: {\r\n text: 'Customer Type'\r\n },\r\n credits: {\r\n enabled: false\r\n },\r\n exporting: {\r\n enabled: false // hide button\r\n },\r\n xAxis: {\r\n categories: ['%Customer', '%Transaction (Volume)', '%Transaction (Value)', 'Average']\r\n },\r\n color: [\"#FF0000\",\"#FFFF00\",\"#00B050\"],\r\n yAxis: {\r\n min: 0,\r\n title: {\r\n text: 'PERCENTAGE DISTRUBUTION'\r\n },\r\n stackLabels: {\r\n enabled: true,\r\n style: {\r\n fontWeight: 'bold',\r\n color: ( // theme\r\n Highcharts.defaultOptions.title.style &&\r\n Highcharts.defaultOptions.title.style.color\r\n ) || 'gray'\r\n }\r\n }\r\n },\r\n legend: {\r\n align: 'right',\r\n x: -30,\r\n verticalAlign: 'top',\r\n y: 25,\r\n floating: true,\r\n backgroundColor:\r\n Highcharts.defaultOptions.legend.backgroundColor || 'white',\r\n borderColor: '#CCC',\r\n borderWidth: 1,\r\n shadow: false\r\n },\r\n tooltip: {\r\n headerFormat: '{point.x}
',\r\n pointFormat: '{series.name}: {point.y}
Total: {point.stackTotal}'\r\n },\r\n plotOptions: {\r\n column: {\r\n stacking: 'normal',\r\n dataLabels: {\r\n enabled: true\r\n }\r\n }\r\n },\r\n series: [{\r\n name: 'High',\r\n data: [5, 3, 4, 7]\r\n }, {\r\n name: 'Medium',\r\n data: [2, 2, 3, 2]\r\n }, {\r\n name: 'Low',\r\n data: [3, 4, 4, 2]\r\n }]\r\n }\r\n\r\n ChartDetails() {\r\n debugger;\r\n let id = this.detailedreportdetails.id ;\r\n let BusinessUnitsId = this.detailedreportdetails.BusinessUnitsId ;\r\n let Years = this.detailedreportdetails.Years ;\r\n let RiskSubCategoryId = this.selectedSubCategory.riskSubCategoryId;\r\n let RiskSubCategoryDetailsId = this.selectedSubCategoryDetails != undefined ? this.selectedSubCategoryDetails.riskSubCategoryDetailsId : 0;\r\n let RiskTypeId = this.selectedSubCategoryDetails.riskTypeId != undefined ? this.selectedSubCategoryDetails.riskTypeId : 0;\r\n let RiskCategory = this.detailedreportdetails.RiskCategory;\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.dashboard.DashboardDetialedReport\r\n }?EntityId=${id}&BusinessUnitsId=${BusinessUnitsId}&RiskSubCategoryId=${RiskSubCategoryId}&RiskSubCategoryDetailsId=${RiskSubCategoryDetailsId}&RiskCategory=${RiskCategory}&year=${Years}&RiskTypeId=${RiskTypeId}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n for (var i = 0; i < response.length; i++) {\r\n this.SubCategoryDetailsChart.series = response[i].series;\r\n this.SubCategoryDetailsChart.title.text = response[i].name;\r\n Highcharts.chart('SubCategoryDetailsChartContainer' + i.toString(), this.SubCategoryDetailsChart);\r\n }\r\n \r\n //this.CEoptions.xAxis.categories = response.xAxiscategories;\r\n //this.CEoptions.series = response.series;\r\n //this.IRoptions.series = response.series;\r\n //Highcharts.chart('CEcontainer', this.CEoptions);\r\n });\r\n }\r\n}\r\n","export default \".home-container {\\n margin: 0 auto;\\n max-width: 960px;\\n}\\n.home-container .home-logo {\\n width: 240px;\\n}\\n.home-container .home-text {\\n text-align: center;\\n}\\n@media (min-width: 992px) {\\n .home-container .home-text {\\n text-align: left;\\n }\\n}\\n.home-container .home-text-big {\\n font-size: 3.9375rem;\\n}\\n.home-container .highcharts-figure, .home-container .highcharts-data-table table {\\n min-width: 310px;\\n max-width: 800px;\\n margin: 1em auto;\\n}\\n.home-container #container {\\n height: 400px;\\n}\\n.home-container .highcharts-data-table table {\\n font-family: Verdana, sans-serif;\\n border-collapse: collapse;\\n border: 1px solid #EBEBEB;\\n margin: 10px auto;\\n text-align: center;\\n width: 100%;\\n max-width: 500px;\\n}\\n.home-container .highcharts-data-table caption {\\n padding: 1em 0;\\n font-size: 1.2em;\\n color: #555;\\n}\\n.home-container .highcharts-data-table th {\\n font-weight: 600;\\n padding: 0.5em;\\n}\\n.home-container .highcharts-data-table td, .home-container .highcharts-data-table th, .home-container .highcharts-data-table caption {\\n padding: 0.5em;\\n}\\n.home-container .highcharts-data-table thead tr, .home-container .highcharts-data-table tr:nth-child(even) {\\n background: #f8f8f8;\\n}\\n.home-container .highcharts-data-table tr:hover {\\n background: #f1f7ff;\\n}\\n.home-container #main-head {\\n background-color: cornflowerblue;\\n text-align: center;\\n}\\n.reportlink {\\n color: blue;\\n}\\n.reportlink:hover {\\n cursor: pointer;\\n text-decoration: underline;\\n}\\n#download {\\n display: none;\\n}\\nhr {\\n border-top: 0.2em solid #E9EEF2;\\n margin-top: 0;\\n}\\n#IRcontainer {\\n width: 320px !important;\\n}\\n#CEcontainer {\\n /*width: 420px !important;*/\\n}\\n#IRRiskMeterGaugecontainer0,\\n#CERiskMeterGaugecontainer0,\\n#IRRiskMeterGaugecontainer1,\\n#CERiskMeterGaugecontainer1,\\n#IRRiskMeterGaugecontainer2,\\n#CERiskMeterGaugecontainer2,\\n#IRRiskMeterGaugecontainer3,\\n#CERiskMeterGaugecontainer3,\\n#IRRiskMeterGaugecontainer4,\\n#CERiskMeterGaugecontainer4 {\\n width: 220px !important;\\n}\\n.disable {\\n color: grey;\\n cursor: not-allowed;\\n}\\n.row-negpad {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -15px;\\n margin-left: 0px;\\n}\\n.control-padding {\\n margin: 0px;\\n padding: 5px;\\n}\\n.headers {\\n background-color: #86bc25 !important;\\n margin-left: 5px;\\n margin-right: 5px;\\n text-align: center;\\n min-height: 15px;\\n border: 1px solid #ccc !important;\\n border-radius: 5px;\\n}\\n.header-label {\\n font-size: 14px;\\n margin: auto;\\n padding: 5px;\\n color: white;\\n display: block;\\n}\\n.card-dashboard {\\n box-shadow: 0 8px 9px rgba(0, 0, 0, 0.25) !important;\\n border-radius: 1px !important;\\n margin-bottom: 1.25rem;\\n}\\n.card-dashboard .card-dashboard-body {\\n padding: 0.9375rem;\\n}\\n.card-dashboard-body {\\n flex: 1 1 auto;\\n padding: 1.25rem;\\n background-color: white;\\n min-height: 450px;\\n -o-object-fit: contain;\\n object-fit: contain;\\n text-align: center;\\n margin: auto;\\n display: block;\\n}\\n.img-center {\\n margin: auto;\\n padding: 0px;\\n display: block;\\n text-align: center;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: column;\\n}\\n.float-left {\\n float: left;\\n}\\n.float-right {\\n float: right;\\n}\\n.mt-50p {\\n margin-top: 50px !important;\\n}\\n.mt-80p {\\n margin-top: 80px !important;\\n}\\n.services-container {\\n width: 100%;\\n height: 300px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n flex-direction: column;\\n}\\n.services-container svg {\\n width: 70px;\\n}\\n.risk-meter-label {\\n text-align: center !important;\\n font-size: 12px;\\n font-weight: bold;\\n color: #333333;\\n padding-top: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9ob21lL2NvbXBvbmVudHMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXG1vZHVsZXNcXGhvbWVcXGNvbXBvbmVudHNcXGhvbWUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL21vZHVsZXMvaG9tZS9jb21wb25lbnRzL2hvbWUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL21vZHVsZXMvaG9tZS9jb21wb25lbnRzL0Q6XFxJbmRpYUJVXFxBZ2VudFBvb2xcXERvdE5ldFxcRG90TmV0RnJhbWV3b3JrXFxfd29ya1xcMjk2XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0eWxlc1xcYm9vdHN0cmFwXFxtaXhpbnNcXF9icmVha3BvaW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FDSkY7QURNRTtFQUNFLFlBQUE7QUNKSjtBRE9FO0VBQ0Usa0JBQUE7QUNMSjtBQ21ESTtFRi9DRjtJQUlJLGdCQUFBO0VDSko7QUFDRjtBRE9FO0VBQ0Usb0JBQUE7QUNMSjtBRFFFO0VBQ0UsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0FDTko7QURTRTtFQUNFLGFBQUE7QUNQSjtBRFVFO0VBQ0UsZ0NBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtBQ1JKO0FEV0U7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0FDVEo7QURZRTtFQUNFLGdCQUFBO0VBQ0EsY0FBQTtBQ1ZKO0FEYUU7RUFDRSxjQUFBO0FDWEo7QURjRTtFQUNFLG1CQUFBO0FDWko7QURlRTtFQUNFLG1CQUFBO0FDYko7QURnQkU7RUFDRSxnQ0FBQTtFQUNBLGtCQUFBO0FDZEo7QURrQkE7RUFDRSxXQUFBO0FDZkY7QURrQkE7RUFDRSxlQUFBO0VBQ0EsMEJBQUE7QUNmRjtBRGtCQTtFQUNFLGFBQUE7QUNmRjtBRGtCQTtFQUNFLCtCQUFBO0VBQ0EsYUFBQTtBQ2ZGO0FEa0JBO0VBQ0UsdUJBQUE7QUNmRjtBRG1CQTtFQUNFLDJCQUFBO0FDaEJGO0FEbUJBOzs7Ozs7Ozs7O0VBVUUsdUJBQUE7QUNoQkY7QURtQkE7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7QUNoQkY7QURtQkE7RUFDSSxhQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QUNoQko7QURtQkE7RUFDRSxXQUFBO0VBQVcsWUFBQTtBQ2ZiO0FEa0JBO0VBRUksb0NBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGlDQUFBO0VBQ0Esa0JBQUE7QUNoQko7QURtQkE7RUFDRSxlQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtBQ2hCRjtBRG1CQTtFQUNJLG9EQUFBO0VBQ0EsNkJBQUE7RUFDQSxzQkFBQTtBQ2hCSjtBRG1CQTtFQUNJLGtCQUFBO0FDaEJKO0FEb0JBO0VBQ0ksY0FBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxpQkFBQTtFQUNBLHNCQUFBO0tBQUEsbUJBQUE7RUFDQSxrQkFBQTtFQUNDLFlBQUE7RUFDSixjQUFBO0FDakJEO0FEdUJBO0VBQ0UsWUFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0FDcEJGO0FEdUJBO0VBQ0UsV0FBQTtBQ3BCRjtBRHVCQTtFQUNFLFlBQUE7QUNwQkY7QUR1QkE7RUFDSSwyQkFBQTtBQ3BCSjtBRHVCQTtFQUNJLDJCQUFBO0FDcEJKO0FEdUJJO0VBQ0YsV0FBQTtFQUNBLGFBQUE7RUFDQSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0FDcEJGO0FEdUJBO0VBQ0UsV0FBQTtBQ3BCRjtBRHVCQTtFQUNFLDZCQUFBO0VBRUEsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0FDckJGIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9ob21lL2NvbXBvbmVudHMvaG9tZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi8uLi8uLi9zaGFyZWQvc3R5bGVzL2Jvb3RzdHJhcC9fZnVuY3Rpb25zLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvYm9vdHN0cmFwL192YXJpYWJsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9ib290c3RyYXAvX21peGluc1wiO1xyXG5AaW1wb3J0ICcuLi8uLi8uLi9zaGFyZWQvc3R5bGVzL2FwcC92YXJpYWJsZXMuc2Nzcyc7XHJcblxyXG4uaG9tZS1jb250YWluZXIge1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIG1heC13aWR0aDogbWFwLWdldCgkY29udGFpbmVyLW1heC13aWR0aHMsIFwibGdcIik7XHJcblxyXG4gIC5ob21lLWxvZ28ge1xyXG4gICAgd2lkdGg6IDI0MHB4O1xyXG4gIH1cclxuXHJcbiAgLmhvbWUtdGV4dCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmhvbWUtdGV4dC1iaWcge1xyXG4gICAgZm9udC1zaXplOiAzLjkzNzVyZW07XHJcbiAgfVxyXG5cclxuICAuaGlnaGNoYXJ0cy1maWd1cmUsIC5oaWdoY2hhcnRzLWRhdGEtdGFibGUgdGFibGUge1xyXG4gICAgbWluLXdpZHRoOiAzMTBweDtcclxuICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICBtYXJnaW46IDFlbSBhdXRvO1xyXG4gIH1cclxuXHJcbiAgI2NvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gIH1cclxuXHJcbiAgLmhpZ2hjaGFydHMtZGF0YS10YWJsZSB0YWJsZSB7XHJcbiAgICBmb250LWZhbWlseTogVmVyZGFuYSwgc2Fucy1zZXJpZjtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRUJFQkVCO1xyXG4gICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgfVxyXG5cclxuICAuaGlnaGNoYXJ0cy1kYXRhLXRhYmxlIGNhcHRpb24ge1xyXG4gICAgcGFkZGluZzogMWVtIDA7XHJcbiAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgY29sb3I6ICM1NTU7XHJcbiAgfVxyXG5cclxuICAuaGlnaGNoYXJ0cy1kYXRhLXRhYmxlIHRoIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nOiAwLjVlbTtcclxuICB9XHJcblxyXG4gIC5oaWdoY2hhcnRzLWRhdGEtdGFibGUgdGQsIC5oaWdoY2hhcnRzLWRhdGEtdGFibGUgdGgsIC5oaWdoY2hhcnRzLWRhdGEtdGFibGUgY2FwdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAwLjVlbTtcclxuICB9XHJcblxyXG4gIC5oaWdoY2hhcnRzLWRhdGEtdGFibGUgdGhlYWQgdHIsIC5oaWdoY2hhcnRzLWRhdGEtdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XHJcbiAgfVxyXG5cclxuICAuaGlnaGNoYXJ0cy1kYXRhLXRhYmxlIHRyOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmMWY3ZmY7XHJcbiAgfVxyXG5cclxuICAjbWFpbi1oZWFkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvcm5mbG93ZXJibHVlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnJlcG9ydGxpbmsge1xyXG4gIGNvbG9yOiBibHVlO1xyXG59XHJcblxyXG4ucmVwb3J0bGluazpob3ZlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4jZG93bmxvYWQge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbmhyIHtcclxuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjRTlFRUYyO1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbiNJUmNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgLy9oZWlnaHQ6IDQwMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNDRWNvbnRhaW5lciB7XHJcbiAgLyp3aWR0aDogNDIwcHggIWltcG9ydGFudDsqL1xyXG59XHJcblxyXG4jSVJSaXNrTWV0ZXJHYXVnZWNvbnRhaW5lcjAsXHJcbiNDRVJpc2tNZXRlckdhdWdlY29udGFpbmVyMCxcclxuI0lSUmlza01ldGVyR2F1Z2Vjb250YWluZXIxLFxyXG4jQ0VSaXNrTWV0ZXJHYXVnZWNvbnRhaW5lcjEsXHJcbiNJUlJpc2tNZXRlckdhdWdlY29udGFpbmVyMixcclxuI0NFUmlza01ldGVyR2F1Z2Vjb250YWluZXIyLFxyXG4jSVJSaXNrTWV0ZXJHYXVnZWNvbnRhaW5lcjMsXHJcbiNDRVJpc2tNZXRlckdhdWdlY29udGFpbmVyMyxcclxuI0lSUmlza01ldGVyR2F1Z2Vjb250YWluZXI0LFxyXG4jQ0VSaXNrTWV0ZXJHYXVnZWNvbnRhaW5lcjQge1xyXG4gIHdpZHRoOiAyMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGlzYWJsZSB7XHJcbiAgY29sb3I6IGdyZXk7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuLnJvdy1uZWdwYWQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG59XHJcblxyXG4uY29udHJvbC1wYWRkaW5ne1xyXG4gIG1hcmdpbjowcHg7cGFkZGluZzo1cHg7XHJcbn1cclxuXHJcbi5oZWFkZXJzIHtcclxuICAgIC8vbWFyZ2luLXRvcDogMTVweDs7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODZiYzI1ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtaW4taGVpZ2h0OiAxNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYyFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5oZWFkZXItbGFiZWwge1xyXG4gIGZvbnQtc2l6ZTogMTRweDs7XHJcbiAgbWFyZ2luOiBhdXRvOyBcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uY2FyZC1kYXNoYm9hcmQge1xyXG4gICAgYm94LXNoYWRvdzogMCA4cHggOXB4IHJnYmEoMCwwLDAsLjI1KSFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxcHghaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcclxufVxyXG5cclxuLmNhcmQtZGFzaGJvYXJkIC5jYXJkLWRhc2hib2FyZC1ib2R5IHtcclxuICAgIHBhZGRpbmc6IC45Mzc1cmVtO1xyXG59XHJcblxyXG5cclxuLmNhcmQtZGFzaGJvYXJkLWJvZHkge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBtaW4taGVpZ2h0OiA0NTBweDtcclxuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgbWFyZ2luOiBhdXRvOyBcclxuIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4uaW1nLWNlbnRlciB7XHJcbiAgbWFyZ2luOiBhdXRvOyBcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uZmxvYXQtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5mbG9hdC1yaWdodCB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4ubXQtNTBwe1xyXG4gICAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuLm10LTgwcHtcclxuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZXMtY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDMwMHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uc2VydmljZXMtY29udGFpbmVyIHN2ZyB7XHJcbiAgd2lkdGg6IDcwcHg7XHJcbn1cclxuXHJcbi5yaXNrLW1ldGVyLWxhYmVsIHtcclxuICB0ZXh0LWFsaWduOmNlbnRlciAhaW1wb3J0YW50OyBcclxuIC8vIGZvbnQtZmFtaWx5OiBcIkx1Y2lkYSBHcmFuZGUsIEx1Y2lkYSBTYW5zIFVuaWNvZGUgLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmXCI7IFxyXG4gIGZvbnQtc2l6ZToxMnB4O1xyXG4gIGZvbnQtd2VpZ2h0OmJvbGQ7IFxyXG4gIGNvbG9yOiMzMzMzMzM7IFxyXG4gIHBhZGRpbmctdG9wOiAxMHB4XHJcbn1cclxuXHJcbiIsIi5ob21lLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDk2MHB4O1xufVxuLmhvbWUtY29udGFpbmVyIC5ob21lLWxvZ28ge1xuICB3aWR0aDogMjQwcHg7XG59XG4uaG9tZS1jb250YWluZXIgLmhvbWUtdGV4dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaG9tZS1jb250YWluZXIgLmhvbWUtdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuLmhvbWUtY29udGFpbmVyIC5ob21lLXRleHQtYmlnIHtcbiAgZm9udC1zaXplOiAzLjkzNzVyZW07XG59XG4uaG9tZS1jb250YWluZXIgLmhpZ2hjaGFydHMtZmlndXJlLCAuaG9tZS1jb250YWluZXIgLmhpZ2hjaGFydHMtZGF0YS10YWJsZSB0YWJsZSB7XG4gIG1pbi13aWR0aDogMzEwcHg7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMWVtIGF1dG87XG59XG4uaG9tZS1jb250YWluZXIgI2NvbnRhaW5lciB7XG4gIGhlaWdodDogNDAwcHg7XG59XG4uaG9tZS1jb250YWluZXIgLmhpZ2hjaGFydHMtZGF0YS10YWJsZSB0YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRUJFQkVCO1xuICBtYXJnaW46IDEwcHggYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cbi5ob21lLWNvbnRhaW5lciAuaGlnaGNoYXJ0cy1kYXRhLXRhYmxlIGNhcHRpb24ge1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgY29sb3I6ICM1NTU7XG59XG4uaG9tZS1jb250YWluZXIgLmhpZ2hjaGFydHMtZGF0YS10YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDAuNWVtO1xufVxuLmhvbWUtY29udGFpbmVyIC5oaWdoY2hhcnRzLWRhdGEtdGFibGUgdGQsIC5ob21lLWNvbnRhaW5lciAuaGlnaGNoYXJ0cy1kYXRhLXRhYmxlIHRoLCAuaG9tZS1jb250YWluZXIgLmhpZ2hjaGFydHMtZGF0YS10YWJsZSBjYXB0aW9uIHtcbiAgcGFkZGluZzogMC41ZW07XG59XG4uaG9tZS1jb250YWluZXIgLmhpZ2hjaGFydHMtZGF0YS10YWJsZSB0aGVhZCB0ciwgLmhvbWUtY29udGFpbmVyIC5oaWdoY2hhcnRzLWRhdGEtdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbn1cbi5ob21lLWNvbnRhaW5lciAuaGlnaGNoYXJ0cy1kYXRhLXRhYmxlIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2YxZjdmZjtcbn1cbi5ob21lLWNvbnRhaW5lciAjbWFpbi1oZWFkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29ybmZsb3dlcmJsdWU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnJlcG9ydGxpbmsge1xuICBjb2xvcjogYmx1ZTtcbn1cblxuLnJlcG9ydGxpbms6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4jZG93bmxvYWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ociB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICNFOUVFRjI7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbiNJUmNvbnRhaW5lciB7XG4gIHdpZHRoOiAzMjBweCAhaW1wb3J0YW50O1xufVxuXG4jQ0Vjb250YWluZXIge1xuICAvKndpZHRoOiA0MjBweCAhaW1wb3J0YW50OyovXG59XG5cbiNJUlJpc2tNZXRlckdhdWdlY29udGFpbmVyMCxcbiNDRVJpc2tNZXRlckdhdWdlY29udGFpbmVyMCxcbiNJUlJpc2tNZXRlckdhdWdlY29udGFpbmVyMSxcbiNDRVJpc2tNZXRlckdhdWdlY29udGFpbmVyMSxcbiNJUlJpc2tNZXRlckdhdWdlY29udGFpbmVyMixcbiNDRVJpc2tNZXRlckdhdWdlY29udGFpbmVyMixcbiNJUlJpc2tNZXRlckdhdWdlY29udGFpbmVyMyxcbiNDRVJpc2tNZXRlckdhdWdlY29udGFpbmVyMyxcbiNJUlJpc2tNZXRlckdhdWdlY29udGFpbmVyNCxcbiNDRVJpc2tNZXRlckdhdWdlY29udGFpbmVyNCB7XG4gIHdpZHRoOiAyMjBweCAhaW1wb3J0YW50O1xufVxuXG4uZGlzYWJsZSB7XG4gIGNvbG9yOiBncmV5O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucm93LW5lZ3BhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbn1cblxuLmNvbnRyb2wtcGFkZGluZyB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5oZWFkZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg2YmMyNSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLmhlYWRlci1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiA1cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJkLWRhc2hib2FyZCB7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDlweCByZ2JhKDAsIDAsIDAsIDAuMjUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDFweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4uY2FyZC1kYXNoYm9hcmQgLmNhcmQtZGFzaGJvYXJkLWJvZHkge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG59XG5cbi5jYXJkLWRhc2hib2FyZC1ib2R5IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBtaW4taGVpZ2h0OiA0NTBweDtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW1nLWNlbnRlciB7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ubXQtNTBwIHtcbiAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xufVxuXG4ubXQtODBwIHtcbiAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50O1xufVxuXG4uc2VydmljZXMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc2VydmljZXMtY29udGFpbmVyIHN2ZyB7XG4gIHdpZHRoOiA3MHB4O1xufVxuXG4ucmlzay1tZXRlci1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzMzMzMzMztcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59IiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDU3NnB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG59XHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDc2Ny45OHB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xyXG59XHJcblxyXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxyXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiLXNtXCJcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtaW4ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1heCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\";","\r\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { first } from 'rxjs/operators';\r\nimport * as Highcharts from 'highcharts';\r\nimport HC_exporting from 'highcharts/modules/exporting';\r\nHC_exporting(Highcharts);\r\nimport HC_exportData from 'highcharts/modules/export-data';\r\nHC_exportData(Highcharts);\r\nimport { HttpGenericService } from 'src/app/core/services/http-genric.service';\r\nimport { API } from 'src/app/shared/constants/api.constants';\r\nimport { Router } from '@angular/router';\r\nimport { CredentialsService } from '../../../core/services/credentials.service';\r\nconst swal = require(\"sweetalert\");\r\nimport html2canvas from 'html2canvas';\r\nimport { DownloadFileService } from \"src/app/core/services/download-file.service\";\r\n\r\ndeclare var require: any;\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n title = 'TESTING';\r\n api = API;\r\n ResidualRiskScoreDetails: any;\r\n id = 0;\r\n BusinessUnitsId = 0;\r\n Years = \"\";\r\n\r\n IRCategories: [];\r\n IRSeries: [];\r\n selectedBU = null;\r\n selectedToYear : any = []; \r\n selectedFromYear : any = []; \r\n \r\n public IRoptions: any = {\r\n chart: {\r\n type: 'bar',\r\n height: 250\r\n },\r\n title: {\r\n text: 'Inherent Risk',\r\n style: {\r\n color: '',\r\n fontSize: '12px',\r\n fontWeight:'bold'\r\n }\r\n },\r\n exporting: {\r\n enabled: false // hide button\r\n },\r\n credits: {\r\n enabled: false\r\n },\r\n accessibility: {\r\n announceNewData: {\r\n enabled: true\r\n }\r\n },\r\n xAxis: {\r\n type: 'category'\r\n \r\n },\r\n yAxis: {\r\n title: {\r\n text: ''\r\n },\r\n max: 3\r\n\r\n },\r\n legend: {\r\n enabled: false\r\n },\r\n plotOptions: {\r\n series: {\r\n borderWidth: 0,\r\n dataLabels: {\r\n enabled: true,\r\n format: '{point.y:.2f}',\r\n\r\n pointWidth: 11\r\n }\r\n \r\n },\r\n \r\n \r\n },\r\n\r\n tooltip: {\r\n headerFormat: '{series.name}
',\r\n pointFormat: '{point.name}: {point.y:.2f}'\r\n },\r\n colors: ['#2f7ed8', '#8bbc21', '#910000', '#1aadce',\r\n '#492970', '#f28f43', '#77a1e5', '#c42525', '#a6c96a', '#0d233a'],\r\n series: [\r\n {\r\n\r\n colorByPoint: true,\r\n data: [\r\n {\r\n name: \"Chrome\",\r\n y: 62.74,\r\n color: 'tomato'\r\n },\r\n {\r\n name: \"Firefox\",\r\n y: 10.57,\r\n color: 'cyan'\r\n },\r\n {\r\n name: \"Internet Explorer\",\r\n y: 7.23,\r\n color: 'yellow'\r\n },\r\n {\r\n name: \"Safari\",\r\n y: 5.58\r\n },\r\n {\r\n name: \"Edge\",\r\n y: 4.02\r\n },\r\n {\r\n name: \"Opera\",\r\n y: 1.92\r\n },\r\n {\r\n name: \"Other\",\r\n y: 7.62\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n\r\n public CEoptions: any = {\r\n chart: {\r\n type: 'bar',\r\n height: 350\r\n },\r\n title: {\r\n text: 'Control Risk Indicators',\r\n style: {\r\n color: '',\r\n fontSize: '12px',\r\n fontWeight: 'bold'\r\n }\r\n },\r\n exporting: {\r\n enabled: false // hide button\r\n },\r\n credits: {\r\n enabled: false\r\n },\r\n accessibility: {\r\n announceNewData: {\r\n enabled: true\r\n }\r\n },\r\n xAxis: {\r\n type: 'category'\r\n },\r\n yAxis: {\r\n title: {\r\n text: ''\r\n },\r\n max\r\n : 4\r\n },\r\n legend: {\r\n enabled: false\r\n },\r\n plotOptions: {\r\n series: {\r\n borderWidth: 0,\r\n dataLabels: {\r\n enabled: true,\r\n format: '{point.y:.2f}'\r\n },\r\n fontSize:'11'\r\n },\r\n \r\n },\r\n\r\n tooltip: {\r\n headerFormat: '{series.name}
',\r\n pointFormat: '{point.name}: {point.y:.2f}'\r\n },\r\n colors: ['#2f7ed8', '#8bbc21', '#910000', '#1aadce',\r\n '#492970', '#f28f43', '#77a1e5', '#c42525', '#a6c96a', '#0d233a'],\r\n series: [\r\n {\r\n\r\n colorByPoint: true,\r\n data: [\r\n {\r\n name: \"Chrome\",\r\n y: 62.74,\r\n color: 'tomato'\r\n },\r\n {\r\n name: \"Firefox\",\r\n y: 10.57,\r\n color: 'cyan'\r\n },\r\n {\r\n name: \"Internet Explorer\",\r\n y: 7.23,\r\n color: 'yellow'\r\n },\r\n {\r\n name: \"Safari\",\r\n y: 5.58\r\n },\r\n {\r\n name: \"Edge\",\r\n y: 4.02\r\n },\r\n {\r\n name: \"Opera\",\r\n y: 1.92\r\n },\r\n {\r\n name: \"Other\",\r\n y: 7.62\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n\r\n public IRRiskMeterGauge: any = {\r\n chart: {\r\n //height: 100 + '%', // 16:9 ratio\r\n height: 200,\r\n //width: 100 + '%',\r\n /*margin: [0, 0, 0, 0],\r\n spacingTop: 0,\r\n spacingBottom: 0,\r\n spacingLeft: 0,\r\n spacingRight: 0*/\r\n },\r\n exporting: {\r\n enabled: false // hide button\r\n },\r\n credits: {\r\n enabled: false\r\n },\r\n title: {\r\n text: '',\r\n style: {\r\n\r\n font: 'bold 11px Lucida Grande, Lucida Sans Unicode , Arial, Helvetica, sans-serif'\r\n \r\n },\r\n\r\n verticalAlign: 'top',\r\n y: 60\r\n },\r\n tooltip: {\r\n pointFormat: '{series.name}: {point.y:.1f}'\r\n },\r\n accessibility: {\r\n point: {\r\n valueSuffix: '%'\r\n }\r\n },\r\n plotOptions: {\r\n pie: {\r\n dataLabels: {\r\n enabled: true,\r\n distance: -50,\r\n style: {\r\n fontWeight: 'bold',\r\n color: 'black'\r\n }\r\n },\r\n startAngle: -90,\r\n endAngle: 90,\r\n center: ['50%', '75%'],\r\n size: '80%'\r\n }\r\n },\r\n series: [{\r\n type: 'pie',\r\n name: '',\r\n innerSize: '50%',\r\n data: [\r\n ['Low', 50],\r\n ['Others', 50]\r\n ]\r\n }]\r\n }\r\n\r\n public CERiskMeterGauge: any = {\r\n chart: {\r\n\r\n height: 200,\r\n //width:200,// 16:9 ratio*/\r\n //margin: [0, 0, 0, 0],\r\n //spacingTop: 0,\r\n //spacingBottom: 0,\r\n /*spacingLeft: 0,\r\n spacingRight: 0,*/\r\n //height: 100 + '%',\r\n\r\n },\r\n exporting: {\r\n enabled: false // hide button\r\n },\r\n credits: {\r\n enabled: false\r\n },\r\n title: {\r\n text: '',\r\n style: {\r\n\r\n font: 'bold 11px Lucida Grande, Lucida Sans Unicode , Arial, Helvetica, sans-serif'\r\n },\r\n y: 60,\r\n verticalAlign: 'top',\r\n \r\n },\r\n tooltip: {\r\n pointFormat: '{series.name}: {point.y:.1f}'\r\n },\r\n accessibility: {\r\n point: {\r\n valueSuffix: '%'\r\n }\r\n },\r\n plotOptions: {\r\n pie: {\r\n dataLabels: {\r\n enabled: true,\r\n distance: -50,\r\n style: {\r\n fontWeight: 'bold',\r\n color: 'black'\r\n }\r\n },\r\n startAngle: -90,\r\n endAngle: 90,\r\n center: ['50%', '75%'],\r\n size: '80%'\r\n }\r\n },\r\n series: [{\r\n type: 'pie',\r\n name: '',\r\n innerSize: '50%',\r\n data: [\r\n ['Satifactory', 58.9],\r\n\r\n {\r\n name: 'Other',\r\n color: 'red',\r\n y: 7.61,\r\n dataLabels: {\r\n enabled: false\r\n }\r\n }\r\n ]\r\n }]\r\n }\r\n bulist = [];\r\n ToYearList: any=[]; \r\n FromYearList: any = [];\r\n isLoad: boolean = false;\r\n entityName: any;\r\n svgIRString: any;\r\n svgCEString: any;\r\n maintab: string;\r\n cycle: any;\r\n\r\n @ViewChild('screen') screen: ElementRef;\r\n @ViewChild('scorecard') scorecard: ElementRef;\r\n @ViewChild('buscorecardIR') buscorecardIR: ElementRef;\r\n @ViewChild('buscorecardCE') buscorecardCE: ElementRef;\r\n @ViewChild('canvas') canvas: ElementRef;\r\n @ViewChild('downloadLink') downloadLink: ElementRef;\r\n htmldata: string;\r\n htmldatascorecard: string;\r\n headerName: string;\r\n reportmodel: boolean;\r\n assessmentcyclevalue: any;\r\n userId: any;\r\n taYear1: any =[];\r\n taYear2: any = [];\r\n trendAnalysisResult: any;\r\n enableSearch: boolean=true;\r\n assessmentPeriod: any;\r\n quarterOrHalfyearNo: any;\r\n taYear1Value: string;\r\n taYear1temp: any;\r\n //showTrendAnalysis: boolean;\r\n\r\n getIRChartDetails() {\r\n return new Promise((resolve, reject) => {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.dashboard.IRBarChartDetails\r\n }?EntityId=${this.id}&BusinessUnitsId=${this.BusinessUnitsId}&year=${this.Years}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n //let barSeries = response.series;\r\n //barSeries.forEach(item => item.data.forEach(a => a.y = Number(a.y.toFixed(2))));\r\n //this.IRoptions.xAxis.categories = response.xAxiscategories;\r\n this.IRoptions.xAxis.categories = response.xAxiscategories;\r\n this.IRoptions.series = response.series;\r\n //this.IRoptions.series = barSeries;\r\n // Highcharts.chart('IRcontainer', this.IRoptions);\r\n let chartIR = Highcharts.chart('IRcontainer', this.IRoptions);\r\n // Get Actual SVG of a chart\r\n \r\n // this.svgIRString = chartIR.getSVG();\r\n let temp = chartIR.getSVG();\r\n this.svgIRString = this.credentialsService.encryptdata(temp);\r\n \r\n resolve(true)\r\n });\r\n });\r\n }\r\n\r\n getCEChartDetails() {\r\n return new Promise((resolve, reject) => {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.dashboard.CEBarChartDetails\r\n }?EntityId=${this.id}&BusinessUnitsId=${this.BusinessUnitsId}&year=${this.Years}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n //this.IRoptions.xAxis.categories = response.xAxiscategories;\r\n this.CEoptions.xAxis.categories = response.xAxiscategories;\r\n this.CEoptions.series = response.series;\r\n //this.IRoptions.series = response.series;\r\n // Highcharts.chart('CEcontainer', this.CEoptions);\r\n\r\n let chartCE = Highcharts.chart('CEcontainer', this.CEoptions);\r\n // Get Actual SVG of a chart\r\n // this.svgCEString = chartCE.getSVG();\r\n let temp = chartCE.getSVG();\r\n this.svgCEString = this.credentialsService.encryptdata(temp);\r\n resolve(true)\r\n });\r\n });\r\n }\r\n\r\n getResidualRiskScoreDetails() {\r\n return new Promise((resolve, reject) => {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.dashboard.ResidualRiskScoreDetails\r\n }?EntityId=${this.id}&BusinessUnitsId=${this.BusinessUnitsId}&year=${this.Years}¤tDashboardYear=${this.cycle}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.ResidualRiskScoreDetails = response;\r\n \r\n //this.CEoptions.xAxis.categories = response.xAxiscategories;\r\n //this.CEoptions.series = response.series;\r\n //this.IRoptions.series = response.series;\r\n //Highcharts.chart('CEcontainer', this.CEoptions);\r\n resolve(true)\r\n });\r\n });\r\n }\r\n\r\n DashboardIRRiskMeterDetails() {\r\n return new Promise((resolve, reject) => {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.dashboard.DashboardIRRiskMeterDetails\r\n }?EntityId=${this.id}&BusinessUnitsId=${this.BusinessUnitsId}&year=${this.Years}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n for (let j = 0; j < response.length; j++) {\r\n document.getElementById('IRRiskMeterGaugecontainer' + j.toString()).innerHTML = \"\";\r\n for (let i = 0; i < response[j].length; i++) {\r\n response[j][i][1] = parseFloat(response[j][i][1]);\r\n }\r\n //let count = parseInt(this.selectedToYear.YearText) - parseInt(this.selectedFromYear.YearText);\r\n let count = parseInt(this.selectedFromYear.id) - parseInt(this.selectedToYear.id);\r\n if (count >= j) {\r\n this.IRRiskMeterGauge.series[0].data = response[j];\r\n if (response[j][0].y == 0) {\r\n\r\n // document.getElementById('IRRiskMeterYear' + j.toString()).innerHTML = (parseInt(this.selectedFromYear.YearText) + j).toString();\r\n //document.getElementById('IRRiskMeterGaugecontainer' + j.toString()).innerHTML = \"No Data Found for year \" + (parseInt(this.selectedFromYear.YearText) + j).toString();\r\n document.getElementById('IRRiskMeterGaugecontainer' + j.toString()).innerHTML = \"No Data Found for year \" + this.ToYearList.find((x) => x.id == this.selectedFromYear.id - j).value.toString();\r\n\r\n\r\n }\r\n else {\r\n // document.getElementById('IRRiskMeterYear' + j.toString()).innerHTML = (parseInt(this.selectedFromYear.YearText) + j).toString();\r\n //this.IRRiskMeterGauge.title.text = \"IR
\" + (parseInt(this.selectedFromYear.YearText) + j).toString();\r\n this.IRRiskMeterGauge.title.text = \"IR
\" + this.ToYearList.find((x) => x.id == this.selectedFromYear.id - j).value.toString();\r\n Highcharts.chart('IRRiskMeterGaugecontainer' + j.toString(), this.IRRiskMeterGauge);\r\n }\r\n }\r\n for (let j = 0; j < 5; j++) \r\n {\r\n if (response.length <= j) {\r\n // document.getElementById('IRRiskMeterYear' + j.toString()).innerHTML = \"\";\r\n document.getElementById('IRRiskMeterGaugecontainer' + j.toString()).innerHTML = \"\";\r\n }\r\n }\r\n\r\n }\r\n resolve(true)\r\n });\r\n });\r\n }\r\n\r\n DashboardCERiskMeterDetails() {\r\n return new Promise((resolve, reject) => {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.dashboard.DashboardCERiskMeterDetails\r\n }?EntityId=${this.id}&BusinessUnitsId=${this.BusinessUnitsId}&year=${this.Years}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n // for (let i = 0; i < response.length; i++) {\r\n // response[i][1] = parseFloat(response[i][1]);\r\n // }\r\n // this.CERiskMeterGauge.series[0].data = response;\r\n // Highcharts.chart('CERiskMeterGaugecontainer', this.CERiskMeterGauge);\r\n \r\n //});\r\n for (let j = 0; j < response.length; j++) {\r\n document.getElementById('CERiskMeterGaugecontainer' + j.toString()).innerHTML = \"\";\r\n for (let i = 0; i < response[j].length; i++) {\r\n response[j][i][1] = parseFloat(response[j][i][1]);\r\n }\r\n // let count = parseInt(this.selectedToYear.YearText) - parseInt(this.selectedFromYear.YearText);\r\n let count = parseInt(this.selectedFromYear.id) - parseInt(this.selectedToYear.id);\r\n if (count >= j) {\r\n this.CERiskMeterGauge.series[0].data = response[j];\r\n if (response[j][0].y == 0) {\r\n //document.getElementById('CERiskMeterGaugecontainer' + j.toString()).innerHTML = \"No Data Found for year \" + (parseInt(this.selectedFromYear.YearText) + j).toString();document.getElementById('CERiskMeterGaugecontainer' + j.toString()).innerHTML = \"No Data Found for year \" + (parseInt(this.selectedFromYear.YearText) + j).toString();\r\n document.getElementById('CERiskMeterGaugecontainer' + j.toString()).innerHTML = \"No Data Found for year \" + this.ToYearList.find((x) => x.id == this.selectedFromYear.id - j).value.toString(); \r\n }\r\n else {\r\n //this.CERiskMeterGauge.title.text = \"CE
\" + (parseInt(this.selectedFromYear.YearText) + j).toString();\r\n this.CERiskMeterGauge.title.text = \"CE
\" + this.ToYearList.find((x) => x.id == this.selectedFromYear.id - j).value.toString();\r\n Highcharts.chart('CERiskMeterGaugecontainer' + j.toString(), this.CERiskMeterGauge);\r\n }\r\n }\r\n\r\n for (let j = 0; j < 5; j++) {\r\n if (response.length <= j) {\r\n document.getElementById('CERiskMeterGaugecontainer' + j.toString()).innerHTML = \"\";\r\n }\r\n }\r\n }\r\n resolve(true)\r\n });\r\n });\r\n }\r\n\r\n saveChartSVG(strSvg, Category, isUpdate) {\r\n //return new Promise((resolve, reject) => {\r\n let obj = {\r\n EntityId: this.id,\r\n BusinessUnitsId: this.BusinessUnitsId,\r\n year: this.selectedFromYear.value,\r\n Category: Category,\r\n strSVG: strSvg\r\n };\r\n this.httpGenericService\r\n\r\n //.postDataPromise(this.api.dashboard.SaveSVG, obj)\r\n //.then((data) => {\r\n \r\n .postData(\r\n `${this.api.dashboard.SaveSVG}?isUpdate=${isUpdate}`, obj)\r\n \r\n .pipe(first())\r\n .subscribe((data) => {\r\n \r\n //resolve(true)\r\n //});\r\n });\r\n \r\n //this.httpGenericService\r\n // .fetchAll(\r\n // `${\r\n // this.api.dashboard.SaveSVG\r\n // }?EntityId=${this.id}&BusinessUnitsId=${this.BusinessUnitsId}&year=${this.Years}&Category=${Category}&strSVG=${strSvg}`\r\n // )\r\n // .pipe(first())\r\n // .subscribe((res) => {\r\n // let response: any = res[\"Result\"];\r\n \r\n // });\r\n }\r\n \r\n constructor(private httpGenericService: HttpGenericService, private route: Router, private credentialsService: CredentialsService, private downloadfile: DownloadFileService,) {\r\n\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n this.maintab = localStorage.getItem(\"maintab\");\r\n // if (this.maintab == \"AssessmentStatus\") {\r\n this.id = JSON.parse(localStorage.getItem(\"ASEntityId\"));\r\n //this.assessmentPeriod = JSON.parse(localStorage.getItem(\"DashboardAssessmentCycle\"));\r\n this.cycle = JSON.parse(localStorage.getItem(\"ASAssessmentCycle\"));\r\n //this.cycle = this.assessmentPeriod.value.toString();\r\n //}\r\n /* else {\r\n this.id = JSON.parse(localStorage.getItem(\"GenDashboardEntiy\"));\r\n this.cycle = JSON.parse(localStorage.getItem(\"GenDashboardYear\"));\r\n }*/\r\n this.userId = this.credentialsService.credentials.userId;\r\n await this.ToFromYearDropDown();\r\n await this.getBUList();\r\n \r\n //this.Years = cycle.split(\"-\")[0];\r\n //let yearVal = this.cycle.split(\"-\")[0];\r\n //let yearVal = this.cycle;\r\n this.selectedFromYear = this.FromYearList.find((x) => x.value == this.cycle);\r\n this.selectedToYear = this.ToYearList.find((x) => x.value == this.cycle);\r\n //this.selectedFromYear.push({ Value: yearVal });\r\n //this.selectedFromYear = this.selectedFromYear[0];\r\n //this.selectedToYear.push({ Value: yearVal });\r\n //this.selectedToYear = this.selectedToYear[0];\r\n //let prevYear = (parseInt(yearVal) - 1).toString();\r\n //this.taYear1.push({ YearText: prevYear });\r\n //this.taYear1 = this.taYear1[0];\r\n if (this.cycle.split(\"-\").length > 1) {\r\n this.quarterOrHalfyearNo = this.cycle.split(\"-\")[1].substring(this.cycle.split(\"-\")[1].length - 1);\r\n if ((parseInt(this.quarterOrHalfyearNo) - 1) == 0) {\r\n if (this.cycle.split(\"-\")[1].substring(0, 1) == \"Q\") {\r\n this.taYear1Value = (parseInt(this.cycle.split(\"-\")[0]) - 1).toString() + \"-\" + this.cycle.split(\"-\")[1].substring(0, this.cycle.split(\"-\")[1].length - 1) + \"4\";\r\n\r\n }\r\n else if (this.cycle.split(\"-\")[1].substring(0, 1) == \"H\") {\r\n this.taYear1Value = (parseInt(this.cycle.split(\"-\")[0]) - 1).toString() + \"-\" + this.cycle.split(\"-\")[1].substring(0, this.cycle.split(\"-\")[1].length - 1) + \"2\";\r\n }\r\n }\r\n else {\r\n this.taYear1Value = this.cycle.substring(0, this.cycle.length - 1) + (parseInt(this.quarterOrHalfyearNo) - 1).toString();\r\n }\r\n }\r\n else {\r\n this.taYear1Value = (parseInt(this.cycle) - 1).toString();\r\n }\r\n \r\n //this.taYear2.push({ Value: yearVal });\r\n //this.taYear2 = this.taYear2[0];\r\n this.taYear1temp = this.FromYearList.find((x) => x.value == this.taYear1Value);\r\n if(this.taYear1temp !== undefined)\r\n this.taYear1 = this.taYear1temp\r\n else\r\n this.taYear1.value = this.taYear1Value\r\n this.taYear2 = this.ToYearList.find((x) => x.value == this.cycle);\r\n this.loadCharts();\r\n this.GetTrendAnalysis();\r\n }\r\n\r\n async loadCharts() {\r\n \r\n if (this.selectedFromYear == null || this.selectedToYear == null) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"From year and To year.\"\r\n });\r\n }\r\n else {\r\n if (parseInt(this.selectedToYear.id) > parseInt(this.selectedFromYear.id)) {\r\n swal({\r\n icon: \"warning\",\r\n text: \"From year should be less than To year.\"\r\n });\r\n }\r\n else {\r\n this.isLoad = true;\r\n // this.Years = \"\";\r\n // this.id = 20196;\r\n //this.taYear1 = this.selectedFromYear;\r\n //this.taYear2 = this.selectedToYear;\r\n this.BusinessUnitsId = this.selectedBU != null ? this.selectedBU.businessUnitId : 0;\r\n //this.Years = \"2020,2020,2020\";\r\n\r\n //let count = parseInt(this.selectedToYear.YearText) - parseInt(this.selectedFromYear.YearText);\r\n //let count = parseInt(this.selectedFromYear.id) - parseInt(this.selectedToYear.id);\r\n //for (let i = 0; i <= count; i++) {\r\n // this.Years = this.Years + (parseInt(this.selectedFromYear.YearText) + i).toString() + \",\";\r\n //}\r\n for (let i = this.selectedFromYear.id; i >= this.selectedToYear.id; i--)\r\n {\r\n let assessmentPeriod1 = this.ToYearList.find((x) => x.id == i);\r\n this.Years = this.Years + assessmentPeriod1.value + \",\";\r\n }\r\n this.Years = this.Years.replace(/,\\s*$/, \"\");\r\n await this.DashboardIRRiskMeterDetails();\r\n await this.DashboardCERiskMeterDetails();\r\n await this.getResidualRiskScoreDetails();\r\n await this.getIRChartDetails();\r\n await this.getCEChartDetails();\r\n if (this.selectedFromYear.value == this.selectedToYear.value) {\r\n await this.dashboardtable();\r\n if (this.BusinessUnitsId == 0) {\r\n this.headerName = 'Overall Rating';\r\n }\r\n else {\r\n this.headerName = this.selectedBU.buname;\r\n }\r\n //this.scoreCardTable();\r\n }\r\n //this.saveChartSVG(this.canvas.nativeElement.src,\"IR\");\r\n //this.saveChartSVG(this.canvas.nativeElement.src,\"CE\");\r\n this.Years = \"\";\r\n // HC_exporting(Highcharts);\r\n }\r\n }\r\n }\r\n\r\n getBUList() {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${\r\n this.api.entityBusinessUnits.getAllEntityBusinessUnits\r\n }?entityDetailsId=${this.id}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.bulist = response;\r\n this.bulist = this.bulist.filter(\r\n x => x.isActive == true\r\n );\r\n this.bulist.push({\r\n buname: \"All\",\r\n businessUnitId: 0\r\n });\r\n this.bulist = this.bulist.sort(function (a, b) {\r\n return a.businessUnitId - b.businessUnitId;\r\n });\r\n });\r\n }\r\n detailedReport() {\r\n\r\n //let count = parseInt(this.selectedToYear.YearText) - parseInt(this.selectedFromYear.YearText);\r\n //for (let i = 0; i <= count; i++) {\r\n // this.Years = this.Years + (parseInt(this.selectedFromYear.YearText) + i).toString() + \",\";\r\n //}\r\n\r\n for (let i = this.selectedFromYear.id; i >= this.selectedToYear.id; i--) {\r\n let assessmentPeriod1 = this.ToYearList.find((x) => x.id == i);\r\n this.Years = this.Years + assessmentPeriod1.value + \",\";\r\n }\r\n this.Years = this.Years.replace(/,\\s*$/, \"\");\r\n\r\n var obj = {\r\n id: this.id,\r\n BusinessUnitsId: this.selectedBU != null ? this.selectedBU.businessUnitId : 0,\r\n Years: this.Years,\r\n RiskCategory: \"IR\"\r\n };\r\n localStorage.setItem('setdetailedreport', JSON.stringify(obj));\r\n this.route.navigate([\"/business/detailedreport\"]);\r\n }\r\n compositionreport() {\r\n //let count = parseInt(this.selectedToYear.YearText) - parseInt(this.selectedFromYear.YearText);\r\n //for (let i = 0; i <= count; i++) {\r\n // this.Years = this.Years + (parseInt(this.selectedFromYear.YearText) + i).toString() + \",\";\r\n //}\r\n for (let i = this.selectedFromYear.id; i >= this.selectedToYear.id; i--) {\r\n let assessmentPeriod1 = this.ToYearList.find((x) => x.id == i);\r\n this.Years = this.Years + assessmentPeriod1.value + \",\";\r\n }\r\n this.Years = this.Years.replace(/,\\s*$/, \"\");\r\n\r\n var obj = {\r\n id: this.id,\r\n BusinessUnitsId: this.selectedBU != null ? this.selectedBU.businessUnitId : 0,\r\n Years: this.Years,\r\n RiskCategory: \"IR\"\r\n };\r\n localStorage.setItem('setcompositionreport', JSON.stringify(obj));\r\n this.route.navigate([\"/business/compositionreport\"]);\r\n }\r\n CEdetailedReport() {\r\n\r\n //let count = parseInt(this.selectedToYear.YearText) - parseInt(this.selectedFromYear.YearText);\r\n //for (let i = 0; i <= count; i++) {\r\n // this.Years = this.Years + (parseInt(this.selectedFromYear.YearText) + i).toString() + \",\";\r\n //}\r\n for (let i = this.selectedFromYear.id; i >= this.selectedToYear.id; i--) {\r\n let assessmentPeriod1 = this.ToYearList.find((x) => x.id == i);\r\n this.Years = this.Years + assessmentPeriod1.value + \",\";\r\n }\r\n this.Years = this.Years.replace(/,\\s*$/, \"\");\r\n\r\n var obj = {\r\n id: this.id,\r\n BusinessUnitsId: this.selectedBU != null ? this.selectedBU.businessUnitId : 0,\r\n Years: this.Years,\r\n RiskCategory: \"CE\"\r\n };\r\n localStorage.setItem('setdetailedreport', JSON.stringify(obj));\r\n this.route.navigate([\"/home/detailedreport\"]);\r\n }\r\n CEcompositionreport() {\r\n\r\n //let count = parseInt(this.selectedToYear.YearText) - parseInt(this.selectedFromYear.YearText);\r\n //for (let i = 0; i <= count; i++) {\r\n // this.Years = this.Years + (parseInt(this.selectedFromYear.YearText) + i).toString() + \",\";\r\n //}\r\n for (let i = this.selectedFromYear.id; i >= this.selectedToYear.id; i--) {\r\n let assessmentPeriod1 = this.ToYearList.find((x) => x.id == i);\r\n this.Years = this.Years + assessmentPeriod1.value + \",\";\r\n }\r\n this.Years = this.Years.replace(/,\\s*$/, \"\");\r\n\r\n var obj = {\r\n id: this.id,\r\n BusinessUnitsId: this.selectedBU != null ? this.selectedBU.businessUnitId : 0,\r\n Years: this.Years,\r\n RiskCategory: \"CE\"\r\n };\r\n localStorage.setItem('setcompositionreport', JSON.stringify(obj));\r\n this.route.navigate([\"/home/compositionreport\"]);\r\n }\r\n ToFromYearDropDown() {\r\n \r\n //let year = new Date().getFullYear();\r\n //for (let i = 0; i < 5; i++) {\r\n // let date = (year - i).toString();\r\n\r\n // if (parseInt(date) >= 2020)\r\n // {\r\n // this.ToYearList.push({\r\n // YearText: date,\r\n // });\r\n // this.FromYearList.push({\r\n // YearText: date,\r\n // });\r\n // }\r\n //}\r\n return new Promise((resolve, reject) => {\r\n //this.entityDetailsId = 20196;\r\n this.httpGenericService\r\n .fetchAll(`${this.api.BusinessUnits.getAssessmentCycles}?entityDetailsID=${this.id}`)\r\n\r\n .pipe(first())\r\n .subscribe((res) => {\r\n this.ToYearList = res[\"Result\"];\r\n this.FromYearList = res[\"Result\"];\r\n\r\n //this.selectedAssessmentCycle = this.assessmentCycles[0];\r\n //this.assessmentCycles = this.selectedAssessmentCycle;\r\n resolve(true)\r\n });\r\n });\r\n }\r\n\r\n dashboardtable() {\r\n setTimeout(async () => {\r\n //return new Promise((resolve, reject) => {\r\n html2canvas(this.screen.nativeElement).then(canvas => {\r\n this.htmldata = this.canvas.nativeElement.src = canvas.toDataURL();\r\n this.downloadLink.nativeElement.href = canvas.toDataURL('image/png');\r\n //this.downloadLink.nativeElement.download = 'dashboardchart.png';\r\n //this.downloadLink.nativeElement.click();\r\n this.saveChartSVG(this.htmldata, \"IR\", false);\r\n this.saveChartSVG(this.htmldata, \"CE\", false);\r\n });\r\n\r\n html2canvas(this.scorecard.nativeElement).then(canvas => {\r\n this.htmldatascorecard = this.canvas.nativeElement.src = canvas.toDataURL();\r\n this.downloadLink.nativeElement.href = canvas.toDataURL('image/png');\r\n //this.downloadLink.nativeElement.download = 'dashboardchart.png';\r\n //this.downloadLink.nativeElement.click();\r\n this.saveChartSVG(this.htmldatascorecard, \"ScoreCard\", false);\r\n //this.saveChartSVG(this.canvas.nativeElement.src, \"CE\");\r\n });\r\n\r\n html2canvas(this.buscorecardIR.nativeElement).then(canvas => {\r\n this.htmldatascorecard = this.canvas.nativeElement.src = canvas.toDataURL();\r\n this.downloadLink.nativeElement.href = canvas.toDataURL('image/png');\r\n //this.downloadLink.nativeElement.download = 'dashboardchartIR.png';\r\n //this.downladLink.nativeElement.click();\r\n //this.saveChartSVG(this.htmldatascorecard, \"buScoreCard\");\r\n if (this.BusinessUnitsId == 0) {\r\n this.saveChartSVG(this.canvas.nativeElement.src, \"OverallIR\", false);\r\n }\r\n else {\r\n this.saveChartSVG(this.canvas.nativeElement.src, \"BUIR\", false);\r\n }\r\n });\r\n\r\n html2canvas(this.buscorecardCE.nativeElement).then(canvas => {\r\n this.htmldatascorecard = this.canvas.nativeElement.src = canvas.toDataURL();\r\n this.downloadLink.nativeElement.href = canvas.toDataURL('image/png');\r\n //this.downloadLink.nativeElement.download = 'dashboardchartCE.png';\r\n //this.downloadLink.nativeElement.click();\r\n //this.saveChartSVG(this.htmldatascorecard, \"buScoreCard\");\r\n if (this.BusinessUnitsId == 0) {\r\n this.saveChartSVG(this.canvas.nativeElement.src, \"OverallCE\", false);\r\n }\r\n else {\r\n this.saveChartSVG(this.canvas.nativeElement.src, \"BUCE\", true);\r\n }\r\n });\r\n },800);\r\n // resolve(true)\r\n // });\r\n }\r\n\r\n \r\n\r\n Generatereport() {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.reportTemplates.IsDashboardGenerated}?EntityId=${this.id}&assessmentCycle=${this.cycle}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res;\r\n if (response.StatusCode === 200) {\r\n this.reportmodel = true;\r\n }\r\n else {\r\n swal({\r\n icon: \"warning\",\r\n text: response.Message,\r\n });\r\n }\r\n });\r\n \r\n }\r\n\r\n Generatedocorpdfreport(data: boolean) {\r\n \r\n let fileextension = data == true ? \".docx\" : \".pdf\";\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.reportTemplates.generateReport}?EntityId=${this.id}&assessmentCycle=${this.cycle}&reportGeneratedBy=${this.userId}&fileExtension=${fileextension}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res;\r\n if (response.StatusCode === 200 && response.Result !== \"ERROR\") {\r\n if (data == true) {\r\n this.downloadfile.downloadDocument(\r\n response.Result.filePathDOCX,\r\n response.Result.fileNameDOCX\r\n );\r\n } else {\r\n this.downloadfile.downloadDocument(\r\n response.Result.filePathPDF,\r\n response.Result.fileNamePDF\r\n );\r\n }\r\n this.reportmodel = false;\r\n } else {\r\n swal({\r\n icon: \"error\",\r\n text: \"Error occured while downloading\",\r\n });\r\n }\r\n });\r\n }\r\n\r\n GetTrendAnalysis() {\r\n //let fromYear = parseInt(this.selectedFromYear.id);\r\n //let toYear = parseInt(this.selectedToYear.id);\r\n //if (fromYear != toYear) {\r\n // //this.showTrendAnalysis = true;\r\n //}\r\n // if (this.enableSearch && this.showTrendAnalysis) {\r\n if (this.enableSearch) {\r\n //let year1 = parseInt(this.taYear1.textYear);\r\n //let year2 = parseInt(this.taYear2.textYear);\r\n let year1 = (this.taYear1temp !== undefined || this.taYear1 !== undefined )? this.taYear1.value : this.taYear1Value ;\r\n let year2 = this.taYear2.value\r\n\r\n this.httpGenericService\r\n .fetchAll(\r\n `${this.api.dashboard.GetDashboardTrendAnalysis}?entityDetailsId=${this.id}&businessUnitId=${this.BusinessUnitsId}&year1=${year1}&year2=${year2}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res;\r\n if (response.StatusCode === 200) {\r\n this.trendAnalysisResult = response[\"Result\"];\r\n /*this.trendAnalysisResult.ForEach(item => {\r\n item.riskCategory == 1 ? item.riskCategory = \"INHERENT RISK\" :\r\n item.riskCategory == 2 ? item.riskCategory = \"CONTROLS\" : item.riskCategory == 3 ? item.riskCategory = \"RESIDUAL RISK\" : item.riskCategory = item.riskCategory;\r\n });*/\r\n\r\n }\r\n else {\r\n swal({\r\n icon: \"warning\",\r\n text: \"Failed to get the trend analysis for the selected years\",\r\n });\r\n }\r\n });\r\n }\r\n \r\n }\r\n\r\n CheckYears() {\r\n this.trendAnalysisResult = null;\r\n let year1Id = parseInt(this.taYear1.id);\r\n let year2Id= parseInt(this.taYear2.id);\r\n if (year1Id == year2Id) {\r\n this.enableSearch = false;\r\n swal({\r\n icon: \"warning\",\r\n text: \"The from and to year cannot be the same\",\r\n });\r\n }\r\n else if (year1Id < year2Id) {\r\n this.enableSearch = false;\r\n swal({\r\n icon: \"warning\",\r\n text: \"The from year cannot be greater than to year\",\r\n });\r\n }\r\n else\r\n this.enableSearch = true;\r\n\r\n }\r\n\r\n \r\n}\r\n","const Dashboard = {\r\n text: \"Dashboard\",\r\n link: \"/home\",\r\n icon: \"icon-grid\",\r\n isAdmin: false,\r\n};\r\n\r\nconst Assessment = {\r\n text: \"Assessment\",\r\n link: '/entity/assessmentreview',\r\n icon: 'icon-speech',\r\n isAdmin: false,\r\n};\r\n\r\nconst Weightages = {\r\n text: \"Weightages\",\r\n link: '/entity/assignweightage',\r\n icon: 'icon-calculator',\r\n isAdmin: false,\r\n};\r\n\r\nconst Mapquestionnaire = {\r\n text: \"Map Questionnaire\",\r\n link: '/entity/mapquestionnaire',\r\n icon: 'icon-calculator',\r\n isAdmin: false,\r\n};\r\n\r\nconst BusinessUnits = {\r\n text: \"Assessment Status\",\r\n link: '/business',\r\n icon: 'icon-layers',\r\n isAdmin: false,\r\n};\r\n\r\nconst RemedialMeasure = {\r\n text: \"Remedial Measure\",\r\n link: '/remedial',\r\n icon: 'icon-grid',\r\n isAdmin: false,\r\n};\r\n\r\nconst UserManagement = {\r\n text: \"User Management\",\r\n link: \"/users\",\r\n icon: \"icon-people\",\r\n isAdmin: false,\r\n};\r\n\r\nconst EntityManagement = {\r\n text: \"Entity Management\",\r\n link: '/entity',\r\n icon: 'icon-support',\r\n isAdmin: false,\r\n};\r\n\r\nconst Emailtemplates = {\r\n text: \"Email Templates\",\r\n link: '/email',\r\n icon: 'icon-envelope',\r\n isAdmin: false,\r\n};\r\n\r\nconst Reporttemplates = {\r\n text: \"Report Templates\",\r\n link: '/report',\r\n icon: 'icon-notebook',\r\n isAdmin: false,\r\n};\r\n\r\nconst RolesPermission = {\r\n text: \"Role Management\",\r\n link: \"/RolesPermission\",\r\n icon: \"icon-briefcase\",\r\n isAdmin: false,\r\n};\r\n\r\nconst PermissionManagement = {\r\n text: \"Access Permission\",\r\n link: \"/Permission\",\r\n icon: \"icon-user-follow\",\r\n isAdmin: true,\r\n};\r\n\r\nconst AuditReport = {\r\n text: \"Audit Report\",\r\n link: \"/audit\",\r\n icon: \"icon-note\",\r\n isAdmin: false,\r\n};\r\n\r\nconst RegulatoryGuidelines = {\r\n text: \"Regulatory Guidelines\",\r\n link: \"/regulatory-guideline\",\r\n icon: \"icon-list\",\r\n isAdmin: false,\r\n};\r\n\r\nconst ClientMangement = {\r\n text: \"Client Management\",\r\n link: \"/client\",\r\n icon: \"icon-calendar\",\r\n isAdmin: false,\r\n submenu: [\r\n {\r\n text: 'Dashbord v1',\r\n link: '/dashboard/v1'\r\n },\r\n {\r\n text: 'Dashbord v2',\r\n link: '/dashboard/v2'\r\n },\r\n {\r\n text: 'Dashbord v3',\r\n link: '/dashboard/v3'\r\n }\r\n ]\r\n};\r\n\r\nconst TaskManagement = {\r\n text: \"Task Management\",\r\n link: \"/task\",\r\n icon: \"icon-list\",\r\n isAdmin: false,\r\n};\r\n\r\nconst Masters = {\r\n text: \"Masters\",\r\n link: \"/masters\",\r\n icon: \"icon-user-following\",\r\n isAdmin: false,\r\n};\r\n\r\nconst Settings = {\r\n text: \"Settings\",\r\n link: \"/Settings\",\r\n icon: \"icon-settings\",\r\n isAdmin: false,\r\n isClient: false,\r\n};\r\n\r\nexport const Admin = [\r\n //Dashboard,\r\n UserManagement,\r\n RolesPermission,\r\n PermissionManagement,\r\n EntityManagement,\r\n BusinessUnits,\r\n Weightages,\r\n Assessment,\r\n Emailtemplates,\r\n Reporttemplates,\r\n AuditReport,\r\n RegulatoryGuidelines,\r\n Mapquestionnaire \r\n //RemedialMeasure\r\n];\r\n\r\n/*export const Admin = [\r\n {\r\n text: 'Dashboard',\r\n link: '/home',\r\n icon: 'icon-grid',\r\n isAdmin: false,\r\n },\r\n {\r\n text: \"User Management\",\r\n link: \"/users\",\r\n icon: \"icon-people\",\r\n isAdmin: true,\r\n },\r\n {\r\n text: \"Roles Management\",\r\n link: \"/RolesPermission\",\r\n icon: \"icon-user-follow\",\r\n isAdmin: true,\r\n },\r\n {\r\n text: \"Permissions\",\r\n link: \"/Permission\",\r\n icon: \"icon-user-follow\",\r\n isAdmin: true,\r\n },\r\n {\r\n text: \"Masters\",\r\n link: \"/masters\",\r\n icon: \"icon-user-following\",\r\n isAdmin: true,\r\n },\r\n {\r\n text: 'Settings',\r\n link: '/Settings',\r\n icon: 'icon-settings',\r\n isAdmin: true,\r\n }\r\n];*/\r\n\r\nexport const menu = [\r\n // Dashboard,\r\n TaskManagement,\r\n ClientMangement,\r\n //UserManagement,\r\n //RolesPermission,\r\n //PermissionManagement,\r\n //Masters,\r\n //Settings,\r\n // Admin\r\n];\r\n\r\nexport const Manager = [\r\n Dashboard,\r\n Assessment,\r\n Weightages,\r\n BusinessUnits,\r\n RemedialMeasure\r\n];\r\n\r\nexport const Analyst = [\r\n Dashboard,\r\n Assessment,\r\n Weightages,\r\n UserManagement,\r\n RemedialMeasure\r\n];\r\n","export default \"@charset \\\"UTF-8\\\";\\n.form-control {\\n display: block;\\n width: 100%;\\n height: 2.1875rem;\\n padding: 0.375rem 1rem;\\n font-size: 14px;\\n font-weight: 400;\\n line-height: 1.528571429;\\n color: black;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid grey;\\n border-radius: 0.25rem;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n}\\n.bluebtn {\\n width: 30% !important;\\n}\\n.margin {\\n margin-right: 32% !important;\\n}\\n.margintop {\\n margin-top: 17% !important;\\n}\\n@media screen and (max-width: 425px) {\\n .margintop {\\n margin-top: 1.8rem !important;\\n }\\n}\\n* {\\n box-sizing: border-box;\\n}\\n.fa-search {\\n content: \\\"\\\";\\n color: grey;\\n font-size: 13px;\\n}\\n/* Style the search field */\\nform.example input[type=text] {\\n padding: 10px;\\n font-size: 14px;\\n float: left;\\n width: 80%;\\n background: white;\\n border-left: none;\\n border-top-left-radius: 0rem;\\n border-bottom-left-radius: 0rem;\\n border-top-right-radius: 0.25rem;\\n border-bottom-right-radius: 0.25rem;\\n}\\n/* Style the submit button */\\nform.example button {\\n height: 2.1875rem;\\n float: left;\\n width: 10%;\\n padding: 10px;\\n background: white;\\n color: black;\\n font-size: 6px;\\n border-right: none;\\n /* Prevent double borders */\\n border-left: 1px solid #dde6e9;\\n border-top: 1px solid #dde6e9;\\n border-bottom: 1px solid #dde6e9;\\n border-bottom-left-radius: 0.25rem;\\n border-top-left-radius: 0.25rem;\\n border-top-right-radius: 0rem;\\n border-bottom-right-radius: 0rem;\\n}\\n.text-sm {\\n font-size: 15px;\\n}\\n/* Clear floats */\\nform.example::after {\\n content: \\\"\\\";\\n clear: both;\\n display: table;\\n}\\n/* The switch - the box around the slider */\\n.switch {\\n position: relative;\\n display: inline-block;\\n width: 60px;\\n height: 34px;\\n}\\n/* Hide default HTML checkbox */\\n.switch input {\\n opacity: 0;\\n width: 0;\\n height: 0;\\n}\\n/* The slider */\\n.slider {\\n position: absolute;\\n cursor: pointer;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background-color: #ccc;\\n transition: 0.4s;\\n}\\ninput:checked + .slider {\\n background-color: yellowgreen;\\n border: none;\\n}\\ninput:focus + .slider {\\n box-shadow: 0 0 1px yellowgreen;\\n}\\ninput:checked + .slider:before {\\n transform: translateX(26px);\\n}\\n/* Rounded sliders */\\n.slider.round {\\n border-radius: 34px;\\n}\\n.slider.round:before {\\n border-radius: 50%;\\n}\\n.card-header:first-child, .panel-heading:first-child {\\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\\n padding: 18px;\\n font-size: 1.2rem;\\n}\\n.adjustwidth {\\n padding-right: 71px;\\n width: -webkit-fill-available;\\n}\\n.Button {\\n background-color: black;\\n color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy91c2VyLW1hbmFnZW1lbnQvY29tcG9uZW50cy9hZGQtdXNlci9hZGQtdXNlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbW9kdWxlcy91c2VyLW1hbmFnZW1lbnQvY29tcG9uZW50cy9hZGQtdXNlci9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcbW9kdWxlc1xcdXNlci1tYW5hZ2VtZW50XFxjb21wb25lbnRzXFxhZGQtdXNlclxcYWRkLXVzZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esd0JBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7RUFDQSw0QkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7RUFDQSx3RUFBQTtBREVGO0FDQ0E7RUFDRSxxQkFBQTtBREVGO0FDQ0E7RUFDSSw0QkFBQTtBREVKO0FDQ0E7RUFDQSwwQkFBQTtBREVBO0FDQ0E7RUFDRTtJQUNFLDZCQUFBO0VERUY7QUFDRjtBQ0VBO0VBQ0ksc0JBQUE7QURBSjtBQ0VFO0VBQ0UsWUFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0FEQ0o7QUNHRSwyQkFBQTtBQUNBO0VBQ0UsYUFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSw0QkFBQTtFQUNBLCtCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxtQ0FBQTtBREFKO0FDSUUsNEJBQUE7QUFDQTtFQUNFLGlCQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQW9CLDJCQUFBO0VBQ3BCLDhCQUFBO0VBQ0EsNkJBQUE7RUFDQSxnQ0FBQTtFQUNBLGtDQUFBO0VBQ0EsK0JBQUE7RUFDQSw2QkFBQTtFQUNBLGdDQUFBO0FEQUo7QUNHRTtFQUNFLGVBQUE7QURBSjtBQ0dBLGlCQUFBO0FBQ0E7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QURBRjtBQ0dBLDJDQUFBO0FBQ0E7RUFDRSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QURBRjtBQ0VBLCtCQUFBO0FBQ0E7RUFDRSxVQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7QURDRjtBQ0VBLGVBQUE7QUFDQTtFQUNFLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxzQkFBQTtFQUVBLGdCQUFBO0FEQ0Y7QUNJQTtFQUNFLDZCQUFBO0VBQ0EsWUFBQTtBRERGO0FDSUE7RUFDRSwrQkFBQTtBRERGO0FDSUE7RUFHRSwyQkFBQTtBRERGO0FDR0Esb0JBQUE7QUFDQTtFQUNFLG1CQUFBO0FEQUY7QUNHQTtFQUNFLGtCQUFBO0FEQUY7QUNJQTtFQUNJLDBEQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0FEREo7QUNJQTtFQUNFLG1CQUFBO0VBQ0EsNkJBQUE7QURERjtBQ0lBO0VBQ0UsdUJBQUE7RUFDQSxZQUFBO0FEREYiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL3VzZXItbWFuYWdlbWVudC9jb21wb25lbnRzL2FkZC11c2VyL2FkZC11c2VyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjE4NzVyZW07XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTI4NTcxNDI5O1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGdyZXk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLmJsdWVidG4ge1xuICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4ge1xuICBtYXJnaW4tcmlnaHQ6IDMyJSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2ludG9wIHtcbiAgbWFyZ2luLXRvcDogMTclICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQyNXB4KSB7XG4gIC5tYXJnaW50b3Age1xuICAgIG1hcmdpbi10b3A6IDEuOHJlbSAhaW1wb3J0YW50O1xuICB9XG59XG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmZhLXNlYXJjaCB7XG4gIGNvbnRlbnQ6IFwi74CCXCI7XG4gIGNvbG9yOiBncmV5O1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi8qIFN0eWxlIHRoZSBzZWFyY2ggZmllbGQgKi9cbmZvcm0uZXhhbXBsZSBpbnB1dFt0eXBlPXRleHRdIHtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDgwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi8qIFN0eWxlIHRoZSBzdWJtaXQgYnV0dG9uICovXG5mb3JtLmV4YW1wbGUgYnV0dG9uIHtcbiAgaGVpZ2h0OiAyLjE4NzVyZW07XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDZweDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAvKiBQcmV2ZW50IGRvdWJsZSBib3JkZXJzICovXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZTZlOTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGU2ZTk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRlNmU5O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjI1cmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDByZW07XG59XG5cbi50ZXh0LXNtIHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4vKiBDbGVhciBmbG9hdHMgKi9cbmZvcm0uZXhhbXBsZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi8qIFRoZSBzd2l0Y2ggLSB0aGUgYm94IGFyb3VuZCB0aGUgc2xpZGVyICovXG4uc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDM0cHg7XG59XG5cbi8qIEhpZGUgZGVmYXVsdCBIVE1MIGNoZWNrYm94ICovXG4uc3dpdGNoIGlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbn1cblxuLyogVGhlIHNsaWRlciAqL1xuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcbiAgdHJhbnNpdGlvbjogMC40cztcbn1cblxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3dncmVlbjtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5pbnB1dDpmb2N1cyArIC5zbGlkZXIge1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHllbGxvd2dyZWVuO1xufVxuXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlcjpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNnB4KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNnB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xufVxuXG4vKiBSb3VuZGVkIHNsaWRlcnMgKi9cbi5zbGlkZXIucm91bmQge1xuICBib3JkZXItcmFkaXVzOiAzNHB4O1xufVxuXG4uc2xpZGVyLnJvdW5kOmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkLCAucGFuZWwtaGVhZGluZzpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMC4yNXJlbSAtIDFweCkgY2FsYygwLjI1cmVtIC0gMXB4KSAwIDA7XG4gIHBhZGRpbmc6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4uYWRqdXN0d2lkdGgge1xuICBwYWRkaW5nLXJpZ2h0OiA3MXB4O1xuICB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbn1cblxuLkJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBjb2xvcjogd2hpdGU7XG59IiwiLmZvcm0tY29udHJvbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAyLjE4NzVyZW07XHJcbiAgcGFkZGluZzogMC4zNzVyZW0gMXJlbTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMS41Mjg1NzE0Mjk7XHJcbiAgY29sb3I6YmxhY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIGdyZXk7XHJcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcclxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuXHJcbi5ibHVlYnRue1xyXG4gIHdpZHRoOiAzMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hcmdpbntcclxuICAgIG1hcmdpbi1yaWdodDogMzIlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXJnaW50b3B7XHJcbm1hcmdpbi10b3A6IDE3JSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQyNXB4KXtcclxuICAubWFyZ2ludG9we1xyXG4gICAgbWFyZ2luLXRvcDogMS44cmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4qIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG4gIC5mYS1zZWFyY2gge1xyXG4gICAgY29udGVudDogXCJcXGYwMDJcIjtcclxuICAgIGNvbG9yOiBncmV5O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG5cclxuICAvKiBTdHlsZSB0aGUgc2VhcmNoIGZpZWxkICovXHJcbiAgZm9ybS5leGFtcGxlIGlucHV0W3R5cGU9dGV4dF0ge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICAgIGJhY2tncm91bmQ6d2hpdGU7XHJcbiAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDByZW07XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcmVtO1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjVyZW07XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yNXJlbTtcclxuXHJcbiAgfVxyXG4gIFxyXG4gIC8qIFN0eWxlIHRoZSBzdWJtaXQgYnV0dG9uICovXHJcbiAgZm9ybS5leGFtcGxlIGJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IDIuMTg3NXJlbTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDEwJTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIGNvbG9yOmJsYWNrO1xyXG4gICAgZm9udC1zaXplOiA2cHg7XHJcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7IC8qIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgKi9cclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZTZlOTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRlNmU5O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGU2ZTk7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjAuMjVyZW0gO1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czowLjI1cmVtIDtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcmVtO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDByZW07XHJcbiAgfVxyXG4gIFxyXG4gIC50ZXh0LXNtIHtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxufVxyXG5cclxuLyogQ2xlYXIgZmxvYXRzICovXHJcbmZvcm0uZXhhbXBsZTo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbn1cclxuXHJcbi8qIFRoZSBzd2l0Y2ggLSB0aGUgYm94IGFyb3VuZCB0aGUgc2xpZGVyICovXHJcbi5zd2l0Y2gge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbiAgaGVpZ2h0OiAzNHB4O1xyXG59XHJcbi8qIEhpZGUgZGVmYXVsdCBIVE1MIGNoZWNrYm94ICovXHJcbi5zd2l0Y2ggaW5wdXQge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKiBUaGUgc2xpZGVyICovXHJcbi5zbGlkZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XHJcbiAgdHJhbnNpdGlvbjogLjRzO1xyXG59XHJcblxyXG5cclxuXHJcbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOnllbGxvd2dyZWVuO1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuaW5wdXQ6Zm9jdXMgKyAuc2xpZGVyIHtcclxuICBib3gtc2hhZG93OiAwIDAgMXB4IHllbGxvd2dyZWVuO1xyXG59XHJcblxyXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlcjpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjZweCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xyXG59XHJcbi8qIFJvdW5kZWQgc2xpZGVycyAqL1xyXG4uc2xpZGVyLnJvdW5kIHtcclxuICBib3JkZXItcmFkaXVzOiAzNHB4O1xyXG59XHJcblxyXG4uc2xpZGVyLnJvdW5kOmJlZm9yZSB7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG5cclxuLmNhcmQtaGVhZGVyOmZpcnN0LWNoaWxkLCAucGFuZWwtaGVhZGluZzpmaXJzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDAuMjVyZW0gLSAxcHgpIGNhbGMoMC4yNXJlbSAtIDFweCkgMCAwO1xyXG4gICAgcGFkZGluZzogMThweDtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG59XHJcblxyXG4uYWRqdXN0d2lkdGh7XHJcbiAgcGFkZGluZy1yaWdodDogNzFweDtcclxuICB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcclxufVxyXG5cclxuLkJ1dHRvbntcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgXHJcbiAgY29sb3I6d2hpdGU7XHJcbiAgXHJcbn0iXX0= */\";","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { CustomValidators } from 'ng2-validation';\r\nimport { HttpCancelService } from 'src/app/core/services/http-cancel.service';\r\nimport { UserManagementService } from '../../services/user-management.service';\r\nimport { ValidationMessage, Pattern } from 'src/app/shared/constants/validations.constants';\r\nimport { Designations } from '../../../../shared/constants/globle.constants';\r\nimport { API } from '../../../../shared/constants/api.constants';\r\nimport { DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\r\nimport { HttpGenericService } from '../../../../core/services/http-genric.service';\r\nimport { CredentialsService } from '../../../../core/services/credentials.service';\r\nimport { CommonserviceService } from 'src/app/shared/commonservices/commonservice.service';\r\nconst swal = require('sweetalert');\r\n\r\n@Component({\r\n\tselector: 'app-add-user',\r\n\ttemplateUrl: './add-user.component.html',\r\n\tstyleUrls: ['./add-user.component.scss']\r\n})\r\n\r\nexport class AddUserComponent implements OnInit {\r\n\tvalForm = new FormGroup({\r\n\t\temail: new FormControl(),\r\n\t\tname: new FormControl(),\r\n\t\tdesignation: new FormControl(),\r\n\t\trole: new FormControl(),\r\n\t\tisAdmin: new FormControl(),\r\n\t});\r\n\tdesginationlist: any[] = [];\r\n\troleList: any[] = [{ label: 'Select Role', value: '' }];\r\n\tRole: [];\r\n\tactive = false;\r\n\trequired = ValidationMessage.required;\r\n\tvalidemail = ValidationMessage.valid_email;\r\n\tnoWhiteSpace = ValidationMessage.noWhiteSpace;\r\n\tdesignations = Designations;\r\n\tapi = API;\r\n\tuserData: any;\r\n\tisEdit: boolean = false;\r\n\tpattern = Pattern;\r\n\tvalidationMessage = ValidationMessage;\r\n\treadOnly: boolean = false;\r\n\r\n\r\n\tconstructor(\r\n\t\tfb: FormBuilder,\r\n\t\tpublic userManagementService: UserManagementService,\r\n\t\tprivate httpCancelService: HttpCancelService,\r\n\t\tprivate httpGenericService: HttpGenericService,\r\n\t\tpublic ref: DynamicDialogRef,\r\n\t\tpublic config: DynamicDialogConfig,\r\n\t\tprivate credentialsService: CredentialsService,\r\n\t\tprivate commonserviceService: CommonserviceService\r\n\t) {\r\n\t\tthis.valForm = fb.group({\r\n\t\t\temail: new FormControl('', Validators.compose([Validators.required, CustomValidators.email, this.commonserviceService.noWhitespaceValidator])),\r\n\t\t\tname: new FormControl('', Validators.compose([Validators.required, Validators.pattern(this.pattern.name), this.commonserviceService.noWhitespaceValidator])),\r\n\t\t\tdesignation: new FormControl('', Validators.required),\r\n\t\t\trole: new FormControl('', Validators.required),\r\n\t\t\tisAdmin: new FormControl(false, Validators.required),\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.userData = this.credentialsService.credentials;\r\n\t\tthis.roleList = this.userManagementService.getRoleList();\r\n\t\tthis.desginationlist = this.userManagementService.getDesignationList();\r\n\t\tif (this.config.data.user != null) {\r\n\t\t\tthis.valForm.controls.email.setValue(this.config.data.user.userName);\r\n\t\t\tthis.valForm.controls.name.setValue(this.config.data.user.fullName);\r\n\t\t\tthis.valForm.controls.isAdmin.setValue(this.config.data.user.isAdmin);\r\n\t\t\tthis.active = this.config.data.user.isAdmin;\r\n\t\t\tlet designation: any = this.desginationlist.filter(x => x.value == this.config.data.user.designationId);\r\n\t\t\tlet role: any = this.roleList.filter(x => x.value === this.config.data.user.roleId);\r\n\t\t\tthis.valForm.controls.designation.setValue(designation[0]);\r\n\t\t\tthis.valForm.controls.role.setValue(role[0]);\r\n\t\t\tif (this.config.data.readonly == true) {\r\n\t\t\t\tthis.readOnly = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.isEdit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy = () => {\r\n\t\tthis.httpCancelService.cancelPendingRequests();\r\n\t}\r\n\r\n\ttoggleSlider() {\r\n\t\tthis.active = !this.active;\r\n\t\tif (this.active) {\r\n\t\t\tthis.valForm.controls.isAdmin.setValue(true);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.valForm.controls.isAdmin.setValue(false);\r\n\r\n\t}\r\n\r\n\tsubmitForm($ev: Event, value: any) {\r\n\t\t$ev.preventDefault();\r\n\t\tfor (const c in this.valForm.controls) {\r\n\t\t\tthis.valForm.controls[c].markAsTouched();\r\n\t\t}\r\n\t\tif (this.valForm.valid) {\r\n\t\t\tif (this.isEdit) {\r\n\t\t\t\tthis.onEdit(value);\r\n\t\t\t} else {\r\n\t\t\t\tthis.addUserAPICall(value);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\taddUserAPICall = (user) => {\r\n\t\tlet userData = {\r\n\t\t\t\"fullName\": user.name.toString().trim(),\r\n\t\t\t\"email\": user.email.toString().trim(),\r\n\t\t\t\"userName\": user.email.trim(),\r\n\t\t\t\"isAdmin\": user.isAdmin,\r\n\t\t\t\"isActive\": true,\r\n\t\t\t\"createdBy\": this.userData.userId,\r\n\t\t\t\"designationId\": user.designation.value,\r\n\t\t\t\"roleId\": user.role.value,\r\n\t\t};\r\n\t\tthis.httpGenericService.postData(this.api.userManagement.addUser, userData).subscribe(res => {\r\n\t\t\tlet response: any = res;\r\n\t\t\tif (response.StatusCode === 200 && response.Result === 'SUCCESS') {\r\n\t\t\t\tswal(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ticon: 'success',\r\n\t\t\t\t\t\ttext: response.Message\r\n\t\t\t\t\t});\r\n\t\t\t\tthis.ref.close(response.Result);\r\n\t\t\t}\r\n\t\t\telse if (response.StatusCode === 500 && response.Result === 'DUPLICATE') {\r\n\t\t\t\tswal(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ticon: 'warning',\r\n\t\t\t\t\t\ttext: response.Message\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tswal(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ticon: 'error',\r\n\t\t\t\t\t\ttext: response.Message\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tonEdit(user) {\r\n\t\tlet editUserDetails = {\r\n\t\t\t\"userId\": this.config.data.user.userId,\r\n\t\t\t\"fullName\": user.name.toString().trim(),\r\n\t\t\t\"email\": user.email.toString().trim(),\r\n\t\t\t\"userName\": user.email.toString().trim(),\r\n\t\t\t\"isAdmin\": user.isAdmin,\r\n\t\t\t\"isActive\": this.config.data.user.isActive,\r\n\t\t\t\"modifiedBy\": this.userData.userId,\r\n\t\t\t\"designationId\": user.designation.value,\r\n\t\t\t\"roleId\": user.role.value,\r\n\t\t};\r\n\t\tthis.httpGenericService.postData(this.api.userManagement.editUser, editUserDetails).subscribe(res => {\r\n\t\t\tlet response: any = res;\r\n\t\t\tif (response.StatusCode === 200 && response.Result === 'SUCCESS') {\r\n\t\t\t\tswal(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ticon: 'success',\r\n\t\t\t\t\t\ttext: response.Message\r\n\t\t\t\t\t});\r\n\t\t\t\tthis.ref.close(response.Result);\r\n\t\t\t}\r\n\t\t\telse if (response.StatusCode === 500 && response.Result === 'DUPLICATE') {\r\n\t\t\t\tswal(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ticon: 'warning',\r\n\t\t\t\t\t\ttext: response.Message\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tswal(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ticon: 'error',\r\n\t\t\t\t\t\ttext: response.Message\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tprevent(event: Event, type: number) {\r\n\t\tif (type == 1) {\r\n\t\t\tif (this.valForm.value.name == \"\") {\r\n\t\t\t\tthis.commonserviceService.preventSpace(event);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (type == 2) {\r\n\t\t\tthis.commonserviceService.preventSpace(event);\r\n\t\t}\r\n\t}\r\n}\r\n","import { MUserListGrid, MUserGrid } from 'src/app/shared/models/MUserGrid';\r\nimport { MUsers, MUser } from '../../../shared/models/MUser';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { MAddUser, AddUser, MRole, MDesignation, MRoleList } from 'src/app/shared/models/MAddUser';\r\n\r\nimport * as _ from 'lodash';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserManagementService {\r\n\r\n\r\n\r\n roleList: any[] = [];\r\n roleIdList: any[] = [];\r\n designationList: any[] = [];\r\n addEntity: any[] = [];\r\n permissionMode: any;\r\n\r\n constructor(private injector: Injector) {\r\n }\r\n\r\n getMappedUserGridModel = (user: MUser[]) => {\r\n return this.mapUserGridViewModel([...user]);\r\n }\r\n\r\n mappedToUserModel = (userGrid: MUserGrid) => {\r\n return this.mapUserGridTOUserModel({ ...userGrid });\r\n }\r\n\r\n isArrayType = (val) => {\r\n return Array.isArray(val) ? true : false;\r\n }\r\n isObjectType = (val) => {\r\n return typeof (val) == 'object' ? true : false;\r\n }\r\n\r\n setRoleList(roleArray: any[]) {\r\n this.roleList = roleArray;\r\n }\r\n getRoleList() {\r\n return this.roleList;\r\n }\r\n setRoleIdList(roleIdArray: any[]) {\r\n this.roleIdList = roleIdArray;\r\n }\r\n getRoleIdList() {\r\n return this.roleIdList;\r\n }\r\n setDesignationList(designationArray: any[]) {\r\n this.designationList = designationArray;\r\n }\r\n getDesignationList() {\r\n return this.designationList;\r\n }\r\n setAddorEditEntity(entityArray: any[]) {\r\n this.addEntity = entityArray;\r\n }\r\n getAddorEditEntity() {\r\n return this.addEntity;\r\n }\r\n mapUserGridViewModel = (user: MUser[]) => {\r\n const userGridModelCollection: MUserGrid[] = [];\r\n user.map((user) => {\r\n let userGridModel: MUserGrid;\r\n userGridModel = { ..._.assignWith({ ...userGridModel }, { ...user }) };\r\n userGridModel.designation = { label: user.designation.designationName, value: user.designation.designationId };\r\n userGridModel.role = { label: user.role.roleName, value: user.role.roleId };\r\n userGridModelCollection.push(userGridModel);\r\n });\r\n return userGridModelCollection;\r\n }\r\n\r\n mapUserGridTOUserModel = (userGrid: MUserGrid) => {\r\n let userModel: MUser;\r\n userModel = { ..._.assignWith({ ...userModel }, { ...userGrid }) };\r\n userModel.designation = { designationName: userGrid.designation.value, designationId: userGrid.designation.value };\r\n userModel.role = { roleName: userGrid.role.label, roleId: userGrid.role.value };\r\n return userModel;\r\n }\r\n\r\n setPermissionMode(mode: any) {\r\n this.permissionMode = mode;\r\n }\r\n\r\n getPermissionMode() {\r\n return this.permissionMode;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslatorService } from './core/translator/translator.service';\r\nimport { MenuService } from './core/services/menu.service';\r\nimport { SharedModule } from './shared/shared.module';\r\n\r\nimport { menu } from './modules/menu';\r\nimport { routes } from './routes';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n CommonModule,\r\n RouterModule.forRoot(routes, { useHash: true })\r\n ],\r\n declarations: [],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class RoutesModule {\r\n constructor(public menuService: MenuService, tr: TranslatorService) {\r\n menuService.addMenu(menu);\r\n }\r\n}\r\n","import { LayoutComponent } from './layout/layout.component';\r\nimport { PartnerGuard } from '../app/core/gaurds/authentication.guard';\r\n\r\nexport const routes = [\r\n\r\n { path: '', redirectTo: 'login', pathMatch: 'full' },\r\n {\r\n path: 'login',\r\n loadChildren: () => import('./modules/authentication/authentication.module')\r\n .then(m => m.AuthenticationModule)\r\n },\r\n\r\n {\r\n path: '',\r\n canActivate: [PartnerGuard], // uncomment when guard get ready(login and authentication)\r\n component: LayoutComponent,\r\n children: [\r\n {\r\n path: 'users',\r\n loadChildren: () => import('./modules/user-management/user-management.module')\r\n .then(m => m.UserManagementModule)\r\n },\r\n {\r\n path: 'login',\r\n loadChildren: () => import('./modules/authentication/authentication.module')\r\n .then(m => m.AuthenticationModule)\r\n },\r\n {\r\n path: 'RolesPermission',\r\n loadChildren: () => import('./modules/role-permission-management/role-permission-management.module')\r\n .then(m => m.RolePermissionManagementModule)\r\n },\r\n {\r\n path: 'Permission',\r\n loadChildren: () => import('./modules/permission-management/permission-management.module')\r\n .then(m => m.PermissionManagementModule)\r\n },\r\n {\r\n path: 'entity',\r\n loadChildren: () => import('./modules/entity-management/entity-management.module')\r\n .then(m => m.EntityManagementModule)\r\n },\r\n\r\n {\r\n path: 'email',\r\n loadChildren: () => import('./modules/Email-Templates/Email-Templates.module')\r\n .then(m => m.EmailTemplatesModule)\r\n },\r\n\r\n {\r\n path: 'report',\r\n loadChildren: () => import('./modules/Report-Templates/Report-Templates.module')\r\n .then(m => m.ReportTemplatesModule)\r\n },\r\n {\r\n path: 'business',\r\n loadChildren: () => import('./modules/BusinessUnits/BusinessUnits.module')\r\n .then(m => m.BusinessUnitsModule)\r\n },\r\n\r\n {\r\n path: 'audit',\r\n loadChildren: () => import('./modules/audit-report/audit-report.module')\r\n .then(m => m.AuditReportModule)\r\n },\r\n\r\n {\r\n path: 'regulatory-guideline',\r\n loadChildren: () => import('./modules/regulatory-guideline/regulatory-guidelines.module')\r\n .then(m => m.RegulatoryGuidelinesModule)\r\n }\r\n\r\n ]\r\n },\r\n];\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class ColorsService {\r\n\r\n\tAPP_COLORS = {\r\n\t\t'primary': '#00ABE7',\r\n\t\t'success': '#27c24c',\r\n\t\t'info': '#23b7e5',\r\n\t\t'warning': '#ff902b',\r\n\t\t'danger': '#f05050',\r\n\t\t'inverse': '#131e26',\r\n\t\t'green': '#31B44A',\r\n\t\t'pink': '#f532e5',\r\n\t\t'purple': '#7266ba',\r\n\t\t'dark': '#3a3f51',\r\n\t\t'yellow': '#fad732',\r\n\t\t'gray-darker': '#232735',\r\n\t\t'gray-dark': '#3a3f51',\r\n\t\t'gray': '#dde6e9',\r\n\t\t'gray-light': '#e4eaec',\r\n\t\t'gray-lighter': '#edf1f2'\r\n\t};\r\n\r\n\tconstructor () { }\r\n\r\n\tbyName (name) {\r\n\t\treturn (this.APP_COLORS[name] || '#fff');\r\n\t}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormControl} from \"@angular/forms\";\r\nimport { first } from 'rxjs/operators';\r\nimport { CredentialsService } from 'src/app/core/services/credentials.service';\r\nimport { HttpGenericService } from 'src/app/core/services/http-genric.service';\r\nimport { API } from '../constants/api.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonserviceService {\r\n api = API;\r\n permission = [];\r\n public dotCount:number=0;\r\n checkNumberOnly: any;\r\n checkString: any;\r\n\r\n constructor(\r\n private httpGenericService: HttpGenericService,\r\n private credentialsService: CredentialsService)\r\n { }\r\n\r\n preventSpace(event: Event) {\r\n return event.preventDefault();\r\n }\r\n\r\n public noWhitespaceValidator(control: FormControl) {\r\n \r\n if (control.value != null && control.value.toString().indexOf(' ') >= 0) {\r\n const isWhitespace = control.value.toString().trim().length === 0;\r\n const isValid = !isWhitespace;\r\n\r\n return isValid ? null : { 'whitespace': true };\r\n \r\n }\r\n }\r\n\r\n permissioncheck(userData: any, roleEntity: any){\r\n return new Promise((resolve, reject) => {\r\n this.httpGenericService\r\n .postData(\r\n `${this.api.permissions.GetRoleWisePermission}?IsAdmin=${userData.isAdmin}`,\r\n roleEntity\r\n )\r\n .pipe(first())\r\n .subscribe((permission) => {\r\n let list = permission[\"Result\"];\r\n this.permission = list;\r\n this.credentialsService.setPermissionDetails(this.permission);\r\n resolve(true)\r\n });\r\n });\r\n }\r\n\r\n numberOnly(event): boolean { \r\n const charCode = (event.which) ? event.which : event.keyCode; \r\n if (charCode == 46) {\r\n this.dotCount += 1;\r\n this.checkNumberOnly = (event.target.value);\r\n var numericCheck = (event.target.value).toString();\r\n if (numericCheck.includes('.')) {\r\n this.dotCount += 1;\r\n }\r\n if (this.dotCount > 1) { \r\n this.dotCount = 0;\r\n return false;\r\n }\r\n }\r\n if (charCode > 31 && (charCode < 45 || charCode > 57 || charCode==47)) {\r\n return false;\r\n }\r\n this.checkNumberOnly = (event.target.value);\r\n if (this.checkNumberOnly != null) {\r\n var numeric = (event.target.value).toString();\r\n if (numeric.includes('.')) {\r\n var checkNumeric = numeric.split('.');\r\n if (checkNumeric.length > 2) {\r\n return false;\r\n }\r\n this.checkString = checkNumeric[1].split('');\r\n if (this.checkString.length > 1) {\r\n return false;\r\n }\r\n }\r\n\r\n }\r\n this.dotCount = 0;\r\n return true;\r\n}\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2xvYWRpbmctc2NyZWVuL2xvYWRpbmctc2NyZWVuLmNvbXBvbmVudC5zY3NzIn0= */\";","import { LoadingScreenService } from './../../../core/services/loading-screen.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { BlockUI, NgBlockUI } from 'ng-block-ui';\r\n@Component({\r\n selector: 'app-loading-screen',\r\n templateUrl: './loading-screen.component.html',\r\n styleUrls: ['./loading-screen.component.scss']\r\n})\r\nexport class LoadingScreenComponent implements OnInit {\r\n\r\n loading: boolean = false;\r\n loadingSubscription: Subscription;\r\n @BlockUI() blockUI: NgBlockUI;\r\n constructor(private loadingScreenService: LoadingScreenService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.loadingSubscription = this.loadingScreenService.loadingStatus.pipe(\r\n debounceTime(200)\r\n ).subscribe((value) => {\r\n this.loading = value;\r\n if(this.loading){\r\n this.blockUI.start('Loading...');\r\n }else{\r\n this.blockUI.stop();\r\n this.blockUI.reset();\r\n }\r\n\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.loadingSubscription.unsubscribe();\r\n }\r\n}\r\n","export const API = {\r\n\tauthentication: {\r\n\t\tcreateToken: 'JwtTokenAuthentication/CreateToken',\r\n validateUser: 'Authentication/UserLoginAuthentication',\r\n logoutUser: 'Authentication/UserLogOut',\r\n },\r\n dashboard: {\r\n IRBarChartDetails: 'Dashboard/GetDashboardIRBarChartDetails',\r\n CEBarChartDetails: 'Dashboard/GetDashboardCEBarChartDetails',\r\n ResidualRiskScoreDetails: 'Dashboard/GetDashboardResidualRiskScoreCardMatrixDetails',\r\n DashboardIRRiskMeterDetails: 'Dashboard/GetDashboardIRRiskMeterDetails',\r\n DashboardCERiskMeterDetails: 'Dashboard/GetDashboardCERiskMeterDetails',\r\n DashboardDetialedReport: 'Dashboard/GetDashboardDetialedReport',\r\n DashboardCompositionReportMainTable: 'Dashboard/GetDashboardCompositionReportMainTable',\r\n DashboardCompositionReport: 'Dashboard/GetDashboardCompositionReport',\r\n SaveSVG: 'Dashboard/SaveSVG',\r\n GetDashboardTrendAnalysis:'Dashboard/GetDashboardTrendAnalysis',\r\n \r\n \r\n },\r\n\tuserManagement: {\r\n\t\taddUser: 'UserManagement/AddUser',\r\n\t\teditUser: 'UserManagement/EditUser',\r\n\t\tactivateDeactivateUser: 'UserManagement/ActiveDeactiveUser',\r\n\t\tgetAllUser: 'UserManagement/GetAllUsers',\r\n getUserByEmail: 'UserManagement/GetUserbyEmail'\r\n\t},\r\n\trole: {\r\n\t\tgetRoles: 'Role/GetRoles',\r\n\t\tgetRoleList: 'Role/GetRoleList',\r\n\t\tinsertRole: 'Role/InsertRole',\r\n\t\tupdateRole: 'Role/UpdateRole',\r\n\t\tdeleteRole: 'Role/ActiveDeactiveRole',\r\n\t\tGetRegulatoryGuidelines:'Role/GetRegulatoryGuidelines',\r\n\t\tInsertRegulatoryGuidelines:'Role/InsertRegulatoryGuidelines'\r\n\t},\r\n\tpermissions: {\r\n\t\tgetroles: 'Role/GetRolesForPermissions',\r\n\t\tGetRoleWisePermission: 'Permission/GetRoleWisePermission',\r\n\t\tUpdateRoleWisePermission: 'Permission/UpdateRoleWisePermission',\r\n\t},\r\n\tentityDetails: {\r\n\t\tgetEntityDetailsById: 'EntityDetails/GetEntityDetailsById',\r\n\t\tgetEntityDetailsByuserId: 'EntityDetails/GetEntityDetailsByuserId',\r\n\t\tgetAllEntityDetails: 'EntityDetails/GetAllEntityDetails',\r\n\t\tcreateEntityDetails: 'EntityDetails/CreateEntityDetails',\r\n\t\tupdateEntityDetails: 'EntityDetails/UpdateEntityDetails',\r\n\t\tdeleteEntityDetails: 'EntityDetails/DeleteEntityDetails',\r\n\t\tgetStaticValuesByCategoryName: 'StaticValue/GetStaticValuesByCategoryName',\r\n\t\tgetAllEntitiesList: 'EntityDetails/GetAllEntitiesList',\r\n\t\tGetRegulatoryGuidelinesByEntityId:'EntityDetails/GetRegulatoryGuidelinesByEntityId'\r\n\t},\r\n\tentityBusinessUnits: {\r\n\t\tgetEntityBusinessUnitsById: 'EntityBusinessUnits/GetEntityBusinessUnitsById',\r\n\t\tgetAllEntityBusinessUnits: 'EntityBusinessUnits/GetAllEntityBusinessUnits',\r\n\t\tcreateEntityBusinessUnits: 'EntityBusinessUnits/CreateEntityBusinessUnits',\r\n\t\tupdateEntityBusinessUnits: 'EntityBusinessUnits/UpdateEntityBusinessUnits',\r\n\t\tdeleteEntityBusinessUnits: 'EntityBusinessUnits/DeleteEntityBusinessUnits',\r\n\t},\r\n\tentityContactPersons: {\r\n\t\tgetAllEntityContactPersons: 'EntityContactPersons/GetAllEntityContactPersons',\r\n\t\tcreateEntityContactPersons: 'EntityContactPersons/CreateEntityContactPersons',\r\n\t\tupdateEntityDetails: 'EntityContactPersons/UpdateEntityDetails',\r\n\t\tdeleteEntityDetails: 'EntityContactPersons/DeleteEntityDetails',\r\n\t},\r\n\tweightages: {\r\n\t\tgetAllEntityBusinessUnitsWeightage: 'Weightages/GetAllEntityBusinessUnitsWeightage',\r\n\t\tgetAllRiskCategoryandSubCategoryWeighatages: 'Weightages/GetAllRiskCategoryandSubCategoryWeighatages',\r\n\t\tupdateEntityBusinessUnits: 'Weightages/UpdateEntityBusinessUnits',\r\n\t\t//SaveAllRiskCategoryandSubCategoryWeighatages: 'Weightages/SaveAllRiskCategoryandSubCategoryWeighatages',\r\n\t\tupdateEntityRiskSubCategoryWeightage: 'Weightages/UpdateEntityRiskSubCategoryWeightage',\r\n\t\tupdateEntityRiskSubCategoryDetailsWeightage: 'Weightages/UpdateEntityRiskSubCategoryDetailsWeightage',\r\n\t\tsaveAllRiskCategoryandSubCategoryWeighatages : 'Weightages/SaveAllRiskCategoryandSubCategoryWeighatages',\r\n\t\tgetAllEntityRiskSubCategoryDetailsWeightage: 'Weightages/GetAllEntityRiskSubCategoryDetailsWeightage'\r\n\t},\r\n\tquestionsTemplates: {\r\n\t\tgetQuestionsTemplateById: 'QuestionsTemplate/GetQuestionsTemplateById',\r\n\t\tgetAllQuestionsTemplate: 'QuestionsTemplate/GetAllQuestionsTemplate',\r\n\t\tcreateQuestionsTemplate: 'QuestionsTemplate/CreateQuestionsTemplate', \r\n\t\tUploadUpdatedEntityReport:'QuestionsTemplate/UploadUpdatedEntityReport',\r\n\t\tupdateQuestionsTemplate: 'QuestionsTemplate/UpdateQuestionsTemplate',\r\n\t\tmapQuestionsTemplateToEntity: 'QuestionsTemplate/MapQuestionsTemplateToEntity',\r\n\t\tdeleteQuestionsTemplate: 'QuestionsTemplate/DeleteQuestionsTemplate',\r\n \tdownloadFile: 'QuestionsTemplate/DownloadFile',\r\n \tDownloadReport: 'QuestionsTemplate/DownloadReport',\r\n\t\tDownloadQuestionTemplate:'QuestionsTemplate/DownloadQuestionTemplate'\r\n },\r\n\tquestionBank: {\r\n getQuestionBankById: 'QuestionBank/GetQuestionBankById',\r\n getAllQuestionBank: 'QuestionBank/GetAllQuestionBank',\r\n createQuestionBank: 'QuestionBank/CreateQuestionBank',\r\n updateQuestionBank: 'QuestionBank/UpdateQuestionBank',\r\n mapQuestionBankToEntity: 'QuestionBank/MapQuestionBankToEntity',\r\n deleteQuestionBank: 'QuestionBank/DeleteQuestionBank',\r\n\t},\r\n\tentityAssessmentReview: {\r\n\t\tgetEntityAssessmentReview: 'EntityAssessmentReview/GetEntityAssessmentReview',\r\n\t\tgetAllRiskSubCategories: 'EntityAssessmentReview/GetAllRiskSubCategories',\r\n\t\tgetAllRiskSubCategoryDetailsBySubCatergory: 'EntityAssessmentReview/GetAllRiskSubCategoryDetailsBySubCatergory',\r\n \tgetAllRiskTypeBySubCatergoryDetails: 'EntityAssessmentReview/GetAllRiskTypeBySubCatergoryDetails',\r\n \tsaveEntityAssesmentReview: 'EntityAssessmentReview/SaveEntityAssesmentReview',\r\n\t\tgetRiskClassifications: 'EntityAssessmentReview/GetRiskClassifications',\r\n\t\tsubmitAssessment: 'EntityAssessmentReview/SubmitAssessment',\r\n validateAssessment: 'EntityAssessmentReview/ValidateAssessment',\r\n getEntityAssessmentStatus: 'EntityAssessmentReview/GetEntityAssessmentStatus',\r\n\r\n\t},\r\n\r\n\treportTemplates: {\r\n generateReport: 'ReportTemplate/GenerateReport',\r\n IsDashboardGenerated: 'ReportTemplate/IsDashboardGenerated'\r\n\t},\r\n\r\n\tstaticCategory: {\r\n\t\tgetStaticCategories: 'StaticCategory/GetStaticCategories',\r\n\t},\r\n\tstaticValue: {\r\n\t\tgetAllDesignations: 'StaticValue/GetStaticValuesByCategoryName',\r\n\t\tgetAssismentYear: 'StaticValue/GetStaticValuesByCategoryName',\r\n\t\tgetMasterData: 'StaticValue/GetStaticValues',\r\n\t\taddMasterData: 'StaticValue/CreateStaticValue',\r\n\t\tgetMasterById: 'StaticValue/GetStaticValueById',\r\n\t\tdeleteMasterData: 'StaticValue/DeleteStaticValue',\r\n\t\teditMasterData: 'StaticValue/UpdateStaticValue'\r\n\t},\r\n\tclientManagement: {\r\n\t\tGetClientEngementTeams: 'ClientManagement/GetClientEngementTeams',\r\n\t\tGetClientList: 'ClientManagement/GetClientList',\r\n\t\tAcitveDeactiveClient: 'ClientManagement/AcitveDeactiveClient',\r\n\t\tgetClientEngementTeamsByClientId: 'ClientManagement/GetClientEngementTeamsByClientId',\r\n\t\tgetIndustryTaxonomy: 'ClientManagement/GetIndustryTaxonomy',\r\n\t\tgetIndustryTaxonomyDetails: 'ClientManagement/GetIndustryTaxonomyDetails',\r\n\t\tmanageClientEngagementTeam: 'ClientManagement/ManageClientEngagementTeam',\r\n\t\tgetClientOnboardingDetails: 'ClientManagement/GetClientOnboardingDetails',\r\n\t\tgetSubSectorsBySectorId: 'ClientManagement/GetSubSectorsBySectorId',\r\n\t\taddClientGroup: 'ClientManagement/AddClientGroup',\r\n\t\tgetClientGroups: 'ClientManagement/GetClientGroups',\r\n\t\tgetSectors: 'ClientManagement/GetSectors',\r\n\t\tgetStaticValuesByCategoryName: 'StaticValue/GetStaticValuesByCategoryName',\r\n\t\tonBoardClient: 'ClientManagement/OnBoardClient',\r\n\t\tgetSectorCodeBySubSectorId: 'ClientManagement/GetSectorCodeBySubSectorId',\r\n\t\tsaveXMLTemplate: 'ClientManagement/SaveXMLTemplate',\r\n\t},\r\n\tupload: {\r\n\t\tuploadXML: 'api/Upload/UploadFile',\r\n\t\tupload: 'api/Upload/S3BucketUploadFile',\r\n\t\taddEngagementTeam: 'ClientManagement/ManageClientEngagementTeam',\r\n\t\tAcitveDeactiveClient: 'ClientManagement/AcitveDeactiveClient',\r\n\t\tdownload: \"Upload/S3BucketDownloadFile\",\r\n\t\tupload1: 'api/Upload/S3BucketUploadFile1',\r\n\t},\r\n\ttemplates: {\r\n\t\tgetAllTemplateStatus: 'StaticValue/GetStaticValuesByCategoryName',\r\n\t\tgetDataTemplateDetails: 'Template/GetDataTemplate',\r\n\t\tdownloadTemplate: 'Template/GetTaskWiseTemplateExcel',\r\n\t\tuploadTemmplate: 'Template/UploadTaskwiseTemplateExcel',\r\n\t\tshareThroughSyatem: 'Template/SaveDataTemplateRequest',\r\n\t\tgetShareThroughSyatemDetails: 'Template/GetShareThroughSystemDetails'\r\n\t},\r\n workflow: {\r\n\r\n\t\tgetWorkFlowMapping: 'Workflow/GetWorkFlowMappingRolesByRoleId',\r\n\t\tgetToUserListForClient: 'TaskWorkflow/GetToUserListForClient',\r\n\t\tgetTaskWorkflowHistory: 'TaskWorkflow/GetTaskWorkflowHistory',\r\n\t\tgetRolewiseUsers: 'TaskWorkflow/GetRolewiseUsers',\r\n\t\tsaveTaskWorkflow: 'TaskWorkflow/SaveTaskWorkflow',\r\n\t\tshareThroughSyatem: 'Template/SaveDataTemplateRequest',\r\n\r\n\r\n },\r\n\r\n EmailTemplates: {\r\n getAllEmailTemplates: 'EmailTemplates/GetAllEmailTemplates',\r\n UpdateEmailTemplates: 'EmailTemplates/UpdateEmailTemplates',\r\n ActivateOrInactivateEmailTemplates: 'EmailTemplates/ActivateOrDeactiveEmailTemplates'\r\n\r\n },\r\n\r\n ReportTemplates: {\r\n getAllReportTemplates: 'ReportTemplates/GetAllReportTemplates',\r\n UpdateReportTemplate: 'ReportTemplates/UpdateReportTemplate',\r\n ActivateOrInactivateReportTemplates: 'ReportTemplates/ActivateOrDeactiveReportTemplates',\r\n\tmapReportTemplate: 'ReportTemplates/MapReportTemplate',\r\n\tgetReportTemplateById: 'ReportTemplates/GetReportTemplateById'\r\n },\r\n\r\n BusinessUnits: {\r\n getAllBusinessUnits: 'BankManager/GetAllManagerBusinessUnits',\r\n getAssessmentCycles: 'BankManager/GetAssessmentCycles'\r\n },\r\n\r\n AuditReport: {\r\n GenerateAuditReport: 'AssessmentAuditReport/GenerateAuditReport',\r\n GetEntityAssessmentSummary: 'AssessmentAuditReport/GetEntityAssessmentSummary',\r\n ExportExcel: 'AssessmentAuditReport/ExportExcel'\r\n },\r\n\r\n// RegulatoryGuidelines: {\r\n// GenerateAuditReport: 'AssessmentAuditReport/GenerateAuditReport',\r\n// GetEntityAssessmentSummary: 'AssessmentAuditReport/GetEntityAssessmentSummary',\r\n// ExportExcel: 'AssessmentAuditReport/ExportExcel'\r\n// }\r\n\r\n};\r\n\r\n//StaticValue Controller\r\nexport const GetStaticValues = 'StaticValue/GetStaticValues';\r\nexport const GetStaticValueByStCategoryId = 'StaticValue/GetStaticValueByStCategoryId?';\r\nexport const GetCategoriesValueList = 'StaticValue/GetStaticValuesByCategoryName?staticCategoryName=';\r\nexport const GetAplicabilityList = 'Master/GetAplicabilityList';\r\n\r\n//Static Category Controller\r\nexport const GetStaticCategories = 'StaticCategory/GetStaticCategories';\r\nexport const GetStaticCategoriesId = 'StaticCategory/GetStaticCategories?id=';\r\n\r\n//Client\r\nexport const GetClientDetailsById = 'Client/GetClientDetailsById?clientId=';\r\nexport const GetClientList = 'Client/GetAllClients?userId=';\r\n\r\n//Task\r\nexport const GetAllTask = 'TaskManagment/GetAllTask?userId=';\r\nexport const SaveTaskAsync = 'TaskManagment/SaveTaskAsync';\r\nexport const SaveTaskClientDetails = 'TaskManagment/SaveTaskClientDetails';\r\nexport const GetTaskClientDetails = 'TaskManagment/GetTaskClientDetails?taskId=';\r\nexport const SaveApplicability = 'TaskManagment/SaveApplicability';\r\nexport const GetTaskApplicability = 'TaskManagment/GetTaskApplicability?taskId=';\r\nexport const SaveForm3CEBDetails = 'TaskManagment/SaveForm3CEBDetails';\r\nexport const GetTaskForm3CEBDetails = 'TaskManagment/GetTaskForm3CEBDetails?taskId=';\r\nexport const GetTaskDetailsByTaskId = 'TaskManagment/GetTaskDetailsByTaskId?taskId=';\r\nexport const GetAssessmentYrByTaskId = 'TaskManagment/GetAssessmentYrByTaskId?taskId=';\r\nexport const SaveCustomisedComment = 'TaskManagment/SaveCustomisedComment';\r\n\r\n//Annexure Part B\r\n\r\n//Annexure Part B - Clause 10\r\nexport const GetAnnexurePartBClause10Details = 'AnnexurePartB/GetAnnexurePartBClause10Details?taskId=';\r\nexport const SaveAnnexurePartBClause10Details = 'AnnexurePartB/SaveAnnexurePartBClause10Details';\r\n\r\n//Annexure Part B - Clause 11A\r\nexport const GetPartBClause11ADetails = 'AnnexurePartB/GetPartBClause11ADetails?taskId=';\r\nexport const SavePartBClause11ADetails = 'AnnexurePartB/SavePartBClause11ADetails';\r\n\r\n//Annexure Part B - Clause 11B\r\nexport const GetPartBClause11BDetails = 'AnnexurePartB/GetPartBClause11BDetails?taskId=';\r\nexport const SavePartBClause11BDetails = 'AnnexurePartB/SavePartBClause11BDetails';\r\n\r\n//Annexure Part B - Clause 11C\r\nexport const GetPartBClause11CDetails = 'AnnexurePartB/GetPartBClause11CDetails?taskId=';\r\nexport const SavePartBClause11CDetails = 'AnnexurePartB/SavePartBClause11CDetails';\r\n\r\n//Annexure Part B - Clause12\r\nexport const GetPartBClause12Details = 'AnnexurePartB/GetPartBClause12Details?taskId=';\r\nexport const SavePartBClause12Details = 'AnnexurePartB/SavePartBClause12Details';\r\n\r\n//Annexure Part B - Clause13\r\nexport const GetPartBClause13Details = 'AnnexurePartB/GetPartBClause13Details?taskId=';\r\nexport const SavePartBClause13Details = 'AnnexurePartB/SavePartBClause13Details';\r\n\r\n//Annexure Part B - Clause14\r\nexport const GetPartBClause14Details = 'AnnexurePartB/GetPartBClause14Details?taskId=';\r\nexport const SavePartBClause14Details = 'AnnexurePartB/SavePartBClause14Details';\r\n\r\n//Annexure Part B - Clause 15\r\nexport const GetPartBClause15Details = 'AnnexurePartB/GetPartBClause15Details?taskId=';\r\nexport const SavePartBClause15Details = 'AnnexurePartB/SavePartBClause15Details';\r\n\r\n//Annexure Part B - Clause16\r\nexport const GetPartBClause16Details = 'AnnexurePartB/GetPartBClause16Details?taskId=';\r\nexport const SavePartBClause16Details = 'AnnexurePartB/SavePartBClause16Details';\r\n\r\n//Annexure Part B - Clause17\r\nexport const GetPartBClause17Details = 'AnnexurePartB/GetPartBClause17Details?taskId=';\r\nexport const SavePartBClause17Details = 'AnnexurePartB/SavePartBClause17Details';\r\n\r\n//Annexure Part B - Clause18\r\nexport const GetPartBClause18Details = 'AnnexurePartB/GetPartBClause18Details?taskId=';\r\nexport const SavePartBClause18Details = 'AnnexurePartB/SavePartBClause18Details';\r\n\r\n//Annexure Part B - Clause19\r\nexport const GetPartBClause19Details = 'AnnexurePartB/GetPartBClause19Details?taskId=';\r\nexport const SavePartBClause19Details = 'AnnexurePartB/SavePartBClause19Details';\r\n\r\n//Annexure Part B - Clause20\r\nexport const GetPartBClause20Details = 'AnnexurePartB/GetPartBClause20Details?taskId=';\r\nexport const SavePartBClause20Details = 'AnnexurePartB/SavePartBClause20Details';\r\n\r\n//Annexure Part B\r\n\r\n//Annexture Part C - Clause21\r\nexport const GetAnnexurePartCClause21Details = 'AnnexurePartC/GetPartCClause21Details?taskId=';\r\nexport const SaveAnnexurePartCClause21Details = 'AnnexurePartC/SavePartCClause21Details';\r\n\r\n//Annexture Part C - Clause22\r\nexport const GetAnnexurePartCClause22Details = 'AnnexurePartC/GetPartCClause22Details?taskId=';\r\nexport const SaveAnnexurePartCClause22Details = 'AnnexurePartC/SavePartCClause22Details';\r\n\r\n//Annexture Part C - Clause23A\r\nexport const GetAnnexurePartCClause23ADetails = 'AnnexurePartC/GetPartCClause23ADetails?taskId=';\r\nexport const SaveAnnexurePartCClause23ADetails = 'AnnexurePartC/SavePartCClause23ADetails';\r\n\r\n//Annexture Part C - Clause23B\r\nexport const GetAnnexurePartCClause23BDetails = 'AnnexurePartC/GetPartCClause23BDetails?taskId=';\r\nexport const SaveAnnexurePartCClause23BDetails = 'AnnexurePartC/SavePartCClause23BDetails';\r\n\r\n//Annexture Part C - Clause24\r\nexport const GetAnnexurePartCClause24Details = 'AnnexurePartC/GetPartCClause24Details?taskId=';\r\nexport const SaveAnnexurePartCClause24Details = 'AnnexurePartC/SavePartCClause24Details';\r\n\r\n//Annexture Part C - Clause25\r\nexport const GetAnnexurePartCClause25Details = 'AnnexurePartC/GetPartCClause25Details?taskId=';\r\nexport const SaveAnnexurePartCClause25Details = 'AnnexurePartC/SavePartCClause25Details';\r\n\r\n//Comment\r\nexport const GetForm3CEBCommentClauseDataList = 'TaskManagment/GetForm3CEBCommentClauseDataList?clauseName=';\r\nexport const GetSubmitedCommentsList = 'TaskManagment/GetSubmitedCommentsList?clauseName=';\r\nexport const GetSubmitedCustomisedCommentsList = 'TaskManagment/GetSubmitedCustomisedCommentsList?clauseName=';\r\nexport const GetSubmitedClientCommentsList = 'TaskManagment/GetSubmitedClientCommentsList?clauseName=';\r\nexport const SaveForm3CebtaskClientComments = 'TaskManagment/SaveForm3CebtaskClientComments';\r\n\r\nexport const CreateFlipSideReturn = 'TaskManagment/CreateFlipSideReturn?clientId=';\r\nexport const Export3CEBExcel = 'Export3Ceb/Export3CEBExcel?TaskId=';\r\n\r\n//Template\r\nexport const GetIrcQuestionsInfoData = 'IRCquestionsTemplate/GetIrcQuestionsInfoData';\r\nexport const GetIrcQuestions = 'IRCquestionsTemplate/GetIrcQuestions?questionType=';\r\nexport const SaveIrcQuestionsInfoDataDetails = 'IRCquestionsTemplate/SaveIrcQuestionsInfoDataDetails';\r\nexport const GetIrcTransaction = 'IRCquestionsTemplate/GetIrcTransaction?taskId=';\r\nexport const GetIrcTransactionByTaskId = 'IRCquestionsTemplate/GetIrcTransactionByTaskId?taskId=';\r\nexport const SaveIrcTransaction = 'IRCquestionsTemplate/SaveIrcTransaction';\r\n\r\nexport const GetIRCQuestionsUploadedFileData = 'IRCquestionsTemplate/GetIRCQuestionsUploadedFileData';\r\nexport const Export3CEBPDF = 'Export3Ceb/Export3CEBPDF?TaskId=';\r\n\r\nexport const GenericUploadFiles = 'Upload/GenericUploadFiles?taskId=';\r\nexport const DownloadFileByFileName = 'Upload/DownloadFileByFileName?FileName=';\r\nexport const XMLValidation = 'XMLGeneration/XMLValidation?taskId=';\r\nexport const GenerateXML = 'XMLGeneration/GenerateXML?taskId=';\r\n\r\n","/**\r\n * Set all constants and enums value hear\r\n */\r\n\r\n\r\nexport const EncryptionKey = 'Deloitee_AML';\r\n//require('dotenv').config();\r\n\r\n// Application Controller\r\nexport const GetApplications = 'Application/GetApplications';\r\nexport const GetApplicationSortByList = 'Master/GetApplicationSortByList';\r\n\r\n\r\n\r\n//export const AESEncryptionKey = process.env.AES_ENCRYPTION_KEY;\r\n//export const AESEncryptionIV = process.env.AES_ENCRYPTION_IV;\r\n\r\n\r\nexport enum SortByList {\r\n\tAscending_A_Z = 'Ascending A_Z',\r\n\tDescending_Z_A = 'Descending Z_A',\r\n\tRecentlyAdded = 'Recently Added',\r\n\tModifiedLast = 'Modified Last',\r\n\tDescendingByRating = 'Descending By Rating',\r\n\tAscendingByRating = 'Ascending By Rating'\r\n}\r\n//#endregion\r\n\r\n\r\nexport const Designations = {\r\n\tEXECUTIVE: 'Executive',\r\n\tASSISTANT_MANAGER: 'Assistant Manager',\r\n\tDEPUTY_MANAGER: 'Deputy Manager',\r\n\tMANAGER: 'Manager',\r\n\tSENIOR_MANAGER: 'Senior Manager',\r\n\tDIRECTOT: 'Director',\r\n\tSENIOR_DIRECTOR: 'Senior Director',\r\n\tPARTNER: 'Partner',\r\n\tCLIENT: 'Client',\r\n\tANALYST: 'Analyst',\r\n\tCEC_ANALYST: 'CEC Analyst',\r\n\tREVIEWER: 'Reviewer',\r\n\tSIGNING_PARTNER: 'Signing Partner',\r\n\tREVIEWING_PARTNER: 'Reviewing Partner',\r\n\tADMIN: 'Admin',\r\n\tSTACKHOLDER: 'Stakeholder',\r\n\tSUPERADMIN: 'SUPER ADMIN',\r\n};\r\n\r\n\r\nexport const StaticCategory = {\r\n\tDesignation: 'Designation',\r\n\tRiskGrading: 'RiskGrading',\r\n\tForeignEntityType: 'ForeignEntityType',\r\n\tClientRole: 'ClientRole',\r\n\tPermissionType: 'PermissionType',\r\n\tReturnType: 'ReturnType',\r\n\tAssessMentYear: 'AssessMentYear',\r\n\tTaskStatus: 'TaskStatus',\r\n\tApplicabilty: 'Applicabilty',\r\n\tMethodUsedForDeterminingTheArmsLengthPrice: 'MethodUsedForDeterminingTheArmsLengthPrice',\r\n\tClause10NatureOfTheRelationship: 'Clause10NatureOfTheRelationship',\r\n\tClause11ADescriptionOfTransactionType: 'Clause11ADescriptionOfTransactionType',\r\n\tClause11BDescriptionOfTransactionType: 'Clause11BDescriptionOfTransactionType',\r\n\tClause15CompensationTransactionType: 'Clause15CompensationTransactionType',\r\n\tClause16ConsiderationTransactionType: 'Clause16ConsiderationTransactionType',\r\n\tClause11CAmountPaidType: 'Clause11CAmountPaidType',\r\n\tClause12AmountPaidType: 'Clause12AmountPaidType',\r\n\tClause13AmountPaidType: 'Clause13AmountPaidType',\r\n\tClause14AmountPaidType: 'Clause14AmountPaidType',\r\n\tClause14LendingOrBorrowing: 'Clause14LendingOrBorrowing',\r\n\tClause17TransactionType: 'Clause17TransactionType',\r\n\tClause17AmountPaidType: 'Clause17AmountPaidType',\r\n\tClause19AmountPaidType: 'Clause19AmountPaidType',\r\n\tClause20AmountPaidType: 'Clause20AmountPaidType',\r\n\tClause24AmountPaidType: 'Clause24AmountPaidType',\r\n\tClause25AmountPaidType: 'Clause25AmountPaidType',\r\n\tForm3CEBStatus: 'Form3CEBStatus',\r\n\tForm3CEBDeclarationPoint1: 'Form3CEBDeclarationPoint1',\r\n\tForm3CEBDeclarationPoint2: 'Form3CEBDeclarationPoint2',\r\n\tIRCQuestionStatus: 'IRCQuestionStatus',\r\n\tIRCUploadedFile: 'IRCUploadedFile',\r\n\tIRCQuestionType: 'IRCQuestionType',\r\n\tDataTemplateStatus: 'DataTemplateStatus'\r\n};\r\n\r\nexport const StaticValue = {\r\n\tBasic: 'Basic',\r\n\tGeneral: 'General',\r\n\tClauseSpecific: 'ClauseSpecific',\r\n\tOtherComment: 'Others (Add Comment)',\r\n};\r\n\r\nexport enum Permission {\r\n\tPermission = 'PermissionType'\r\n}\r\n\r\nexport enum PermissionTypeEnum {\r\n\tNoAccess = 'NoAccess',\r\n\tEdit = 'Edit',\r\n\tView = 'View',\r\n\tDelete = 'Delete'\r\n\t//Comment = 'Comment'\r\n}\r\n\r\nexport enum PermissionsEnum {\r\n\tClientListing = 'Client Listing',\r\n\tClientManualOnboarding = 'Client Manual Onboarding',\r\n\tClientXMLOnboarding = 'Client XML Onboarding',\r\n\tTaskManagement = 'Task Management',\r\n\tFormAML = 'Form AML',\r\n\tDataTemplateDownload = 'Data Template - Download',\r\n\tDataTemplateUpload = 'Data Template - Upload',\r\n\tInformationRequestChecklistDownload = \"Information Request Checklist - Download\",\r\n\tInformationRequestChecklistUpload = \"Information Request Checklist - Upload\",\r\n\tInformationTracking = 'Information Tracking',\r\n\tSubmitAnalyst = 'Submit to Analyst',\r\n\tSubmitReviewer = 'Submit to Reviewer',\r\n\tSubmitReviewingPartner = 'Submit to Reviewing Partner',\r\n\tSubmitSigningPartner = 'Submit to Signing Partner',\r\n\tSubmitClient = 'Submit to Client',\r\n\tFlipSide = 'Flipside',\r\n\tGenerateXML = 'Generate XML',\r\n\tExportAML = \"Export AML\",\r\n\tWorkflow = 'Workflow',\r\n\tSendEmail = 'Send submission Email to Client',\r\n\t/* Deloiite_AMLTool Implementation */\r\n\tDashboard = 'Dashboard',\r\n\tUserManagement = 'User Management',\r\n\tRoleManagement = 'Role Management',\r\n\tPermissionManagement = 'Access Permission',\r\n\tEmailTemplates = 'Email Templates',\r\n\tEntityManagement = 'Entity Management',\r\n\tBusinessUnits = 'Assessment Status',\r\n\tWeightages = 'Weightages',\r\n\tAssessment = 'Assessment',\r\n\tReportTemplates = 'Report Templates',\r\n\tAuditReport = 'Audit Report',\r\n\tMapQuestionnaire = 'Map Questionnaire',\r\n\tRegulatoryGuidelines = 'Regulatory Guidelines'\r\n} \r\n\r\nexport const CommentClausesEnum = { \r\n\tFormAML: 'FormAML',\r\n\tClause10: 'Clause10',\r\n\tClause11A: 'Clause11A', \r\n\tClause11B: 'Clause11B',\r\n\tClause11C: 'Clause11C',\r\n\tClause12: 'Clause12',\r\n\tClause13: 'Clause13',\r\n\tClause14: 'Clause14',\r\n\tClause15: 'Clause15',\r\n\tClause16: 'Clause16',\r\n\tClause17: 'Clause17',\r\n\tClause18: 'Clause18',\r\n\tClause19: 'Clause19',\r\n\tClause20: 'Clause20',\r\n\tClause21: 'Clause21',\r\n\tClause22: 'Clause22',\r\n\tClause23A: 'Clause23A',\r\n\tClause23B: 'Clause23B',\r\n\tClause24: 'Clause24',\r\n\tClause25: 'Clause25',\r\n};\r\n\r\n\r\nexport const CommentTypeEnum ={\r\n\tFormAML: 'FormAML',\r\n\tStandardComment: 'Standard Comment',\r\n\tDeloitteSpecificComments: 'Deloitte Specific Comments'\r\n};\r\nexport const NoOfClauses = {\r\n\tClause10: '10',\r\n\tClause11A: '11A',\r\n\tClause11B: '11B',\r\n\tClause11C: '11C',\r\n\tClause12: '12',\r\n\tClause13: '13',\r\n\tClause14: '14',\r\n\tClause15: '15',\r\n\tClause16: '16',\r\n\tClause17: '17',\r\n\tClause18: '18',\r\n\tClause19: '19',\r\n\tClause20: '20',\r\n\tClause21: '21',\r\n\tClause22: '22',\r\n\tClause23A: '23A',\r\n\tClause23B: '23B',\r\n\tClause24: '24',\r\n\tClause25: '25',\r\n};\r\n\r\nexport const NotForeignFormCaluse = [NoOfClauses.Clause11A, NoOfClauses.Clause11B, NoOfClauses.Clause11C, NoOfClauses.Clause20];\r\n\r\nexport const FormTypeEnum = {\r\n\tPrepareAML: 1,\r\n\tIssueAML: 0\r\n};\r\n\r\nexport const ModeName = 'MODE';\r\n\r\nexport const Modes = {\r\n\tEdit: 'Edit',\r\n\tView: 'View',\r\n\tNone: 'None'\r\n};\r\n\r\nexport const LocalStorageKeys = {\r\n\tTaskClientId: 'TCID'\r\n};\r\n\r\nexport const KeyDelimiter = '//';\r\nexport const haveNotBeen = 'have not been';\r\n\r\nexport const PaginatorIconList = [\r\n\t{\r\n\t icon: \".pi-caret-left\",\r\n\t text: \"Previous\",\r\n\t hide: false,\r\n\t},\r\n\t{\r\n\t icon: \".pi-caret-right\",\r\n\t text: \"Next\",\r\n\t hide: false,\r\n\t},\r\n\t{\r\n\t icon: \".pi-step-forward\",\r\n\t hide: false,\r\n\t text: \"Last\",\r\n\t},\r\n\t{\r\n\t icon: \".pi-step-backward\",\r\n\t text: \"First\",\r\n\t hide: false,\r\n\t},\r\n ];\r\n","export enum ValidationMessage {\r\n\trequired = 'This field is required',\r\n\tvalid_email = 'Please provide valid email address',\r\n\r\n\tmaxlength = 'This field should not exceed more than 50 characters',\r\n\tminlength = 'This field must be 8 or more characters in length',\r\n\tshortRequired = 'Required',\r\n\tpan = 'PAN number should be 10 characters',\r\n\tpanPattern = 'PAN number should be in format ABDPE1234L',\r\n\tpanDuplicate = 'PAN number should be unique',\r\n\tinputFieldPatternErrorMessage = \"< > % \\\\ these characters are not allowed\",\r\n\ttextFieldPatternErrorMessage = \"< > % \\\\ these characters are not allowed\",\r\n\r\n\tnoWhiteSpace = \"This field can not be blank\",\r\n\tweightages = \"This field allows only decimal values\",\r\n\tmax_value = \"Maximum value is 100\"\r\n}\r\n\r\nexport enum MaxLength {\r\n\tname = 125,\r\n\taddress = 150,\r\n\tdescription = 300,\r\n\tdescOfAggreement = 150,\r\n\tdescOfBusiness = 100,\r\n\tdescOfProperty = 100,\r\n\tdescOfTransaction = 100,\r\n\tshortDescription = 30,\r\n\tpurchaseSoldDesc = 75,\r\n\tpurchaseSoldQuantity = 50,\r\n\tdetails = 150,\r\n\tpricingPolicy = 100,\r\n\tbenchmarking = 300,\r\n\tcomment = 1000,\r\n\tnature = 100,\r\n\tnature150 = 150,\r\n\tcategoryUnits = 100,\r\n\tinterestRate = 100,\r\n\tcurrency = 25,\r\n\tcurrency100 = 100,\r\n\tplace = 20,\r\n\tfrn = 8,\r\n\tpan = 10,\r\n\tmembershipNo = 6,\r\n}\r\n\r\nexport enum MinLength {\r\n\tname = 0,\r\n\taddress = 0,\r\n\tdescOfBusiness = 5,\r\n\tpurchaseSoldDesc = 0,\r\n\tpurchaseSoldQuantity = 0,\r\n\tdescription = 0,\r\n\tshortDescription = 0,\r\n\tplace = 0,\r\n\tmembershipNo = 3,\r\n\tfrn = 0,\r\n\tcategoryUnits = 0,\r\n\tinterestRate = 0,\r\n\tpan = 10,\r\n}\r\n\r\nexport enum MaxValue {\r\n\tamount = 99999999999999,\r\n}\r\n\r\nexport enum MinValue {\r\n\tamount = 0,\r\n}\r\n\r\nexport enum Pattern {\r\n\tmembershipNo = '^[0-9]*$',\r\n\tfrn = '^[A-Za-z0-9]*$',\r\n\t// frn = '^[0-9]*$',\r\n \tname = '^[ A-Za-z0-9]*$',\r\n\tenterpriseName = '^(?!0).*$|^$',\r\n\tpan = '^[A-Za-z]{5}[0-9]{4}[A-Za-z]{1}$',\r\n\tinputField = '^[ A-Za-z0-9_@./):\"}=|;?`~$[{!(#&+-]*$',\r\n\ttextAreaField = '^[ A-Za-z0-9_@./):\"}=|;?`~{!(#&+-]*$',\r\n \r\n \tweightages = '^[0-9.]*$'\r\n}\r\n","import { Directive, ElementRef } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Directive({\r\n selector: '[checkAll]'\r\n})\r\nexport class CheckallDirective {\r\n\r\n constructor(public el: ElementRef) {\r\n let $element = $(el.nativeElement);\r\n\r\n $element.on('change', function() {\r\n let index = $element.index() + 1,\r\n checkbox = $element.find('input[type=\"checkbox\"]'),\r\n table = $element.parents('table');\r\n // Make sure to affect only the correct checkbox column\r\n table.find('tbody > tr > td:nth-child(' + index + ') input[type=\"checkbox\"]')\r\n .prop('checked', checkbox[0].checked);\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { OnInit, OnChanges, Directive, Input, SimpleChange, ElementRef } from '@angular/core';\r\n\r\ndeclare var $: any;\r\nconst EasyPieChart = null; //require('easy-pie-chart');\r\n\r\n@Directive({\r\n selector: '[easypiechart]'\r\n})\r\nexport class EasypiechartDirective implements OnInit, OnChanges {\r\n\r\n /**\r\n * default easy pie chart options\r\n * @type {Object}\r\n */\r\n public defaultOptions = {\r\n barColor: '#ef1e25',\r\n trackColor: '#f9f9f9',\r\n scaleColor: '#dfe0e0',\r\n scaleLength: 5,\r\n lineCap: 'round',\r\n lineWidth: 3,\r\n size: 110,\r\n rotate: 0,\r\n animate: {\r\n duration: 1000,\r\n enabled: true\r\n }\r\n };\r\n\r\n public pieChart: any;\r\n @Input() percent;\r\n @Input() options;\r\n\r\n constructor(public element: ElementRef) {\r\n this.percent = this.percent || 0;\r\n this.options = $.extend({}, this.defaultOptions, this.options);\r\n }\r\n\r\n ngOnInit() {\r\n if(EasyPieChart) {\r\n this.pieChart = new EasyPieChart(this.element.nativeElement, this.options);\r\n this.pieChart.update(this.percent);\r\n }\r\n }\r\n\r\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\r\n if (this.pieChart && changes['percent']) {\r\n this.pieChart.update(this.percent);\r\n }\r\n }\r\n\r\n}\r\n","import { OnInit, OnChanges, OnDestroy, Directive, ElementRef, Input, Output, SimpleChange, EventEmitter } from '@angular/core';\r\n\r\ndeclare var $: any;\r\n\r\n@Directive({\r\n selector: '[flot]'\r\n})\r\nexport class FlotDirective implements OnInit, OnChanges, OnDestroy {\r\n\r\n element: any;\r\n plot: any;\r\n width: any;\r\n\r\n @Input() dataset: any;\r\n @Input() options: any;\r\n @Input() attrWidth: any;\r\n @Input() height: number;\r\n @Input() series: any;\r\n\r\n @Output() ready = new EventEmitter();\r\n\r\n constructor(public el: ElementRef) {\r\n this.element = $(this.el.nativeElement);\r\n\r\n if (!$.plot) {\r\n // console.log('Flot chart no available.');\r\n }\r\n\r\n this.plot = null;\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\r\n if (!$.plot) {\r\n return;\r\n }\r\n if (changes['dataset']) {\r\n this.onDatasetChanged(this.dataset);\r\n }\r\n if (changes['series']) {\r\n this.onSerieToggled(this.series);\r\n }\r\n }\r\n\r\n init() {\r\n\r\n const heightDefault = 220;\r\n\r\n this.width = this.attrWidth || '100%';\r\n this.height = this.height || heightDefault;\r\n\r\n this.element.css({\r\n width: this.width,\r\n height: this.height\r\n });\r\n\r\n let plotObj;\r\n if (!this.dataset || !this.options) {\r\n return;\r\n }\r\n plotObj = $.plot(this.el.nativeElement, this.dataset, this.options);\r\n if (this.ready) {\r\n this.ready.next({ plot: plotObj });\r\n }\r\n return plotObj;\r\n }\r\n\r\n onDatasetChanged(dataset) {\r\n if (this.plot) {\r\n this.plot.setData(dataset);\r\n this.plot.setupGrid();\r\n return this.plot.draw();\r\n } else {\r\n this.plot = this.init();\r\n this.onSerieToggled(this.series);\r\n return this.plot;\r\n }\r\n }\r\n\r\n onSerieToggled(series) {\r\n if (!this.plot || !series) {\r\n return;\r\n }\r\n let someData = this.plot.getData();\r\n for (let sName in series) {\r\n series[sName].forEach(toggleFor(sName));\r\n }\r\n\r\n this.plot.setData(someData);\r\n this.plot.draw();\r\n\r\n function toggleFor(sName) {\r\n return function(s, i) {\r\n if (someData[i] && someData[i][sName]) {\r\n someData[i][sName].show = s;\r\n }\r\n };\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.plot) {\r\n this.plot.shutdown();\r\n }\r\n }\r\n}\r\n","import { Directive, Input, OnInit, OnDestroy, ElementRef, OnChanges, SimpleChange } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Directive({\r\n selector: '[jqcloud]'\r\n})\r\nexport class JqcloudDirective implements OnInit, OnDestroy, OnChanges {\r\n\r\n @Input() words;\r\n @Input() width;\r\n @Input() height;\r\n @Input() steps;\r\n $elem: any;\r\n options: any;\r\n initialized = false; // flag to not update before plugin was initialized\r\n\r\n constructor(element: ElementRef) {\r\n this.$elem = $(element.nativeElement);\r\n this.options = $.fn.jQCloud.defaults.get();\r\n }\r\n\r\n ngOnInit() {\r\n let opts: any = {};\r\n if (this.width) {\r\n opts.width = this.width;\r\n }\r\n if (this.height) {\r\n opts.height = this.height;\r\n }\r\n if (this.steps) {\r\n opts.steps = this.steps;\r\n }\r\n\r\n $.extend(this.options, opts);\r\n this.$elem.jQCloud(this.words, opts);\r\n this.initialized = true;\r\n }\r\n\r\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\r\n if (this.initialized && this.words && changes['words']) {\r\n this.$elem.jQCloud('update', this.words);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.$elem.jQCloud('destroy');\r\n }\r\n}\r\n","import { OnInit, OnDestroy, Directive, Input, ElementRef } from '@angular/core';\r\nimport moment from 'moment';\r\n\r\n@Directive({\r\n selector: '[now]'\r\n})\r\nexport class NowDirective implements OnInit, OnDestroy {\r\n\r\n @Input() format;\r\n intervalId;\r\n\r\n constructor(public element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this.updateTime();\r\n this.intervalId = setInterval(this.updateTime.bind(this), 1000);\r\n }\r\n\r\n updateTime() {\r\n let dt = moment().format(this.format);\r\n this.element.nativeElement.innerHTML = dt;\r\n }\r\n\r\n ngOnDestroy() {\r\n clearInterval(this.intervalId);\r\n }\r\n\r\n}\r\n","import { OnInit, Directive, Input, ElementRef } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Directive({\r\n selector: 'scrollable'\r\n})\r\nexport class ScrollableDirective implements OnInit {\r\n\r\n @Input() height: number;\r\n defaultHeight = 250;\r\n\r\n constructor(public element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n $(this.element.nativeElement).slimScroll({\r\n height: (this.height || this.defaultHeight)\r\n });\r\n }\r\n\r\n}\r\n","import { OnInit, OnDestroy, Directive, Input, ElementRef } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Directive({\r\n selector: '[sparkline]'\r\n})\r\nexport class SparklineDirective implements OnInit, OnDestroy {\r\n\r\n @Input() sparkline;\r\n @Input() values;\r\n\r\n // generate a unique resize event so we can detach later\r\n private resizeEventId = 'resize.sparkline' + 1324;\r\n private $element;\r\n\r\n constructor(private el: ElementRef) {\r\n this.$element = $(el.nativeElement);\r\n }\r\n\r\n ngOnInit() {\r\n this.initSparkLine();\r\n }\r\n\r\n initSparkLine() {\r\n let options = this.sparkline,\r\n data = this.$element.data();\r\n\r\n if (!options) {// if no scope options, try with data attributes\r\n options = data;\r\n }\r\n else {\r\n if (data) {// data attributes overrides scope options\r\n options = $.extend({}, options, data);\r\n }\r\n }\r\n\r\n options.type = options.type || 'bar'; // default chart is bar\r\n options.disableHiddenCheck = true;\r\n\r\n this.runSparkline(options);\r\n\r\n if (options.resize) {\r\n $(window).on(this.resizeEventId, () => {\r\n this.runSparkline(options);\r\n });\r\n }\r\n }\r\n\r\n runSparkline(options) {\r\n if(this.values) {\r\n if( typeof this.values === 'string')\r\n this.values = this.values.split(','); // assume comma separated string\r\n this.$element.sparkline(this.values, options);\r\n }\r\n else {\r\n this.$element.sparkline('html', options);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n $(window).off(this.resizeEventId);\r\n }\r\n}\r\n","import { OnInit, Directive, Input, ElementRef, OnDestroy } from '@angular/core';\r\ndeclare var $: any;\r\n\r\n@Directive({\r\n selector: '[vectormap]'\r\n})\r\nexport class VectormapDirective implements OnInit, OnDestroy {\r\n\r\n @Input() mapHeight: number;\r\n @Input() mapName: any;\r\n @Input() mapOptions: any;\r\n @Input() seriesData: any;\r\n @Input() markersData: any;\r\n\r\n $element: any;\r\n\r\n constructor(public element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n\r\n this.$element = $(this.element.nativeElement);\r\n this.$element.css('height', this.mapHeight);\r\n\r\n if (!this.$element.length || !this.$element.vectorMap) {\r\n return;\r\n }\r\n\r\n this.$element.vectorMap({\r\n map: this.mapName,\r\n backgroundColor: this.mapOptions.bgColor,\r\n zoomMin: 1,\r\n zoomMax: 8,\r\n zoomOnScroll: false,\r\n regionStyle: {\r\n initial: {\r\n 'fill': this.mapOptions.regionFill,\r\n 'fill-opacity': 1,\r\n 'stroke': 'none',\r\n 'stroke-width': 1.5,\r\n 'stroke-opacity': 1\r\n },\r\n hover: {\r\n 'fill-opacity': 0.8\r\n },\r\n selected: {\r\n fill: 'blue'\r\n },\r\n selectedHover: {\r\n }\r\n },\r\n focusOn: { x: 0.4, y: 0.6, scale: this.mapOptions.scale },\r\n markerStyle: {\r\n initial: {\r\n fill: this.mapOptions.markerColor,\r\n stroke: this.mapOptions.markerColor\r\n }\r\n },\r\n onRegionLabelShow: (e, el, code) => {\r\n if (this.seriesData && this.seriesData[code]) {\r\n el.html(el.html() + ': ' + this.seriesData[code] + ' visitors');\r\n }\r\n },\r\n markers: this.markersData,\r\n series: {\r\n regions: [{\r\n values: this.seriesData,\r\n scale: this.mapOptions.scaleColors,\r\n normalizeFunction: 'polynomial'\r\n }]\r\n },\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.$element.vectorMap('get', 'mapObject').remove();\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'keys'\r\n})\r\nexport class DynamictablePipe implements PipeTransform {\r\n\r\n transform(value: any, args: any[]): any {\r\n let keys = [];\r\n for (let key in value) {\r\n // console.log(key);\r\n keys.push(key);\r\n }\r\n return keys;\r\n }\r\n\r\n}\r\n","export default \".color {\\n background-color: #ffffff;\\n}\\n\\n.style {\\n font-weight: bold;\\n border-color: honeydew;\\n}\\n\\nbutton:enabled:hover {\\n background-color: #86bc25 !important;\\n color: #fff !important;\\n}\\n\\nbutton:disabled {\\n color: black;\\n}\\n\\n.sticky-header {\\n z-index: 10;\\n background: #f5f7fa;\\n width: 100%;\\n position: fixed;\\n top: 55px;\\n}\\n\\n.sticky-header-margin-top-30px {\\n margin-top: 30px;\\n}\\n\\n.sticky-header-margin-top-0px {\\n margin-top: 0px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2VudGl0eS1oZWFkZXIvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcZW50aXR5LWhlYWRlclxcZW50aXR5LWhlYWRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvc2hhcmVkL2VudGl0eS1oZWFkZXIvZW50aXR5LWhlYWRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHlCQUFBO0FDQ0o7O0FERUE7RUFDSSxpQkFBQTtFQUNBLHNCQUFBO0FDQ0o7O0FERUE7RUFDSSxvQ0FBQTtFQUNBLHNCQUFBO0FDQ0o7O0FERUE7RUFDSSxZQUFBO0FDQ0o7O0FEQ0E7RUFDSSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLFNBQUE7QUNFSjs7QURDQTtFQUNJLGdCQUFBO0FDRUo7O0FEQ0E7RUFDSSxlQUFBO0FDRUoiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvZW50aXR5LWhlYWRlci9lbnRpdHktaGVhZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbG9ye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO1xyXG4gICAgfVxyXG5cclxuLnN0eWxle1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBib3JkZXItY29sb3I6IGhvbmV5ZGV3O1xyXG4gICAgfVxyXG5cclxuYnV0dG9uOmVuYWJsZWQ6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg2YmMyNSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmYhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuYnV0dG9uOmRpc2FibGVkIHtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG4uc3RpY2t5LWhlYWRlcntcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgYmFja2dyb3VuZDogI2Y1ZjdmYTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA1NXB4O1xyXG59XHJcblxyXG4uc3RpY2t5LWhlYWRlci1tYXJnaW4tdG9wLTMwcHgge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDsgIFxyXG59XHJcblxyXG4uc3RpY2t5LWhlYWRlci1tYXJnaW4tdG9wLTBweCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7ICBcclxufSIsIi5jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5zdHlsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXItY29sb3I6IGhvbmV5ZGV3O1xufVxuXG5idXR0b246ZW5hYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NmJjMjUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uOmRpc2FibGVkIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uc3RpY2t5LWhlYWRlciB7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kOiAjZjVmN2ZhO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDU1cHg7XG59XG5cbi5zdGlja3ktaGVhZGVyLW1hcmdpbi10b3AtMzBweCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi5zdGlja3ktaGVhZGVyLW1hcmdpbi10b3AtMHB4IHtcbiAgbWFyZ2luLXRvcDogMHB4O1xufSJdfQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpGenericService } from 'src/app/core/services/http-genric.service';\r\nimport * as consts from \"../../shared/constants/api.constants\";\r\nimport { first } from 'rxjs/operators';\r\nconst swal = require(\"sweetalert\");\r\nimport Swal from 'sweetalert2';\r\n\r\n\r\n@Component({\r\n selector: 'app-entity-header',\r\n templateUrl: './entity-header.component.html',\r\n styleUrls: ['./entity-header.component.scss']\r\n})\r\nexport class EntityHeaderComponent implements OnInit {\r\n entity: boolean = false;\r\n business: boolean = false;\r\n weightage: boolean = false;\r\n user: boolean = false;\r\n questionnaire: boolean = false;\r\n assessment: boolean = false;\r\n entityEnable: boolean;\r\n businessEnable: boolean;\r\n weightageEnable: boolean;\r\n userEnable: boolean;\r\n questionnaireEnable: boolean;\r\n assessmentEnable: boolean;\r\n status: string;\r\n isDisabled: boolean;\r\n maintab: string;\r\n dashboardEnable: boolean;\r\n dashboard: boolean;\r\n AssessmentStatusEntityName: any;\r\n entityrowdata: any;\r\n entityName: any;\r\n buassessment: boolean;\r\n buweighate: boolean;\r\n RCsum: number = 0;\r\n subcategory: boolean = false;\r\n subcategorydetails: boolean = false;\r\n Customersum: number = 0;\r\n Productsum: number = 0;\r\n Transactionsum: number = 0;\r\n Geographysum: number = 0;\r\n Channelssum: number = 0;\r\n QFsum: number = 0;\r\n\r\n constructor(\r\n private route: Router,\r\n private httpGenericService: HttpGenericService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.entityName = JSON.parse(localStorage.getItem(\"setEntityName\"));\r\n this.maintab = localStorage.getItem('maintab');\r\n // if (this.entityManagementService.getEntityEnsableTab() == true) {\r\n // this.entityEnable = true;\r\n // }\r\n if (this.maintab == 'AssessmentStatus')\r\n this.AssessmentStatusEntityName = JSON.parse(localStorage.getItem('ASEntityName'));\r\n\r\n if (JSON.parse(localStorage.getItem('setDashboardEnableTab')) == true) {\r\n this.dashboardEnable = true;\r\n }\r\n if (JSON.parse(localStorage.getItem('setEntityEnableTab')) == true) {\r\n this.entityEnable = true;\r\n }\r\n // if (this.entityManagementService.getBusinessEnsableTab() == true) {\r\n // this.businessEnable = true;\r\n // }\r\n if (JSON.parse(localStorage.getItem('setBusinessEnableTab')) == true) {\r\n this.businessEnable = true;\r\n }\r\n // if (this.entityManagementService.getWeightageEnsableTab() == true) {\r\n // this.weightageEnable = true;\r\n // }\r\n if (JSON.parse(localStorage.getItem('setWeightageEnableTab')) == true) {\r\n this.weightageEnable = true;\r\n }\r\n // if (this.entityManagementService.getUsersEnsableTab() == true) {\r\n // this.userEnable = true;\r\n // }\r\n if (JSON.parse(localStorage.getItem('setUsersEnableTab')) == true) {\r\n this.userEnable = true;\r\n }\r\n // if (this.entityManagementService.getQuestionnaireEnsableTab() == true) {\r\n // this.questionnaireEnable = true;\r\n // }\r\n if (JSON.parse(localStorage.getItem('setQuestionnaireEnableTab')) == true) {\r\n this.questionnaireEnable = true;\r\n }\r\n // if (this.entityManagementService.getAssessmentEnsableTab() == true) {\r\n // this.assessmentEnable = true;\r\n // }\r\n if (JSON.parse(localStorage.getItem('setAssessmentEnableTab')) == true) {\r\n this.assessmentEnable = true;\r\n }\r\n //this.status = this.entityManagementService.getCss();\r\n this.status = localStorage.getItem('setCss');\r\n if (this.status == '1') {\r\n this.entity = true;\r\n }else if (this.status == '2') {\r\n this.business = true;\r\n }else if (this.status == '3') {\r\n this.user = true;\r\n }else if (this.status == '4') {\r\n this.questionnaire = true;\r\n }else if (this.status == '5') {\r\n this.weightage = true;\r\n }else if (this.status == '6') {\r\n this.assessment = true;\r\n } else if (this.status == '7') { \r\n this.dashboard = true;\r\n }\r\n else if (this.status == '8') { \r\n this.buweighate = true;\r\n }\r\n else if (this.status == '9') { \r\n this.buassessment = true;\r\n }\r\n }\r\n\r\n routeToEntity () {\r\n //this.entityManagementService.setCss(1);\r\n localStorage.setItem('setCss', '1');\r\n\t\tthis.route.navigate([\"/entity/entityonboarding\"]);\r\n }\r\n \r\n routeToBusiness () {\r\n //this.entityManagementService.setCss(2);\r\n localStorage.setItem('setCss', '2');\r\n\t\tthis.route.navigate([\"/entity/addbusinessunit\"]);\r\n }\r\n\r\n routeToUser () {\r\n //this.entityManagementService.setCss(3);\r\n localStorage.setItem('setCss', '3');\r\n\t\tthis.route.navigate([\"/entity/addusers\"]);\r\n }\r\n\r\n routeToQuestionnaire () {\r\n //this.entityManagementService.setCss(4);\r\n localStorage.setItem('setCss', '4');\r\n this.route.navigate([\"/entity/mapquestionnaire\"]);\r\n }\r\n\r\n routeToWeightage () {\r\n //this.entityManagementService.setCss(5);\r\n localStorage.setItem('setCss', '5');\r\n //this.entityManagementService.setWeightageCss(1);\r\n localStorage.setItem('setWeightageCss', '1');\r\n\t\tthis.route.navigate([\"/entity/assignweightage\"]);\r\n }\r\n\r\n routeToAssessment () {\r\n this.RCsum = +localStorage.getItem('RCsum');\r\n this.Customersum = +localStorage.getItem('Customersum');\r\n this.Productsum = +localStorage.getItem('Productsum');\r\n this.Transactionsum = +localStorage.getItem('Transactionsum');\r\n this.Geographysum = +localStorage.getItem('Geographysum');\r\n this.Channelssum = +localStorage.getItem('Channelssum');\r\n this.QFsum = +localStorage.getItem('QFsum');\r\ndebugger\r\n if (\r\n this.RCsum == 100 ||\r\n this.Customersum == 100 ||\r\n this.Productsum == 100 ||\r\n this.Transactionsum == 100 ||\r\n this.Geographysum == 100 ||\r\n this.Channelssum == 100 ||\r\n this.QFsum == 100\r\n ){\r\n localStorage.setItem('setCss', '6');\r\n this.route.navigate([\"/entity/assessmentreview\"]); \r\n } \r\n }\r\n\r\n routeToDashboard() {\r\n //this.entityManagementService.setCss(6);\r\n localStorage.setItem('setCss', '7');\r\n //this.route.navigate([\"/entity/dashboard\"]);\r\n this.route.navigate([\"/business/Dashboard\"]);\r\n }\r\n\r\n routeToBUWeightage() {\r\n localStorage.setItem('setCss', '8');\r\n this.route.navigate([\"/business/BUWeightage\"]);\r\n }\r\n\r\n routeToBUAssessment() {\r\n localStorage.setItem('setCss', '9');\r\n this.route.navigate([\"/business/BUAssessment\"]);\r\n }\r\n \r\n getEntityData(id: number) {\r\n this.httpGenericService\r\n .fetchAll(\r\n `${consts.API.entityDetails.getEntityDetailsById\r\n }?entityId=${id}`\r\n )\r\n .pipe(first())\r\n .subscribe((res) => {\r\n let response: any = res[\"Result\"];\r\n this.entityrowdata = response;\r\n });\r\n }\r\n}\r\n","import { MessageService } from 'primeng/api';\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AccordionModule } from 'ngx-bootstrap/accordion';\r\nimport { AlertModule } from 'ngx-bootstrap/alert';\r\nimport { ButtonsModule } from 'ngx-bootstrap/buttons';\r\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\r\nimport { ProgressbarModule } from 'ngx-bootstrap/progressbar';\r\nimport { RatingModule } from 'ngx-bootstrap/rating';\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\r\nimport { DatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { FlotDirective } from './directives/flot/flot.directive';\r\nimport { SparklineDirective } from './directives/sparkline/sparkline.directive';\r\nimport { EasypiechartDirective } from './directives/easypiechart/easypiechart.directive';\r\nimport { ColorsService } from './colors/colors.service';\r\nimport { CheckallDirective } from './directives/checkall/checkall.directive';\r\nimport { VectormapDirective } from './directives/vectormap/vectormap.directive';\r\nimport { NowDirective } from './directives/now/now.directive';\r\nimport { ScrollableDirective } from './directives/scrollable/scrollable.directive';\r\nimport { JqcloudDirective } from './directives/jqcloud/jqcloud.directive';\r\nimport { LoadingScreenComponent } from './components/loading-screen/loading-screen.component';\r\nimport { BlockUIModule } from 'ng-block-ui';\r\nimport {ToastModule} from 'primeng/toast';\r\nimport {InputTextModule} from 'primeng/inputtext';\r\nimport {InputSwitchModule} from 'primeng/inputswitch';\r\nimport {CheckboxModule} from 'primeng/checkbox';\r\nimport {TableModule} from 'primeng/table';\r\nimport {ButtonModule} from 'primeng/button';\r\nimport {DropdownModule} from 'primeng/dropdown';\r\nimport {MultiSelectModule} from 'primeng/multiselect';\r\nimport {TreeTableModule} from 'primeng/treetable';\r\nimport {TreeNode} from 'primeng/api';\r\nimport {DialogModule} from 'primeng/dialog';\r\nimport {DatePipe} from '@angular/common';\r\nimport {PanelModule} from 'primeng/panel';\r\nimport {FileUploadModule} from 'primeng/fileupload';\r\nimport { DialogService } from 'primeng/dynamicdialog';\r\nimport {RadioButtonModule} from 'primeng/radiobutton';\r\nimport {ChipsModule} from 'primeng/chips';\r\nimport { EntityHeaderComponent } from './entity-header/entity-header.component';\r\nimport { HomeComponent } from '../modules/home/components/home.component';\r\nimport { AssessmentreviewComponent } from '../modules/entity-management/components/assessmentreview/assessmentreview.component';\r\nimport { AssignweightagesComponent } from '../modules/entity-management/components/assignweightages/assignweightages.component';\r\nimport { CustomCssPipePipe } from '../Pipes/custom-css-pipe.pipe';\r\nimport { DetailedReportComponent } from '../modules/home/components/detailed-report/detailed-report.component';\r\nimport { CompositionReportComponent } from '../modules/home/components/composition-report/composition-report.component';\r\nimport {NgxPaginationModule} from 'ngx-pagination';\r\n// https://angular.io/styleguide#!#04-10\r\n@NgModule({\r\n imports: [\r\n ChipsModule,\r\n RadioButtonModule,\r\n CheckboxModule,\r\n InputSwitchModule,\r\n MultiSelectModule,\r\n DropdownModule,\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n DialogModule,\r\n AccordionModule.forRoot(),\r\n AlertModule.forRoot(),\r\n ButtonsModule.forRoot(),\r\n CarouselModule.forRoot(),\r\n CollapseModule.forRoot(),\r\n DatepickerModule.forRoot(),\r\n BsDatepickerModule.forRoot(),\r\n BsDropdownModule.forRoot(),\r\n ModalModule.forRoot(),\r\n PaginationModule.forRoot(),\r\n ProgressbarModule.forRoot(),\r\n RatingModule.forRoot(),\r\n TabsModule.forRoot(),\r\n TimepickerModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n PopoverModule.forRoot(),\r\n TypeaheadModule.forRoot(),\r\n BlockUIModule.forRoot(),\r\n ToastModule,\r\n InputTextModule,\r\n TableModule,\r\n ButtonModule,\r\n DropdownModule,\r\n MultiSelectModule,\r\n DropdownModule,\r\n TreeTableModule,\r\n InputSwitchModule,\r\n PanelModule,\r\n CheckboxModule,\r\n FileUploadModule,\r\n NgxPaginationModule\r\n ],\r\n providers: [\r\n ColorsService,\r\n MessageService,DialogService,DatePipe\r\n ],\r\n declarations: [\r\n FlotDirective,\r\n SparklineDirective,\r\n EasypiechartDirective,\r\n CheckallDirective,\r\n VectormapDirective,\r\n NowDirective,\r\n ScrollableDirective,\r\n JqcloudDirective,\r\n LoadingScreenComponent,\r\n EntityHeaderComponent,\r\n HomeComponent,\r\n AssignweightagesComponent,\r\n AssessmentreviewComponent,\r\n CustomCssPipePipe,\r\n DetailedReportComponent,\r\n CompositionReportComponent\r\n ],\r\n exports: [\r\n ChipsModule,\r\n RadioButtonModule,\r\n DialogModule,\r\n CheckboxModule,\r\n InputSwitchModule,\r\n MultiSelectModule,\r\n DropdownModule,\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n RouterModule,\r\n AccordionModule,\r\n AlertModule,\r\n ButtonsModule,\r\n CarouselModule,\r\n CollapseModule,\r\n DatepickerModule,\r\n BsDatepickerModule,\r\n BsDropdownModule,\r\n ModalModule,\r\n PaginationModule,\r\n ProgressbarModule,\r\n RatingModule,\r\n TabsModule,\r\n TimepickerModule,\r\n TooltipModule,\r\n PopoverModule,\r\n TypeaheadModule,\r\n FlotDirective,\r\n SparklineDirective,\r\n EasypiechartDirective,\r\n CheckallDirective,\r\n VectormapDirective,\r\n NowDirective,\r\n ScrollableDirective,\r\n JqcloudDirective,\r\n LoadingScreenComponent,\r\n BlockUIModule,\r\n ToastModule,\r\n InputTextModule,\r\n TableModule,\r\n ButtonModule,\r\n DropdownModule,\r\n MultiSelectModule,\r\n DropdownModule,\r\n TreeTableModule,\r\n InputSwitchModule,\r\n PanelModule,\r\n CheckboxModule,\r\n FileUploadModule,\r\n EntityHeaderComponent,\r\n HomeComponent,\r\n AssignweightagesComponent,\r\n AssessmentreviewComponent,\r\n CustomCssPipePipe,\r\n DetailedReportComponent,\r\n CompositionReportComponent\r\n ]\r\n})\r\n\r\n// https://github.com/ocombe/ng2-translate/issues/209\r\n\r\nexport class SharedModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: SharedModule\r\n };\r\n }\r\n}\r\n","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #fff;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #86BC25;\\n background-image: linear-gradient(to right, #86BC25 0%, #a0d93b 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #74a220 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #496714;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #86BC25;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #000;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n background-color: #86BC25;\\n color: #fff;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #86BC25;\\n color: #fff;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n background-color: #86BC25;\\n color: #fff;\\n}\\n.sidebar-nav > li.active {\\n background-color: #86BC25;\\n color: #86BC25;\\n}\\n.sidebar-subnav {\\n background-color: #fff;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #000;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #000;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n background-color: #86BC25;\\n color: #86BC25;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #86BC25;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #86BC25;\\n background-color: #86BC25;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFx0aGVtZXNcXHRoZW1lLWEuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtYS5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3R5bGVzL3RoZW1lcy9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcc2hhcmVkXFxzdHlsZXNcXGFwcFxcdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdHlsZXMvdGhlbWVzL0Q6XFxJbmRpYUJVXFxBZ2VudFBvb2xcXERvdE5ldFxcRG90TmV0RnJhbWV3b3JrXFxfd29ya1xcMjk2XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0eWxlc1xcYm9vdHN0cmFwXFxtaXhpbnNcXF9ncmFkaWVudHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbURBOzs2RUFBQTtBQUdBO0VBQ0kseUJBOUM0QjtBQ0poQztBRHFEQTtFQUNJLHNCQWpENEI7QUNEaEM7QURxREE7OzZFQUFBO0FBR0E7RUFDSSx5QkVoRG9CO0VDSnRCLHFFQUFBO0VBQ0EsMkJBQUE7QUZHRjtBRzBDSTtFSldRO0lBQ0ksa0NBQUE7RUNsRGQ7QUFDRjtBRHNESTtFQUNJLFdBM0R3QjtBQ09oQztBRHVESTs7RUFFSSxXQWhFd0I7QUNXaEM7QURzRFE7OztFQUNJLGNBakVvQjtBQ2VoQztBRHNESTtFQUNJLHlCRXhFZ0I7QURvQnhCO0FEd0RBOzs2RUFBQTtBQUdBO0VBQ0ksc0JBeEY0QjtBQ21DaEM7QUR1REk7RUFDSSxjQWpFMEI7QUNZbEM7QUQ0RFE7RUFDSSxXQW5Gc0I7QUMwQmxDO0FEMkRZO0VBQ0kseUJBakUwQjtFQWtFMUIsV0FqRTBCO0FDUTFDO0FENkRZO0VBQ0ksZUF4RmtCO0FDNkJsQztBRGtFWTtFQUNJLHlCQS9FMEI7RUFnRjFCLFdBL0UwQjtBQ2UxQztBRG1FWTtFQUNJLHlCQXBGMEI7RUFxRjFCLFdBcEYwQjtBQ21CMUM7QURzRVE7RUFDSSx5QkEzRjhCO0VBNEY5QixjRXpIWTtBRHFEeEI7QUQyRUE7RUFDSSxzQkF6STRCO0FDaUVoQztBRDBFSTtFQUNJLFdBNUgwQjtBQ29EbEM7QUQ0RVE7RUFDSSxXQWpJc0I7QUN1RGxDO0FENEVZO0VBQ0kseUJBL0cwQjtFQWdIMUIsY0U3SVE7QURtRXhCO0FEZ0ZZO0VBQ0ksY0VwSlE7QURzRXhCO0FEZ0ZnQjtFQUNJLHFCRXZKSTtFRndKSix5QkV4Skk7QUQwRXhCO0FEeUZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkFqSnNCO0VBa0p0QixjRTlDd0I7QUR4QzVCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtYS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQm9vdHN0cmFwXHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvbWl4aW5zXCI7XHJcbkBpbXBvcnQgJy4uL2FwcC92YXJpYWJsZXMnO1xyXG5cclxuXHJcbi8vIExBWU9VVFxyXG5cclxuJGNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYXNpZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcblxyXG4vLyBOQVZCQVIgVE9QXHJcblxyXG4kbmF2LXRvcC1iZzogICAgICAgICAgICAgICAgICAgICRpbmZvO1xyXG4kbmF2LXRvcC1iZy1zdGFydDogICAgICAgICAgICAgICRuYXYtdG9wLWJnO1xyXG4kbmF2LXRvcC1iZy1lbmQ6ICAgICAgICAgICAgICAgICRpbmZvLWxpZ2h0O1xyXG4kbmF2LWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuJG5hdi10b3AtaXRlbTogICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kbmF2LXRvcC1pdGVtLWFjdGl2ZTogICAgICAgICAgIGRhcmtlbigkbmF2LXRvcC1iZywgMjAlKTtcclxuXHJcbi8vIFNJREVCQVJcclxuXHJcbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYXNpZGUtYmc7XHJcblxyXG4kc2lkZWJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgIzAwMDtcclxuJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU6ICAgICAgICRuYXYtdG9wLWJnO1xyXG4kc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTogICAgICAgICAgZGFya2VuKCRzaWRlYmFyLWJnLCAxJSk7XHJcblxyXG4kc2lkZWJhci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdHM7XHJcbiRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlOiAgICAgICAkbmF2LXRvcC1iZztcclxuXHJcbiRzaWRlYmFyLWJ1bGxldC1jb2xvcjogICAgICAgICAgICByZ2JhKDAsMCwwLC4yNSk7XHJcbiRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU6ICAgICAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiRzaWRlYmFyLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAjOTE5REE4O1xyXG4kc2lkZWJhci1sYWJlbC1jb2xvcjogICAgICAgICAgICAgJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbi8vIE9GRlNJREVCQVJcclxuXHJcbiRvZmZzaWRlYmFyLWJnOiAgICAgICAgICAgI2ZmZjtcclxuJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yOiBncmV5c2NhbGUoZGFya2VuKCRvZmZzaWRlYmFyLWJnLCAyMCUpKTtcclxuJG9mZnNpZGViYXItY29sb3I6ICAgICAgICAkYm9keS1jb2xvcjtcclxuXHJcbi8vIFNpZGViYXIgTmV3IHN0eWxlXHJcblxyXG4kc2lkZWJhci1pdGVtLXNlbGVjdGlvbi1iZ2NvbG9yOiAgICAgICAgICAjODZCQzI1O1xyXG4kc2lkZWJhci1pdGVtLXNlbGVjdGlvbi1jb2xvcjogICAgICAgICAgICAjZmZmO1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxheW91dFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuYm9keSwgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWJnO1xyXG59XHJcblxyXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhc2lkZS1iZztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnRvcG5hdmJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJG5hdi10b3AtYmctc3RhcnQsICRuYXYtdG9wLWJnLWVuZCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTNweCAwIGRhcmtlbigkbmF2LXRvcC1iZywgNiUpIGluc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdmJhci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGViYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgLm5hdi1oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaGVhZGluZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSXRlbXNcclxuLnNpZGViYXItbmF2IHtcclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItaXRlbS1zZWxlY3Rpb24tYmdjb2xvcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLXNlbGVjdGlvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gSXRlbSBpY29uXHJcbiAgICAgICAgICAgID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBY3RpdmUgaXRlbSBzdGF0ZVxyXG4gICAgICAgICYuYWN0aXZlLCAmLm9wZW4ge1xyXG4gICAgICAgICAgICAmLCA+IGEsID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItaXRlbS1zZWxlY3Rpb24tYmdjb2xvcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLXNlbGVjdGlvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubmF2LWl0ZW0gPiBlbSwgPiBhID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItaXRlbS1zZWxlY3Rpb24tYmdjb2xvcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLXNlbGVjdGlvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItaXRlbS1zZWxlY3Rpb24tYmdjb2xvcjtcclxuICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uc2lkZWJhci1zdWJuYXYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tc2VsZWN0aW9uLWJnY29sb3I7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm9mZnNpZGViYXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkb2Zmc2lkZWJhci1ib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmc2lkZWJhci1iZztcclxuICAgIGNvbG9yOiAkb2Zmc2lkZWJhci1jb2xvcjtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogbGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHksIC53cmFwcGVyIC5zZWN0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7XG59XG5cbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udG9wbmF2YmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg2QkMyNTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjODZCQzI1IDAlLCAjYTBkOTNiIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rLCAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6aG92ZXIsIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAtM3B4IDAgIzc0YTIyMCBpbnNldDtcbiAgfVxufVxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpob3ZlciwgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyxcbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpob3Zlcixcbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNDk2NzE0O1xufVxuLnRvcG5hdmJhciAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC50b3BuYXZiYXIgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg2QkMyNTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IHNpZGViYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNpZGViYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXIgLm5hdi1oZWFkaW5nIHtcbiAgY29sb3I6ICM5MTlEQTg7XG59XG5cbi5zaWRlYmFyLW5hdiA+IGxpID4gYSwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogIzAwMDtcbn1cbi5zaWRlYmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnNpZGViYXItbmF2ID4gbGkgPiBhOmhvdmVyLCAuc2lkZWJhci1uYXYgPiBsaSA+IC5uYXYtaXRlbTpmb2N1cywgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODZCQzI1O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLW5hdiA+IGxpID4gYSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaSA+IC5uYXYtaXRlbSA+IGVtIHtcbiAgY29sb3I6IGluaGVyaXRzO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiBhLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSAuc2lkZWJhci1uYXYsIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4sIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gPiBhLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuIC5zaWRlYmFyLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NkJDMjU7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtID4gZW0sIC5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IC5uYXYtaXRlbSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gYSA+IGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg2QkMyNTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODZCQzI1O1xuICBjb2xvcjogIzg2QkMyNTtcbn1cblxuLnNpZGViYXItc3VibmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xuICBjb2xvcjogIzAwMDtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYSwgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogIzAwMDtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYTpmb2N1cywgLnNpZGViYXItc3VibmF2ID4gbGkgPiBhOmhvdmVyLCAuc2lkZWJhci1zdWJuYXYgPiBsaSA+IC5uYXYtaXRlbTpmb2N1cywgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODZCQzI1O1xuICBjb2xvcjogIzg2QkMyNTtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IGEsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbSB7XG4gIGNvbG9yOiAjODZCQzI1O1xufVxuLnNpZGViYXItc3VibmF2ID4gbGkuYWN0aXZlID4gYTphZnRlciwgLnNpZGViYXItc3VibmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtOmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjODZCQzI1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODZCQzI1O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ub2Zmc2lkZWJhciB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZ3JleXNjYWxlKCNjY2NjY2MpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY1NjU2NTtcbn0iLCJcclxuLy8gQ3V0b21zIEdyYXkgY29sb3JzIGZvciB0aGVtZVxyXG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAjMjMyNzM1O1xyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAjM2EzZjUxO1xyXG4kZ3JheTogICAgICAgICAgICAgICAgICAjZGRlNmU5O1xyXG4kZ3JheS1saWdodDogICAgICAgICAgICAjZTRlYWVjO1xyXG4kZ3JheS1saWdodGVyOiAgICAgICAgICAjZWRmMWYyO1xyXG5cclxuLy8gQ3VzdG9tIGJyYW5kIGNvbG9ycyBmb3IgdGhlbWVcclxuJGludmVyc2U6ICAgICAgICAgICAgICAgIzEzMWUyNjtcclxuJHB1cnBsZTogICAgICAgICAgICAgICAgIzcyNjZiYTtcclxuJHBpbms6ICAgICAgICAgICAgICAgICAgI2Y1MzJlNTtcclxuJHllbGxvdzogICAgICAgICAgICAgICAgI2ZhZDczMjtcclxuJGdyZWVuOiAgICAgICAgICAgICAgICAgIzMxQjQ0QTtcclxuXHJcbiRwcmltYXJ5OiAgICAgICAgICAgICAgICMwMEFCRTc7XHJcbiRzZWNvbmRhcnk6ICAgICAgICAgICAgICNmZmY7XHJcbiRzdWNjZXNzOiAgICAgICAgICAgICAgICMyN2MyNGM7XHJcbiRpbmZvOiAgICAgICAgICAgICAgICAgICM4NkJDMjUgIDtcclxuJHdhcm5pbmc6ICAgICAgICAgICAgICAgI2ZmOTAyYjtcclxuJGRhbmdlcjogICAgICAgICAgICAgICAgI2YwNTA1MDtcclxuJGRhcms6ICAgICAgICAgICAgICAgICAgIzNhM2Y1MTtcclxuXHJcbi8vIEN1c3RvbSBjb2xvciB2YXJpYW50c1xyXG4kYW1vdW50T2ZMaWdodDogMTAlO1xyXG5cclxuJHByaW1hcnktbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1saWdodDogICAgICAgICBsaWdodGVuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tbGlnaHQ6ICAgICAgICAgICBsaWdodGVuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1saWdodDogICAgICAgICAgICBsaWdodGVuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuJHByaW1hcnktZGFyazogICAgICAgICAgZGFya2VuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWRhcms6ICAgICAgICAgIGRhcmtlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctZGFyazogICAgICAgICAgZGFya2VuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItZGFyazogICAgICAgICAgIGRhcmtlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWRhcms6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tZGFyazogICAgICAgICAgICBkYXJrZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWRhcms6ICAgICAgICAgICBkYXJrZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWRhcms6ICAgICAgICAgICBkYXJrZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG5cclxuLy8gVGhlbWUgdmFyaWFibGVzXHJcblxyXG4vLyB1c2VkIGZvciBzaWRlYmFycyBhbmQgY29udGVudCBzcGFjaW5nXHJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTVweDtcclxuXHJcbi8vIEJ1dHRvbiBzZWNvbmRhcnkgcmVkZWZpbml0aW9uIHN0eWxlIGZvciB0aGVtZVxyXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICMzMzM7XHJcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJGJ0bi1zZWNvbmRhcnktYm9yZGVyOiAgICAgICAgICAgICAjZWFlYWVhO1xyXG5cclxuLy8gVG9wIEJvcmRlciBjb2xvciBmb3IgY3VzdG9tIGRlZmF1bHQgY2FyZHMgKC5jYXJkLWRlZmF1bHQpXHJcbiRjYXJkLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgI2NmZGJlMjtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVXRpbGl0aWVzIHZhcmlhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiR0ZXh0LWFscGhhOiAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xyXG4kdGV4dC1hbHBoYS1pbnZlcnNlOiAgICByZ2JhKDAsMCwwLC41KTtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgIDFyZW07XHJcbiR0ZXh0LXNtOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDAuNzQzNzU7XHJcbiR0ZXh0LW1kOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNjYyNTtcclxuJHRleHQtbGc6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi42MjU7XHJcblxyXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4kd2QteHhzOiAgICAgICAgICAgICAgICA2MHB4O1xyXG4kd2QteHM6ICAgICAgICAgICAgICAgICA5MHB4O1xyXG4kd2Qtc206ICAgICAgICAgICAgICAgICAxNTBweDtcclxuJHdkLXNkOiAgICAgICAgICAgICAgICAgMjAwcHg7IC8vIHNkID09IHN0YW5kYXJkXHJcbiR3ZC1tZDogICAgICAgICAgICAgICAgIDI0MHB4O1xyXG4kd2QtbGc6ICAgICAgICAgICAgICAgICAyODBweDtcclxuJHdkLXhsOiAgICAgICAgICAgICAgICAgMzIwcHg7XHJcbiR3ZC14eGw6ICAgICAgICAgICAgICAgIDM2MHB4O1xyXG4kd2Qtd2lkZTogICAgICAgICAgICAgICAxMDAlO1xyXG4kd2QtYXV0bzogICAgICAgICAgICAgICBhdXRvO1xyXG4kd2QtemVybzogICAgICAgICAgICAgICAwO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBCb290c3RyYXAgNCBWYXJpYWJsZXMgT3ZlcnJpZGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBDb2xvciBzeXN0ZW1cclxuXHJcbiRjb2xvcnM6IChcclxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxyXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxyXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXHJcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxyXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXHJcbiAgICAnaW52ZXJzZSc6ICAgICRpbnZlcnNlLFxyXG5cclxuICAgICdwcmltYXJ5LWxpZ2h0JzogJHByaW1hcnktbGlnaHQsXHJcbiAgICAncHJpbWFyeS1kYXJrJzogICRwcmltYXJ5LWRhcmssXHJcbiAgICAnc3VjY2Vzcy1saWdodCc6ICRzdWNjZXNzLWxpZ2h0LFxyXG4gICAgJ3N1Y2Nlc3MtZGFyayc6ICAkc3VjY2Vzcy1kYXJrLFxyXG4gICAgJ2luZm8tbGlnaHQnOiAgICAkaW5mby1saWdodCxcclxuICAgICdpbmZvLWRhcmsnOiAgICAgJGluZm8tZGFyayxcclxuICAgICd3YXJuaW5nLWxpZ2h0JzogJHdhcm5pbmctbGlnaHQsXHJcbiAgICAnd2FybmluZy1kYXJrJzogICR3YXJuaW5nLWRhcmssXHJcbiAgICAnZGFuZ2VyLWxpZ2h0JzogICRkYW5nZXItbGlnaHQsXHJcbiAgICAnZGFuZ2VyLWRhcmsnOiAgICRkYW5nZXItZGFyayxcclxuICAgICdncmVlbi1saWdodCc6ICAgJGdyZWVuLWxpZ2h0LFxyXG4gICAgJ2dyZWVuLWRhcmsnOiAgICAkZ3JlZW4tZGFyayxcclxuICAgICdwaW5rLWxpZ2h0JzogICAgJHBpbmstbGlnaHQsXHJcbiAgICAncGluay1kYXJrJzogICAgICRwaW5rLWRhcmssXHJcbiAgICAncHVycGxlLWxpZ2h0JzogICRwdXJwbGUtbGlnaHQsXHJcbiAgICAncHVycGxlLWRhcmsnOiAgICRwdXJwbGUtZGFyayxcclxuICAgICdpbnZlcnNlLWxpZ2h0JzogJGludmVyc2UtbGlnaHQsXHJcbiAgICAnaW52ZXJzZS1kYXJrJzogICRpbnZlcnNlLWRhcmssXHJcbiAgICAneWVsbG93LWxpZ2h0JzogICR5ZWxsb3ctbGlnaHQsXHJcbiAgICAneWVsbG93LWRhcmsnOiAgICR5ZWxsb3ctZGFyayxcclxuKTtcclxuXHJcblxyXG4kdGhlbWUtY29sb3JzOiAoXHJcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxyXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyXHJcbik7XHJcblxyXG4vLyBCb2R5XHJcblxyXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgI2Y1ZjdmYTtcclxuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICM2NTY1NjU7XHJcblxyXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW07XHJcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zNzVyZW07XHJcblxyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUyODU3MTQyOTtcclxuXHJcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMTtcclxuXHJcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICM5MDlGQTc7XHJcblxyXG4vLyBUYWJsZXNcclxuXHJcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgICNmYWZiZmM7XHJcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgICNmYWZiZmM7XHJcblxyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAjZWVlO1xyXG5cclxuLy8gQnV0dG9ucyArIEZvcm1zXHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAxcmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjMxMjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC42MjVyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNjI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxLjI1cmVtO1xyXG5cclxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgMi4xODc1cmVtOyAvLyAzNXB4XHJcblxyXG4vLyBGb3Jtc1xyXG5cclxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheTtcclxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICM2NmFmZTk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAjYjdiYWM5O1xyXG5cclxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgICAgIG5vbmU7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgICAgICBub25lO1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgIGxpZ2h0ZW4oJHByaW1hcnksIDI1JSk7XHJcblxyXG4vLyBEcm9wZG93bnNcclxuXHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNlMWUxZTE7XHJcblxyXG4vLyBOYXZzXHJcblxyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAjZmZmO1xyXG5cclxuLy8gSnVtYm90cm9uXHJcblxyXG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmNmY2ZjO1xyXG5cclxuLy8gTGlzdCBncm91cFxyXG5cclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgI2U0ZWFlYztcclxuXHJcbi8vIEltYWdlIHRodW1ibmFpbHNcclxuXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4xMjVyZW07XHJcblxyXG5cclxuLy8gQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICNmYWZhZmE7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICNjMWMyYzM7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yO1xyXG4iLCIvLyBHcmFkaWVudHNcclxuXHJcbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcclxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDU3NnB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG59XHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDc2Ny45OHB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xyXG59XHJcblxyXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxyXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiLXNtXCJcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtaW4ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1heCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\";","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #fff;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #31B44A;\\n background-image: linear-gradient(to right, #31B44A 0%, #4ace63 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #2a9c40 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #1b6429;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #31B44A;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #31B44A;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #31B44A;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #31B44A;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #31B44A;\\n}\\n.sidebar-subnav {\\n background-color: #fff;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #31B44A;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #31B44A;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #31B44A;\\n background-color: #31B44A;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFx0aGVtZXNcXHRoZW1lLWIuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtYi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3R5bGVzL3RoZW1lcy9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcc2hhcmVkXFxzdHlsZXNcXGFwcFxcdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdHlsZXMvdGhlbWVzL0Q6XFxJbmRpYUJVXFxBZ2VudFBvb2xcXERvdE5ldFxcRG90TmV0RnJhbWV3b3JrXFxfd29ya1xcMjk2XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0eWxlc1xcYm9vdHN0cmFwXFxtaXhpbnNcXF9ncmFkaWVudHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQ0poQztBRGdEQTtFQUNJLHNCQTVDNEI7QUNEaEM7QURnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkVoRG9CO0VDQ3RCLHFFQUFBO0VBQ0EsMkJBQUE7QUZHRjtBRzBDSTtFSk1RO0lBQ0ksa0NBQUE7RUM3Q2Q7QUFDRjtBRGlESTtFQUNJLFdBdER3QjtBQ09oQztBRGtESTs7RUFFSSxXQTNEd0I7QUNXaEM7QURpRFE7OztFQUNJLGNBNURvQjtBQ2VoQztBRGlESTtFQUNJLHlCRXhFZ0I7QUR5QnhCO0FEbURBOzs2RUFBQTtBQUdBO0VBQ0ksc0JBbkY0QjtBQ21DaEM7QURrREk7RUFDSSxjQTVEMEI7QUNZbEM7QUR1RFE7RUFDSSxjQTlFc0I7QUMwQmxDO0FEc0RZO0VBQ0ksY0U5RlE7QUQwQ3hCO0FEd0RZO0VBQ0ksZUFsRmtCO0FDNEJsQztBRDZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNFNUdRO0FEaUR4QjtBRDhEWTtFQUNJLGNFaEhRO0FEb0R4QjtBRGlFUTtFQUNJLDBCRXRIWTtBRHVEeEI7QURzRUE7RUFDSSxzQkFqSTRCO0FDOERoQztBRHFFSTtFQUNJLGNBcEgwQjtBQ2lEbEM7QUR1RVE7RUFDSSxjQXpIc0I7QUNvRGxDO0FEdUVZO0VBQ0ksY0V6SVE7QURvRXhCO0FEMkVZO0VBQ0ksY0VoSlE7QUR1RXhCO0FEMkVnQjtFQUNJLHFCRW5KSTtFRm9KSix5QkVwSkk7QUQyRXhCO0FEb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjRXJDd0I7QUQ1QzVCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtYi5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQm9vdHN0cmFwXHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvbWl4aW5zXCI7XHJcbkBpbXBvcnQgJy4uL2FwcC92YXJpYWJsZXMnO1xyXG5cclxuXHJcbi8vIExBWU9VVFxyXG5cclxuJGNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYXNpZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcblxyXG4vLyBOQVZCQVIgVE9QXHJcblxyXG4kbmF2LXRvcC1iZzogICAgICAgICAgICAgICAgICAgICRncmVlbjtcclxuJG5hdi10b3AtYmctc3RhcnQ6ICAgICAgICAgICAgICAkbmF2LXRvcC1iZztcclxuJG5hdi10b3AtYmctZW5kOiAgICAgICAgICAgICAgICAkZ3JlZW4tbGlnaHQ7XHJcbiRuYXYtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcblxyXG4kbmF2LXRvcC1pdGVtOiAgICAgICAgICAgICAgICAgICNmZmY7XHJcbiRuYXYtdG9wLWl0ZW0tYWN0aXZlOiAgICAgICAgICAgZGFya2VuKCRuYXYtdG9wLWJnLCAyMCUpO1xyXG5cclxuLy8gU0lERUJBUlxyXG5cclxuJHNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRhc2lkZS1iZztcclxuXHJcbiRzaWRlYmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAjNTE1MjUzO1xyXG4kc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTogICAgICAgJG5hdi10b3AtYmc7XHJcbiRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlOiAgICAgICAgICBkYXJrZW4oJHNpZGViYXItYmcsIDElKTtcclxuXHJcbiRzaWRlYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0cztcclxuJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU6ICAgICAgICRuYXYtdG9wLWJnO1xyXG5cclxuJHNpZGViYXItYnVsbGV0LWNvbG9yOiAgICAgICAgICAgIHJnYmEoMCwwLDAsLjI1KTtcclxuJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTogICAgICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuJHNpZGViYXItaGVhZGluZy1jb2xvcjogICAgICAgICAgICM5MTlEQTg7XHJcbiRzaWRlYmFyLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuLy8gT0ZGU0lERUJBUlxyXG5cclxuJG9mZnNpZGViYXItYmc6ICAgICAgICAgICAjZmZmO1xyXG4kb2Zmc2lkZWJhci1ib3JkZXItY29sb3I6IGdyZXlzY2FsZShkYXJrZW4oJG9mZnNpZGViYXItYmcsIDIwJSkpO1xyXG4kb2Zmc2lkZWJhci1jb2xvcjogICAgICAgICRib2R5LWNvbG9yO1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxheW91dFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuYm9keSwgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWJnO1xyXG59XHJcblxyXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhc2lkZS1iZztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnRvcG5hdmJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJG5hdi10b3AtYmctc3RhcnQsICRuYXYtdG9wLWJnLWVuZCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTNweCAwIGRhcmtlbigkbmF2LXRvcC1iZywgNiUpIGluc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdmJhci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGViYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgLm5hdi1oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaGVhZGluZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSXRlbXNcclxuLnNpZGViYXItbmF2IHtcclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBJdGVtIGljb25cclxuICAgICAgICAgICAgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFjdGl2ZSBpdGVtIHN0YXRlXHJcbiAgICAgICAgJi5hY3RpdmUsICYub3BlbiB7XHJcbiAgICAgICAgICAgICYsID4gYSwgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubmF2LWl0ZW0gPiBlbSwgPiBhID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zaWRlYmFyLXN1Ym5hdiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5vZmZzaWRlYmFyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZnNpZGViYXItYmc7XHJcbiAgICBjb2xvcjogJG9mZnNpZGViYXItY29sb3I7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IGxheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhO1xufVxuXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IHRvcC1uYXZiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRvcG5hdmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMUI0NEE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzMxQjQ0QSAwJSwgIzRhY2U2MyAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluaywgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rOmhvdmVyLCAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgLTNweCAwICMyYTljNDAgaW5zZXQ7XG4gIH1cbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2YmFyLXRleHQge1xuICBjb2xvcjogI2ZmZjtcbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMsXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6aG92ZXIsXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzFiNjQyOTtcbn1cbi50b3BuYXZiYXIgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAudG9wbmF2YmFyIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMUI0NEE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBzaWRlYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyIC5uYXYtaGVhZGluZyB7XG4gIGNvbG9yOiAjOTE5REE4O1xufVxuXG4uc2lkZWJhci1uYXYgPiBsaSA+IGEsIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtIHtcbiAgY29sb3I6ICM1MTUyNTM7XG59XG4uc2lkZWJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC5zaWRlYmFyLW5hdiA+IGxpID4gYTpob3ZlciwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW06Zm9jdXMsIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICMzMUI0NEE7XG59XG4uc2lkZWJhci1uYXYgPiBsaSA+IGEgPiBlbSwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW0gPiBlbSB7XG4gIGNvbG9yOiBpbmhlcml0cztcbn1cbi5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gYSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgLnNpZGViYXItbmF2LCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gYSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiAuc2lkZWJhci1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjO1xuICBjb2xvcjogIzMxQjQ0QTtcbn1cbi5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiBhID4gZW0sIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gPiAubmF2LWl0ZW0gPiBlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IGEgPiBlbSB7XG4gIGNvbG9yOiAjMzFCNDRBO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMzMUI0NEE7XG59XG5cbi5zaWRlYmFyLXN1Ym5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1zdWJuYXYgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcbiAgY29sb3I6ICM1MTUyNTM7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaSA+IGEsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gLm5hdi1pdGVtIHtcbiAgY29sb3I6ICM1MTUyNTM7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaSA+IGE6Zm9jdXMsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYTpob3ZlciwgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW06Zm9jdXMsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gLm5hdi1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICMzMUI0NEE7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiBhLCAuc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogIzMxQjQ0QTtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IGE6YWZ0ZXIsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbTphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzMxQjQ0QTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMxQjQ0QTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm9mZnNpZGViYXIge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGdyZXlzY2FsZSgjY2NjY2NjKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NTY1NjU7XG59IiwiXHJcbi8vIEN1dG9tcyBHcmF5IGNvbG9ycyBmb3IgdGhlbWVcclxuJGdyYXktZGFya2VyOiAgICAgICAgICAgIzIzMjczNTtcclxuJGdyYXktZGFyazogICAgICAgICAgICAgIzNhM2Y1MTtcclxuJGdyYXk6ICAgICAgICAgICAgICAgICAgI2RkZTZlOTtcclxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgI2U0ZWFlYztcclxuJGdyYXktbGlnaHRlcjogICAgICAgICAgI2VkZjFmMjtcclxuXHJcbi8vIEN1c3RvbSBicmFuZCBjb2xvcnMgZm9yIHRoZW1lXHJcbiRpbnZlcnNlOiAgICAgICAgICAgICAgICMxMzFlMjY7XHJcbiRwdXJwbGU6ICAgICAgICAgICAgICAgICM3MjY2YmE7XHJcbiRwaW5rOiAgICAgICAgICAgICAgICAgICNmNTMyZTU7XHJcbiR5ZWxsb3c6ICAgICAgICAgICAgICAgICNmYWQ3MzI7XHJcbiRncmVlbjogICAgICAgICAgICAgICAgICMzMUI0NEE7XHJcblxyXG4kcHJpbWFyeTogICAgICAgICAgICAgICAjMDBBQkU3O1xyXG4kc2Vjb25kYXJ5OiAgICAgICAgICAgICAjZmZmO1xyXG4kc3VjY2VzczogICAgICAgICAgICAgICAjMjdjMjRjO1xyXG4kaW5mbzogICAgICAgICAgICAgICAgICAjODZCQzI1ICA7XHJcbiR3YXJuaW5nOiAgICAgICAgICAgICAgICNmZjkwMmI7XHJcbiRkYW5nZXI6ICAgICAgICAgICAgICAgICNmMDUwNTA7XHJcbiRkYXJrOiAgICAgICAgICAgICAgICAgICMzYTNmNTE7XHJcblxyXG4vLyBDdXN0b20gY29sb3IgdmFyaWFudHNcclxuJGFtb3VudE9mTGlnaHQ6IDEwJTtcclxuXHJcbiRwcmltYXJ5LWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1saWdodDogICAgICAgICAgICBsaWdodGVuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1saWdodDogICAgICAgICAgbGlnaHRlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWxpZ2h0OiAgICAgICAgICAgbGlnaHRlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1saWdodDogICAgICAgICAgbGlnaHRlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwcmltYXJ5LWRhcms6ICAgICAgICAgIGRhcmtlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tZGFyazogICAgICAgICAgICAgZGFya2VuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWRhcms6ICAgICAgICAgIGRhcmtlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWRhcms6ICAgICAgICAgICBkYXJrZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1kYXJrOiAgICAgICAgICBkYXJrZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWRhcms6ICAgICAgICAgICAgZGFya2VuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1kYXJrOiAgICAgICAgICAgZGFya2VuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1kYXJrOiAgICAgICAgICAgZGFya2VuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuXHJcbi8vIFRoZW1lIHZhcmlhYmxlc1xyXG5cclxuLy8gdXNlZCBmb3Igc2lkZWJhcnMgYW5kIGNvbnRlbnQgc3BhY2luZ1xyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDU1cHg7XHJcblxyXG4vLyBCdXR0b24gc2Vjb25kYXJ5IHJlZGVmaW5pdGlvbiBzdHlsZSBmb3IgdGhlbWVcclxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAjMzMzO1xyXG4kYnRuLXNlY29uZGFyeS1iZzogICAgICAgICAgICAgICAgICNmZmY7XHJcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICAgI2VhZWFlYTtcclxuXHJcbi8vIFRvcCBCb3JkZXIgY29sb3IgZm9yIGN1c3RvbSBkZWZhdWx0IGNhcmRzICguY2FyZC1kZWZhdWx0KVxyXG4kY2FyZC1kZWZhdWx0LWJvcmRlci1jb2xvcjogICAgICAgICNjZmRiZTI7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFV0aWxpdGllcyB2YXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kdGV4dC1hbHBoYTogICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuJHRleHQtYWxwaGEtaW52ZXJzZTogICAgcmdiYSgwLDAsMCwuNSk7XHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAxcmVtO1xyXG4kdGV4dC1zbTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAwLjc0Mzc1O1xyXG4kdGV4dC1tZDogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjY2MjU7XHJcbiR0ZXh0LWxnOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNjI1O1xyXG5cclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuJHdkLXh4czogICAgICAgICAgICAgICAgNjBweDtcclxuJHdkLXhzOiAgICAgICAgICAgICAgICAgOTBweDtcclxuJHdkLXNtOiAgICAgICAgICAgICAgICAgMTUwcHg7XHJcbiR3ZC1zZDogICAgICAgICAgICAgICAgIDIwMHB4OyAvLyBzZCA9PSBzdGFuZGFyZFxyXG4kd2QtbWQ6ICAgICAgICAgICAgICAgICAyNDBweDtcclxuJHdkLWxnOiAgICAgICAgICAgICAgICAgMjgwcHg7XHJcbiR3ZC14bDogICAgICAgICAgICAgICAgIDMyMHB4O1xyXG4kd2QteHhsOiAgICAgICAgICAgICAgICAzNjBweDtcclxuJHdkLXdpZGU6ICAgICAgICAgICAgICAgMTAwJTtcclxuJHdkLWF1dG86ICAgICAgICAgICAgICAgYXV0bztcclxuJHdkLXplcm86ICAgICAgICAgICAgICAgMDtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQm9vdHN0cmFwIDQgVmFyaWFibGVzIE92ZXJyaWRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ29sb3Igc3lzdGVtXHJcblxyXG4kY29sb3JzOiAoXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxyXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxyXG4gICAgJ2ludmVyc2UnOiAgICAkaW52ZXJzZSxcclxuXHJcbiAgICAncHJpbWFyeS1saWdodCc6ICRwcmltYXJ5LWxpZ2h0LFxyXG4gICAgJ3ByaW1hcnktZGFyayc6ICAkcHJpbWFyeS1kYXJrLFxyXG4gICAgJ3N1Y2Nlc3MtbGlnaHQnOiAkc3VjY2Vzcy1saWdodCxcclxuICAgICdzdWNjZXNzLWRhcmsnOiAgJHN1Y2Nlc3MtZGFyayxcclxuICAgICdpbmZvLWxpZ2h0JzogICAgJGluZm8tbGlnaHQsXHJcbiAgICAnaW5mby1kYXJrJzogICAgICRpbmZvLWRhcmssXHJcbiAgICAnd2FybmluZy1saWdodCc6ICR3YXJuaW5nLWxpZ2h0LFxyXG4gICAgJ3dhcm5pbmctZGFyayc6ICAkd2FybmluZy1kYXJrLFxyXG4gICAgJ2Rhbmdlci1saWdodCc6ICAkZGFuZ2VyLWxpZ2h0LFxyXG4gICAgJ2Rhbmdlci1kYXJrJzogICAkZGFuZ2VyLWRhcmssXHJcbiAgICAnZ3JlZW4tbGlnaHQnOiAgICRncmVlbi1saWdodCxcclxuICAgICdncmVlbi1kYXJrJzogICAgJGdyZWVuLWRhcmssXHJcbiAgICAncGluay1saWdodCc6ICAgICRwaW5rLWxpZ2h0LFxyXG4gICAgJ3BpbmstZGFyayc6ICAgICAkcGluay1kYXJrLFxyXG4gICAgJ3B1cnBsZS1saWdodCc6ICAkcHVycGxlLWxpZ2h0LFxyXG4gICAgJ3B1cnBsZS1kYXJrJzogICAkcHVycGxlLWRhcmssXHJcbiAgICAnaW52ZXJzZS1saWdodCc6ICRpbnZlcnNlLWxpZ2h0LFxyXG4gICAgJ2ludmVyc2UtZGFyayc6ICAkaW52ZXJzZS1kYXJrLFxyXG4gICAgJ3llbGxvdy1saWdodCc6ICAkeWVsbG93LWxpZ2h0LFxyXG4gICAgJ3llbGxvdy1kYXJrJzogICAkeWVsbG93LWRhcmssXHJcbik7XHJcblxyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcclxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlclxyXG4pO1xyXG5cclxuLy8gQm9keVxyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAjNjU2NTY1O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtO1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuMzc1cmVtO1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41Mjg1NzE0Mjk7XHJcblxyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjE7XHJcblxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAjOTA5RkE3O1xyXG5cclxuLy8gVGFibGVzXHJcblxyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICAjZmFmYmZjO1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAjZmFmYmZjO1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgI2VlZTtcclxuXHJcbi8vIEJ1dHRvbnMgKyBGb3Jtc1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgMXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4zMTI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNjI1cmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjYyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMS4yNXJlbTtcclxuXHJcbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgIDIuMTg3NXJlbTsgLy8gMzVweFxyXG5cclxuLy8gRm9ybXNcclxuXHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXk7XHJcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjNjZhZmU5O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgI2I3YmFjOTtcclxuXHJcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgICAgICBub25lO1xyXG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICAgICAgbm9uZTtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICBsaWdodGVuKCRwcmltYXJ5LCAyNSUpO1xyXG5cclxuLy8gRHJvcGRvd25zXHJcblxyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZTFlMWUxO1xyXG5cclxuLy8gTmF2c1xyXG5cclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIEp1bWJvdHJvblxyXG5cclxuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZjZmNmYztcclxuXHJcbi8vIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgICNlNGVhZWM7XHJcblxyXG4vLyBJbWFnZSB0aHVtYm5haWxzXHJcblxyXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMTI1cmVtO1xyXG5cclxuXHJcbi8vIEJyZWFkY3J1bWJzXHJcblxyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAjZmFmYWZhO1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAjYzFjMmMzO1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuIiwiLy8gR3JhZGllbnRzXHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XHJcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXHJcbi8vXHJcbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcclxuLy9cclxuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxyXG4vL1xyXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXHJcblxyXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxyXG4vLyAgICBtZFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xyXG59XHJcblxyXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA1NzZweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cclxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcclxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cclxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxyXG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHJcbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA3NjcuOThweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcclxufVxyXG5cclxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cclxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIi1zbVwiXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWluIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtYXgge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cclxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\";","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #fff;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #7266ba;\\n background-image: linear-gradient(to right, #7266ba 0%, #9289ca 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #5f51b0 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #443a80;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #7266ba;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #7266ba;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #7266ba;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #7266ba;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #7266ba;\\n}\\n.sidebar-subnav {\\n background-color: #fff;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #7266ba;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #7266ba;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #7266ba;\\n background-color: #7266ba;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFx0aGVtZXNcXHRoZW1lLWMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtYy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3R5bGVzL3RoZW1lcy9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcc2hhcmVkXFxzdHlsZXNcXGFwcFxcdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdHlsZXMvdGhlbWVzL0Q6XFxJbmRpYUJVXFxBZ2VudFBvb2xcXERvdE5ldFxcRG90TmV0RnJhbWV3b3JrXFxfd29ya1xcMjk2XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0eWxlc1xcYm9vdHN0cmFwXFxtaXhpbnNcXF9ncmFkaWVudHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQ0poQztBRGdEQTtFQUNJLHNCQTVDNEI7QUNEaEM7QURnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkVuRG9CO0VDSXRCLHFFQUFBO0VBQ0EsMkJBQUE7QUZHRjtBRzBDSTtFSk1RO0lBQ0ksa0NBQUE7RUM3Q2Q7QUFDRjtBRGlESTtFQUNJLFdBdER3QjtBQ09oQztBRGtESTs7RUFFSSxXQTNEd0I7QUNXaEM7QURpRFE7OztFQUNJLGNBNURvQjtBQ2VoQztBRGlESTtFQUNJLHlCRTNFZ0I7QUQ0QnhCO0FEbURBOzs2RUFBQTtBQUdBO0VBQ0ksc0JBbkY0QjtBQ21DaEM7QURrREk7RUFDSSxjQTVEMEI7QUNZbEM7QUR1RFE7RUFDSSxjQTlFc0I7QUMwQmxDO0FEc0RZO0VBQ0ksY0VqR1E7QUQ2Q3hCO0FEd0RZO0VBQ0ksZUFsRmtCO0FDNEJsQztBRDZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNFL0dRO0FEb0R4QjtBRDhEWTtFQUNJLGNFbkhRO0FEdUR4QjtBRGlFUTtFQUNJLDBCRXpIWTtBRDBEeEI7QURzRUE7RUFDSSxzQkFqSTRCO0FDOERoQztBRHFFSTtFQUNJLGNBcEgwQjtBQ2lEbEM7QUR1RVE7RUFDSSxjQXpIc0I7QUNvRGxDO0FEdUVZO0VBQ0ksY0U1SVE7QUR1RXhCO0FEMkVZO0VBQ0ksY0VuSlE7QUQwRXhCO0FEMkVnQjtFQUNJLHFCRXRKSTtFRnVKSix5QkV2Skk7QUQ4RXhCO0FEb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjRXJDd0I7QUQ1QzVCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtYy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQm9vdHN0cmFwXHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvbWl4aW5zXCI7XHJcbkBpbXBvcnQgJy4uL2FwcC92YXJpYWJsZXMnO1xyXG5cclxuXHJcbi8vIExBWU9VVFxyXG5cclxuJGNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYXNpZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcblxyXG4vLyBOQVZCQVIgVE9QXHJcblxyXG4kbmF2LXRvcC1iZzogICAgICAgICAgICAgICAgICAgICRwdXJwbGU7XHJcbiRuYXYtdG9wLWJnLXN0YXJ0OiAgICAgICAgICAgICAgJG5hdi10b3AtYmc7XHJcbiRuYXYtdG9wLWJnLWVuZDogICAgICAgICAgICAgICAgJHB1cnBsZS1saWdodDtcclxuJG5hdi1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuXHJcbiRuYXYtdG9wLWl0ZW06ICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJG5hdi10b3AtaXRlbS1hY3RpdmU6ICAgICAgICAgICBkYXJrZW4oJG5hdi10b3AtYmcsIDIwJSk7XHJcblxyXG4vLyBTSURFQkFSXHJcblxyXG4kc2lkZWJhci1iZzogICAgICAgICAgICAgICAgICAgICAgJGFzaWRlLWJnO1xyXG5cclxuJHNpZGViYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICM1MTUyNTM7XHJcbiRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlOiAgICAgICAkbmF2LXRvcC1iZztcclxuJHNpZGViYXItaXRlbS1iZy1hY3RpdmU6ICAgICAgICAgIGRhcmtlbigkc2lkZWJhci1iZywgMSUpO1xyXG5cclxuJHNpZGViYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXRzO1xyXG4kc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTogICAgICAgJG5hdi10b3AtYmc7XHJcblxyXG4kc2lkZWJhci1idWxsZXQtY29sb3I6ICAgICAgICAgICAgcmdiYSgwLDAsMCwuMjUpO1xyXG4kc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlOiAgICAgJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4kc2lkZWJhci1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgIzkxOURBODtcclxuJHNpZGViYXItbGFiZWwtY29sb3I6ICAgICAgICAgICAgICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4vLyBPRkZTSURFQkFSXHJcblxyXG4kb2Zmc2lkZWJhci1iZzogICAgICAgICAgICNmZmY7XHJcbiRvZmZzaWRlYmFyLWJvcmRlci1jb2xvcjogZ3JleXNjYWxlKGRhcmtlbigkb2Zmc2lkZWJhci1iZywgMjAlKSk7XHJcbiRvZmZzaWRlYmFyLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3I7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogbGF5b3V0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtYmc7XHJcbn1cclxuXHJcbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFzaWRlLWJnO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0b3AtbmF2YmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4udG9wbmF2YmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQteCgkbmF2LXRvcC1iZy1zdGFydCwgJG5hdi10b3AtYmctZW5kKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAtM3B4IDAgZGFya2VuKCRuYXYtdG9wLWJnLCA2JSkgaW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2YmFyLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW07XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtLWFjdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBzaWRlYmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc2lkZWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICAubmF2LWhlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1oZWFkaW5nLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJdGVtc1xyXG4uc2lkZWJhci1uYXYge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEl0ZW0gaWNvblxyXG4gICAgICAgICAgICA+IGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQWN0aXZlIGl0ZW0gc3RhdGVcclxuICAgICAgICAmLmFjdGl2ZSwgJi5vcGVuIHtcclxuICAgICAgICAgICAgJiwgPiBhLCA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5uYXYtaXRlbSA+IGVtLCA+IGEgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLnNpZGViYXItc3VibmF2IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJnO1xyXG5cclxuICAgID4gLnNpZGViYXItc3VibmF2LWhlYWRlciB7XHJcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm9mZnNpZGViYXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkb2Zmc2lkZWJhci1ib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmc2lkZWJhci1iZztcclxuICAgIGNvbG9yOiAkb2Zmc2lkZWJhci1jb2xvcjtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogbGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHksIC53cmFwcGVyIC5zZWN0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7XG59XG5cbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udG9wbmF2YmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcyNjZiYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNzI2NmJhIDAlLCAjOTI4OWNhIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rLCAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6aG92ZXIsIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAtM3B4IDAgIzVmNTFiMCBpbnNldDtcbiAgfVxufVxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpob3ZlciwgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyxcbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpob3Zlcixcbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNDQzYTgwO1xufVxuLnRvcG5hdmJhciAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC50b3BuYXZiYXIgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcyNjZiYTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IHNpZGViYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNpZGViYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXIgLm5hdi1oZWFkaW5nIHtcbiAgY29sb3I6ICM5MTlEQTg7XG59XG5cbi5zaWRlYmFyLW5hdiA+IGxpID4gYSwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogIzUxNTI1Mztcbn1cbi5zaWRlYmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnNpZGViYXItbmF2ID4gbGkgPiBhOmhvdmVyLCAuc2lkZWJhci1uYXYgPiBsaSA+IC5uYXYtaXRlbTpmb2N1cywgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW06aG92ZXIge1xuICBjb2xvcjogIzcyNjZiYTtcbn1cbi5zaWRlYmFyLW5hdiA+IGxpID4gYSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaSA+IC5uYXYtaXRlbSA+IGVtIHtcbiAgY29sb3I6IGluaGVyaXRzO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiBhLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSAuc2lkZWJhci1uYXYsIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4sIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gPiBhLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuIC5zaWRlYmFyLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG4gIGNvbG9yOiAjNzI2NmJhO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtID4gZW0sIC5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IC5uYXYtaXRlbSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gYSA+IGVtIHtcbiAgY29sb3I6ICM3MjY2YmE7XG59XG4uc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzcyNjZiYTtcbn1cblxuLnNpZGViYXItc3VibmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xuICBjb2xvcjogIzUxNTI1Mztcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYSwgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogIzUxNTI1Mztcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYTpmb2N1cywgLnNpZGViYXItc3VibmF2ID4gbGkgPiBhOmhvdmVyLCAuc2lkZWJhci1zdWJuYXYgPiBsaSA+IC5uYXYtaXRlbTpmb2N1cywgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW06aG92ZXIge1xuICBjb2xvcjogIzcyNjZiYTtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IGEsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbSB7XG4gIGNvbG9yOiAjNzI2NmJhO1xufVxuLnNpZGViYXItc3VibmF2ID4gbGkuYWN0aXZlID4gYTphZnRlciwgLnNpZGViYXItc3VibmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtOmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzI2NmJhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI2NmJhO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ub2Zmc2lkZWJhciB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZ3JleXNjYWxlKCNjY2NjY2MpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY1NjU2NTtcbn0iLCJcclxuLy8gQ3V0b21zIEdyYXkgY29sb3JzIGZvciB0aGVtZVxyXG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAjMjMyNzM1O1xyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAjM2EzZjUxO1xyXG4kZ3JheTogICAgICAgICAgICAgICAgICAjZGRlNmU5O1xyXG4kZ3JheS1saWdodDogICAgICAgICAgICAjZTRlYWVjO1xyXG4kZ3JheS1saWdodGVyOiAgICAgICAgICAjZWRmMWYyO1xyXG5cclxuLy8gQ3VzdG9tIGJyYW5kIGNvbG9ycyBmb3IgdGhlbWVcclxuJGludmVyc2U6ICAgICAgICAgICAgICAgIzEzMWUyNjtcclxuJHB1cnBsZTogICAgICAgICAgICAgICAgIzcyNjZiYTtcclxuJHBpbms6ICAgICAgICAgICAgICAgICAgI2Y1MzJlNTtcclxuJHllbGxvdzogICAgICAgICAgICAgICAgI2ZhZDczMjtcclxuJGdyZWVuOiAgICAgICAgICAgICAgICAgIzMxQjQ0QTtcclxuXHJcbiRwcmltYXJ5OiAgICAgICAgICAgICAgICMwMEFCRTc7XHJcbiRzZWNvbmRhcnk6ICAgICAgICAgICAgICNmZmY7XHJcbiRzdWNjZXNzOiAgICAgICAgICAgICAgICMyN2MyNGM7XHJcbiRpbmZvOiAgICAgICAgICAgICAgICAgICM4NkJDMjUgIDtcclxuJHdhcm5pbmc6ICAgICAgICAgICAgICAgI2ZmOTAyYjtcclxuJGRhbmdlcjogICAgICAgICAgICAgICAgI2YwNTA1MDtcclxuJGRhcms6ICAgICAgICAgICAgICAgICAgIzNhM2Y1MTtcclxuXHJcbi8vIEN1c3RvbSBjb2xvciB2YXJpYW50c1xyXG4kYW1vdW50T2ZMaWdodDogMTAlO1xyXG5cclxuJHByaW1hcnktbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1saWdodDogICAgICAgICBsaWdodGVuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tbGlnaHQ6ICAgICAgICAgICBsaWdodGVuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1saWdodDogICAgICAgICAgICBsaWdodGVuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuJHByaW1hcnktZGFyazogICAgICAgICAgZGFya2VuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWRhcms6ICAgICAgICAgIGRhcmtlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctZGFyazogICAgICAgICAgZGFya2VuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItZGFyazogICAgICAgICAgIGRhcmtlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWRhcms6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tZGFyazogICAgICAgICAgICBkYXJrZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWRhcms6ICAgICAgICAgICBkYXJrZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWRhcms6ICAgICAgICAgICBkYXJrZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG5cclxuLy8gVGhlbWUgdmFyaWFibGVzXHJcblxyXG4vLyB1c2VkIGZvciBzaWRlYmFycyBhbmQgY29udGVudCBzcGFjaW5nXHJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTVweDtcclxuXHJcbi8vIEJ1dHRvbiBzZWNvbmRhcnkgcmVkZWZpbml0aW9uIHN0eWxlIGZvciB0aGVtZVxyXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICMzMzM7XHJcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJGJ0bi1zZWNvbmRhcnktYm9yZGVyOiAgICAgICAgICAgICAjZWFlYWVhO1xyXG5cclxuLy8gVG9wIEJvcmRlciBjb2xvciBmb3IgY3VzdG9tIGRlZmF1bHQgY2FyZHMgKC5jYXJkLWRlZmF1bHQpXHJcbiRjYXJkLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgI2NmZGJlMjtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVXRpbGl0aWVzIHZhcmlhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiR0ZXh0LWFscGhhOiAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xyXG4kdGV4dC1hbHBoYS1pbnZlcnNlOiAgICByZ2JhKDAsMCwwLC41KTtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgIDFyZW07XHJcbiR0ZXh0LXNtOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDAuNzQzNzU7XHJcbiR0ZXh0LW1kOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNjYyNTtcclxuJHRleHQtbGc6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi42MjU7XHJcblxyXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4kd2QteHhzOiAgICAgICAgICAgICAgICA2MHB4O1xyXG4kd2QteHM6ICAgICAgICAgICAgICAgICA5MHB4O1xyXG4kd2Qtc206ICAgICAgICAgICAgICAgICAxNTBweDtcclxuJHdkLXNkOiAgICAgICAgICAgICAgICAgMjAwcHg7IC8vIHNkID09IHN0YW5kYXJkXHJcbiR3ZC1tZDogICAgICAgICAgICAgICAgIDI0MHB4O1xyXG4kd2QtbGc6ICAgICAgICAgICAgICAgICAyODBweDtcclxuJHdkLXhsOiAgICAgICAgICAgICAgICAgMzIwcHg7XHJcbiR3ZC14eGw6ICAgICAgICAgICAgICAgIDM2MHB4O1xyXG4kd2Qtd2lkZTogICAgICAgICAgICAgICAxMDAlO1xyXG4kd2QtYXV0bzogICAgICAgICAgICAgICBhdXRvO1xyXG4kd2QtemVybzogICAgICAgICAgICAgICAwO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBCb290c3RyYXAgNCBWYXJpYWJsZXMgT3ZlcnJpZGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBDb2xvciBzeXN0ZW1cclxuXHJcbiRjb2xvcnM6IChcclxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxyXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxyXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXHJcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxyXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXHJcbiAgICAnaW52ZXJzZSc6ICAgICRpbnZlcnNlLFxyXG5cclxuICAgICdwcmltYXJ5LWxpZ2h0JzogJHByaW1hcnktbGlnaHQsXHJcbiAgICAncHJpbWFyeS1kYXJrJzogICRwcmltYXJ5LWRhcmssXHJcbiAgICAnc3VjY2Vzcy1saWdodCc6ICRzdWNjZXNzLWxpZ2h0LFxyXG4gICAgJ3N1Y2Nlc3MtZGFyayc6ICAkc3VjY2Vzcy1kYXJrLFxyXG4gICAgJ2luZm8tbGlnaHQnOiAgICAkaW5mby1saWdodCxcclxuICAgICdpbmZvLWRhcmsnOiAgICAgJGluZm8tZGFyayxcclxuICAgICd3YXJuaW5nLWxpZ2h0JzogJHdhcm5pbmctbGlnaHQsXHJcbiAgICAnd2FybmluZy1kYXJrJzogICR3YXJuaW5nLWRhcmssXHJcbiAgICAnZGFuZ2VyLWxpZ2h0JzogICRkYW5nZXItbGlnaHQsXHJcbiAgICAnZGFuZ2VyLWRhcmsnOiAgICRkYW5nZXItZGFyayxcclxuICAgICdncmVlbi1saWdodCc6ICAgJGdyZWVuLWxpZ2h0LFxyXG4gICAgJ2dyZWVuLWRhcmsnOiAgICAkZ3JlZW4tZGFyayxcclxuICAgICdwaW5rLWxpZ2h0JzogICAgJHBpbmstbGlnaHQsXHJcbiAgICAncGluay1kYXJrJzogICAgICRwaW5rLWRhcmssXHJcbiAgICAncHVycGxlLWxpZ2h0JzogICRwdXJwbGUtbGlnaHQsXHJcbiAgICAncHVycGxlLWRhcmsnOiAgICRwdXJwbGUtZGFyayxcclxuICAgICdpbnZlcnNlLWxpZ2h0JzogJGludmVyc2UtbGlnaHQsXHJcbiAgICAnaW52ZXJzZS1kYXJrJzogICRpbnZlcnNlLWRhcmssXHJcbiAgICAneWVsbG93LWxpZ2h0JzogICR5ZWxsb3ctbGlnaHQsXHJcbiAgICAneWVsbG93LWRhcmsnOiAgICR5ZWxsb3ctZGFyayxcclxuKTtcclxuXHJcblxyXG4kdGhlbWUtY29sb3JzOiAoXHJcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxyXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyXHJcbik7XHJcblxyXG4vLyBCb2R5XHJcblxyXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgI2Y1ZjdmYTtcclxuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICM2NTY1NjU7XHJcblxyXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW07XHJcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zNzVyZW07XHJcblxyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUyODU3MTQyOTtcclxuXHJcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMTtcclxuXHJcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICM5MDlGQTc7XHJcblxyXG4vLyBUYWJsZXNcclxuXHJcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgICNmYWZiZmM7XHJcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgICNmYWZiZmM7XHJcblxyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAjZWVlO1xyXG5cclxuLy8gQnV0dG9ucyArIEZvcm1zXHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAxcmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjMxMjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC42MjVyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNjI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxLjI1cmVtO1xyXG5cclxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgMi4xODc1cmVtOyAvLyAzNXB4XHJcblxyXG4vLyBGb3Jtc1xyXG5cclxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheTtcclxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICM2NmFmZTk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAjYjdiYWM5O1xyXG5cclxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgICAgIG5vbmU7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgICAgICBub25lO1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgIGxpZ2h0ZW4oJHByaW1hcnksIDI1JSk7XHJcblxyXG4vLyBEcm9wZG93bnNcclxuXHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNlMWUxZTE7XHJcblxyXG4vLyBOYXZzXHJcblxyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAjZmZmO1xyXG5cclxuLy8gSnVtYm90cm9uXHJcblxyXG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmNmY2ZjO1xyXG5cclxuLy8gTGlzdCBncm91cFxyXG5cclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgI2U0ZWFlYztcclxuXHJcbi8vIEltYWdlIHRodW1ibmFpbHNcclxuXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4xMjVyZW07XHJcblxyXG5cclxuLy8gQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICNmYWZhZmE7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICNjMWMyYzM7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yO1xyXG4iLCIvLyBHcmFkaWVudHNcclxuXHJcbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcclxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDU3NnB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG59XHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDc2Ny45OHB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xyXG59XHJcblxyXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxyXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiLXNtXCJcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtaW4ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1heCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\";","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #fff;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #f05050;\\n background-image: linear-gradient(to right, #f05050 0%, #f47f7f 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #ee3434 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #c91111;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #f05050;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #fff;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #f05050;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #fcfcfc;\\n color: #f05050;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #f05050;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #f05050;\\n}\\n.sidebar-subnav {\\n background-color: #fff;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #515253;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #f05050;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #f05050;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #f05050;\\n background-color: #f05050;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFx0aGVtZXNcXHRoZW1lLWQuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtZC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3R5bGVzL3RoZW1lcy9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcc2hhcmVkXFxzdHlsZXNcXGFwcFxcdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdHlsZXMvdGhlbWVzL0Q6XFxJbmRpYUJVXFxBZ2VudFBvb2xcXERvdE5ldFxcRG90TmV0RnJhbWV3b3JrXFxfd29ya1xcMjk2XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0eWxlc1xcYm9vdHN0cmFwXFxtaXhpbnNcXF9ncmFkaWVudHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQ0poQztBRGdEQTtFQUNJLHNCQTVDNEI7QUNEaEM7QURnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkV6Q29CO0VDTnRCLHFFQUFBO0VBQ0EsMkJBQUE7QUZHRjtBRzBDSTtFSk1RO0lBQ0ksa0NBQUE7RUM3Q2Q7QUFDRjtBRGlESTtFQUNJLFdBdER3QjtBQ09oQztBRGtESTs7RUFFSSxXQTNEd0I7QUNXaEM7QURpRFE7OztFQUNJLGNBNURvQjtBQ2VoQztBRGlESTtFQUNJLHlCRWpFZ0I7QURrQnhCO0FEbURBOzs2RUFBQTtBQUdBO0VBQ0ksc0JBbkY0QjtBQ21DaEM7QURrREk7RUFDSSxjQTVEMEI7QUNZbEM7QUR1RFE7RUFDSSxjQTlFc0I7QUMwQmxDO0FEc0RZO0VBQ0ksY0V2RlE7QURtQ3hCO0FEd0RZO0VBQ0ksZUFsRmtCO0FDNEJsQztBRDZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNFckdRO0FEMEN4QjtBRDhEWTtFQUNJLGNFekdRO0FENkN4QjtBRGlFUTtFQUNJLDBCRS9HWTtBRGdEeEI7QURzRUE7RUFDSSxzQkFqSTRCO0FDOERoQztBRHFFSTtFQUNJLGNBcEgwQjtBQ2lEbEM7QUR1RVE7RUFDSSxjQXpIc0I7QUNvRGxDO0FEdUVZO0VBQ0ksY0VsSVE7QUQ2RHhCO0FEMkVZO0VBQ0ksY0V6SVE7QURnRXhCO0FEMkVnQjtFQUNJLHFCRTVJSTtFRjZJSix5QkU3SUk7QURvRXhCO0FEb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjRXJDd0I7QUQ1QzVCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtZC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQm9vdHN0cmFwXHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvbWl4aW5zXCI7XHJcbkBpbXBvcnQgJy4uL2FwcC92YXJpYWJsZXMnO1xyXG5cclxuXHJcbi8vIExBWU9VVFxyXG5cclxuJGNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYXNpZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcblxyXG4vLyBOQVZCQVIgVE9QXHJcblxyXG4kbmF2LXRvcC1iZzogICAgICAgICAgICAgICAgICAgICRkYW5nZXI7XHJcbiRuYXYtdG9wLWJnLXN0YXJ0OiAgICAgICAgICAgICAgJG5hdi10b3AtYmc7XHJcbiRuYXYtdG9wLWJnLWVuZDogICAgICAgICAgICAgICAgJGRhbmdlci1saWdodDtcclxuJG5hdi1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuXHJcbiRuYXYtdG9wLWl0ZW06ICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJG5hdi10b3AtaXRlbS1hY3RpdmU6ICAgICAgICAgICBkYXJrZW4oJG5hdi10b3AtYmcsIDIwJSk7XHJcblxyXG4vLyBTSURFQkFSXHJcblxyXG4kc2lkZWJhci1iZzogICAgICAgICAgICAgICAgICAgICAgJGFzaWRlLWJnO1xyXG5cclxuJHNpZGViYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICM1MTUyNTM7XHJcbiRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlOiAgICAgICAkbmF2LXRvcC1iZztcclxuJHNpZGViYXItaXRlbS1iZy1hY3RpdmU6ICAgICAgICAgIGRhcmtlbigkc2lkZWJhci1iZywgMSUpO1xyXG5cclxuJHNpZGViYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXRzO1xyXG4kc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTogICAgICAgJG5hdi10b3AtYmc7XHJcblxyXG4kc2lkZWJhci1idWxsZXQtY29sb3I6ICAgICAgICAgICAgcmdiYSgwLDAsMCwuMjUpO1xyXG4kc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlOiAgICAgJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4kc2lkZWJhci1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgIzkxOURBODtcclxuJHNpZGViYXItbGFiZWwtY29sb3I6ICAgICAgICAgICAgICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4vLyBPRkZTSURFQkFSXHJcblxyXG4kb2Zmc2lkZWJhci1iZzogICAgICAgICAgICNmZmY7XHJcbiRvZmZzaWRlYmFyLWJvcmRlci1jb2xvcjogZ3JleXNjYWxlKGRhcmtlbigkb2Zmc2lkZWJhci1iZywgMjAlKSk7XHJcbiRvZmZzaWRlYmFyLWNvbG9yOiAgICAgICAgJGJvZHktY29sb3I7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogbGF5b3V0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtYmc7XHJcbn1cclxuXHJcbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFzaWRlLWJnO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0b3AtbmF2YmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4udG9wbmF2YmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgQGluY2x1ZGUgZ3JhZGllbnQteCgkbmF2LXRvcC1iZy1zdGFydCwgJG5hdi10b3AtYmctZW5kKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAtM3B4IDAgZGFya2VuKCRuYXYtdG9wLWJnLCA2JSkgaW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2YmFyLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XHJcbiAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW07XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtLWFjdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdG9wLWJnO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBzaWRlYmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc2lkZWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICAubmF2LWhlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1oZWFkaW5nLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJdGVtc1xyXG4uc2lkZWJhci1uYXYge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEl0ZW0gaWNvblxyXG4gICAgICAgICAgICA+IGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQWN0aXZlIGl0ZW0gc3RhdGVcclxuICAgICAgICAmLmFjdGl2ZSwgJi5vcGVuIHtcclxuICAgICAgICAgICAgJiwgPiBhLCA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5uYXYtaXRlbSA+IGVtLCA+IGEgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLnNpZGViYXItc3VibmF2IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJnO1xyXG5cclxuICAgID4gLnNpZGViYXItc3VibmF2LWhlYWRlciB7XHJcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm9mZnNpZGViYXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkb2Zmc2lkZWJhci1ib3JkZXItY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2Zmc2lkZWJhci1iZztcclxuICAgIGNvbG9yOiAkb2Zmc2lkZWJhci1jb2xvcjtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogbGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHksIC53cmFwcGVyIC5zZWN0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY3ZmE7XG59XG5cbi53cmFwcGVyIC5hc2lkZS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udG9wbmF2YmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwNTA1MDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjA1MDUwIDAlLCAjZjQ3ZjdmIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rLCAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6aG92ZXIsIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAtM3B4IDAgI2VlMzQzNCBpbnNldDtcbiAgfVxufVxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXZiYXItdGV4dCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpob3ZlciwgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluazpmb2N1cyxcbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpob3Zlcixcbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjYzkxMTExO1xufVxuLnRvcG5hdmJhciAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC50b3BuYXZiYXIgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwNTA1MDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IHNpZGViYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNpZGViYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXIgLm5hdi1oZWFkaW5nIHtcbiAgY29sb3I6ICM5MTlEQTg7XG59XG5cbi5zaWRlYmFyLW5hdiA+IGxpID4gYSwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogIzUxNTI1Mztcbn1cbi5zaWRlYmFyLW5hdiA+IGxpID4gYTpmb2N1cywgLnNpZGViYXItbmF2ID4gbGkgPiBhOmhvdmVyLCAuc2lkZWJhci1uYXYgPiBsaSA+IC5uYXYtaXRlbTpmb2N1cywgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW06aG92ZXIge1xuICBjb2xvcjogI2YwNTA1MDtcbn1cbi5zaWRlYmFyLW5hdiA+IGxpID4gYSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaSA+IC5uYXYtaXRlbSA+IGVtIHtcbiAgY29sb3I6IGluaGVyaXRzO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiBhLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSAuc2lkZWJhci1uYXYsIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4sIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gPiBhLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuIC5zaWRlYmFyLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7XG4gIGNvbG9yOiAjZjA1MDUwO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtID4gZW0sIC5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IC5uYXYtaXRlbSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gYSA+IGVtIHtcbiAgY29sb3I6ICNmMDUwNTA7XG59XG4uc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2YwNTA1MDtcbn1cblxuLnNpZGViYXItc3VibmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xuICBjb2xvcjogIzUxNTI1Mztcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYSwgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogIzUxNTI1Mztcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYTpmb2N1cywgLnNpZGViYXItc3VibmF2ID4gbGkgPiBhOmhvdmVyLCAuc2lkZWJhci1zdWJuYXYgPiBsaSA+IC5uYXYtaXRlbTpmb2N1cywgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW06aG92ZXIge1xuICBjb2xvcjogI2YwNTA1MDtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IGEsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbSB7XG4gIGNvbG9yOiAjZjA1MDUwO1xufVxuLnNpZGViYXItc3VibmF2ID4gbGkuYWN0aXZlID4gYTphZnRlciwgLnNpZGViYXItc3VibmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtOmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjA1MDUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA1MDUwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogb2Zmc2lkZWJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ub2Zmc2lkZWJhciB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZ3JleXNjYWxlKCNjY2NjY2MpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY1NjU2NTtcbn0iLCJcclxuLy8gQ3V0b21zIEdyYXkgY29sb3JzIGZvciB0aGVtZVxyXG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAjMjMyNzM1O1xyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAjM2EzZjUxO1xyXG4kZ3JheTogICAgICAgICAgICAgICAgICAjZGRlNmU5O1xyXG4kZ3JheS1saWdodDogICAgICAgICAgICAjZTRlYWVjO1xyXG4kZ3JheS1saWdodGVyOiAgICAgICAgICAjZWRmMWYyO1xyXG5cclxuLy8gQ3VzdG9tIGJyYW5kIGNvbG9ycyBmb3IgdGhlbWVcclxuJGludmVyc2U6ICAgICAgICAgICAgICAgIzEzMWUyNjtcclxuJHB1cnBsZTogICAgICAgICAgICAgICAgIzcyNjZiYTtcclxuJHBpbms6ICAgICAgICAgICAgICAgICAgI2Y1MzJlNTtcclxuJHllbGxvdzogICAgICAgICAgICAgICAgI2ZhZDczMjtcclxuJGdyZWVuOiAgICAgICAgICAgICAgICAgIzMxQjQ0QTtcclxuXHJcbiRwcmltYXJ5OiAgICAgICAgICAgICAgICMwMEFCRTc7XHJcbiRzZWNvbmRhcnk6ICAgICAgICAgICAgICNmZmY7XHJcbiRzdWNjZXNzOiAgICAgICAgICAgICAgICMyN2MyNGM7XHJcbiRpbmZvOiAgICAgICAgICAgICAgICAgICM4NkJDMjUgIDtcclxuJHdhcm5pbmc6ICAgICAgICAgICAgICAgI2ZmOTAyYjtcclxuJGRhbmdlcjogICAgICAgICAgICAgICAgI2YwNTA1MDtcclxuJGRhcms6ICAgICAgICAgICAgICAgICAgIzNhM2Y1MTtcclxuXHJcbi8vIEN1c3RvbSBjb2xvciB2YXJpYW50c1xyXG4kYW1vdW50T2ZMaWdodDogMTAlO1xyXG5cclxuJHByaW1hcnktbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1saWdodDogICAgICAgICBsaWdodGVuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tbGlnaHQ6ICAgICAgICAgICBsaWdodGVuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1saWdodDogICAgICAgICAgICBsaWdodGVuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuJHByaW1hcnktZGFyazogICAgICAgICAgZGFya2VuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWRhcms6ICAgICAgICAgIGRhcmtlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJGluZm8sICRhbW91bnRPZkxpZ2h0KTtcclxuJHdhcm5pbmctZGFyazogICAgICAgICAgZGFya2VuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItZGFyazogICAgICAgICAgIGRhcmtlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWRhcms6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kZ3JlZW4tZGFyazogICAgICAgICAgICBkYXJrZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWRhcms6ICAgICAgICAgICBkYXJrZW4oJHB1cnBsZSwgJGFtb3VudE9mTGlnaHQpO1xyXG4keWVsbG93LWRhcms6ICAgICAgICAgICBkYXJrZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG5cclxuLy8gVGhlbWUgdmFyaWFibGVzXHJcblxyXG4vLyB1c2VkIGZvciBzaWRlYmFycyBhbmQgY29udGVudCBzcGFjaW5nXHJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTVweDtcclxuXHJcbi8vIEJ1dHRvbiBzZWNvbmRhcnkgcmVkZWZpbml0aW9uIHN0eWxlIGZvciB0aGVtZVxyXG4kYnRuLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICMzMzM7XHJcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJGJ0bi1zZWNvbmRhcnktYm9yZGVyOiAgICAgICAgICAgICAjZWFlYWVhO1xyXG5cclxuLy8gVG9wIEJvcmRlciBjb2xvciBmb3IgY3VzdG9tIGRlZmF1bHQgY2FyZHMgKC5jYXJkLWRlZmF1bHQpXHJcbiRjYXJkLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgI2NmZGJlMjtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVXRpbGl0aWVzIHZhcmlhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiR0ZXh0LWFscGhhOiAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xyXG4kdGV4dC1hbHBoYS1pbnZlcnNlOiAgICByZ2JhKDAsMCwwLC41KTtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgIDFyZW07XHJcbiR0ZXh0LXNtOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDAuNzQzNzU7XHJcbiR0ZXh0LW1kOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNjYyNTtcclxuJHRleHQtbGc6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi42MjU7XHJcblxyXG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4kd2QteHhzOiAgICAgICAgICAgICAgICA2MHB4O1xyXG4kd2QteHM6ICAgICAgICAgICAgICAgICA5MHB4O1xyXG4kd2Qtc206ICAgICAgICAgICAgICAgICAxNTBweDtcclxuJHdkLXNkOiAgICAgICAgICAgICAgICAgMjAwcHg7IC8vIHNkID09IHN0YW5kYXJkXHJcbiR3ZC1tZDogICAgICAgICAgICAgICAgIDI0MHB4O1xyXG4kd2QtbGc6ICAgICAgICAgICAgICAgICAyODBweDtcclxuJHdkLXhsOiAgICAgICAgICAgICAgICAgMzIwcHg7XHJcbiR3ZC14eGw6ICAgICAgICAgICAgICAgIDM2MHB4O1xyXG4kd2Qtd2lkZTogICAgICAgICAgICAgICAxMDAlO1xyXG4kd2QtYXV0bzogICAgICAgICAgICAgICBhdXRvO1xyXG4kd2QtemVybzogICAgICAgICAgICAgICAwO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBCb290c3RyYXAgNCBWYXJpYWJsZXMgT3ZlcnJpZGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBDb2xvciBzeXN0ZW1cclxuXHJcbiRjb2xvcnM6IChcclxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxyXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxyXG4gICAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXHJcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxyXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gICAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gICAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXHJcbiAgICAnaW52ZXJzZSc6ICAgICRpbnZlcnNlLFxyXG5cclxuICAgICdwcmltYXJ5LWxpZ2h0JzogJHByaW1hcnktbGlnaHQsXHJcbiAgICAncHJpbWFyeS1kYXJrJzogICRwcmltYXJ5LWRhcmssXHJcbiAgICAnc3VjY2Vzcy1saWdodCc6ICRzdWNjZXNzLWxpZ2h0LFxyXG4gICAgJ3N1Y2Nlc3MtZGFyayc6ICAkc3VjY2Vzcy1kYXJrLFxyXG4gICAgJ2luZm8tbGlnaHQnOiAgICAkaW5mby1saWdodCxcclxuICAgICdpbmZvLWRhcmsnOiAgICAgJGluZm8tZGFyayxcclxuICAgICd3YXJuaW5nLWxpZ2h0JzogJHdhcm5pbmctbGlnaHQsXHJcbiAgICAnd2FybmluZy1kYXJrJzogICR3YXJuaW5nLWRhcmssXHJcbiAgICAnZGFuZ2VyLWxpZ2h0JzogICRkYW5nZXItbGlnaHQsXHJcbiAgICAnZGFuZ2VyLWRhcmsnOiAgICRkYW5nZXItZGFyayxcclxuICAgICdncmVlbi1saWdodCc6ICAgJGdyZWVuLWxpZ2h0LFxyXG4gICAgJ2dyZWVuLWRhcmsnOiAgICAkZ3JlZW4tZGFyayxcclxuICAgICdwaW5rLWxpZ2h0JzogICAgJHBpbmstbGlnaHQsXHJcbiAgICAncGluay1kYXJrJzogICAgICRwaW5rLWRhcmssXHJcbiAgICAncHVycGxlLWxpZ2h0JzogICRwdXJwbGUtbGlnaHQsXHJcbiAgICAncHVycGxlLWRhcmsnOiAgICRwdXJwbGUtZGFyayxcclxuICAgICdpbnZlcnNlLWxpZ2h0JzogJGludmVyc2UtbGlnaHQsXHJcbiAgICAnaW52ZXJzZS1kYXJrJzogICRpbnZlcnNlLWRhcmssXHJcbiAgICAneWVsbG93LWxpZ2h0JzogICR5ZWxsb3ctbGlnaHQsXHJcbiAgICAneWVsbG93LWRhcmsnOiAgICR5ZWxsb3ctZGFyayxcclxuKTtcclxuXHJcblxyXG4kdGhlbWUtY29sb3JzOiAoXHJcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxyXG4gIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxyXG4gIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyXHJcbik7XHJcblxyXG4vLyBCb2R5XHJcblxyXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgI2Y1ZjdmYTtcclxuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICM2NTY1NjU7XHJcblxyXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW07XHJcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zNzVyZW07XHJcblxyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUyODU3MTQyOTtcclxuXHJcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMTtcclxuXHJcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICM5MDlGQTc7XHJcblxyXG4vLyBUYWJsZXNcclxuXHJcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgICNmYWZiZmM7XHJcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgICNmYWZiZmM7XHJcblxyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAjZWVlO1xyXG5cclxuLy8gQnV0dG9ucyArIEZvcm1zXHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAxcmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjMxMjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC42MjVyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNjI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxLjI1cmVtO1xyXG5cclxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgMi4xODc1cmVtOyAvLyAzNXB4XHJcblxyXG4vLyBGb3Jtc1xyXG5cclxuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheTtcclxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICM2NmFmZTk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAjYjdiYWM5O1xyXG5cclxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgICAgIG5vbmU7XHJcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgICAgICBub25lO1xyXG5cclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgIGxpZ2h0ZW4oJHByaW1hcnksIDI1JSk7XHJcblxyXG4vLyBEcm9wZG93bnNcclxuXHJcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICNlMWUxZTE7XHJcblxyXG4vLyBOYXZzXHJcblxyXG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAjZmZmO1xyXG5cclxuLy8gSnVtYm90cm9uXHJcblxyXG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAjZmNmY2ZjO1xyXG5cclxuLy8gTGlzdCBncm91cFxyXG5cclxuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgI2U0ZWFlYztcclxuXHJcbi8vIEltYWdlIHRodW1ibmFpbHNcclxuXHJcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4xMjVyZW07XHJcblxyXG5cclxuLy8gQnJlYWRjcnVtYnNcclxuXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICNmYWZhZmE7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICNjMWMyYzM7XHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRib2R5LWNvbG9yO1xyXG4iLCIvLyBHcmFkaWVudHNcclxuXHJcbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3IpIHtcclxuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogJGdyYXktNzAwLCAkb3V0ZXItY29sb3I6ICRncmF5LTgwMCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cclxuLy9cclxuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxyXG4vL1xyXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXHJcbi8vXHJcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXHJcbi8vICAgIG1kXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDU3NnB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xyXG59XHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxyXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxyXG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxyXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XHJcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cclxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIDc2Ny45OHB4XHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xyXG59XHJcblxyXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxyXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cclxuLy9cclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiLXNtXCJcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtaW4ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1heCB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\";","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #3a3f51;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #68911d;\\n background-image: linear-gradient(to right, #68911d 0%, #86BC25 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #557818 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #2b3c0c;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #68911d;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #68911d;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #68911d;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #68911d;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #68911d;\\n}\\n.sidebar-subnav {\\n background-color: #3a3f51;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #68911d;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #68911d;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #68911d;\\n background-color: #68911d;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFx0aGVtZXNcXHRoZW1lLWUuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtZS5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3R5bGVzL3RoZW1lcy9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcc2hhcmVkXFxzdHlsZXNcXGFwcFxcdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdHlsZXMvdGhlbWVzL0Q6XFxJbmRpYUJVXFxBZ2VudFBvb2xcXERvdE5ldFxcRG90TmV0RnJhbWV3b3JrXFxfd29ya1xcMjk2XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0eWxlc1xcYm9vdHN0cmFwXFxtaXhpbnNcXF9ncmFkaWVudHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQ0poQztBRGdEQTtFQUNJLHlCRW5Eb0I7QURNeEI7QURnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkV2Qm9CO0VDeEJ0QixxRUFBQTtFQUNBLDJCQUFBO0FGR0Y7QUcwQ0k7RUpNUTtJQUNJLGtDQUFBO0VDN0NkO0FBQ0Y7QURpREk7RUFDSSxXQXREd0I7QUNPaEM7QURrREk7O0VBRUksV0EzRHdCO0FDV2hDO0FEaURROzs7RUFDSSxjQTVEb0I7QUNlaEM7QURpREk7RUFDSSx5QkUvQ2dCO0FEQXhCO0FEbURBOzs2RUFBQTtBQUdBO0VBQ0kseUJFMUZvQjtBRDBDeEI7QURrREk7RUFDSSxjQTVEMEI7QUNZbEM7QUR1RFE7RUFDSSxjQTlFc0I7QUMwQmxDO0FEc0RZO0VBQ0ksY0VyRVE7QURpQnhCO0FEd0RZO0VBQ0ksZUFsRmtCO0FDNEJsQztBRDZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNFbkZRO0FEd0J4QjtBRDhEWTtFQUNJLGNFdkZRO0FEMkJ4QjtBRGlFUTtFQUNJLDBCRTdGWTtBRDhCeEI7QURzRUE7RUFDSSx5QkV4SW9CO0FEcUV4QjtBRHFFSTtFQUNJLGNBcEgwQjtBQ2lEbEM7QUR1RVE7RUFDSSxjQXpIc0I7QUNvRGxDO0FEdUVZO0VBQ0ksY0VoSFE7QUQyQ3hCO0FEMkVZO0VBQ0ksY0V2SFE7QUQ4Q3hCO0FEMkVnQjtFQUNJLHFCRTFISTtFRjJISix5QkUzSEk7QURrRHhCO0FEb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjRXJDd0I7QUQ1QzVCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQm9vdHN0cmFwXHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvbWl4aW5zXCI7XHJcbkBpbXBvcnQgJy4uL2FwcC92YXJpYWJsZXMnO1xyXG5cclxuXHJcbi8vIExBWU9VVFxyXG5cclxuJGNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYXNpZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LWRhcms7XHJcblxyXG4vLyBOQVZCQVIgVE9QXHJcblxyXG4kbmF2LXRvcC1iZzogICAgICAgICAgICAgICAgICAgICRpbmZvLWRhcms7XHJcbiRuYXYtdG9wLWJnLXN0YXJ0OiAgICAgICAgICAgICAgJG5hdi10b3AtYmc7XHJcbiRuYXYtdG9wLWJnLWVuZDogICAgICAgICAgICAgICAgJGluZm87XHJcbiRuYXYtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcblxyXG4kbmF2LXRvcC1pdGVtOiAgICAgICAgICAgICAgICAgICNmZmY7XHJcbiRuYXYtdG9wLWl0ZW0tYWN0aXZlOiAgICAgICAgICAgZGFya2VuKCRuYXYtdG9wLWJnLCAyMCUpO1xyXG5cclxuLy8gU0lERUJBUlxyXG5cclxuJHNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICRhc2lkZS1iZztcclxuXHJcbiRzaWRlYmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAjZTFlMmUzO1xyXG4kc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTogICAgICAgJG5hdi10b3AtYmc7XHJcbiRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlOiAgICAgICAgICBkYXJrZW4oJHNpZGViYXItYmcsIDElKTtcclxuXHJcbiRzaWRlYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0cztcclxuJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU6ICAgICAgICRuYXYtdG9wLWJnO1xyXG5cclxuJHNpZGViYXItYnVsbGV0LWNvbG9yOiAgICAgICAgICAgIHJnYmEoMCwwLDAsLjI1KTtcclxuJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTogICAgICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuJHNpZGViYXItaGVhZGluZy1jb2xvcjogICAgICAgICAgICM5MTlEQTg7XHJcbiRzaWRlYmFyLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuLy8gT0ZGU0lERUJBUlxyXG5cclxuJG9mZnNpZGViYXItYmc6ICAgICAgICAgICAjZmZmO1xyXG4kb2Zmc2lkZWJhci1ib3JkZXItY29sb3I6IGdyZXlzY2FsZShkYXJrZW4oJG9mZnNpZGViYXItYmcsIDIwJSkpO1xyXG4kb2Zmc2lkZWJhci1jb2xvcjogICAgICAgICRib2R5LWNvbG9yO1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxheW91dFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuYm9keSwgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWJnO1xyXG59XHJcblxyXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhc2lkZS1iZztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnRvcG5hdmJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJG5hdi10b3AtYmctc3RhcnQsICRuYXYtdG9wLWJnLWVuZCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTNweCAwIGRhcmtlbigkbmF2LXRvcC1iZywgNiUpIGluc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdmJhci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGViYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgLm5hdi1oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaGVhZGluZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSXRlbXNcclxuLnNpZGViYXItbmF2IHtcclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBJdGVtIGljb25cclxuICAgICAgICAgICAgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFjdGl2ZSBpdGVtIHN0YXRlXHJcbiAgICAgICAgJi5hY3RpdmUsICYub3BlbiB7XHJcbiAgICAgICAgICAgICYsID4gYSwgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubmF2LWl0ZW0gPiBlbSwgPiBhID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zaWRlYmFyLXN1Ym5hdiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5vZmZzaWRlYmFyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZnNpZGViYXItYmc7XHJcbiAgICBjb2xvcjogJG9mZnNpZGViYXItY29sb3I7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IGxheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhO1xufVxuXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2Y1MTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IHRvcC1uYXZiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRvcG5hdmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODkxMWQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzY4OTExZCAwJSwgIzg2QkMyNSAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluaywgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rOmhvdmVyLCAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgLTNweCAwICM1NTc4MTggaW5zZXQ7XG4gIH1cbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2YmFyLXRleHQge1xuICBjb2xvcjogI2ZmZjtcbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMsXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6aG92ZXIsXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzJiM2MwYztcbn1cbi50b3BuYXZiYXIgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAudG9wbmF2YmFyIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODkxMWQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBzaWRlYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2Y1MTtcbn1cbi5zaWRlYmFyIC5uYXYtaGVhZGluZyB7XG4gIGNvbG9yOiAjOTE5REE4O1xufVxuXG4uc2lkZWJhci1uYXYgPiBsaSA+IGEsIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtIHtcbiAgY29sb3I6ICNlMWUyZTM7XG59XG4uc2lkZWJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC5zaWRlYmFyLW5hdiA+IGxpID4gYTpob3ZlciwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW06Zm9jdXMsIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICM2ODkxMWQ7XG59XG4uc2lkZWJhci1uYXYgPiBsaSA+IGEgPiBlbSwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW0gPiBlbSB7XG4gIGNvbG9yOiBpbmhlcml0cztcbn1cbi5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gYSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgLnNpZGViYXItbmF2LCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gYSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiAuc2lkZWJhci1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzZDRlO1xuICBjb2xvcjogIzY4OTExZDtcbn1cbi5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiBhID4gZW0sIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gPiAubmF2LWl0ZW0gPiBlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IGEgPiBlbSB7XG4gIGNvbG9yOiAjNjg5MTFkO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM2ODkxMWQ7XG59XG5cbi5zaWRlYmFyLXN1Ym5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYTNmNTE7XG59XG4uc2lkZWJhci1zdWJuYXYgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcbiAgY29sb3I6ICNlMWUyZTM7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaSA+IGEsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gLm5hdi1pdGVtIHtcbiAgY29sb3I6ICNlMWUyZTM7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaSA+IGE6Zm9jdXMsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYTpob3ZlciwgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW06Zm9jdXMsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gLm5hdi1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICM2ODkxMWQ7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiBhLCAuc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogIzY4OTExZDtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IGE6YWZ0ZXIsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbTphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzY4OTExZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY4OTExZDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm9mZnNpZGViYXIge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGdyZXlzY2FsZSgjY2NjY2NjKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NTY1NjU7XG59IiwiXHJcbi8vIEN1dG9tcyBHcmF5IGNvbG9ycyBmb3IgdGhlbWVcclxuJGdyYXktZGFya2VyOiAgICAgICAgICAgIzIzMjczNTtcclxuJGdyYXktZGFyazogICAgICAgICAgICAgIzNhM2Y1MTtcclxuJGdyYXk6ICAgICAgICAgICAgICAgICAgI2RkZTZlOTtcclxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgI2U0ZWFlYztcclxuJGdyYXktbGlnaHRlcjogICAgICAgICAgI2VkZjFmMjtcclxuXHJcbi8vIEN1c3RvbSBicmFuZCBjb2xvcnMgZm9yIHRoZW1lXHJcbiRpbnZlcnNlOiAgICAgICAgICAgICAgICMxMzFlMjY7XHJcbiRwdXJwbGU6ICAgICAgICAgICAgICAgICM3MjY2YmE7XHJcbiRwaW5rOiAgICAgICAgICAgICAgICAgICNmNTMyZTU7XHJcbiR5ZWxsb3c6ICAgICAgICAgICAgICAgICNmYWQ3MzI7XHJcbiRncmVlbjogICAgICAgICAgICAgICAgICMzMUI0NEE7XHJcblxyXG4kcHJpbWFyeTogICAgICAgICAgICAgICAjMDBBQkU3O1xyXG4kc2Vjb25kYXJ5OiAgICAgICAgICAgICAjZmZmO1xyXG4kc3VjY2VzczogICAgICAgICAgICAgICAjMjdjMjRjO1xyXG4kaW5mbzogICAgICAgICAgICAgICAgICAjODZCQzI1ICA7XHJcbiR3YXJuaW5nOiAgICAgICAgICAgICAgICNmZjkwMmI7XHJcbiRkYW5nZXI6ICAgICAgICAgICAgICAgICNmMDUwNTA7XHJcbiRkYXJrOiAgICAgICAgICAgICAgICAgICMzYTNmNTE7XHJcblxyXG4vLyBDdXN0b20gY29sb3IgdmFyaWFudHNcclxuJGFtb3VudE9mTGlnaHQ6IDEwJTtcclxuXHJcbiRwcmltYXJ5LWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1saWdodDogICAgICAgICAgICBsaWdodGVuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1saWdodDogICAgICAgICAgbGlnaHRlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWxpZ2h0OiAgICAgICAgICAgbGlnaHRlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1saWdodDogICAgICAgICAgbGlnaHRlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwcmltYXJ5LWRhcms6ICAgICAgICAgIGRhcmtlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tZGFyazogICAgICAgICAgICAgZGFya2VuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWRhcms6ICAgICAgICAgIGRhcmtlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWRhcms6ICAgICAgICAgICBkYXJrZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1kYXJrOiAgICAgICAgICBkYXJrZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWRhcms6ICAgICAgICAgICAgZGFya2VuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1kYXJrOiAgICAgICAgICAgZGFya2VuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1kYXJrOiAgICAgICAgICAgZGFya2VuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuXHJcbi8vIFRoZW1lIHZhcmlhYmxlc1xyXG5cclxuLy8gdXNlZCBmb3Igc2lkZWJhcnMgYW5kIGNvbnRlbnQgc3BhY2luZ1xyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDU1cHg7XHJcblxyXG4vLyBCdXR0b24gc2Vjb25kYXJ5IHJlZGVmaW5pdGlvbiBzdHlsZSBmb3IgdGhlbWVcclxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAjMzMzO1xyXG4kYnRuLXNlY29uZGFyeS1iZzogICAgICAgICAgICAgICAgICNmZmY7XHJcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICAgI2VhZWFlYTtcclxuXHJcbi8vIFRvcCBCb3JkZXIgY29sb3IgZm9yIGN1c3RvbSBkZWZhdWx0IGNhcmRzICguY2FyZC1kZWZhdWx0KVxyXG4kY2FyZC1kZWZhdWx0LWJvcmRlci1jb2xvcjogICAgICAgICNjZmRiZTI7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFV0aWxpdGllcyB2YXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kdGV4dC1hbHBoYTogICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuJHRleHQtYWxwaGEtaW52ZXJzZTogICAgcmdiYSgwLDAsMCwuNSk7XHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAxcmVtO1xyXG4kdGV4dC1zbTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAwLjc0Mzc1O1xyXG4kdGV4dC1tZDogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjY2MjU7XHJcbiR0ZXh0LWxnOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNjI1O1xyXG5cclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuJHdkLXh4czogICAgICAgICAgICAgICAgNjBweDtcclxuJHdkLXhzOiAgICAgICAgICAgICAgICAgOTBweDtcclxuJHdkLXNtOiAgICAgICAgICAgICAgICAgMTUwcHg7XHJcbiR3ZC1zZDogICAgICAgICAgICAgICAgIDIwMHB4OyAvLyBzZCA9PSBzdGFuZGFyZFxyXG4kd2QtbWQ6ICAgICAgICAgICAgICAgICAyNDBweDtcclxuJHdkLWxnOiAgICAgICAgICAgICAgICAgMjgwcHg7XHJcbiR3ZC14bDogICAgICAgICAgICAgICAgIDMyMHB4O1xyXG4kd2QteHhsOiAgICAgICAgICAgICAgICAzNjBweDtcclxuJHdkLXdpZGU6ICAgICAgICAgICAgICAgMTAwJTtcclxuJHdkLWF1dG86ICAgICAgICAgICAgICAgYXV0bztcclxuJHdkLXplcm86ICAgICAgICAgICAgICAgMDtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQm9vdHN0cmFwIDQgVmFyaWFibGVzIE92ZXJyaWRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ29sb3Igc3lzdGVtXHJcblxyXG4kY29sb3JzOiAoXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxyXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxyXG4gICAgJ2ludmVyc2UnOiAgICAkaW52ZXJzZSxcclxuXHJcbiAgICAncHJpbWFyeS1saWdodCc6ICRwcmltYXJ5LWxpZ2h0LFxyXG4gICAgJ3ByaW1hcnktZGFyayc6ICAkcHJpbWFyeS1kYXJrLFxyXG4gICAgJ3N1Y2Nlc3MtbGlnaHQnOiAkc3VjY2Vzcy1saWdodCxcclxuICAgICdzdWNjZXNzLWRhcmsnOiAgJHN1Y2Nlc3MtZGFyayxcclxuICAgICdpbmZvLWxpZ2h0JzogICAgJGluZm8tbGlnaHQsXHJcbiAgICAnaW5mby1kYXJrJzogICAgICRpbmZvLWRhcmssXHJcbiAgICAnd2FybmluZy1saWdodCc6ICR3YXJuaW5nLWxpZ2h0LFxyXG4gICAgJ3dhcm5pbmctZGFyayc6ICAkd2FybmluZy1kYXJrLFxyXG4gICAgJ2Rhbmdlci1saWdodCc6ICAkZGFuZ2VyLWxpZ2h0LFxyXG4gICAgJ2Rhbmdlci1kYXJrJzogICAkZGFuZ2VyLWRhcmssXHJcbiAgICAnZ3JlZW4tbGlnaHQnOiAgICRncmVlbi1saWdodCxcclxuICAgICdncmVlbi1kYXJrJzogICAgJGdyZWVuLWRhcmssXHJcbiAgICAncGluay1saWdodCc6ICAgICRwaW5rLWxpZ2h0LFxyXG4gICAgJ3BpbmstZGFyayc6ICAgICAkcGluay1kYXJrLFxyXG4gICAgJ3B1cnBsZS1saWdodCc6ICAkcHVycGxlLWxpZ2h0LFxyXG4gICAgJ3B1cnBsZS1kYXJrJzogICAkcHVycGxlLWRhcmssXHJcbiAgICAnaW52ZXJzZS1saWdodCc6ICRpbnZlcnNlLWxpZ2h0LFxyXG4gICAgJ2ludmVyc2UtZGFyayc6ICAkaW52ZXJzZS1kYXJrLFxyXG4gICAgJ3llbGxvdy1saWdodCc6ICAkeWVsbG93LWxpZ2h0LFxyXG4gICAgJ3llbGxvdy1kYXJrJzogICAkeWVsbG93LWRhcmssXHJcbik7XHJcblxyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcclxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlclxyXG4pO1xyXG5cclxuLy8gQm9keVxyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAjNjU2NTY1O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtO1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuMzc1cmVtO1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41Mjg1NzE0Mjk7XHJcblxyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjE7XHJcblxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAjOTA5RkE3O1xyXG5cclxuLy8gVGFibGVzXHJcblxyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICAjZmFmYmZjO1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAjZmFmYmZjO1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgI2VlZTtcclxuXHJcbi8vIEJ1dHRvbnMgKyBGb3Jtc1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgMXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4zMTI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNjI1cmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjYyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMS4yNXJlbTtcclxuXHJcbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgIDIuMTg3NXJlbTsgLy8gMzVweFxyXG5cclxuLy8gRm9ybXNcclxuXHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXk7XHJcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjNjZhZmU5O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgI2I3YmFjOTtcclxuXHJcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgICAgICBub25lO1xyXG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICAgICAgbm9uZTtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICBsaWdodGVuKCRwcmltYXJ5LCAyNSUpO1xyXG5cclxuLy8gRHJvcGRvd25zXHJcblxyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZTFlMWUxO1xyXG5cclxuLy8gTmF2c1xyXG5cclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIEp1bWJvdHJvblxyXG5cclxuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZjZmNmYztcclxuXHJcbi8vIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgICNlNGVhZWM7XHJcblxyXG4vLyBJbWFnZSB0aHVtYm5haWxzXHJcblxyXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMTI1cmVtO1xyXG5cclxuXHJcbi8vIEJyZWFkY3J1bWJzXHJcblxyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAjZmFmYWZhO1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAjYzFjMmMzO1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuIiwiLy8gR3JhZGllbnRzXHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XHJcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXHJcbi8vXHJcbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcclxuLy9cclxuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxyXG4vL1xyXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXHJcblxyXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxyXG4vLyAgICBtZFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xyXG59XHJcblxyXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA1NzZweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cclxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcclxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cclxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxyXG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHJcbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA3NjcuOThweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcclxufVxyXG5cclxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cclxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIi1zbVwiXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWluIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtYXgge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cclxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\";","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #3a3f51;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #268c3a;\\n background-image: linear-gradient(to right, #268c3a 0%, #31B44A 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #207430 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #103c19;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #268c3a;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #268c3a;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #268c3a;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #268c3a;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #268c3a;\\n}\\n.sidebar-subnav {\\n background-color: #3a3f51;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #268c3a;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #268c3a;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #268c3a;\\n background-color: #268c3a;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFx0aGVtZXNcXHRoZW1lLWYuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtZi5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3R5bGVzL3RoZW1lcy9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcc2hhcmVkXFxzdHlsZXNcXGFwcFxcdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdHlsZXMvdGhlbWVzL0Q6XFxJbmRpYUJVXFxBZ2VudFBvb2xcXERvdE5ldFxcRG90TmV0RnJhbWV3b3JrXFxfd29ya1xcMjk2XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0eWxlc1xcYm9vdHN0cmFwXFxtaXhpbnNcXF9ncmFkaWVudHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQ0poQztBRGdEQTtFQUNJLHlCRW5Eb0I7QURNeEI7QURnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkVuQm9CO0VDNUJ0QixxRUFBQTtFQUNBLDJCQUFBO0FGR0Y7QUcwQ0k7RUpNUTtJQUNJLGtDQUFBO0VDN0NkO0FBQ0Y7QURpREk7RUFDSSxXQXREd0I7QUNPaEM7QURrREk7O0VBRUksV0EzRHdCO0FDV2hDO0FEaURROzs7RUFDSSxjQTVEb0I7QUNlaEM7QURpREk7RUFDSSx5QkUzQ2dCO0FESnhCO0FEbURBOzs2RUFBQTtBQUdBO0VBQ0kseUJFMUZvQjtBRDBDeEI7QURrREk7RUFDSSxjQTVEMEI7QUNZbEM7QUR1RFE7RUFDSSxjQTlFc0I7QUMwQmxDO0FEc0RZO0VBQ0ksY0VqRVE7QURheEI7QUR3RFk7RUFDSSxlQWxGa0I7QUM0QmxDO0FENkRZO0VBQ0kseUJBNUZrQjtFQTZGbEIsY0UvRVE7QURvQnhCO0FEOERZO0VBQ0ksY0VuRlE7QUR1QnhCO0FEaUVRO0VBQ0ksMEJFekZZO0FEMEJ4QjtBRHNFQTtFQUNJLHlCRXhJb0I7QURxRXhCO0FEcUVJO0VBQ0ksY0FwSDBCO0FDaURsQztBRHVFUTtFQUNJLGNBekhzQjtBQ29EbEM7QUR1RVk7RUFDSSxjRTVHUTtBRHVDeEI7QUQyRVk7RUFDSSxjRW5IUTtBRDBDeEI7QUQyRWdCO0VBQ0kscUJFdEhJO0VGdUhKLHlCRXZISTtBRDhDeEI7QURvRkE7OzZFQUFBO0FBR0E7RUFDSSx5Q0FBQTtFQUNBLHNCQXhJc0I7RUF5SXRCLGNFckN3QjtBRDVDNUIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvc3R5bGVzL3RoZW1lcy90aGVtZS1mLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCb290c3RyYXBcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9mdW5jdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4uL2Jvb3RzdHJhcC9taXhpbnNcIjtcclxuQGltcG9ydCAnLi4vYXBwL3ZhcmlhYmxlcyc7XHJcblxyXG5cclxuLy8gTEFZT1VUXHJcblxyXG4kY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRhc2lkZS1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktZGFyaztcclxuXHJcbi8vIE5BVkJBUiBUT1BcclxuXHJcbiRuYXYtdG9wLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyZWVuLWRhcms7XHJcbiRuYXYtdG9wLWJnLXN0YXJ0OiAgICAgICAgICAgICAgJG5hdi10b3AtYmc7XHJcbiRuYXYtdG9wLWJnLWVuZDogICAgICAgICAgICAgICAgJGdyZWVuO1xyXG4kbmF2LWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuJG5hdi10b3AtaXRlbTogICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kbmF2LXRvcC1pdGVtLWFjdGl2ZTogICAgICAgICAgIGRhcmtlbigkbmF2LXRvcC1iZywgMjAlKTtcclxuXHJcbi8vIFNJREVCQVJcclxuXHJcbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYXNpZGUtYmc7XHJcblxyXG4kc2lkZWJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgI2UxZTJlMztcclxuJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU6ICAgICAgICRuYXYtdG9wLWJnO1xyXG4kc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTogICAgICAgICAgZGFya2VuKCRzaWRlYmFyLWJnLCAxJSk7XHJcblxyXG4kc2lkZWJhci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdHM7XHJcbiRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlOiAgICAgICAkbmF2LXRvcC1iZztcclxuXHJcbiRzaWRlYmFyLWJ1bGxldC1jb2xvcjogICAgICAgICAgICByZ2JhKDAsMCwwLC4yNSk7XHJcbiRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU6ICAgICAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiRzaWRlYmFyLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAjOTE5REE4O1xyXG4kc2lkZWJhci1sYWJlbC1jb2xvcjogICAgICAgICAgICAgJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbi8vIE9GRlNJREVCQVJcclxuXHJcbiRvZmZzaWRlYmFyLWJnOiAgICAgICAgICAgI2ZmZjtcclxuJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yOiBncmV5c2NhbGUoZGFya2VuKCRvZmZzaWRlYmFyLWJnLCAyMCUpKTtcclxuJG9mZnNpZGViYXItY29sb3I6ICAgICAgICAkYm9keS1jb2xvcjtcclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBsYXlvdXRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbmJvZHksIC53cmFwcGVyIC5zZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29udGVudC1iZztcclxufVxyXG5cclxuLndyYXBwZXIgLmFzaWRlLWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXNpZGUtYmc7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHRvcC1uYXZiYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi50b3BuYXZiYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10b3AtYmc7XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC14KCRuYXYtdG9wLWJnLXN0YXJ0LCAkbmF2LXRvcC1iZy1lbmQpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rIHtcclxuICAgICAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIC0zcHggMCBkYXJrZW4oJG5hdi10b3AtYmcsIDYlKSBpbnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXZiYXItdGV4dCB7XHJcbiAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW07XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rIHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRuYXYtdG9wLWl0ZW0tYWN0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10b3AtYmc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zaWRlYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJnO1xyXG5cclxuICAgIC5uYXYtaGVhZGluZyB7XHJcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWhlYWRpbmctY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEl0ZW1zXHJcbi5zaWRlYmFyLW5hdiB7XHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gSXRlbSBpY29uXHJcbiAgICAgICAgICAgID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBBY3RpdmUgaXRlbSBzdGF0ZVxyXG4gICAgICAgICYuYWN0aXZlLCAmLm9wZW4ge1xyXG4gICAgICAgICAgICAmLCA+IGEsID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItaXRlbS1iZy1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLm5hdi1pdGVtID4gZW0sID4gYSA+IGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uc2lkZWJhci1zdWJuYXYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgPiBhLCA+IC5uYXYtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2lkZWJhci1idWxsZXQtY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBvZmZzaWRlYmFyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ub2Zmc2lkZWJhciB7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRvZmZzaWRlYmFyLWJvcmRlci1jb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZzaWRlYmFyLWJnO1xyXG4gICAgY29sb3I6ICRvZmZzaWRlYmFyLWNvbG9yO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBsYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keSwgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjdmYTtcbn1cblxuLndyYXBwZXIgLmFzaWRlLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYTNmNTE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiB0b3AtbmF2YmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50b3BuYXZiYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY4YzNhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMyNjhjM2EgMCUsICMzMUI0NEEgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmssIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluazpob3ZlciwgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIC0zcHggMCAjMjA3NDMwIGluc2V0O1xuICB9XG59XG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6ICNmZmY7XG59XG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rLFxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rIHtcbiAgY29sb3I6ICNmZmY7XG59XG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmhvdmVyLCAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdi1saW5rOmZvY3VzLFxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rOmhvdmVyLFxuLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICMxMDNjMTk7XG59XG4udG9wbmF2YmFyIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLnRvcG5hdmJhciAuZHJvcGRvd24taXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY4YzNhO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogc2lkZWJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2lkZWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYTNmNTE7XG59XG4uc2lkZWJhciAubmF2LWhlYWRpbmcge1xuICBjb2xvcjogIzkxOURBODtcbn1cblxuLnNpZGViYXItbmF2ID4gbGkgPiBhLCAuc2lkZWJhci1uYXYgPiBsaSA+IC5uYXYtaXRlbSB7XG4gIGNvbG9yOiAjZTFlMmUzO1xufVxuLnNpZGViYXItbmF2ID4gbGkgPiBhOmZvY3VzLCAuc2lkZWJhci1uYXYgPiBsaSA+IGE6aG92ZXIsIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtOmZvY3VzLCAuc2lkZWJhci1uYXYgPiBsaSA+IC5uYXYtaXRlbTpob3ZlciB7XG4gIGNvbG9yOiAjMjY4YzNhO1xufVxuLnNpZGViYXItbmF2ID4gbGkgPiBhID4gZW0sIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtID4gZW0ge1xuICBjb2xvcjogaW5oZXJpdHM7XG59XG4uc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUsIC5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEsIC5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlIC5zaWRlYmFyLW5hdiwgLnNpZGViYXItbmF2ID4gbGkub3BlbiwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IGEsIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gLnNpZGViYXItbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4M2Q0ZTtcbiAgY29sb3I6ICMyNjhjM2E7XG59XG4uc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiAubmF2LWl0ZW0gPiBlbSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gYSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gLm5hdi1pdGVtID4gZW0sIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gPiBhID4gZW0ge1xuICBjb2xvcjogIzI2OGMzYTtcbn1cbi5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjMjY4YzNhO1xufVxuXG4uc2lkZWJhci1zdWJuYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2EzZjUxO1xufVxuLnNpZGViYXItc3VibmF2ID4gLnNpZGViYXItc3VibmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjZTFlMmUzO1xufVxuLnNpZGViYXItc3VibmF2ID4gbGkgPiBhLCAuc2lkZWJhci1zdWJuYXYgPiBsaSA+IC5uYXYtaXRlbSB7XG4gIGNvbG9yOiAjZTFlMmUzO1xufVxuLnNpZGViYXItc3VibmF2ID4gbGkgPiBhOmZvY3VzLCAuc2lkZWJhci1zdWJuYXYgPiBsaSA+IGE6aG92ZXIsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gLm5hdi1pdGVtOmZvY3VzLCAuc2lkZWJhci1zdWJuYXYgPiBsaSA+IC5uYXYtaXRlbTpob3ZlciB7XG4gIGNvbG9yOiAjMjY4YzNhO1xufVxuLnNpZGViYXItc3VibmF2ID4gbGkuYWN0aXZlID4gYSwgLnNpZGViYXItc3VibmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtIHtcbiAgY29sb3I6ICMyNjhjM2E7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiBhOmFmdGVyLCAuc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiAubmF2LWl0ZW06YWZ0ZXIge1xuICBib3JkZXItY29sb3I6ICMyNjhjM2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjhjM2E7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBvZmZzaWRlYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5vZmZzaWRlYmFyIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBncmV5c2NhbGUoI2NjY2NjYyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNjU2NTY1O1xufSIsIlxyXG4vLyBDdXRvbXMgR3JheSBjb2xvcnMgZm9yIHRoZW1lXHJcbiRncmF5LWRhcmtlcjogICAgICAgICAgICMyMzI3MzU7XHJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICMzYTNmNTE7XHJcbiRncmF5OiAgICAgICAgICAgICAgICAgICNkZGU2ZTk7XHJcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICNlNGVhZWM7XHJcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICNlZGYxZjI7XHJcblxyXG4vLyBDdXN0b20gYnJhbmQgY29sb3JzIGZvciB0aGVtZVxyXG4kaW52ZXJzZTogICAgICAgICAgICAgICAjMTMxZTI2O1xyXG4kcHVycGxlOiAgICAgICAgICAgICAgICAjNzI2NmJhO1xyXG4kcGluazogICAgICAgICAgICAgICAgICAjZjUzMmU1O1xyXG4keWVsbG93OiAgICAgICAgICAgICAgICAjZmFkNzMyO1xyXG4kZ3JlZW46ICAgICAgICAgICAgICAgICAjMzFCNDRBO1xyXG5cclxuJHByaW1hcnk6ICAgICAgICAgICAgICAgIzAwQUJFNztcclxuJHNlY29uZGFyeTogICAgICAgICAgICAgI2ZmZjtcclxuJHN1Y2Nlc3M6ICAgICAgICAgICAgICAgIzI3YzI0YztcclxuJGluZm86ICAgICAgICAgICAgICAgICAgIzg2QkMyNSAgO1xyXG4kd2FybmluZzogICAgICAgICAgICAgICAjZmY5MDJiO1xyXG4kZGFuZ2VyOiAgICAgICAgICAgICAgICAjZjA1MDUwO1xyXG4kZGFyazogICAgICAgICAgICAgICAgICAjM2EzZjUxO1xyXG5cclxuLy8gQ3VzdG9tIGNvbG9yIHZhcmlhbnRzXHJcbiRhbW91bnRPZkxpZ2h0OiAxMCU7XHJcblxyXG4kcHJpbWFyeS1saWdodDogICAgICAgICBsaWdodGVuKCRwcmltYXJ5LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRzdWNjZXNzLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkaW5mbywgJGFtb3VudE9mTGlnaHQpO1xyXG4kd2FybmluZy1saWdodDogICAgICAgICBsaWdodGVuKCR3YXJuaW5nLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRkYW5nZXItbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1saWdodDogICAgICAgICBsaWdodGVuKCRpbnZlcnNlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRncmVlbi1saWdodDogICAgICAgICAgIGxpZ2h0ZW4oJGdyZWVuLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwaW5rLWxpZ2h0OiAgICAgICAgICAgIGxpZ2h0ZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1saWdodDogICAgICAgICAgbGlnaHRlbigkcHVycGxlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR5ZWxsb3ctbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oJHllbGxvdywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHJpbWFyeS1kYXJrOiAgICAgICAgICBkYXJrZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtZGFyazogICAgICAgICAgZGFya2VuKCRzdWNjZXNzLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbmZvLWRhcms6ICAgICAgICAgICAgIGRhcmtlbigkaW5mbywgJGFtb3VudE9mTGlnaHQpO1xyXG4kd2FybmluZy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1kYXJrOiAgICAgICAgICAgZGFya2VuKCRkYW5nZXIsICRhbW91bnRPZkxpZ2h0KTtcclxuJGludmVyc2UtZGFyazogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRncmVlbi1kYXJrOiAgICAgICAgICAgIGRhcmtlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstZGFyazogICAgICAgICAgICAgZGFya2VuKCRwaW5rLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwdXJwbGUtZGFyazogICAgICAgICAgIGRhcmtlbigkcHVycGxlLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR5ZWxsb3ctZGFyazogICAgICAgICAgIGRhcmtlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcblxyXG4vLyBUaGVtZSB2YXJpYWJsZXNcclxuXHJcbi8vIHVzZWQgZm9yIHNpZGViYXJzIGFuZCBjb250ZW50IHNwYWNpbmdcclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1NXB4O1xyXG5cclxuLy8gQnV0dG9uIHNlY29uZGFyeSByZWRlZmluaXRpb24gc3R5bGUgZm9yIHRoZW1lXHJcbiRidG4tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgIzMzMztcclxuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAgICNlYWVhZWE7XHJcblxyXG4vLyBUb3AgQm9yZGVyIGNvbG9yIGZvciBjdXN0b20gZGVmYXVsdCBjYXJkcyAoLmNhcmQtZGVmYXVsdClcclxuJGNhcmQtZGVmYXVsdC1ib3JkZXItY29sb3I6ICAgICAgICAjY2ZkYmUyO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBVdGlsaXRpZXMgdmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRleHQtYWxwaGE6ICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XHJcbiR0ZXh0LWFscGhhLWludmVyc2U6ICAgIHJnYmEoMCwwLDAsLjUpO1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgMXJlbTtcclxuJHRleHQtc206ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMC43NDM3NTtcclxuJHRleHQtbWQ6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS42NjI1O1xyXG4kdGV4dC1sZzogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjYyNTtcclxuXHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbiR3ZC14eHM6ICAgICAgICAgICAgICAgIDYwcHg7XHJcbiR3ZC14czogICAgICAgICAgICAgICAgIDkwcHg7XHJcbiR3ZC1zbTogICAgICAgICAgICAgICAgIDE1MHB4O1xyXG4kd2Qtc2Q6ICAgICAgICAgICAgICAgICAyMDBweDsgLy8gc2QgPT0gc3RhbmRhcmRcclxuJHdkLW1kOiAgICAgICAgICAgICAgICAgMjQwcHg7XHJcbiR3ZC1sZzogICAgICAgICAgICAgICAgIDI4MHB4O1xyXG4kd2QteGw6ICAgICAgICAgICAgICAgICAzMjBweDtcclxuJHdkLXh4bDogICAgICAgICAgICAgICAgMzYwcHg7XHJcbiR3ZC13aWRlOiAgICAgICAgICAgICAgIDEwMCU7XHJcbiR3ZC1hdXRvOiAgICAgICAgICAgICAgIGF1dG87XHJcbiR3ZC16ZXJvOiAgICAgICAgICAgICAgIDA7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEJvb3RzdHJhcCA0IFZhcmlhYmxlcyBPdmVycmlkZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENvbG9yIHN5c3RlbVxyXG5cclxuJGNvbG9yczogKFxyXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXHJcbiAgICBcInBpbmtcIjogICAgICAgJHBpbmssXHJcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcclxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXHJcbiAgICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcclxuICAgICdpbnZlcnNlJzogICAgJGludmVyc2UsXHJcblxyXG4gICAgJ3ByaW1hcnktbGlnaHQnOiAkcHJpbWFyeS1saWdodCxcclxuICAgICdwcmltYXJ5LWRhcmsnOiAgJHByaW1hcnktZGFyayxcclxuICAgICdzdWNjZXNzLWxpZ2h0JzogJHN1Y2Nlc3MtbGlnaHQsXHJcbiAgICAnc3VjY2Vzcy1kYXJrJzogICRzdWNjZXNzLWRhcmssXHJcbiAgICAnaW5mby1saWdodCc6ICAgICRpbmZvLWxpZ2h0LFxyXG4gICAgJ2luZm8tZGFyayc6ICAgICAkaW5mby1kYXJrLFxyXG4gICAgJ3dhcm5pbmctbGlnaHQnOiAkd2FybmluZy1saWdodCxcclxuICAgICd3YXJuaW5nLWRhcmsnOiAgJHdhcm5pbmctZGFyayxcclxuICAgICdkYW5nZXItbGlnaHQnOiAgJGRhbmdlci1saWdodCxcclxuICAgICdkYW5nZXItZGFyayc6ICAgJGRhbmdlci1kYXJrLFxyXG4gICAgJ2dyZWVuLWxpZ2h0JzogICAkZ3JlZW4tbGlnaHQsXHJcbiAgICAnZ3JlZW4tZGFyayc6ICAgICRncmVlbi1kYXJrLFxyXG4gICAgJ3BpbmstbGlnaHQnOiAgICAkcGluay1saWdodCxcclxuICAgICdwaW5rLWRhcmsnOiAgICAgJHBpbmstZGFyayxcclxuICAgICdwdXJwbGUtbGlnaHQnOiAgJHB1cnBsZS1saWdodCxcclxuICAgICdwdXJwbGUtZGFyayc6ICAgJHB1cnBsZS1kYXJrLFxyXG4gICAgJ2ludmVyc2UtbGlnaHQnOiAkaW52ZXJzZS1saWdodCxcclxuICAgICdpbnZlcnNlLWRhcmsnOiAgJGludmVyc2UtZGFyayxcclxuICAgICd5ZWxsb3ctbGlnaHQnOiAgJHllbGxvdy1saWdodCxcclxuICAgICd5ZWxsb3ctZGFyayc6ICAgJHllbGxvdy1kYXJrLFxyXG4pO1xyXG5cclxuXHJcbiR0aGVtZS1jb2xvcnM6IChcclxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXHJcbiAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXHJcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxyXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXJcclxuKTtcclxuXHJcbi8vIEJvZHlcclxuXHJcbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgIzY1NjU2NTtcclxuXHJcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbTtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjM3NXJlbTtcclxuXHJcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNTI4NTcxNDI5O1xyXG5cclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4xO1xyXG5cclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgIzkwOUZBNztcclxuXHJcbi8vIFRhYmxlc1xyXG5cclxuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgI2ZhZmJmYztcclxuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgI2ZhZmJmYztcclxuXHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICNlZWU7XHJcblxyXG4vLyBCdXR0b25zICsgRm9ybXNcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIDFyZW07XHJcblxyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMzEyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjYyNXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LWxnOiAgICAgIC42MjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDEuMjVyZW07XHJcblxyXG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAyLjE4NzVyZW07IC8vIDM1cHhcclxuXHJcbi8vIEZvcm1zXHJcblxyXG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlcjtcclxuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5O1xyXG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgIzY2YWZlOTtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICNiN2JhYzk7XHJcblxyXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICAgICAgbm9uZTtcclxuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgICAgIG5vbmU7XHJcblxyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgbGlnaHRlbigkcHJpbWFyeSwgMjUlKTtcclxuXHJcbi8vIERyb3Bkb3duc1xyXG5cclxuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2UxZTFlMTtcclxuXHJcbi8vIE5hdnNcclxuXHJcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICNmZmY7XHJcblxyXG4vLyBKdW1ib3Ryb25cclxuXHJcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICNmY2ZjZmM7XHJcblxyXG4vLyBMaXN0IGdyb3VwXHJcblxyXG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICAjZTRlYWVjO1xyXG5cclxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xyXG5cclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjEyNXJlbTtcclxuXHJcblxyXG4vLyBCcmVhZGNydW1ic1xyXG5cclxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZhZmFmYTtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgI2MxYzJjMztcclxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGJvZHktY29sb3I7XHJcbiIsIi8vIEdyYWRpZW50c1xyXG5cclxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xyXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgbWl4KCRib2R5LWJnLCAkY29sb3IsIDE1JSksICRjb2xvcikgcmVwZWF0LXg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcclxuLy9cclxuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cclxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxufVxyXG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxyXG4vL1xyXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XHJcbi8vXHJcbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcclxuLy9cclxuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxyXG5cclxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXHJcbi8vICAgIG1kXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcclxuLy8gICAgbWRcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcclxuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcclxuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgNTc2cHhcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXHJcbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XHJcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXHJcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcclxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxyXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgNzY3Ljk4cHhcclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXHJcbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxyXG4vL1xyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcclxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcclxuLy8gICAgXCItc21cIlxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICBAaWYgJG1pbiB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWF4IHtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XHJcblxyXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXHJcbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\";","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #3a3f51;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #564aa3;\\n background-image: linear-gradient(to right, #564aa3 0%, #7266ba 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #4b408e inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #312a5d;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #564aa3;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #9289ca;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #9289ca;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #9289ca;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #9289ca;\\n}\\n.sidebar-subnav {\\n background-color: #3a3f51;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #9289ca;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #9289ca;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #9289ca;\\n background-color: #9289ca;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFx0aGVtZXNcXHRoZW1lLWcuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtZy5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3R5bGVzL3RoZW1lcy9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcc2hhcmVkXFxzdHlsZXNcXGFwcFxcdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdHlsZXMvdGhlbWVzL0Q6XFxJbmRpYUJVXFxBZ2VudFBvb2xcXERvdE5ldFxcRG90TmV0RnJhbWV3b3JrXFxfd29ya1xcMjk2XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0eWxlc1xcYm9vdHN0cmFwXFxtaXhpbnNcXF9ncmFkaWVudHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQ0poQztBRGdEQTtFQUNJLHlCRW5Eb0I7QURNeEI7QURnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkVqQm9CO0VDOUJ0QixxRUFBQTtFQUNBLDJCQUFBO0FGR0Y7QUcwQ0k7RUpNUTtJQUNJLGtDQUFBO0VDN0NkO0FBQ0Y7QURpREk7RUFDSSxXQXREd0I7QUNPaEM7QURrREk7O0VBRUksV0EzRHdCO0FDV2hDO0FEaURROzs7RUFDSSxjQTVEb0I7QUNlaEM7QURpREk7RUFDSSx5QkV6Q2dCO0FETnhCO0FEbURBOzs2RUFBQTtBQUdBO0VBQ0kseUJFMUZvQjtBRDBDeEI7QURrREk7RUFDSSxjQTVEMEI7QUNZbEM7QUR1RFE7RUFDSSxjQTlFc0I7QUMwQmxDO0FEc0RZO0VBQ0ksY0V6RVE7QURxQnhCO0FEd0RZO0VBQ0ksZUFsRmtCO0FDNEJsQztBRDZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNFdkZRO0FENEJ4QjtBRDhEWTtFQUNJLGNFM0ZRO0FEK0J4QjtBRGlFUTtFQUNJLDBCRWpHWTtBRGtDeEI7QURzRUE7RUFDSSx5QkV4SW9CO0FEcUV4QjtBRHFFSTtFQUNJLGNBcEgwQjtBQ2lEbEM7QUR1RVE7RUFDSSxjQXpIc0I7QUNvRGxDO0FEdUVZO0VBQ0ksY0VwSFE7QUQrQ3hCO0FEMkVZO0VBQ0ksY0UzSFE7QURrRHhCO0FEMkVnQjtFQUNJLHFCRTlISTtFRitISix5QkUvSEk7QURzRHhCO0FEb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjRXJDd0I7QUQ1QzVCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtZy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQm9vdHN0cmFwXHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvbWl4aW5zXCI7XHJcbkBpbXBvcnQgJy4uL2FwcC92YXJpYWJsZXMnO1xyXG5cclxuXHJcbi8vIExBWU9VVFxyXG5cclxuJGNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYXNpZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LWRhcms7XHJcblxyXG4vLyBOQVZCQVIgVE9QXHJcblxyXG4kbmF2LXRvcC1iZzogICAgICAgICAgICAgICAgICAgICRwdXJwbGUtZGFyaztcclxuJG5hdi10b3AtYmctc3RhcnQ6ICAgICAgICAgICAgICAkbmF2LXRvcC1iZztcclxuJG5hdi10b3AtYmctZW5kOiAgICAgICAgICAgICAgICAkcHVycGxlO1xyXG4kbmF2LWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuJG5hdi10b3AtaXRlbTogICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kbmF2LXRvcC1pdGVtLWFjdGl2ZTogICAgICAgICAgIGRhcmtlbigkbmF2LXRvcC1iZywgMjAlKTtcclxuXHJcbi8vIFNJREVCQVJcclxuXHJcbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYXNpZGUtYmc7XHJcblxyXG4kc2lkZWJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgI2UxZTJlMztcclxuJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU6ICAgICAgICRwdXJwbGUtbGlnaHQ7XHJcbiRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlOiAgICAgICAgICBkYXJrZW4oJHNpZGViYXItYmcsIDElKTtcclxuXHJcbiRzaWRlYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0cztcclxuJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU6ICAgICAgICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG5cclxuJHNpZGViYXItYnVsbGV0LWNvbG9yOiAgICAgICAgICAgIHJnYmEoMCwwLDAsLjI1KTtcclxuJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTogICAgICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuJHNpZGViYXItaGVhZGluZy1jb2xvcjogICAgICAgICAgICM5MTlEQTg7XHJcbiRzaWRlYmFyLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuLy8gT0ZGU0lERUJBUlxyXG5cclxuJG9mZnNpZGViYXItYmc6ICAgICAgICAgICAjZmZmO1xyXG4kb2Zmc2lkZWJhci1ib3JkZXItY29sb3I6IGdyZXlzY2FsZShkYXJrZW4oJG9mZnNpZGViYXItYmcsIDIwJSkpO1xyXG4kb2Zmc2lkZWJhci1jb2xvcjogICAgICAgICRib2R5LWNvbG9yO1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxheW91dFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuYm9keSwgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWJnO1xyXG59XHJcblxyXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhc2lkZS1iZztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnRvcG5hdmJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJG5hdi10b3AtYmctc3RhcnQsICRuYXYtdG9wLWJnLWVuZCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTNweCAwIGRhcmtlbigkbmF2LXRvcC1iZywgNiUpIGluc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdmJhci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGViYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgLm5hdi1oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaGVhZGluZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSXRlbXNcclxuLnNpZGViYXItbmF2IHtcclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBJdGVtIGljb25cclxuICAgICAgICAgICAgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFjdGl2ZSBpdGVtIHN0YXRlXHJcbiAgICAgICAgJi5hY3RpdmUsICYub3BlbiB7XHJcbiAgICAgICAgICAgICYsID4gYSwgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubmF2LWl0ZW0gPiBlbSwgPiBhID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zaWRlYmFyLXN1Ym5hdiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5vZmZzaWRlYmFyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZnNpZGViYXItYmc7XHJcbiAgICBjb2xvcjogJG9mZnNpZGViYXItY29sb3I7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IGxheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhO1xufVxuXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2Y1MTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IHRvcC1uYXZiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRvcG5hdmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NjRhYTM7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzU2NGFhMyAwJSwgIzcyNjZiYSAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluaywgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rOmhvdmVyLCAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgLTNweCAwICM0YjQwOGUgaW5zZXQ7XG4gIH1cbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2YmFyLXRleHQge1xuICBjb2xvcjogI2ZmZjtcbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMsXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6aG92ZXIsXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzMxMmE1ZDtcbn1cbi50b3BuYXZiYXIgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAudG9wbmF2YmFyIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NjRhYTM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBzaWRlYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2Y1MTtcbn1cbi5zaWRlYmFyIC5uYXYtaGVhZGluZyB7XG4gIGNvbG9yOiAjOTE5REE4O1xufVxuXG4uc2lkZWJhci1uYXYgPiBsaSA+IGEsIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtIHtcbiAgY29sb3I6ICNlMWUyZTM7XG59XG4uc2lkZWJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC5zaWRlYmFyLW5hdiA+IGxpID4gYTpob3ZlciwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW06Zm9jdXMsIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICM5Mjg5Y2E7XG59XG4uc2lkZWJhci1uYXYgPiBsaSA+IGEgPiBlbSwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW0gPiBlbSB7XG4gIGNvbG9yOiBpbmhlcml0cztcbn1cbi5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gYSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgLnNpZGViYXItbmF2LCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gYSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiAuc2lkZWJhci1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzZDRlO1xuICBjb2xvcjogIzkyODljYTtcbn1cbi5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiBhID4gZW0sIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gPiAubmF2LWl0ZW0gPiBlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IGEgPiBlbSB7XG4gIGNvbG9yOiAjOTI4OWNhO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM5Mjg5Y2E7XG59XG5cbi5zaWRlYmFyLXN1Ym5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYTNmNTE7XG59XG4uc2lkZWJhci1zdWJuYXYgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcbiAgY29sb3I6ICNlMWUyZTM7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaSA+IGEsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gLm5hdi1pdGVtIHtcbiAgY29sb3I6ICNlMWUyZTM7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaSA+IGE6Zm9jdXMsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYTpob3ZlciwgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW06Zm9jdXMsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gLm5hdi1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICM5Mjg5Y2E7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiBhLCAuc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogIzkyODljYTtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IGE6YWZ0ZXIsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbTphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzkyODljYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkyODljYTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm9mZnNpZGViYXIge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGdyZXlzY2FsZSgjY2NjY2NjKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NTY1NjU7XG59IiwiXHJcbi8vIEN1dG9tcyBHcmF5IGNvbG9ycyBmb3IgdGhlbWVcclxuJGdyYXktZGFya2VyOiAgICAgICAgICAgIzIzMjczNTtcclxuJGdyYXktZGFyazogICAgICAgICAgICAgIzNhM2Y1MTtcclxuJGdyYXk6ICAgICAgICAgICAgICAgICAgI2RkZTZlOTtcclxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgI2U0ZWFlYztcclxuJGdyYXktbGlnaHRlcjogICAgICAgICAgI2VkZjFmMjtcclxuXHJcbi8vIEN1c3RvbSBicmFuZCBjb2xvcnMgZm9yIHRoZW1lXHJcbiRpbnZlcnNlOiAgICAgICAgICAgICAgICMxMzFlMjY7XHJcbiRwdXJwbGU6ICAgICAgICAgICAgICAgICM3MjY2YmE7XHJcbiRwaW5rOiAgICAgICAgICAgICAgICAgICNmNTMyZTU7XHJcbiR5ZWxsb3c6ICAgICAgICAgICAgICAgICNmYWQ3MzI7XHJcbiRncmVlbjogICAgICAgICAgICAgICAgICMzMUI0NEE7XHJcblxyXG4kcHJpbWFyeTogICAgICAgICAgICAgICAjMDBBQkU3O1xyXG4kc2Vjb25kYXJ5OiAgICAgICAgICAgICAjZmZmO1xyXG4kc3VjY2VzczogICAgICAgICAgICAgICAjMjdjMjRjO1xyXG4kaW5mbzogICAgICAgICAgICAgICAgICAjODZCQzI1ICA7XHJcbiR3YXJuaW5nOiAgICAgICAgICAgICAgICNmZjkwMmI7XHJcbiRkYW5nZXI6ICAgICAgICAgICAgICAgICNmMDUwNTA7XHJcbiRkYXJrOiAgICAgICAgICAgICAgICAgICMzYTNmNTE7XHJcblxyXG4vLyBDdXN0b20gY29sb3IgdmFyaWFudHNcclxuJGFtb3VudE9mTGlnaHQ6IDEwJTtcclxuXHJcbiRwcmltYXJ5LWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1saWdodDogICAgICAgICAgICBsaWdodGVuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1saWdodDogICAgICAgICAgbGlnaHRlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWxpZ2h0OiAgICAgICAgICAgbGlnaHRlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1saWdodDogICAgICAgICAgbGlnaHRlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwcmltYXJ5LWRhcms6ICAgICAgICAgIGRhcmtlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tZGFyazogICAgICAgICAgICAgZGFya2VuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWRhcms6ICAgICAgICAgIGRhcmtlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWRhcms6ICAgICAgICAgICBkYXJrZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1kYXJrOiAgICAgICAgICBkYXJrZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWRhcms6ICAgICAgICAgICAgZGFya2VuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1kYXJrOiAgICAgICAgICAgZGFya2VuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1kYXJrOiAgICAgICAgICAgZGFya2VuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuXHJcbi8vIFRoZW1lIHZhcmlhYmxlc1xyXG5cclxuLy8gdXNlZCBmb3Igc2lkZWJhcnMgYW5kIGNvbnRlbnQgc3BhY2luZ1xyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDU1cHg7XHJcblxyXG4vLyBCdXR0b24gc2Vjb25kYXJ5IHJlZGVmaW5pdGlvbiBzdHlsZSBmb3IgdGhlbWVcclxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAjMzMzO1xyXG4kYnRuLXNlY29uZGFyeS1iZzogICAgICAgICAgICAgICAgICNmZmY7XHJcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICAgI2VhZWFlYTtcclxuXHJcbi8vIFRvcCBCb3JkZXIgY29sb3IgZm9yIGN1c3RvbSBkZWZhdWx0IGNhcmRzICguY2FyZC1kZWZhdWx0KVxyXG4kY2FyZC1kZWZhdWx0LWJvcmRlci1jb2xvcjogICAgICAgICNjZmRiZTI7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFV0aWxpdGllcyB2YXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kdGV4dC1hbHBoYTogICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuJHRleHQtYWxwaGEtaW52ZXJzZTogICAgcmdiYSgwLDAsMCwuNSk7XHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAxcmVtO1xyXG4kdGV4dC1zbTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAwLjc0Mzc1O1xyXG4kdGV4dC1tZDogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjY2MjU7XHJcbiR0ZXh0LWxnOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNjI1O1xyXG5cclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuJHdkLXh4czogICAgICAgICAgICAgICAgNjBweDtcclxuJHdkLXhzOiAgICAgICAgICAgICAgICAgOTBweDtcclxuJHdkLXNtOiAgICAgICAgICAgICAgICAgMTUwcHg7XHJcbiR3ZC1zZDogICAgICAgICAgICAgICAgIDIwMHB4OyAvLyBzZCA9PSBzdGFuZGFyZFxyXG4kd2QtbWQ6ICAgICAgICAgICAgICAgICAyNDBweDtcclxuJHdkLWxnOiAgICAgICAgICAgICAgICAgMjgwcHg7XHJcbiR3ZC14bDogICAgICAgICAgICAgICAgIDMyMHB4O1xyXG4kd2QteHhsOiAgICAgICAgICAgICAgICAzNjBweDtcclxuJHdkLXdpZGU6ICAgICAgICAgICAgICAgMTAwJTtcclxuJHdkLWF1dG86ICAgICAgICAgICAgICAgYXV0bztcclxuJHdkLXplcm86ICAgICAgICAgICAgICAgMDtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQm9vdHN0cmFwIDQgVmFyaWFibGVzIE92ZXJyaWRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ29sb3Igc3lzdGVtXHJcblxyXG4kY29sb3JzOiAoXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxyXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxyXG4gICAgJ2ludmVyc2UnOiAgICAkaW52ZXJzZSxcclxuXHJcbiAgICAncHJpbWFyeS1saWdodCc6ICRwcmltYXJ5LWxpZ2h0LFxyXG4gICAgJ3ByaW1hcnktZGFyayc6ICAkcHJpbWFyeS1kYXJrLFxyXG4gICAgJ3N1Y2Nlc3MtbGlnaHQnOiAkc3VjY2Vzcy1saWdodCxcclxuICAgICdzdWNjZXNzLWRhcmsnOiAgJHN1Y2Nlc3MtZGFyayxcclxuICAgICdpbmZvLWxpZ2h0JzogICAgJGluZm8tbGlnaHQsXHJcbiAgICAnaW5mby1kYXJrJzogICAgICRpbmZvLWRhcmssXHJcbiAgICAnd2FybmluZy1saWdodCc6ICR3YXJuaW5nLWxpZ2h0LFxyXG4gICAgJ3dhcm5pbmctZGFyayc6ICAkd2FybmluZy1kYXJrLFxyXG4gICAgJ2Rhbmdlci1saWdodCc6ICAkZGFuZ2VyLWxpZ2h0LFxyXG4gICAgJ2Rhbmdlci1kYXJrJzogICAkZGFuZ2VyLWRhcmssXHJcbiAgICAnZ3JlZW4tbGlnaHQnOiAgICRncmVlbi1saWdodCxcclxuICAgICdncmVlbi1kYXJrJzogICAgJGdyZWVuLWRhcmssXHJcbiAgICAncGluay1saWdodCc6ICAgICRwaW5rLWxpZ2h0LFxyXG4gICAgJ3BpbmstZGFyayc6ICAgICAkcGluay1kYXJrLFxyXG4gICAgJ3B1cnBsZS1saWdodCc6ICAkcHVycGxlLWxpZ2h0LFxyXG4gICAgJ3B1cnBsZS1kYXJrJzogICAkcHVycGxlLWRhcmssXHJcbiAgICAnaW52ZXJzZS1saWdodCc6ICRpbnZlcnNlLWxpZ2h0LFxyXG4gICAgJ2ludmVyc2UtZGFyayc6ICAkaW52ZXJzZS1kYXJrLFxyXG4gICAgJ3llbGxvdy1saWdodCc6ICAkeWVsbG93LWxpZ2h0LFxyXG4gICAgJ3llbGxvdy1kYXJrJzogICAkeWVsbG93LWRhcmssXHJcbik7XHJcblxyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcclxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlclxyXG4pO1xyXG5cclxuLy8gQm9keVxyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAjNjU2NTY1O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtO1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuMzc1cmVtO1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41Mjg1NzE0Mjk7XHJcblxyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjE7XHJcblxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAjOTA5RkE3O1xyXG5cclxuLy8gVGFibGVzXHJcblxyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICAjZmFmYmZjO1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAjZmFmYmZjO1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgI2VlZTtcclxuXHJcbi8vIEJ1dHRvbnMgKyBGb3Jtc1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgMXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4zMTI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNjI1cmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjYyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMS4yNXJlbTtcclxuXHJcbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgIDIuMTg3NXJlbTsgLy8gMzVweFxyXG5cclxuLy8gRm9ybXNcclxuXHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXk7XHJcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjNjZhZmU5O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgI2I3YmFjOTtcclxuXHJcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgICAgICBub25lO1xyXG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICAgICAgbm9uZTtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICBsaWdodGVuKCRwcmltYXJ5LCAyNSUpO1xyXG5cclxuLy8gRHJvcGRvd25zXHJcblxyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZTFlMWUxO1xyXG5cclxuLy8gTmF2c1xyXG5cclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIEp1bWJvdHJvblxyXG5cclxuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZjZmNmYztcclxuXHJcbi8vIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgICNlNGVhZWM7XHJcblxyXG4vLyBJbWFnZSB0aHVtYm5haWxzXHJcblxyXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMTI1cmVtO1xyXG5cclxuXHJcbi8vIEJyZWFkY3J1bWJzXHJcblxyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAjZmFmYWZhO1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAjYzFjMmMzO1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuIiwiLy8gR3JhZGllbnRzXHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XHJcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXHJcbi8vXHJcbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcclxuLy9cclxuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxyXG4vL1xyXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXHJcblxyXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxyXG4vLyAgICBtZFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xyXG59XHJcblxyXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA1NzZweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cclxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcclxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cclxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxyXG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHJcbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA3NjcuOThweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcclxufVxyXG5cclxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cclxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIi1zbVwiXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWluIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtYXgge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cclxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\";","export default \"/* ========================================================================\\n Component: layout\\n ========================================================================== */\\nbody, .wrapper .section-container {\\n background-color: #f5f7fa;\\n}\\n.wrapper .aside-container {\\n background-color: #3a3f51;\\n}\\n/* ========================================================================\\n Component: top-navbar\\n ========================================================================== */\\n.topnavbar {\\n background-color: #ec2121;\\n background-image: linear-gradient(to right, #ec2121 0%, #f05050 100%);\\n background-repeat: repeat-x;\\n}\\n@media (min-width: 992px) {\\n .topnavbar .navbar-nav > .nav-item.show > .nav-link, .topnavbar .navbar-nav > .nav-item.show > .nav-link:hover, .topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n box-shadow: 0 -3px 0 #dc1313 inset;\\n }\\n}\\n.topnavbar .navbar-nav > .nav-item > .navbar-text {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link {\\n color: #fff;\\n}\\n.topnavbar .navbar-nav > .nav-item > .nav-link:hover, .topnavbar .navbar-nav > .nav-item > .nav-link:focus,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:hover,\\n.topnavbar .navbar-nav > .nav-item.show > .nav-link:focus {\\n color: #9a0d0d;\\n}\\n.topnavbar .dropdown-item.active, .topnavbar .dropdown-item:active {\\n background-color: #ec2121;\\n}\\n/* ========================================================================\\n Component: sidebar\\n ========================================================================== */\\n.sidebar {\\n background-color: #3a3f51;\\n}\\n.sidebar .nav-heading {\\n color: #919DA8;\\n}\\n.sidebar-nav > li > a, .sidebar-nav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-nav > li > a:focus, .sidebar-nav > li > a:hover, .sidebar-nav > li > .nav-item:focus, .sidebar-nav > li > .nav-item:hover {\\n color: #f05050;\\n}\\n.sidebar-nav > li > a > em, .sidebar-nav > li > .nav-item > em {\\n color: inherits;\\n}\\n.sidebar-nav > li.active, .sidebar-nav > li.active > a, .sidebar-nav > li.active > .nav-item, .sidebar-nav > li.active .sidebar-nav, .sidebar-nav > li.open, .sidebar-nav > li.open > a, .sidebar-nav > li.open > .nav-item, .sidebar-nav > li.open .sidebar-nav {\\n background-color: #383d4e;\\n color: #f05050;\\n}\\n.sidebar-nav > li.active > .nav-item > em, .sidebar-nav > li.active > a > em, .sidebar-nav > li.open > .nav-item > em, .sidebar-nav > li.open > a > em {\\n color: #f05050;\\n}\\n.sidebar-nav > li.active {\\n border-left-color: #f05050;\\n}\\n.sidebar-subnav {\\n background-color: #3a3f51;\\n}\\n.sidebar-subnav > .sidebar-subnav-header {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a, .sidebar-subnav > li > .nav-item {\\n color: #e1e2e3;\\n}\\n.sidebar-subnav > li > a:focus, .sidebar-subnav > li > a:hover, .sidebar-subnav > li > .nav-item:focus, .sidebar-subnav > li > .nav-item:hover {\\n color: #f05050;\\n}\\n.sidebar-subnav > li.active > a, .sidebar-subnav > li.active > .nav-item {\\n color: #f05050;\\n}\\n.sidebar-subnav > li.active > a:after, .sidebar-subnav > li.active > .nav-item:after {\\n border-color: #f05050;\\n background-color: #f05050;\\n}\\n/* ========================================================================\\n Component: offsidebar\\n ========================================================================== */\\n.offsidebar {\\n border-left: 1px solid greyscale(#cccccc);\\n background-color: #fff;\\n color: #656565;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFx0aGVtZXNcXHRoZW1lLWguc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtaC5zY3NzIiwic3JjL2FwcC9zaGFyZWQvc3R5bGVzL3RoZW1lcy9EOlxcSW5kaWFCVVxcQWdlbnRQb29sXFxEb3ROZXRcXERvdE5ldEZyYW1ld29ya1xcX3dvcmtcXDI5Nlxccy9zcmNcXGFwcFxcc2hhcmVkXFxzdHlsZXNcXGFwcFxcdmFyaWFibGVzLnNjc3MiLCJzcmMvYXBwL3NoYXJlZC9zdHlsZXMvdGhlbWVzL0Q6XFxJbmRpYUJVXFxBZ2VudFBvb2xcXERvdE5ldFxcRG90TmV0RnJhbWV3b3JrXFxfd29ya1xcMjk2XFxzL3NyY1xcYXBwXFxzaGFyZWRcXHN0eWxlc1xcYm9vdHN0cmFwXFxtaXhpbnNcXF9ncmFkaWVudHMuc2NzcyIsInNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvRDpcXEluZGlhQlVcXEFnZW50UG9vbFxcRG90TmV0XFxEb3ROZXRGcmFtZXdvcmtcXF93b3JrXFwyOTZcXHMvc3JjXFxhcHBcXHNoYXJlZFxcc3R5bGVzXFxib290c3RyYXBcXG1peGluc1xcX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOENBOzs2RUFBQTtBQUdBO0VBQ0kseUJBekM0QjtBQ0poQztBRGdEQTtFQUNJLHlCRW5Eb0I7QURNeEI7QURnREE7OzZFQUFBO0FBR0E7RUFDSSx5QkVyQm9CO0VDMUJ0QixxRUFBQTtFQUNBLDJCQUFBO0FGR0Y7QUcwQ0k7RUpNUTtJQUNJLGtDQUFBO0VDN0NkO0FBQ0Y7QURpREk7RUFDSSxXQXREd0I7QUNPaEM7QURrREk7O0VBRUksV0EzRHdCO0FDV2hDO0FEaURROzs7RUFDSSxjQTVEb0I7QUNlaEM7QURpREk7RUFDSSx5QkU3Q2dCO0FERnhCO0FEbURBOzs2RUFBQTtBQUdBO0VBQ0kseUJFMUZvQjtBRDBDeEI7QURrREk7RUFDSSxjQTVEMEI7QUNZbEM7QUR1RFE7RUFDSSxjQTlFc0I7QUMwQmxDO0FEc0RZO0VBQ0ksY0V2RlE7QURtQ3hCO0FEd0RZO0VBQ0ksZUFsRmtCO0FDNEJsQztBRDZEWTtFQUNJLHlCQTVGa0I7RUE2RmxCLGNFckdRO0FEMEN4QjtBRDhEWTtFQUNJLGNFekdRO0FENkN4QjtBRGlFUTtFQUNJLDBCRS9HWTtBRGdEeEI7QURzRUE7RUFDSSx5QkV4SW9CO0FEcUV4QjtBRHFFSTtFQUNJLGNBcEgwQjtBQ2lEbEM7QUR1RVE7RUFDSSxjQXpIc0I7QUNvRGxDO0FEdUVZO0VBQ0ksY0VsSVE7QUQ2RHhCO0FEMkVZO0VBQ0ksY0V6SVE7QURnRXhCO0FEMkVnQjtFQUNJLHFCRTVJSTtFRjZJSix5QkU3SUk7QURvRXhCO0FEb0ZBOzs2RUFBQTtBQUdBO0VBQ0kseUNBQUE7RUFDQSxzQkF4SXNCO0VBeUl0QixjRXJDd0I7QUQ1QzVCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL3N0eWxlcy90aGVtZXMvdGhlbWUtaC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQm9vdHN0cmFwXHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9ib290c3RyYXAvbWl4aW5zXCI7XHJcbkBpbXBvcnQgJy4uL2FwcC92YXJpYWJsZXMnO1xyXG5cclxuXHJcbi8vIExBWU9VVFxyXG5cclxuJGNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAjZjVmN2ZhO1xyXG4kYXNpZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LWRhcms7XHJcblxyXG4vLyBOQVZCQVIgVE9QXHJcblxyXG4kbmF2LXRvcC1iZzogICAgICAgICAgICAgICAgICAgICRkYW5nZXItZGFyaztcclxuJG5hdi10b3AtYmctc3RhcnQ6ICAgICAgICAgICAgICAkbmF2LXRvcC1iZztcclxuJG5hdi10b3AtYmctZW5kOiAgICAgICAgICAgICAgICAkZGFuZ2VyO1xyXG4kbmF2LWhlYWRlci1iZzogICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuJG5hdi10b3AtaXRlbTogICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kbmF2LXRvcC1pdGVtLWFjdGl2ZTogICAgICAgICAgIGRhcmtlbigkbmF2LXRvcC1iZywgMjAlKTtcclxuXHJcbi8vIFNJREVCQVJcclxuXHJcbiRzaWRlYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYXNpZGUtYmc7XHJcblxyXG4kc2lkZWJhci1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgI2UxZTJlMztcclxuJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU6ICAgICAgICRkYW5nZXI7XHJcbiRzaWRlYmFyLWl0ZW0tYmctYWN0aXZlOiAgICAgICAgICBkYXJrZW4oJHNpZGViYXItYmcsIDElKTtcclxuXHJcbiRzaWRlYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0cztcclxuJHNpZGViYXItaWNvbi1jb2xvci1hY3RpdmU6ICAgICAgICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG5cclxuJHNpZGViYXItYnVsbGV0LWNvbG9yOiAgICAgICAgICAgIHJnYmEoMCwwLDAsLjI1KTtcclxuJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTogICAgICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG5cclxuJHNpZGViYXItaGVhZGluZy1jb2xvcjogICAgICAgICAgICM5MTlEQTg7XHJcbiRzaWRlYmFyLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG5cclxuLy8gT0ZGU0lERUJBUlxyXG5cclxuJG9mZnNpZGViYXItYmc6ICAgICAgICAgICAjZmZmO1xyXG4kb2Zmc2lkZWJhci1ib3JkZXItY29sb3I6IGdyZXlzY2FsZShkYXJrZW4oJG9mZnNpZGViYXItYmcsIDIwJSkpO1xyXG4kb2Zmc2lkZWJhci1jb2xvcjogICAgICAgICRib2R5LWNvbG9yO1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxheW91dFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuYm9keSwgLndyYXBwZXIgLnNlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWJnO1xyXG59XHJcblxyXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhc2lkZS1iZztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdG9wLW5hdmJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnRvcG5hdmJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJG5hdi10b3AtYmctc3RhcnQsICRuYXYtdG9wLWJnLWVuZCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgLTNweCAwIGRhcmtlbigkbmF2LXRvcC1iZywgNiUpIGluc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtID4gLm5hdmJhci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbSA+IC5uYXYtbGluayxcclxuICAgIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LXRvcC1pdGVtO1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi10b3AtaXRlbS1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRvcC1iZztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2lkZWJhclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGViYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYmc7XHJcblxyXG4gICAgLm5hdi1oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJHNpZGViYXItaGVhZGluZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSXRlbXNcclxuLnNpZGViYXItbmF2IHtcclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBJdGVtIGljb25cclxuICAgICAgICAgICAgPiBlbSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaWNvbi1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFjdGl2ZSBpdGVtIHN0YXRlXHJcbiAgICAgICAgJi5hY3RpdmUsICYub3BlbiB7XHJcbiAgICAgICAgICAgICYsID4gYSwgPiAubmF2LWl0ZW0sIC5zaWRlYmFyLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1pdGVtLWJnLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubmF2LWl0ZW0gPiBlbSwgPiBhID4gZW0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWljb24tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHNpZGViYXItaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5zaWRlYmFyLXN1Ym5hdiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1iZztcclxuXHJcbiAgICA+IC5zaWRlYmFyLXN1Ym5hdi1oZWFkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1pdGVtLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgID4gYSwgPiAubmF2LWl0ZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNpZGViYXItaXRlbS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzaWRlYmFyLWl0ZW0tY29sb3ItYWN0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICA+IGEsID4gLm5hdi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2lkZWJhci1pY29uLWNvbG9yLWFjdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzaWRlYmFyLWJ1bGxldC1jb2xvci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYnVsbGV0LWNvbG9yLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5vZmZzaWRlYmFyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG9mZnNpZGViYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZnNpZGViYXItYmc7XHJcbiAgICBjb2xvcjogJG9mZnNpZGViYXItY29sb3I7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IGxheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LCAud3JhcHBlciAuc2VjdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmN2ZhO1xufVxuXG4ud3JhcHBlciAuYXNpZGUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2Y1MTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IHRvcC1uYXZiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRvcG5hdmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYzIxMjE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2VjMjEyMSAwJSwgI2YwNTA1MCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0uc2hvdyA+IC5uYXYtbGluaywgLnRvcG5hdmJhciAubmF2YmFyLW5hdiA+IC5uYXYtaXRlbS5zaG93ID4gLm5hdi1saW5rOmhvdmVyLCAudG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgLTNweCAwICNkYzEzMTMgaW5zZXQ7XG4gIH1cbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2YmFyLXRleHQge1xuICBjb2xvcjogI2ZmZjtcbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbmssXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6aG92ZXIsIC50b3BuYXZiYXIgLm5hdmJhci1uYXYgPiAubmF2LWl0ZW0gPiAubmF2LWxpbms6Zm9jdXMsXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6aG92ZXIsXG4udG9wbmF2YmFyIC5uYXZiYXItbmF2ID4gLm5hdi1pdGVtLnNob3cgPiAubmF2LWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzlhMGQwZDtcbn1cbi50b3BuYXZiYXIgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAudG9wbmF2YmFyIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYzIxMjE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBzaWRlYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhM2Y1MTtcbn1cbi5zaWRlYmFyIC5uYXYtaGVhZGluZyB7XG4gIGNvbG9yOiAjOTE5REE4O1xufVxuXG4uc2lkZWJhci1uYXYgPiBsaSA+IGEsIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtIHtcbiAgY29sb3I6ICNlMWUyZTM7XG59XG4uc2lkZWJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsIC5zaWRlYmFyLW5hdiA+IGxpID4gYTpob3ZlciwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW06Zm9jdXMsIC5zaWRlYmFyLW5hdiA+IGxpID4gLm5hdi1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICNmMDUwNTA7XG59XG4uc2lkZWJhci1uYXYgPiBsaSA+IGEgPiBlbSwgLnNpZGViYXItbmF2ID4gbGkgPiAubmF2LWl0ZW0gPiBlbSB7XG4gIGNvbG9yOiBpbmhlcml0cztcbn1cbi5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gYSwgLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlID4gLm5hdi1pdGVtLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgLnNpZGViYXItbmF2LCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuLCAuc2lkZWJhci1uYXYgPiBsaS5vcGVuID4gYSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IC5uYXYtaXRlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiAuc2lkZWJhci1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzZDRlO1xuICBjb2xvcjogI2YwNTA1MDtcbn1cbi5zaWRlYmFyLW5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbSA+IGVtLCAuc2lkZWJhci1uYXYgPiBsaS5hY3RpdmUgPiBhID4gZW0sIC5zaWRlYmFyLW5hdiA+IGxpLm9wZW4gPiAubmF2LWl0ZW0gPiBlbSwgLnNpZGViYXItbmF2ID4gbGkub3BlbiA+IGEgPiBlbSB7XG4gIGNvbG9yOiAjZjA1MDUwO1xufVxuLnNpZGViYXItbmF2ID4gbGkuYWN0aXZlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmMDUwNTA7XG59XG5cbi5zaWRlYmFyLXN1Ym5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYTNmNTE7XG59XG4uc2lkZWJhci1zdWJuYXYgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcbiAgY29sb3I6ICNlMWUyZTM7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaSA+IGEsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gLm5hdi1pdGVtIHtcbiAgY29sb3I6ICNlMWUyZTM7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaSA+IGE6Zm9jdXMsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gYTpob3ZlciwgLnNpZGViYXItc3VibmF2ID4gbGkgPiAubmF2LWl0ZW06Zm9jdXMsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpID4gLm5hdi1pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICNmMDUwNTA7XG59XG4uc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiBhLCAuc2lkZWJhci1zdWJuYXYgPiBsaS5hY3RpdmUgPiAubmF2LWl0ZW0ge1xuICBjb2xvcjogI2YwNTA1MDtcbn1cbi5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IGE6YWZ0ZXIsIC5zaWRlYmFyLXN1Ym5hdiA+IGxpLmFjdGl2ZSA+IC5uYXYtaXRlbTphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI2YwNTA1MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwNTA1MDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IG9mZnNpZGViYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm9mZnNpZGViYXIge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGdyZXlzY2FsZSgjY2NjY2NjKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NTY1NjU7XG59IiwiXHJcbi8vIEN1dG9tcyBHcmF5IGNvbG9ycyBmb3IgdGhlbWVcclxuJGdyYXktZGFya2VyOiAgICAgICAgICAgIzIzMjczNTtcclxuJGdyYXktZGFyazogICAgICAgICAgICAgIzNhM2Y1MTtcclxuJGdyYXk6ICAgICAgICAgICAgICAgICAgI2RkZTZlOTtcclxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgI2U0ZWFlYztcclxuJGdyYXktbGlnaHRlcjogICAgICAgICAgI2VkZjFmMjtcclxuXHJcbi8vIEN1c3RvbSBicmFuZCBjb2xvcnMgZm9yIHRoZW1lXHJcbiRpbnZlcnNlOiAgICAgICAgICAgICAgICMxMzFlMjY7XHJcbiRwdXJwbGU6ICAgICAgICAgICAgICAgICM3MjY2YmE7XHJcbiRwaW5rOiAgICAgICAgICAgICAgICAgICNmNTMyZTU7XHJcbiR5ZWxsb3c6ICAgICAgICAgICAgICAgICNmYWQ3MzI7XHJcbiRncmVlbjogICAgICAgICAgICAgICAgICMzMUI0NEE7XHJcblxyXG4kcHJpbWFyeTogICAgICAgICAgICAgICAjMDBBQkU3O1xyXG4kc2Vjb25kYXJ5OiAgICAgICAgICAgICAjZmZmO1xyXG4kc3VjY2VzczogICAgICAgICAgICAgICAjMjdjMjRjO1xyXG4kaW5mbzogICAgICAgICAgICAgICAgICAjODZCQzI1ICA7XHJcbiR3YXJuaW5nOiAgICAgICAgICAgICAgICNmZjkwMmI7XHJcbiRkYW5nZXI6ICAgICAgICAgICAgICAgICNmMDUwNTA7XHJcbiRkYXJrOiAgICAgICAgICAgICAgICAgICMzYTNmNTE7XHJcblxyXG4vLyBDdXN0b20gY29sb3IgdmFyaWFudHNcclxuJGFtb3VudE9mTGlnaHQ6IDEwJTtcclxuXHJcbiRwcmltYXJ5LWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHByaW1hcnksICRhbW91bnRPZkxpZ2h0KTtcclxuJHN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgbGlnaHRlbigkc3VjY2VzcywgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW5mby1saWdodDogICAgICAgICAgICBsaWdodGVuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJHdhcm5pbmcsICRhbW91bnRPZkxpZ2h0KTtcclxuJGRhbmdlci1saWdodDogICAgICAgICAgbGlnaHRlbigkZGFuZ2VyLCAkYW1vdW50T2ZMaWdodCk7XHJcbiRpbnZlcnNlLWxpZ2h0OiAgICAgICAgIGxpZ2h0ZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWxpZ2h0OiAgICAgICAgICAgbGlnaHRlbigkZ3JlZW4sICRhbW91bnRPZkxpZ2h0KTtcclxuJHBpbmstbGlnaHQ6ICAgICAgICAgICAgbGlnaHRlbigkcGluaywgJGFtb3VudE9mTGlnaHQpO1xyXG4kcHVycGxlLWxpZ2h0OiAgICAgICAgICBsaWdodGVuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1saWdodDogICAgICAgICAgbGlnaHRlbigkeWVsbG93LCAkYW1vdW50T2ZMaWdodCk7XHJcbiRwcmltYXJ5LWRhcms6ICAgICAgICAgIGRhcmtlbigkcHJpbWFyeSwgJGFtb3VudE9mTGlnaHQpO1xyXG4kc3VjY2Vzcy1kYXJrOiAgICAgICAgICBkYXJrZW4oJHN1Y2Nlc3MsICRhbW91bnRPZkxpZ2h0KTtcclxuJGluZm8tZGFyazogICAgICAgICAgICAgZGFya2VuKCRpbmZvLCAkYW1vdW50T2ZMaWdodCk7XHJcbiR3YXJuaW5nLWRhcms6ICAgICAgICAgIGRhcmtlbigkd2FybmluZywgJGFtb3VudE9mTGlnaHQpO1xyXG4kZGFuZ2VyLWRhcms6ICAgICAgICAgICBkYXJrZW4oJGRhbmdlciwgJGFtb3VudE9mTGlnaHQpO1xyXG4kaW52ZXJzZS1kYXJrOiAgICAgICAgICBkYXJrZW4oJGludmVyc2UsICRhbW91bnRPZkxpZ2h0KTtcclxuJGdyZWVuLWRhcms6ICAgICAgICAgICAgZGFya2VuKCRncmVlbiwgJGFtb3VudE9mTGlnaHQpO1xyXG4kcGluay1kYXJrOiAgICAgICAgICAgICBkYXJrZW4oJHBpbmssICRhbW91bnRPZkxpZ2h0KTtcclxuJHB1cnBsZS1kYXJrOiAgICAgICAgICAgZGFya2VuKCRwdXJwbGUsICRhbW91bnRPZkxpZ2h0KTtcclxuJHllbGxvdy1kYXJrOiAgICAgICAgICAgZGFya2VuKCR5ZWxsb3csICRhbW91bnRPZkxpZ2h0KTtcclxuXHJcbi8vIFRoZW1lIHZhcmlhYmxlc1xyXG5cclxuLy8gdXNlZCBmb3Igc2lkZWJhcnMgYW5kIGNvbnRlbnQgc3BhY2luZ1xyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDU1cHg7XHJcblxyXG4vLyBCdXR0b24gc2Vjb25kYXJ5IHJlZGVmaW5pdGlvbiBzdHlsZSBmb3IgdGhlbWVcclxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAjMzMzO1xyXG4kYnRuLXNlY29uZGFyeS1iZzogICAgICAgICAgICAgICAgICNmZmY7XHJcbiRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICAgI2VhZWFlYTtcclxuXHJcbi8vIFRvcCBCb3JkZXIgY29sb3IgZm9yIGN1c3RvbSBkZWZhdWx0IGNhcmRzICguY2FyZC1kZWZhdWx0KVxyXG4kY2FyZC1kZWZhdWx0LWJvcmRlci1jb2xvcjogICAgICAgICNjZmRiZTI7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFV0aWxpdGllcyB2YXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kdGV4dC1hbHBoYTogICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuJHRleHQtYWxwaGEtaW52ZXJzZTogICAgcmdiYSgwLDAsMCwuNSk7XHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAxcmVtO1xyXG4kdGV4dC1zbTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAwLjc0Mzc1O1xyXG4kdGV4dC1tZDogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjY2MjU7XHJcbiR0ZXh0LWxnOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNjI1O1xyXG5cclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuJHdkLXh4czogICAgICAgICAgICAgICAgNjBweDtcclxuJHdkLXhzOiAgICAgICAgICAgICAgICAgOTBweDtcclxuJHdkLXNtOiAgICAgICAgICAgICAgICAgMTUwcHg7XHJcbiR3ZC1zZDogICAgICAgICAgICAgICAgIDIwMHB4OyAvLyBzZCA9PSBzdGFuZGFyZFxyXG4kd2QtbWQ6ICAgICAgICAgICAgICAgICAyNDBweDtcclxuJHdkLWxnOiAgICAgICAgICAgICAgICAgMjgwcHg7XHJcbiR3ZC14bDogICAgICAgICAgICAgICAgIDMyMHB4O1xyXG4kd2QteHhsOiAgICAgICAgICAgICAgICAzNjBweDtcclxuJHdkLXdpZGU6ICAgICAgICAgICAgICAgMTAwJTtcclxuJHdkLWF1dG86ICAgICAgICAgICAgICAgYXV0bztcclxuJHdkLXplcm86ICAgICAgICAgICAgICAgMDtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQm9vdHN0cmFwIDQgVmFyaWFibGVzIE92ZXJyaWRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ29sb3Igc3lzdGVtXHJcblxyXG4kY29sb3JzOiAoXHJcbiAgICBcInB1cnBsZVwiOiAgICAgJHB1cnBsZSxcclxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcclxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxyXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcclxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcclxuICAgIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcclxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxyXG4gICAgJ2ludmVyc2UnOiAgICAkaW52ZXJzZSxcclxuXHJcbiAgICAncHJpbWFyeS1saWdodCc6ICRwcmltYXJ5LWxpZ2h0LFxyXG4gICAgJ3ByaW1hcnktZGFyayc6ICAkcHJpbWFyeS1kYXJrLFxyXG4gICAgJ3N1Y2Nlc3MtbGlnaHQnOiAkc3VjY2Vzcy1saWdodCxcclxuICAgICdzdWNjZXNzLWRhcmsnOiAgJHN1Y2Nlc3MtZGFyayxcclxuICAgICdpbmZvLWxpZ2h0JzogICAgJGluZm8tbGlnaHQsXHJcbiAgICAnaW5mby1kYXJrJzogICAgICRpbmZvLWRhcmssXHJcbiAgICAnd2FybmluZy1saWdodCc6ICR3YXJuaW5nLWxpZ2h0LFxyXG4gICAgJ3dhcm5pbmctZGFyayc6ICAkd2FybmluZy1kYXJrLFxyXG4gICAgJ2Rhbmdlci1saWdodCc6ICAkZGFuZ2VyLWxpZ2h0LFxyXG4gICAgJ2Rhbmdlci1kYXJrJzogICAkZGFuZ2VyLWRhcmssXHJcbiAgICAnZ3JlZW4tbGlnaHQnOiAgICRncmVlbi1saWdodCxcclxuICAgICdncmVlbi1kYXJrJzogICAgJGdyZWVuLWRhcmssXHJcbiAgICAncGluay1saWdodCc6ICAgICRwaW5rLWxpZ2h0LFxyXG4gICAgJ3BpbmstZGFyayc6ICAgICAkcGluay1kYXJrLFxyXG4gICAgJ3B1cnBsZS1saWdodCc6ICAkcHVycGxlLWxpZ2h0LFxyXG4gICAgJ3B1cnBsZS1kYXJrJzogICAkcHVycGxlLWRhcmssXHJcbiAgICAnaW52ZXJzZS1saWdodCc6ICRpbnZlcnNlLWxpZ2h0LFxyXG4gICAgJ2ludmVyc2UtZGFyayc6ICAkaW52ZXJzZS1kYXJrLFxyXG4gICAgJ3llbGxvdy1saWdodCc6ICAkeWVsbG93LWxpZ2h0LFxyXG4gICAgJ3llbGxvdy1kYXJrJzogICAkeWVsbG93LWRhcmssXHJcbik7XHJcblxyXG5cclxuJHRoZW1lLWNvbG9yczogKFxyXG4gIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcclxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcclxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxyXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcclxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlclxyXG4pO1xyXG5cclxuLy8gQm9keVxyXG5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICNmNWY3ZmE7XHJcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAjNjU2NTY1O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtO1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuMzc1cmVtO1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41Mjg1NzE0Mjk7XHJcblxyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjE7XHJcblxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAjOTA5RkE3O1xyXG5cclxuLy8gVGFibGVzXHJcblxyXG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICAjZmFmYmZjO1xyXG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICAjZmFmYmZjO1xyXG5cclxuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgI2VlZTtcclxuXHJcbi8vIEJ1dHRvbnMgKyBGb3Jtc1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgMXJlbTtcclxuXHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4zMTI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNjI1cmVtO1xyXG5cclxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjYyNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgMS4yNXJlbTtcclxuXHJcbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgIDIuMTg3NXJlbTsgLy8gMzVweFxyXG5cclxuLy8gRm9ybXNcclxuXHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXk7XHJcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjNjZhZmU5O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgI2I3YmFjOTtcclxuXHJcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgICAgICBub25lO1xyXG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICAgICAgbm9uZTtcclxuXHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICBsaWdodGVuKCRwcmltYXJ5LCAyNSUpO1xyXG5cclxuLy8gRHJvcGRvd25zXHJcblxyXG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZTFlMWUxO1xyXG5cclxuLy8gTmF2c1xyXG5cclxuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vIEp1bWJvdHJvblxyXG5cclxuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgI2ZjZmNmYztcclxuXHJcbi8vIExpc3QgZ3JvdXBcclxuXHJcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgICNlNGVhZWM7XHJcblxyXG4vLyBJbWFnZSB0aHVtYm5haWxzXHJcblxyXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMTI1cmVtO1xyXG5cclxuXHJcbi8vIEJyZWFkY3J1bWJzXHJcblxyXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAjZmFmYWZhO1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAjYzFjMmMzO1xyXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkYm9keS1jb2xvcjtcclxuIiwiLy8gR3JhZGllbnRzXHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XHJcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcclxuICB9IEBlbHNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxyXG4vL1xyXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxyXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXHJcbi8vXHJcbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXHJcbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG59XHJcblxyXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG59XHJcbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXHJcbi8vXHJcbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcclxuLy9cclxuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxyXG4vL1xyXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXHJcblxyXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcclxuLy8gICAgbWRcclxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBtZFxyXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxyXG4vLyAgICBtZFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xyXG59XHJcblxyXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA1NzZweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcclxufVxyXG5cclxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cclxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcclxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cclxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxyXG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXHJcbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICA3NjcuOThweFxyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcclxufVxyXG5cclxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cclxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXHJcbi8vXHJcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXHJcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxyXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxyXG4vLyAgICBcIi1zbVwiXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gIEBpZiAkbWluIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgQGlmICRtYXgge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cclxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xyXG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\";","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n tinymce: {\r\n apiKey: '2om3inc9sako1dp33splmq5i11vov7fauxfr0khuszavvvpk',\r\n },\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","export const environmentLoader = new Promise((resolve, reject) => {\r\n const xmlhttp = new XMLHttpRequest(),\r\n method = 'GET',\r\n url = './assets/environments/environment.json';\r\n xmlhttp.open(method, url, true);\r\n xmlhttp.onload = () => {\r\n if (xmlhttp.status === 200) {\r\n resolve(xmlhttp.responseText);\r\n } \r\n };\r\n xmlhttp.send();\r\n});\r\n","/*!\r\n *\r\n * Angle - Bootstrap Admin Template\r\n *\r\n * Version: 4.6\r\n * Author: @themicon_co\r\n * Website: http://themicon.co\r\n * License: https://wrapbootstrap.com/help/licenses\r\n *\r\n */\r\n\r\nimport './vendor.ts';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n//import * as environment from 'src/assets/environments/environment.local.json';\r\nimport { environmentLoader as environmentLoaderPromise } from './environments/environmentLoader';\r\nenvironmentLoaderPromise.then(response => {\r\n const env = JSON.parse(response);\r\n if (env.production) { \r\n enableProdMode();\r\n }\r\n environment['settings'] = { ...env };\r\n function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [{ provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }];\r\n\r\nlet p = platformBrowserDynamic(providers).bootstrapModule(AppModule);\r\np.then(() => { (window).appBootstrap && (window).appBootstrap(); });\r\n});\r\n\r\n\r\n\r\n// .catch(err => console.error(err));\r\n","/*!\r\n * modernizr v3.3.1\r\n * Build http://modernizr.com/download?-bgpositionshorthand-bgpositionxy-bgrepeatspace_bgrepeatround-bgsizecover-borderradius-cssanimations-csscalc-csstransforms-csstransforms3d-csstransitions-flexboxtweener-fontface-inlinesvg-localstorage-multiplebgs-preserve3d-sessionstorage-smil-svg-svgasimg-svgclippaths-svgfilters-svgforeignobject-websqldatabase-setclasses-dontmin\r\n *\r\n * Copyright (c)\r\n * Faruk Ates\r\n * Paul Irish\r\n * Alex Sexton\r\n * Ryan Seddon\r\n * Patrick Kettner\r\n * Stu Cox\r\n * Richard Herrera\r\n\r\n * MIT License\r\n */\r\n\r\n/*\r\n * Modernizr tests which native CSS3 and HTML5 features are available in the\r\n * current UA and makes the results available to you in two ways: as properties on\r\n * a global `Modernizr` object, and as classes on the `` element. This\r\n * information allows you to progressively enhance your pages with a granular level\r\n * of control over the experience.\r\n*/\r\n\r\n;(function(window, document, undefined){\r\n var tests = [];\r\n \r\n\r\n /**\r\n *\r\n * ModernizrProto is the constructor for Modernizr\r\n *\r\n * @class\r\n * @access public\r\n */\r\n\r\n var ModernizrProto = {\r\n // The current version, dummy\r\n _version: '3.3.1',\r\n\r\n // Any settings that don't work as separate modules\r\n // can go in here as configuration.\r\n _config: {\r\n 'classPrefix': '',\r\n 'enableClasses': true,\r\n 'enableJSClass': true,\r\n 'usePrefixes': true\r\n },\r\n\r\n // Queue of tests\r\n _q: [],\r\n\r\n // Stub these for people who are listening\r\n on: function(test, cb) {\r\n // I don't really think people should do this, but we can\r\n // safe guard it a bit.\r\n // -- NOTE:: this gets WAY overridden in src/addTest for actual async tests.\r\n // This is in case people listen to synchronous tests. I would leave it out,\r\n // but the code to *disallow* sync tests in the real version of this\r\n // function is actually larger than this.\r\n var self = this;\r\n setTimeout(function() {\r\n cb(self[test]);\r\n }, 0);\r\n },\r\n\r\n addTest: function(name, fn, options) {\r\n tests.push({name: name, fn: fn, options: options});\r\n },\r\n\r\n addAsyncTest: function(fn) {\r\n tests.push({name: null, fn: fn});\r\n }\r\n };\r\n\r\n \r\n\r\n // Fake some of Object.create so we can force non test results to be non \"own\" properties.\r\n var Modernizr = function() {};\r\n Modernizr.prototype = ModernizrProto;\r\n\r\n // Leak modernizr globally when you `require` it rather than force it here.\r\n // Overwrite name so constructor name is nicer :D\r\n Modernizr = new Modernizr();\r\n\r\n \r\n\r\n var classes = [];\r\n \r\n\r\n /**\r\n * is returns a boolean if the typeof an obj is exactly type.\r\n *\r\n * @access private\r\n * @function is\r\n * @param {*} obj - A thing we want to check the type of\r\n * @param {string} type - A string to compare the typeof against\r\n * @returns {boolean}\r\n */\r\n\r\n function is(obj, type) {\r\n return typeof obj === type;\r\n }\r\n ;\r\n\r\n /**\r\n * Run through all tests and detect their support in the current UA.\r\n *\r\n * @access private\r\n */\r\n\r\n function testRunner() {\r\n var featureNames;\r\n var feature;\r\n var aliasIdx;\r\n var result;\r\n var nameIdx;\r\n var featureName;\r\n var featureNameSplit;\r\n\r\n for (var featureIdx in tests) {\r\n if (tests.hasOwnProperty(featureIdx)) {\r\n featureNames = [];\r\n feature = tests[featureIdx];\r\n // run the test, throw the return value into the Modernizr,\r\n // then based on that boolean, define an appropriate className\r\n // and push it into an array of classes we'll join later.\r\n //\r\n // If there is no name, it's an 'async' test that is run,\r\n // but not directly added to the object. That should\r\n // be done with a post-run addTest call.\r\n if (feature.name) {\r\n featureNames.push(feature.name.toLowerCase());\r\n\r\n if (feature.options && feature.options.aliases && feature.options.aliases.length) {\r\n // Add all the aliases into the names list\r\n for (aliasIdx = 0; aliasIdx < feature.options.aliases.length; aliasIdx++) {\r\n featureNames.push(feature.options.aliases[aliasIdx].toLowerCase());\r\n }\r\n }\r\n }\r\n\r\n // Run the test, or use the raw value if it's not a function\r\n result = is(feature.fn, 'function') ? feature.fn() : feature.fn;\r\n\r\n\r\n // Set each of the names on the Modernizr object\r\n for (nameIdx = 0; nameIdx < featureNames.length; nameIdx++) {\r\n featureName = featureNames[nameIdx];\r\n // Support dot properties as sub tests. We don't do checking to make sure\r\n // that the implied parent tests have been added. You must call them in\r\n // order (either in the test, or make the parent test a dependency).\r\n //\r\n // Cap it to TWO to make the logic simple and because who needs that kind of subtesting\r\n // hashtag famous last words\r\n featureNameSplit = featureName.split('.');\r\n\r\n if (featureNameSplit.length === 1) {\r\n Modernizr[featureNameSplit[0]] = result;\r\n } else {\r\n // cast to a Boolean, if not one already\r\n /* jshint -W053 */\r\n if (Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {\r\n Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);\r\n }\r\n\r\n Modernizr[featureNameSplit[0]][featureNameSplit[1]] = result;\r\n }\r\n\r\n classes.push((result ? '' : 'no-') + featureNameSplit.join('-'));\r\n }\r\n }\r\n }\r\n }\r\n ;\r\n\r\n /**\r\n * docElement is a convenience wrapper to grab the root element of the document\r\n *\r\n * @access private\r\n * @returns {HTMLElement|SVGElement} The root element of the document\r\n */\r\n\r\n var docElement = document.documentElement;\r\n \r\n\r\n /**\r\n * A convenience helper to check if the document we are running in is an SVG document\r\n *\r\n * @access private\r\n * @returns {boolean}\r\n */\r\n\r\n var isSVG = docElement.nodeName.toLowerCase() === 'svg';\r\n \r\n\r\n /**\r\n * setClasses takes an array of class names and adds them to the root element\r\n *\r\n * @access private\r\n * @function setClasses\r\n * @param {string[]} classes - Array of class names\r\n */\r\n\r\n // Pass in an and array of class names, e.g.:\r\n // ['no-webp', 'borderradius', ...]\r\n function setClasses(classes) {\r\n var className = docElement.className;\r\n var classPrefix = Modernizr._config.classPrefix || '';\r\n\r\n if (isSVG) {\r\n className = className.baseVal;\r\n }\r\n\r\n // Change `no-js` to `js` (independently of the `enableClasses` option)\r\n // Handle classPrefix on this too\r\n if (Modernizr._config.enableJSClass) {\r\n var reJS = new RegExp('(^|\\\\s)' + classPrefix + 'no-js(\\\\s|$)');\r\n className = className.replace(reJS, '$1' + classPrefix + 'js$2');\r\n }\r\n\r\n if (Modernizr._config.enableClasses) {\r\n // Add the new classes\r\n className += ' ' + classPrefix + classes.join(' ' + classPrefix);\r\n isSVG ? docElement.className.baseVal = className : docElement.className = className;\r\n }\r\n\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * createElement is a convenience wrapper around document.createElement. Since we\r\n * use createElement all over the place, this allows for (slightly) smaller code\r\n * as well as abstracting away issues with creating elements in contexts other than\r\n * HTML documents (e.g. SVG documents).\r\n *\r\n * @access private\r\n * @function createElement\r\n * @returns {HTMLElement|SVGElement} An HTML or SVG element\r\n */\r\n\r\n function createElement() {\r\n if (typeof document.createElement !== 'function') {\r\n // This is the case in IE7, where the type of createElement is \"object\".\r\n // For this reason, we cannot call apply() as Object is not a Function.\r\n return document.createElement(arguments[0]);\r\n } else if (isSVG) {\r\n return document.createElementNS.call(document, 'http://www.w3.org/2000/svg', arguments[0]);\r\n } else {\r\n return document.createElement.apply(document, arguments);\r\n }\r\n }\r\n\r\n ;\r\n/*!\r\n{\r\n \"name\": \"Background Position Shorthand\",\r\n \"property\": \"bgpositionshorthand\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_backgroundposition_shorthand\"],\r\n \"notes\": [{\r\n \"name\": \"MDN Docs\",\r\n \"href\": \"https://developer.mozilla.org/en/CSS/background-position\"\r\n }, {\r\n \"name\": \"W3 Spec\",\r\n \"href\": \"https://www.w3.org/TR/css3-background/#background-position\"\r\n }, {\r\n \"name\": \"Demo\",\r\n \"href\": \"https://jsfiddle.net/Blink/bBXvt/\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects if you can use the shorthand method to define multiple parts of an\r\nelement's background-position simultaniously.\r\n\r\neg `background-position: right 10px bottom 10px`\r\n*/\r\n\r\n Modernizr.addTest('bgpositionshorthand', function() {\r\n var elem = createElement('a');\r\n var eStyle = elem.style;\r\n var val = 'right 10px bottom 10px';\r\n eStyle.cssText = 'background-position: ' + val + ';';\r\n return (eStyle.backgroundPosition === val);\r\n });\r\n\r\n\r\n /**\r\n * If the browsers follow the spec, then they would expose vendor-specific style as:\r\n * elem.style.WebkitBorderRadius\r\n * instead of something like the following, which would be technically incorrect:\r\n * elem.style.webkitBorderRadius\r\n\r\n * Webkit ghosts their properties in lowercase but Opera & Moz do not.\r\n * Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+\r\n * erik.eae.net/archives/2008/03/10/21.48.10/\r\n\r\n * More here: github.com/Modernizr/Modernizr/issues/issue/21\r\n *\r\n * @access private\r\n * @returns {string} The string representing the vendor-specific style properties\r\n */\r\n\r\n var omPrefixes = 'Moz O ms Webkit';\r\n \r\n\r\n var cssomPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.split(' ') : []);\r\n ModernizrProto._cssomPrefixes = cssomPrefixes;\r\n \r\n\r\n\r\n /**\r\n * contains checks to see if a string contains another string\r\n *\r\n * @access private\r\n * @function contains\r\n * @param {string} str - The string we want to check for substrings\r\n * @param {string} substr - The substring we want to search the first string for\r\n * @returns {boolean}\r\n */\r\n\r\n function contains(str, substr) {\r\n return !!~('' + str).indexOf(substr);\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * Create our \"modernizr\" element that we do most feature tests on.\r\n *\r\n * @access private\r\n */\r\n\r\n var modElem = {\r\n elem: createElement('modernizr')\r\n };\r\n\r\n // Clean up this element\r\n Modernizr._q.push(function() {\r\n delete modElem.elem;\r\n });\r\n\r\n \r\n\r\n var mStyle = {\r\n style: modElem.elem.style\r\n };\r\n\r\n // kill ref for gc, must happen before mod.elem is removed, so we unshift on to\r\n // the front of the queue.\r\n Modernizr._q.unshift(function() {\r\n delete mStyle.style;\r\n });\r\n\r\n \r\n\r\n /**\r\n * getBody returns the body of a document, or an element that can stand in for\r\n * the body if a real body does not exist\r\n *\r\n * @access private\r\n * @function getBody\r\n * @returns {HTMLElement|SVGElement} Returns the real body of a document, or an\r\n * artificially created element that stands in for the body\r\n */\r\n\r\n function getBody() {\r\n // After page load injecting a fake body doesn't work so check if body exists\r\n var body = document.body;\r\n\r\n if (!body) {\r\n // Can't use the real body create a fake one.\r\n body = createElement(isSVG ? 'svg' : 'body');\r\n body.fake = true;\r\n }\r\n\r\n return body;\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * injectElementWithStyles injects an element with style element and some CSS rules\r\n *\r\n * @access private\r\n * @function injectElementWithStyles\r\n * @param {string} rule - String representing a css rule\r\n * @param {function} callback - A function that is used to test the injected element\r\n * @param {number} [nodes] - An integer representing the number of additional nodes you want injected\r\n * @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes\r\n * @returns {boolean}\r\n */\r\n\r\n function injectElementWithStyles(rule, callback, nodes, testnames) {\r\n var mod = 'modernizr';\r\n var style;\r\n var ret;\r\n var node;\r\n var docOverflow;\r\n var div = createElement('div');\r\n var body = getBody();\r\n\r\n if (parseInt(nodes, 10)) {\r\n // In order not to give false positives we create a node for each test\r\n // This also allows the method to scale for unspecified uses\r\n while (nodes--) {\r\n node = createElement('div');\r\n node.id = testnames ? testnames[nodes] : mod + (nodes + 1);\r\n div.appendChild(node);\r\n }\r\n }\r\n\r\n style = createElement('style');\r\n style.type = 'text/css';\r\n style.id = 's' + mod;\r\n\r\n // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.\r\n // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270\r\n (!body.fake ? div : body).appendChild(style);\r\n body.appendChild(div);\r\n\r\n if (style.styleSheet) {\r\n style.styleSheet.cssText = rule;\r\n } else {\r\n style.appendChild(document.createTextNode(rule));\r\n }\r\n div.id = mod;\r\n\r\n if (body.fake) {\r\n //avoid crashing IE8, if background image is used\r\n body.style.background = '';\r\n //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\r\n body.style.overflow = 'hidden';\r\n docOverflow = docElement.style.overflow;\r\n docElement.style.overflow = 'hidden';\r\n docElement.appendChild(body);\r\n }\r\n\r\n ret = callback(div, rule);\r\n // If this is done after page load we don't want to remove the body so check if body exists\r\n if (body.fake) {\r\n body.parentNode.removeChild(body);\r\n docElement.style.overflow = docOverflow;\r\n // Trigger layout so kinetic scrolling isn't disabled in iOS6+\r\n docElement.offsetHeight;\r\n } else {\r\n div.parentNode.removeChild(div);\r\n }\r\n\r\n return !!ret;\r\n\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * domToCSS takes a camelCase string and converts it to kebab-case\r\n * e.g. boxSizing -> box-sizing\r\n *\r\n * @access private\r\n * @function domToCSS\r\n * @param {string} name - String name of camelCase prop we want to convert\r\n * @returns {string} The kebab-case version of the supplied name\r\n */\r\n\r\n function domToCSS(name) {\r\n return name.replace(/([A-Z])/g, function(str, m1) {\r\n return '-' + m1.toLowerCase();\r\n }).replace(/^ms-/, '-ms-');\r\n }\r\n ;\r\n\r\n /**\r\n * nativeTestProps allows for us to use native feature detection functionality if available.\r\n * some prefixed form, or false, in the case of an unsupported rule\r\n *\r\n * @access private\r\n * @function nativeTestProps\r\n * @param {array} props - An array of property names\r\n * @param {string} value - A string representing the value we want to check via @supports\r\n * @returns {boolean|undefined} A boolean when @supports exists, undefined otherwise\r\n */\r\n\r\n // Accepts a list of property names and a single value\r\n // Returns `undefined` if native detection not available\r\n function nativeTestProps(props, value) {\r\n var i = props.length;\r\n // Start with the JS API: http://www.w3.org/TR/css3-conditional/#the-css-interface\r\n if ('CSS' in window && 'supports' in window.CSS) {\r\n // Try every prefixed variant of the property\r\n while (i--) {\r\n if (window.CSS.supports(domToCSS(props[i]), value)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n // Otherwise fall back to at-rule (for Opera 12.x)\r\n else if ('CSSSupportsRule' in window) {\r\n // Build a condition string for every prefixed variant\r\n var conditionText = [];\r\n while (i--) {\r\n conditionText.push('(' + domToCSS(props[i]) + ':' + value + ')');\r\n }\r\n conditionText = conditionText.join(' or ');\r\n return injectElementWithStyles('@supports (' + conditionText + ') { #modernizr { position: absolute; } }', function(node) {\r\n return getComputedStyle(node, null).position == 'absolute';\r\n });\r\n }\r\n return undefined;\r\n }\r\n ;\r\n\r\n /**\r\n * cssToDOM takes a kebab-case string and converts it to camelCase\r\n * e.g. box-sizing -> boxSizing\r\n *\r\n * @access private\r\n * @function cssToDOM\r\n * @param {string} name - String name of kebab-case prop we want to convert\r\n * @returns {string} The camelCase version of the supplied name\r\n */\r\n\r\n function cssToDOM(name) {\r\n return name.replace(/([a-z])-([a-z])/g, function(str, m1, m2) {\r\n return m1 + m2.toUpperCase();\r\n }).replace(/^-/, '');\r\n }\r\n ;\r\n\r\n // testProps is a generic CSS / DOM property test.\r\n\r\n // In testing support for a given CSS property, it's legit to test:\r\n // `elem.style[styleName] !== undefined`\r\n // If the property is supported it will return an empty string,\r\n // if unsupported it will return undefined.\r\n\r\n // We'll take advantage of this quick test and skip setting a style\r\n // on our modernizr element, but instead just testing undefined vs\r\n // empty string.\r\n\r\n // Property names can be provided in either camelCase or kebab-case.\r\n\r\n function testProps(props, prefixed, value, skipValueTest) {\r\n skipValueTest = is(skipValueTest, 'undefined') ? false : skipValueTest;\r\n\r\n // Try native detect first\r\n if (!is(value, 'undefined')) {\r\n var result = nativeTestProps(props, value);\r\n if (!is(result, 'undefined')) {\r\n return result;\r\n }\r\n }\r\n\r\n // Otherwise do it properly\r\n var afterInit, i, propsLength, prop, before;\r\n\r\n // If we don't have a style element, that means we're running async or after\r\n // the core tests, so we'll need to create our own elements to use\r\n\r\n // inside of an SVG element, in certain browsers, the `style` element is only\r\n // defined for valid tags. Therefore, if `modernizr` does not have one, we\r\n // fall back to a less used element and hope for the best.\r\n var elems = ['modernizr', 'tspan'];\r\n while (!mStyle.style) {\r\n afterInit = true;\r\n mStyle.modElem = createElement(elems.shift());\r\n mStyle.style = mStyle.modElem.style;\r\n }\r\n\r\n // Delete the objects if we created them.\r\n function cleanElems() {\r\n if (afterInit) {\r\n delete mStyle.style;\r\n delete mStyle.modElem;\r\n }\r\n }\r\n\r\n propsLength = props.length;\r\n for (i = 0; i < propsLength; i++) {\r\n prop = props[i];\r\n before = mStyle.style[prop];\r\n\r\n if (contains(prop, '-')) {\r\n prop = cssToDOM(prop);\r\n }\r\n\r\n if (mStyle.style[prop] !== undefined) {\r\n\r\n // If value to test has been passed in, do a set-and-check test.\r\n // 0 (integer) is a valid property value, so check that `value` isn't\r\n // undefined, rather than just checking it's truthy.\r\n if (!skipValueTest && !is(value, 'undefined')) {\r\n\r\n // Needs a try catch block because of old IE. This is slow, but will\r\n // be avoided in most cases because `skipValueTest` will be used.\r\n try {\r\n mStyle.style[prop] = value;\r\n } catch (e) {}\r\n\r\n // If the property value has changed, we assume the value used is\r\n // supported. If `value` is empty string, it'll fail here (because\r\n // it hasn't changed), which matches how browsers have implemented\r\n // CSS.supports()\r\n if (mStyle.style[prop] != before) {\r\n cleanElems();\r\n return prefixed == 'pfx' ? prop : true;\r\n }\r\n }\r\n // Otherwise just return true, or the property name if this is a\r\n // `prefixed()` call\r\n else {\r\n cleanElems();\r\n return prefixed == 'pfx' ? prop : true;\r\n }\r\n }\r\n }\r\n cleanElems();\r\n return false;\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * List of JavaScript DOM values used for tests\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr._domPrefixes\r\n * @optionName Modernizr._domPrefixes\r\n * @optionProp domPrefixes\r\n * @access public\r\n * @example\r\n *\r\n * Modernizr._domPrefixes is exactly the same as [_prefixes](#modernizr-_prefixes), but rather\r\n * than kebab-case properties, all properties are their Capitalized variant\r\n *\r\n * ```js\r\n * Modernizr._domPrefixes === [ \"Moz\", \"O\", \"ms\", \"Webkit\" ];\r\n * ```\r\n */\r\n\r\n var domPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.toLowerCase().split(' ') : []);\r\n ModernizrProto._domPrefixes = domPrefixes;\r\n \r\n\r\n /**\r\n * fnBind is a super small [bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) polyfill.\r\n *\r\n * @access private\r\n * @function fnBind\r\n * @param {function} fn - a function you want to change `this` reference to\r\n * @param {object} that - the `this` you want to call the function with\r\n * @returns {function} The wrapped version of the supplied function\r\n */\r\n\r\n function fnBind(fn, that) {\r\n return function() {\r\n return fn.apply(that, arguments);\r\n };\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * testDOMProps is a generic DOM property test; if a browser supports\r\n * a certain property, it won't return undefined for it.\r\n *\r\n * @access private\r\n * @function testDOMProps\r\n * @param {array.} props - An array of properties to test for\r\n * @param {object} obj - An object or Element you want to use to test the parameters again\r\n * @param {boolean|object} elem - An Element to bind the property lookup again. Use `false` to prevent the check\r\n */\r\n function testDOMProps(props, obj, elem) {\r\n var item;\r\n\r\n for (var i in props) {\r\n if (props[i] in obj) {\r\n\r\n // return the property name as a string\r\n if (elem === false) {\r\n return props[i];\r\n }\r\n\r\n item = obj[props[i]];\r\n\r\n // let's bind a function\r\n if (is(item, 'function')) {\r\n // bind to obj unless overriden\r\n return fnBind(item, elem || obj);\r\n }\r\n\r\n // return the unbound function or obj or value\r\n return item;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n ;\r\n\r\n /**\r\n * testPropsAll tests a list of DOM properties we want to check against.\r\n * We specify literally ALL possible (known and/or likely) properties on\r\n * the element including the non-vendor prefixed one, for forward-\r\n * compatibility.\r\n *\r\n * @access private\r\n * @function testPropsAll\r\n * @param {string} prop - A string of the property to test for\r\n * @param {string|object} [prefixed] - An object to check the prefixed properties on. Use a string to skip\r\n * @param {HTMLElement|SVGElement} [elem] - An element used to test the property and value against\r\n * @param {string} [value] - A string of a css value\r\n * @param {boolean} [skipValueTest] - An boolean representing if you want to test if value sticks when set\r\n */\r\n function testPropsAll(prop, prefixed, elem, value, skipValueTest) {\r\n\r\n var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),\r\n props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');\r\n\r\n // did they call .prefixed('boxSizing') or are we just testing a prop?\r\n if (is(prefixed, 'string') || is(prefixed, 'undefined')) {\r\n return testProps(props, prefixed, value, skipValueTest);\r\n\r\n // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])\r\n } else {\r\n props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');\r\n return testDOMProps(props, prefixed, elem);\r\n }\r\n }\r\n\r\n // Modernizr.testAllProps() investigates whether a given style property,\r\n // or any of its vendor-prefixed variants, is recognized\r\n //\r\n // Note that the property names must be provided in the camelCase variant.\r\n // Modernizr.testAllProps('boxSizing')\r\n ModernizrProto.testAllProps = testPropsAll;\r\n\r\n \r\n\r\n /**\r\n * testAllProps determines whether a given CSS property is supported in the browser\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr.testAllProps\r\n * @optionName Modernizr.testAllProps()\r\n * @optionProp testAllProps\r\n * @access public\r\n * @function testAllProps\r\n * @param {string} prop - String naming the property to test (either camelCase or kebab-case)\r\n * @param {string} [value] - String of the value to test\r\n * @param {boolean} [skipValueTest=false] - Whether to skip testing that the value is supported when using non-native detection\r\n * @example\r\n *\r\n * testAllProps determines whether a given CSS property, in some prefixed form,\r\n * is supported by the browser.\r\n *\r\n * ```js\r\n * testAllProps('boxSizing') // true\r\n * ```\r\n *\r\n * It can optionally be given a CSS value in string form to test if a property\r\n * value is valid\r\n *\r\n * ```js\r\n * testAllProps('display', 'block') // true\r\n * testAllProps('display', 'penguin') // false\r\n * ```\r\n *\r\n * A boolean can be passed as a third parameter to skip the value check when\r\n * native detection (@supports) isn't available.\r\n *\r\n * ```js\r\n * testAllProps('shapeOutside', 'content-box', true);\r\n * ```\r\n */\r\n\r\n function testAllProps(prop, value, skipValueTest) {\r\n return testPropsAll(prop, undefined, undefined, value, skipValueTest);\r\n }\r\n ModernizrProto.testAllProps = testAllProps;\r\n \r\n/*!\r\n{\r\n \"name\": \"Background Position XY\",\r\n \"property\": \"bgpositionxy\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_backgroundposition_xy\"],\r\n \"authors\": [\"Allan Lei\", \"Brandom Aaron\"],\r\n \"notes\": [{\r\n \"name\": \"Demo\",\r\n \"href\": \"https://jsfiddle.net/allanlei/R8AYS/\"\r\n }, {\r\n \"name\": \"Adapted From\",\r\n \"href\": \"https://github.com/brandonaaron/jquery-cssHooks/blob/master/bgpos.js\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects the ability to control an element's background position using css\r\n*/\r\n\r\n Modernizr.addTest('bgpositionxy', function() {\r\n return testAllProps('backgroundPositionX', '3px', true) && testAllProps('backgroundPositionY', '5px', true);\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Background Repeat\",\r\n \"property\": [\"bgrepeatspace\", \"bgrepeatround\"],\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_backgroundrepeat\"],\r\n \"authors\": [\"Ryan Seddon\"],\r\n \"notes\": [{\r\n \"name\": \"MDN Docs\",\r\n \"href\": \"https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat\"\r\n }, {\r\n \"name\": \"Test Page\",\r\n \"href\": \"https://jsbin.com/uzesun/\"\r\n }, {\r\n \"name\": \"Demo\",\r\n \"href\": \"https://jsfiddle.net/ryanseddon/yMLTQ/6/\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects the ability to use round and space as properties for background-repeat\r\n*/\r\n\r\n // Must value-test these\r\n Modernizr.addTest('bgrepeatround', testAllProps('backgroundRepeat', 'round'));\r\n Modernizr.addTest('bgrepeatspace', testAllProps('backgroundRepeat', 'space'));\r\n\r\n/*!\r\n{\r\n \"name\": \"Background Size Cover\",\r\n \"property\": \"bgsizecover\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_backgroundsizecover\"],\r\n \"notes\": [{\r\n \"name\" : \"MDN Docs\",\r\n \"href\": \"https://developer.mozilla.org/en/CSS/background-size\"\r\n }]\r\n}\r\n!*/\r\n\r\n // Must test value, as this specifically tests the `cover` value\r\n Modernizr.addTest('bgsizecover', testAllProps('backgroundSize', 'cover'));\r\n\r\n/*!\r\n{\r\n \"name\": \"Border Radius\",\r\n \"property\": \"borderradius\",\r\n \"caniuse\": \"border-radius\",\r\n \"polyfills\": [\"css3pie\"],\r\n \"tags\": [\"css\"],\r\n \"notes\": [{\r\n \"name\": \"Comprehensive Compat Chart\",\r\n \"href\": \"https://muddledramblings.com/table-of-css3-border-radius-compliance\"\r\n }]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('borderradius', testAllProps('borderRadius', '0px', true));\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Animations\",\r\n \"property\": \"cssanimations\",\r\n \"caniuse\": \"css-animation\",\r\n \"polyfills\": [\"transformie\", \"csssandpaper\"],\r\n \"tags\": [\"css\"],\r\n \"warnings\": [\"Android < 4 will pass this test, but can only animate a single property at a time\"],\r\n \"notes\": [{\r\n \"name\" : \"Article: 'Dispelling the Android CSS animation myths'\",\r\n \"href\": \"https://goo.gl/OGw5Gm\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects whether or not elements can be animated using CSS\r\n*/\r\n\r\n Modernizr.addTest('cssanimations', testAllProps('animationName', 'a', true));\r\n\r\n\r\n /**\r\n * List of property values to set for css tests. See ticket #21\r\n * http://git.io/vUGl4\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr._prefixes\r\n * @optionName Modernizr._prefixes\r\n * @optionProp prefixes\r\n * @access public\r\n * @example\r\n *\r\n * Modernizr._prefixes is the internal list of prefixes that we test against\r\n * inside of things like [prefixed](#modernizr-prefixed) and [prefixedCSS](#-code-modernizr-prefixedcss). It is simply\r\n * an array of kebab-case vendor prefixes you can use within your code.\r\n *\r\n * Some common use cases include\r\n *\r\n * Generating all possible prefixed version of a CSS property\r\n * ```js\r\n * var rule = Modernizr._prefixes.join('transform: rotate(20deg); ');\r\n *\r\n * rule === 'transform: rotate(20deg); webkit-transform: rotate(20deg); moz-transform: rotate(20deg); o-transform: rotate(20deg); ms-transform: rotate(20deg);'\r\n * ```\r\n *\r\n * Generating all possible prefixed version of a CSS value\r\n * ```js\r\n * rule = 'display:' + Modernizr._prefixes.join('flex; display:') + 'flex';\r\n *\r\n * rule === 'display:flex; display:-webkit-flex; display:-moz-flex; display:-o-flex; display:-ms-flex; display:flex'\r\n * ```\r\n */\r\n\r\n var prefixes = (ModernizrProto._config.usePrefixes ? ' -webkit- -moz- -o- -ms- '.split(' ') : []);\r\n\r\n // expose these for the plugin API. Look in the source for how to join() them against your input\r\n ModernizrProto._prefixes = prefixes;\r\n\r\n \r\n/*!\r\n{\r\n \"name\": \"CSS Calc\",\r\n \"property\": \"csscalc\",\r\n \"caniuse\": \"calc\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_calc\"],\r\n \"authors\": [\"@calvein\"]\r\n}\r\n!*/\r\n/* DOC\r\nMethod of allowing calculated values for length units. For example:\r\n\r\n```css\r\n//lem {\r\n width: calc(100% - 3em);\r\n}\r\n```\r\n*/\r\n\r\n Modernizr.addTest('csscalc', function() {\r\n var prop = 'width:';\r\n var value = 'calc(10px);';\r\n var el = createElement('a');\r\n\r\n el.style.cssText = prop + prefixes.join(value + prop);\r\n\r\n return !!el.style.length;\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Transforms\",\r\n \"property\": \"csstransforms\",\r\n \"caniuse\": \"transforms2d\",\r\n \"tags\": [\"css\"]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('csstransforms', function() {\r\n // Android < 3.0 is buggy, so we sniff and blacklist\r\n // http://git.io/hHzL7w\r\n return navigator.userAgent.indexOf('Android 2.') === -1 &&\r\n testAllProps('transform', 'scale(1)', true);\r\n });\r\n\r\n\r\n /**\r\n * testStyles injects an element with style element and some CSS rules\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr.testStyles\r\n * @optionName Modernizr.testStyles()\r\n * @optionProp testStyles\r\n * @access public\r\n * @function testStyles\r\n * @param {string} rule - String representing a css rule\r\n * @param {function} callback - A function that is used to test the injected element\r\n * @param {number} [nodes] - An integer representing the number of additional nodes you want injected\r\n * @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes\r\n * @returns {boolean}\r\n * @example\r\n *\r\n * `Modernizr.testStyles` takes a CSS rule and injects it onto the current page\r\n * along with (possibly multiple) DOM elements. This lets you check for features\r\n * that can not be detected by simply checking the [IDL](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Interface_development_guide/IDL_interface_rules).\r\n *\r\n * ```js\r\n * Modernizr.testStyles('#modernizr { width: 9px; color: papayawhip; }', function(elem, rule) {\r\n * // elem is the first DOM node in the page (by default #modernizr)\r\n * // rule is the first argument you supplied - the CSS rule in string form\r\n *\r\n * addTest('widthworks', elem.style.width === '9px')\r\n * });\r\n * ```\r\n *\r\n * If your test requires multiple nodes, you can include a third argument\r\n * indicating how many additional div elements to include on the page. The\r\n * additional nodes are injected as children of the `elem` that is returned as\r\n * the first argument to the callback.\r\n *\r\n * ```js\r\n * Modernizr.testStyles('#modernizr {width: 1px}; #modernizr2 {width: 2px}', function(elem) {\r\n * document.getElementById('modernizr').style.width === '1px'; // true\r\n * document.getElementById('modernizr2').style.width === '2px'; // true\r\n * elem.firstChild === document.getElementById('modernizr2'); // true\r\n * }, 1);\r\n * ```\r\n *\r\n * By default, all of the additional elements have an ID of `modernizr[n]`, where\r\n * `n` is its index (e.g. the first additional, second overall is `#modernizr2`,\r\n * the second additional is `#modernizr3`, etc.).\r\n * If you want to have more meaningful IDs for your function, you can provide\r\n * them as the fourth argument, as an array of strings\r\n *\r\n * ```js\r\n * Modernizr.testStyles('#foo {width: 10px}; #bar {height: 20px}', function(elem) {\r\n * elem.firstChild === document.getElementById('foo'); // true\r\n * elem.lastChild === document.getElementById('bar'); // true\r\n * }, 2, ['foo', 'bar']);\r\n * ```\r\n *\r\n */\r\n\r\n var testStyles = ModernizrProto.testStyles = injectElementWithStyles;\r\n \r\n/*!\r\n{\r\n \"name\": \"CSS Supports\",\r\n \"property\": \"supports\",\r\n \"caniuse\": \"css-featurequeries\",\r\n \"tags\": [\"css\"],\r\n \"builderAliases\": [\"css_supports\"],\r\n \"notes\": [{\r\n \"name\": \"W3 Spec\",\r\n \"href\": \"http://dev.w3.org/csswg/css3-conditional/#at-supports\"\r\n },{\r\n \"name\": \"Related Github Issue\",\r\n \"href\": \"github.com/Modernizr/Modernizr/issues/648\"\r\n },{\r\n \"name\": \"W3 Info\",\r\n \"href\": \"http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface\"\r\n }]\r\n}\r\n!*/\r\n\r\n var newSyntax = 'CSS' in window && 'supports' in window.CSS;\r\n var oldSyntax = 'supportsCSS' in window;\r\n Modernizr.addTest('supports', newSyntax || oldSyntax);\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Transforms 3D\",\r\n \"property\": \"csstransforms3d\",\r\n \"caniuse\": \"transforms3d\",\r\n \"tags\": [\"css\"],\r\n \"warnings\": [\r\n \"Chrome may occassionally fail this test on some systems; more info: https://code.google.com/p/chromium/issues/detail?id=129004\"\r\n ]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('csstransforms3d', function() {\r\n var ret = !!testAllProps('perspective', '1px', true);\r\n var usePrefix = Modernizr._config.usePrefixes;\r\n\r\n // Webkit's 3D transforms are passed off to the browser's own graphics renderer.\r\n // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in\r\n // some conditions. As a result, Webkit typically recognizes the syntax but\r\n // will sometimes throw a false positive, thus we must do a more thorough check:\r\n if (ret && (!usePrefix || 'webkitPerspective' in docElement.style)) {\r\n var mq;\r\n var defaultStyle = '#modernizr{width:0;height:0}';\r\n // Use CSS Conditional Rules if available\r\n if (Modernizr.supports) {\r\n mq = '@supports (perspective: 1px)';\r\n } else {\r\n // Otherwise, Webkit allows this media query to succeed only if the feature is enabled.\r\n // `@media (transform-3d),(-webkit-transform-3d){ ... }`\r\n mq = '@media (transform-3d)';\r\n if (usePrefix) {\r\n mq += ',(-webkit-transform-3d)';\r\n }\r\n }\r\n\r\n mq += '{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}';\r\n\r\n testStyles(defaultStyle + mq, function(elem) {\r\n ret = elem.offsetWidth === 7 && elem.offsetHeight === 18;\r\n });\r\n }\r\n\r\n return ret;\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Transform Style preserve-3d\",\r\n \"property\": \"preserve3d\",\r\n \"authors\": [\"edmellum\"],\r\n \"tags\": [\"css\"],\r\n \"notes\": [{\r\n \"name\": \"MDN Docs\",\r\n \"href\": \"https://developer.mozilla.org/en-US/docs/Web/CSS/transform-style\"\r\n },{\r\n \"name\": \"Related Github Issue\",\r\n \"href\": \"https://github.com/Modernizr/Modernizr/issues/762\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for `transform-style: preserve-3d`, for getting a proper 3D perspective on elements.\r\n*/\r\n\r\n Modernizr.addTest('preserve3d', testAllProps('transformStyle', 'preserve-3d'));\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Transitions\",\r\n \"property\": \"csstransitions\",\r\n \"caniuse\": \"css-transitions\",\r\n \"tags\": [\"css\"]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('csstransitions', testAllProps('transition', 'all', true));\r\n\r\n/*!\r\n{\r\n \"name\": \"Flexbox (tweener)\",\r\n \"property\": \"flexboxtweener\",\r\n \"tags\": [\"css\"],\r\n \"polyfills\": [\"flexie\"],\r\n \"notes\": [{\r\n \"name\": \"The _inbetween_ flexbox\",\r\n \"href\": \"https://www.w3.org/TR/2011/WD-css3-flexbox-20111129/\"\r\n }],\r\n \"warnings\": [\"This represents an old syntax, not the latest standard syntax.\"]\r\n}\r\n!*/\r\n\r\n Modernizr.addTest('flexboxtweener', testAllProps('flexAlign', 'end', true));\r\n\r\n/*!\r\n{\r\n \"name\": \"@font-face\",\r\n \"property\": \"fontface\",\r\n \"authors\": [\"Diego Perini\", \"Mat Marquis\"],\r\n \"tags\": [\"css\"],\r\n \"knownBugs\": [\r\n \"False Positive: WebOS https://github.com/Modernizr/Modernizr/issues/342\",\r\n \"False Postive: WP7 https://github.com/Modernizr/Modernizr/issues/538\"\r\n ],\r\n \"notes\": [{\r\n \"name\": \"@font-face detection routine by Diego Perini\",\r\n \"href\": \"http://javascript.nwbox.com/CSSSupport/\"\r\n },{\r\n \"name\": \"Filament Group @font-face compatibility research\",\r\n \"href\": \"https://docs.google.com/presentation/d/1n4NyG4uPRjAA8zn_pSQ_Ket0RhcWC6QlZ6LMjKeECo0/edit#slide=id.p\"\r\n },{\r\n \"name\": \"Filament Grunticon/@font-face device testing results\",\r\n \"href\": \"https://docs.google.com/spreadsheet/ccc?key=0Ag5_yGvxpINRdHFYeUJPNnZMWUZKR2ItMEpRTXZPdUE#gid=0\"\r\n },{\r\n \"name\": \"CSS fonts on Android\",\r\n \"href\": \"https://stackoverflow.com/questions/3200069/css-fonts-on-android\"\r\n },{\r\n \"name\": \"@font-face and Android\",\r\n \"href\": \"http://archivist.incutio.com/viewlist/css-discuss/115960\"\r\n }]\r\n}\r\n!*/\r\n\r\n var blacklist = (function() {\r\n var ua = navigator.userAgent;\r\n var wkvers = ua.match(/applewebkit\\/([0-9]+)/gi) && parseFloat(RegExp.$1);\r\n var webos = ua.match(/w(eb)?osbrowser/gi);\r\n var wppre8 = ua.match(/windows phone/gi) && ua.match(/iemobile\\/([0-9])+/gi) && parseFloat(RegExp.$1) >= 9;\r\n var oldandroid = wkvers < 533 && ua.match(/android/gi);\r\n return webos || oldandroid || wppre8;\r\n }());\r\n if (blacklist) {\r\n Modernizr.addTest('fontface', false);\r\n } else {\r\n testStyles('@font-face {font-family:\"font\";src:url(\"https://\")}', function(node, rule) {\r\n var style = document.getElementById('smodernizr');\r\n var sheet = style.sheet || style.styleSheet;\r\n var cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';\r\n var bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;\r\n Modernizr.addTest('fontface', bool);\r\n });\r\n }\r\n;\r\n/*!\r\n{\r\n \"name\": \"SVG\",\r\n \"property\": \"svg\",\r\n \"caniuse\": \"svg\",\r\n \"tags\": [\"svg\"],\r\n \"authors\": [\"Erik Dahlstrom\"],\r\n \"polyfills\": [\r\n \"svgweb\",\r\n \"raphael\",\r\n \"amplesdk\",\r\n \"canvg\",\r\n \"svg-boilerplate\",\r\n \"sie\",\r\n \"dojogfx\",\r\n \"fabricjs\"\r\n ]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for SVG in `` or `` elements.\r\n*/\r\n\r\n Modernizr.addTest('svg', !!document.createElementNS && !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect);\r\n\r\n\r\n /**\r\n * hasOwnProp is a shim for hasOwnProperty that is needed for Safari 2.0 support\r\n *\r\n * @author kangax\r\n * @access private\r\n * @function hasOwnProp\r\n * @param {object} object - The object to check for a property\r\n * @param {string} property - The property to check for\r\n * @returns {boolean}\r\n */\r\n\r\n // hasOwnProperty shim by kangax needed for Safari 2.0 support\r\n var hasOwnProp;\r\n\r\n (function() {\r\n var _hasOwnProperty = ({}).hasOwnProperty;\r\n /* istanbul ignore else */\r\n /* we have no way of testing IE 5.5 or safari 2,\r\n * so just assume the else gets hit */\r\n if (!is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined')) {\r\n hasOwnProp = function(object, property) {\r\n return _hasOwnProperty.call(object, property);\r\n };\r\n }\r\n else {\r\n hasOwnProp = function(object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */\r\n return ((property in object) && is(object.constructor.prototype[property], 'undefined'));\r\n };\r\n }\r\n })();\r\n\r\n \r\n\r\n\r\n // _l tracks listeners for async tests, as well as tests that execute after the initial run\r\n ModernizrProto._l = {};\r\n\r\n /**\r\n * Modernizr.on is a way to listen for the completion of async tests. Being\r\n * asynchronous, they may not finish before your scripts run. As a result you\r\n * will get a possibly false negative `undefined` value.\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr.on\r\n * @access public\r\n * @function on\r\n * @param {string} feature - String name of the feature detect\r\n * @param {function} cb - Callback function returning a Boolean - true if feature is supported, false if not\r\n * @example\r\n *\r\n * ```js\r\n * Modernizr.on('flash', function( result ) {\r\n * if (result) {\r\n * // the browser has flash\r\n * } else {\r\n * // the browser does not have flash\r\n * }\r\n * });\r\n * ```\r\n */\r\n\r\n ModernizrProto.on = function(feature, cb) {\r\n // Create the list of listeners if it doesn't exist\r\n if (!this._l[feature]) {\r\n this._l[feature] = [];\r\n }\r\n\r\n // Push this test on to the listener list\r\n this._l[feature].push(cb);\r\n\r\n // If it's already been resolved, trigger it on next tick\r\n if (Modernizr.hasOwnProperty(feature)) {\r\n // Next Tick\r\n setTimeout(function() {\r\n Modernizr._trigger(feature, Modernizr[feature]);\r\n }, 0);\r\n }\r\n };\r\n\r\n /**\r\n * _trigger is the private function used to signal test completion and run any\r\n * callbacks registered through [Modernizr.on](#modernizr-on)\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr._trigger\r\n * @access private\r\n * @function _trigger\r\n * @param {string} feature - string name of the feature detect\r\n * @param {function|boolean} [res] - A feature detection function, or the boolean =\r\n * result of a feature detection function\r\n */\r\n\r\n ModernizrProto._trigger = function(feature, res) {\r\n if (!this._l[feature]) {\r\n return;\r\n }\r\n\r\n var cbs = this._l[feature];\r\n\r\n // Force async\r\n setTimeout(function() {\r\n var i, cb;\r\n for (i = 0; i < cbs.length; i++) {\r\n cb = cbs[i];\r\n cb(res);\r\n }\r\n }, 0);\r\n\r\n // Don't trigger these again\r\n delete this._l[feature];\r\n };\r\n\r\n /**\r\n * addTest allows you to define your own feature detects that are not currently\r\n * included in Modernizr (under the covers it's the exact same code Modernizr\r\n * uses for its own [feature detections](https://github.com/Modernizr/Modernizr/tree/master/feature-detects)). Just like the offical detects, the result\r\n * will be added onto the Modernizr object, as well as an appropriate className set on\r\n * the html element when configured to do so\r\n *\r\n * @memberof Modernizr\r\n * @name Modernizr.addTest\r\n * @optionName Modernizr.addTest()\r\n * @optionProp addTest\r\n * @access public\r\n * @function addTest\r\n * @param {string|object} feature - The string name of the feature detect, or an\r\n * object of feature detect names and test\r\n * @param {function|boolean} test - Function returning true if feature is supported,\r\n * false if not. Otherwise a boolean representing the results of a feature detection\r\n * @example\r\n *\r\n * The most common way of creating your own feature detects is by calling\r\n * `Modernizr.addTest` with a string (preferably just lowercase, without any\r\n * punctuation), and a function you want executed that will return a boolean result\r\n *\r\n * ```js\r\n * Modernizr.addTest('itsTuesday', function() {\r\n * var d = new Date();\r\n * return d.getDay() === 2;\r\n * });\r\n * ```\r\n *\r\n * When the above is run, it will set Modernizr.itstuesday to `true` when it is tuesday,\r\n * and to `false` every other day of the week. One thing to notice is that the names of\r\n * feature detect functions are always lowercased when added to the Modernizr object. That\r\n * means that `Modernizr.itsTuesday` will not exist, but `Modernizr.itstuesday` will.\r\n *\r\n *\r\n * Since we only look at the returned value from any feature detection function,\r\n * you do not need to actually use a function. For simple detections, just passing\r\n * in a statement that will return a boolean value works just fine.\r\n *\r\n * ```js\r\n * Modernizr.addTest('hasJquery', 'jQuery' in window);\r\n * ```\r\n *\r\n * Just like before, when the above runs `Modernizr.hasjquery` will be true if\r\n * jQuery has been included on the page. Not using a function saves a small amount\r\n * of overhead for the browser, as well as making your code much more readable.\r\n *\r\n * Finally, you also have the ability to pass in an object of feature names and\r\n * their tests. This is handy if you want to add multiple detections in one go.\r\n * The keys should always be a string, and the value can be either a boolean or\r\n * function that returns a boolean.\r\n *\r\n * ```js\r\n * var detects = {\r\n * 'hasjquery': 'jQuery' in window,\r\n * 'itstuesday': function() {\r\n * var d = new Date();\r\n * return d.getDay() === 2;\r\n * }\r\n * }\r\n *\r\n * Modernizr.addTest(detects);\r\n * ```\r\n *\r\n * There is really no difference between the first methods and this one, it is\r\n * just a convenience to let you write more readable code.\r\n */\r\n\r\n function addTest(feature, test) {\r\n\r\n if (typeof feature == 'object') {\r\n for (var key in feature) {\r\n if (hasOwnProp(feature, key)) {\r\n addTest(key, feature[ key ]);\r\n }\r\n }\r\n } else {\r\n\r\n feature = feature.toLowerCase();\r\n var featureNameSplit = feature.split('.');\r\n var last = Modernizr[featureNameSplit[0]];\r\n\r\n // Again, we don't check for parent test existence. Get that right, though.\r\n if (featureNameSplit.length == 2) {\r\n last = last[featureNameSplit[1]];\r\n }\r\n\r\n if (typeof last != 'undefined') {\r\n // we're going to quit if you're trying to overwrite an existing test\r\n // if we were to allow it, we'd do this:\r\n // var re = new RegExp(\"\\\\b(no-)?\" + feature + \"\\\\b\");\r\n // docElement.className = docElement.className.replace( re, '' );\r\n // but, no rly, stuff 'em.\r\n return Modernizr;\r\n }\r\n\r\n test = typeof test == 'function' ? test() : test;\r\n\r\n // Set the value (this is the magic, right here).\r\n if (featureNameSplit.length == 1) {\r\n Modernizr[featureNameSplit[0]] = test;\r\n } else {\r\n // cast to a Boolean, if not one already\r\n /* jshint -W053 */\r\n if (Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {\r\n Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);\r\n }\r\n\r\n Modernizr[featureNameSplit[0]][featureNameSplit[1]] = test;\r\n }\r\n\r\n // Set a single class (either `feature` or `no-feature`)\r\n /* jshint -W041 */\r\n setClasses([(!!test && test != false ? '' : 'no-') + featureNameSplit.join('-')]);\r\n /* jshint +W041 */\r\n\r\n // Trigger the event\r\n Modernizr._trigger(feature, test);\r\n }\r\n\r\n return Modernizr; // allow chaining.\r\n }\r\n\r\n // After all the tests are run, add self to the Modernizr prototype\r\n Modernizr._q.push(function() {\r\n ModernizrProto.addTest = addTest;\r\n });\r\n\r\n \r\n\r\n/*!\r\n{\r\n \"name\": \"SVG as an tag source\",\r\n \"property\": \"svgasimg\",\r\n \"caniuse\" : \"svg-img\",\r\n \"tags\": [\"svg\"],\r\n \"authors\": [\"Chris Coyier\"],\r\n \"notes\": [{\r\n \"name\": \"HTML5 Spec\",\r\n \"href\": \"http://www.w3.org/TR/html5/embedded-content-0.html#the-img-element\"\r\n }]\r\n}\r\n!*/\r\n\r\n\r\n // Original Async test by Stu Cox\r\n // https://gist.github.com/chriscoyier/8774501\r\n\r\n // Now a Sync test based on good results here\r\n // http://codepen.io/chriscoyier/pen/bADFx\r\n\r\n // Note http://www.w3.org/TR/SVG11/feature#Image is *supposed* to represent\r\n // support for the `` tag in SVG, not an SVG file linked from an ``\r\n // tag in HTML – but it’s a heuristic which works\r\n Modernizr.addTest('svgasimg', document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#Image', '1.1'));\r\n\r\n\r\n /**\r\n * Object.prototype.toString can be used with every object and allows you to\r\n * get its class easily. Abstracting it off of an object prevents situations\r\n * where the toString property has been overridden\r\n *\r\n * @access private\r\n * @function toStringFn\r\n * @returns {function} An abstracted toString function\r\n */\r\n\r\n var toStringFn = ({}).toString;\r\n \r\n/*!\r\n{\r\n \"name\": \"SVG clip paths\",\r\n \"property\": \"svgclippaths\",\r\n \"tags\": [\"svg\"],\r\n \"notes\": [{\r\n \"name\": \"Demo\",\r\n \"href\": \"http://srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for clip paths in SVG (only, not on HTML content).\r\n\r\nSee [this discussion](https://github.com/Modernizr/Modernizr/issues/213) regarding applying SVG clip paths to HTML content.\r\n*/\r\n\r\n Modernizr.addTest('svgclippaths', function() {\r\n return !!document.createElementNS &&\r\n /SVGClipPath/.test(toStringFn.call(document.createElementNS('http://www.w3.org/2000/svg', 'clipPath')));\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"SVG filters\",\r\n \"property\": \"svgfilters\",\r\n \"caniuse\": \"svg-filters\",\r\n \"tags\": [\"svg\"],\r\n \"builderAliases\": [\"svg_filters\"],\r\n \"authors\": [\"Erik Dahlstrom\"],\r\n \"notes\": [{\r\n \"name\": \"W3C Spec\",\r\n \"href\": \"https://www.w3.org/TR/SVG11/filters.html\"\r\n }]\r\n}\r\n!*/\r\n\r\n // Should fail in Safari: https://stackoverflow.com/questions/9739955/feature-detecting-support-for-svg-filters.\r\n Modernizr.addTest('svgfilters', function() {\r\n var result = false;\r\n try {\r\n result = 'SVGFEColorMatrixElement' in window &&\r\n SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE == 2;\r\n }\r\n catch (e) {}\r\n return result;\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"SVG foreignObject\",\r\n \"property\": \"svgforeignobject\",\r\n \"tags\": [\"svg\"],\r\n \"notes\": [{\r\n \"name\": \"W3C Spec\",\r\n \"href\": \"https://www.w3.org/TR/SVG11/extend.html\"\r\n }]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for foreignObject tag in SVG.\r\n*/\r\n\r\n Modernizr.addTest('svgforeignobject', function() {\r\n return !!document.createElementNS &&\r\n /SVGForeignObject/.test(toStringFn.call(document.createElementNS('http://www.w3.org/2000/svg', 'foreignObject')));\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Inline SVG\",\r\n \"property\": \"inlinesvg\",\r\n \"caniuse\": \"svg-html5\",\r\n \"tags\": [\"svg\"],\r\n \"notes\": [{\r\n \"name\": \"Test page\",\r\n \"href\": \"https://paulirish.com/demo/inline-svg\"\r\n }, {\r\n \"name\": \"Test page and results\",\r\n \"href\": \"https://codepen.io/eltonmesquita/full/GgXbvo/\"\r\n }],\r\n \"polyfills\": [\"inline-svg-polyfill\"],\r\n \"knownBugs\": [\"False negative on some Chromia browsers.\"]\r\n}\r\n!*/\r\n/* DOC\r\nDetects support for inline SVG in HTML (not within XHTML).\r\n*/\r\n\r\n Modernizr.addTest('inlinesvg', function() {\r\n var div = createElement('div');\r\n div.innerHTML = '';\r\n return (typeof SVGRect != 'undefined' && div.firstChild && div.firstChild.namespaceURI) == 'http://www.w3.org/2000/svg';\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"SVG SMIL animation\",\r\n \"property\": \"smil\",\r\n \"caniuse\": \"svg-smil\",\r\n \"tags\": [\"svg\"],\r\n \"notes\": [{\r\n \"name\": \"W3C Synchronised Multimedia spec\",\r\n \"href\": \"https://www.w3.org/AudioVideo/\"\r\n }]\r\n}\r\n!*/\r\n\r\n // SVG SMIL animation\r\n Modernizr.addTest('smil', function() {\r\n return !!document.createElementNS &&\r\n /SVGAnimate/.test(toStringFn.call(document.createElementNS('http://www.w3.org/2000/svg', 'animate')));\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Local Storage\",\r\n \"property\": \"localstorage\",\r\n \"caniuse\": \"namevalue-storage\",\r\n \"tags\": [\"storage\"],\r\n \"knownBugs\": [],\r\n \"notes\": [],\r\n \"warnings\": [],\r\n \"polyfills\": [\r\n \"joshuabell-polyfill\",\r\n \"cupcake\",\r\n \"storagepolyfill\",\r\n \"amplifyjs\",\r\n \"yui-cacheoffline\"\r\n ]\r\n}\r\n!*/\r\n\r\n // In FF4, if disabled, window.localStorage should === null.\r\n\r\n // Normally, we could not test that directly and need to do a\r\n // `('localStorage' in window) && ` test first because otherwise Firefox will\r\n // throw bugzil.la/365772 if cookies are disabled\r\n\r\n // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem\r\n // will throw the exception:\r\n // QUOTA_EXCEEDED_ERROR DOM Exception 22.\r\n // Peculiarly, getItem and removeItem calls do not throw.\r\n\r\n // Because we are forced to try/catch this, we'll go aggressive.\r\n\r\n // Just FWIW: IE8 Compat mode supports these features completely:\r\n // www.quirksmode.org/dom/html5.html\r\n // But IE8 doesn't support either with local files\r\n\r\n Modernizr.addTest('localstorage', function() {\r\n var mod = 'modernizr';\r\n try {\r\n localStorage.setItem(mod, mod);\r\n localStorage.removeItem(mod);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Session Storage\",\r\n \"property\": \"sessionstorage\",\r\n \"tags\": [\"storage\"],\r\n \"polyfills\": [\"joshuabell-polyfill\", \"cupcake\", \"sessionstorage\"]\r\n}\r\n!*/\r\n\r\n // Because we are forced to try/catch this, we'll go aggressive.\r\n\r\n // Just FWIW: IE8 Compat mode supports these features completely:\r\n // www.quirksmode.org/dom/html5.html\r\n // But IE8 doesn't support either with local files\r\n Modernizr.addTest('sessionstorage', function() {\r\n var mod = 'modernizr';\r\n try {\r\n sessionStorage.setItem(mod, mod);\r\n sessionStorage.removeItem(mod);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n });\r\n\r\n/*!\r\n{\r\n \"name\": \"Web SQL Database\",\r\n \"property\": \"websqldatabase\",\r\n \"caniuse\": \"sql-storage\",\r\n \"tags\": [\"storage\"]\r\n}\r\n!*/\r\n\r\n // Chrome incognito mode used to throw an exception when using openDatabase\r\n // It doesn't anymore.\r\n Modernizr.addTest('websqldatabase', 'openDatabase' in window);\r\n\r\n/*!\r\n{\r\n \"name\": \"CSS Multiple Backgrounds\",\r\n \"caniuse\": \"multibackgrounds\",\r\n \"property\": \"multiplebgs\",\r\n \"tags\": [\"css\"]\r\n}\r\n!*/\r\n\r\n // Setting multiple images AND a color on the background shorthand property\r\n // and then querying the style.background property value for the number of\r\n // occurrences of \"url(\" is a reliable method for detecting ACTUAL support for this!\r\n\r\n Modernizr.addTest('multiplebgs', function() {\r\n var style = createElement('a').style;\r\n style.cssText = 'background:url(https://),url(https://),red url(https://)';\r\n\r\n // If the UA supports multiple backgrounds, there should be three occurrences\r\n // of the string \"url(\" in the return value for elemStyle.background\r\n return (/(url\\s*\\(.*?){3}/).test(style.background);\r\n });\r\n\r\n\r\n // Run each test\r\n testRunner();\r\n\r\n // Remove the \"no-js\" class if it exists\r\n setClasses(classes);\r\n\r\n delete ModernizrProto.addTest;\r\n delete ModernizrProto.addAsyncTest;\r\n\r\n // Run the things that are supposed to run after the tests\r\n for (var i = 0; i < Modernizr._q.length; i++) {\r\n Modernizr._q[i]();\r\n }\r\n\r\n // Leak Modernizr namespace\r\n window.Modernizr = Modernizr;\r\n\r\n\r\n;\r\n\r\n})(window, document);","\r\nimport './modernizr.js'; // 'npm run modernizr' to create this file\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}