{"version":3,"sources":["fs (ignored)","./src/services/apWeb.service.ts","./src/components/home/home.component.ts","./src/components/home/home.component.html","crypto (ignored)","stream (ignored)","./src/services/webclient.service.ts","./src/components/add-custom-asset/add-custom-asset.component.ts","./src/components/add-custom-asset/add-custom-asset.component.html","./src/services/apWeb.FDS.service.ts","./src/components/fdsscope-selector/fdsscope-selector.component.ts","./src/components/fdsscope-selector/fdsscope-selector.component.html","./src/components/edit-opportunity/edit-opportunity.component.ts","./src/components/edit-opportunity/edit-opportunity.component.html","./src/environments/environment.ts","./src/services/commonservice.ts","./src/app/common/common.ts","./src/services/apWeb.Baseline.service.ts","./src/services/env.service.ts","./src/components/add-asset/add-asset.component.ts","./src/components/add-asset/add-asset.component.html","./src/services/data.service.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.ts","./src/app/app.component.html","./src/components/field-mapping/field-mapping.component.ts","./src/components/field-mapping/field-mapping.component.html","./src/services/app-config.service.ts","./src/app/app.module.ts","./src/services/apWeb.BluePrint.service.ts","./src/app/common/Filter.ts","./src/donut-source/donut-chart.component.ts","./src/donut-source/donut-chart-source.component.html","./src/components/add-opportunity/add-opportunity.component.html","./src/components/add-opportunity/add-opportunity.component.ts","./src/totalEffot&Cost-bulletChart/TotSaving_bullet-chart.component.ts","./src/totalEffot&Cost-bulletChart/TotSaving_bullet-chart.component.html","./src/services/apWeb.ProblemStatement.service.ts","./src/components/upload-opportunity/upload-opportunity.component.ts","./src/components/upload-opportunity/upload-opportunity.component.html","./src/app/msal-application.module.ts","./src/components/opportunity-treasury/opportunity-treasury.component.ts","./src/components/opportunity-treasury/opportunity-treasury.component.html","./src/totalEffot&Cost-bulletChart/TotEffort_bullet-chart.component.ts","./src/totalEffot&Cost-bulletChart/TotEffort_bullet-chart.component.html","./src/components/review-and-save-opportunity/review-and-save-opportunity.component.ts","./src/components/review-and-save-opportunity/review-and-save-opportunity.component.html","./src/services/apWeb.JourneyPlan.service.ts","./src/app/app-routing.module.ts","./src/services/apWeb.DashBoard.service.ts","./src/donut-status/donut-chart.component.ts","./src/donut-status/donut-chart-status.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,e;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4D;AACJ;;;;;;;AAOxD,mBAAmB;AAGZ,MAAM,YAAY;IAqEvB,YAAoB,IAAgB,EAAU,WAA2B,EAAU,WAAwB,EAAU,MAAc,EAAU,SAA2B;QAApJ,SAAI,GAAJ,IAAI,CAAY;QAAU,gBAAW,GAAX,WAAW,CAAgB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAkB;QAnDjK,yBAAoB,GAAG,IAAI,0DAAY,EAAU,CAAC;QAgBlD,yBAAoB,GAAG,IAAI,0DAAY,EAAW,CAAC;QAoCxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAC7D,IAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW;YACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;;YAEpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QAErD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACtC,IAAI,CAAC,WAAW,GAAG,sCAAsC,CAAC;YAC1D,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;aACI;YACH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;;gBAEjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAChF;QACD,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACtC,CAAC;IAED,oBAAoB,CAAI,YAAoB,EAAE,aAAqB;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,yBAAyB,GAAG,YAAY,GAAG,GAAG,GAAG,aAAa,CAAC,CAAC;IACzG,CAAC;IAED,gBAAgB,CAAI,IAAS;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAC,CAAC;IACvE,CAAC;IAED,cAAc,CAAI,IAAS;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC,CAAC;IACrE,CAAC;IACD,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,2BAA2B,CAAC,CAAC;IACtE,CAAC;IAED,iBAAiB,CAAI,IAAS;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,6BAA6B,CAAC,CAAC;IACxE,CAAC;IAED,uBAAuB,CAAI,YAAoB,EAAE,SAAiB,EAAE,WAAmB;QACrF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,mCAAmC,GAAG,YAAY,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC,CAAC;IACnI,CAAC;IAED,gBAAgB,CAAI,WAAmB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,+BAA+B,GAAG,WAAW,CAAC,CAAC;IACxF,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,kCAAkC,CAAC,CAAC;IAC7E,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,4BAA4B,CAAC,CAAC;IACvE,CAAC;IAED,gBAAgB,CAAI,YAAoB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,4BAA4B,EAAE,YAAY,CAAC;IACrF,CAAC;IAED,2BAA2B,CAAI,OAAY;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAED,+BAA+B,CAAI,QAAgB,EAAE,YAAoB,EAAE,MAAc,EAAE,KAAa,EAAE,MAAc;QACtH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,8BAA8B,GAAG,QAAQ,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC;IACrJ,CAAC;IAED,gBAAgB,CAAI,WAAgB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,8BAA8B,EAAE,WAAW,CAAC,CAAC;IACvF,CAAC;IAED,aAAa,CAAI,WAAmB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,wBAAwB,EAAE,WAAW,CAAC;IAChF,CAAC;IAED,YAAY,CAAI,QAAgB,EAAE,YAAoB,EAAE,OAAe;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,yBAAyB,GAAG,QAAQ,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC;IACnH,CAAC;IAED,eAAe,CAAI,KAAK;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,4BAA4B,EAAE,KAAK,CAAC;IAC9E,CAAC;IAED,6BAA6B,CAAI,eAAe;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,oCAAoC,EAAE,eAAe,CAAC;IAChG,CAAC;IAED,0BAA0B,CAAI,eAAuB;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAAE,eAAe,CAAC;IACnG,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,gCAAgC,CAAC,CAAC;IAC3E,CAAC;IAED,mBAAmB,CAAI,YAAoB,EAAE,YAAoB,EAAE,QAAgB;QACjF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,gCAAgC,GAAG,YAAY,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;IAChI,CAAC;IAED,yBAAyB,CAAI,YAAoB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,sCAAsC,GAAG,YAAY,CAAC,CAAC;IAChG,CAAC;IAED,gBAAgB,CAAI,WAAmB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,6BAA6B,EAAE,EAAE,WAAW,EAAE,CAAC;IACzF,CAAC;IAED,cAAc,CAAI,YAAoB;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,2BAA2B,GAAG,YAAY,CAAC;IACpF,CAAC;IAED,WAAW,CAAI,WAAmB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,wBAAwB,EAAE,EAAE,WAAW,EAAE,CAAC;IACpF,CAAC;IAED,eAAe,CAAI,eAAuB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,4BAA4B,EAAE,EAAE,eAAe,EAAE,CAAC;IAC5F,CAAC;IAED,qBAAqB,CAAI,iBAAyB;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,kCAAkC,EAAE,EAAE,iBAAiB,EAAE,CAAC;IACpG,CAAC;IAED,yBAAyB,CAAI,iBAAyB;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAAE,iBAAiB,CAAC;IACpG,CAAC;IAED,uBAAuB,CAAI,eAAuB;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,oCAAoC,EAAE,EAAE,eAAe,EAAE,CAAC;IACpG,CAAC;IAED,yBAAyB,CAAI,qBAA6B;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,sCAAsC,EAAE,EAAE,qBAAqB,EAAE,CAAC;IAC5G,CAAC;IAED,mBAAmB,CAAI,QAAa;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,gCAAgC,EAAE,QAAQ,CAAC,CAAC;IACtF,CAAC;IAED,qBAAqB,CAAI,eAAoB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,kCAAkC,EAAE,EAAE,eAAe,EAAE,CAAC;IAClG,CAAC;IAED,mBAAmB,CAAI,YAAmB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,gCAAgC,EAAG,YAAY,CAAC;IAC1F,CAAC;IAED,YAAY,CAAI,QAAgB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,yBAAyB,EAAE,QAAQ,CAAC;IAC9E,CAAC;IAED,8BAA8B;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,0CAA0C,CAAC,CAAC;IACrF,CAAC;IAED,QAAQ,CAAI,eAAoB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,4BAA4B,EAAE,eAAe,CAAC,CAAC;IACzF,CAAC;IAED,uBAAuB,CAAI,WAAW;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,qCAAqC,EAAE,WAAW,CAAC,CAAC;IAC9F,CAAC;IAED,kBAAkB,CAAI,OAAY;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,8BAA8B,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAED,oBAAoB,CAAI,WAAmB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,8BAA8B,GAAG,WAAW,CAAC,CAAC;IACvF,CAAC;IAED,iCAAiC,CAAI,OAAY;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,6CAA6C,EAAE,OAAO,CAAC,CAAC;IAClG,CAAC;IAED,wDAAwD;IACxD,uGAAuG;IACvG,IAAI;IAEJ,iBAAiB,CAAI,UAAe;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,6BAA6B,EAAE,UAAU,CAAC;IACpF,CAAC;IAED,eAAe,CAAI,OAAY;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,mCAAmC,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,OAAO,CAAC,KAAK,CAAC;YACZ,KAAK,EAAE,gDAAgD;YACvD,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,mBAAmB,CAAC,GAAG;QACrB,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ;YAC1D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC9B,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS;YAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAChC,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS;YAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACpC,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS;YAC5D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACnC,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS;YAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;;YAEvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,CAAC,KAAK,CAAC;YACZ,KAAK,EAAE,6CAA6C;YACpD,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,OAAO,CAAC,KAAK,CAAC;YACZ,KAAK,EAAE,8CAA8C;YACrD,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAEvI,CAAC;IAED,0BAA0B,CAAC,OAAe;QACxC,OAAO,CAAC,MAAM,CAAC;YACb,KAAK,EAAE,2GAA2G;YAClH,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE;gBACP,EAAE,EAAE;oBACF,KAAK,EAAE,cAAc;oBACrB,SAAS,EAAC,0BAA0B;iBACrC;aACF;SACF,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAC,OAAO,EAAE,CAAC;aACxE,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;aACnF,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC5D,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,OAAO,CAAC,OAAO,CAAC;YACd,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,UAAU,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,mDAAmD,CAAC,CAAC;SACnG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,eAAe;QACb,OAAO,+CAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,cAAc;QACZ,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;QACnC,iCAAiC;QACjC,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QAC5D,IAAI,aAAa,GAAG,cAAc,CAAC,mBAAmB,CAAC;QACvD,IAAI,WAAW,IAAI,SAAS,IAAI,WAAW,CAAC,QAAQ,IAAI,SAAS,EAAE;YACjE,QAAQ,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBACtC,KAAK,CAAC;oBACJ,GAAG,GAAG,aAAa,GAAG,WAAW,CAAC,YAAY,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC;oBACxI,MAAM;gBACR,KAAK,CAAC;oBACJ,iCAAiC;oBACjC,GAAG,GAAG,GAAG,GAAG,aAAa,GAAG,GAAG,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;oBAC7H,MAAM;gBACR,KAAK,CAAC;oBACJ,GAAG,GAAG,GAAG,CAAC;oBACV,MAAM;gBACR,KAAK,CAAC;oBACJ,iCAAiC;oBACjC,GAAG,GAAG,GAAG,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;oBACvG,MAAM;gBACR,KAAK,CAAC;oBACJ,GAAG,GAAG,aAAa,GAAG,WAAW,CAAC,YAAY,GAAG,GAAG,GAAG,WAAW,CAAC,OAAO,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC;oBACxI,MAAM;aACT;YACD,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC9E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChI,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAE,IAAI,IAAI,CAAC,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;iBACtK;aACF;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7B;SACF;IACH,CAAC;;wEA5WU,YAAY;+FAAZ,YAAY,WAAZ,YAAY;;;;;;;;;;;;;ACNzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4B;;;;;;;;;;;;;;;ICmCQ,8EAAqE;IACjE,uDACJ;IAAA,4DAAS;;;IAF0C,6EAAiB;IAChE,0DACJ;IADI,sFACJ;;;IAgCxB,yEAC6C;IAAA,sEACnB;IAAA,uEAAM;IAAA,6EAClB;IAAA,4DAAO;IAAA,4DAAI;;;;;IA8DG,0EAA6E;IAAjC,+VAAgC;IACxE,2EAA0B;IACtB,2EAAiC;IAC7B,yEAC+F;IAC3F,uEAAM;IAAA,uDAA6C;IAAA,4DAAO;IAC9D,4DAAI;IACR,4DAAM;IACV,4DAAM;IACV,4DAAK;;;IALW,0DAA0F;IAA1F,iNAA0F;IACpF,0DAA6C;IAA7C,sHAA6C;;;IAmBvF,2EAAiD;IAAA,uDAAiB;IAAA,4DAAM;;;IAAvB,0DAAiB;IAAjB,qFAAiB;;;;IAsElD,yEAAqD;IAAA,wEAEa;IAAtD,qUAAqC,cAAc,KAAE;IAAC,uEAAY;IAAA,4DAAI;IAClF,4DAAK;;;IAFO,0DAAwE;IAAxE,iJAAwE;;;;IAa5E,yEAE6B;IADzB,4aAAkC,aAAa,sBAAkB,EAAE,EAAE,EAAE,KAAE;IAChD,4DAAI;;;IAE7B,oEAA+E;;;IAC/E,oEAAkF;;;IAClF,oEAAgF;;;IAPxF,qEAA2C;IACvC,kIAEiC;IACjC,2EAAyB;IACrB,kIAA+E;IAC/E,kIAAkF;IAClF,kIAAgF;IACpF,4DAAM;IACN,yEAC4C;IAAA,uDACoB;;IAAA,4DAAI;IACxE,4DAAK;;;IAXG,0DAA2C;IAA3C,2GAA2C;IAIvC,0DAAwB;IAAxB,wFAAwB;IACxB,0DAA2B;IAA3B,2FAA2B;IAC3B,0DAAyB;IAAzB,yFAAyB;IAEV,0DAA4B;IAA5B,kGAA4B;IACP,0DACoB;IADpB,+NACoB;;;;IAI5D,yEAE6B;IADzB,4aAAkC,OAAO,0EAA2D;IAC3E,4DAAI;;;;IAa7B,yEAGmD;IAD3B,kbAAgC;IACL,sEACC;IAAA,4DAAI;;;;IArBpE,qEAA8C;IAC1C,2EAAuC;IACnC,kIAEiC;IACjC,yEACsD;IAAA,uDAE7B;;IAAA,4DAAI;IAC7B,4EAAgC;IAC5B,yEAC+C;IAD5C,2aAA8B;IACc,sEACC;IAAA,4DAAI;IAEpD,yEAC6B;IAAA,4EACc;IAAzB,waAAwB;IADb,4DACc;IAAA,4DAAI;IAC/C,oIAIwD;IAC5D,4DAAO;IACX,4DAAM;IACV,4DAAK;;;IAtBO,0DAA2C;IAA3C,2GAA2C;IAGxB,0DAA+B;IAA/B,qGAA+B;IACA,0DAE7B;IAF6B,wOAE7B;IAUhB,0DAA8B;IAA9B,8FAA8B;;;;IAYvC,4EAA6D;IACzD,yEAGiD;IAD7C,gbAA4B;IACiB,sEACH;IAAA,4DAAI;IAClD,yEAEqC;IADjC,8aAA0B;IACO,sEACe;IAAA,4DAAI;IAC5D,4DAAO;;;IARC,0DAA8D;IAA9D,0HAA8D;;;IAP9E,qEAAwC;IACpC,2EAAuC;IACnC,yEACsD;IAAA,uDACW;;IAAA,4DAAI;IACrE,wIAUO;IACX,4DAAM;IACV,4DAAK;;;IAf0B,0DAAyB;IAAzB,+FAAyB;IACM,0DACW;IADX,sNACW;IAChC,0DAA0B;IAA1B,0FAA0B;;;IAkBnE,qEAAyC;IAAA,uDAA4D;IAAA,4DAAK;;;IAAjE,0DAA4D;IAA5D,iIAA4D;;;;IAjEzG,0EAGgE;IAC5D,gIAYK;IACL,gIAwBK;IACL,+HAiBK;IACL,0EAAiC;IAAA,uDAA6M;IAAA,4DAAK;IACnP,0EAAiC;IAAA,uDAAiN;IAAA,4DAAK;IACvP,0EAAiC;IAAA,uDAAqM;IAAA,4DAAK;IAC3O,2EAAiC;IAAA,wDAAqG;IAAA,4DAAK;IAC3I,sEAAI;IAAA,wDAAiE;IAAA,4DAAK;IAC1E,iIAA0G;IAC9G,4DAAK;;;;IA/DmC,yEAAuB;IAF3D,8MAAyI;IAEzI,0FAAmC;IAC9B,0DAAoC;IAApC,oGAAoC;IAapC,0DAAuC;IAAvC,uGAAuC;IAyBvC,0DAAiC;IAAjC,iGAAiC;IAkBL,0DAA6M;IAA7M,8RAA6M;IAC7M,0DAAiN;IAAjN,kSAAiN;IACjN,0DAAqM;IAArM,sRAAqM;IACrM,0DAAqG;IAArG,8KAAqG;IAClI,0DAAiE;IAAjE,sIAAiE;IAChE,0DAAkC;IAAlC,mGAAkC;;;IAnE/C,wEAC+H;IAC3H,4HAkEK;IACT,qEAAe;;;IAnEN,0DAAgK;IAAhK,4OAAgK;;;;;ADlOlM,MAAM,aAAa;IAmJxB,YACU,oBAA0C,EAC1C,YAA0B,EAC1B,WAAwB,EACzB,MAAc;QAHb,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACzB,WAAM,GAAN,MAAM,CAAQ;QAtJhB,MAAC,GAAW,CAAC,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,EAAE,CAAC;QACpB,iBAAY,GAAG,EAAE,CAAC;QAClB,iBAAY,GAAG,EAAE,CAAC;QAClB,yBAAoB,GAAG,CAAC,CAAC;QACzB,sBAAiB,GAAG,EAAE,CAAC;QACvB,UAAK,GAAG,KAAK,CAAC;QACd,UAAK,GAAG,CAAC,CAAC;QACV,kBAAa,GAAG,CAAC,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QACnB,oBAAe,GAAG,CAAC,QAAQ,EAAC,cAAc,EAAC,UAAU,CAAC,CAAC;QACvD,uBAAkB,GAAC,CAAC,QAAQ,CAAC,CAAC;QAE9B,sBAAiB,GAAG,KAAK,CAAC;QAC1B,SAAI,GAAG,KAAK,CAAC;QACb,mBAAc,GAAG,IAAI,CAAC;QACtB,yBAAoB,GAAG,KAAK,CAAC;QAC7B,+BAA0B,GAAG,KAAK,CAAC;QACnC,sBAAiB,GAAG,EAAE,CAAC;QACvB,oBAAe,GAAG,EAAE,CAAC;QACrB,wBAAmB,GAAG,KAAK,CAAC;QAC5B,uBAAkB,GAAG,IAAI,CAAC;QAC1B,yBAAoB,GAAG,CAAC,CAAC;QACzB,uBAAkB,GAAG,IAAI,CAAC;QAC1B,eAAU,GAAG,0DAA0D,CAAC;QACxE,gBAAW,GAAG,4CAA4C,CAAC;QAC3D,gBAAW,GAAG,2EAA2E,CAAC;QAW1F,cAAS,GAAG,IAAI,CAAC;QAOjB,4BAAuB,GAAG,EAAE,CAAC,mBAAkB;QAC/C,qBAAgB,GAAG,EAAE,CAAC,CAAO,4BAA4B;QACzD,yBAAoB,GAAG,EAAE,CAAC,CAAG,oBAAoB;QAsCjD,iBAAY,GACjB;YACE,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,QAAQ;YACnB,mBAAmB,EAAE,QAAQ;YAC7B,iBAAiB,EAAE,EAAE;YACrB,2BAA2B,EAAE,EAAE;SAChC;QAMI,qBAAgB,GAAG,EAAE,CAAC;QACtB,gBAAW,GAAG,EAAE,CAAC;QACjB,cAAS,GAAG,EAAE,CAAC;QACf,kBAAa,GAAG,IAAI,CAAC;QACrB,cAAS,GAAG,EAAE,CAAC;QAmCf,iBAAY,GAAW,EAAE,CAAC;QAI1B,gBAAW,GAAY,KAAK,CAAC;QAC7B,4BAAuB,GAAW,MAAM,CAAC;QACzC,iCAA4B,GAAK,QAAQ,CAAC;QAC1C,qBAAgB,GAAG,IAAI,CAAC;QA48C/B,qBAAgB,GAAG,UAAU,WAAW;YACtC,IAAI,eAAe,GAAG;gBACpB,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,YAAY,EAAE,WAAW,CAAC,SAAS;gBACnC,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,YAAY,EAAE,WAAW,CAAC,YAAY;aACvC,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI;gBAClF,iCAAiC;gBACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC/C,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI;wBAElE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE;4BAC7B,IAAI,iBAAiB,GAAG,IAAI;4BAC5B,IAAI,iBAAiB,IAAI,CAAC,EAAE;gCAC1B,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;gCACvC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;6BAEzE;iCACI;gCACH,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,KAAK,CAAC;gCACxC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;6BACzE;yBACF;oBACH,CAAC,CAAC,CAAC;iBACJ;gBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;iBAC1D;gBAED,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,KAAK,EAAE;oBAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;iBACnE;qBACI;oBACH,IAAI,CAAC,wBAAwB,EAAE,CAAC;iBACjC;gBAED,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnC,IAAI,cAAc,GAAG,EAAE,CAAC;oBACxB,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe;oBAC9B,GAAG,CAAC,OAAO,CAAC,UAAU,YAAY,EAAE,MAAM;wBACxC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;4BAChE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;yBACnD;oBACH,CAAC,CAAC,CAAC;oBACH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;qBACjE;yBACI;wBACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;qBAC7B;oBACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAEzC;qBACI;oBACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;gBACD,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE;oBAChC,IAAI,CAAC,QAAQ,GAAG,iHAAiH,CAAC;iBACnI;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAWD,iBAAY,GAAG,UAAU,MAAM,EAAE,KAAK,EAAE,YAAY;YAClD,IAAI,YAAY,IAAI,SAAS,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;aAClC;YACD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,sBAAsB,GAAG;gBAC3B,aAAa,EAAE,EAAE;gBACjB,gBAAgB,EAAE,EAAE;gBACpB,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;gBACR,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,cAAc,EAAE,EAAE;gBAClB,WAAW,EAAE,CAAC;aACf,CAAC;YACF,IAAI,YAAY,IAAI,OAAO,EAAE;gBAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAC9B;YAED,IAAI,KAAK,GAAG,2CAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG;gBAClD,IAAI,GAAG,CAAC,EAAE,IAAI,MAAM,EAAE;oBACpB,OAAO,IAAI,CAAC;iBACb;YACH,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,QAAQ,EAAE,KAAK;oBAClE,IAAI,GAAG,GAAG,KAAK,CAAC;oBAChB,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE;wBACxB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;qBACnC;oBACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,EAAE,QAAQ;wBAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,YAAY,EAAE,MAAM;oBACtD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE;wBAChE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACnD;gBAEH,CAAC,CAAC,CAAC;gBACH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;iBACjE;qBACI;oBACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;iBAC7B;gBACD,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,YAAY,EAAE,MAAM;oBACtD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhD,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC;gBACpE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrD;iBACI;gBAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;aAAE;YACrC,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE;gBAChC,IAAI,CAAC,QAAQ,GAAG,iHAAiH,CAAC;aACnI;QAEH,CAAC,CAAC;QAjmDA,sDAAsD;IACxD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/C;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,sBAAsB,GAAG,EAAE;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE;YACjC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACxD,0DAA0D;SAC3D;aACI;YACH,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YACjD,0DAA0D;SAC3D;QAED,sDAAsD;QACtD,4FAA4F;QAC5F,IAAI;QACJ,SAAS;QACT,4FAA4F;QAC5F,IAAI;QAEJ,IAAI,cAAc,CAAC,WAAW,CAAC,IAAI,SAAS;YAC1C,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;;YAE7C,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QAE/C,IAAI,cAAc,CAAC,eAAe,CAAC,IAAI,SAAS;YAC9C,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;;YAEzD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;QAE3D,IAAI,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE;YACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;SACtE;QAED,oCAAoC;QAEpC,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;YACvG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;YACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;YAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YACrL,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,WAAW,CAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;YACrD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;YAClG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACnD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,gCAAgC,CAAC,WAAW,EAAE,CAAC;QACpD,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,mBAAmB;QAEjB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAElC,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;oBAEtF,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBAChF,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC3D,IAAI,OAAO,GAAG,2CAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,UAAU,OAAO,EAAE,KAAK;4BACrE,IAAI,OAAO,IAAI,IAAI,EAAE;gCACnB,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;6BACjC;wBACH,CAAC,CAAC,CAAC;wBACH,IAAI,UAAU,GAAG,2CAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,UAAU,OAAO,EAAE,KAAK;4BACxE,IAAI,OAAO,IAAI,IAAI,EAAE;gCACnB,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;6BACpC;wBACH,CAAC,CAAC,CAAC;wBACH,IAAI,SAAS,GAAG,2CAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,UAAU,OAAO,EAAE,KAAK;4BACvE,IAAI,OAAO,IAAI,IAAI,EAAE;gCACnB,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;6BAClC;wBACH,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC1B,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;wBAC9C,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;wBAE5E,kCAAkC;wBAElC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC5B,IAAI,CAAC,8BAA8B,EAAE,CAAC;qBAEvC;yBACI;wBACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC1B,gDAAgD;wBAChD,6CAA6C;wBAC7C,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,qBAAoB;wBACtD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAO,4BAA4B;wBAC9D,iCAAiC;qBAClC;gBAEH,CAAC,EAAE,KAAK,CAAC,EAAE;oBAET,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC,CAAC;aACH;iBACI;gBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,mDAAmD;gBACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,eAAe,GAAG,iHAAiH,CAAC;aAC1I;SACF;aACK;YACH,OAAO,CAAC,GAAG,CAAC,aAAa,GAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9C,udAAud;SACvd;IACJ,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,QAAQ;YACxD,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,IAAI,kBAAkB,GAAG,CAAC,CAAC;gBAC3B,IAAI,kBAAkB,GAAG,CAAC,CAAC;gBAC3B,IAAI,iBAAiB,GAAG,CAAC,CAAC;gBAE1B,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;gBAChC,IAAI,QAAQ,GAAG,2CAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,KAAK;oBAC1E,IAAI,OAAO,IAAI,IAAI,EAAE;wBACnB,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;qBACvC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;oBACxB,QAAQ,CAAC,eAAe,GAAG,KAAK,CAAC;iBAClC;gBAED,2CAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,QAAQ;oBAC9D,IAAI,QAAQ,IAAI,IAAI,EAAE;wBACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;wBACnB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;wBAC3B,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,MAAM,EAAE;4BACzD,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;yBAC9B;wBACD,gEAAgE;wBAChE,mCAAmC;wBACnC,GAAG;wBACH,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,MAAM,EAAE;4BAC3D,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC;yBAChC;wBACD,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,SAAS,EAAE;4BAC9D,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC;yBACnC;wBACD,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,EAAE;4BAC5D,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC;yBACjC;wBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,UAAU,IAAI,QAAQ,CAAC,MAAM,IAAI,YAAY,EAAE;4BACpE,IAAI,QAAQ,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE;gCACvF,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,GAAG,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;6BAClF;4BACD,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,IAAI,QAAQ,CAAC,qBAAqB,IAAI,IAAI,EAAE;gCAC1E,QAAQ,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gCAC/E,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;6BAC9D;4BACD,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE;gCAChE,QAAQ,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gCACtE,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;6BAChE;4BACD,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE;gCAChC,QAAQ,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gCAC1D,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;6BAC9D;4BACD,IAAI,kBAAkB,IAAI,IAAI,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE;gCAC9D,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;6BACnG;4BACD,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;gCAC/D,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;6BACpG;4BACD,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,IAAI,iBAAiB,IAAI,IAAI,EAAE;gCAC7D,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;6BAC7F;yBACF;wBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,eAAe,IAAI,QAAQ,CAAC,MAAM,IAAI,aAAa,EAAE;4BAC1E,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE;gCAChE,QAAQ,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gCACtE,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gCAC/D,QAAQ,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gCAC1D,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;6BAC9D;4BACD,IAAI,kBAAkB,IAAI,IAAI,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI,EAAE;gCAC9D,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;6BACnG;4BACD,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;gCAC/D,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;6BACpG;yBACF;qBACF;gBACH,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,WAAW,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC5C,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC7D,QAAQ,CAAC,YAAY,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC7C,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC/D,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,EAAE;YAClD,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,cAAc,GAAG,CAAC,CAAC;YACnB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,IAAI,EAAE,IAAI,IAAI,EAAE;gBACd,2CAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,EAAE;oBAClD,IAAI,EAAE,IAAI,IAAI,EAAE;wBACd,cAAc,GAAG,GAAG,CAAC,iCAAiC,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;wBAC3F,mBAAmB,GAAG,GAAG,CAAC,6BAA6B,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;wBACjF,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACzG;gBACH,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,mBAAmB,GAAG,gBAAgB,CAAC;gBAC1C,EAAE,CAAC,mBAAmB,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;gBACjE,gBAAgB,GAAG,CAAC,CAAC;gBAErB,cAAc,GAAG,GAAG,CAAC,8BAA8B,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;aACzF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,6BAA6B;QAC7B,IAAI,CAAC,2BAA2B,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtG,iCAAiC;IACnC,CAAC;IAED,iCAAiC,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE;QAClE,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;YAChD,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;oBAC5B,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;oBAC7B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC9B,qBAAqB,GAAG,CAAC,CAAC;qBAC3B;yBACI;wBACH,IAAI,KAAK,CAAC,YAAY,CAAC,mBAAmB,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,mBAAmB,IAAI,EAAE,EAAE;4BAClG,qBAAqB,GAAG,CAAC,CAAC;yBAC3B;6BACI;4BACH,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC;yBAChE;wBAED,gCAAgC;wBAChC,IAAI,YAAY,GAAG,CAAC,CAAC;wBACrB,IAAI,EAAE,CAAC,MAAM,IAAI,UAAU,IAAI,EAAE,CAAC,MAAM,IAAI,YAAY,EAAE;4BACxD,YAAY,GAAG,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC,eAAc;4BACzE,6EAA6E;4BAC7E,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;yBAC1D;6BACI;4BACH,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC;yBAC/B;wBACD,IAAI,EAAE,CAAC,sBAAsB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE;4BAC/H,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;4BACzG,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;4BACxE,4DAA4D;yBAC7D;6BAAM,IAAI,EAAE,CAAC,sBAAsB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;4BAC1I,IAAI,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;4BACjC,IAAI,aAAa,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,eAAc;4BACtF,aAAa,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;4BAChD,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC;yBACtD;6BACI;4BACH,IAAI,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC;4BACvF,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,eAAc;4BACjG,6EAA6E;4BAC7E,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;4BAC9C,IAAI,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;4BACjC,IAAI,aAAa,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,eAAc;4BAC/D,+EAA+E;4BAC/E,aAAa,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;4BAChD,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC;yBACtD;wBAED,KAAK;qBACN;oBACD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACvF;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,GAAG,EAAE;YAClB,cAAc,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAC9C;aACI;YACH,cAAc,GAAG,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;SACnD;QACD,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE/C,IAAI,EAAE,CAAC,MAAM,IAAI,UAAU,IAAI,EAAE,CAAC,MAAM,IAAI,YAAY,EAAE;YACxD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/C,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YACzC,EAAE,CAAC,yBAAyB,GAAG,QAAQ,CAAC;SACzC;aACI;YACH,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,EAAE,CAAC,yBAAyB,GAAG,QAAQ,CAAC;SACzC;QACD,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,6BAA6B,CAAC,mBAAmB,EAAE,EAAE;QACnD,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;YAChD,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;oBAC5B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC9B,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;qBACpE;yBACI;wBACH,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;qBAC9H;iBACF;aACF;YACD,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;QACH,mBAAmB,GAAG,iBAAiB,CAAC;QACxC,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,8BAA8B,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE;QAC/D,EAAE,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC7C,cAAc,IAAI,cAAc,CAAC;QACjC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,wCAAwC;IACxC,8BAA8B;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,8BAA8B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAClE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,GAAG,GAAG,IAAI,CAAC;YACf,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,EAAE;gBAClD,IAAI,EAAE,IAAI,IAAI,EAAE;oBACd,IAAI,kBAAkB,GAAG,CAAC,CAAC;oBAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;oBACzB,2CAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,EAAE;wBAClD,IAAI,EAAE,IAAI,IAAI,EAAE;4BACd,GAAG,CAAC,yCAAyC,CAAC,EAAE,CAAC,CAAC;4BAClD,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;4BAC7F,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;yBACxF;oBACH,CAAC,CAAC,CAAC;oBACH,EAAE,CAAC,YAAY,GAAG,kBAAkB,CAAC;oBACrC,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;oBACnD,EAAE,CAAC,UAAU,GAAG,gBAAgB,CAAC;oBACjC,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC5D,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,CAAC,CAAC;YAE3C,IAAI,iBAAqB,CAAC;YAC1B,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEjD,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACpD,IAAI,YAAY,IAAI,IAAI,EAAE;oBACxB,IAAI,CAAC,YAAY,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC;iBACrD;gBACD,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,IAAI,UAAU,IAAI,IAAI,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC;iBACtD;gBACD,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAClD,IAAI,WAAW,IAAI,IAAI,EAAE;oBACvB,IAAI,CAAC,YAAY,CAAC,kBAAkB,IAAI,CAAC,WAAW,CAAC;iBACtD;gBACD,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACpD,IAAI,YAAY,IAAI,IAAI,EAAE;oBACxB,IAAI,CAAC,YAAY,CAAC,oBAAoB,IAAI,CAAC,YAAY,CAAC;iBACzD;aACF;YACD,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,yCAAyC,CAAC,EAAE;QAC1C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;YAChD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;oBAC5B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC9B,WAAW,GAAG,CAAC,CAAC;wBAChB,2CAAM,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,EAAE,KAAK;4BAC/C,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,EAAE;gCAC/B,eAAe,GAAG,CAAC,CAAC;6BACrB;4BACD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE;gCAC9C,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;6BACzC;wBACH,CAAC,CAAC,CAAC;qBACJ;yBACI;wBACH,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC;wBACrD,eAAe,GAAG,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC;qBACtD;oBACD,IAAI,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC;oBAClC,IAAI,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC;oBAC5D,4DAA4D;oBAC5D,IAAI,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC;oBAC5B,IAAI,GAAG,CAAC,mBAAmB,IAAI,IAAI,IAAI,GAAG,CAAC,mBAAmB,IAAI,SAAS,EAAE;wBAC3E,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;4BAC9B,IAAI,KAAK,CAAC,YAAY,CAAC,gBAAgB,IAAI,IAAI,EAAE;gCAC/C,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC;6BACpD;iCACI;gCACH,YAAY,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;6BAC7D;4BACD,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,EAAE;gCAE7C,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;6BAC/C;;gCAEC,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;yBAErC;6BACI;4BACH,YAAY,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;4BAC5D,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;yBACnC;qBACF;yBACI;wBACH,YAAY,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;qBAC7D;oBACD,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC9C,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACnG,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAC/F;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,EAAE,CAAC,yBAAyB,GAAG,QAAQ,CAAC;QACxC,IAAI,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,IAAI,IAAI,EAAE;YACjD,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACjC;aACI;YACH,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxF;QACD,IAAI,EAAE,CAAC,WAAW,GAAG,GAAG,EAAE;YACxB,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC;SACtB;QAED,EAAE,CAAC,YAAY,GAAG,iBAAiB,CAAC;QACpC,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB,IAAI,SAAS,EAAE;YAC7E,EAAE,CAAC,UAAU,GAAG,gBAAgB,CAAC;SAElC;aACI;YACH,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;SACtE;QAGD,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC;QAC/B,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE;SAErC;aACI;YACH,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;SACtD;QAGD,iBAAiB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAExD,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACjC,IAAI,iBAAiB,IAAI,CAAC,IAAI,iBAAiB,IAAI,IAAI,EAAE;YACvD,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC/B;aACI;YACH,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;YAC3F,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;SAC9C;QACD,IAAI,EAAE,CAAC,SAAS,GAAG,GAAG,EAAE;YACtB,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC;SACpB;IACH,CAAC;IAGD,uBAAuB,CAAC,sBAAsB;QAC5C,IAAI,CAAC,4BAA4B,GAAG,sBAAsB,CAAC;QAC3D,IAAG,IAAI,CAAC,4BAA4B,IAAE,QAAQ,EAC9C;YACE,IAAI,CAAC,gBAAgB,GAAC,KAAK,CAAC;SAC7B;aAED;YACE,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC;SAC5B;IAGL,CAAC;IAAA,CAAC;IACF,YAAY;QACV,IAAI,CAAC,4BAA4B,GAAG,QAAQ,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACtC,6BAA6B;IAC/B,CAAC;IAAA,CAAC;IACF,YAAY;QACV,IAAG,IAAI,CAAC,4BAA4B,IAAE,SAAS,IAAI,IAAI,CAAC,4BAA4B,IAAE,QAAQ;YAC9F,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACrE,CAAC;IACC,YAAY,CAAC,iBAAiB,EAAE,MAAc;QAC5C,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,YAAY,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;QACvD,IAAI,iBAAiB,IAAI,SAAS,EAAE;YAClC,YAAY,CAAC,EAAE,GAAG,iBAAiB,CAAC,EAAE;YACtC,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACnD,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI;oBACtB,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YACH,IAAI,YAAY,CAAC,gBAAgB,IAAI,SAAS,EAAE;gBAC9C,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,+DAA+D;gBAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC7D,yJAAyJ;oBACzJ,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1K,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7K,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7K,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxK;gBAED,eAAe;gBACf,IAAI,MAAM,IAAI,EAAE,EAAE;oBAChB,IAAI,MAAM,IAAI,cAAc,EAAE;wBAC5B,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,wBAAwB,CAAC,CAAC;qBACnb;yBACI,IAAI,MAAM,IAAI,oBAAoB,EAAE;wBACvC,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,8BAA8B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,8BAA8B,CAAC,CAAC;qBAC7a;yBACI,IAAI,MAAM,IAAI,qBAAqB,EAAE;wBACxC,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,+BAA+B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,+BAA+B,CAAC,CAAC;qBACpb;yBACI,IAAI,MAAM,IAAI,kBAAkB,EAAE;wBACrC,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,4BAA4B,CAAC,CAAC;qBAC3a;yBACI,IAAI,MAAM,IAAI,mBAAmB,EAAE;wBACtC,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,6BAA6B,CAAC,CAAC;qBACta;iBACF;qBACI;oBACH,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnI,IAAI,CAAC,YAAY,GAAG,uBAAuB,CAAC;iBAC7C;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC7D,yBAAyB;oBACzB,QAAQ,IAAI,CAAC,CAAC;oBACd,eAAe,CAAC,IAAI,CAAC;wBACnB,UAAU,EAAE,QAAQ;wBACpB,cAAc,EAAE,UAAU;wBAC1B,WAAW,EAAE,CAAC;wBACd,SAAS,EAAE,eAAe;wBAC1B,aAAa,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,SAAS,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;wBAC7K,SAAS,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO;wBACnD,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;wBACjD,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;wBACrD,oBAAoB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW;wBAClE,qBAAqB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY;wBACpE,kBAAkB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY;wBACjE,mBAAmB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU;wBAChE,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY;wBAC7D,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;wBAC7C,UAAU,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ;wBACrD,iBAAiB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB;qBACxE,CAAC,CAAC;oBAEH,0CAA0C;oBAC1C,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,SAAS,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;wBACxI,2EAA2E;wBAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE;4BAClF,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAEjQ,gCAAgC;wBAChC,IAAI,MAAM,IAAI,OAAO,EAAE;4BACrB,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBACzd;wBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpF,6EAA6E;4BAC7E,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;gCACtE,QAAQ,IAAI,CAAC,CAAC;gCACd,eAAe,CAAC,IAAI,CAAC;oCACnB,UAAU,EAAE,QAAQ;oCACpB,cAAc,EAAE,aAAa;oCAC7B,WAAW,EAAE,CAAC;oCACd,SAAS,EAAE,0BAA0B;oCACrC,iBAAiB,EAAE,IAAI;oCACvB,aAAa,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,SAAS,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;oCACxU,sBAAsB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,SAAS,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,SAAS,CAAC;oCACxT,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU;oCAChF,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;oCACjD,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;oCACrD,eAAe,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;oCAC3E,iBAAiB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI;oCAC/E,kBAAkB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,gBAAgB;oCAC5F,aAAa,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;oCAClF,sBAAsB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc;oCAC9F,SAAS,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO;oCAC1E,oBAAoB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;oCACzF,qBAAqB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY;oCAC3F,kBAAkB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY;oCACxF,mBAAmB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU;oCACvF,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY;oCACpF,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI;iCACrE,CAAC,CAAC;gCAEH,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,SAAS,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oCAC5K,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;wCACpG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCAElS,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCACtG,2EAA2E;wCAC3E,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;4CACxF,QAAQ,IAAI,CAAC,CAAC;4CACd,eAAe,CAAC,IAAI,CAAC;gDACnB,UAAU,EAAE,QAAQ;gDACpB,cAAc,EAAE,OAAO;gDACvB,WAAW,EAAE,CAAC;gDACd,SAAS,EAAE,wBAAwB;gDACnC,WAAW,EAAE,IAAI;gDACjB,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE;gDACjD,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;gDACrD,iBAAiB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY;gDAChE,SAAS,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;gDAChD,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO;gDACtD,eAAe,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;gDAC3E,iBAAiB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI;gDAC/E,kBAAkB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,gBAAgB;gDAC5F,SAAS,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO;gDAC5F,WAAW,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;gDAChG,UAAU,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ;gDAC9F,UAAU,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ;gDAC9F,WAAW,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;gDAChG,oBAAoB,EAAE,CAAC;gDACvB,qBAAqB,EAAE,CAAC;gDACxB,kBAAkB,EAAE,CAAC;gDACrB,mBAAmB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;6CACpO,CAAC,CAAC;yCACJ;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;gBAED,IAAI,MAAM,IAAI,OAAO,EAAE;oBACrB,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;iBAClJ;gBACD,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,gBAAgB;gBAGhE,IAAI,CAAC,uBAAuB,GAAG,eAAe,CAAC;gBAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,CAAC;gBAEzD,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,EAAE;oBACnD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;oBACrB,IAAI,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;oBAC9T,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE;wBACnG,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB;4BACtH,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;oBACzB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;iBACtU;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAC5D;oBACE,IAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,IAAE,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,GAAC,CAAC,EACvH;wBACE,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAC9E;4BACE,IAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,IAAE,SAAS;gCAC3D,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAE,SAAS;mCAC1D,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAE,SAAS;gCACjF,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAE,IAAI;gCACzE,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAE,EAAE,EACzE;gCACE,IAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAE,EAAE,EAC1E;oCACE,IAAI,GAAG,GAAC,KAAK,CAAC;oCACd,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EACtD;wCACE,IAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAChG;4CACE,GAAG,GAAC,IAAI,CAAC;4CACT,MAAM;yCACP;6CACG;4CAAC,GAAG,GAAE,KAAK,CAAC;yCAAC;qCACpB;oCACD,IAAG,CAAC,GAAG;wCACP,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;iCACrG;6BACA;yBAEF;qBACF;iBACJ;aAEF;SACF;IACH,CAAC;IACD,wBAAwB,CAAC,WAAmB,EAAE,UAAe,EAAE,aAAkB,EAAE,gBAAwB;QACzG,IAAI,WAAW,IAAI,aAAa,EAAE;YAChC,IAAI,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;YAClH,QAAQ,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC;YACrH,IAAI,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,aAAa,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC;YAC9H,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,eAAe,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAC/E,QAAQ,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,IAAI,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC,aAAa,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,gBAAgB,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;gBAC9P,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;oBACvC,eAAe,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC,aAAa,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,gBAAgB,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/T;SACF;aAAM;YACL,IAAI,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,aAAa,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,IAAI,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC;YACtM,WAAW,CAAC,SAAS,CAAC,IAAI,0BAA0B,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,0BAA0B,CAAC;YAC/J,IAAI,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,IAAI,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;YACxN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;gBACvC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,IAAI,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;SACxP;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,QAAQ;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1B,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACxD,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE;gBAC3J,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;QACH,0HAA0H;QAC1H,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC1D,IAAI,IAAI,IAAI,kBAAkB;oBAC5B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,mEAAmE,CAAC,CAAC;qBACrG;oBACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;iBAC/D;gBACD,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;gBACtO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC1C,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,qEAAqE,CAAC,CAAC;YAC5G,CAAC,CAAC;SACH;IACH,CAAC;IAED,WAAW,CAAC,QAAa;QACvB,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,mCAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACnD,mCAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,mBAAmB;QACjB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACxC,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAEhC,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,QAAQ,GAAG,KAAK,CAAC;SAClB;QACD,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,cAAc,GAAG,IAAI,CAAC;SACvB;aACI;YACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,IAAI,IAAI,cAAc,IAAI,KAAK,EAAE;YACjF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SAEnC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,KAAK,IAAI,cAAc,IAAI,KAAK,EAAE;YAClF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SACnC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,IAAI,IAAI,cAAc,IAAI,KAAK,EAAE;YACjF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAClC,sDAAsD;YACtD,wBAAwB;YACxB,2BAA2B;YAC3B,kCAAkC;YAClC,0BAA0B;YAC1B,IAAI;YACJ,6CAA6C;SAC9C;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,KAAK,IAAI,cAAc,IAAI,KAAK,EAAE;YAClF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,IAAI,IAAI,cAAc,IAAI,IAAI,EAAE;YAChF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,kBAAkB,CAAC,QAAa;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAE1D,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxP,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC9B,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/B,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC;QACjC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC/B,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC;QAClC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACxC,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,UAAU,IAAI;YAC/E,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;gBACrQ,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;gBAC7C,GAAG,CAAC,8BAA8B,EAAE,CAAC;aACtC;YACD,GAAG,CAAC,oBAAoB,EAAE,CAAC;YAC3B,mCAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;aAC7D;iBACI;gBACH,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;aAC7D;YACD,mCAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YACnD,mCAAC,CAAC,+BAA+B,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,mCAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,GAAG,CAAC,cAAc,EAAE,CAAC;QACvB,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,mCAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,mCAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7C,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,EAAE,QAAQ;YACnD,IAAI,QAAQ,KAAK,IAAI,EAAE;gBACrB,2CAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,QAAQ;oBAC9D,IAAI,QAAQ,IAAI,IAAI,EAAE;wBACpB,2CAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,IAAI,EAAE,KAAK;4BACnD,IAAI,KAAK,IAAI,IAAI,EAAE;gCACjB,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;oCAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,EAAE;wCACnF,mCAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;wCAC9C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;qCACvC;iCACF;6BACF;wBACH,CAAC,CAAC;qBACH;gBACH,CAAC,CAAC;aACH;QACH,CAAC,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC;QACxC,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,QAAQ;YACxD,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,2CAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,QAAQ;oBAC9D,IAAI,QAAQ,IAAI,IAAI,EAAE;wBACpB,IAAI,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;wBACzF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;yBAC1B;6BACI;4BACH,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;yBAC3B;qBACF;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,SAAS,GAAG,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;gBAChG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC1B,mCAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;iBACrH;qBACI;oBACH,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACzB,mCAAC,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC,YAAY,GAAG,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;iBACrH;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B,CAAC,KAAU;QACrC,IAAI,CAAC,sBAAsB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,sBAAsB,CAAC,UAAkB;QACvC,UAAU,GAAG,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,IAAI,UAAU,IAAI,EAAE,EAAE;YACpB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACpE,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnG,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnG,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACvF,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACtG,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACxG,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAClG,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACpG,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACrG,IAAI,CAAC,oCAAoC,CAAC,GAAG,EAAE,UAAU,CAAC,CAC3D,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;SACnC;aACI;YACH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACzD,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;SAClC;IACH,CAAC;IAED,oCAAoC,CAAC,GAAG,EAAE,UAAU;QAClD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,GAAG,CAAC,YAAY,IAAI,UAAU,EAAE;YAClC,IAAI,GAAG,CAAC,eAAe,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC5G,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAEhqB,UAAU,GAAG,IAAI,CAAC;oBACpB,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;wBACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;4BACnE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gCACxF,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK;gCAC3O,UAAU,GAAG,IAAI,CAAC;iBACzB;gBACD,OAAO,UAAU,CAAC;aACnB;;gBACC,OAAO,KAAK,CAAC;SAChB;aACI,IAAI,GAAG,CAAC,YAAY,IAAI,aAAa,EAAE;YAC1C,IAAI,GAAG,CAAC,oBAAoB,IAAI,SAAS,IAAI,GAAG,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE;oBACtD,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC3E,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK;wBACpM,UAAU,GAAG,IAAI,CAAC;gBACtB,OAAO,UAAU,CAAC;aACnB;;gBACC,OAAO,KAAK,CAAC;SAChB;;YACC,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,0BAA0B,CAAC,UAAkB;QAC3C,UAAU,GAAG,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,IAAI,UAAU,IAAI,EAAE,EAAE;YACpB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACpE,OAAO,CACL,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC7F,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnG,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACvF,CAAC,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACtG,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACxG,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAClG,CAAC,GAAG,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACpG,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,IAAI,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnJ,IAAI,CAAC,gCAAgC,CAAC,GAAG,EAAE,UAAU,CAAC,CACvD,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;SACnC;aACI;YACH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACzD,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;SAClC;IACH,CAAC;IAED,gCAAgC,CAAC,GAAG,EAAE,UAAU;QAC9C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,GAAG,CAAC,YAAY,IAAI,UAAU,EAAE;YAClC,IAAI,GAAG,CAAC,eAAe,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAK,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;wBAClP,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;wBAExtB,UAAU,GAAG,IAAI,CAAC;oBACpB,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;wBACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;4BACnE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gCAC5P,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK;gCACzP,UAAU,GAAG,IAAI,CAAC;iBACzB;gBACD,OAAO,UAAU,CAAC;aACnB;;gBACC,OAAO,KAAK,CAAC;SAChB;aACI,IAAI,GAAG,CAAC,YAAY,IAAI,aAAa,EAAE;YAC1C,IAAI,GAAG,CAAC,oBAAoB,IAAI,SAAS,IAAI,GAAG,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE;oBACtD,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAE,SAAS,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAE,IAAI,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;wBACjN,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAE,SAAS,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAE,IAAI,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK;wBACnU,UAAU,GAAG,IAAI,CAAC;gBACtB,OAAO,UAAU,CAAC;aACnB;;gBACC,OAAO,KAAK,CAAC;SAChB;;YACC,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,WAAW;QACT,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,eAAe,CAAC,WAAW;QACzB,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QACpG,IAAI,SAAS,GAAG,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,gBAAgB,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC1J,IAAI,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC1C,sDAAsD;QACtD,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,YAAY,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,SAAS,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAClH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,aAAa;QACrB,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,SAAS,GAAG,aAAa,CAAC,UAAU,CAAC;QACzC,IAAI,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC;QAC/C,IAAI,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,cAAa;QAC1D,IAAI,WAAW,GAAG,aAAa,CAAC,eAAe,CAAC,kBAAiB;QACjE,IAAI,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;QAC9C,IAAI,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC;QACtD,IAAI,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QAC9B,IAAI,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACpC,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;QAC1C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACzC,qCAAqC;YACrC,qDAAqD;SACtD;aACI;YACH,6BAA6B;YAC7B,2DAA2D;YAC3D,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;YACpF,uDAAuD;YACvD,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACjE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;YAC1D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAExC;IAEH,CAAC;IAED,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB;QAC3E,qBAAqB;QACrB,yBAAyB;QACzB,4BAA4B;QAC5B,+BAA+B;QAE/B,4BAA4B;QAC5B,sCAAsC;QACtC,8BAA8B;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,sCAAsC;QACtC,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,QAAQ,CAAC;QACvC,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,2BAA2B,GAAG,EAAE,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,4BAA4B;QAC5B,sCAAsC;QACtC,8BAA8B;QAE9B,IAAI,CAAC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,iBAAiB,CAAC,oBAAoB;QACpC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,mCAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACnD,mCAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,yBAAyB;QACvB,mCAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,IAAI,SAAS;YAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE;gBAC5E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEhF,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAU,IAAI;YACtE,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;YACxE,mCAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAEnD,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;YAC/M,IAAI,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,cAAc,IAAI,SAAS,IAAI,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBAC5a,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE;oBACrO,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;YAEhO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAExC,GAAG,CAAC,wBAAwB,EAAE,CAAC;YAE/B,sBAAsB;YACtB,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAEpE,sBAAsB;YACtB,IAAI,kBAAkB,GAAG;gBACvB,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,YAAY,EAAE,WAAW,CAAC,SAAS;gBACnC,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,YAAY,EAAE,WAAW,CAAC,YAAY;aACvC,CAAC;YAEF,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YACpE,IAAI,kBAAkB,GAAG;gBACvB,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,YAAY,EAAE,WAAW,CAAC,SAAS;gBACnC,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,YAAY,EAAE,CAAC;aAChB,CAAC;YACF,IAAI,kBAAkB,CAAC,QAAQ,IAAI,CAAC,EAAE;gBACpC,oDAAoD;gBACpD,mBAAmB;gBACnB,GAAG,CAAC,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;aAE3D;iBAAM;gBACL,oDAAoD;gBACpD,oBAAoB;gBACpB,GAAG,CAAC,mCAAmC,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;aAElE;QACH,CAAC,EACC,KAAK,CAAC,EAAE;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAEF,CAAC;QAGF,mGAAmG;QACnG,8CAA8C;QAC9C,IAAI;QACJ,kGAAkG;QAClG,6CAA6C;QAC7C,IAAI;QACJ,mGAAmG;QACnG,8CAA8C;QAC9C,IAAI;IAEN,CAAC;IAEO,mCAAmC,CAAC,GAAS,EAAE,eAAe;QAGpE,GAAG,CAAC,YAAY,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,UAAU,IAAS;YACxF,kEAAkE;YAClE,8DAA8D;YAC9D,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,qCAAqC;YACrC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACpC,GAAG,CAAC,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC;YACvD,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;YACvE,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErD,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,yBAAyB;IAC3B,CAAC;IAEO,4BAA4B,CAAC,GAAS,EAAE,eAAe;QAE7D,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,UAAU,IAAS;YAC5F,iCAAiC;YACjC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;YACjD,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC;YACxC,6CAA6C;YAC7C,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;YAC5C,GAAG,CAAC,WAAW,CAAC,iBAAiB,GAAG,YAAY,CAAC,aAAa,CAAC;YAC/D,GAAG,CAAC,WAAW,CAAC,SAAS,GAAG,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC;YACvF,GAAG,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExD,CAAC,EACC,KAAK,CAAC,EAAE;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;QACF,yBAAyB;IAC3B,CAAC;IAED,wBAAwB;QACtB,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,QAAQ;YACxD,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;gBAC7B,IAAI,kBAAkB,GAAG,CAAC,CAAC;gBAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;gBAEzB,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,EAAE;oBACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACnB,2CAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,QAAQ;wBAC9D,IAAI,QAAQ,IAAI,IAAI,EAAE;4BACpB,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;gCAC/B,IAAI,QAAQ,CAAC,MAAM,IAAI,UAAU,IAAI,QAAQ,CAAC,MAAM,IAAI,YAAY,EAAE;oCACpE,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;iCAC9F;gCACD,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gCACnG,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gCACpG,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gCACnG,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;6BAC9F;yBACF;oBACH,CAAC,CAAC,CAAC;oBACH,QAAQ,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,eAAc;oBAChE,yGAAyG;oBACzG,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAC7D,QAAQ,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,eAAc;oBACjE,+FAA+F;oBAC/F,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAC/D,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;oBAC/C,QAAQ,CAAC,YAAY,GAAG,kBAAkB,CAAC,eAAc;oBACzD,+FAA+F;oBAC/F,QAAQ,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAC/D,QAAQ,CAAC,UAAU,GAAG,gBAAgB,CAAC,eAAc;oBACrD,2FAA2F;oBAC3F,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;iBAC5D;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,eAAe,GAAG,iHAAiH,CAAC;SAC1I;aACI;YACH,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC3B;IACH,CAAC;IAED,YAAY;QACV,mCAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,mCAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,mCAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACxD,CAAC;IAED,oBAAoB;QAClB,mCAAC,CAAC,+BAA+B,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,mCAAC,CAAC,mCAAmC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,mCAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,mCAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACxD,CAAC;IAED,eAAe;QACb,IAAI,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAErD,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,YAAoB,EAAE,YAAoB,EAAE,QAAgB;QAC9E,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAC7F,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,YAAoB;QAC5C,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAC3E,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,WAAmB;QAClC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAEjE,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,YAAoB;QACjC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAEhE,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,WAAmB;QAC7B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAE5D,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,iBAAyB;QAC7C,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAE5E,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,iBAAyB;QACjD,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAEhF,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,eAAuB;QAC7C,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAE5E,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,qBAA6B;QACrD,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAEpF,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IA2ED,WAAW,CAAC,GAAG,EAAE,GAAG;QAClB,IAAI,IAAI,GAAG,6CAAQ,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;YACtC,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IA+ED,qBAAqB,CAAC,KAAK;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,sBAAsB,GAAG;YAC3B,aAAa,EAAE,EAAE;YACjB,gBAAgB,EAAE,EAAE;YACpB,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,EAAE;SAEX,CAAC;QACF,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE;YAC5B,sBAAsB,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC;YACtE,sBAAsB,CAAC,IAAI,GAAG,KAAK,CAAC;YACpC,sBAAsB,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAC5E,sBAAsB,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YACpD,sBAAsB,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;YAC1D,sBAAsB,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;YACtD,sBAAsB,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC;YACtE,sBAAsB,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;YAC9D,sBAAsB,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;YAChE,sBAAsB,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;YAChE,sBAAsB,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC/C,sBAAsB,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC7C,sBAAsB,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;YAClE,sBAAsB,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC7C,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;YAE3B,IAAI,OAAO,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,EAAE;gBAC3C,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;aACvC;YACD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE,KAAK;gBAC9C,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,EAAE;oBACzC,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,QAAQ,EAAE,KAAK;gBAClD,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,EAAE;oBACzC,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;YACH,sBAAsB,CAAC,cAAc,GAAG,eAAe,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACnD;QACD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,EAAE,QAAQ;gBAC9C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,EAAE,KAAK;oBAC5C,MAAM,GAAG,KAAK,CAAC;gBACjB,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;oBAE/B,IAAI,sBAAsB,GAAG;wBAC3B,aAAa,EAAE,EAAE;wBACjB,gBAAgB,EAAE,EAAE;wBACpB,IAAI,EAAE,CAAC;wBACP,OAAO,EAAE,CAAC;wBACV,KAAK,EAAE,CAAC;wBACR,aAAa,EAAE,CAAC;wBAChB,SAAS,EAAE,CAAC;wBACZ,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,CAAC;wBACb,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE,EAAE;wBACX,MAAM,EAAE,EAAE;wBACV,cAAc,EAAE,EAAE;wBAClB,WAAW,EAAE,CAAC;wBACd,MAAM,EAAE,EAAE;wBACV,YAAY,EAAE,EAAE;qBACjB,CAAC;oBACF,IAAI,eAAe,GAAG,CAAC,CAAC;oBACxB,sBAAsB,CAAC,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;oBACzE,sBAAsB,CAAC,IAAI,GAAG,KAAK,CAAC;oBACpC,sBAAsB,CAAC,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAC/E,sBAAsB,CAAC,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;oBACvD,sBAAsB,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC7D,sBAAsB,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;oBACzD,sBAAsB,CAAC,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC;oBACzE,sBAAsB,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;oBACjE,sBAAsB,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;oBACnE,sBAAsB,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;oBACnE,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;oBACrE,sBAAsB,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAClD,sBAAsB,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAChD,sBAAsB,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAChD,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;oBACnD,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,EAAE;wBAC5C,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;qBACvC;oBACD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,EAAE,KAAK;wBAC5C,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,EAAE;4BACzC,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;yBACvC;oBACH,CAAC,CAAC,CAAC;oBACH,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,QAAQ,EAAE,KAAK;wBACpE,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,EAAE;4BACzC,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;yBACvC;oBACH,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,sBAAsB,CAAC,cAAc,GAAG,eAAe,CAAC;oBAC7D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;iBACnD;YAEH,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,gCAAgC;iBACjC;aACF;SACF;QAED,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,QAAQ,EAAE,OAAO;gBACpD,IAAI,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE;oBAC9B,IAAI,sBAAsB,GAAG;wBAC3B,aAAa,EAAE,EAAE;wBACjB,gBAAgB,EAAE,EAAE;wBACpB,IAAI,EAAE,CAAC;wBACP,OAAO,EAAE,CAAC;wBACV,KAAK,EAAE,CAAC;wBACR,aAAa,EAAE,CAAC;wBAChB,SAAS,EAAE,CAAC;wBACZ,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,CAAC;wBACb,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE,EAAE;wBACX,MAAM,EAAE,EAAE;wBACV,cAAc,EAAE,EAAE;wBAClB,WAAW,EAAE,CAAC;wBACd,MAAM,EAAE,EAAE;wBACV,YAAY,EAAE,EAAE;qBACjB,CAAC;oBACF,sBAAsB,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;oBACxE,sBAAsB,CAAC,IAAI,GAAG,IAAI,CAAC;oBACnC,sBAAsB,CAAC,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAC9E,sBAAsB,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;oBACtD,sBAAsB,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC5D,sBAAsB,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;oBACxD,sBAAsB,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;oBACxE,sBAAsB,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;oBAChE,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;oBAClE,sBAAsB,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;oBAClE,sBAAsB,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;oBACpE,sBAAsB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;oBAC/C,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;oBACnD,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;iBACtD;YACH,CAAC,CAAC,CAAC;SAEJ;IAGH,CAAC;IAED,KAAK,CAAC,KAAK,EAAE,MAAM;QACjB,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE;YAC1B,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;SACnC;aACI;YACH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,EAAE,KAAK;gBACzC,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE;oBAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;iBAAE;qBAC7D;oBACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBAC3B;YACH,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED,OAAO,CAAC,CAAC,EAAE,CAAC;QAEV,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC3F,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC3F,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,EAAE;YACtC,IAAI,MAAM,GAAG,MAAM,EAAE;gBACnB,UAAU,GAAG,CAAC,CAAC;aAChB;iBAAM,IAAI,MAAM,GAAG,MAAM,EAAE;gBAC1B,UAAU,GAAG,CAAC,CAAC,CAAC;aACjB;SACF;QACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE;YACpC,IAAI,MAAM,GAAG,MAAM,EAAE;gBACnB,UAAU,GAAG,CAAC,CAAC;aAChB;iBAAM,IAAI,MAAM,GAAG,MAAM,EAAE;gBAC1B,UAAU,GAAG,CAAC,CAAC,CAAC;aACjB;SACF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,qBAAqB;QACnB,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,KAAK,EAAE;YAC1E,4DAA4D;YAC5D,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ;SACtD;QAED,QAAQ,CAAC,QAAQ,GAAG,sBAAsB,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,KAAK;QACf,KAAK,GAAG,CAAC,KAAK,CAAC;QACf,IAAI,KAAK,CAAC,KAAK,CAAC;YACd,OAAO,GAAG,CAAC;QACb,QAAQ;QACR,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,aAAa;QACb,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,WAAW;QACT,mCAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IACD,iBAAiB;QACf,mCAAC,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAClD,mCAAC,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAC,aAAa;QAC5B,mCAAC,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI;gBAChE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC;YAC/E,IAAI,KAAK,CAAC,aAAa,IAAI,aAAa,CAAC,aAAa,EAAE;gBACtD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;gBACrC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI;gBACjC,sCAAsC;gBACtC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK;gBACrC,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC,aAAa;gBACxD,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,aAAa;gBACzE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC;gBACvC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvD,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;QACH,CAAC,CACA;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;QACvF,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,cAAc,CAAC,WAAW;QACxB,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAClI,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,IAAI,QAAQ,GAAG,EAAE;gBACjB,QAAQ,GAAG,mCAAmC,CAAC;aAChD;iBACI,IAAI,IAAI,IAAI,IAAI,EAAE;gBACrB,IAAI,IAAS,CAAC;gBACd,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,SAAS;oBAC5C,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACpC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;aACnE;QACH,CAAC,EAAE,KAAK,CAAC,EAAE;QACX,CAAC,CACA;IAEH,CAAC;;0EAjhEU,aAAa;6FAAb,aAAa;;QCf1B,yEAAwB;QACpB,yEAA4C;QACxC,yEAAmE;QAC/D,yEAA8B;QAC1B,yEAAyB;QACrB,uEAAuD;QAAA,qEAAU;QAAA,4DAAI;QACrE,uEAA+D;QAAA,+EAAoB;QAAA,4DAAI;QAC3F,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,yEAAuE;QACnE,0EAAoE;QAChE,gFACwG;QAD/D,mRAAS,qCAAwC,IAAC,+EAC7E,iBAAa,IADgE;QAA3F,4DACwG;QAC5G,4DAAM;QAEN,2EAA0D;QACtD,yEAAkQ;QAAA,sEAAmD;QAAA,wEAAM;QAAA,kEAAM;QAAA,4DAAO;QAAA,4DAAI;QAC5U,2EAAsG;QAClG,2EAAmE;QAC/D,0EAA2B;QAAA,kEAAM;QAAA,4DAAK;QACtC,yEAAgE;QAAA,4EACxC;QAAA,iEAAK;QAAA,4DAAO;QAAA,4DAAI;QAC5C,4DAAM;QACN,4EAAsC;QAClC,2EAAiB;QAEb,2EAAmB;QACf,2EAAwB;QACpB,6EAA0B;QAAA,iEAAK;QAAA,4DAAQ;QASvC,8EAAgL;QAAnJ,yMAA0C,gFAAiD,6DAAqD,IAAtG;QACvE,kHAES;QACb,4DAAS;QACT,4DAAM;QACV,4DAAM;QAGV,4DAAM;QACN,2EAA4E;QACxE,8EAAkF;QAA1B,sIAAS,kBAAc,IAAC;QAAE,iEAAK;QAAA,4DAAS;QAChG,8EAAsG;QAA1B,sIAAS,kBAAc,IAAC;QAAE,iEAAK;QAAA,4DAAS;QACxH,4DAAM;QACV,4DAAO;QACX,4DAAM;QACV,4DAAM;QAcN,yEAGuE;QAHpE,uKAAoC;QAGgC,sEAC/C;QAAA,wEAAM;QAAA,wDAAgD;QAAA,4DAAO;QAAA,4DAAI;QACzF,wGAGyB;QACzB,2EAAiD;QAK7C,2EAAqE;QACjE,2EAAmE;QAC/D,0EAA2B;QAAA,kEAAM;QAAA,4DAAK;QACtC,yEAAgE;QAAA,4EACxC;QAAA,iEAAK;QAAA,4DAAO;QAAA,4DAAI;QAC5C,4DAAM;QACN,4EAAsC;QAClC,2EAAiB;QACb,2EAAoB;QAChB,2EAAwB;QACpB,6EAA0B;QAAA,iEAAK;QAAA,4DAAQ;QACvC,8EAA6B;QACzB,0EAAQ;QAAA,kEAAM;QAAA,4DAAS;QAC3B,4DAAS;QACb,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,2EAAuE;QACnE,8EAAwD;QAAA,qEAAS;QAAA,4DAAS;QAC1E,8EAA8C;QAAA,iEAAK;QAAA,4DAAS;QAChE,4DAAM;QACV,4DAAO;QACX,4DAAM;QACV,4DAAM;QACN,yEACyB;QADwB,iIAAS,iBAAa,IAAC;QAC/C,sEAA4C;QAAA,4EAAsB;QAAA,yEAC7E;QAAA,4DAAO;QAAA,4DAAI;QAC7B,4DAAM;QACV,4DAAM;QACN,yEACyB;QADqB,iIAAS,uBAAmB,IAAC;QAClD,sEAA0C;QAAA,4EAAsB;QAAA,yEAAa;QAAA,4DAAO;QAAA,4DAAI;QACrH,4DAAM;QAGN,2EAAgE;QAE5D,2EAA2F;QACvF,uEAAK;QAAA,sFAA0B;QAAA,4DAAM;QACrC,yEAAqF;QACzF,4DAAM;QACN,2EAA2C;QACvC,2EAAsB;QAElB,2EAA6F;QACzF,yEACgC;QADqB,uKAAoC;QACzD,4EAAwB;QAAA,0EAAc;QAAA,4DAAO;QAAA,4DAAI;QACjF,2EAAiC;QAC7B,yEAA2L;QAA1G,gKAAoC,EAAE,iCAA6B,MAAM,iCAA6B,EAAE,IAAC;QAEtL,wEAAM;QAAA,wDAAiB;QAAA,4DAAO;QAClC,4DAAI;QACJ,uEAA8D;QAC1D,2EAA0B;QACtB,sEAAI;QACA,sEAAI;QACA,sEAAI;QACA,0GASK;QACT,4DAAK;QACT,4DAAK;QACT,4DAAK;QACT,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEV,4DAAM;QAGN,2EAAqC;QACjC,2EAAgD;QAC5C,2EAA4C;QACxC,4GAAwE;QACxE,2EAA4B;QAAA,2EAAe;QAAA,2EAAQ;QAAA,yDAAkC;;QAAA,4DAAS;QAAA,4DAAM;QACxG,4DAAM;QACN,4EAA8E;QAC1E,4EAA2B;QACvB,4EAA4B;QACxB,4EAAyB;QACrB,4EAAyB;QACrB,2EAAuB;QAAA,+FAAkC;QAAA,4DAAK;QAClE,4DAAM;QACN,4EAAwC;QACpC,sFAAiD;QACrD,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,4EAA4B;QACxB,4EAAkB;QACd,4EAAyB;QACrB,2EAAuB;QAAA,+FAAkC;QAAA,4DAAK;QAClE,4DAAM;QACN,4EAAwC;QACpC,sFAAiD;QACrD,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,4EAA4B;QACxB,4EAAkB;QACd,4EAAyB;QACrB,2EAAuB;QAAA,kFAAqB;QAAA,4DAAK;QACrD,4DAAM;QACN,4EAAuB;QACnB,gFAAqC;QACrC,mFAA2C;QAC/C,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,4EAAyB;QACrB,4EAA8B;QAC1B,8EAAwE;QACpE,0EAAO;QACH,uEAAI;QACA,2EAA4B;QAAA,0EAE4D;QADhF,kIAAS,oCAA4B,cAAc,CAAC,IAAC;QAC2B,uEAAU;QAAA,kEAAM;QAChG,2EAAa;QAAA,4DAAI;QAAA,4DAAK;QAC9B,2EAAgB;QAAA,0EAEoD;QAA5D,kIAAS,oCAA4B,oBAAoB,CAAC,IAAC;QAAC,qEAC5D;QAAA,kEAAM;QAAC,yEACH;QAAA,4DAAI;QAAA,4DAAK;QACrB,2EAAgB;QAAA,0EAEqD;QAA7D,kIAAS,oCAA4B,qBAAqB,CAAC,IAAC;QAAC,qEAC7D;QAAA,kEAAM;QACN,yEAAW;QAAA,4DAAI;QAAA,4DAAK;QAC5B,2EAAgB;QAAA,0EAEkD;QAA1D,kIAAS,oCAA4B,kBAAkB,CAAC,IAAC;QAAC,qEAC1D;QAAA,kEAAM;QAAC,sEACJ;QAAA,4DAAI;QAAA,4DAAK;QACpB,2EAAgB;QAAA,0EAEmD;QAA3D,kIAAS,oCAA4B,mBAAmB,CAAC,IAAC;QAAC,qEAC3D;QAAA,kEAAM;QAAC,wEACJ;QAAA,4DAAI;QAAA,4DAAK;QACpB,2EAAgB;QAAA,0EAEuC;QAA/C,kIAAS,oCAA4B,OAAO,CAAC,IAAC;QAAC,kEAAK;QAAA,4DAAI;QAAA,4DAAK;QACrE,4GAGK;QACT,4DAAK;QACT,4DAAQ;QACR,0EAAO;QACH,gIAqEe;;QACnB,4DAAQ;QACZ,4DAAQ;QACZ,4DAAM;QACV,4DAAM;QACN,kEAAI;QACJ,4EAA2B;QACvB,4FAAwF;QAAnE,gMAAmC;QACxD,4DAAsB;QACtB,+EAAwD;QAAhD,+IAAU,wCAAoC,IAAC;QACnD,+EAAmB;QAAA,oEAAO;QAAA,4DAAS;QACnC,+EAAmB;QAAA,oEAAO;QAAA,4DAAS;QACnC,+EAA4B;QAAA,oEAAO;QAAA,4DAAS;QAC5C,+EAAoB;QAAA,qEAAQ;QAAA,4DAAS;QACzC,4DAAS;QACb,4DAAM;QACV,4DAAM;QACV,4DAAM;QAYV,4DAAM;QAIN,4EAC0D;QACtD,4EAAwE;QACpE,4EAA2B;QACvB,4EAA0B;QACtB,2EAA8C;QAAA,+EAAkB;QAAA,4DAAK;QACrE,+EAA4E;QACxE,6EAAyB;QAAA,mEAAM;QAAA,4DAAO;QAC1C,4DAAS;QACb,4DAAM;QACN,4EAAwB;QACpB,4EAAyB;QACrB,uEAA+E;QAC/E,0EAAgB;QAAA,8GAAiD;QAAA,4DAAI;QACrE,4EAAyB;QACrB,+EAAqE;QAAA,mEAAM;QAAA,4DAAS;QACpF,+EAC0C;QAAtC,uIAAS,+BAA2B,IAAC;QAAC,mEAAM;QAAA,4DAAS;QAC7D,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAIN,4EACgE;QAC5D,4EAAwE;QACpE,4EAA2B;QACvB,4EAA0B;QACtB,4EAAoD;QAAA,yEAAY;QAAA,4DAAK;QACrE,+EAA4E;QACxE,6EAAyB;QAAA,mEAAM;QAAA,4DAAO;QAC1C,4DAAS;QACb,4DAAM;QACN,4EAAwB;QACpB,4EAAyB;QACrB,uEAA+E;QAC/E,0EAAgB;QAAA,wGAA2C;QAAA,4DAAI;QAC/D,4EAAyB;QACrB,+EAAqE;QAAA,mEAAM;QAAA,4DAAS;QACpF,+EACoC;QAAhC,uIAAS,yBAAqB,IAAC;QAAC,mEAAM;QAAA,4DAAS;QACvD,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,8EAAiC;QApRrC,4DAAgE;;QA9EC,2DAA0C;QAA1C,qGAA0C;QAC3C,0DAAqB;QAArB,2FAAqB;QAWX,0DAA6B;QAA7B,0FAA6B;QAoBvF,0DAAwD;QAAxD,8HAAwD;QAFpB,4JAAuC;QAIjD,0DAAgD;QAAhD,iHAAgD;QAC1E,0DAAkC;QAAlC,+FAAkC;QAoDM,2DAAgD;QAAhD,qKAAgD;QAM1E,0DAAiB;QAAjB,kFAAiB;QAEtB,0DAAwD;QAAxD,8HAAwD;QAKlB,0DAAmB;QAAnB,yFAAmB;QAwBlC,0DAAmB;QAAnB,mFAAmB;QACI,0DAAkC;QAAlC,iKAAkC;QAEnC,0DAAuB;QAAvB,oFAAuB;QA0CjD,2DAA+E;QAA/E,qJAA+E;QAG/E,0DAAqF;QAArF,2JAAqF;QAKrF,0DAAsF;QAAtF,4JAAsF;QAKtF,0DAAmF;QAAnF,yJAAmF;QAKnF,0DAAoF;QAApF,0JAAoF;QAKpF,0DAAwE;QAAxE,8IAAwE;QAE3E,0DAAkC;QAAlC,+FAAkC;QAQvB,0DAAyG;QAAzG,yRAAyG;;;;;;;;;;;;;ACjP7J,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;;;;;;;;ACKO,MAAM,gBAAgB;IACzB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAEpC,CAAC;IAED,eAAe,CAAC,QAAQ;QACpB,OAAO,QAAQ,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,WAAW,CAAI,cAAsB,EAAE,YAAoB;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,cAAc,GAAG,0CAA0C,GAAG,YAAY,CAAC,CAAC;IACtG,CAAC;;gFAfM,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBADH,MAAM;;;;;;;;;;;;;ACEhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;;;;;;;;;ICeX,2EAAuD;IAAA,4GACxC;IAAA,4DAAO;;;IAUtB,2EAAgE;IAAA,6GACzC;IAAA,4DAAO;;;IAQ1B,6EAAqE;IAAA,uDAAa;IAAA,4DAAS;;;IAAxC,6EAAiB;IAAC,0DAAa;IAAb,6EAAa;;;IASlF,6EAAiE;IAAA,uDAAa;IAAA,4DAAS;;;IAAxC,6EAAiB;IAAC,0DAAa;IAAb,6EAAa;;ADrCnG,MAAM,uBAAuB;IAsClC,YAAmB,YAA0B,EAAS,MAAc,EAAS,WAAwB;QAAlF,iBAAY,GAAZ,YAAY,CAAc;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,gBAAW,GAAX,WAAW,CAAa;QAnCrG,0BAA0B;QACnB,oBAAe,GAAQ,EAAE,CAAC;QAE1B,4BAAuB,GAAQ,EAAE,CAAC;QAClC,oBAAe,GAAQ,EAAE,CAAC;QAS1B,uBAAkB,GAAW,EAAE,CAAC;QAChC,qBAAgB,GAAY,IAAI,CAAC;QACjC,eAAU,GAAY,IAAI,CAAC;QAC3B,+BAA0B,GAAY,KAAK,CAAC;QAC5C,gBAAW,GAAQ;YACxB,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,mBAAmB,EAAE,EAAE;YACvB,WAAW,EAAE,EAAE;SAChB;QAID,oBAAoB;QACb,kBAAa,GAAG,EAAE,CAAC;QACnB,qBAAgB,GAAG,EAAE,CAAC;QACtB,gBAAW,GAAQ,EAAE,CAAC;IAK4E,CAAC;IAE1G,QAAQ;QACN,IAAG,IAAI,CAAC,YAAY,CAAC,WAAW,IAAE,SAAS,EACzC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;SAC9C;aACG;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACzE;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE;YAC/F,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;YAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAE3B;aACI;YACH,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACjD,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvC,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACvE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAEtE,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC1I,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC,CAAC;YAEF,gBAAgB;YAEhB,IAAI,CAAC,gBAAgB,GAAG;gBACtB,eAAe,EAAE,KAAK;gBACtB,IAAI,EAAE,QAAQ;gBACd,aAAa,EAAE,YAAY;gBAC3B,eAAe,EAAE,cAAc;gBAC/B,kBAAkB,EAAE,IAAI;gBACxB,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,GAAG;aACf,CAAC;YAEF,2BAA2B;YAC3B,uCAAuC;YACvC,uCAAuC;YACvC,oCAAoC;YACpC,wCAAwC;YACxC,KAAK;SACN;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,uBAAuB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oOAAoO;IACpO,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE;YACjC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;SACzE;aACI;YACH,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC5E;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QAE1C,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC9D,IAAI,KAAK,IAAI,CAAC;gBACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;;gBAE7D,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;SACxE;QACD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,SAAS,EAAE;YAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SACxE;aACI;YACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QACD,oDAAoD;QACpD,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;YACxD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SACrB;QACD,oDAAoD;QAEpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,cAAc,EAAE,IAAI,CAAC,YAAY;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,aAAa,EAAE,IAAI,CAAC,WAAW;YAC/B,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW;YAChC,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW;YAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;YACzC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB;YACzC,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,YAAY,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QAC7D,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/C,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACzD,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;SACxD;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;SACjE;QAED,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACxE,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,oBAAoB;gBACpB,2EAA2E;gBAC3E,IAAI;gBACJ,SAAS;gBACT,6EAA6E;gBAE7E,6BAA6B;gBAC7B,gCAAgC;gBAChC,4BAA4B;gBAC5B,2BAA2B;gBAC3B,2CAA2C;gBAC3C,0BAA0B;gBAC1B,wEAAwE;gBACxE,kCAAkC;gBAClC,MAAM;gBACN,8BAA8B;gBAC9B,KAAK;gBACL,0BAA0B;gBAC1B,oBAAoB;gBACpB,8DAA8D;gBAC9D,kEAAkE;gBAClE,sBAAsB;gBACtB,sBAAsB;gBACtB,IAAI;gBACJ,wCAAwC;gBACxC,gBAAgB;gBAChB,oCAAoC;gBACpC,qEAAqE;gBACrE,8BAA8B;gBAC9B,uEAAuE;gBACvE,+CAA+C;gBAC/C,gDAAgD;gBAChD,8BAA8B;gBAC9B,wBAAwB;gBACxB,sBAAsB;gBACtB,2BAA2B;gBAC3B,0DAA0D;gBAC1D,uBAAuB;gBACvB,MAAM;gBACN,gDAAgD;gBAChD,qEAAqE;gBACrE,+BAA+B;gBAC/B,sCAAsC;gBACtC,0CAA0C;gBAC1C,oDAAoD;gBACpD,8BAA8B;gBAC9B,uCAAuC;gBACvC,GAAG;aACJ;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;YACvD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,wBAAwB,IAAI,SAAS,EAAE;YAC9H,IAAI,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,aAAa,CAAC,CAAC;YAC3E,IAAI,CAAC,wBAAwB,GAAG,wDAAS,CAAC,YAAY,CAAC,CAAC;YACxD,IAAI,CAAC,YAAY,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;SACnF;QAED,uDAAuD;QACvD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1E,IAAI,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC5E,WAAW,GAAG,IAAI,CAAC;SACtB;QACD,IAAI,WAAW;YACb,kBAAkB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;;YAEvC,oBAAoB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3C,GAAG;QACH,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChM,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,CAAC,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5M,IAAI,kBAAkB,IAAI,EAAE,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,qCAAqC,GAAG,kBAAkB,CAAC;SAC/F;QACD,IAAI,oBAAoB,IAAI,EAAE,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,yCAAyC,GAAG,oBAAoB,CAAC,CAAC;SACxG;IACH,CAAC;IAED,sBAAsB;QACpB,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YACvE,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,QAAQ;YAC/J,IAAI,CAAC,WAAW,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,QAAQ;eACrE,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACrE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,OAAO,IAAI,CAAC,UAAU,CAAC;SACxB;;YAEC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC;IAEzB,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,sBAAsB,EAAE,IAAI,KAAK,EAAE;YAC1C,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;;YAEC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,IAAS;QACpB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,IAAS;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAE/B,CAAC;IACD,WAAW,CAAC,KAAU;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IACD,aAAa,CAAC,KAAU;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;;8FAjTU,uBAAuB;uGAAvB,uBAAuB;QCZpC,yEAAgE;QAC5D,yEAA2B;QACvB,yEAAwE;QACpE,yEAAwD;QACpD,uEACsB;QAAA,oEAA8D;QAAA,4DAAI;QACxF,wEAAgB;QAAA,uDAAiC;QAAA,4DAAK;QAC1D,4DAAM;QACV,4DAAM;QACN,yEAAwC;QACpC,yEAA0B;QAAA,4EAAgB;QAAA,4DAAM;QAChD,0EAAoC;QAChC,2EAAqC;QACjC,2EAAwB;QACpB,6EAAuC;QAAA,gEAAI;QAAA,4DAAQ;QACnD,iFAE6C;QADV,0LAAkB,yFAAW,4BAAwB,IAAnC;QADrD,4DAE6C;QAC7C,4EAAqD;QAAA,gHACtC;QAAA,4DAAO;QACtB,wHACsB;QAE1B,4DAAM;QACV,4DAAM;QACN,2EAAoB;QAChB,2EAAwB;QACpB,6EAAuC;QAAA,uEAAW;QAAA,4DAAQ;QAC1D,oFAE0C;QAFsB,oMAAyB,4FAC3D,4BAAwB,IADmC;QAE/C,4DAAW;QACrD,wHAC8B;QAClC,4DAAM;QACV,4DAAM;QACN,2EAAqC;QACjC,2EAAwB;QACpB,6EAAuC;QAAA,yEAAa;QAAA,4DAAQ;QAC5D,8EAA2F;QAA9D,kMAAyB,0FAAW,4BAAwB,IAAnC;QAClD,8EAAiD;QAAA,kEAAM;QAAA,4DAAS;QAChE,4HAA2F;QAC/F,4DAAS;QACb,4DAAM;QACV,4DAAM;QACN,2EAAqC;QACjC,2EAAwB;QACpB,6EAAuC;QAAA,gFAAoB;QAAA,4DAAQ;QACnE,8EAA2F;QAA9D,kMAAyB,0FAAW,4BAAwB,IAAnC;QAClD,8EAAiD;QAAA,kEAAM;QAAA,4DAAS;QAChE,4HAAuF;QAC3F,4DAAS;QACb,4DAAM;QACV,4DAAM;QACN,2EAAqC;QACjC,2EAAwB;QACpB,6EAAuC;QAAA,2EAAe;QAAA,4DAAQ;QAM9D,4FAG4C;QAHW,kNAA2B,kHACnC,wBAAoB,IADe,sHAEhE,0BAAsB,IAF0C,wHAEzB,uBAAmB,IAFM,4HAG7D,yBAAqB,IAHwC;QAGtC,4DAAuB;QACvE,4DAAM;QACV,4DAAM;QACN,2EAAqC;QACjC,2EAAwB;QACpB,6EAAuC;QAAA,2EAAe;QAAA,4DAAQ;QAC9D,2EAAyB;QACrB,6EAA0B;QACtB,6EACiC;QADV,iMAAgD;QAAvE,4DACiC;QACjC,mEAAa;QACjB,4DAAQ;QACZ,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,2EAAwD;QACpD,8EAA+E;QAAA,kEAAM;QAAA,4DAAS;QAC9F,8EAEyB;QAArB,gJAAS,cAAU,IAAC;QAAC,+DAAG;QAAA,4DAAS;QACzC,4DAAM;QA2FV,4DAAM;QACV,4DAAM;QACV,4DAAM;;;;QA5K0B,0DAAiC;QAAjC,iHAAiC;QAUN,0DAAkB;QAAlB,6EAAkB;QAI3B,0DAA2B;QAA3B,gHAA2B;QAQW,0DAAyB;QAAzB,oFAAyB;QAG/D,0DAAoC;QAApC,kHAAoC;QAOjC,0DAAyB;QAAzB,oFAAyB;QAC1C,0DAAqB;QAArB,8EAAqB;QACJ,0DAAwB;QAAxB,8FAAwB;QAOxB,0DAAyB;QAAzB,oFAAyB;QAC1C,0DAAqB;QAArB,8EAAqB;QACJ,0DAAoB;QAApB,0FAAoB;QAY3B,0DAAgC;QAAhC,6FAAgC;QAY1C,0DAA4B;QAA5B,yFAA4B;QAU5C,0DAAgF;QAAhF,8LAAgF;;;;;;;;;;;;;;;;;;;;;;AC/EpG,mBAAmB;AAGZ,MAAM,eAAe;IAI1B,YAAoB,IAAgB,EAAU,SAA2B;QAArD,SAAI,GAAJ,IAAI,CAAY;QAAU,cAAS,GAAT,SAAS,CAAkB;QACvE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAC7D,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW;YACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;;YAEpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IACvD,CAAC;IAGD,gCAAgC;IAChC,8BAA8B,CAAI,YAAoB;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,qCAAqC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,sBAAsB,CAAI,SAAiB,EAAE,OAAe;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,uCAAuC,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IACtH,CAAC;IACD,uBAAuB,CAAI,SAAiB,EAAE,OAAe;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,wCAAwC,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IACvH,CAAC;IACD,qBAAqB,CAAI,SAAiB,EAAE,OAAe;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,sCAAsC,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IACrH,CAAC;IACD,4BAA4B,CAAI,SAAiB,EAAE,OAAe;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,6CAA6C,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IAC5H,CAAC;IACD,6BAA6B,CAAI,SAAiB,EAAE,OAAe;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,8CAA8C,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IAC7H,CAAC;IACD,4BAA4B,CAAI,SAAiB,EAAE,OAAe;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,6CAA6C,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IAC5H,CAAC;IACD,8BAA8B,CAAI,SAAiB,EAAE,OAAe;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,+CAA+C,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IAC9H,CAAC;;8EAtCU,eAAe;kGAAf,eAAe,WAAf,eAAe;;;;;;;;;;;;;ACR5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yCAAyC;AACiD;AAK9D;;;;;;;;;IC4BlB,uEAA8F;IAAA,uDAA+B;IAAA,4DAAO;;;IAAtC,0DAA+B;IAA/B,mGAA+B;;;IAC7H,uEAAsG;IAAA,uDAAmC;IAAA,4DAAO;;;IAA1C,0DAAmC;IAAnC,uGAAmC;;;IACzI,uEAAgG;IAAA,uDAAgC;IAAA,4DAAO;;;IAAvC,0DAAgC;IAAhC,oGAAgC;;;IAChI,uEAA8F;IAAA,uDAA+B;IAAA,4DAAO;;;IAAtC,0DAA+B;IAA/B,mGAA+B;;;IAwB/F,yEAA8D;IAAA,uDAAuB;IAAA,4DAAK;;;IAA5B,0DAAuB;IAAvB,gGAAuB;;;;IAJjG,wEAA6M;IACzM,uEAAM;IACF,2EAAwH;IAAlH,0ZAA+D,IAAI,2CAAkC,UAAU,KAAE;IACnH,uDACA;IAAA,0HAA0F;IAC9F,4DAAO;IACX,4DAAO;IACX,4DAAK;;;IAPyE,sMAA6H;IAG/L,0DACA;IADA,gGACA;IAAK,0DAAiC;IAAjC,kGAAiC;;;IAQtC,yEAA6D;IAAA,uDAAsB;IAAA,4DAAK;;;IAA3B,0DAAsB;IAAtB,gGAAsB;;;IASvE,yEAA6F;IAAA,mEAAQ;IAAA,4DAAK;;;;IAJtH,wEAAyL;IACrL,uEAAM;IACF,2EAA6F;IAAvF,qgBAAgE,IAAI,iBAAW,KAAK,KAAE;IACxF,uDACA;IAAA,+HAA0G;IAC9G,4DAAO;IACX,4DAAO;IACX,4DAAK;;;;IAPmD,0MAA+H;IAG3K,0DACA;IADA,kGACA;IAAK,0DAAgE;IAAhE,wIAAgE;;;IAQrE,yEAA2F;IAAA,mEAAQ;IAAA,4DAAK;;;IAS5F,yEAA6F;IAAA,mEAAQ;IAAA,4DAAK;;;;IAJtH,wEAA0L;IACtL,uEAAM;IACF,2EAA6F;IAAvF,2gBAAgE,IAAI,iBAAW,KAAK,KAAE;IACxF,uDACA;IAAA,oIAA0G;IAC9G,4DAAO;IACX,4DAAO;IAEX,4DAAK;;;;IARoD,0MAA+H;IAG5K,0DACA;IADA,kGACA;IAAK,0DAAgE;IAAhE,wIAAgE;;;IASrE,yEAA2F;IAAA,mEAAQ;IAAA,4DAAK;;;IAS5F,yEAA6F;IAAA,mEAAQ;IAAA,4DAAK;;;;IAJtH,wEAA0L;IACtL,uEAAM;IACF,2EAA6F;IAAvF,ghBAAgE,IAAI,iBAAW,KAAK,KAAE;IACxF,uDACA;IAAA,yIAA0G;IAC9G,4DAAO;IACX,4DAAO;IACX,4DAAK;;;;IAPoD,0MAA+H;IAG5K,0DACA;IADA,kGACA;IAAK,0DAAgE;IAAhE,wIAAgE;;;IAQrE,yEAA2F;IAAA,mEAAQ;IAAA,4DAAK;;;IAS5F,yEAA6F;IAAA,mEAAQ;IAAA,4DAAK;;;;IAJtH,wEAAyL;IACrL,uEAAM;IACF,2EAA6F;IAAvF,qhBAAgE,IAAI,iBAAW,KAAK,KAAE;IACxF,uDACA;IAAA,8IAA0G;IAC9G,4DAAO;IACX,4DAAO;IACX,4DAAK;;;;IAPmD,0MAA+H;IAG3K,0DACA;IADA,kGACA;IAAK,0DAAgE;IAAhE,wIAAgE;;;IAQrE,yEAA2F;IAAA,mEAAQ;IAAA,4DAAK;;;IAS5F,yEAA6F;IAAA,mEAAQ;IAAA,4DAAK;;;;IAJtH,wEAAwL;IACpL,uEAAM;IACF,2EAA6F;IAAvF,0hBAAgE,IAAI,iBAAW,KAAK,KAAE;IACxF,uDACA;IAAA,mJAA0G;IAC9G,4DAAO;IACX,4DAAO;IACX,4DAAK;;;;IAPmD,0MAA+H;IAG3K,0DACA;IADA,kGACA;IAAK,0DAAgE;IAAhE,wIAAgE;;;;IAb7F,wEAAmU;IAC/T,uEAAM;IACF,2EAA4F;IAAtF,ihBAA8D,KAAK,iBAAW,KAAK,KAAE;IACvF,uDACA;IAAA,8IAAwG;IAC5G,4DAAO;IACX,4DAAO;IACP,0EAAc;IACV,qEAAI;IACA,8IAOK;IACT,4DAAK;IACT,4DAAM;IACV,4DAAK;;;;IAnB0C,0XAAmR;IAGtT,0DACA;IADA,iGACA;IAAK,0DAA8D;IAA9D,sIAA8D;IAKvC,0DAA0B;IAA1B,gGAA0B;;;;IA1B9E,wEAAoU;IAChU,uEAAM;IACF,2EAA4F;IAAtF,4gBAA8D,KAAK,iBAAW,KAAK,KAAE;IACvF,uDACA;IAAA,yIAAwG;IAC5G,4DAAO;IACX,4DAAO;IACP,0EAAuB;IACnB,qEAAI;IACA,yIAOK;IACL,yIAmBK;IAET,4DAAK;IACT,4DAAM;IACV,4DAAK;;;;IAxC2C,0XAAmR;IAGvT,0DACA;IADA,iGACA;IAAK,0DAA8D;IAA9D,sIAA8D;IAKvC,0DAA0B;IAA1B,gGAA0B;IAQ5B,0DAAmB;IAAnB,yFAAmB;;;;IAlCrE,wEAAqU;IACjU,uEAAM;IACF,2EAA4F;IAAtF,ugBAA8D,KAAK,iBAAW,KAAK,KAAE;IACvF,uDACA;IAAA,oIAAwG;IAC5G,4DAAO;IACX,4DAAO;IACP,0EAAuB;IACnB,qEAAI;IACA,oIAOK;IACL,oIAwCK;IAET,4DAAK;IACT,4DAAM;IACV,4DAAK;;;;IA7D2C,0XAAmR;IAGvT,0DACA;IADA,iGACA;IAAK,0DAA8D;IAA9D,sIAA8D;IAKrC,0DAA0B;IAA1B,gGAA0B;IAQ5B,0DAAmB;IAAnB,yFAAmB;;;;IAnCvE,wEAAoU;IAChU,uEAAM;IACF,2EAA6F;IAAvF,igBAA8D,KAAK,iBAAW,KAAK,KAAG;IACxF,uDACA;IAAA,+HAAwG;IAC5G,4DAAO;IACX,4DAAO;IACP,0EAAwB;IACpB,qEAAI;IACA,+HAQK;IACL,+HA6DK;IAET,4DAAK;IACT,4DAAM;IACV,4DAAK;;;;IAnF2C,0XAAmR;IAGvT,0DACA;IADA,iGACA;IAAK,0DAA8D;IAA9D,sIAA8D;IAKrC,0DAA0B;IAA1B,gGAA0B;IAS5B,0DAAmB;IAAnB,yFAAmB;;;;IAnCtE,wEAA4V;IACzV,uEAAM;IACF,2EAAwH;IAAlH,6ZAA8D,KAAK,4CAAkC,UAAU,KAAE;IACnH,uDACA;IAAA,0HAAwF;IAC5F,4DAAO;IACX,4DAAO;IACP,0EAAuB;IACnB,qEAAI;IACA,0HAOK;IACL,0HAmFK;IACT,4DAAK;IACT,4DAAM;IAEV,4DAAK;;;IAxGmE,0XAAmR;IAG/U,0DACA;IADA,iGACA;IAAK,0DAAgC;IAAhC,kGAAgC;IAKT,0DAA0B;IAA1B,gGAA0B;IAQ1B,0DAAmB;IAAnB,yFAAmB;;ADnEhF,MAAM,yBAAyB;IAkBlC,YAAoB,YAAmC,EAAU,WAAwB,EAAU,MAAc;QAA7F,iBAAY,GAAZ,YAAY,CAAuB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAdvG,SAAI,GAAsB,IAAI,0DAAY,EAAO,CAAC;QAOrD,sBAAiB,GAAW,EAAE,CAAC;QAqBtC,cAAS,GAAG;YACR,qzFAAqzF;YACrzF,6lMAA6lM;YAC7lM,0gFAA0gF;YAC1gF,klMAAklM;YACllM,6lMAA6lM;YAC7lM,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,EAAE;gBAC/E,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,IAAI,SAAS;uBAC9I,IAAI,CAAC,YAAY,CAAC,kBAAkB,IAAI,IAAI,CAAC,EAAE;oBAClD,IAAI,CAAC,0BAA0B,EAAE,CAAC;iBACrC;aAEJ;QACL,CAAC;QAED,+BAA0B,GAAG;YACzB,IAAI,GAAG,GAAG,IAAI,CAAC;YACf,8DAA8D;YAC9D,6CAA6C;YAC7C,kDAAkD;YAClD,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;YACpF,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;YAC9F,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;YAC1F,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;YACpG,SAAS;YACT,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,IAAI,KAAK,EAAE;gBACxD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAClF,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;aAC5G;iBACI,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,IAAI,KAAK,EAAE;gBACrD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC1E,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;aACpG;iBACI;gBACD,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC;aAC5C;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,IAAI,IAAI,EAAE;gBACvD,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACjF,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;aAC5G;iBACI;gBACD,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC;aAC3C;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAQD,2BAAsB,GAAG;YACrB,mCAAC,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAE3C,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBACxB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC1D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;aACxE;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;gBAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC5D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;aAC1E;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;gBAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;aAC5E;YACD,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gBAC9B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACxD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;aACtE;iBACI;gBACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;oBACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;oBACxD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;iBACtE;qBACI;oBACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;oBAC7C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI;iBAC1D;aACJ;YAED,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;gBAC9B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;oBACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;oBACxD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;iBACtE;qBACI;oBACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;oBAC7C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;iBACtE;aACJ;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;gBAC7B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;oBACxB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oBACtD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;iBACpE;qBACI;oBACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC5C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;iBAC1D;aACJ;YACD,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC;gBACpE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC;aAClF;iBACI;gBACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACvD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;aACrE;YACD,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC5D,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;aAC1E;iBACI;gBACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC/C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;aAC7D;YACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC7F,6CAA6C;QACjD,CAAC;QAED,kBAAa,GAAG,UAAU,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU;YAClE,8EAA8E;YAC9E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;YACzD,IAAI,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE;gBAC5E,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC;gBACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC9B;iBACI;gBACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC5B,IAAI,aAAa,IAAI,IAAI,EAAE;oBACvB,IAAI,CAAC,IAAI,GAAG,aAAa;oBACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;oBAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;oBACjC,IAAI,UAAU,IAAI,UAAU,EAAE;wBAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;wBAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;wBACtC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;qBACvC;oBACD,IAAI,UAAU,IAAI,KAAK,EAAE;wBACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;wBAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;wBACjC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;qBAClC;iBACJ;qBACI,IAAI,aAAa,GAAG,KAAK,EAAE;oBAC5B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;oBAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;oBAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;oBAClC,IAAI,UAAU,IAAI,UAAU,EAAE;wBAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;wBAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;wBACtC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;qBACvC;oBACD,IAAI,UAAU,IAAI,KAAK,EAAE;wBACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;wBAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;wBACjC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;qBAClC;iBACJ;aACJ;YACD,IAAI,MAAM,IAAI,IAAI,EAAE;gBAChB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;aACrC;YACD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;YACrC,MAAM;QACV,CAAC;QAED,wBAAmB,GAAG;YAClB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;wBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gCAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oCACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;wCAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;4CACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gDAC9B,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;oDACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wDAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;4DACpC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;wDAC3B,CAAC,CAAC,CAAC;qDACN;iDACJ;gDACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;4CAC5B,CAAC,CAAC,CAAC;yCACN;wCACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;4CACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gDAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;oDACvC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;gDAC9B,CAAC,CAAC,CAAC;6CACN;yCACJ;wCACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oCAC5B,CAAC,CAAC,CAAC;iCACN;gCACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;oCACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wCAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;4CACvC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;wCAC9B,CAAC,CAAC,CAAC;qCACN;iCACJ;gCACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;4BAC5B,CAAC,CAAC,CAAC;yBACN;wBACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;4BACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;oCACvC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;gCAC9B,CAAC,CAAC,CAAC;6BACN;yBACJ;wBACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC5B,CAAC,CAAC,CAAC;iBACN;gBACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;oBACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;4BACvC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;wBAC9B,CAAC,CAAC,CAAC;qBACN;iBACJ;gBACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,yBAAoB,GAAG,UAAU,KAAK;YAClC,0CAA0C;YAC1C,IAAI,mCAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACzC,IAAI,SAAS,GAAG,mCAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACnC;iBACI;gBACD,IAAI,SAAS,GAAG,mCAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAClD;YACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7G,mCAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC5D,mCAAC,CAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC9C,mCAAC,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;QAGD,mBAAc,GAAG;YACb,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC7F,qCAAqC;YACrC,4CAA4C;YAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE;gBAClD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;aACtD;YACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;wBAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;4BACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gCAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oCACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;wCAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;4CACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gDAC9B,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;oDACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wDAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;4DACpC,IAAI,GAAG,CAAC,UAAU,EAAE;gEAChB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;gEACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gEACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gEACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gEACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gEACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gEACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;6DACrD;iEACI;gEACD,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;6DACrB;wDACL,CAAC,CAAC,CAAC;qDACN;iDACJ;gDACD,IAAI,IAAI,CAAC,UAAU,EAAE;oDACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oDAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oDACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oDACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oDACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oDACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;iDACrD;qDACI;oDACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iDACtB;4CACL,CAAC,CAAC,CAAC;yCACN;wCACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;4CACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gDAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;oDACvC,IAAI,MAAM,CAAC,UAAU,EAAE;wDACnB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;wDACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wDACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wDACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wDACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wDACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;qDACrD;yDACI;wDACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;qDACxB;gDACL,CAAC,CAAC,CAAC;6CACN;yCACJ;wCACD,IAAI,IAAI,CAAC,UAAU,EAAE;4CACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;4CAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;4CACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;4CACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;4CACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;yCACrD;6CACI;4CACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;yCACtB;oCACL,CAAC,CAAC,CAAC;iCACN;gCACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;oCACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wCAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;4CACvC,IAAI,MAAM,CAAC,UAAU,EAAE;gDACnB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;gDACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gDACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gDACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gDACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;6CACrD;iDACI;gDACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;6CACxB;wCACL,CAAC,CAAC,CAAC;qCACN;iCACJ;gCACD,IAAI,IAAI,CAAC,UAAU,EAAE;oCACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oCAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oCACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oCACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;iCACrD;qCACI;oCACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iCACtB;4BACL,CAAC,CAAC,CAAC;yBACN;wBACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;4BACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;oCACvC,IAAI,MAAM,CAAC,UAAU,EAAE;wCACnB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;wCACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wCACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wCACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;qCACrD;yCACI;wCACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;qCACxB;gCACL,CAAC,CAAC,CAAC;6BACN;yBACJ;wBACD,IAAI,IAAI,CAAC,UAAU,EAAE;4BACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;4BAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;4BACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;yBACrD;6BACI;4BACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;yBACtB;oBACL,CAAC,CAAC,CAAC;iBACN;gBACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;oBACjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;4BACvC,IAAI,MAAM,CAAC,UAAU,EAAE;gCACnB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;gCACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gCACjB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;6BACrD;iCACI;gCACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;6BACxB;wBACL,CAAC,CAAC,CAAC;qBACN;iBACJ;gBACD,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,6BAA6B;oBAC7B,gBAAgB;oBAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;iBACrD;qBACI;oBACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iBAEtB;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE;gBAC5E,IAAI,UAAU,CAAC,UAAU,EAAE;oBACvB,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;iBACrD;qBACI;oBACD,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;iBAC5B;YACL,CAAC,CAAC,CAAC;YACH,kBAAkB;QACtB,CAAC;IA7aoH,CAAC;IAEtH,QAAQ;QAGJ,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,6BAA6B;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,8BAA8B;IAClC,CAAC;IAiDD,kBAAkB;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,SAAS;QACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnE,CAAC;IA+WD,kBAAkB;QACd,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,iDAAiD;QACjD,6CAA6C;IACjD,CAAC;IAED,sBAAsB;IACtB,QAAQ;QACJ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,GAAG;cACzD,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,GAAG;cAC1C,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG;cAC/F,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;;kGA9cQ,yBAAyB;yGAAzB,yBAAyB;QCSpC,yEAA4C;QAAvC,4JAAgB,wBAAoB,IAAE;QAErC,yEAAqE;QAMnE,yEAA6F;QAAxF,8IAAS,oBAAgB,IAAC;QACjC,uEAAgG;QAC9F,uHAAoI;QACpI,uHAAgJ;QAChJ,uHAAuI;QACvI,uHAAoI;QACpI,oEAAiE;QACnE,4DAAI;QACN,4DAAM;QACJ,4DAAM;QAGR,yEACwC;QACtC,0EAA4B;QACxB,wEAAM;QAAA,wDAA+B;QAAA,4DAAO;QAC/C,4DAAM;QACN,0EAA0B;QACvB,sEAAI;QACA,yEAA0I;QACtI,4EAA8I;QAAxI,+IAAS,gCAA4B,SAAC,wDAA+C,UAAU,EAAC,IAAI,EAAC,IAAI,CAAC,IAAE;QAC9G,wEAAM;QAAA,wDAAiD;QAAA,4DAAO;QAClE,4DAAO;QACP,2EAAuB;QACnB,sEAAI;QACA,sHAOK;QACJ,sHAwGI;QACT,4DAAK;QAGT,4DAAM;QACV,4DAAK;QACT,4DAAK;QACR,4DAAM;QACN,2EAA6B;QAEvB,2EAAyB;QACpB,8EAA0F;QAA1D,2IAAS,4BAAwB,SAAE,wBAAoB,IAAE;QAAC,iEAAK;QAAA,4DAAS;QAC5G,4DAAM;QAEd,4DAAM;QAGP,4DAAM;QACX,4DAAM;;QA3J4D,0DAAkC;QAAlC,mGAAkC;QAErF,0DAAqF;QAArF,yJAAqF;QACrF,0DAA6F;QAA7F,iKAA6F;QAC7F,0DAAuF;QAAvF,2JAAuF;QACvF,0DAAqF;QAArF,yJAAqF;QAO3F,0DAA2C;QAA3C,iHAA2C;QAGpC,0DAA+B;QAA/B,gGAA+B;QAI7B,0DAAqI;QAArI,4MAAqI;QAE3H,0DAAiD;QAAjD,kHAAiD;QAIxB,0DAAiD;QAAjD,uHAAiD;QAQ/C,0DAA0C;QAA1C,gHAA0C;;;;;;;;;;;;;;AChEnG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4B;;;;;;;;;;ICWhB,6EAAiF;IAAA,uFAClE;IAAA,4DAAS;;;IAQJ,yEAAsF;IAClF,wEAEuE;IAAA,kFACvD;IAAA,4DAAI;IACxB,4DAAK;;;IAYD,sEAG0E;;;;IAC1E,4EAG0C;IADtC,iXAAmD;IAFvD,4DAG0C;;;;IA5B1D,4EACuE;IACnE,wEAAO;IACH,qEAAI;IACA,4HAKK;IACL,yEAAmD;IAAA,0FAA+B;IAAA,4DAAK;IACvF,yEAAmD;IAAA,4EAAiB;IAAA,4DAAK;IACzE,yEAAmD;IAAA,wEAAa;IAAA,4DAAK;IACrE,0EAAmD;IAAA,kFAAsB;IAAA,4DAAK;IAC9E,0EAAmD;IAAA,8EAAkB;IAAA,4DAAK;IAC1E,0EAAmD;IAAA,kFAAsB;IAAA,4DAAK;IAClF,4DAAK;IACT,4DAAQ;IACR,yEAAO;IACH,sEAAI;IACA,0EAAgC;IAC5B,kIAG0E;IAC1E,oIAG0C;IAC9C,4DAAK;IACL,sEAAI;IAAA,6EAG8E;IAD1E,2WAAmC;IAFvC,4DAG8E;IAAA,4DAAK;IACvF,sEAAI;IAAA,6EAEmF;IAA/E,qVAAqC;IAFzC,4DAEmF;IACvF,4DAAK;IACL,sEAAI;IAAA,6EAG2E;IAAvE,6UAA6B;IAHjC,4DAG2E;IAAA,4DAAK;IACpF,sEAAI;IAAA,6EAE6C;IAAzC,6VAAwC;IAF5C,4DAE6C;IAAA,4DAAK;IACtD,0EAAgC;IAAA,uEAErB;IAAA,4DAAK;IAChB,0EAAgC;IAAA,uEACI;IAAA,4DAAK;IAC7C,4DAAK;IACT,4DAAQ;IACZ,4DAAQ;;;IAhDqB,0DAAgC;IAAhC,mGAAgC;IAiBtC,2DAAgC;IAAhC,mGAAgC;IAInB,0DAAkC;IAAlC,qGAAkC;IAOlD,0DAAmC;IAAnC,iGAAmC;;;;IA0BvC,4EAAqD;IACjD,4EACuE;IAAnE,gXAAqD,WAAW,KAAE;IADtE,4DACuE;IACvE,sEAAkC;IACtC,4DAAQ;;;IAHmB,0DAAgD;IAAhD,mIAAgD;;;;IAO3E,4EAAqD;IACjD,4EACoE;IAAhE,gXAAqD,QAAQ,KAAE;IADnE,4DACoE;IACpE,sEAAkC;IACtC,4DAAQ;;;IAHmB,0DAA6C;IAA7C,gIAA6C;;;;IAdxF,4EACuE;IACnE,wEAAO;IACH,qEAAI;IACA,yEAAmD;IAAA,8EAC/C;IAAA,kIAIQ;IAEZ,4DAAK;IACL,yEAAmD;IAAA,6EAC/C;IAAA,kIAIQ;IAEZ,4DAAK;IACL,yEAAmD;IAAA,kFAAsB;IAAA,4DAAK;IAC9E,0EAAmD;IAAA,kFAAsB;IAAA,4DAAK;IAClF,4DAAK;IACT,4DAAQ;IACR,yEAAO;IACH,sEAAI;IAEA,sEAAI;IACA,6EAGoF;IAD7B,iWAAyB;IAFhF,4DAGoF;IAExF,4DAAK;IACL,sEAAI;IACA,6EAIoH;IAF7D,iWAAyB;IAFhF,4DAIoH;IACxH,4DAAK;IACL,0EAAgC;IAAC,uEACU;IAAA,4DAAK;IAChD,sEAAI;IAAA,6EAE+E;IAA3E,0WAAkC;IAFtC,4DAE+E;IAAA,4DAAK;IAC5F,4DAAK;IACT,4DAAQ;IACZ,4DAAQ;;;IA3CgB,0DAA4B;IAA5B,+FAA4B;IAQ5B,0DAA4B;IAA5B,+FAA4B;IAiBmB,0DAAyB;IAAzB,uFAAyB;IAOzB,0DAAyB;IAAzB,uFAAyB;IAQ5E,0DAAkC;IAAlC,gGAAkC;;;;IAyEtC,4EAA2D;IACvD,4EACqE;IAAjE,uWAAqD,SAAS,KAAE;IADpE,4DACqE;IACrE,qEAAgC;IACpC,4DAAQ;;;IAHmB,0DAA8C;IAA9C,gIAA8C;;;;IAUzE,4EAAoF;IAChF,4EACuE;IAAnE,uWAAqD,WAAW,KAAE;IADtE,4DACuE;IACvE,qEAAgC;IACpC,4DAAQ;;;IAHmB,0DAAgD;IAAhD,kIAAgD;;;IAQ/E,yEAAqD;IAAA,wEAEsB;IAAA,2EAChE;IAAA,4DAAI;IAAA,4DAAK;;;IAmBZ,wEAG+B;IAAA,uDAEV;;IAAA,4DAAI;;;IALwB,iGAA2B;IAG7C,0DAEV;IAFU,mPAEV;;;IACrB,yEAGgC;IAAA,uDAEX;;IAAA,4DAAI;;;IALwB,iGAA2B;IAG5C,0DAEX;IAFW,mPAEX;;;IACrB,yEAC+B;IAAA,uDAAe;IAAA,4DAAI;;;IAAnB,0DAAe;IAAf,gFAAe;;;IAC9C,yEAA2D;IAAA,uDAAe;IAAA,4DAAI;;;IAAnB,0DAAe;IAAf,gFAAe;;;;IAO1E,sFAIuD;IAJpB,iYAA8B,wYAE3B,oBAAoB,KAFO;IAKjE,4DAAiB;;;IAJb,oHAAqC;IADN,yFAA8B;;;IAMjE,2EAEuD;IACnD,uDACJ;;IAAA,4DAAM;;;IAHF,oHAAqC;IAErC,0DACJ;IADI,+KACJ;;;;IAMA,sFAIuD;IAJpB,+XAA4B,wYAEzB,kBAAkB,KAFO;IAK/D,4DAAiB;;;IAJb,kHAAmC;IADJ,uFAA4B;;;IAO/D,2EAEuD;IACnD,uDACJ;;IAAA,4DAAM;;;IAHF,kHAAmC;IAEnC,0DACJ;IADI,6KACJ;;;;IAKA,6EAG8E;IAD1E,wXAAuC;IAF3C,4DAG8E;;;IAF3C,+GAAgC;IAC/D,kGAAuC;;;IAE3C,2EAEuD;IACnD,uDACJ;;IAAA,4DAAM;;;IAHF,+GAAgC;IAEhC,0DACJ;IADI,mLACJ;;;;IAKA,6EAMyD;IAJrD,8WAAkD;IAFtD,4DAMyD;;;;IANxB,2GAA4B;IAIzD,oHAA8C;IAC9C,sGAAqC;;;IAEzC,2EAEuD;IACnD,uDACJ;;IAAA,4DAAM;;;IAHF,2GAA4B;IAE5B,0DACJ;IADI,4LACJ;;;;IAKA,6EAO2C;IAHhB,8WAAkD;IAJ7E,4DAO2C;;;;IAJvC,+GAAgC;IAGhC,gHAA0C;IAC1C,uGAAsC;;;;IAC1C,6EAM+C;IAFpB,wdAAsE;IAJjG,4DAM+C;;;IAH3C,+GAAgC;IAGhC,gHAA0C;;;IAC9C,2EAEuD;IACnD,uDACJ;;IAAA,4DAAM;;;IAHF,+GAAgC;IAEhC,0DACJ;IADI,wLACJ;;;;IAKA,6EAIgH;IAD5G,sXAAoC;IAHxC,4DAIgH;;;IAH5G,+GAAgC;IAEhC,+FAAoC;;;IAExC,2EAEwF;IACpF,uDACJ;;IAAA,4DAAM;;;IAHF,+GAAgC;IAEhC,0DACJ;IADI,gLACJ;;;;IAKA,6EAKuC;IADnC,2WAAuC;IAJ3C,4DAKuC;;;IAJnC,gHAAiC;IAGO,8FAAmC;;;IAE/E,2EAEmF;IAC/E,uDACJ;;IAAA,4DAAM;;;IAHF,gHAAiC;IAEjC,0DACJ;IADI,+KACJ;;;IAZR,yEAAqE;IACjE,0EAAkD;IAC9C,sIAKuC;IACvC,iIAIM;IACV,4DAAM;IACV,4DAAK;;;;IAVQ,0DAA4E;IAA5E,gKAA4E;IAM5E,0DAA4E;IAA5E,iKAA4E;;;;IAkBrF,2EAEiC;IAD7B,8VAAsC;IAD1C,4DAEiC;;;;IACjC,2EACkC;IAD6B,oUAAkB;IAAjF,4DACkC;;;;IAClC,2EAC0E;IAAtE,ufAAwC;IAD5C,4DAC0E;;;IA5JlF,yEAA+E;IAE3E,qEAAI;IACA,0EAAiD;IAC7C,uHAKyB;IACzB,uHAKyB;IACzB,uHACkD;IAClD,uHAA8E;IAC9E,wEAA6B;IAAA,uDAAwB;IAAA,4DAAI;IAE7D,4DAAM;IACV,4DAAK;IACL,qEAAI;IACA,2EAA6E;IACzE,mJAKiB;IACjB,6HAIM;IACV,4DAAM;IAEV,4DAAK;IACL,sEAAI;IACA,2EAA6E;IACzE,mJAKiB;IAEjB,6HAIM;IACV,4DAAM;IACV,4DAAK;IACL,0EAAgC;IAC5B,2EAA6E;IACzE,iIAG8E;IAC9E,6HAIM;IACV,4DAAM;IACV,4DAAK;IACL,0EAAgC;IAC5B,2EAAgD;IAC5C,iIAMyD;IACzD,6HAIM;IACV,4DAAM;IACV,4DAAK;IACL,0EAAgC;IAC5B,2EAA+C;IAC3C,iIAO2C;IAC3C,iIAM+C;IAC/C,6HAIM;IACV,4DAAM;IACV,4DAAK;IACL,0EAAgC;IAC5B,2EAAkD;IAC9C,iIAIgH;IAChH,6HAIM;IACV,4DAAM;IACV,4DAAK;IACL,2HAcK;IACL,0EAAgC;IAC5B,2EAAoD;IAAA,wDAEpD;;IAAA,4DAAM;IAEV,4DAAK;IACL,0EAAgC;IAC5B,2EAAmD;IAAA,wDAEnD;;IAAA,4DAAM;IACV,4DAAK;IAEL,0EAAyB;IACrB,6HAEiC;IACjC,6HACkC;IAClC,6HAC0E;IAK9E,4DAAK;IACT,4DAAK;;;;;IAlKmD,qGAAsB;IAM7D,0DAAuE;IAAvE,+IAAuE;IAMvE,0DAA0E;IAA1E,kJAA0E;IAIjD,0DAA4B;IAA5B,4FAA4B;IAE5B,0DAA2B;IAA3B,2FAA2B;IAC5B,0DAAwB;IAAxB,yFAAwB;IAKV,0DAA6B;IAA7B,qFAA6B;IAKnE,0DAAgD;IAAhD,yHAAgD;IAIhD,0DAAgD;IAAhD,yHAAgD;IAOV,0DAA6B;IAA7B,qFAA6B;IAKnE,0DAAgD;IAAhD,yHAAgD;IAKhD,0DAAgD;IAAhD,yHAAgD;IAMV,0DAA6B;IAA7B,qFAA6B;IAI5C,0DAAgD;IAAhD,yHAAgD;IAGvE,0DAAgD;IAAhD,yHAAgD;IAahD,0DAAgD;IAAhD,yHAAgD;IAGhD,0DAAgD;IAAhD,yHAAgD;IAQhD,0DAAkM;IAAlM,qSAAkM;IAQlM,0DAA+L;IAA/L,oSAA+L;IAQ/L,0DAAgD;IAAhD,yHAAgD;IAShD,0DAAwE;IAAxE,wJAAwE;IAKxE,0DAAiF;IAAjF,iKAAiF;IAK7D,0DAAkC;IAAlC,uGAAkC;IAgBX,0DAEpD;IAFoD,sLAEpD;IAImD,0DAEnD;IAFmD,kLAEnD;IAIqB,0DAAwC;IAAxC,sHAAwC;IAGxC,0DAAwC;IAAxC,sHAAwC;IAElB,0DAAiB;IAAjB,oFAAiB;;AD/WzF,MAAM,wBAAwB;IA0DjC,YAAoB,WAAwB,EAChC,YAA0B,EAC3B,MAAc;QAFL,gBAAW,GAAX,WAAW,CAAa;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAC3B,WAAM,GAAN,MAAM,CAAQ;QA3DlB,eAAU,GAAG,KAAK,CAAC;QACnB,oBAAe,GAAG,IAAI,CAAC;QAkDvB,mCAA8B,GAAG,CAAC,CAAC;QACnC,eAAU,GAAG,KAAK,CAAC;QACnB,uBAAkB,GAAG,KAAK,CAAC;QAC3B,iBAAY,GAAG,EAAE,CAAC;QAiuCzB,iCAA4B,GAAG,UAAU,MAAM,EAAE,qBAAqB;YAClE,IAAI,GAAG,GAAG,IAAI,CAAC;YACf,2CAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,GAAG,EAAE,KAAK;gBACjD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACf,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,EAAE;wBAC1B,IAAI,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,IAAI,GAAG,CAAC,sBAAsB,IAAI,SAAS,EAAE;4BACvI,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;4BAClH,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;4BAChK,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,GAAG;gCACrC,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,GAAG,CAAC;4BAC1C,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;gCACtC,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;yBAC3C;6BAEG,IAAI,CAAC,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;4BAC7F,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;4BAChK,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,GAAG;gCACrC,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,GAAG,CAAC;4BAC1C,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;gCACtC,KAAK,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC;yBAC3C;qBACR;iBACJ;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAGD,wBAAmB,GAAG,UAAU,QAAQ;YACpC,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YACzC,mCAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC5C,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5C,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YAGjC,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrC,2CAAM,CAAC,IAAI,EAAE,UAAU,OAAO,EAAE,QAAQ;gBACpC,IAAI,QAAQ,IAAI,IAAI,EAAE;oBAClB,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,EAAE;wBAC/B,mCAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;wBACxD,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBACxD,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBAC5D,IAAI,EAAE,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;wBACnD,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC7C,IAAI,EAAE,GAAG,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;wBACvD,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;qBAEpD;yBACI;wBACD,0CAA0C;wBAC1C,gDAAgD;wBAChD,yCAAyC;wBACzC,yFAAyF;wBACzF,sDAAsD;wBACtD,mDAAmD;wBACnD,0DAA0D;wBAC1D,4DAA4D;wBAC5D,yDAAyD;wBACzD,8EAA8E;wBAC9E,8EAA8E;wBAE9E,6FAA6F;wBAC7F,0EAA0E;wBAC1E,uCAAuC;wBACvC,2CAA2C;wBAC3C,+DAA+D;wBAC/D,QAAQ;wBACR,aAAa;wBACb,2EAA2E;wBAC3E,sCAAsC;wBACtC,0CAA0C;wBAC1C,8DAA8D;wBAC9D,QAAQ;wBACR,qDAAqD;wBACrD,2CAA2C;wBAC3C,uEAAuE;wBACvE,6DAA6D;wBAC7D,QAAQ;wBACR,sCAAsC;wBACtC,0CAA0C;wBAC1C,4CAA4C;wBAC5C,4DAA4D;wBAC5D,wEAAwE;wBACxE,QAAQ;wBACR,iIAAiI;wBACjI,8CAA8C;wBAC9C,mEAAmE;wBACnE,QAAQ;wBACR,0CAA0C;wBAC1C,oGAAoG;wBACpG,kDAAkD;wBAClD,YAAY;wBACZ,yGAAyG;wBACzG,kDAAkD;wBAClD,YAAY;wBACZ,QAAQ;wBACR,qCAAqC;wBACrC,uGAAuG;wBACvG,yDAAyD;wBACzD,YAAY;wBACZ,+FAA+F;wBAC/F,qDAAqD;wBACrD,YAAY;wBACZ,oGAAoG;wBACpG,8GAA8G;wBAC9G,gFAAgF;wBAChF,mFAAmF;wBACnF,mDAAmD;wBACnD,mDAAmD;wBACnD,gBAAgB;wBAChB,mHAAmH;wBACnH,iFAAiF;wBACjF,kFAAkF;wBAClF,kDAAkD;wBAClD,oDAAoD;wBACpD,gBAAgB;wBAChB,mHAAmH;wBACnH,iFAAiF;wBACjF,mFAAmF;wBACnF,kDAAkD;wBAClD,mDAAmD;wBACnD,gBAAgB;wBAChB,qBAAqB;wBACrB,gFAAgF;wBAChF,kFAAkF;wBAClF,mDAAmD;wBACnD,oDAAoD;wBACpD,gBAAgB;wBAChB,YAAY;wBACZ,0JAA0J;wBAC1J,kDAAkD;wBAClD,4EAA4E;wBAC5E,+EAA+E;wBAC/E,+CAA+C;wBAC/C,+CAA+C;wBAC/C,YAAY;wBACZ,sJAAsJ;wBACtJ,kDAAkD;wBAClD,6EAA6E;wBAC7E,8EAA8E;wBAC9E,8CAA8C;wBAC9C,gDAAgD;wBAChD,YAAY;wBACZ,iBAAiB;wBACjB,kDAAkD;wBAClD,6EAA6E;wBAC7E,+EAA+E;wBAC/E,8CAA8C;wBAC9C,+CAA+C;wBAC/C,YAAY;wBACZ,QAAQ;wBACR,aAAa;wBACb,yEAAyE;wBACzE,2EAA2E;wBAC3E,0CAA0C;wBAC1C,2CAA2C;wBAC3C,QAAQ;wBACR,IAAI;qBACP;iBACJ;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IA13CD,CAAC;IAGD,QAAQ;QACJ,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,KAAK,EAAE;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YACpD,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;YACjD,cAAc,CAAC,OAAO,CAAC,eAAe,EAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;YACpD,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACvD,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YACxC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClE,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACjG;aACC;YAEF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;SAE/D;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAC3J,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAE/W,CAAC;IAEF,iFAAiF;IACjF,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB;QACxR,IAAG,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EACvC;YACI,qBAAqB,GAAG,CAAC,CAAC;SAC7B;QACD,8JAA8J;QAC9J,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,mCAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,0CAA0C;QAC1C,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC;QAC/B,GAAG,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,iBAAiB,CAAC;QAChD,mCAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpD,mCAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC;QAC1C,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,gCAAgC;QAChC,GAAG,CAAC,0BAA0B,GAAG,kBAAkB,CAAC;QACpD,GAAG,CAAC,6BAA6B,GAAG,qBAAqB,CAAC;QAC1D,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC9B,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC;QAC5B,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;QACtB,GAAG,CAAC,kBAAkB,GAAG,CAAC,YAAY,CAAC;QACvC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC;QAC1B,GAAG,CAAC,eAAe,GAAG,eAAe,CAAC;QACtC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC5B,GAAG,CAAC,qBAAqB,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChE,GAAG,CAAC,qBAAqB,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACxE,GAAG,CAAC,YAAY,GAAG,gBAAgB,CAAC;QACpC,UAAU,CAAC;YACP,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7C,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAI,YAAY,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,GAAG,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;YAC5C,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,aAAa,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;YACzC,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,IAAI,YAAY,EAAE;gBAEhD,mCAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvF,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACvE,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnF,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACtE,mCAAC,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC3E,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aACtE;iBACI;gBAED,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1D,mCAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAEpC,mCAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;aAChE;YACD,IAAI,MAAM,IAAI,UAAU,EAAE;gBAEtB,mCAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAChE;YACD,IAAI,MAAM,IAAI,YAAY,EAAE;gBACxB,mCAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;aAClD;YACD,GAAG,CAAC,8BAA8B,EAAE,CAAC;YAErC,GAAG,CAAC,YAAY,CAAC,8BAA8B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC/D,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC3B,GAAG,CAAC,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAChE,IAAI,iBAAiB,IAAI,IAAI,EAAE;oBAC3B,IAAI,YAAY,IAAI,IAAI,EAAE;wBACtB,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBAC/D,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;wBACzB,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;wBAC7B,mCAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;qBACvD;yBACI;wBACD,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;wBAChE,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;wBACxB,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAC5B,mCAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;qBACtD;oBACD,IAAI,WAAW,IAAI,IAAI,EAAE;wBACrB,kCAAkC;wBAClC,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBAC5D,mCAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;qBACrD;yBACI,IAAI,WAAW,IAAI,IAAI,EAAE;wBAC1B,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAC5B,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC;wBAC9B,mCAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;wBACjD,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;qBAChE;oBACD,IAAI,YAAY,IAAI,IAAI,IAAI,eAAe,IAAI,IAAI,EAAE;wBACjD,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBAChC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;qBACzD;oBACD,IAAI,eAAe,IAAI,IAAI,EAAE;wBACzB,IAAI,eAAe,CAAC,mBAAmB,IAAI,IAAI,IAAI,eAAe,CAAC,eAAe,IAAI,IAAI,EAAE;4BACxF,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;yBACnC;6BACI,IAAI,eAAe,CAAC,mBAAmB,IAAI,IAAI,IAAI,eAAe,CAAC,eAAe,IAAI,IAAI,EAAE;4BAC7F,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;yBACnC;6BACI,IAAI,eAAe,CAAC,mBAAmB,IAAI,IAAI,IAAI,eAAe,CAAC,eAAe,IAAI,IAAI,EAAE;4BAC7F,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;yBACnC;wBACD,IAAI,eAAe,CAAC,mBAAmB,KAAK,EAAE,IAAI,eAAe,CAAC,eAAe,IAAI,EAAE,EAAE;4BACrF,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;yBACnC;6BACI,IAAI,eAAe,CAAC,mBAAmB,IAAI,EAAE,IAAI,eAAe,CAAC,eAAe,KAAK,EAAE,EAAE;4BAC1F,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;yBACnC;6BACI,IAAI,eAAe,CAAC,mBAAmB,KAAK,EAAE,IAAI,eAAe,CAAC,eAAe,KAAK,EAAE,EAAE;4BAC3F,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;yBACnC;qBACJ;oBACD,IAAI,eAAe,IAAI,IAAI,EAAE;wBACzB,IAAI,eAAe,CAAC,mBAAmB,IAAI,CAAC,EAAE;4BAC1C,eAAe,CAAC,mBAAmB,GAAG,GAAG,CAAC;yBAC7C;wBACD,IAAI,eAAe,CAAC,eAAe,IAAI,CAAC,EAAE;4BACtC,eAAe,CAAC,eAAe,GAAG,GAAG,CAAC;yBACzC;wBACD,IAAI,eAAe,CAAC,mBAAmB,IAAI,EAAE,IAAI,eAAe,CAAC,eAAe,IAAI,EAAE,EAAE;4BACpF,IAAI,CAAC,eAAe,CAAC,mBAAmB,IAAI,IAAI,IAAI,eAAe,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE;gCAC1F,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gCAC7D,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gCAChE,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;gCAC7B,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC;6BAChC;iCACI,IAAI,eAAe,CAAC,mBAAmB,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE;gCAC/F,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gCAC9D,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gCAC/D,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;gCAC5B,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC;6BACjC;iCACI,IAAI,eAAe,CAAC,mBAAmB,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE;gCAC/F,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gCAC9D,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gCAChE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;gCAC5B,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC;6BAChC;iCACI;gCACD,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gCAC7D,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gCAC/D,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;gCAC7B,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC;6BACjC;yBACJ;6BACI,IAAI,CAAC,eAAe,CAAC,mBAAmB,IAAI,IAAI,IAAI,eAAe,CAAC,mBAAmB,IAAI,EAAE,CAAC,IAAI,eAAe,CAAC,eAAe,IAAI,EAAE,EAAE;4BAC1I,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;4BAChC,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;4BAC7D,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;4BAChE,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;4BAC7B,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC;yBAChC;6BACI,IAAI,eAAe,CAAC,mBAAmB,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,IAAI,EAAE,IAAI,eAAe,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE;4BACtI,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;4BAChC,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;4BAC9D,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;4BAC/D,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;4BAC5B,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC;yBACjC;6BACI;4BACD,GAAG,CAAC,oBAAoB,GAAG,IAAI,CAAC;4BAChC,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;4BAC9D,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;4BAChE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;4BAC5B,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC;yBAChC;wBACD,IAAI,eAAe,CAAC,eAAe,IAAI,IAAI,EAAE;4BACzC,eAAe,CAAC,eAAe,GAAG,EAAE,CAAC;yBACxC;6BACI,IAAI,eAAe,CAAC,eAAe,IAAI,EAAE,EAAE;4BAC5C,eAAe,CAAC,eAAe,GAAG,EAAE,CAAC;yBACxC;qBACJ;yBACI;wBACD,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;wBAC9D,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;wBAChE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;wBAC5B,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC;qBAChC;iBACJ;gBAGD,GAAG,CAAC,6BAA6B,EAAE,CAAC;gBACpC,GAAG,CAAC,uBAAuB,EAAE,CAAC;gBAC9B,GAAG,CAAC,oBAAoB,EAAE,CAAC;gBAC3B,GAAG,CAAC,8BAA8B,EAAE,CAAC;gBAGrC,IAAI,WAAW,GAAG,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBACxE,IAAI,aAAa,GAAG,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC5E,GAAG,CAAC,SAAS,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;gBAC7C,GAAG,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACjE,GAAG,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC;YAEnD,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,GAAG,CAAC;IAEX,CAAC;IAAA,CAAC;IAIF,8BAA8B;QAC1B,IAAI,0BAA0B,GAAG,CAAC,CAAC;QACnC,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;QAC7B,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,2CAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,UAAU,OAAO,EAAE,QAAQ;YACzD,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAClB,IAAI,QAAQ,CAAC,eAAe,IAAI,IAAI,EAAE;oBAClC,IAAI,wBAAwB,GAAG,CAAC,CAAC;oBACjC,2CAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,QAAQ;wBAC5D,IAAI,QAAQ,IAAI,IAAI,EAAE;4BAClB,IAAI,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;gCAC7B,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,IAAI,QAAQ,CAAC,YAAY,IAAI,YAAY,IAAI,QAAQ,CAAC,EAAE,IAAI,GAAG,CAAC,6BAA6B,IAAI,QAAQ,CAAC,gBAAgB,IAAI,GAAG,CAAC,YAAY,EAAE;oCACpM,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,IAAI,YAAY,EAAE;wCAChD,OAAO,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;qCAC/C;yCACI;wCACD,OAAO,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;qCACzC;oCACD,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE;wCAChB,OAAO,GAAG,CAAC,CAAC;qCACf;iCACJ;qCACI;oCACD,IAAI,QAAQ,CAAC,MAAM,IAAI,UAAU,IAAI,QAAQ,CAAC,MAAM,IAAI,YAAY,EAAE;wCAClE,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;qCAClC;yCACI;wCACD,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC;wCACtE,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;qCACxC;iCACJ;gCACD,wBAAwB,GAAG,CAAC,UAAU,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gCAC9G,wBAAwB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;6BAC1E;yBACJ;oBACL,CAAC,CAAC,CAAC;oBACH,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAC1H;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,0BAA0B,GAAG,UAAU,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9H,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;IACjE,CAAC;IAED,6BAA6B;QACzB,eAAe;QACf,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,qBAAqB,GAAG,IAAI,CAAC,6BAA6B,CAAC;QAC/D,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAE3C,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,IAAI,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC1D,IAAG,gBAAgB,IAAG,SAAS,EAC/B;YACI,gBAAgB,GAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAChF;QAED,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,EAAE,QAAQ;YACjD,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAClB,cAAc,GAAG,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAChD,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,IAAI,qBAAqB,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAC3K,CAAC;gBACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,OAAO,KAAK,CAAC;iBAChB;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,6BAA6B,GAAG,CAAC,CAAC;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,UAAU;YAClE,IAAI,UAAU,IAAI,IAAI,EAAE;gBACpB,IAAI,UAAU,CAAC,SAAS,IAAI,KAAK,EAAE;oBAC/B,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,IAAI,UAAU,CAAC,aAAa,IAAI,IAAI,EAAE;wBAClC,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAC;wBACnC,IAAI,UAAU,CAAC,YAAY,IAAI,IAAI,EAAE;4BACjC,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;4BACzB,IAAI,GAAG,CAAC,sBAAsB,EAAE;gCAC5B,GAAG,CAAC,eAAe,GAAG,CAAC;wCACnB,mBAAmB,EAAE,EAAE;wCACvB,eAAe,EAAE,EAAE;wCACnB,iBAAiB,EAAE,EAAE;wCACrB,gBAAgB,EAAE,EAAE;wCACpB,cAAc,EAAE,EAAE;qCACrB,CAAC,CAAC;6BACN;iCACI;gCACD,GAAG,CAAC,eAAe,GAAG,CAAC;wCACnB,mBAAmB,EAAE,CAAC;wCACtB,eAAe,EAAE,CAAC;wCAClB,iBAAiB,EAAE,IAAI;qCAC1B,CAAC,CAAC;6BACN;yBAEJ;6BACI;4BACD,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,IAAI,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,IAAI,IAAI,EAAE;gCAClG,UAAU,CAAC,YAAY,CAAC,eAAe,GAAG,CAAC,CAAC;6BAC/C;yBACJ;qBACJ;oBAED,2CAAM,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,GAAG,EAAE,KAAK;wBAC5C,IAAI,KAAK,IAAI,IAAI,EAAE;4BACf,IAAI,KAAK,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,EAAE;gCACjD,UAAU,CAAC,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC;gCAChD,IAAI,UAAU,CAAC,YAAY,IAAI,IAAI,EAAE;oCACjC,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;oCACzB,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;wCACpC,GAAG,CAAC,eAAe,GAAG,CAAC;gDACnB,mBAAmB,EAAE,EAAE;gDACvB,eAAe,EAAE,EAAE;gDACnB,iBAAiB,EAAE,EAAE;gDACrB,gBAAgB,EAAE,EAAE;gDACpB,cAAc,EAAE,EAAE;6CACrB,CAAC,CAAC;qCACN;yCACI;wCACD,GAAG,CAAC,eAAe,GAAG,CAAC;gDACnB,mBAAmB,EAAE,CAAC;gDACtB,eAAe,EAAE,KAAK,CAAC,eAAe;gDACtC,iBAAiB,EAAE,IAAI;6CAC1B,CAAC,CAAC;qCACN;iCAEJ;qCACI,IAAI,UAAU,CAAC,YAAY,IAAI,IAAI,EAAE;oCACtC,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;wCACpC,wDAAwD;wCACxD,uGAAuG;wCACvG,GAAG;wCACH,2DAA2D;wCAC3D,mDAAmD;wCACnD,GAAG;qCACN;iCACJ;qCACI;oCACD,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,IAAI,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,IAAI,IAAI,EAAE;wCAClG,UAAU,CAAC,YAAY,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;qCACnE;iCAEJ;6BACJ;yBACJ;oBACL,CAAC,CAAC,CAAC;oBAEH,IAAI,OAAO,GAAG,EAAE,CAAC;oBAEjB,0DAA0D;oBAC1D,0EAA0E;oBAC1E,sDAAsD;oBACtD,wEAAwE;oBACxE,MAAM,CAAC,IAAI,CAAC;wBACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;wBAC7B,WAAW,EAAE,UAAU,CAAC,WAAW;wBACnC,aAAa,EAAE,UAAU,CAAC,aAAa;wBACvC,SAAS,EAAE,UAAU,CAAC,kBAAkB;wBACxC,OAAO,EAAE,UAAU,CAAC,OAAO;wBAC3B,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,cAAc,EAAE,UAAU,CAAC,cAAc;wBACzC,YAAY,EAAE,UAAU,CAAC,YAAY;wBACrC,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;wBAC3D,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;wBACjD,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY;wBAChG,OAAO,EAAE,EAAE;qBACd,CAAC,CAAC;oBAEH,IAAI,UAAU,CAAC,YAAY,IAAI,IAAI,EAAE;wBACjC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;qBACpD;oBAED,IAAI,YAAY,GAAG,CAAC,CAAC;oBACrB,IAAI,WAAW,GAAG,CAAC,CAAC;oBACpB,IAAI,GAAG,CAAC,YAAY,IAAI,UAAU,IAAI,GAAG,CAAC,YAAY,IAAI,YAAY,EAAE;wBACpE,YAAY,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;wBACjD,WAAW,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;qBACjD;yBACI;wBACD,YAAY,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC3C,WAAW,GAAG,mCAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;qBAC1C;oBACD,IAAI,YAAY,IAAI,CAAC,EAAE,EAAE;wBACrB,YAAY,GAAG,CAAC,CAAC;qBACpB;oBACD,IAAI,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,mBAAmB,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;oBAC9L,IAAI,YAAY,GAAG,CAAC,CAAC;oBACrB,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;wBACpC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,IAAI,IAAI,EAAE;4BACjD,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,IAAI,IAAI,EAAE;gCACjD,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC;6BAC1D;yBACJ;6BACI;4BACD,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;4BACrK,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;yBACjD;qBACJ;yBACI;wBACD,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;wBAClL,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;qBACjD;oBACD,6BAA6B,GAAG,UAAU,CAAC,6BAA6B,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC3H,IAAI,iBAAiB,GAAG,CAAC,CAAC;oBAC1B,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;wBAEpC,iBAAiB,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC;wBAE5F,IAAI,KAAK,CAAC,iBAAiB,CAAC;4BACxB,iBAAiB,GAAG,CAAC,CAAC;6BAEtB,IAAI,iBAAiB,GAAG,GAAG;4BACvB,iBAAiB,GAAG,GAAG,CAAC;;4BAExB,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBAG7D;yBACI;wBACD,IAAI,YAAY,IAAI,IAAI,EAAE;4BACtB,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;yBACvC;6BACI;4BACD,iBAAiB,GAAG,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;4BAC1D,iBAAiB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;yBAC3D;qBACJ;oBACD,IAAI,aAAa,GAAG,CAAC,CAAC;oBACtB,IAAI,GAAG,CAAC,0BAA0B,IAAI,IAAI,IAAI,GAAG,CAAC,0BAA0B,IAAI,CAAC,EAAE;wBAC/E,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBACnC;yBACI;wBACD,aAAa,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;wBAC1E,aAAa,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;qBACnD;oBAED,IAAI,WAAW,IAAI,CAAC,EAAE,EAAE;wBACpB,WAAW,GAAG,CAAC,CAAC;qBACnB;oBACD,IAAI,iBAAiB,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;oBACrD,iBAAiB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;oBACxD,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;oBAE7D,IAAI,WAAW,GAAG,IAAI,CAAC;oBACvB,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;wBACpC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,EAAE;4BAC/C,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,EAAE;gCAC/C,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC;6BACvD;yBACJ;6BACI;4BACD,IAAI,WAAW,IAAI,IAAI,EAAE;gCACrB,WAAW,GAAG,CAAC,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;6BAC1D;yBACJ;qBACJ;oBACD,OAAO,GAAG,CAAC;4BACP,YAAY,EAAE,YAAY;4BAC1B,iBAAiB,EAAE,iBAAiB;4BACpC,aAAa,EAAE,aAAa;4BAC5B,WAAW,EAAE,WAAW;yBAC3B,CAAC,CAAC;oBAEH,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC/B,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;oBAC7B,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5C;aACJ;QACL,CAAC,CAAC,CAAC;QACH,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,WAAW,CAAC,CAAC,EAAE,CAAC;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;QACxB,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,uBAAuB;QACnB,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE;YACtE,IAAI,YAAY,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,IAAI,WAAW,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,iBAAiB,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;YACrD,mCAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;SAC1E;aACI;YACD,IAAI,YAAY,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,WAAW,GAAG,mCAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;YAC3C,IAAI,iBAAiB,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;YACrD,mCAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACnE;IACL,CAAC;IAED,uBAAuB;QACnB,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,qBAAqB;QACjB,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,oCAAoC,CAAC,QAAiB;QAClD,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC;QAC7B,IAAI,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC;QAChC,IAAI,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;QAC1B,IAAI,YAAY,GAAG,GAAG,CAAC,kBAAkB,CAAC;QAC1C,IAAI,GAAG,CAAC,eAAe,IAAI,IAAI,EAAE;YAC7B,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,EAAE;gBAChD,IAAI,EAAE,IAAI,IAAI,EAAE;oBACZ,2CAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,EAAE;wBAChD,IAAI,EAAE,IAAI,IAAI,EAAE;4BACZ,IAAI,EAAE,CAAC,OAAO,IAAI,OAAO,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,YAAY,IAAI,YAAY,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,gBAAgB,IAAI,GAAG,CAAC,YAAY,EAAE;gCACtK,GAAG,CAAC,+CAA+C,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;6BACrE;yBACJ;oBACL,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;SACN;aACI;YACD,GAAG,CAAC,YAAY,CAAC,8BAA8B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC/D,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC3B,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,EAAE;oBAChD,IAAI,EAAE,IAAI,IAAI,EAAE;wBACZ,2CAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,EAAE;4BAChD,IAAI,EAAE,IAAI,IAAI,EAAE;gCACZ,IAAI,EAAE,CAAC,OAAO,IAAI,OAAO,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,YAAY,IAAI,YAAY,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,6BAA6B,EAAE;oCAC3H,GAAG,CAAC,+CAA+C,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;iCACrE;6BACJ;wBACL,CAAC,CAAC,CAAC;qBACN;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,+CAA+C,CAAC,EAAE,EAAE,QAAiB;QACjE,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,UAAU,CAAC;YACP,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,IAAI,eAAe,GAAG,IAAI,CAAC;YAC3B,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,YAAY,GAAG,mCAAC,CAAC,aAAa,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,SAAS,GAAG,mCAAC,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;YAErD,IAAI,EAAE,CAAC,MAAM,IAAI,UAAU,IAAI,EAAE,CAAC,MAAM,IAAI,YAAY,EAAE;gBACtD,YAAY,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;gBACjD,SAAS,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC5C,iBAAiB,GAAG,mCAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,EAAE,CAAC;aAC3D;iBACI;gBACD,YAAY,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3C,SAAS,GAAG,mCAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;gBACrC,iBAAiB,GAAG,mCAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;aACpD;YAED,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;gBAC9C,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,cAAc,GAAG,mCAAC,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBACpE,IAAI,eAAe,GAAG,mCAAC,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBACvE,IAAI,KAAK,IAAI,IAAI,EAAE;oBACf,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;wBAC1B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;4BAC5B,WAAW,GAAG,CAAC,CAAC;4BAChB,2CAAM,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,GAAG,EAAE,KAAK;gCAC5C,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI;oCAC3B,eAAe,GAAG,CAAC,CAAC;gCACxB,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa;oCAC1C,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;4BAChD,CAAC,CAAC,CAAC;yBACN;6BACI;4BACD,WAAW,GAAG,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;4BAC5J,IAAI,WAAW,CAAC,QAAQ,EAAE,IAAI,KAAK;gCAC/B,WAAW,GAAG,CAAC,CAAC;4BAEpB,eAAe,GAAG,mCAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;4BAC5K,IAAI,eAAe,CAAC,QAAQ,EAAE,IAAI,KAAK;gCACnC,eAAe,GAAG,CAAC,CAAC;yBAC3B;wBAED,eAAe,GAAG,mCAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;wBAE5K,YAAY,GAAG,mCAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;wBAE5K,IAAI,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC;wBAC5D,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;4BACpC,IAAI,YAAY,IAAI,KAAK,IAAI,cAAc,IAAI,KAAK,IAAI,eAAe,IAAI,KAAK,EAAE;gCAC9E,IAAI,eAAe,IAAI,SAAS;oCAC5B,YAAY,GAAG,eAAe,CAAC;gCACnC,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,EAAE;oCACvC,YAAY,GAAG,QAAQ,CAAC;6BAC/B;;gCAEG,YAAY,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;4BAEhE,IAAI,YAAY,IAAI,SAAS;gCACzB,SAAS,GAAG,YAAY,CAAC;yBAChC;;4BAEG,YAAY,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;wBAEhE,gDAAgD;wBAChD,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC7E,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACnG,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;qBACpI;iBACJ;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAG,EAAE,CAAC;YAElB,QAAQ,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC1E,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzC,EAAE,CAAC,yBAAyB,GAAG,QAAQ,CAAC;YACxC,GAAG,CAAC,iBAAiB,GAAG,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,IAAI,EAAE;gBAC3C,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;aACpC;iBACI;gBACD,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC1E,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gBACjD,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;aACpC;YACD,IAAI,EAAE,CAAC,WAAW,GAAG,GAAG,EAAE;gBACtB,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;aACpC;YACD,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;gBACpC,IAAI,GAAG,CAAC,kBAAkB,IAAI,IAAI,EAAE;oBAChC,EAAE,CAAC,UAAU,GAAG,gBAAgB,CAAC;iBACpC;qBACI;oBACD,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;iBACnE;aACJ;iBACI;gBACD,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;aACnE;YAED,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YACvD,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACjC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,iBAAiB,IAAI,CAAC,IAAI,iBAAiB,IAAI,IAAI,EAAE;gBACrD,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC9B,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;aAChC;iBACI;gBACD,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC3F,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7C,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;aAChC;YACD,IAAI,EAAE,CAAC,SAAS,GAAG,GAAG,EAAE;gBACpB,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC;gBACnB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;aAChC;YACD,IAAI,QAAQ,EAAE;gBACV,IAAI,eAAe,GAAG;oBAClB,mBAAmB,EAAE,GAAG,CAAC,iBAAiB;oBAC1C,aAAa,EAAE,GAAG,CAAC,WAAW;oBAC9B,iBAAiB,EAAE,GAAG,CAAC,eAAe;oBACtC,WAAW,EAAE,GAAG,CAAC,SAAS;iBAC7B;gBACD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;aAC5E;QACL,CAAC,EAAE,GAAG,CAAC;IACX,CAAC;IAED,oBAAoB;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,EAAE;YAChD,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,cAAc,GAAG,CAAC,CAAC;YACnB,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,IAAI,EAAE,IAAI,IAAI,EAAE;gBACZ,2CAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,EAAE;oBAChD,IAAI,EAAE,IAAI,IAAI,EAAE;wBACZ,cAAc,GAAG,GAAG,CAAC,iCAAiC,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;wBAC3F,mBAAmB,GAAG,GAAG,CAAC,6BAA6B,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;wBACjF,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC3G;gBACL,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,mBAAmB,GAAG,gBAAgB,CAAC;gBAC1C,EAAE,CAAC,mBAAmB,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;gBACjE,gBAAgB,GAAG,CAAC,CAAC;gBAErB,cAAc,GAAG,GAAG,CAAC,8BAA8B,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;aAC3F;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,6BAA6B;QAC7B,IAAI,CAAC,2BAA2B,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtG,iCAAiC;IACrC,CAAC;IAED,iCAAiC,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE;QAChE,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAC9B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;YAC9C,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;oBAC1B,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;oBAC7B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC5B,qBAAqB,GAAG,CAAC,CAAC;qBAC7B;yBACI;wBACD,IAAI,KAAK,CAAC,YAAY,CAAC,mBAAmB,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,mBAAmB,IAAI,EAAE,EAAE;4BAChG,qBAAqB,GAAG,CAAC,CAAC;yBAC7B;6BACI;4BACD,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC;yBAClE;wBAED,gCAAgC;wBAChC,IAAI,YAAY,GAAG,CAAC,CAAC;wBACrB,IAAI,EAAE,CAAC,MAAM,IAAI,UAAU,IAAI,EAAE,CAAC,MAAM,IAAI,YAAY,EAAE;4BACtD,YAAY,GAAG,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC,eAAc;4BACzE,6EAA6E;4BAC7E,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;yBAC5D;6BACI;4BACD,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC;yBACjC;wBACD,IAAI,EAAE,CAAC,sBAAsB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE;4BAC7H,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;4BACzG,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;4BACxE,4DAA4D;yBAC/D;6BAAM,IAAI,EAAE,CAAC,sBAAsB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,IAAI,IAAI,IAAI,KAAK,CAAC,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;4BACxI,IAAI,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;4BACjC,IAAI,aAAa,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,eAAc;4BACtF,aAAa,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;4BAChD,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC;yBACxD;6BACI;4BACD,IAAI,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;4BACrK,IAAI,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;4BAC1K,cAAc;4BACd,6EAA6E;4BAC7E,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;4BAC9C,IAAI,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;4BACjC,IAAI,aAAa,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,eAAc;4BAC/D,+EAA+E;4BAC/E,aAAa,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;4BAChD,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC;yBACxD;wBAED,KAAK;qBACR;oBACD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACzF;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,GAAG,EAAE;YAChB,cAAc,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAChD;aACI;YACD,cAAc,GAAG,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;SACrD;QACD,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE/C,IAAI,EAAE,CAAC,MAAM,IAAI,UAAU,IAAI,EAAE,CAAC,MAAM,IAAI,YAAY,EAAE;YACtD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/C,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YACzC,EAAE,CAAC,yBAAyB,GAAG,QAAQ,CAAC;SAC3C;aACI;YACD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5B,EAAE,CAAC,yBAAyB,GAAG,QAAQ,CAAC;SAC3C;QACD,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,6BAA6B,CAAC,mBAAmB,EAAE,EAAE;QACjD,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;YAC9C,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;oBAC1B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC5B,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;qBACtE;yBACI;wBACD,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;qBAChI;iBACJ;aACJ;YACD,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;QACH,mBAAmB,GAAG,iBAAiB,CAAC;QACxC,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED,8BAA8B,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE;QAC7D,EAAE,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC7C,cAAc,IAAI,cAAc,CAAC;QACjC,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,8BAA8B;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,8BAA8B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,GAAG,GAAG,IAAI,CAAC;YACf,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,EAAE;gBAChD,IAAI,EAAE,IAAI,IAAI,EAAE;oBACZ,IAAI,kBAAkB,GAAG,CAAC,CAAC;oBAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;oBACzB,2CAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,EAAE;wBAChD,IAAI,EAAE,IAAI,IAAI,EAAE;4BACZ,GAAG,CAAC,yCAAyC,CAAC,EAAE,CAAC,CAAC;4BAClD,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;4BAC7F,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;yBAC1F;oBACL,CAAC,CAAC,CAAC;oBACH,EAAE,CAAC,YAAY,GAAG,kBAAkB,CAAC;oBACrC,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;oBACnD,EAAE,CAAC,UAAU,GAAG,gBAAgB,CAAC;oBACjC,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;iBAClD;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,CAAC,CAAC;YAE3C,IAAI,iBAAqB,CAAC;YAC1B,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAE/C,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACpD,IAAI,YAAY,IAAI,IAAI,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC;iBACvD;gBACD,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,IAAI,UAAU,IAAI,IAAI,EAAE;oBACpB,IAAI,CAAC,YAAY,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC;iBACxD;gBACD,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAClD,IAAI,WAAW,IAAI,IAAI,EAAE;oBACrB,IAAI,CAAC,YAAY,CAAC,kBAAkB,IAAI,CAAC,WAAW,CAAC;iBACxD;gBACD,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACpD,IAAI,YAAY,IAAI,IAAI,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,oBAAoB,IAAI,CAAC,YAAY,CAAC;iBAC3D;aACJ;QACL,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,yCAAyC,CAAC,EAAE;QACxC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;YAC9C,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;oBAC1B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC5B,WAAW,GAAG,CAAC,CAAC;wBAChB,2CAAM,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,EAAE,KAAK;4BAC7C,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,EAAE;gCAC7B,eAAe,GAAG,CAAC,CAAC;6BACvB;4BACD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE;gCAC5C,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;6BAC3C;wBACL,CAAC,CAAC,CAAC;qBACN;yBACI;wBACD,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC;wBACrD,eAAe,GAAG,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC;qBACxD;oBACD,IAAI,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC;oBAClC,IAAI,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC;oBAE5D,IAAI,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC;oBAC5B,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,IAAI,GAAG,CAAC,sBAAsB,IAAI,SAAS,EAAE;wBAC/E,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;4BAC5B,IAAI,KAAK,CAAC,YAAY,CAAC,gBAAgB,IAAI,IAAI,EAAE;gCAC7C,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC;6BACtD;iCACI;gCACD,YAAY,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;6BAC/D;4BACD,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,EAAE;gCAE3C,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;6BACjD;;gCAEG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;yBAEzC;6BACI;4BACD,YAAY,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;4BAC5D,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;yBACrC;qBACJ;yBACI;wBACD,YAAY,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;qBAC/D;oBAED,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC9C,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACnG,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACjG;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,EAAE,CAAC,yBAAyB,GAAG,QAAQ,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC,yBAAyB,CAAC;QAC1D,IAAI,EAAE,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,IAAI,IAAI,EAAE;YAC/C,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACnC;aACI;YACD,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC1F;QACD,IAAI,EAAE,CAAC,WAAW,GAAG,GAAG,EAAE;YACtB,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC;SACxB;QAED,EAAE,CAAC,YAAY,GAAG,iBAAiB,CAAC;QACpC,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,IAAI,IAAI,CAAC,sBAAsB,IAAI,SAAS,EAAE;YACjF,EAAE,CAAC,UAAU,GAAG,gBAAgB,CAAC;SAEpC;aACI;YACD,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;SACxE;QACD,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC;QAC/B,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,EAAE;SACxC;aACI;YACD,iBAAiB,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;SACxD;QACD,iBAAiB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACjC,IAAI,iBAAiB,IAAI,CAAC,IAAI,iBAAiB,IAAI,IAAI,EAAE;YACrD,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACjC;aACI;YACD,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;YAC3F,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;SAChD;QACD,IAAI,EAAE,CAAC,SAAS,GAAG,GAAG,EAAE;YACpB,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC;SACtB;IACL,CAAC;IAGD,WAAW,CAAC,KAAK;QACb,KAAK,GAAG,CAAC,KAAK,CAAC;QACf,IAAI,KAAK,CAAC,KAAK,CAAC;YACZ,OAAO,GAAG,CAAC;QACf,QAAQ;QACR,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,aAAa;QACb,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,6BAA6B,CAAC,KAAK;QAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAClD,KAAK,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAAA,CAAC;IACF,kBAAkB,CAAC,KAAK;QACpB,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3D,IAAI,QAAQ,IAAI,EAAE,IAAI,QAAQ,GAAG,EAAE;eAC5B,CAAC,QAAQ,GAAG,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC,EAAE;YACrC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAAA,CAAC;IAEF,iCAAiC,CAAC,WAAW,EAAE,QAAQ;QACnD,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,IAAI,KAAK,EAAE;YACvG,KAAK,CAAC,2EAA2E,CAAC,CAAC;SACtF;aACI;YACD,IAAI,eAAe,GAAG,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YAC3D,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,IAAI,CAAC,kCAAkC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/D,eAAe,GAAG,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;SACpD;IACL,CAAC;IAED,kCAAkC,CAAC,WAAW,EAAE,QAAQ;QACpD,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,EAAE;YAChD,IAAI,EAAE,IAAI,IAAI,EAAE;gBACZ,2CAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,EAAE;oBAChD,IAAI,EAAE,IAAI,IAAI,EAAE;wBACZ,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,EAAE;4BAC3C,IAAI,EAAE,IAAI,IAAI,EAAE;gCACZ,IAAI,EAAE,CAAC,QAAQ,IAAI,QAAQ,EAAE;oCACzB,WAAW,GAAG,GAAG,CAAC,qCAAqC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;iCACvG;gCACD,IAAI,WAAW,IAAI,IAAI,EAAE;oCACrB,OAAO,KAAK,CAAC;iCAChB;6BACJ;wBACL,CAAC,CAAC,CAAC;qBACN;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,WAAW,IAAI,IAAI,EAAE;oBACrB,OAAO,KAAK,CAAC;iBAChB;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qCAAqC,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ;QAC5E,IAAI,eAAe,GAAG,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3D,IAAI,eAAe,IAAI,EAAE,EAAE;YACvB,eAAe,GAAG,CAAC,CAAC;SACvB;QACD,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;YAC9C,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;oBAC1B,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE;wBAC5B,IAAI,KAAK,CAAC,YAAY,CAAC,eAAe,IAAI,SAAS,EAAE;4BACjD,2CAAM,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,EAAE,KAAK;gCAC7C,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,EAAE;oCAC7B,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;iCACpC;gCACD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE;oCAC5C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,eAAe,CAAC;iCACxD;4BACL,CAAC,CAAC,CAAC;yBACN;6BACI;4BACD,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC;yBACrE;qBACJ;oBACD,IAAI,KAAK,CAAC,aAAa,IAAI,4BAA4B,IAAI,KAAK,CAAC,aAAa,IAAI,sDAAsD,IAAI,KAAK,CAAC,aAAa,IAAI,0CAA0C,EAAE;wBAC3M,gBAAgB,GAAG,mCAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;wBACrK,IAAI,gBAAgB,IAAI,CAAC,EAAE,EAAE;4BACzB,gBAAgB,GAAG,CAAC,CAAC;yBACxB;wBACD,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAClG;iBACJ;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,eAAe,GAAG,GAAG,EAAE;YACvB,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACxF,WAAW,GAAG,IAAI,CAAC;YACnB,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,eAAe,GAAG,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;SAC1D;aACI;YACD,IAAI,KAAK,GAAG,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACjD,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1C,eAAe,GAAG,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;SAC1D;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,gBAAgB,CAAC,QAAQ;QACrB,IAAI,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3C,IAAI,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACrC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,EAAE;YACpF,YAAY,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;SACpD;aACI;YACD,YAAY,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;SAC9C;QACD,IAAI,WAAW,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QACnD,IAAI,QAAQ,GAAG,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,eAAe,GAAG,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9J,IAAI,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC;QAC5D,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;QAChE,YAAY,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,EAAE;YACrC,IAAI,WAAW,IAAI,EAAE,IAAI,eAAe,IAAI,EAAE,IAAI,QAAQ,IAAI,KAAK,EAAE;gBACjE,YAAY,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;aAC7K;SACJ;QAED,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,YAAY,IAAI,IAAI,EAAE;YACtB,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,EAAE;gBACrC,iBAAiB,GAAG,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC1D,IAAI,KAAK,CAAC,iBAAiB,CAAC;oBACxB,iBAAiB,GAAG,CAAC,CAAC;gBAC1B,IAAI,iBAAiB,GAAG,GAAG;oBACvB,iBAAiB,GAAG,GAAG,CAAC;;oBAExB,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACzD;;gBACG,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC3C;aACI;YACD,iBAAiB,GAAG,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1D,IAAI,iBAAiB,GAAG,GAAG;gBACvB,iBAAiB,GAAG,GAAG,CAAC;;gBAExB,iBAAiB,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACzD;QAED,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,IAAI,IAAI,CAAC,0BAA0B,IAAI,CAAC,EAAE;YACjF,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACnC;aACI;YACD,aAAa,GAAG,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,GAAG,CAAC,CAAC;YACzE,aAAa,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;SACpD;QAED,2CAAM,CAAC,IAAI,EAAE,UAAU,OAAO,EAAE,QAAQ;YACpC,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAClB,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,EAAE;oBAC/B,QAAQ,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;oBAC7C,QAAQ,CAAC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;oBACvD,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;iBAClD;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAuKD,oBAAoB,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,kBAAkB,IAAI,KAAK,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,oBAAoB,GAAG,CAAC,CAAC;YAC7B,IAAI,GAAG,GAAG,IAAI,CAAC;YACf,IAAI,GAAG,CAAC,YAAY,IAAI,UAAU,IAAI,GAAG,CAAC,YAAY,IAAI,YAAY,EAAE;gBACpE,YAAY,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;gBACjD,IAAI,YAAY,IAAI,CAAC,EAAE,EAAE;oBACrB,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAClC;gBACD,WAAW,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC9C,oBAAoB,GAAG,mCAAC,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAAE,CAAC;aAC9D;iBACI;gBACD,WAAW,GAAG,mCAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvC,GAAG,GAAG,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;gBACnC,WAAW,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1C,oBAAoB,GAAG,mCAAC,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC;aAChD;YACD,IAAI,GAAG,CAAC,YAAY,IAAI,UAAU,EAAE;gBAChC,QAAQ,GAAG,mCAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;aACtC;YACD,IAAI,GAAG,CAAC,YAAY,IAAI,YAAY,EAAE;gBAClC,WAAW,GAAG,mCAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,EAAE,CAAC;aAC/C;YAGD,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC;YACzC,IAAI,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC;YAChC,IAAI,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;YAC1B,IAAI,YAAY,GAAG,GAAG,CAAC,kBAAkB,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC;YAEjD,IAAI,gBAAgB,GAAG,EAAE,CAAC;YAC1B,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,OAAO,EAAE,QAAQ;gBACrD,IAAI,mBAAmB,GAAG,EAAE,CAAC;gBAC7B,IAAI,QAAQ,IAAI,IAAI,EAAE;oBAClB,2CAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,UAAU,EAAE,WAAW;wBAClE,IAAI,WAAW,IAAI,IAAI,EAAE;4BACrB,IAAI,WAAW,CAAC,OAAO,IAAI,OAAO,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,IAAI,WAAW,CAAC,YAAY,IAAI,YAAY,IAAI,WAAW,CAAC,EAAE,IAAI,GAAG,CAAC,6BAA6B,EAAE;gCAC/J,yDAAyD;gCACzD,IAAI,MAAM,GAAG,CAAC,CAAC;gCACf,IAAI,eAAe,GAAG,CAAC,CAAC;gCACxB,IAAI,GAAG,CAAC,YAAY,IAAI,UAAU,IAAI,GAAG,CAAC,YAAY,IAAI,YAAY,EAAE;oCACpE,MAAM,GAAG,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC;oCACzE,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;iCACrC;qCACI;oCACD,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC;iCACpC;gCACD,KAAK;gCAEL,WAAW,CAAC,qBAAqB,GAAG,GAAG,CAAC;gCACxC,IAAI,WAAW,CAAC,qBAAqB,IAAI,EAAE,EAAE;oCACzC,WAAW,CAAC,qBAAqB,GAAG,CAAC,CAAC;iCACzC;gCACD,WAAW,CAAC,qBAAqB,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC;gCACpF,WAAW,CAAC,qBAAqB,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;gCACvF,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;gCACtC,IAAI,WAAW,CAAC,WAAW,IAAI,EAAE,EAAE;oCAC/B,WAAW,CAAC,WAAW,GAAG,CAAC,CAAC;iCAC/B;gCACD,WAAW,CAAC,WAAW,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;gCAChE,WAAW,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gCACnE,WAAW,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;gCACxD,IAAI,GAAG,CAAC,YAAY,IAAI,UAAU,IAAI,GAAG,CAAC,YAAY,IAAI,YAAY,EAAE;oCACpE,IAAI,WAAW,IAAI,CAAC,EAAE,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,CAAC,EAAE;wCAC/D,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;qCACzC;oCACD,WAAW,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;oCAC3D,YAAY,GAAG,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC;oCAC/E,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oCAC9C,IAAI,QAAQ,IAAI,CAAC,EAAE,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,EAAE;wCACtD,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;qCACnC;oCACD,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;iCACnC;gCACD,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC;gCACvC,WAAW,CAAC,YAAY,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,eAAc;gCAClF,qGAAqG;gCACrG,WAAW,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gCAErE,IAAI,cAAc,GAAG,EAAE,CAAC;gCACxB,IAAI,iBAAiB,GAAG,CAAC,CAAC;gCAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;gCACxB,2CAAM,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,GAAG,EAAE,UAAU;oCACxD,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,YAAY,IAAI,IAAI,EAAE;wCACvD,qFAAqF;wCACrF,IAAI,UAAU,CAAC,SAAS,IAAI,KAAK,EAAE;4CAC/B,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;4CAE7B,IAAI,iBAAiB,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,IAAI,SAAS,IAAI,UAAU,CAAC,YAAY,CAAC,mBAAmB,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;4CAE9L,eAAe,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,IAAI,SAAS,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC;4CAE7L,cAAc;4CACd,mFAAmF;4CACnF,eAAe,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;4CACpD,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;gDACpC,IAAI,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oDACnD,UAAU,CAAC,YAAY,CAAC,mBAAmB,GAAG,IAAI,CAAC;iDACtD;qDACI;oDACD,UAAU,CAAC,YAAY,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;wDAC3J,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;iDAC7K;gDACD,IAAI,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oDACvD,UAAU,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC;iDAClD;qDACI;oDACD,UAAU,CAAC,YAAY,CAAC,eAAe,GAAG,QAAQ,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;wDAC/J,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;iDACzL;6CACJ;iDACI;gDAED,IAAI,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oDACzG,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iDAChD;qDACI,IAAI,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oDACtH,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iDACjD;gDAED,UAAU,CAAC,YAAY,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oDAC3J,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gDAElL,IAAI,UAAU,CAAC,YAAY,CAAC,mBAAmB,IAAI,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC,mBAAmB,IAAI,IAAI,IAAI,UAAU,CAAC,YAAY,CAAC,mBAAmB,IAAI,KAAK,EAAE;oDAClK,UAAU,CAAC,YAAY,CAAC,mBAAmB,GAAG,CAAC,CAAC;iDACnD;gDACD,IAAI,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oDACjH,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iDACpD;qDACI,IAAI,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,mCAAC,CAAC,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oDAC1H,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iDACrD;gDAED,UAAU,CAAC,YAAY,CAAC,eAAe,GAAG,QAAQ,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;oDAC/J,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;gDAE9L,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,IAAI,EAAE,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,IAAI,IAAI,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,IAAI,KAAK,EAAE;oDACtJ,UAAU,CAAC,YAAY,CAAC,eAAe,GAAG,CAAC,CAAC;iDAC/C;6CACJ;4CACD,iCAAiC;4CAEjC,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;gDACpC,UAAU,CAAC,YAAY,CAAC,gBAAgB,GAAG,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gDACpN,UAAU,CAAC,YAAY,CAAC,cAAc,GAAG,mCAAC,CAAC,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gDACrN,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;gDACpH,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;gDAC9G,UAAU,CAAC,YAAY,CAAC,iBAAiB,GAAG,eAAe,CAAC;6CAE/D;iDACI;gDACD,IAAI,cAAc,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,IAAI,SAAS,IAAI,UAAU,CAAC,YAAY,CAAC,mBAAmB,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;gDACjM,IAAI,YAAY,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,IAAI,SAAS,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC;gDAEzL,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gDAC9C,IAAI,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;gDAC1C,IAAI,aAAa,GAAG,CAAC,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;gDAClD,aAAa,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gDAChD,UAAU,CAAC,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC;gDAE1D,KAAK;gDACL,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;gDACnG,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;6CACnG;4CAID,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,IAAI,UAAU,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,EAAE;gDAClF,IAAI,YAAY,GAAG,mCAAC,CAAC,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gDACjE,IAAI,WAAW,GAAG,mCAAC,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gDACnE,IAAI,CAAC,mCAAC,CAAC,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oDACjD,UAAU,CAAC,YAAY,CAAC,mBAAmB,GAAG,IAAI,CAAC;iDACtD;gDACD,IAAI,CAAC,mCAAC,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oDACnD,UAAU,CAAC,YAAY,CAAC,eAAe,GAAG,IAAI,CAAC;iDAClD;6CACJ;4CACD,gBAAgB;4CAChB,UAAU,CAAC,cAAc,GAAG,mCAAC,CAAC,qBAAqB,GAAG,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,qBAAqB,GAAG,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,qBAAqB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;4CAC1O,UAAU,CAAC,YAAY,GAAG,mCAAC,CAAC,mBAAmB,GAAG,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,mBAAmB,GAAG,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,mBAAmB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;4CAClO,UAAU,CAAC,uBAAuB,GAAG,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;4CAC9M,IAAI,YAAY,GAAG,EAAE,CAAC;4CACtB,YAAY,GAAG,CAAC;oDACZ,mBAAmB,EAAE,UAAU,CAAC,YAAY,CAAC,mBAAmB;oDAChE,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,eAAe;oDACxD,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,iBAAiB;oDAC5D,cAAc,EAAE,UAAU,CAAC,YAAY,CAAC,cAAc;oDACtD,gBAAgB,EAAE,UAAU,CAAC,YAAY,CAAC,gBAAgB;iDAC7D,CAAC;4CAEF,cAAc,CAAC,IAAI,CAAC;gDAChB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gDAC7B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;gDAC7B,cAAc,EAAE,UAAU,CAAC,cAAc;gDACzC,YAAY,EAAE,UAAU,CAAC,YAAY;gDACrC,uBAAuB,EAAE,CAAC,UAAU,CAAC,uBAAuB;gDAC5D,UAAU,EAAE,UAAU,CAAC,UAAU;6CACpC,CAAC;yCACL;qCACJ;gCACL,CAAC,CAAC,CAAC;gCAGH,WAAW,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;gCAC9D,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gCAE1D,mBAAmB,CAAC,IAAI,CAAC;oCACrB,EAAE,EAAE,GAAG,CAAC,6BAA6B;oCACrC,OAAO,EAAE,OAAO;oCAChB,IAAI,EAAE,IAAI;oCACV,YAAY,EAAE,YAAY;oCAC1B,MAAM,EAAE,GAAG,CAAC,YAAY;oCACxB,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;oCACxD,WAAW,EAAE,WAAW,CAAC,WAAW;oCACpC,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;oCACtD,WAAW,EAAE,WAAW,CAAC,WAAW;oCACpC,QAAQ,EAAE,WAAW,CAAC,QAAQ;oCAC9B,WAAW,EAAE,WAAW,CAAC,WAAW;oCACpC,cAAc,EAAE,cAAc;iCACjC,CAAC;6BACL;yBACJ;oBACL,CAAC,CAAC,CAAC;oBACH,gBAAgB,CAAC,IAAI,CAAC;wBAClB,EAAE,EAAE,GAAG,CAAC,0BAA0B;wBAClC,mBAAmB,EAAE,mBAAmB;qBAC3C,CAAC;iBACL;YACL,CAAC,CAAC,CAAC;YAEH,0FAA0F;YAC1F,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,OAAO,EAAE,SAAS;gBACtD,IAAI,SAAS,IAAI,IAAI,EAAE;oBACnB,IAAI,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,0BAA0B,EAAE;wBACjD,IAAI,qBAAqB,GAAG,CAAC,CAAC;wBAC9B,IAAI,sBAAsB,GAAG,CAAC,CAAC;wBAC/B,IAAI,qBAAqB,GAAG,CAAC,CAAC;wBAC9B,IAAI,sBAAsB,GAAG,CAAC,CAAC;wBAC/B,IAAI,oBAAoB,GAAG,CAAC,CAAC;wBAC7B,2CAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,UAAU,UAAU,EAAE,YAAY;4BACpE,IAAI,YAAY,IAAI,IAAI,EAAE;gCACtB,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gCAC5G,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gCAC/G,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;gCACxG,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gCAC/G,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;6BAC5G;wBACL,CAAC,CAAC,CAAC;wBACH,qKAAqK;wBACrK,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;wBAC/D,sIAAsI;wBACtI,SAAS,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;wBACjE,SAAS,CAAC,WAAW,GAAG,qBAAqB,CAAC;wBAC9C,sIAAsI;wBACtI,SAAS,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;wBACjE,gIAAgI;wBAChI,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;qBAChE;iBACJ;YACL,CAAC,CAAC,CAAC;YACH,KAAK;YAGL,IAAI,OAAO,GAAG,EACb,CAAC;YACF,OAAO,GAAG;gBACN,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW;gBACpH,gBAAgB,EAAE,gBAAgB;gBAClC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,sCAAsC;aAC5E;YACD,IAAI,CAAC,aAAa,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC1E,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBACvD,kCAAkC;gBAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAElC,8FAA8F;gBAC9F,IAAI,eAAe,GAAG;oBAClB,mBAAmB,EAAE,GAAG,CAAC,iBAAiB;oBAC1C,aAAa,EAAE,GAAG,CAAC,WAAW;oBAC9B,iBAAiB,EAAE,GAAG,CAAC,eAAe;oBACtC,WAAW,EAAE,GAAG,CAAC,SAAS;iBAC7B;gBACD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;gBAEzE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;gBAC1D,8CAA8C;gBAC9C,+BAA+B;gBAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,SAAS,EAAE;oBAC1B,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,SAAS;wBACpD,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;oBAC/C,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;iBACtC;YACL,CAAC,EAAE,KAAK,CAAC,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;SACN;aACI;YACD,KAAK,CAAC,kDAAkD,CAAC,CAAC;SAC7D;IACL,CAAC;IAID,6BAA6B,CAAC,WAAW,EAAE,QAAQ;QAC/C,IAAI,mBAAmB,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3D,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3D,mBAAmB,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,8BAA8B,CAAC,WAAW,EAAE,QAAQ;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;QAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,EAAE;YAChD,IAAI,EAAE,IAAI,IAAI,EAAE;gBACZ,2CAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,EAAE;oBAChD,IAAI,EAAE,IAAI,IAAI,EAAE;wBACZ,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,EAAE;4BAC3C,IAAI,EAAE,IAAI,IAAI,EAAE;gCACZ,IAAI,EAAE,CAAC,QAAQ,IAAI,QAAQ,EAAE;oCACzB,WAAW,GAAG,GAAG,CAAC,2CAA2C,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;iCAC7G;gCACD,IAAI,WAAW,IAAI,IAAI,EAAE;oCACrB,OAAO,KAAK,CAAC;iCAChB;6BACJ;wBACL,CAAC,CAAC,CAAC;qBACN;gBACL,CAAC,CAAC,CAAC;gBACH,IAAI,WAAW,IAAI,IAAI,EAAE;oBACrB,OAAO,KAAK,CAAC;iBAChB;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2CAA2C,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ;QAClF,IAAI,mBAAmB,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3D,IAAI,mBAAmB,IAAI,EAAE,EAAE;YAC3B,mBAAmB,GAAG,CAAC,CAAC;SAC3B;QACD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,UAAU,GAAG,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;YAC/D,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QACH,2CAAM,CAAC,UAAU,EAAE,UAAU,OAAO,EAAE,KAAK;YACvC,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE;oBAC1B,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE;wBAC5B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI;4BAC1B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;;4BAE7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC;qBACzE;oBACD,kBAAkB,GAAG,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC3J,IAAI,kBAAkB,IAAI,CAAC,EAAE;wBACzB,kBAAkB,GAAG,CAAC,CAAC;oBAE3B,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACtF;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,2CAAM,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;YAC9D,IAAI,OAAO,IAAI,IAAI;gBACf,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,IAAI,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;QACnI,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,EACd,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,UAAU,GAAG;YAC3B,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,IAAI,EAAE;gBACP,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;aAClC;YACD,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE;YACtB,SAAS,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,GAAG;gBACP,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC;aACvB,CAAC,CAAC;SACN;QAED,IAAI,OAAO,GAAG,oRAAoR,CAAC;QACnS,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,2CAAM,CAAC,SAAS,EAAE,UAAU,OAAO,EAAE,IAAI;YACrC,IAAI,IAAI,IAAI,IAAI,EAAE;gBACd,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,2CAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,SAAS,EAAE,KAAK;oBACzC,IAAI,KAAK,IAAI,IAAI,EAAE;wBACf,IAAI,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE;4BACnB,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE;gCAC5B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;oCAC5B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;iCAChC;qCACI;oCACD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC;iCACrE;6BACJ;4BACD,+DAA+D;4BAC/D,kBAAkB,GAAG,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;4BAC3J,IAAI,kBAAkB,IAAI,CAAC,EAAE,EAAE;gCAC3B,kBAAkB,GAAG,CAAC,CAAC;6BAC1B;4BAED,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;yBACxF;6BACI;4BACD,IAAI,SAAS,GAAG,CAAC,CAAC;4BAClB,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE;gCAC5B,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE;oCAC5B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;iCAChC;qCACI;oCACD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC;iCACrE;6BACJ;4BACD,8DAA8D;4BAC9D,kBAAkB,GAAG,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;4BACpK,IAAI,kBAAkB,IAAI,CAAC,EAAE,EAAE;gCAC3B,kBAAkB,GAAG,CAAC,CAAC;6BAC1B;4BACD,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;4BACrF,IAAI,WAAW,GAAG,GAAG,GAAG,QAAQ,CAAC;4BACjC,IAAI,SAAS,GAAG,WAAW,EAAE;gCACzB,IAAI,WAAW,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,EAAE;oCAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;oCACf,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oCAClC,mBAAmB,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;iCAC1D;6BACJ;yBACJ;qBACJ;gBACL,CAAC,CAAC,CAAC;gBACH,EAAE;gBACF,IAAI,IAAI,CAAC,EAAE,IAAI,MAAM,EAAE;oBACnB,IAAI,UAAU,GAAG,GAAG,GAAG,QAAQ,CAAC;oBAChC,IAAI,SAAS,GAAG,UAAU,EAAE;wBACxB,IAAI,WAAW,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,EAAE;4BAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;4BACf,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAClC,mBAAmB,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;yBAC1D;6BACI;4BACD,GAAG,GAAG,IAAI,CAAC;yBACd;qBACJ;iBACJ;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,GAAG,EAAE;YACL,KAAK,CAAC,OAAO,CAAC,CAAC;YACf,WAAW,GAAG,IAAI,CAAC;YACnB,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,mBAAmB,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;SAC1D;aACI;YACD,IAAI,QAAQ,GAAG,GAAG,EAAE;gBAChB,KAAK,CAAC,OAAO,CAAC,CAAC;gBACf,WAAW,GAAG,IAAI,CAAC;gBACnB,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClC,mBAAmB,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;aAC1D;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,yBAAyB,CAAC,MAAM,EAAE,qBAAqB;QACnD,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,eAAe,GAAG,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAC9E,IAAI,YAAY,GAAG,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,eAAe,GAAG,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAC9E,GAAG,CAAC,iBAAiB,GAAG,eAAe,CAAC;QACxC,GAAG,CAAC,SAAS,GAAG,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;YACpC,2CAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,GAAG,EAAE,KAAK;gBACjD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACf,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,EAAE;wBAC1B,wGAAwG;wBACxG,IAAI,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;4BACtD,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;yBAC7G;6BAGG,IAAI,mCAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,EAAE;4BAC1D,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM;yBACrC;6BACI;4BACD,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;yBAC5F;qBACR;yBACI;wBACD,IAAI,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;4BACtD,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;yBAC7G;;4BAEG,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;qBAChG;iBAEJ;YACL,CAAC,CAAC,CAAC;SACN;IAEL,CAAC;IAED,WAAW,CAAC,KAAK;QACb,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YACxB,OAAO,CAAC,OAAO,CAAC,mDAAmD,EAAE,UAAU,MAAM;YAErF,CAAC,CAAC,CAAC;YACH,mCAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;SACjC;IACL,CAAC;IAED,cAAc,CAAC,KAAK;QAChB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,gCAAgC;QAChC,8FAA8F;QAE9F,UAAU;QACV,qCAAqC;QACrC,IAAI;QACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC5C,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;YACjC,YAAY,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;SAC9C;aACI,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE;YACxC,YAAY,GAAG,mCAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,EAAE,CAAC;SAChD;QAED,IAAI,GAAG,GAAG,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,YAAY,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;QACxC,qDAAqD;QACrD,wFAAwF;QACxF,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,6BAA6B;QACzB,IAAI,GAAG,GAAG,IAAI,CAAC;QAEf,IAAI,IAAI,GAAG,GAAG,CAAC,oBAAoB,CAAC;QACpC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE;YACtE,YAAY,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;SACpD;aACI;YACD,YAAY,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;SAC9C;QAED,2CAAM,CAAC,IAAI,EAAE,UAAU,OAAO,EAAE,QAAQ;YACpC,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAClB,IAAI,QAAQ,GAAG,mCAAC,CAAC,aAAa,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBACnF,IAAI,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBACrG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC9C;qBACI,IAAI,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBAClH,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC/C;gBAED,IAAI,WAAW,GAAG,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC7K,IAAI,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;oBAC7G,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAClD;qBACI,IAAI,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBAC1H,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnD;gBACD,IAAI,eAAe,GAAG,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBACzL,IAAI,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC5D,IAAI,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,eAAc;gBAC7F,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC7C,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,IAAI,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBAEhF,IAAI,WAAW,IAAI,EAAE,IAAI,eAAe,IAAI,EAAE,IAAI,QAAQ,IAAI,KAAK,EAAE;wBACjE,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;qBACtM;iBACJ;gBACD,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,IAAI,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBAChF,IAAI,CAAC,mCAAC,CAAC,WAAW,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;wBACpE,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;qBACtM;yBACI,IAAI,CAAC,mCAAC,CAAC,aAAa,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;wBAC3E,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;qBACtM;yBACI,IAAI,QAAQ,IAAI,KAAK,EAAE;wBACxB,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mCAAC,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;qBACtM;yBAAM;wBACH,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC,eAAc;wBACzF,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;qBAChD;iBACJ;gBAED,IAAI,iBAAiB,GAAG,CAAC,CAAC;gBAC1B,IAAI,YAAY,IAAI,IAAI,EAAE;oBACtB,IAAI,GAAG,CAAC,sBAAsB,IAAI,IAAI,EAAE;wBACpC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACvE,IAAI,KAAK,CAAC,iBAAiB,CAAC;4BACxB,iBAAiB,GAAG,CAAC,CAAC;wBAC1B,IAAI,iBAAiB,GAAG,GAAG;4BACvB,iBAAiB,GAAG,GAAG,CAAC;qBAC/B;;wBAEG,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAG3C;qBACI;oBACD,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAc;oBACrF,uFAAuF;oBACvF,qDAAqD;oBACrD,IAAI,iBAAiB,GAAG,GAAG;wBACvB,iBAAiB,GAAG,GAAG,CAAC;iBAC/B;gBAED,IAAI,aAAa,GAAG,CAAC,CAAC;gBACtB,IAAI,GAAG,CAAC,0BAA0B,IAAI,IAAI,IAAI,GAAG,CAAC,0BAA0B,IAAI,CAAC,EAAE;oBAC/E,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBACnC;qBACI;oBACD,aAAa,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,0BAA0B,CAAC,GAAG,GAAG,CAAC,CAAC,eAAc;oBACvF,+EAA+E;oBAC/E,aAAa,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;iBACnD;gBACD,QAAQ,CAAC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;gBAC7C,QAAQ,CAAC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;gBACvD,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;aAClD;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,sBAAsB;QAClB,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE;YACtE,IAAI,YAAY,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,IAAI,WAAW,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,iBAAiB,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;YACrD,mCAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;SAC1E;aACI;YACD,IAAI,YAAY,GAAG,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,WAAW,GAAG,mCAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;YAC3C,IAAI,iBAAiB,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC;YACrD,mCAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACnE;QACD,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,cAAc;QACV,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,QAAQ,GAAG,mCAAC,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,kBAAkB,GAAG,GAAG,CAAC,0BAA0B,CAAC;QACxD,IAAI,qBAAqB,GAAG,GAAG,CAAC,6BAA6B,CAAC;QAC9D,IAAI,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC;QACzC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,uCAAuC;QACvC,IAAI,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC;QAChC,IAAI,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;QAC1B,IAAI,YAAY,GAAG,GAAG,CAAC,kBAAkB,CAAC;QAE1C,2CAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,OAAO,EAAE,QAAQ;YACrD,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAClB,2CAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,UAAU,EAAE,WAAW;oBAClE,IAAI,WAAW,IAAI,IAAI,EAAE;wBACrB,IAAI,WAAW,CAAC,OAAO,IAAI,OAAO,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,IAAI,WAAW,CAAC,YAAY,IAAI,YAAY;4BACtG,WAAW,CAAC,EAAE,IAAI,GAAG,CAAC,6BAA6B,EAAE;4BACrD,WAAW,GAAG,WAAW,CAAC,eAAe,CAAC;4BAC1C,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,EAAE,IAAI,WAAW,CAAC,eAAe,IAAI,IAAI,EAAE;gCAC5F,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;gCACtD,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gCACvC,IAAI,GAAG,GAAG,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;gCACvC,IAAI,YAAY,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;gCACvC,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gCAC9C,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gCACxC,IAAI,SAAS,GAAG,mCAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;gCACzC,IAAI,YAAY,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;gCAC9C,YAAY,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gCAC9C,mCAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;6BAC5C;yBAEJ;qBACJ;gBACL,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,8BAA8B,EAAE,CAAC;QACrC,GAAG,CAAC,6BAA6B,EAAE,CAAC;QACpC,GAAG,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,sBAAsB;QAClB,IAAI,WAAW,GAAG,mCAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,IAAI,EAAE,EAAE;YAC9D,IAAI,GAAG,GAAG,mCAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;YACvC,IAAI,SAAS,GAAG,mCAAC,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,YAAY,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;YACvC,YAAY,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC/C,mCAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,YAAY,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,eAAc;YAC5D,6EAA6E;YAC7E,YAAY,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC/C,mCAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACtC,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACrC,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;SACpD;IACL,CAAC;IACD,aAAa,CAAC,qBAAqB,EAAE,IAAI;QAErC,IAAI,YAAY,GAAG,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,WAAW,GAAG,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,WAAW,GAAG,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,aAAa,GAAG,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAE5E,IAAI,IAAI,IAAI,QAAQ,EAAE;YAElB,IAAI,YAAY,IAAI,KAAK,EAAE;gBACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC7D,mCAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACjD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACzC;iBACI;gBACD,IAAI,WAAW,IAAI,IAAI;oBACnB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAClC,mCAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC5D,mCAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;aACtC;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAE,oBAAoB;aACrG;YACD,IAAI,MAAM,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;YAC/C,IAAI,WAAW,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;YAClD,IAAI,iBAAiB,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;YAE/C,mCAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACnC;SACJ;QACD,IAAI,IAAI,IAAI,WAAW,EAAE;YACrB,qGAAqG;YACrG,IAAI,WAAW,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAChE,mCAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aAC3C;iBACI;gBACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,YAAY,IAAI,IAAI;oBACpB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAClC,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC/D,mCAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBACpD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aAErC;SACJ;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,IAAI,IAAI,SAAS,EAAE;gBACnB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;gBAC5E,IAAI,WAAW,IAAI,KAAK,EAAE;oBACtB,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC9D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,mCAAC,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAClD;qBACI;oBACD,mCAAC,CAAC,WAAW,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC7D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;iBACrC;aACJ;YACD,IAAI,IAAI,IAAI,WAAW,EAAE;gBACrB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;gBAC5E,IAAI,aAAa,IAAI,KAAK,EAAE;oBACxB,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAChE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,mCAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACtD;qBACI;oBACD,mCAAC,CAAC,aAAa,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC/D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;iBACrC;aACJ;YAED,IAAI,WAAW,IAAI,KAAK,IAAI,WAAW,IAAI,KAAK,IAAI,aAAa,IAAI,KAAK,EAAE;gBACxE,IAAI,IAAI,IAAI,QAAQ,EAAE;oBAClB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAChC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;oBAC/E,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;iBAC/E;aAEJ;iBACI,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE;gBAC1E,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACnC;SACJ;IAEL,CAAC;IAED,wBAAwB;QACpB,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,oBAAoB,CAAC;YAC1B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACzF,IAAI,CAAC,mCAAC,CAAC,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACvE,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aAC3C;SACJ;QACD,IAAI,MAAM,GAAG,mCAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,IAAI,WAAW,GAAG,mCAAC,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC;QAClD,IAAI,iBAAiB,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;QAE/C,mCAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtC,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAG7F,CAAC;IAED,eAAe,CAAC,KAAK;QACjB,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,YAAY,CAAC,QAAQ,EAAE,GAAG;QACtB,IAAI,MAAM,GAAG,mCAAC,CAAC,qBAAqB,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7E,IAAI,MAAM,GAAG,mCAAC,CAAC,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3E,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,SAAS,EAAE;YACpC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACT,mCAAC,CAAC,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,mDAAmD,CAAC,CAAC;gBACxF,mCAAC,CAAC,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACzF;SACJ;IACL,CAAC;IAED,gBAAgB;QACZ,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,SAAS;YACpD,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;IAClD,CAAC;IAED,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC;QAExC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,SAAS,EAAE;YACtD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;SACtB;aAAM;YACH,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;YAC/C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;YACvD,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;SAC9C;IACL,CAAC;;gGAn0EQ,wBAAwB;wGAAxB,wBAAwB;QCbrC,yEAAgE;QAC5D,yEAA2B;QACvB,yEAAwE;QACpE,yEAAwD;QACpD,uEACsB;QADnB,2IAAS,sBAAkB,IAAC;QACT,oEAA8D;QAAA,4DAAI;QACxF,wEAAgB;QAAA,uDAAkC;QAAA,4DAAK;QAC3D,4DAAM;QACV,4DAAM;QACN,yEAAwC;QACpC,uEAAiB;QAAA,0FAA8B;QAAA,4DAAI;QACnD,4HACwB;QACxB,2EAAyB;QACrB,2EAA8B;QAE1B,4HAoDQ;QACR,4HAgDQ;QACZ,4DAAM;QACV,4DAAM;QACN,2EAAsB;QAClB,2EAA2B;QACvB,2EAA6B;QACzB,2EAAuB;QACnB,2EAAsB;QAClB,sEAC4D;QAChE,4DAAM;QACN,2EAA6E;QACzE,2EAAgC;QAC5B,2EAA2B;QAAA,wDAAyB;QAAA,4DAAM;QAC1D,2EAAwB;QAAA,gFAAoB;QAAA,4DAAM;QACtD,4DAAM;QACN,2EAAgC;QAC5B,2EAA2B;QAAA,wDAAiB;QAAA,4DAAM;QAClD,2EAAwB;QAAA,8EAAkB;QAAA,4DAAM;QACpD,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,2EAA2B;QACvB,2EAA6B;QACzB,2EAAuB;QACnB,2EAAsB;QAClB,sEAC0D;QAC9D,4DAAM;QACN,2EAA6E;QACzE,2EAAgC;QAC5B,2EAA2B;QAAA,wDAAqB;QAAA,4DAAM;QACtD,2EAAwB;QAAA,4EAAgB;QAAA,4DAAM;QAClD,4DAAM;QACN,2EAAgC;QAC5B,2EAA2B;QAAA,wDAAe;QAAA,4DAAM;QAChD,2EAAwB;QAAA,4EAAgB;QAAA,4DAAM;QAClD,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,sEAAI;QAAA,kFAAsB;QAAA,4DAAK;QAC/B,2EAA8B;QAC1B,2EAA8B;QAC1B,6EAA2D;QACvD,yEAAO;QACH,sEAAI;QACA,0EAA+D;QAAA,yEACnC;QAAA,kEAAM;QAAA,4DAAI;QAEtC,4DAAK;QACL,0EAA8D;QAAA,yEAClC;QAAA,4EAChB;QAAA,4DAAI;QAAA,4DAAK;QACrB,0EAA8D;QAAA,yEAClC;QAAA,0EAAc;QAAA,4DAAI;QAC9C,4DAAK;QACL,0EAA+D;QAAA,yEACnC;QAAA,0FAChB;QAAA,4DAAI;QAAA,4DAAK;QACrB,0EAAgE;QAC5D,yEAEuE;QAAA,sEAC3D;QAAA,4DAAI;QAChB,2HAIQ;QACZ,4DAAK;QACL,0EAAmD;QAC/C,yEAEuE;QAAA,8EAC1D;QAAA,4DAAI;QACjB,2HAIQ;QACZ,4DAAK;QACL,0EAA4B;QAAA,yEAEyB;QAAA,gFAAoB;QAAA,4DAAI;QAAA,4DAAK;QAClF,qHAGoB;QACpB,0EAAgB;QAAA,yEAEa;QAAA,4FAEN;QAAA,4DAAI;QAAA,4DAAK;QAChC,0EAAgB;QAAA,yEAE2D;QAAA,2FAC7C;QAAA,4DAAI;QAAA,4DAAK;QACvC,0EAAuC;QAAA,gEAAI;QAAA,4DAAK;QACpD,4DAAK;QACT,4DAAQ;QACR,yEAAO;QAEH,uHAkKK;QACT,4DAAQ;QACZ,4DAAQ;QACZ,4DAAM;QACV,4DAAM;QAEN,2EAA0E;QACtE,uEAAK;QACD,qEAEK;QACT,4DAAM;QACN,sEAEM;QACV,4DAAM;QACN,2EAAwD;QACpD,8EAAqF;QAA7B,iJAAS,sBAAkB,IAAC;QAAC,kEAAM;QAAA,4DAAS;QACpG,8EAC2C;QAAvC,uJAAS,gCAA4B,IAAC;QAAC,gEAAI;QAAA,4DAAS;QAC5D,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,6EAAiC;;QArZD,0DAAkC;QAAlC,kHAAkC;QAKT,0DAAkC;QAAlC,oGAAkC;QAMlE,0DAAgE;QAAhE,oIAAgE;QAqDhE,0DAAgE;QAAhE,oIAAgE;QAwDjC,0DAA6B;QAA7B,wFAA6B;QAItB,0DAAyB;QAAzB,mGAAyB;QAIzB,0DAAiB;QAAjB,2FAAiB;QAYxB,0DAA2B;QAA3B,sFAA2B;QAIpB,0DAAqB;QAArB,+FAAqB;QAIrB,0DAAe;QAAf,yFAAe;QAiCnB,2DAAkC;QAAlC,oGAAkC;QAWT,0DAAkC;QAAlC,oGAAkC;QASrE,0DAAkC;QAAlC,oGAAkC;QAkBnC,2DAAyB;QAAzB,6FAAyB;;;;;;;;;;;;;;AClOzE;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAGzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,IAAI;IAEjB,0CAA0C;IAC3C,UAAU,EAAE,8DAA8D;IAEzE,WAAW,EAAE,sCAAsC;IACnD,WAAW,EAAE,sCAAsC;IACnD,SAAS,EAAE,yEAAyE;IACpF,gBAAgB,EAAE,0DAA0D;IAE5E,UAAU;IACV,MAAM,EAAE,8CAA8C;IACtD,SAAS,EAAE,0DAA0D;CAOtE,CAAC;AAGF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBnE,IAAY,WASX;AATD,WAAY,WAAW;IACnB,gCAAiB;IACjB,gCAAiB;IACjB,sCAAuB;IACvB,sCAAuB;IACvB,4BAAa;IACb,oCAAqB;IACrB,0BAAW;IACX,8BAAe;AACnB,CAAC,EATW,WAAW,KAAX,WAAW,QAStB;AACD,IAAY,SAMX;AAND,WAAY,SAAS;IACjB,gBAAgB;IAChB,uDAAiB;IACjB,qDAAgB;IAChB,2DAAmB;IACnB,yCAAU;AACd,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED,IAAI,IAAI,GAAG;IACP,GAAG,EAAE,gDAAgD;IACrD,KAAK,EAAE,kDAAkD;IACzD,IAAI,EAAE,yCAAyC;IAC/C,IAAI,EAAE,sDAAsD;IAC5D,OAAO,EAAE,oDAAoD;IAC7D,MAAM,EAAE,2CAA2C;IACnD,QAAQ,EAAE,6CAA6C;CAC1D,CAAC;AAGK,MAAM,aAAa;IAUtB,YAAoB,MAAc,EAAU,SAA2B,EAAU,WAAwB,EAAU,aAA4B;QAA3H,WAAM,GAAN,MAAM,CAAQ;QAAU,cAAS,GAAT,SAAS,CAAkB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,kBAAa,GAAb,aAAa,CAAe;QATvI,aAAQ,GAAG,SAAS,CAAC;QAItB,iBAAY,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC7D,8CAA8C;QACvC,gBAAW,GAAQ,EAAE,CAAC;QACtB,sBAAiB,GAAG,IAAI,CAAC;IAEmH,CAAC;IAEpJ,gBAAgB;QACZ,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG;YAC3B,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YACxD,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE;YAC/E,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,CAAC;YACZ,EAAE,EAAE,EAAE;YACN,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,EAAE;YAClB,kBAAkB,EAAE,EAAE;YACtB,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE;gBACN,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE;gBAC9D,YAAY,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE;gBACxC,kBAAkB,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;aAC5E;SAEJ;QACD,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;QAE3C,IAAI,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,0BAA0B;QAC1B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;gBACxB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;gBACvB,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAC5B,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,KAAK;aACxB,CAAC;YACF,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SACnD;aACI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;gBACxB,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;gBACvB,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC5B,MAAM,EAAE,IAAI;gBACZ,kCAAkC;gBAClC,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;aACtB,CAAC;YACF,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAE5E;QACD,uGAAuG;aAClG,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAE,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,mBAAmB;YACnH,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,cAAc,CAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAE,EACxJ;YACI,IAAI,CAAC,WAAW,CAAC,WAAW,GAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;SAClF;QACD,YAAY;aACP,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,qBAAqB,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE;YAClG,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;gBAClC,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,KAAK;gBACrB,QAAQ,EAAE,IAAI;gBACd,cAAc,EAAE,EAAE;gBAClB,kBAAkB,EAAE,EAAE;gBACtB,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,IAAI;aACvB,CAAC;YACF,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAChD,4DAA4D;SAC/D;QACD,8BAA8B;aACzB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,qBAAqB,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,wBAAwB;YAC5H,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC/K,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC/K,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC9K,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACrC,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;aACtB,CAAC;YACF,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SACjK;QACN,sBAAsB;aACZ,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,qBAAqB,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,EAAG,EAAE,wBAAwB;YAC9H,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC/M,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC9M,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC9M,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;gBACrC,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;aACtB,CAAC;YACF,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SACjK;QAED,yBAAyB;QACzB,yGAAyG;QACzG,2BAA2B;QAC3B,2CAA2C;QAC3C,uBAAuB;QACvB,yBAAyB;QACzB,8BAA8B;QAC9B,2BAA2B;QAC3B,4LAA4L;QAC5L,4LAA4L;QAC5L,2LAA2L;QAC3L,+CAA+C;QAC/C,wBAAwB;QACxB,2BAA2B;QAC3B,0BAA0B;QAC1B,uBAAuB;QACvB,kBAAkB;QAClB,0BAA0B;QAC1B,8BAA8B;QAC9B,SAAS;QAET,wEAAwE;QACxE,uDAAuD;QACvD,qCAAqC;QACrC,8FAA8F;QAC9F,wJAAwJ;QACxJ,uEAAuE;QACvE,sGAAsG;QACtG,yGAAyG;QACzG,yGAAyG;QACzG,4GAA4G;QAC5G,kLAAkL;QAClL,QAAQ;QACR,aAAa;QACb,0JAA0J;QAC1J,QAAQ;QACR,IAAI;QACJ,qBAAqB;aAChB,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;YACpG,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,CAAC;gBACf,IAAI,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC7M,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC/M,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC/M,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC9M,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;gBACnC,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;aACtB,CAAC;YAEF,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAChD,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;gBACzB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1K,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI;gBAC7I,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBAC5D,IAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAC;oBACpP,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC3G,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC9G,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC9G,IAAI,CAAC,WAAW,CAAC,mBAAmB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAChH;gBACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,CAAC,CAAC;aAC7K;iBACI;gBACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;aAClJ;SACJ;QAED,6BAA6B;aAExB,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACxJ,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC/M,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC/M,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC9M,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;gBACnC,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;aACtB,CAAC;YAEF,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SAEtJ;aAEI,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACjG,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC/M,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;gBACnC,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;aACtB,CAAC;YAEF,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAC,EAAE,CAAC,CAAC;SAE3F;QAED,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,SAAS,EAAE;YAC5C,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;YACpD,4CAA4C;YAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,gDAA+C;YAC/G,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,iDAAgD;SACvH;aACI;YACD,0DAA0D;YAC1D,IAAI,CAAC,WAAW,GAAG;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,KAAK;aACtB,CAAC;YACF,IAAI,QAAQ,GAAG;YACX,8BAA8B;aACjC;YACD,8CAA8C;YAC9C,gDAAgD;YAChD,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,SAAS,EAAE;gBAC5C,cAAc,CAAC,aAAa,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;gBAC3E,cAAc,CAAC,aAAa,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;aAElF;YACD,KAAK;SACR;QAAA,CAAC;QAEF,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,SAAS;YAC3C,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC;aACjD;YACD,yDAAyD;YACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;YACnD,yBAAyB;YACzB,kEAAkE;YAClE,SAAS;SACZ;QACD,0BAA0B;IAC9B,CAAC;IACD,mBAAmB,CAAC,OAAgB;QAEhC,OAAO,CAAC,KAAK,CAAC;YACV,KAAK,EAAE,6CAA6C;YACpD,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACvI,CAAC;IAGL,wBAAwB,CAAC,KAAK;QAE1B,MAAM,iBAAiB,GAAG,WAAW,CAAC;QACtC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAG,KAAK,IAAI,MAAM,EAClB;YACI,OAAO,MAAM,CAAC;SACjB;aACI,IAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EACrC;YACI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SACnD;aACI,IAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EACtB;YACD,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;YAChC,OAAO,MAAM,CAAC;SACd;aAED;YACI,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;YACjC,OAAO,KAAK,CAAC;SAEhB;IACL,CAAC;;0EA1XI,aAAa;gGAAb,aAAa,WAAb,aAAa,mBADA,MAAM;;;;;;;;;;;;;ACvChC;AAAA;AAAA;AAAyB;AAEzB,MAAM,MAAM;IACR,gBAAe,CAAC;IAET,aAAa,CAAC,KAAK;QACtB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAG,KAAK,CAAC,QAAQ,CAAC,EAAC,CAAC;YACvD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACtB,CAAC;IAEM,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAgB;QACnD,IAAI,eAAe,EAAE;YAChB,OAAO,yCAAS,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9C,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;iBACrB,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;iBAC1B,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;iBACpB,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;iBACtB,IAAI,CAAC,OAAO,EAAC,kBAAkB,CAAC;iBAChC,IAAI,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;SACjD;aAAM;YACH,OAAQ,yCAAS,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9C,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;iBACrB,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;iBAC1B,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;iBACpB,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;iBACtB,IAAI,CAAC,OAAO,EAAC,kBAAkB,CAAC;iBAChC,IAAI,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;SACjD;IACL,CAAC;IAEM,QAAQ,CAAC,QAAS;QACrB,IAAI,QAAQ,EAAE;YACV,yCAAS,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;SACzD;aAAM;YACH,yCAAS,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;SAClC;IACL,CAAC;IAEM,cAAc,CAAC,QAAQ;QAC1B,IAAI,QAAQ,EAAE;YACV,yCAAS,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;SAChE;aAAM;YACH,yCAAS,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;SACzC;IACL,CAAC;CACJ;AACD,MAAM,MAAM,GAAI,IAAI,MAAM,EAAE,CAAC;AACb;;;;;;;;;;;;;ACnDhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsD;;;;AAKtD,mBAAmB;AAGZ,MAAM,oBAAoB;IAI/B,YAAoB,IAAgB,EAAU,SAA2B;QAArD,SAAI,GAAJ,IAAI,CAAY;QAAU,cAAS,GAAT,SAAS,CAAkB;QACvE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAC7D,IAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW;YACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;;YAEpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;IACvD,CAAC;IAED,wCAAwC;IAGxC,mBAAmB,CAAI,WAAmB,EAAE,QAAiB;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,+BAA+B,GAAG,WAAW,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC;IACzG,CAAC;IAGD,oBAAoB;IACpB,iBAAiB,CAAI,UAAkB,EAAE,IAAa,EAAE,WAAmB;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,6BAA6B,GAAG,UAAU,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3H,CAAC;IAGD,kBAAkB,CAAI,OAAe;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,8BAA8B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,iCAAiC,CAAI,OAAe;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,6CAA6C,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,uBAAuB,CAAI,OAAe;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,mCAAmC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,kBAAkB,CAAI,WAAmB,EAAE,SAAiB;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,8BAA8B,GAAG,WAAW,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;IACzG,CAAC;IACD,2BAA2B,CAAI,OAAe;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,uCAAuC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,mBAAmB,CAAI,OAAe;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC;IACvF,CAAC;IACD,gBAAgB,CAAI,YAAoB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,4BAA4B,EAAE,EAAE,YAAY,EAAE,CAAC;IACzF,CAAC;IACD,iBAAiB,CAAI,UAAkB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,6BAA6B,EAAE,EAAE,UAAU,EAAE,CAAC;IACxF,CAAC;IACD,kBAAkB,CAAI,QAAgB,EAAE,SAAiB,EAAE,MAAc,EAAE,KAAa,EAAE,MAAc;QACtG,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,8BAA8B,GAAG,QAAQ,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC;IAClJ,CAAC;IACD,sBAAsB,CAAI,OAAe;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,kCAAkC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1F,CAAC;IAED,cAAc,CAAI,YAAoB,EAAE,WAAmB,EAAE,SAAiB;QAC5E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,0BAA0B,GAAG,YAAY,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC;IAC1H,CAAC;IACD,iCAAiC,CAAI,WAAmB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,6CAA6C,GAAG,WAAW,CAAC,CAAC;IACtG,CAAC;IACD,YAAY,CAAI,WAAmB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,wBAAwB,GAAG,WAAW,CAAC,CAAC;IACjF,CAAC;IACD,sBAAsB,CAAI,OAAe;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,kCAAkC,GAAG,OAAO,CAAC,CAAC;IACvF,CAAC;IACD,yBAAyB,CAAI,iBAAyB;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,OAAO,GAAG,kCAAkC,EAAE,EAAE,iBAAiB,EAAE,CAAC;IACpG,CAAC;IACD,iBAAiB,CAAI,WAAmB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,OAAO,GAAG,8BAA8B,GAAG,WAAW,CAAC,CAAC;IACvF,CAAC;IAGD,YAAY;IAEb,uBAAuB;IACxB,kBAAkB,CAAC,OAAe;QAChC,OAAO,CAAC,KAAK,CAAC;YACZ,KAAK,EAAE,gDAAgD;YACvD,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,mBAAmB,CAAC,GAAG;QACrB,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ;YAC1D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC9B,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS;YAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAChC,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS;YAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACpC,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS;YAC5D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACnC,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS;YAC7D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,CAAC,KAAK,CAAC;YACZ,KAAK,EAAE,6CAA6C;YACpD,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,OAAO,CAAC,KAAK,CAAC;YACZ,KAAK,EAAE,8CAA8C;YACrD,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,OAAO,CAAC,OAAO,CAAC;YACd,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,UAAU,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,mDAAmD,CAAC,CAAC;SACnG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACvI,CAAC;IAED,eAAe;QACb,OAAO,+CAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;;wFA/HY,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;ACDjC,IAAY,WASX;AATD,WAAY,WAAW;IACnB,gCAAiB;IACjB,gCAAiB;IACjB,sCAAuB;IACvB,sCAAuB;IACvB,4BAAa;IACb,oCAAqB;IACrB,0BAAW;IACX,8BAAe;AACnB,CAAC,EATW,WAAW,KAAX,WAAW,QAStB;AACD,IAAY,SAMX;AAND,WAAY,SAAS;IACjB,eAAe;IACf,uDAAgB;IAChB,qDAAe;IACf,2DAAkB;IAClB,yCAAS;AACb,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED,IAAI,IAAI,GAAG;IACP,GAAG,EAAE,gDAAgD;IACrD,KAAK,EAAE,kDAAkD;IACzD,IAAI,EAAE,yCAAyC;IAC/C,IAAI,EAAE,sDAAsD;IAC5D,OAAO,EAAE,oDAAoD;IAC7D,MAAM,EAAE,2CAA2C;IACnD,QAAQ,EAAE,6CAA6C;CAC1D,CAAC;AAGK,MAAM,UAAU;IAuBnB,YAAoB,SAA0B,EAAU,aAA2B,EAAU,YAA0B;QAAnG,cAAS,GAAT,SAAS,CAAiB;QAAU,kBAAa,GAAb,aAAa,CAAc;QAAU,iBAAY,GAAZ,YAAY,CAAc;QAhBhH,eAAU,GAAQ;YACrB,cAAc,EAAE,EAAE;YAClB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;SAElB,CAAC;QACM,aAAQ,GAAG,SAAS,CAAC;QAItB,gBAAW,GAAO,EAExB,CAAC;QACK,iBAAY,GAAG,EAAE,CAAC;IAEkG,CAAC;IAEpH,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QAEnD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YACjC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,2DAA2D;gBACxF,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE;SACvC;aACI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;YACxC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,6DAA6D;gBAC1F,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,6DAA6D,EAAE,sCAAsC,EAAE;gBACvI,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,sCAAsC;gBACpE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,0DAA0D;YAC5F,8BAA8B;YAC9B,mDAAmD;SACtD;aAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,oDAAoD;gBACjF,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,oDAAoD,EAAE,sCAAsC,EAAE;gBAC9H,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,sCAAsC;gBACpE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,iDAAiD;YACnF,+BAA+B;YAC/B,qDAAqD;SACxD;aAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,sDAAsD;gBACnF,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,sDAAsD,EAAE,sCAAsC,EAAE;gBAChI,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,sCAAsC;gBACpE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,mDAAmD;YACrF,oCAAoC;YACpC,uDAAuD;SAC1D;aAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;YAC5C,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,+DAA+D;gBAC5F,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,+DAA+D,EAAE,sCAAsC,EAAE;gBACzI,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,sCAAsC;gBACpE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,4DAA4D;YAC9F,gCAAgC;YAChC,uDAAuD;SAC1D;aAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,iEAAiE;gBAC9F,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE;gBAChC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE;SACvC;aACI,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,wDAAwD;gBACrF,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,wDAAwD,EAAE,sCAAsC,EAAE;gBAClI,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,sCAAsC;gBACpE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,qDAAqD;SAC1F;aAAM;YACH,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,wBAAwB,CAAC;YAC1D,wGAAwG;YACxG,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;YACjC,oEAAoE;SACvE;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAC3D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QACrD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACzD,CAAC;;oEAtFQ,UAAU;6FAAV,UAAU,WAAV,UAAU,mBADG,MAAM;;;;;;;;;;;;;AC9BhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;;;;;;;;;;ICoBP,6EAAiE;IAAA,uDAAa;IAAA,4DAAS;;;IAAxC,6EAAiB;IAAC,0DAAa;IAAb,6EAAa;;;;IAKtF,6EAA6I;IAA/F,oUAAgC;IAA+D,2EACpI;IAAA,4DAAS;;;;IAmBV,qEAAmH;IAC/G,qEAAI;IAAA,4EAAuC;IACnC,4EAE+B;IAFR,wXAAqC;IAA5D,4DAE+B;IAAA,kEAAa;IAAA,4DAAQ;IAAA,4DAAK;IAEjE,qEAAI;IAAA,uDAAc;IAAA,4DAAK;IACvB,qEAAI;IAAA,uDAA0B;IAAA,4DAAK;IACnC,qEAAI;IAAA,wDAA4B;IAAA,4DAAK;IACzC,4DAAK;;;IANW,0DAAqB;IAArB,mGAAqB;IAG7B,0DAAc;IAAd,8EAAc;IACd,0DAA0B;IAA1B,0FAA0B;IAC1B,0DAA4B;IAA5B,4FAA4B;;;;IATxC,wEAA2B;IACvB,sHASK;;IA2CT,4DAAQ;;;IApDkB,0DAA2F;IAA3F,gRAA2F;;ADrCtI,MAAM,iBAAiB;IAwD5B,YAAmB,YAA0B,EAAU,WAAwB,EACtE,MAAc;QADJ,iBAAY,GAAZ,YAAY,CAAc;QAAU,gBAAW,GAAX,WAAW,CAAa;QACtE,WAAM,GAAN,MAAM,CAAQ;QAtDhB,oBAAe,GAAY,IAAI,CAAC;QAChC,cAAS,GAAG,EAAE,CAAC;QACf,iBAAY,GAAQ;YACzB,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,mBAAmB,EAAE,EAAE;YACvB,WAAW,EAAE,EAAE;SAChB;QA8BM,qBAAgB,GAAY,KAAK,CAAC;QAOlC,eAAU,GAAY,IAAI,CAAC;QAC3B,kBAAa,GAAG,EAAE,CAAC;QAEnB,gBAAW,GAAQ,EAAE,CAAC;QAsnB7B,yBAAoB,GAAG;YACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;YAClF,yCAAyC;YACzC,wHAAwH;YACxH,uFAAuF;YACvF,8BAA8B;QAChC,CAAC;IArnBD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1H,6DAA6D;QAC7D,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAElB,CAAC;IAED,4BAA4B,CAAC,KAAU;QACrC,IAAI,CAAC,sBAAsB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ;QAEN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,SAAS,EAAE;YAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAChE;QACD,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACzI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAG9B,oFAAoF;YAEpF,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAC7D,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;YAChF,IAAI,CAAC,wBAAwB,GAAG,wDAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAE5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;YAEtC,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,aAAa,EAAE;gBAC5D,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxF;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7D,IAAI,KAAK,GAAG,CAAC,CAAC;gBACZ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,uCAAuC;YACvC,4BAA4B;YAC5B,IAAI;YACJ,+BAA+B;YAC/B,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAG3C,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAClC,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,GAAG,GAAG;gBACR,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;YACD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;oBAChC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE;oBAChC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;iBACrC,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACvD,IAAI,CAAC,OAAO,GAAG,qEAAqE,CAAC;YACrF,IAAI,CAAC,OAAO,GAAG,kEAAkE,CAAC;YAClF,IAAI,CAAC,QAAQ,GAAG,gGAAgG,CAAC;YACjH,IAAI,CAAC,OAAO,GAAG,+BAA+B,CAAC;YAC/C,IAAI,CAAC,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAGjG,8DAA8D;YAC9D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC3E,iCAAiC;YACjC,IAAG,IAAI,CAAC,YAAY,CAAC,SAAS,IAAE,SAAS,EACzC;gBACA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;gBAC7C,cAAc,CAAC,OAAO,CAAC,cAAc,EAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,SAAS,CAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBACnD,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,YAAY,CAAE,CAAC,CAAC;gBAChF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;gBACjD,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,WAAW,CAAE,CAAC,CAAC;gBAC9E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;gBACjD,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAC,WAAW,CAAE,CAAC,CAAC;aAC7E;iBACG;gBACF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;aACzE;YACD,IAAI,YAAY,CAAC;YACtB,IAAG,IAAI,CAAC,YAAY,CAAC,aAAa,IAAE,SAAS,EAC7C;gBACC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,gBAAgB,CAAC;gBAC5D,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAG,IAAI,CAAC,SAAS,CAAE,YAAY,CAAE,CAAC,CAAC;aAC/E;iBACG;gBACH,YAAY,GAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACnE;YACD,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,sGAAsG;YACtG,wCAAwC;YACxC,MAAM;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnE,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE;4BAClE,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gCACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACrF,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE;2CACnG,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;wCAC7G,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4CAChE,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;mDACzG,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;mDAC9G,YAAY,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,EAC9E;gDACA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;6CACtD;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;YAED,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;gBAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC7C;YACD,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,SAAS,EAAE;gBAC7C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,EAAE,KAAK;oBACjD,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,IAAI,KAAK,CAAC,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;4BACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ;gCAC7C,IAAI,QAAQ,IAAI,IAAI,EAAE;oCACpB,IAAI,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;wCACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;4CACzB,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;yCAC5B;qCACF;iCACF;4BACH,CAAC,CAAC,CAAC;yBACJ;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;oBACpC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE;iBACjC,CAAC,CAAC;aACJ;YACD,sGAAsG;YACtG,2BAA2B;YAC3B,6CAA6C;YAC7C,MAAM;YACN,MAAM;YAEN,IAAI,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC;YAE3F,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC;YACnC,gCAAgC;YAChC,gCAAgC;YAChC,mCAAmC;YACnC,yCAAyC;YACzC,uCAAuC;YACvC,0CAA0C;QAE5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,KAAK;QACxB,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChF,yFAAyF;QACzF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACjD,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACxE,qDAAqD;QACvD,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe;QAC1D,sCAAsC;QACtC,gCAAgC;QAChC,IAAI;QACJ,IAAI,eAAe,IAAI,IAAI,EAAE;YAE3B,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,0BAA0B;YACvE,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAE,8BAA8B;YAClF,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,iCAAiC;YAClF,IAAI,YAAY,GAAG,KAAK,CAAC,CAAC,0BAA0B;YACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YACzC,IAAI,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACnD,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,OAAO,GAAQ,EAAE,CAAC;YACtB,IAAI,qBAAqB,GAAG,KAAK,CAAC;YAClC,IAAI,MAAM,CAAC;YACX,IAAI,QAAQ,GAAG,EAAE,CAAC;YAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;oBAC5C,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3B,IAAI,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,gCAA+B;oBAErF,IAAI,OAAO,GAAQ,EAAE,CAAC;oBACtB,IAAI,kBAAkB,GAAG,IAAI,CAAC;oBAC9B,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBACxC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,WAAW,EAAE,YAAY;wBACjD,IAAI,YAAY,IAAI,aAAa,EAAE;4BACjC,kBAAkB,GAAG,aAAa,CAAC;yBACpC;6BACI;4BACH,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;yBACnC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,WAAW,GAAG,EAAE,CAAC;oBACrB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,GAAG;wBAC3C,WAAW,CAAC,IAAI,CAAC;4BACf,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,IAAI,EAAE,GAAG,CAAC,IAAI;yBACf,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,UAAU,QAAQ,EAAE,QAAQ;wBACnE,IAAI,QAAQ,IAAI,IAAI,EAAE;4BACpB,IAAI,QAAQ,CAAC,EAAE,IAAI,SAAS,EAAE;gCAC5B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,OAAO,EAAE,QAAQ;oCAC9D,IAAI,QAAQ,IAAI,IAAI,EAAE;wCACpB,IAAI,QAAQ,CAAC,EAAE,IAAI,YAAY,EAAE;4CAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,QAAQ,EAAE,KAAK;gDACvD,IAAI,KAAK,IAAI,IAAI,EAAE;oDACjB,IAAI,kBAAkB,IAAI,IAAI,EAAE;wDAC9B,qBAAqB,GAAG,IAAI,CAAC;wDAC7B,IAAI,KAAK,CAAC,aAAa,IAAI,kBAAkB,EAAE;4DAC7C,IAAI,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;4DACnF,6FAA6F;4DAC7F,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;gEACvB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;oEAC3B,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE;oEAC7C,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI;oEACjD,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI;oEACjD,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oEACrB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;oEACzB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU;oEAChC,UAAU,EAAE,IAAI;oEAChB,QAAQ,EAAE,KAAK;oEACf,SAAS,EAAE,KAAK;oEAChB,iBAAiB,EAAE,KAAK;oEACxB,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB;oEAC5C,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB;oEAChD,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB;oEACtD,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB;oEAChD,UAAU,EAAE,WAAW;oEACvB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa;oEACtC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB;oEAC5C,kBAAkB,EAAE,qBAAqB;oEACzC,mBAAmB,EAAE,YAAY;oEACjC,gBAAgB,EAAE,gBAAgB;iEACnC,CAAC,CAAC;gEACH,8BAA8B;6DAC/B;iEACI;gEACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oEACtB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE;wEAChC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,QAAQ;4EACzD,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;gFACpC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gFAC3B,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;gFAC3B,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;6EAC3B;wEACH,CAAC,CAAC,CAAC;wEACH,wBAAwB;qEACzB;iEACF;6DACF;yDACF;6DACI;4DACH,IAAI,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,kBAAkB,EAAE,IAAI,CAAC,CAAC;4DAC/F,0GAA0G;4DAC1G,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;gEACvB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;oEAC3B,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE;oEAC7C,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI;oEACjD,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI;oEACjD,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oEACrB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;oEACzB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU;oEAChC,UAAU,EAAE,IAAI;oEAChB,SAAS,EAAE,KAAK;oEAChB,iBAAiB,EAAE,KAAK;oEACxB,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB;oEAC5C,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB;oEAChD,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB;oEACtD,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB;oEAC3C,UAAU,EAAE,WAAW;oEACvB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa;oEACtC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB;oEAC5C,kBAAkB,EAAE,qBAAqB;oEACzC,mBAAmB,EAAE,YAAY;oEACjC,gBAAgB,EAAE,gBAAgB;oEAClC,uDAAuD;iEACxD,CAAC,CAAC;gEACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;6DACrB;yDACF;qDACF;yDACI;wDACH,qBAAqB,GAAG,KAAK,CAAC;wDAC9B,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;4DACpE,IAAI,OAAO,IAAI,IAAI,EAAE;gEACnB,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,kBAAkB,CAAC,CAAC,CAAC;6DAC7F;wDACH,CAAC,CAAC,CAAC;wDACH,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;4DACvB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;gEAC3B,WAAW,EAAE,IAAI;gEACjB,aAAa,EAAE,IAAI;gEACnB,aAAa,EAAE,IAAI;gEACnB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gEACrB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;gEACzB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU;gEAChC,UAAU,EAAE,IAAI;gEAChB,QAAQ,EAAE,KAAK;gEACf,SAAS,EAAE,KAAK;gEAChB,iBAAiB,EAAE,KAAK;gEACxB,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB;gEAC5C,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB;gEAChD,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB;gEACtD,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB;gEAChD,UAAU,EAAE,WAAW;gEACvB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa;gEACtC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB;gEAC5C,kBAAkB,EAAE,qBAAqB;gEACzC,mBAAmB,EAAE,YAAY;gEACjC,gBAAgB,EAAE,gBAAgB;gEAClC,uDAAuD;6DACxD,CAAC,CAAC;4DACH,6BAA6B;yDAC9B;6DACI;4DACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gEACtB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE;oEAChC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,QAAQ;wEACzD,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;4EACpC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;4EAC3B,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;4EAC3B,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;yEAC3B;oEACH,CAAC,CAAC,CAAC;oEACH,6BAA6B;iEAC9B;6DACF;yDACF;qDACF;iDACF;4CACH,CAAC,CAAC,CAAC;yCACJ;qCACF;gCACH,CAAC,CAAC,CAAC;6BACJ;yBACF;oBACH,CAAC,CAAC,CAAC;oBACH,IAAI,kBAAkB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;wBAC/D,IAAI,MAAM,GAAG,IAAI,CAAC;wBAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3B,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;qBAChC;yBACI;wBACH,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBAC9C,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;wBAClD,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3B,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC/B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;qBAC/B;oBACD,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;oBAC9Z,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC5B,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE;wBAC7D,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7B,4BAA4B;qBAC7B;yBACI;wBACH,cAAc,GAAG,EAAE,CAAC;wBACpB,cAAc,GAAG,OAAO,CAAC;qBAC1B;iBACF;aAEF;YACD,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;YAEvC,iqBAAiqB;YAEjqB,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC7E,IAAI,KAAK,GAAQ,IAAI,CAAC;gBACtB,oCAAoC;gBACpC,IAAI,KAAK,IAAI,uBAAuB,EAAE;oBACpC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;oBAC9D,qCAAqC;oBACrC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;iBAEpC;qBACI;oBACH,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;oBAE3D,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,EAAE,KAAK;wBACpC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,UAAU,OAAO,EAAE,QAAQ;4BAClE,IAAI,QAAQ,IAAI,IAAI,EAAE;gCACpB,IAAI,QAAQ,CAAC,EAAE,IAAI,SAAS,EAAE;oCAC5B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,UAAU,MAAM,EAAE,WAAW;wCAChE,IAAI,WAAW,IAAI,IAAI,EAAE;4CACvB,IAAI,WAAW,CAAC,EAAE,IAAI,YAAY,EAAE;gDAClC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,SAAS;oDAC7D,IAAI,SAAS,IAAI,IAAI,EAAE;wDACrB,IAAI,SAAS,CAAC,WAAW,IAAI,MAAM,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,EAAE;4DACtE,IAAI,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4DACtC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE;gEAC1C,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;oEAC3B,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;iEAClD;6DACF;4DACD,OAAO;yDACR;qDACF;gDACH,CAAC,CAAC,CAAC;gDACH,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,SAAS;oDAC7D,IAAI,SAAS,IAAI,SAAS,EAAE;wDAC1B,IAAI,SAAS,IAAI,IAAI,EAAE;4DACrB,IAAI,SAAS,CAAC,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,IAAI,SAAS,CAAC,WAAW,IAAI,IAAI,EAAE;gEAC7F,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;6DAC/C;yDACF;qDACF;gDACH,CAAC,CAAC,CAAC;6CACJ;yCACF;oCACH,CAAC,CAAC,CAAC;iCACJ;6BACF;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,qCAAqC;oBACrC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;iBACpC;YACH,CAAC,CAAC;SACH;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;QACnC,iCAAiC;IACnC,CAAC;IAED,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB;QACnU,IAAI,CAAC,GAAG,cAAc,CAAC;QACvB,IAAI,OAAO,GAAG,EACb,CAAC;QACF,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAE9B,IAAI,cAAc,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5D,KAAK,IAAI,CAAC,GAAQ,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvE,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,EAAE;oBACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACzF,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,YAAY,EAAE;4BACnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC3G,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,EAAE;oCAC3G,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,OAAO,EAAE,KAAK;wCACxH,IAAI,OAAO,IAAI,IAAI,EAAE;4CACnB,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC;yCACvF;oCACH,CAAC,CAAC,CAAC;oCACH,IAAI,OAAO,IAAI,CAAC,EAAE;wCAChB,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;4CAC/E,WAAW,EAAE,SAAS;4CACtB,aAAa,EAAE,aAAa;4CAC5B,OAAO,EAAE,OAAO;4CAChB,SAAS,EAAE,SAAS;4CACpB,UAAU,EAAE,UAAU;4CACtB,gBAAgB,EAAE,YAAY;4CAC9B,kBAAkB,EAAE,gBAAgB;4CACpC,qBAAqB,EAAE,mBAAmB;4CAC1C,kBAAkB,EAAE,WAAW;4CAC/B,UAAU,EAAE,UAAU;4CACtB,SAAS,EAAE,SAAS;4CACpB,UAAU,EAAE,gBAAgB;4CAC5B,aAAa,EAAE,aAAa;4CAC5B,gBAAgB,EAAE,gBAAgB;4CAClC,kBAAkB,EAAE,kBAAkB;4CACtC,mBAAmB,EAAE,YAAY;4CACjC,gBAAgB,EAAE,gBAAgB;yCACnC,CAAC,CAAC;qCACJ;oCACD,KAAK;iCACN;qCACI;oCACH,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;wCAC/E,WAAW,EAAE,SAAS;wCACtB,aAAa,EAAE,aAAa;wCAC5B,OAAO,EAAE,OAAO;wCAChB,SAAS,EAAE,SAAS;wCACpB,UAAU,EAAE,UAAU;wCACtB,gBAAgB,EAAE,YAAY;wCAC9B,kBAAkB,EAAE,gBAAgB;wCACpC,qBAAqB,EAAE,mBAAmB;wCAC1C,kBAAkB,EAAE,WAAW;wCAC/B,UAAU,EAAE,UAAU;wCACtB,SAAS,EAAE,SAAS;wCACpB,UAAU,EAAE,gBAAgB;wCAC5B,aAAa,EAAE,aAAa;wCAC5B,gBAAgB,EAAE,gBAAgB;wCAClC,kBAAkB,EAAE,kBAAkB;wCACtC,mBAAmB,EAAE,YAAY;wCACjC,gBAAgB,EAAE,gBAAgB;qCACnC,CAAC,CAAC;iCACJ;6BACF;yBACF;qBACF;iBACF;aACF;YACD,OAAO,GAAG,cAAc,CAAC;SAC1B;aACI;YACH,IAAI,mBAAmB,GAAG,EAAE,CAAC;YAC7B,mBAAmB,CAAC,IAAI,CAAC;gBACvB,WAAW,EAAE,SAAS;gBACtB,aAAa,EAAE,aAAa;gBAC5B,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,UAAU;gBACtB,gBAAgB,EAAE,YAAY;gBAC9B,kBAAkB,EAAE,gBAAgB;gBACpC,qBAAqB,EAAE,mBAAmB;gBAC1C,kBAAkB,EAAE,WAAW;gBAC/B,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,gBAAgB;gBAC5B,aAAa,EAAE,aAAa;gBAC5B,gBAAgB,EAAE,gBAAgB;gBAClC,kBAAkB,EAAE,kBAAkB;gBACtC,mBAAmB,EAAE,YAAY;gBACjC,gBAAgB,EAAE,gBAAgB;aACnC,CAAC;YACF,IAAI,mBAAmB,GAAG,EAAE,CAAC;YAC7B,mBAAmB,CAAC,IAAI,CAAC;gBACvB,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,mBAAmB;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;YAEF,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,EAAE,EAAE,SAAS;gBACb,mBAAmB,EAAE,mBAAmB;gBACxC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC;YACF,IAAI,OAAO,IAAI,SAAS,EAAE;gBACxB,OAAO,GAAG;oBACR,SAAS,EAAE,CAAC;oBACZ,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;oBACtC,yDAAyD;oBACzD,yDAAyD;oBACzD,2DAA2D;oBAC3D,mDAAmD;oBACnD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;iBACxC;aACF;SAEF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,KAAK,EAAE,OAAO;QACvB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAElC;aACI;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,KAAK,GAAG,CAAC,CAAC;gBACZ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACtC,2BAA2B;SAC5B;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;;YAExB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IAWD,oBAAoB,CAAC,UAAkB;QACrC,UAAU,GAAG,UAAU,IAAI,SAAS,IAAI,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,IAAI,UAAU,IAAI,EAAE,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACjD,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CACpF,CAAC;YACJ,CAAC,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;SACtB;;YAEC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC;IACrD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAGD,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;;kFA1sBU,iBAAiB;iGAAjB,iBAAiB;qJAAjB,sBAAkB;;;QCZ/B,yEAAgE;QAC5D,yEAA2B;QACvB,yEAAwE;QACpE,yEAAwD;QACpD,uEAAoG;QAAjG,oIAAS,cAAU,IAAC;QAA6E,oEACnC;QAAA,4DAAI;QACrE,wEAAgB;QAAA,uDAAiC;QAAA,4DAAK;QAEtD,yEAAwC;QACpC,8EAC+D;QADwB,sRAAS,mCAAsC,IAAC,kFAC7H,iBAAa,IADgH;QAAvI,4DAC+D;QAEnE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,2EAAwC;QACpC,2EAA0B;QAAA,qEAAS;QAAA,4DAAM;QACzC,2EAAoC;QAChC,2EAAqC;QACjC,2EAAwB;QACpB,6EAAuC;QAAA,gFAAoB;QAAA,4DAAQ;QACnE,8EAC4C;QADf,8LAA2B,0FAC1C,gCAA4B,IADc;QAEpD,0EAAQ;QAAA,kEAAM;QAAA,4DAAS;QACvB,sHAAuF;QAC3F,4DAAS;QACb,4DAAM;QACV,4DAAM;QACN,2EAA8B;QAC1B,sHACkB;QACtB,4DAAM;QACV,4DAAM;QACN,2EAAyB;QACrB,2EAA8B;QAC1B,6EAAuE;QACnE,yEAAO;QACH,sEAAI;QACA,qEAGS;QAET,0EAA4B;QAAA,kEAAM;QAAA,4DAAK;QACvC,0EAA4B;QAAA,4EAAgB;QAAA,4DAAK;QACjD,0EAA4B;QAAA,oFAAwB;QAAA,4DAAK;QAC7D,4DAAK;QACT,4DAAQ;QACR,oHAqDQ;QACZ,4DAAQ;QACZ,4DAAM;QACV,4DAAM;QAEN,iEAAI;QACJ,2EAA2B;QACvB,2FAAwF;QAAnE,mMAAmC;QAAgC,4DAAsB;QAC9G,8EAAwD;QAAhD,kJAAU,wCAAoC,IAAC;QACnD,8EAAmB;QAAA,mEAAO;QAAA,4DAAS;QACnC,8EAAmB;QAAA,mEAAO;QAAA,4DAAS;QACnC,8EAAmB;QAAA,mEAAO;QAAA,4DAAS;QACnC,8EAAoB;QAAA,oEAAQ;QAAA,4DAAS;QACzC,4DAAS;QACb,4DAAM;QACN,2EAAwD;QACpD,8EAA6E;QAArB,0IAAS,cAAU,IAAC;QAAC,kEAAM;QAAA,4DAAS;QAC5F,8EAE6E;QAAzE,0IAAS,gFAA8D,IAAC;QAAC,gEAAI;QAAA,4DAAS;QAE9F,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QAGN,6EAAiC;;QA1HD,0DAAiC;QAAjC,iHAAiC;QAeZ,2DAA2B;QAA3B,sFAA2B;QAG3B,0DAAoB;QAApB,0FAAoB;QAK9B,0DAAqB;QAArB,qFAAqB;QAmBhC,2DAAiB;QAAjB,iFAAiB;QAuE5B,2DAAuB;QAAvB,oFAAuB;;;;;;;;;;;;;;ACxH5C;AAAA;AAAA;AAAwD;;AAExD,yCAAyC;AAGlC,MAAM,WAAW;IADxB;QAUW,0BAAqB,GAAG,IAAI,0DAAY,EAAU,CAAC;QACnD,6BAAwB,GAAG,IAAI,0DAAY,EAAU,CAAC;QACtD,yBAAoB,GAAG,IAAI,0DAAY,EAAU,CAAC;QAMlD,yBAAoB,GAAG,IAAI,0DAAY,EAAU,CAAC;QAClD,wBAAmB,GAAG,IAAI,0DAAY,EAAU,CAAC;QACjD,yBAAoB,GAAE,IAAI,0DAAY,EAAU,CAAC;QACjD,qBAAgB,GAAG,EAAE,CAAC;QAEtB,mBAAc,GAAG,IAAI,CAAC;QAsBtB,cAAS,GAAG;YACf,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC;SACZ,CAAC;QAEK,oBAAe,GAAG,IAAI,0DAAY,EAAU,CAAC;KAWvD;IAjDyB,CAAC;;sEAdd,WAAW;8FAAX,WAAW,WAAX,WAAW;;;;;;;;;;;;ACLxB;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;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,2B;;;;;;;;;;;;ACpRA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4B;AAK5B,uCAAuC;AACa;AAChB;;;;;;;;;;;;;;;ICX9B,0EAC8I;IADrE,iUAA+B;IAEtG,wEAC6E;IAC3E,uEAAM;IAAA,uDAAiB;IAAA,4DAAO;IAC9B,uEAAM;IAAA,uDAAqB;IAAA,4DAAO;IAClC,uEAAM;IAAA,uDAAsB;IAAA,4DAAO;IACnC,qEAA8D;IAChE,4DAAI;IACN,4DAAM;;;IANF,0DAA0E;IAA1E,+KAA0E;IACpE,0DAAiB;IAAjB,qFAAiB;IACjB,0DAAqB;IAArB,yFAAqB;IACrB,0DAAsB;IAAtB,0FAAsB;;;IAYxB,yEAA6D;IAC3D,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,2FACF;;;;;IALF,6EAEoD;IADlD,8VAA2B;IAE3B,8HAES;IACX,4DAAS;;;IALP,yFAA2B;IAEA,0DAAgC;IAAhC,yGAAgC;;;IAU3D,yEAA6D;IAC3D,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,wFACF;;;;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","file":"main.js","sourcesContent":["/* (ignored) */","import { of as observableOf, Observable, from } from 'rxjs';\r\nimport { EventEmitter, Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { CommonService } from './commonservice'\r\nimport { DataService } from './data.service';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { Router } from '@angular/router';\r\ndeclare var bootbox: any;\r\n//import 'rxjs/Rx';\r\n\r\n@Injectable()\r\nexport class APWebService {\r\n public baseURL: string;\r\n public enterpriseId: string;\r\n public endToEndUId: string;\r\n public clientWMSId: string;\r\n public tabCode: string;\r\n public ScopeSelectorLoaded: boolean;\r\n public queryString: any;\r\n public currentTotalCost: any;\r\n public currentTotalEffort: any;\r\n public plannedEffortSavings: any;\r\n public useraccessmodel: any;\r\n public BluePrintData: any\r\n\r\n public actualTotalSavings: any;\r\n public plannedTotalSavings: any;\r\n public costPerHour: any;\r\n public UserDetails: any;\r\n public baseLineDataReceived = new EventEmitter();\r\n public bluePrintData: any;\r\n public problemid: any;\r\n public subproblemid: any;\r\n public problemname: any;\r\n public subprobname: any;\r\n public supportGroupName: any;\r\n public AddedCustomAsset: boolean;\r\n public AppName: string;\r\n public Type: string;\r\n public DatasourceID: any;\r\n public IsDynamicBulkUpload: boolean;\r\n public ProposalId: any;\r\n public addAssetClick: boolean;\r\n public BOTEdited: boolean;\r\n public TechniqWithAssets: any;\r\n public standaloneScopeEvent = new EventEmitter();\r\n public existingCustomAssetsList: any;\r\n public environmentDetails: any;\r\n public tempFieldMapping: {\r\n Delivery_Type: any,\r\n Category_Name: string,\r\n Sub_Category_Name: string,\r\n Asset_Name: string,\r\n Baselined_effort: string,\r\n Baselined_Cost: string,\r\n percentage_Automation_Achievable: string,\r\n percentage_Effort_Reduction_Achievable: string,\r\n Asset_Description: string,\r\n Is_Client_Specific: string,\r\n Type_of_Benefit: string,\r\n Type_of_Tool: string,\r\n Automation_Technique: string,\r\n Expected_Effort_Savings_per_year: string,\r\n Expected_Cost_Savings_per_year: string,\r\n Expected_FTE_Reduction: string,\r\n Asset_Start_Date: string,\r\n Asset_End_Date: string,\r\n Asset_Implementation_Cost: string,\r\n TowerORModule: string,\r\n Reported_till_Month: any,\r\n Asset_Provisioning_Status: string,\r\n Asset_CompletionOrBenefit_Realisation_Date: string, \r\n Actual_Effort_Savings: string,\r\n LCROrDayOrRateOrHr: string,\r\n Actual_Cost_Savings: string,\r\n Actual_FTE_Reduction: string\r\n }\r\n TempMappingStorage: boolean;\r\n \r\n\r\n constructor(private http: HttpClient, private commService : CommonService, private dataService: DataService, private router: Router, private appConfig: AppConfigService) {\r\n this.environmentDetails = this.appConfig.environmentSettings;\r\n if(this.environmentDetails.MSALenabled)\r\n this.baseURL = this.environmentDetails.serverAPIUrl;\r\n else\r\n this.baseURL = this.environmentDetails.localAPIUrl;\r\n \r\n this.ScopeSelectorLoaded = false;\r\n if (this.baseURL.includes(\"localhost\")) {\r\n this.endToEndUId = \"052cc507-b338-48de-b8e7-79548e04006a\";\r\n this.enterpriseId = sessionStorage.getItem('enterpriseId') != undefined ? sessionStorage.getItem('enterpriseId') : '';\r\n this.tabCode = \"MW\";\r\n }\r\n else {\r\n this.queryString = window.location.href.split('/');\r\n if (this.queryString.length > 2)\r\n this.tabCode = this.queryString[2].toUpperCase();\r\n else\r\n this.tabCode = this.queryString[1].toUpperCase();\r\n this.endToEndUId = this.queryString[this.queryString.length - 1].toLowerCase();\r\n }\r\n this.commService.SetSessionObject();\r\n }\r\n\r\n saveBlueprintDetails(enterpriseId: string, blueprintName: string): Observable {\r\n return this.http.get(this.baseURL + \"/Landing/SaveBlueprint/\" + enterpriseId + '/' + blueprintName);\r\n }\r\n\r\n getBlueprintList(data: any): Observable {\r\n return this.http.get(this.baseURL + \"/Landing/GetBlueprintList/\");\r\n }\r\n\r\n getprojectlist(data: any): Observable {\r\n return this.http.get(this.baseURL + \"/Project/GetProjectList/\");\r\n }\r\n GetBulkUploadFields(): Observable {\r\n return this.http.get(this.baseURL + \"/Dashboard/GetBulkFields/\");\r\n }\r\n\r\n getprojectdetails(data: any): Observable {\r\n return this.http.get(this.baseURL + \"/Project/GetProjectDetails/\");\r\n }\r\n\r\n getautomationtechniques(enterpriseId: string, projectId: string, blueprintId: number): Observable {\r\n return this.http.get(this.baseURL + \"/Scopeautomation/Scopeautomation/\" + enterpriseId + '/' + projectId + '/' + blueprintId);\r\n }\r\n\r\n pushDataToScurve(blueprintID: string): Observable {\r\n return this.http.get(this.baseURL + \"JourneyPlan/PushDataToScurve/\" + blueprintID);\r\n }\r\n\r\n getscopedetails(): Observable {\r\n return this.http.get(this.baseURL + \"Scopeautomation/GetScopeDetails/\");\r\n }\r\n\r\n getassetTypes(): Observable {\r\n return this.http.get(this.baseURL + \"BluePrint/GetAllAssetType/\");\r\n }\r\n\r\n saveCustomAssets(assetDetails: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/SaveCustomAssets/\", assetDetails)\r\n }\r\n\r\n saveAutomationPlanPopupData(details: any): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/SaveAutomationPlanPopupData/\", details);\r\n }\r\n\r\n getallassetsdetailsforblueprint(UserType: number, DMSProjectID: number, E2EUID: string, WSUID: string, CMSUID: string): Observable {\r\n return this.http.get(this.baseURL + \"Baseline/GetAllAssetDetails/\" + UserType + '/' + DMSProjectID + '/' + E2EUID + '/' + WSUID + '/' + CMSUID);\r\n }\r\n\r\n getOpportunities(userDetails: any): Observable {\r\n return this.http.post(this.baseURL + \"/BluePrint/GetOpportunities/\", userDetails);\r\n }\r\n\r\n getCategories(userDetails: object): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/GetCategory/\", userDetails)\r\n }\r\n\r\n getProjectID(usertype: number, datasourceid: number, appname: string): Observable {\r\n return this.http.get(this.baseURL + \"Dashboard/GetProjectID/\" + usertype + \"/\" + datasourceid + \"/\" + appname)\r\n }\r\n\r\n checkUserAccess(stobj): Observable {\r\n return this.http.post(this.baseURL + \"Dashboard/CheckUserAccess/\", stobj)\r\n }\r\n\r\n getfdsblueprintdatasourceList(blueprintobject): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/GetFDSBlueprintDataList/\", blueprintobject)\r\n }\r\n\r\n GetBlueprintDataSourceList(blueprintobject: object): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/GetBlueprintDataSourceList/\", blueprintobject)\r\n }\r\n\r\n GetAllAssetType(): Observable {\r\n return this.http.get(this.baseURL + \"Blueprint/GetBaselineResponse/\");\r\n }\r\n\r\n CheckAIAAUserAccess(enterpriseId: string, DMSProjectID: string, usertype: number): Observable {\r\n return this.http.get(this.baseURL + \"Blueprint/CheckAIAAUserAccess/\" + enterpriseId + \"/\" + DMSProjectID + \"/\" + usertype);\r\n }\r\n\r\n CheckKiteEnabledBlueprint(DataSourceID: number): Observable {\r\n return this.http.get(this.baseURL + \"Blueprint/CheckKiteEnabledBlueprint/\" + DataSourceID);\r\n }\r\n\r\n GetOpportunities(userDetails: object): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/GetOpportunities/\", { userDetails })\r\n }\r\n\r\n GetSubCategory(deliveryType: string): Observable {\r\n return this.http.get(this.baseURL + \"Blueprint/GetSubCategory/\" + deliveryType)\r\n }\r\n\r\n GetCategory(userDetails: object): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/GetCategory/\", { userDetails })\r\n }\r\n\r\n CreateBlueprint(selectedOppsObj: object): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/CreateBlueprint/\", { selectedOppsObj })\r\n }\r\n\r\n SaveManualOpportunity(manualopportunity: object): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/SaveManualOpportunity/\", { manualopportunity })\r\n }\r\n\r\n CheckDuplicateOpportunity(manualopportunity: object): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/CheckDuplicateOpportunity/\", manualopportunity)\r\n }\r\n\r\n GetFDSBlueprintDataList(blueprintobject: object): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/GetFDSBlueprintDataList/\", { blueprintobject })\r\n }\r\n\r\n SaveBulkManualOpportunity(ManualOpportunityList: object): Observable {\r\n return this.http.post(this.baseURL + \"Blueprint/SaveBulkManualOpportunity/\", { ManualOpportunityList })\r\n }\r\n\r\n CreateManualDSOnAdd(jsondata: any): Observable {\r\n return this.http.post(this.baseURL + \"Dashboard/CreateManualDSOnAdd/\", jsondata);\r\n }\r\n\r\n setProjIDOnScopeApply(useraccessmodel: any): Observable {\r\n return this.http.post(this.baseURL + \"Dashboard/setProjIDOnScopeApply/\", { useraccessmodel })\r\n }\r\n\r\n GetFDSScopeSelector(scopedetails:object): Observable {\r\n return this.http.post(this.baseURL + \"Dashboard/GetFDSScopeSelector/\", scopedetails)\r\n }\r\n\r\n SaveBulkData(bulkdata: object): Observable {\r\n return this.http.post(this.baseURL + \"Dashboard/SaveBulkData/\", bulkdata)\r\n }\r\n\r\n GetEffortReductionForTechnique(): Observable {\r\n return this.http.get(this.baseURL + \"Baseline/GetEffortReductionForTechnique/\");\r\n }\r\n\r\n createBP(selectedOppsObj: any) {\r\n return this.http.post(this.baseURL + \"/BluePrint/CreateBlueprint\", selectedOppsObj);\r\n }\r\n\r\n saveCategorySubCategory(opportunity) {\r\n return this.http.post(this.baseURL + \"/Baseline/SaveCategoryDetailsOnEdit\", opportunity);\r\n }\r\n\r\n AutoSaveOnBaseline(details: any) {\r\n return this.http.post(this.baseURL + \"/Baseline/AutoSaveOnBaseline\", details);\r\n }\r\n\r\n getUserWithoutAccess(EndToEndUId: string) {\r\n return this.http.get(this.baseURL + \"/Baseline/UserWithoutAccess/\" + EndToEndUId);\r\n }\r\n\r\n SaveBlueprintEffortSavingResponse(details: any): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/SaveBlueprintEffortSavingResponse/\", details);\r\n }\r\n\r\n // logUserName(enterpriseId: string): Observable {\r\n // return this.http.get(this.baseURL + \"/UserInfo/LogEnterpriseId/?enterpriseId=\" + enterpriseId);\r\n // }\r\n\r\n deleteOpportunity(uniqueList: any) {\r\n return this.http.post(this.baseURL + \"Baseline/DeleteOpportunity/\", uniqueList)\r\n }\r\n\r\n apAjIntegration(details: any) {\r\n return this.http.post(this.baseURL + \"Baseline/UpdateSubmittedResponse/\", details);\r\n }\r\n\r\n showSuccessMessage(message: string) {\r\n bootbox.alert({\r\n title: \"Success..!!\",\r\n message: message,\r\n closeButton: false\r\n }).find('.btn-primary').removeClass('btn').css({ 'padding': '6px 12px', 'border-radius': '4px', 'border': '1px solid transparent' });\r\n }\r\n\r\n displayErrorMessage(err) {\r\n if (err.error != undefined && typeof (err.error) == \"string\")\r\n this.showErrorMessage(err.error);\r\n else if (err.message != undefined)\r\n this.showErrorMessage(err.message);\r\n else if (err.error != undefined && err.error.title != undefined)\r\n this.showErrorMessage(err.error.title);\r\n else if (err.error != undefined && err.error.text != undefined)\r\n this.showErrorMessage(err.error.text);\r\n else if (err.error != undefined && err.error.value != undefined)\r\n this.showErrorMessage(err.error.value);\r\n else\r\n this.showErrorMessage(err);\r\n }\r\n\r\n showErrorMessage(message: string) {\r\n bootbox.alert({\r\n title: \"Errors..!!\",\r\n message: message,\r\n closeButton: false\r\n }).find('.btn-primary').removeClass('btn').css({ 'padding': '6px 12px', 'border-radius': '4px', 'border': '1px solid transparent' });\r\n }\r\n\r\n showInfoMessage(message: string) {\r\n bootbox.alert({\r\n title: \"Info..!!\",\r\n message: message,\r\n closeButton: false\r\n }).find('.btn-primary').removeClass('btn').css({ 'padding': '6px 12px', 'border-radius': '4px', 'border': '1px solid transparent' });\r\n\r\n }\r\n\r\n showConfidentialityMessage(message: string) {\r\n bootbox.dialog({\r\n title: \"Confidential Information – Reminder\",\r\n message: message,\r\n closeButton: false,\r\n buttons: {\r\n ok: {\r\n label: 'I Understand',\r\n className:'centerbutton btn-primary'\r\n }\r\n }\r\n }).find('.modal-content').css({ 'width': '580px', 'margin-top':'150px' })\r\n .find('.modal-header').css({ 'background-color': 'white', 'border-color': 'white' })\r\n .find('.modal-body').css({ 'padding': '32px !important' })\r\n }\r\n\r\n showConfirmMessage(message: string) {\r\n bootbox.confirm({\r\n message: message,\r\n callback: function (result) { return result; /* result is a boolean; true = OK, false = Cancel*/ }\r\n }).find('.btn-primary').removeClass('btn').css({ 'padding': '6px 12px', 'border-radius': '4px', 'border': '1px solid transparent' });\r\n }\r\n\r\n dummyObservable(): Observable {\r\n return observableOf(1);\r\n }\r\n\r\n RedirectToHome() {\r\n var url = '';\r\n sessionStorage.setItem('fdsuserdetail', sessionStorage[\"UserDetails\"]);\r\n this.dataService.redirected = true;\r\n //this.router.navigate(['home']);\r\n var UserDetails = JSON.parse(sessionStorage[\"UserDetails\"]);\r\n var AJblueprintID = sessionStorage['BluePrintIDFromAJ']\r\n if (UserDetails != undefined && UserDetails.UserPath != undefined) {\r\n switch (parseInt(UserDetails.UserPath)) {\r\n case 1:\r\n url = '/blueprint/' + UserDetails.DatasourceID + '/' + UserDetails.AppName + '/' + UserDetails.UserType + '/' + UserDetails.FdsReadOnly;\r\n break;\r\n case 2:\r\n //url = '/' + UserDetails.E2EUID;\r\n url = '/' + AJblueprintID + '?' + 'E2EUID=' + UserDetails.E2EUID + '&CMS=' + UserDetails.CMSUID + '&WS=' + UserDetails.WSUID;\r\n break;\r\n case 3:\r\n url = '/';\r\n break;\r\n case 4:\r\n //url = '/' + UserDetails.E2EUID;\r\n url = '/' + 'E2EUID=' + UserDetails.E2EUID + '&CMS=' + UserDetails.CMSUID + '&WS=' + UserDetails.WSUID;\r\n break;\r\n case 5:\r\n url = '/blueprint/' + UserDetails.DatasourceID + '/' + UserDetails.AppName + '/' + UserDetails.UserType + '/' + UserDetails.FdsReadOnly;\r\n break;\r\n }\r\n if (parseInt(UserDetails.UserPath) == 4 || parseInt(UserDetails.UserPath) == 2) {\r\n this.router.navigate(['home'], { queryParams: { E2EUID: UserDetails.E2EUID, CMS: UserDetails.CMSUID, WS: UserDetails.WSUID } });\r\n if ((sessionStorage['BluePrintIDFromAJ']! == null)) {\r\n this.router.navigate(['home', sessionStorage['BluePrintIDFromAJ']], { queryParams: { E2EUID: UserDetails.E2EUID, CMS: UserDetails.CMSUID, WS: UserDetails.WSUID } });\r\n }\r\n }\r\n else {\r\n this.router.navigate([url]);\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { APWebServiceBaseline } from '../../services/apWeb.Baseline.service';\nimport { APWebService } from '../../services/apWeb.service';\nimport { Blueprint } from '../../models/blueprint';\nimport { CommonService } from '../../services/commonservice';\nimport * as $ from \"jquery\";\nimport { DataService } from '../../services/data.service';\nimport { stringify } from '@angular/compiler/src/util';\nimport { Router } from '@angular/router';\nimport { forEach } from 'lodash';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent implements OnInit {\n public p: number = 1;\n public ClientName = '';\n public EngagementName = '';\n public ProposalName = '';\n public enterpriseid = '';\n public defaultproposalindex = 0;\n public defaultproposalid = '';\n public error = false;\n public count = 0;\n public clickoffolder = 0;\n public CMSFolderName = [];\n public BluePrintFilter = [\"Select\",\"Manual-Other\",\"IOM-Data\"];\n public BluePrintFilterQue=[\"Select\"];\n \n public cmsnavigationflag = false;\n public home = false;\n public isBaselineFlag = true;\n public ShowFolderNavigation = false;\n public IsAuthorizationServiceDown = false;\n public authorizationdata = {};\n public BlueprintIDList = [];\n public showDownloadedfiles = false;\n public btnDownloadDisable = true;\n public downloadDatasourceId = 0;\n public ManualDataSourceId = null;\n public policyLink = \"https://policies.accenture.com/Pages/0901-1000/1000.aspx\";\n public DataPrivacy = \"https://policies.accenture.com/policy/0090\";\n public DataMasking = \"https://alm.accenture.com/wiki/display/MYW/Data+Masking+in+Manual+Uploads\";\n public UserDetails: any;\n public oldE2EUID: string;\n public scopecopy: string;\n public bluePrintName: string;\n public blueprintID: number;\n public savedCostTotal: any;\n public savedEffortTotal: any;\n public nobaseline: boolean;\n public errLabel: string;\n public BaselinedBlueprintCount: number;\n public hideScope = true;\n public ScopeSelector: any;\n public DefaultClient: string;\n public DefaultEngagement: string;\n public Dropdownclients: any;\n\n public BluePrintData: any; // received from API\n public bluePrintsDataDisplayed = [];// displayed in UI\n public blueprintDetails = []; // used for other processing\n public bluePrintsDataBackUp = []; // backup for search\n\n public numberOfRecordsPerPage: number;\n public IsSubmit: any;\n public uniqueid: any;\n public lastItem: any;\n public disableselectallcheckbox: boolean;\n public ProblemStatement: any;\n public AutomatableProgressBarWidth: any;\n public Effortreduction: any;\n public IsDynamicBulkUpload: boolean;\n public userAuth: boolean;\n public baselineMessage: string;\n public redirected: boolean;\n\n public deleteAssetIsSubmit: any;\n public deleteAssetUniqueId: number;\n public deleteAssetRow: any;\n\n public currentTotalCost: any;\n public plannedTotalSavings: any;\n public currentTotalEffort: any;\n public plannedEffortSavings: any;\n\n //public IsUserReadonly : boolean;\n //------ for Asset------\n public ConfirmAddAssetsParams: any;\n public isemptytech: any;\n public DatasourceID: any;\n public Type: any;\n public AppName: any;\n public IsSubDynamicBulk: any;\n public chkjourney: any;\n public problemid: any;\n public supportGroupName: any;\n public subproblemid: any;\n public problemname: any;\n public subprobname: any;\n public AssetDetails =\n {\n Name: \"\",\n Description: \"\",\n AssetType: \"Select\",\n AutomationTechnique: \"Select\",\n SelectedAssetType: \"\",\n SelectedAutomationTechnique: \"\"\n }\n public DefaultAssets: any;\n\n public addAssetClick: boolean;\n public AddedCustomAsset: boolean;\n public BOTEdited: boolean;\n public strPrimaryBenfit = \"\";\n public SubProbName = \"\";\n public AssetData = [];\n public TechniqueData = null;\n public AssetType = [];\n\n public emailId: string;\n public Subject: string;\n public bodyText: string;\n public message: string;\n public mailLink: string;\n //--------------------\n public ActiveUniqueId: any;\n public AutomateProblemStatementId: any;\n public AutomateSubProblemStatementId: any;\n public ActiveAppName: string;\n public ActiveType: string;\n public ActiveDataSourceId: number;\n public ActiveFilter: any;\n public subCategoryName: string;\n public Category: string;\n public AverageResolutionTime: any;\n public ToatlEffortSpentAtPrbLevel: any;\n public CategoryTechResponse: any;\n public SavingsResponse: any;\n public editableeffortsaving: boolean;\n public editablecostsaving: boolean;\n public readonlyautomate: boolean;\n public readonlyreduction: boolean;\n public donutpercent: boolean;\n public donutpercentcost: boolean;\n public totaleffortassetvalue: any;\n public costperhrassetvalue: any;\n public deleteSubCategoryRow: any;\n public SubProblemStatement: any;\n public noOpp: any;\n public ModifiedOn: any;\n public defaultPage: number;\n public showSummary: boolean;\n public lastSortedOn: string = \"\";\n public fdsClientName: string;\n public unSubscribeBluePrintDataReceived: any;\n public unSunscribeUpdateBluePrintData: any;\n public showSideBar: boolean = false;\n public showIndividualBluePrint: string = \"show\";\n public selectedDataSourceNameFilter:any=\"Select\";\n public IsFilterDisabled = true;\n constructor(\n private apWebServiceBaseline: APWebServiceBaseline,\n private apWebService: APWebService,\n private dataService: DataService,\n public router: Router\n\n ) {\n //this.bluePrintName = this.dataService.BlueprintName;\n }\n\n ngOnInit(): void {\n this.apWebService.standaloneScopeEvent.emit(false);\n\n if (this.dataService.pageRefresh) {\n this.dataService.updatechartdata.emit(\"true\");\n }\n\n this.enterpriseid = this.apWebService.enterpriseId;\n this.numberOfRecordsPerPage = 50\n this.redirected = this.dataService.redirected;\n this.showSummary = true;\n\n if (this.UserDetails != undefined) {\n sessionStorage.setItem(\"UserDetails\", this.UserDetails);\n //$sessionStorage['UserDetails'] = $rootScope.UserDetails;\n }\n else {\n this.UserDetails = sessionStorage['UserDetails'];\n //$rootScope.UserDetails = $sessionStorage['UserDetails'];\n }\n\n // if (this.UserDetails.IsUserReadonly != undefined) {\n // sessionStorage.setItem['UserDetails'].IsUserReadonly = this.UserDetails.IsUserReadonly;\n // }\n // else {\n // this.UserDetails.IsUserReadonly = sessionStorage.setItem['UserDetails'].IsUserReadonly;\n // }\n\n if (sessionStorage['oldE2EUID'] != undefined)\n this.oldE2EUID = sessionStorage['oldE2EUID'];\n else\n this.oldE2EUID = sessionStorage['oldE2EUID'];\n\n if (sessionStorage['Authorization'] != undefined)\n this.authorizationdata = sessionStorage['Authorization'];\n else\n this.authorizationdata = sessionStorage['Authorization'];\n\n if (sessionStorage.getItem('UserDetails') != null) {\n this.UserDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n }\n \n //this.getBlueprintDataSourceList();\n\n this.unSubscribeBluePrintDataReceived = this.dataService.bluePrintDataReceived.subscribe(bluePrintData => {\n this.isBaselineFlag = this.dataService.isBaselineFlag;\n this.blueprintDetails = this.dataService.FDSBluePrintData;\n this.bluePrintName = this.dataService.BlueprintName;\n this.blueprintID = this.dataService.bluePrintIDFromAJ != undefined && this.dataService.bluePrintIDFromAJ != null ? this.dataService.bluePrintIDFromAJ : this.dataService.BlueprintId;\n sessionStorage.setItem('refblueprintID', JSON.stringify( this.blueprintID ));\n this.ModifiedOn = this.dataService.ModifiedOn;\n this.fdsClientName = this.dataService.selectedClient;\n this.getBaseLineResponse();\n }, error => {\n this.apWebService.showErrorMessage(error);\n })\n\n this.unSunscribeUpdateBluePrintData = this.dataService.updateBluePrintData.subscribe(baseLineData => {\n this.populateData(this.BluePrintData, \"\");\n }, error => {\n this.apWebService.showErrorMessage(error);\n })\n\n if (this.redirected != undefined && this.redirected) {\n setTimeout(() => {\n this.dataService.bluePrintDataReceived.emit(\"true\");\n }, 1000);\n }\n }\n\n ngOnDestroy() {\n this.unSubscribeBluePrintDataReceived.unsubscribe();\n this.unSunscribeUpdateBluePrintData.unsubscribe();\n }\n\n redirectToOpportunity() {\n this.dataService.UserDetails = this.UserDetails.FDSScope;\n this.router.navigate(['opportunityTreasury']);\n }\n\n getBaseLineResponse() {\n \n if (this.blueprintID !== undefined) {\n \n if (this.blueprintID != 0) {\n this.apWebServiceBaseline.GetBaselineResponse(this.blueprintID, false).subscribe(data => {\n \n if (data['ProblemStatement'] != undefined && data['ProblemStatement'].length > 0) {\n localStorage.setItem('baseLineData', JSON.stringify(data));\n var selData = $.grep(data['ProblemStatement'], function (element, index) {\n if (element != null) {\n return (element.Type == 'Data');\n }\n });\n var selProcess = $.grep(data['ProblemStatement'], function (element, index) {\n if (element != null) {\n return (element.Type == 'Process');\n }\n });\n var selOthers = $.grep(data['ProblemStatement'], function (element, index) {\n if (element != null) {\n return (element.Type == 'Other');\n }\n });\n this.BluePrintData = data;\n this.BluePrintData['ProblemStatement'] = null;\n this.BluePrintData.ProblemStatement = selData.concat(selProcess, selOthers);\n\n //FDS condition needs to add here\n\n this.GetAnnualisedData();\n this.CalculateAutomatable();\n this.CalculateEffortSavingChartData();\n \n }\n else {\n this.isBaselineFlag = false;\n this.BluePrintData = null;\n //this.BluePrintData['ProblemStatement'] = null;\n // this.populateData(this.BluePrintData, \"\");\n this.bluePrintsDataDisplayed = [];// clearing the data\n this.blueprintDetails = []; // used for other processing\n //this.bluePrintsDataBackUp = [];\n }\n\n }, error => {\n \n this.apWebService.showErrorMessage(error);\n })\n }\n else {\n this.BluePrintData = null;\n // $rootScope.BluePrintData = $scope.BluePrintData;\n this.userAuth = true;\n this.baselineMessage = 'Your blueprint is blank. Please move opportunities from opportunity treasury to blueprint for further planning.';\n }\n }\n else {\n console.log(\"blueprintID\"+ this.blueprintID);\n // this.apWebService.showErrorMessage('Unexpected Internal Server Error Occured, Please Contact Mywizard Automation Planner Team AMAutomationPlannerTeam@accenture.com');\n }\n }\n\n GetAnnualisedData() {\n var resp = this.BluePrintData;\n let obj = this;\n $.each(resp.ProblemStatement, function (main_key, prbvalue) {\n if (prbvalue != null) {\n var ParentAnnualEffort = 0;\n var ParentCostIncurred = 0;\n var ParentTicketCount = 0;\n\n prbvalue.IsDisplayParent = true;\n var selValue = $.grep(prbvalue.SubProblemStatement, function (element, index) {\n if (element != null) {\n return ((element.IsBaseline) == true);\n }\n });\n if (selValue.length == 0) {\n prbvalue.IsDisplayParent = false;\n }\n\n $.each(prbvalue.SubProblemStatement, function (sub_key, subvalue) {\n if (subvalue != null) {\n this.Filter = null;\n subvalue.IsPrbEdit = false;\n if (subvalue.AppName == \"AIAA\" && subvalue.Type == \"Data\") {\n subvalue.Filter = \"AIAAData\";\n }\n //if (subvalue.AppName == \"AOF\" && subvalue.Type == \"Process\") {\n // subvalue.Filter = \"AOFProcess\";\n //}\n if (subvalue.AppName == \"Manual\" && subvalue.Type == \"Data\") {\n subvalue.Filter = \"ManualData\";\n }\n if (subvalue.AppName == \"Manual\" && subvalue.Type == \"Process\") {\n subvalue.Filter = \"ManualProcess\";\n }\n if (subvalue.AppName == \"Manual\" && subvalue.Type == \"Other\") {\n subvalue.Filter = \"ManualOther\";\n }\n\n if (subvalue.Filter == \"AIAAData\" || subvalue.Filter == \"ManualData\") {\n if (subvalue.Duration != null && subvalue.Duration != 0 && subvalue.TicketCount != null) {\n subvalue.TicketCount = Math.round(subvalue.TicketCount * 12 / subvalue.Duration);\n }\n if (subvalue.TicketCount != null && subvalue.AverageResolutionTime != null) {\n subvalue.EffortSpent = (subvalue.TicketCount * subvalue.AverageResolutionTime);\n subvalue.EffortSpent = obj.round2Fixed(subvalue.EffortSpent);\n }\n if (subvalue.EffortSpent != null && subvalue.CostPerHour != null) {\n subvalue.CostIncurred = (subvalue.EffortSpent * subvalue.CostPerHour);\n subvalue.CostIncurred = obj.round2Fixed(subvalue.CostIncurred);\n }\n if (subvalue.CostPerHour != null) {\n subvalue.CostPerHour = (parseFloat(subvalue.CostPerHour));\n subvalue.CostPerHour = obj.round2Fixed(subvalue.CostPerHour);\n }\n if (ParentAnnualEffort != null && subvalue.EffortSpent != null) {\n ParentAnnualEffort = parseFloat(ParentAnnualEffort.toString()) + parseFloat(subvalue.EffortSpent);\n }\n if (subvalue.CostIncurred != null && ParentCostIncurred != null) {\n ParentCostIncurred = parseFloat(ParentCostIncurred.toString()) + parseFloat(subvalue.CostIncurred);\n }\n if (subvalue.TicketCount != null && ParentTicketCount != null) {\n ParentTicketCount = parseInt(ParentTicketCount.toString()) + parseInt(subvalue.TicketCount);\n }\n }\n\n if (subvalue.Filter == \"ManualProcess\" || subvalue.Filter == \"ManualOther\") {\n if (subvalue.EffortSpent != null && subvalue.CostPerHour != null) {\n subvalue.CostIncurred = (subvalue.EffortSpent * subvalue.CostPerHour);\n subvalue.CostIncurred = obj.round2Fixed(subvalue.CostIncurred);\n subvalue.EffortSpent = (parseFloat(subvalue.EffortSpent));\n subvalue.EffortSpent = obj.round2Fixed(subvalue.EffortSpent);\n }\n if (ParentAnnualEffort != null && subvalue.EffortSpent != null) {\n ParentAnnualEffort = parseFloat(ParentAnnualEffort.toString()) + parseFloat(subvalue.EffortSpent);\n }\n if (subvalue.CostIncurred != null && ParentCostIncurred != null) {\n ParentCostIncurred = parseFloat(ParentCostIncurred.toString()) + parseFloat(subvalue.CostIncurred);\n }\n }\n }\n });\n prbvalue.EffortSpent = (ParentAnnualEffort);\n prbvalue.EffortSpent = obj.round2Fixed(prbvalue.EffortSpent);\n prbvalue.CostIncurred = (ParentCostIncurred);\n prbvalue.CostIncurred = obj.round2Fixed(prbvalue.CostIncurred);\n prbvalue.TicketCount = ParentTicketCount;\n }\n });\n }\n\n CalculateAutomatable() {\n var resp = this.BluePrintData;\n var allautomatable = 0;\n var prbautomatable = 0;\n var savingatprblevel = 0;\n let obj = this;\n $.each(resp.ProblemStatement, function (main_key, ps) {\n var subautomatable = 0;\n prbautomatable = 0;\n var savingatsubprblevel = 0;\n if (ps != null) {\n $.each(ps.SubProblemStatement, function (sub_key, sp) {\n if (sp != null) {\n prbautomatable = obj.CalculateAutomatableAtSubPrbLevel(prbautomatable, subautomatable, sp);\n savingatsubprblevel = obj.CalculateSavingsAtSubPrbLevel(savingatsubprblevel, sp);\n savingatprblevel = parseFloat(savingatprblevel.toString()) + parseFloat(savingatsubprblevel.toString());\n }\n });\n\n ps.AllSavingValueTotal = savingatprblevel;\n ps.AllSavingValueTotal = obj.round2Fixed(ps.AllSavingValueTotal);\n savingatprblevel = 0;\n\n allautomatable = obj.CalculateAutomatableAtPrbLevel(allautomatable, prbautomatable, ps);\n }\n });\n resp.AllAutomatedTotal = parseInt(allautomatable.toString());\n //Caculation For Progress Bar\n this.AutomatableProgressBarWidth = parseInt(((resp.AllAutomatedTotal / resp.Total) * 100).toString());\n //Caculation For Progress Bar End\n }\n\n CalculateAutomatableAtSubPrbLevel(prbautomatable, subautomatable, sp) {\n var subautomatableTickets = 0;\n var TicketCount = 0;\n var Automate = 0;\n let obj = this;\n $.each(sp.TechniqueAsset, function (aut_key, asset) {\n var TotalCostSaving = 0;\n var savingatassetlevel = 0;\n if (asset != null) {\n if (asset.IsDeleted == false) {\n TicketCount = sp.TicketCount;\n if (asset.EffortSaving == null) {\n subautomatableTickets = 0;\n }\n else {\n if (asset.EffortSaving.EffortSavingLWRange == null || asset.EffortSaving.EffortSavingLWRange == \"\") {\n subautomatableTickets = 0;\n }\n else {\n subautomatableTickets = asset.EffortSaving.EffortSavingLWRange;\n }\n\n //Calculate Savings At Page Load\n var AnnualEffort = 0;\n if (sp.Filter == \"AIAAData\" || sp.Filter == \"ManualData\") {\n AnnualEffort = (sp.TicketCount * sp.AverageResolutionTime);//.toFixed(2);\n //AnnualEffort = Number(AnnualEffort.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n AnnualEffort = +obj.round2Fixed(AnnualEffort.toString());\n }\n else {\n AnnualEffort = sp.EffortSpent;\n }\n if (sp.IsSubDynamicBulkUpload == true && (asset.EffortSaving.CostSavingsHrs != null && asset.EffortSaving.CostSavingsHrs != \"\")) {\n TotalCostSaving = parseFloat(TotalCostSaving.toString()) + parseFloat(asset.EffortSaving.CostSavingsHrs);\n asset.EffortSaving.EffortSavingValue = obj.round2Fixed(TotalCostSaving);\n // -----Story - 132303 Effort saving and cost saving mapping\n } else if (sp.IsSubDynamicBulkUpload == true && (asset.EffortSaving.EffortSavingsHrs != null && asset.EffortSaving.EffortSavingsHrs != \"\")) {\n var CostPerHour = sp.CostPerHour;\n var EffortSavings = (asset.EffortSaving.EffortSavingsHrs * CostPerHour);//.toFixed(2);\n EffortSavings = +obj.round2Fixed(EffortSavings);\n asset.EffortSaving.EffortSavingValue = EffortSavings;\n }\n else {\n var calsavedeffort = ((asset.EffortSaving.EffortSavingLWRange) * (AnnualEffort)) / 100;\n var SavedEfforts = (((asset.EffortSaving.EffortReduction) * calsavedeffort) / 100);//.toFixed(2);\n //SavedEfforts = Number(SavedEfforts.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n SavedEfforts = +obj.round2Fixed(SavedEfforts);\n var CostPerHour = sp.CostPerHour;\n var EffortSavings = (SavedEfforts * CostPerHour);//.toFixed(2);\n //EffortSavings = Number(EffortSavings.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n EffortSavings = +obj.round2Fixed(EffortSavings);\n asset.EffortSaving.EffortSavingValue = EffortSavings;\n }\n\n //End\n }\n Automate = parseInt(Automate.toString()) + parseInt(subautomatableTickets.toString());\n }\n }\n });\n\n if (Automate > 100) {\n subautomatable = ((TicketCount * 100) / 100);\n }\n else {\n subautomatable = ((TicketCount * Automate) / 100);\n }\n sp.AutomatedTotal = Math.round(subautomatable);\n\n if (sp.Filter == \"AIAAData\" || sp.Filter == \"ManualData\") {\n var donutarr = [];\n donutarr.push(['Automate', sp.AutomatedTotal]);\n donutarr.push([sp.Name, sp.TicketCount]);\n sp.CategoryTicketCompareData = donutarr;\n }\n else {\n var donutarr = [];\n donutarr.push(['Score', sp.AutomationScore]);\n donutarr.push([sp.Name, 5]);\n sp.CategoryTicketCompareData = donutarr;\n }\n prbautomatable += Math.round(subautomatable);\n return prbautomatable;\n }\n\n CalculateSavingsAtSubPrbLevel(savingatsubprblevel, sp) {\n var savingattechlevel = 0;\n\n $.each(sp.TechniqueAsset, function (aut_key, asset) {\n var savingatassetlevel = 0;\n if (asset != null) {\n if (asset.IsDeleted == false) {\n if (asset.EffortSaving == null) {\n savingatassetlevel = parseFloat(savingatassetlevel.toString()) + 0;\n }\n else {\n savingatassetlevel = parseFloat(savingatassetlevel.toString().toString()) + parseFloat(asset.EffortSaving.EffortSavingValue);\n }\n }\n }\n savingattechlevel = parseFloat(savingattechlevel.toString()) + parseFloat(savingatassetlevel.toString());\n });\n savingatsubprblevel = savingattechlevel;\n return savingatsubprblevel;\n }\n\n CalculateAutomatableAtPrbLevel(allautomatable, prbautomatable, ps) {\n ps.AutomatedTotal = parseInt(prbautomatable);\n allautomatable += prbautomatable;\n return allautomatable;\n }\n\n //Calulate Effor Saving and Cost Savings\n CalculateEffortSavingChartData() {\n var resp = this.BluePrintData;\n this.apWebService.GetEffortReductionForTechnique().subscribe(data => {\n this.Effortreduction = data;\n let obj = this;\n $.each(resp.ProblemStatement, function (main_key, ps) {\n if (ps != null) {\n var ParentEffortSaving = 0;\n var ParentCostSaving = 0;\n $.each(ps.SubProblemStatement, function (sub_key, sp) {\n if (sp != null) {\n obj.CalculateEffortSavingChartDataAtSubPrbLvl(sp);\n ParentEffortSaving = parseFloat(ParentEffortSaving.toString()) + parseFloat(sp.EffortSaving);\n ParentCostSaving = parseFloat(ParentCostSaving.toString()) + parseFloat(sp.CostSaving);\n }\n });\n ps.EffortSaving = ParentEffortSaving;\n ps.EffortSaving = obj.round2Fixed(ps.EffortSaving);\n ps.CostSaving = ParentCostSaving;\n ps.CostSaving = obj.round2Fixed(ps.CostSaving);\n }\n });\n this.BluePrintData.ProblemStatement = resp.ProblemStatement;\n localStorage.setItem('baseLineData', JSON.stringify(this.BluePrintData));\n this.dataService.updateBluePrintData.emit(\"true\");\n this.dataService.BlueprintData = this.BluePrintData;\n this.apWebService.currentTotalCost = 0;\n this.apWebService.plannedTotalSavings = 0;\n this.apWebService.currentTotalEffort = 0;\n this.apWebService.plannedEffortSavings = 0;\n\n let baseLineGraphData: [];\n baseLineGraphData = this.BluePrintData.ProblemStatement;\n for (var m = 0; m < baseLineGraphData.length; m++) {\n\n let costIncurred = 0;\n costIncurred = baseLineGraphData[m][\"CostIncurred\"];\n if (costIncurred != null) {\n this.apWebService.currentTotalCost += +costIncurred;\n }\n let costSaving = 0;\n costSaving = baseLineGraphData[m][\"CostSaving\"];\n if (costSaving != null) {\n this.apWebService.plannedTotalSavings += +costSaving;\n }\n let effortSpent = 0;\n effortSpent = baseLineGraphData[m][\"EffortSpent\"];\n if (effortSpent != null) {\n this.apWebService.currentTotalEffort += +effortSpent;\n }\n let effortSaving = 0;\n effortSaving = baseLineGraphData[m][\"EffortSaving\"];\n if (effortSaving != null) {\n this.apWebService.plannedEffortSavings += +effortSaving;\n }\n }\n this.dataService.baseLineDataReceived.emit(\"true\");\n }, error => {\n console.log(error);\n });\n\n }\n\n CalculateEffortSavingChartDataAtSubPrbLvl(sp) {\n var Automatable = 0;\n var Effortreduction = 0;\n var TotalSavedEfforts = 0;\n var CostSavingsHrs = 0;\n var TotalCostSavings = 0;\n let obj = this;\n $.each(sp.TechniqueAsset, function (aut_key, asset) {\n var SavedEfforts = 0;\n var costSaved = 0;\n if (asset != null) {\n if (asset.IsDeleted == false) {\n if (asset.EffortSaving == null) {\n Automatable = 0;\n $.each(this.Effortreduction, function (key, value) {\n if (asset.TechniqueName == null) {\n Effortreduction = 0;\n }\n if (asset.TechniqueName == value.TechniqueName) {\n Effortreduction = value.EffortReduction;\n }\n });\n }\n else {\n Automatable = asset.EffortSaving.EffortSavingLWRange;\n Effortreduction = asset.EffortSaving.EffortReduction;\n }\n var annualeffort = sp.EffortSpent;\n var calsavedeffort = ((Automatable) * (annualeffort)) / 100;\n // -----Story - 132303 Effort saving and cost saving mapping\n var costph = sp.CostPerHour;\n if (obj.IsDynamicBulkUpload == true || obj.IsDynamicBulkUpload == undefined) {\n if (asset.EffortSaving != null) {\n if (asset.EffortSaving.EffortSavingsHrs != null) {\n SavedEfforts = asset.EffortSaving.EffortSavingsHrs;\n }\n else {\n SavedEfforts = (((Effortreduction) * calsavedeffort) / 100);\n }\n if (asset.EffortSaving.CostSavingsHrs != null) {\n\n costSaved = asset.EffortSaving.CostSavingsHrs;\n }\n else\n costSaved = SavedEfforts * costph;\n\n }\n else {\n SavedEfforts = (((Effortreduction) * calsavedeffort) / 100);\n costSaved = SavedEfforts * costph;\n }\n }\n else {\n SavedEfforts = (((Effortreduction) * calsavedeffort) / 100);\n }\n SavedEfforts = +obj.round2Fixed(SavedEfforts);\n TotalSavedEfforts = parseFloat(TotalSavedEfforts.toString()) + parseFloat(SavedEfforts.toString());\n TotalCostSavings = parseFloat(TotalCostSavings.toString()) + parseFloat(costSaved.toString());\n }\n }\n });\n\n var donutarr = [];\n donutarr.push(['EffortSavings(hrs)', obj.round2Fixed(TotalSavedEfforts)]);\n donutarr.push([sp.Name, sp.EffortSpent]);\n donutarr.push([this.IsDynamicBulkUpload, sp.EffortSpent]);\n donutarr.push(['ParentId', sp.ParentId]);\n sp.CategoryEffortSavingData1 = donutarr;\n if (sp.EffortSpent == 0 || sp.EffortSpent == 0.00) {\n sp.EffortSaved = (0).toFixed(2);\n }\n else {\n sp.EffortSaved = ((+(TotalSavedEfforts.toFixed(2)) / sp.EffortSpent) * 100).toFixed(2);\n }\n if (sp.EffortSaved > 100) {\n sp.EffortSaved = 100;\n }\n\n sp.EffortSaving = TotalSavedEfforts;\n sp.EffortSaving = obj.round2Fixed(sp.EffortSaving);\n if (this.IsDynamicBulkUpload == true || this.IsDynamicBulkUpload == undefined) {\n sp.CostSaving = TotalCostSavings;\n\n }\n else {\n sp.CostSaving = (+(TotalSavedEfforts).toFixed(2) * (sp.CostPerHour));\n }\n\n\n sp.CostSaving = obj.round2Fixed(sp.CostSaving);\n\n var cost = [];\n var costperhr = sp.CostPerHour;\n var totalcostincurred = 0;\n if (this.IsDynamicBulkUpload == true) {\n\n }\n else {\n totalcostincurred = ((sp.EffortSpent) * (costperhr));\n }\n\n\n totalcostincurred = +obj.round2Fixed(totalcostincurred);\n\n cost.push(['CostSavings($)', obj.round2Fixed(TotalSavedEfforts)]);\n cost.push([costperhr, totalcostincurred]);\n cost.push([this.IsDynamicBulkUpload, sp.CostSaving]);\n sp.CategoryCostSavingData = cost;\n if (totalcostincurred == 0 || totalcostincurred == 0.00) {\n sp.CostSaved = (0).toFixed(2);\n }\n else {\n sp.CostSaved = (((+(TotalSavedEfforts).toFixed(2) * costperhr) / totalcostincurred) * 100);\n sp.CostSaved = obj.round2Fixed(sp.CostSaved);\n }\n if (sp.CostSaved > 100) {\n sp.CostSaved = 100;\n }\n }\n\n\n SetDataSourceNameFilter(selectedDataSourceName) {\n this.selectedDataSourceNameFilter = selectedDataSourceName;\n if(this.selectedDataSourceNameFilter!=\"Select\")\n {\n this.IsFilterDisabled=false;\n }\n else\n {\n this.IsFilterDisabled=true;\n }\n \n \n};\nClearFilters() {\n this.selectedDataSourceNameFilter = 'Select';\n this.IsFilterDisabled=true;\n this.searchQueqBluePrintRecords(null);\n //this.SetFiltersDropdowns();\n};\nApplyFilters(){\n if(this.selectedDataSourceNameFilter!=undefined && this.selectedDataSourceNameFilter!=\"Select\")\n this.searchQueqBluePrintRecords(this.selectedDataSourceNameFilter);\n}\n populateData(baseLineDataInput, sortOn: string) {\n let allbaseLineData = [];\n let baseLineData = { ProblemStatement: [], Id: Number }\n if (baseLineDataInput != undefined) {\n baseLineData.Id = baseLineDataInput.Id\n baseLineDataInput.ProblemStatement.forEach(element => {\n if (element.Name != null)\n baseLineData.ProblemStatement.push(element);\n });\n if (baseLineData.ProblemStatement != undefined) {\n let recordNo = 0;\n // making values blank if undefined or null for sorting purpose\n for (var x = 0; x < baseLineData.ProblemStatement.length; x++) {\n // baseLineData.ProblemStatement[x].Name == null || baseLineData.ProblemStatement[x].Name == undefined ? baseLineData.ProblemStatement[x].Name = '' : '';\n baseLineData.ProblemStatement[x].EffortSpent == null || baseLineData.ProblemStatement[x].EffortSpent == undefined ? baseLineData.ProblemStatement[x].EffortSpent = 0 : '';\n baseLineData.ProblemStatement[x].EffortSaving == null || baseLineData.ProblemStatement[x].EffortSaving == undefined ? baseLineData.ProblemStatement[x].EffortSaving = 0 : '';\n baseLineData.ProblemStatement[x].CostIncurred == null || baseLineData.ProblemStatement[x].CostIncurred == undefined ? baseLineData.ProblemStatement[x].CostIncurred = 0 : '';\n baseLineData.ProblemStatement[x].CostSaving == null || baseLineData.ProblemStatement[x].CostSaving == undefined ? baseLineData.ProblemStatement[x].CostSaving = 0 : '';\n }\n\n // sorting data\n if (sortOn != \"\") {\n if (sortOn == \"categoryName\") {\n this.lastSortedOn == \"\" || this.lastSortedOn == \"categoryNameDescending\" ? (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => a.Name.toLowerCase() > b.Name.toLowerCase() ? 1 : -1), this.lastSortedOn = \"categoryNameAscending\") : (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => a.Name.toLowerCase() > b.Name.toLowerCase() ? -1 : 1), this.lastSortedOn = \"categoryNameDescending\");\n }\n else if (sortOn == \"currentTotalEffort\") {\n this.lastSortedOn == \"\" || this.lastSortedOn == \"currentTotalEffortDescending\" ? (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => +a.EffortSpent > +b.EffortSpent ? 1 : -1), this.lastSortedOn = \"currentTotalEffortAscending\") : (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => +a.EffortSpent > +b.EffortSpent ? -1 : 1), this.lastSortedOn = \"currentTotalEffortDescending\");\n }\n else if (sortOn == \"plannedEffortSaving\") {\n this.lastSortedOn == \"\" || this.lastSortedOn == \"plannedEffortSavingDescending\" ? (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => +a.EffortSaving > +b.EffortSaving ? 1 : -1), this.lastSortedOn = \"plannedEffortSavingAscending\") : (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => +a.EffortSaving > +b.EffortSaving ? -1 : 1), this.lastSortedOn = \"plannedEffortSavingDescending\");\n }\n else if (sortOn == \"currentTotalCost\") {\n this.lastSortedOn == \"\" || this.lastSortedOn == \"currentTotalCostDescending\" ? (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => +a.CostIncurred > +b.CostIncurred ? 1 : -1), this.lastSortedOn = \"currentTotalCostAscending\") : (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => +a.CostIncurred > +b.CostIncurred ? -1 : 1), this.lastSortedOn = \"currentTotalCostDescending\");\n }\n else if (sortOn == \"plannedCostSaving\") {\n this.lastSortedOn == \"\" || this.lastSortedOn == \"plannedCostSavingDescending\" ? (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => +a.CostSaving > +b.CostSaving ? 1 : -1), this.lastSortedOn = \"plannedCostSavingAscending\") : (baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => +a.CostSaving > +b.CostSaving ? -1 : 1), this.lastSortedOn = \"plannedCostSavingDescending\");\n }\n }\n else {\n baseLineData.ProblemStatement = baseLineData.ProblemStatement.sort((a, b) => a.Name.toLowerCase() > b.Name.toLowerCase() ? 1 : -1);\n this.lastSortedOn = \"categoryNameAscending\";\n }\n\n for (var i = 0; i < baseLineData.ProblemStatement.length; i++) {\n // inserting category row\n recordNo += 1;\n allbaseLineData.push({\n 'recordNo': recordNo,\n 'propertyName': \"category\",\n 'dataDepth': 0,\n 'trclass': \"open collapse\",\n 'toggleClass': baseLineData.ProblemStatement[i].SubProblemStatement != undefined && baseLineData.ProblemStatement[i].SubProblemStatement.length > 0 ? 'myw-table-toggle' : '',\n 'appName': baseLineData.ProblemStatement[i].AppName,\n 'categoryId': baseLineData.ProblemStatement[i].ID,\n 'categoryName': baseLineData.ProblemStatement[i].Name,\n 'currentTotalEffort': baseLineData.ProblemStatement[i].EffortSpent,\n 'plannedEffortSaving': baseLineData.ProblemStatement[i].EffortSaving,\n 'currentTotalCost': baseLineData.ProblemStatement[i].CostIncurred,\n 'plannedCostSaving': baseLineData.ProblemStatement[i].CostSaving,\n 'dataSourceId': baseLineData.ProblemStatement[i].DataSourceId,\n 'type': baseLineData.ProblemStatement[i].Type,\n 'isActive': baseLineData.ProblemStatement[i].IsActive,\n 'subCategoryList': baseLineData.ProblemStatement[i].SubProblemStatement\n });\n\n // if category has at least 1 sub category\n if (baseLineData.ProblemStatement[i].SubProblemStatement != undefined && baseLineData.ProblemStatement[i].SubProblemStatement.length > 0) {\n // making support group name blank if undefined or null for sorting purpose\n for (var x = 0; x < baseLineData.ProblemStatement[i].SubProblemStatement.length; x++)\n baseLineData.ProblemStatement[i].SubProblemStatement[x].SupportGroupName == null || baseLineData.ProblemStatement[i].SubProblemStatement[x].SupportGroupName == undefined ? baseLineData.ProblemStatement[i].SubProblemStatement[x].SupportGroupName = '' : '';\n\n // sorting on support group name\n if (sortOn == \"queue\") {\n this.lastSortedOn == \"\" || this.lastSortedOn == \"queueDescending\" ? baseLineData.ProblemStatement[i].SubProblemStatement = baseLineData.ProblemStatement[i].SubProblemStatement.sort((a, b) => a.SupportGroupName.toLowerCase() > b.SupportGroupName.toLowerCase() ? 1 : -1) : baseLineData.ProblemStatement[i].SubProblemStatement = baseLineData.ProblemStatement[i].SubProblemStatement.sort((a, b) => a.SupportGroupName.toLowerCase() > b.SupportGroupName.toLowerCase() ? -1 : 1);\n }\n\n for (var j = 0; j < baseLineData.ProblemStatement[i].SubProblemStatement.length; j++) {\n // inserting sub category row only if it's not deleted i.e. IsBaseline = true\n if (baseLineData.ProblemStatement[i].SubProblemStatement[j].IsBaseline) {\n recordNo += 1;\n allbaseLineData.push({\n 'recordNo': recordNo,\n 'propertyName': \"subcategory\",\n 'dataDepth': 1,\n 'trclass': \"table-even open collapse\",\n 'showSubcategory': true,\n 'toggleClass': baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset != undefined && baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset.length > 0 && baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset.find(x => x.IsDeleted == false) != undefined ? 'myw-table-toggle' : '',\n 'canDeleteSubcategory': baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset != undefined && baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset.length > 0 && !(baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset.find(x => x.IsSubmit == true) != undefined),\n 'isBaseline': baseLineData.ProblemStatement[i].SubProblemStatement[j].IsBaseline,\n 'categoryId': baseLineData.ProblemStatement[i].ID,\n 'categoryName': baseLineData.ProblemStatement[i].Name,\n 'subCategoryId': baseLineData.ProblemStatement[i].SubProblemStatement[j].ID,\n 'subCategoryName': baseLineData.ProblemStatement[i].SubProblemStatement[j].Name,\n 'supportGroupName': baseLineData.ProblemStatement[i].SubProblemStatement[j].SupportGroupName,\n 'TowerModule': baseLineData.ProblemStatement[i].SubProblemStatement[j].TowerModule,\n 'subCategoryAssetList': baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset,\n 'appName': baseLineData.ProblemStatement[i].SubProblemStatement[j].AppName,\n 'currentTotalEffort': baseLineData.ProblemStatement[i].SubProblemStatement[j].EffortSpent,\n 'plannedEffortSaving': baseLineData.ProblemStatement[i].SubProblemStatement[j].EffortSaving,\n 'currentTotalCost': baseLineData.ProblemStatement[i].SubProblemStatement[j].CostIncurred,\n 'plannedCostSaving': baseLineData.ProblemStatement[i].SubProblemStatement[j].CostSaving,\n 'dataSourceId': baseLineData.ProblemStatement[i].SubProblemStatement[j].DataSourceId,\n 'type': baseLineData.ProblemStatement[i].SubProblemStatement[j].Type,\n });\n\n if (baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset != undefined && baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset.length > 0) {\n for (var x = 0; x < baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset.length; x++)\n baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[x].AssetName == null || baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[x].AssetName == undefined ? baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[x].AssetName = '' : '';\n\n for (var k = 0; k < baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset.length; k++) {\n // inserting all asset rows only if it's not deleted i.e. IsDeleted = false\n if (!baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[k].IsDeleted) {\n recordNo += 1;\n allbaseLineData.push({\n 'recordNo': recordNo,\n 'propertyName': \"asset\",\n 'dataDepth': 2,\n 'trclass': \"table-even open expand\",\n 'showAsset': true,\n 'categoryId': baseLineData.ProblemStatement[i].ID,\n 'categoryName': baseLineData.ProblemStatement[i].Name,\n 'catDataSourceId': baseLineData.ProblemStatement[i].DataSourceId,\n 'catType': baseLineData.ProblemStatement[i].Type,\n 'catAppName': baseLineData.ProblemStatement[i].AppName,\n 'subCategoryId': baseLineData.ProblemStatement[i].SubProblemStatement[j].ID,\n 'subCategoryName': baseLineData.ProblemStatement[i].SubProblemStatement[j].Name,\n 'supportGroupName': baseLineData.ProblemStatement[i].SubProblemStatement[j].SupportGroupName,\n 'assetId': baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[k].AssetID,\n 'assetName': baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[k].AssetName,\n 'uniqueId': baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[k].UniqueId,\n 'isSubmit': baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[k].IsSubmit,\n 'isDeleted': baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[k].IsDeleted,\n 'currentTotalEffort': 0,\n 'plannedEffortSaving': 0,\n 'currentTotalCost': 0,\n 'plannedCostSaving': baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[k].EffortSaving !== null ? baseLineData.ProblemStatement[i].SubProblemStatement[j].TechniqueAsset[k].EffortSaving.EffortSavingValue : 0,\n });\n }\n }\n }\n }\n }\n }\n }\n\n if (sortOn == \"queue\") {\n this.lastSortedOn == \"\" || this.lastSortedOn == \"queueDescending\" ? this.lastSortedOn = \"queueAscending\" : this.lastSortedOn = \"queueDescending\";\n }\n this.apWebService.bluePrintData = baseLineData; // Added by SKM \n \n \n this.bluePrintsDataDisplayed = allbaseLineData;\n this.bluePrintsDataBackUp = this.bluePrintsDataDisplayed;\n \n if (this.dataService.bluePrintIDFromAJ != undefined) {\n this.defaultPage = 1;\n let record = this.bluePrintsDataDisplayed.find(x => x.appName != undefined && x.appName.toLowerCase() == this.dataService.appNameFromAJ.toLowerCase() && x.dataSourceId == this.dataService.deepDiveIDFromAJ && x.categoryId == this.dataService.categoryIdFromAJ && x.subCategoryId == this.dataService.subCategoryIdFromAJ);\n for (var i = 1; i < Math.ceil(this.bluePrintsDataDisplayed.length / this.numberOfRecordsPerPage); i++)\n if (record.recordNo >= ((i - 1) * this.numberOfRecordsPerPage) + 1 && record.recordNo <= i * this.numberOfRecordsPerPage)\n this.defaultPage = i;\n this.bluePrintsDataDisplayed.find(x => x.appName != undefined && x.appName.toLowerCase() == this.dataService.appNameFromAJ.toLowerCase() && x.dataSourceId == this.dataService.deepDiveIDFromAJ && x.categoryId == this.dataService.categoryIdFromAJ && x.subCategoryId == this.dataService.subCategoryIdFromAJ)[\"highlight\"] = true;\n }\n\n for (var i = 0; i < this.bluePrintsDataDisplayed.length; i++)\n {\n if(this.bluePrintsDataDisplayed[i].subCategoryList!=undefined && this.bluePrintsDataDisplayed[i].subCategoryList.length>0)\n {\n for(var j = 0; j < this.bluePrintsDataDisplayed[i].subCategoryList.length; j++)\n {\n if(this.bluePrintsDataDisplayed[i].subCategoryList!=undefined||\n this.bluePrintsDataDisplayed[i].subCategoryList[j]!=undefined\n ||this.bluePrintsDataDisplayed[i].subCategoryList[j].SupportGroupName!=undefined||\n this.bluePrintsDataDisplayed[i].subCategoryList[j].SupportGroupName!=null ||\n this.bluePrintsDataDisplayed[i].subCategoryList[j].SupportGroupName!='')\n {\n if(this.bluePrintsDataDisplayed[i].subCategoryList[j].SupportGroupName!='')\n { \n var flg=false;\n for(var k = 0; k < this.BluePrintFilterQue.length; k++)\n {\n if(this.BluePrintFilterQue[k]==this.bluePrintsDataDisplayed[i].subCategoryList[j].SupportGroupName)\n {\n flg=true;\n break;\n }\n else{flg =false;}\n }\n if(!flg)\n this.BluePrintFilterQue.push(this.bluePrintsDataDisplayed[i].subCategoryList[j].SupportGroupName);\n }\n }\n \n }\n }\n }\n \n }\n }\n }\n toggleSubcategoryOrAsset(rowToToggle: string, categoryId: any, subCategoryId: any, supportGroupName: string) {\n if (rowToToggle == 'subcategory') {\n let category = this.bluePrintsDataDisplayed.find(x => x.propertyName == \"category\" && x.categoryId == categoryId);\n category[\"trclass\"] == \"open collapse\" ? category[\"trclass\"] = \"open expand\" : category[\"trclass\"] = \"open collapse\";\n let subcategoryRows = this.bluePrintsDataDisplayed.filter(x => x.propertyName == \"subcategory\" && x.categoryId == categoryId);\n for (var i = 0; i < subcategoryRows.length; i++) {\n subcategoryRows[i][\"showSubcategory\"] = !subcategoryRows[i][\"showSubcategory\"];\n category[\"trclass\"] == \"open expand\" ? subcategoryRows[i][\"trclass\"] = \"table-even open expand\" : '';\n let assetRows = this.bluePrintsDataDisplayed.filter(x => x.propertyName == \"asset\" && x.categoryId == categoryId && x.subCategoryId == subcategoryRows[i].subCategoryId && x.supportGroupName == subcategoryRows[i].supportGroupName && x.isDeleted == false);\n for (var j = 0; j < assetRows.length; j++)\n subcategoryRows[i][\"showSubcategory\"] == false ? this.bluePrintsDataDisplayed.filter(x => x.propertyName == \"asset\" && x.categoryId == categoryId && x.subCategoryId == subcategoryRows[i].subCategoryId && x.supportGroupName == subcategoryRows[i].supportGroupName && x.isDeleted == false)[j][\"showAsset\"] = false : '';\n }\n } else {\n let subcategory = this.bluePrintsDataDisplayed.find(x => x.propertyName == \"subcategory\" && x.categoryId == categoryId && x.subCategoryId == subCategoryId && x.supportGroupName == supportGroupName);\n subcategory[\"trclass\"] == \"table-even open collapse\" ? subcategory[\"trclass\"] = \"table-even open expand\" : subcategory[\"trclass\"] = \"table-even open collapse\";\n let assetRows = this.bluePrintsDataDisplayed.filter(x => x.propertyName == \"asset\" && x.categoryId == categoryId && x.subCategoryId == subCategoryId && x.supportGroupName == supportGroupName && x.isDeleted == false);\n for (var i = 0; i < assetRows.length; i++)\n this.bluePrintsDataDisplayed.filter(x => x.propertyName == \"asset\" && x.categoryId == categoryId && x.subCategoryId == subCategoryId && x.supportGroupName == supportGroupName && x.isDeleted == false)[i][\"showAsset\"] = !assetRows[i][\"showAsset\"];\n }\n }\n\n redirecttoHome() {\n this.apWebService.RedirectToHome();\n }\n\n addToBaseline(assetRow) {\n let obj = this;\n let details = {};\n details[\"UniqueIds\"] = [];\n details[\"ProblemStatement\"] = [];\n details[\"UniqueIds\"].push(assetRow.uniqueId);\n details[\"UserType\"] = 3;\n details[\"Id\"] = this.BluePrintData[\"Id\"];\n this.BluePrintData.ProblemStatement.forEach((data, key) => {\n if (data.ID == assetRow.categoryId && data.DataSourceId == assetRow.catDataSourceId && data.Type == assetRow.catType && data.AppName == assetRow.catAppName) {\n details[\"ProblemStatement\"].push(data);\n }\n });\n //details[\"ProblemStatement\"]= details[\"ProblemStatement\"].filter(x => x.SubProblemStatement.ID ==assetRow.subCategoryId);\n if (details[\"ProblemStatement\"].length > 0) {\n this.apWebService.apAjIntegration(details).subscribe(data => {\n if (data == \"ENS Server Error\")\n this.apWebService.showErrorMessage(\"Currently baseline is in queue, please check it after 90 minutes.\");\n else {\n this.apWebService.showSuccessMessage(\"Updated Successfully.\");\n }\n obj.BluePrintData.ProblemStatement.find(x => x.ID == assetRow.categoryId).SubProblemStatement.find(x => x.SupportGroupName == assetRow.supportGroupName).TechniqueAsset.find(x => x.UniqueId == assetRow.uniqueId)[\"IsSubmit\"] = true;\n obj.populateData(obj.BluePrintData, \"\");\n }, error => {\n this.apWebService.showErrorMessage(\"Unexpected error occured. Please contact mywizardautomationsupport.\");\n })\n }\n }\n\n deleteAsset(assetRow: any) {\n this.deleteAssetIsSubmit = assetRow[\"isSubmit\"];\n this.deleteAssetUniqueId = assetRow[\"uniqueId\"];\n this.deleteAssetRow = assetRow;\n $('#parentPop').addClass(\"modal-backdrop fade in\");\n $('#myModalConfirmDelete').show();\n }\n\n continueDeleteAsset() {\n var deleteBaseline = false;\n var IsSubmit = this.deleteAssetIsSubmit;\n var uniqueid = this.deleteAssetUniqueId;\n var Asset = this.deleteAssetRow;\n\n if (IsSubmit == undefined) {\n IsSubmit = false;\n }\n if (uniqueid == undefined) {\n uniqueid = this.uniqueid;\n IsSubmit = this.IsSubmit;\n deleteBaseline = true;\n }\n else {\n this.lastItem = false;\n }\n\n if (this.UserDetails.UserType == 3 && IsSubmit == true && deleteBaseline == false) {\n this.uniqueid = uniqueid;\n this.IsSubmit = IsSubmit;\n this.deleteAssetFromAPI(IsSubmit);\n\n }\n\n if (this.UserDetails.UserType == 3 && IsSubmit == false && deleteBaseline == false) {\n this.deleteAssetFromAPI(IsSubmit);\n }\n\n if (this.UserDetails.UserType != 3 && IsSubmit == true && deleteBaseline == false) {\n this.uniqueid = uniqueid;\n this.IsSubmit = IsSubmit;\n this.deleteAssetFromAPI(IsSubmit);\n // $('#parentPop').addClass(\"modal-backdrop fade in\");\n // var filtereddata =[];\n // filtereddata.push(Asset)\n // if (filtereddata.length == 1) {\n // this.lastItem = true;\n // }\n // $('#myModalConfirmDeleteBaseline').show();\n }\n\n if (this.UserDetails.UserType != 3 && IsSubmit == false && deleteBaseline == false) {\n this.deleteAssetFromAPI(IsSubmit);\n }\n if (this.UserDetails.UserType != 3 && IsSubmit == true && deleteBaseline == true) {\n this.deleteAssetFromAPI(IsSubmit);\n }\n this.ShowSelectAllCheckbox();\n }\n\n deleteAssetFromAPI(IsSubmit: any) {\n let obj = this;\n this.BluePrintData.UserType = this.UserDetails.UserType;\n this.BluePrintData.IsSubmitted = this.deleteAssetIsSubmit;\n\n let selectedAsset = this.BluePrintData.ProblemStatement.find(x => x.ID == this.deleteAssetRow.categoryId).SubProblemStatement.find(x => x.ID == this.deleteAssetRow.subCategoryId).TechniqueAsset.find(x => x.UniqueId == this.deleteAssetRow.uniqueId);\n selectedAsset.ActiveId = true;\n selectedAsset.IsDeleted = true;\n selectedAsset.IsAccepted = false;\n selectedAsset.IsEdited = false;\n selectedAsset.EffortSaving = null;\n selectedAsset.Integrator = null;\n selectedAsset.FixExecutionString = null;\n selectedAsset.IsSubmit = false;\n\n this.apWebService.AutoSaveOnBaseline(this.BluePrintData).subscribe(function (resp) {\n if (resp != null) {\n obj.BluePrintData.ProblemStatement.find(x => x.ID == obj.deleteAssetRow.categoryId).SubProblemStatement.find(x => x.SupportGroupName == obj.deleteAssetRow.supportGroupName).TechniqueAsset.find(x => x.UniqueId == obj.deleteAssetRow.uniqueId)[\"IsDeleted\"] = true;\n obj.BluePrintData[\"LastModifiedDate\"] = resp;\n obj.CalculateEffortSavingChartData();\n }\n obj.CalculateAutomatable();\n $('#myModeConfirmDelete').hide();\n if (IsSubmit == true) {\n obj.apWebService.showSuccessMessage(\"Deleted Successfully\");\n }\n else {\n obj.apWebService.showSuccessMessage(\"Deleted Successfully\");\n }\n $('#parentPop').addClass(\"modal-backdrop fade in\");\n $('#myModalConfirmDeleteBaseline').hide();\n $('#myModalConfirmDeleteBaselineLast').hide();\n obj.ShowEditOption();\n }, error => {\n console.log(error);\n });\n }\n\n ShowSelectAllCheckbox() {\n this.disableselectallcheckbox = true;\n $(\"#chkboxselectAll\").attr(\"disabled\", true);\n $(\"#chkboxselectAll\").prop(\"checked\", false);\n $.each(this.ProblemStatement, function (key, prbvalue) {\n if (prbvalue !== null) {\n $.each(prbvalue.SubProblemStatement, function (sub_key, subvalue) {\n if (subvalue != null) {\n $.each(subvalue.TechniqueAsset, function (keyb, value) {\n if (value != null) {\n if (value.IsDeleted == false) {\n if (!value.IsSubmit && value.AssetName !== null && value.IsAssetanActivity !== null) {\n $(\"#chkboxselectAll\").attr(\"disabled\", false);\n this.disableselectallcheckbox = false;\n }\n }\n }\n })\n }\n })\n }\n })\n }\n\n ShowEditOption() {\n var resp = this.bluePrintsDataDisplayed;\n $.each(this.ProblemStatement, function (main_key, prbvalue) {\n if (prbvalue != null) {\n $.each(prbvalue.SubProblemStatement, function (sub_key, subvalue) {\n if (subvalue != null) {\n var selValue = subvalue.TechniqueAsset.filter(x => x != undefined && x.IsSubmit == true);\n if (selValue.length > 0) {\n subvalue.IsSubmit = true;\n }\n else {\n subvalue.IsSubmit = false;\n }\n }\n });\n var selValue1 = prbvalue.SubProblemStatement.filter(x => x != undefined && x.IsSubmit == false);\n if (selValue1.length > 0) {\n prbvalue.IsSubmit = false;\n $(\"#imgPrbedit_\" + prbvalue.AppName + \"_\" + prbvalue.Type + \"_\" + prbvalue.DataSourceId + \"_\" + prbvalue.ID).show();\n }\n else {\n prbvalue.IsSubmit = true;\n $(\"#imgPrbedit_\" + prbvalue.AppName + \"_\" + prbvalue.Type + \"_\" + prbvalue.DataSourceId + \"_\" + prbvalue.ID).hide();\n }\n }\n });\n }\n\n changeNumberOfRecordsPerPage(event: any) {\n this.numberOfRecordsPerPage = +event.target.value;\n this.defaultPage = 1;\n }\n\n searchBluePrintRecords(searchText: string) {\n searchText = searchText != undefined && searchText != \"\" ? searchText.toString().toLowerCase().trim() : \"\";\n if (searchText != \"\") {\n this.bluePrintsDataDisplayed = this.bluePrintsDataBackUp.filter(row => {\n return ((row.categoryName != undefined ? row.categoryName.toLowerCase().includes(searchText) : false) ||\n (row.subCategoryName != undefined ? row.subCategoryName.toLowerCase().includes(searchText) : false) ||\n (row.assetName != undefined ? row.assetName.toLowerCase().includes(searchText) : false) ||\n (row.currentTotalEffort != undefined ? row.currentTotalEffort.toString().includes(searchText) : false) ||\n (row.plannedEffortSaving != undefined ? row.plannedEffortSaving.toString().includes(searchText) : false) ||\n (row.currentTotalCost != undefined ? row.currentTotalCost.toString().includes(searchText) : false) ||\n (row.plannedCostSaving != undefined ? row.plannedCostSaving.toString().includes(searchText) : false) ||\n (row.supportGroupName != undefined ? row.supportGroupName.toLowerCase().includes(searchText) : false) ||\n this.checkSearchTextInSubcategoryAndAsset(row, searchText)\n );\n });\n this.numberOfRecordsPerPage = 100;\n }\n else {\n this.bluePrintsDataDisplayed = this.bluePrintsDataBackUp;\n this.numberOfRecordsPerPage = 50;\n }\n }\n\n checkSearchTextInSubcategoryAndAsset(row, searchText) {\n let displayRow = false;\n if (row.propertyName == \"category\") {\n if (row.subCategoryList != undefined && row.subCategoryList.length > 0) {\n for (var i = 0; i < row.subCategoryList.length; i++) {\n if (row.subCategoryList[i].Name != undefined && row.subCategoryList[i].Name.toLowerCase().includes(searchText) ||\n row.subCategoryList[i].CostIncurred != undefined && row.subCategoryList[i].CostIncurred.toString().toLowerCase().includes(searchText) || row.subCategoryList[i].CostSaving != undefined && row.subCategoryList[i].CostSaving.toString().toLowerCase().includes(searchText) || row.subCategoryList[i].EffortSaving != undefined && row.subCategoryList[i].EffortSaving.toString().toLowerCase().includes(searchText) || row.subCategoryList[i].EffortSpent != undefined && row.subCategoryList[i].EffortSpent.toString().toLowerCase().includes(searchText) || row.subCategoryList[i].SupportGroupName != undefined && row.subCategoryList[i].SupportGroupName.toLowerCase().includes(searchText)\n )\n displayRow = true;\n if (row.subCategoryList[i].TechniqueAsset != undefined && row.subCategoryList[i].TechniqueAsset.length > 0)\n for (var j = 0; j < row.subCategoryList[i].TechniqueAsset.length; j++)\n if ((row.subCategoryList[i].TechniqueAsset[j].AssetName.toLowerCase().includes(searchText) ||\n (row.subCategoryList[i].TechniqueAsset[j].EffortSaving != undefined && row.subCategoryList[i].TechniqueAsset[j].EffortSaving.toString().toLowerCase().includes(searchText))) && row.subCategoryList[i].TechniqueAsset[j].IsDeleted == false)\n displayRow = true;\n }\n return displayRow;\n } else\n return false;\n } \n else if (row.propertyName == \"subcategory\") {\n if (row.subCategoryAssetList != undefined && row.subCategoryAssetList.length > 0) {\n for (var i = 0; i < row.subCategoryAssetList.length; i++)\n if ((row.subCategoryAssetList[i].AssetName.toLowerCase().includes(searchText) ||\n (row.subCategoryAssetList[i].EffortSaving != undefined && row.subCategoryAssetList[i].EffortSaving.toString().toLowerCase().includes(searchText))) && row.subCategoryAssetList[i].IsDeleted == false)\n displayRow = true;\n return displayRow;\n } else\n return false;\n } else\n return false;\n }\n\n\n searchQueqBluePrintRecords(searchText: string) {\n searchText = searchText != undefined && searchText != \"\" ? searchText.toString().toLowerCase().trim() : \"\";\n if (searchText != \"\") {\n this.bluePrintsDataDisplayed = this.bluePrintsDataBackUp.filter(row => {\n return (\n (row.categoryName != undefined ? row.categoryName.toLowerCase().includes(searchText) : false) ||\n (row.subCategoryName != undefined ? row.subCategoryName.toLowerCase().includes(searchText) : false) ||\n (row.assetName != undefined ? row.assetName.toLowerCase().includes(searchText) : false) ||\n (row.currentTotalEffort != undefined ? row.currentTotalEffort.toString().includes(searchText) : false) ||\n (row.plannedEffortSaving != undefined ? row.plannedEffortSaving.toString().includes(searchText) : false) ||\n (row.currentTotalCost != undefined ? row.currentTotalCost.toString().includes(searchText) : false) ||\n (row.plannedCostSaving != undefined ? row.plannedCostSaving.toString().includes(searchText) : false) ||\n (row.supportGroupName != undefined && row.supportGroupName != null ? row.supportGroupName.toLowerCase().includes(searchText.toLowerCase()) : false) ||\n this.checkSearchTextInSubcategoryQueq(row, searchText)\n );\n });\n this.numberOfRecordsPerPage = 100;\n }\n else {\n this.bluePrintsDataDisplayed = this.bluePrintsDataBackUp;\n this.numberOfRecordsPerPage = 50;\n }\n }\n\n checkSearchTextInSubcategoryQueq(row, searchText) {\n let displayRow = false;\n if (row.propertyName == \"category\") {\n if (row.subCategoryList != undefined && row.subCategoryList.length > 0) {\n for (var i = 0; i < row.subCategoryList.length; i++) {\n if (row.subCategoryList[i].Name != undefined && row.subCategoryList[i].SupportGroupName != undefined && row.subCategoryList[i].SupportGroupName != null && row.subCategoryList[i].SupportGroupName.toLowerCase().includes(searchText.toLowerCase()) ||\n row.subCategoryList[i].CostIncurred != undefined && row.subCategoryList[i].CostIncurred.toString().toLowerCase().includes(searchText) || row.subCategoryList[i].CostSaving != undefined && row.subCategoryList[i].CostSaving.toString().toLowerCase().includes(searchText.toLowerCase()) || row.subCategoryList[i].EffortSaving != undefined && row.subCategoryList[i].EffortSaving.toString().toLowerCase().includes(searchText.toLowerCase()) || row.subCategoryList[i].EffortSpent != undefined && row.subCategoryList[i].EffortSpent.toString().toLowerCase().includes(searchText.toLowerCase()) || row.subCategoryList[i].SupportGroupName != undefined && row.subCategoryList[i].SupportGroupName.toLowerCase().includes(searchText.toLowerCase())\n )\n displayRow = true;\n if (row.subCategoryList[i].TechniqueAsset != undefined && row.subCategoryList[i].TechniqueAsset.length > 0)\n for (var j = 0; j < row.subCategoryList[i].TechniqueAsset.length; j++)\n if ((row.subCategoryList[i].TechniqueAsset[j].SupportGroupName != undefined && row.subCategoryList[i].TechniqueAsset[j].SupportGroupName != null && row.subCategoryList[i].TechniqueAsset[j].SupportGroupName.toLowerCase().includes(searchText.toLowerCase()) ||\n (row.subCategoryList[i].TechniqueAsset[j].EffortSaving != undefined && row.subCategoryList[i].TechniqueAsset[j].EffortSaving.toString().toLowerCase().includes(searchText.toLowerCase()))) && row.subCategoryList[i].TechniqueAsset[j].IsDeleted == false)\n displayRow = true;\n }\n return displayRow;\n } else\n return false;\n } \n else if (row.propertyName == \"subcategory\") {\n if (row.subCategoryAssetList != undefined && row.subCategoryAssetList.length > 0) {\n for (var i = 0; i < row.subCategoryAssetList.length; i++)\n if ((row.subCategoryAssetList[i].SupportGroupName!=undefined && row.subCategoryAssetList[i].SupportGroupName!=null && row.subCategoryAssetList[i].SupportGroupName.toLowerCase().includes(searchText.toLowerCase()) ||\n (row.subCategoryAssetList[i].EffortSaving != undefined && row.subCategoryAssetList[i].SupportGroupName!=undefined && row.subCategoryAssetList[i].SupportGroupName!=null && row.subCategoryAssetList[i].EffortSaving.toString().toLowerCase().includes(searchText.toLowerCase()))) && row.subCategoryAssetList[i].IsDeleted == false)\n displayRow = true;\n return displayRow;\n } else\n return false;\n } else\n return false;\n }\n \n\n clearSearch() {\n this.bluePrintsDataDisplayed = JSON.parse(JSON.stringify(this.bluePrintsDataBackUp));\n }\n\n editOpportunity(opportunity) {\n var catselectOpp = this.BluePrintData.ProblemStatement.find(x => x.ID == opportunity[\"categoryId\"]);\n var selectOpp = catselectOpp.SubProblemStatement.find(x => x.ID == opportunity[\"subCategoryId\"] && x.SupportGroupName == opportunity[\"supportGroupName\"]);\n var techOpp = selectOpp.TechniqueAsset[0];\n //this.dataService.BlueprintData = this.BluePrintData;\n this.dataService.selectedCatOpp = catselectOpp;\n this.dataService.selectedSubOpp = selectOpp;\n this.dataService.AssetList = techOpp;\n this.dataService.editPageRefresh = false;\n this.apWebService.supportGroupName = opportunity[\"supportGroupName\"] == '' ? \"\" : opportunity[\"supportGroupName\"];\n this.router.navigateByUrl('/editOpportunity')\n }\n\n addAssets(bluePrintData) { //SKM\n localStorage.setItem('fromCustomAsset', 'home');\n var problemid = bluePrintData.categoryId;\n var subproblemid = bluePrintData.subCategoryId;\n var problemname = bluePrintData.categoryName;//\"Network\"; \n var subprobname = bluePrintData.subCategoryName;//\"Tech Support\";\n var datasourceId = bluePrintData.dataSourceId;\n var supportGroupName = bluePrintData.supportGroupName;\n var type = bluePrintData.type;\n var appname = bluePrintData.appName;\n var IsSubDyBulkUpload = false;\n\n this.isemptytech = false;\n this.DatasourceID = datasourceId;\n this.Type = type;\n this.AppName = appname;\n this.IsSubDynamicBulk = IsSubDyBulkUpload;\n if (this.chkjourney) {\n this.problemid = problemid;\n this.subproblemid = subproblemid;\n this.problemname = problemname;\n this.subprobname = subprobname;\n this.IsSubDynamicBulk = IsSubDyBulkUpload;\n this.supportGroupName = supportGroupName;\n //$('#myModeConfirmAddAsset').show();\n //$('#parentPop').addClass(\"modal-backdrop fade in\");\n }\n else {\n //$(\"#addrow\").modal('show');\n //$('#parentPop').addClass(\"modal-backdrop fade in\"); \n this.AddAssets(problemid, subproblemid, problemname, subprobname, supportGroupName);\n //this.apWebService.bluePrintData=bluePrintData; // skm\n this.apWebService.problemid = problemid;\n this.apWebService.subproblemid = subproblemid;\n this.apWebService.problemname = problemname;\n this.apWebService.subprobname = subprobname;\n this.apWebService.AppName = this.AppName;\n this.apWebService.Type = this.Type;\n this.apWebService.DatasourceID = this.DatasourceID;\n this.apWebService.IsDynamicBulkUpload = this.IsDynamicBulkUpload;\n this.supportGroupName = supportGroupName;\n this.apWebService.supportGroupName = this.supportGroupName\n this.router.navigateByUrl('/addAsset');\n\n }\n\n }\n\n AddAssets(problemid, subproblemid, problemname, subprobname, supportGroupName) {\n // problemid = 6672, \n // subproblemid = 31214, \n // problemname = \"Network\", \n // subprobname = \"Tech Support\"\n\n // $('#searchText').val(\"\");\n // $('#myModeConfirmAddAsset').hide();\n // $(\"#addrow\").modal('show');\n this.addAssetClick = true;\n this.AddedCustomAsset = false;\n this.BOTEdited = false;\n //$('#divModal').addClass('modal-lg');\n this.AssetDetails.Name = \"\";\n this.AssetDetails.Description = \"\";\n this.AssetDetails.AssetType = \"Select\";\n this.AssetDetails.AutomationTechnique = \"Select\";\n this.AssetDetails.SelectedAssetType = \"\";\n this.AssetDetails.SelectedAutomationTechnique = \"\";\n this.strPrimaryBenfit = \"\";\n this.SubProbName = subprobname;\n this.AssetData = [];\n this.TechniqueData = null;\n this.AssetType = [];\n // $('#searchText').val(\"\");\n // $('#myModeConfirmAddAsset').hide();\n // $(\"#addrow\").modal('show');\n\n this.apWebService.addAssetClick = this.addAssetClick;\n this.apWebService.AddedCustomAsset = this.AddedCustomAsset;\n this.apWebService.BOTEdited = this.BOTEdited;\n }\n\n deleteSubcategory(deleteSubCategoryRow) {\n this.deleteSubCategoryRow = deleteSubCategoryRow;\n $('#parentPop').addClass(\"modal-backdrop fade in\");\n $('#myModalConfirmDelete').show();\n }\n\n continueDeleteSubcategory() {\n $('#myModalConfirmDelete').hide();\n var obj = this;\n var uniqueList = [];\n if (this.deleteSubCategoryRow.subCategoryAssetList != undefined)\n for (var i = 0; i < this.deleteSubCategoryRow.subCategoryAssetList.length; i++)\n uniqueList.push(this.deleteSubCategoryRow.subCategoryAssetList[i].UniqueId);\n\n this.apWebService.deleteOpportunity(uniqueList).subscribe(function (resp) {\n obj.apWebService.showSuccessMessage(\"Opportunity Removed Successfully\");\n $('#parentPop').addClass(\"modal-backdrop fade in\");\n\n obj.BluePrintData.ProblemStatement.find(x => x.ID == obj.deleteSubCategoryRow.categoryId).SubProblemStatement.find(x => x.SupportGroupName == obj.deleteSubCategoryRow.supportGroupName)[\"IsBaseline\"] = false;\n if (obj.BluePrintData.ProblemStatement.find(x => x.ID == obj.deleteSubCategoryRow.categoryId).SubProblemStatement.find(x => x.SupportGroupName == obj.deleteSubCategoryRow.supportGroupName).TechniqueAsset != undefined && obj.BluePrintData.ProblemStatement.find(x => x.ID == obj.deleteSubCategoryRow.categoryId).SubProblemStatement.find(x => x.SupportGroupName == obj.deleteSubCategoryRow.supportGroupName).TechniqueAsset.length > 0)\n for (var i = 0; i < obj.BluePrintData.ProblemStatement.find(x => x.ID == obj.deleteSubCategoryRow.categoryId).SubProblemStatement.find(x => x.SupportGroupName == obj.deleteSubCategoryRow.supportGroupName).TechniqueAsset.length; i++)\n obj.BluePrintData.ProblemStatement.find(x => x.ID == obj.deleteSubCategoryRow.categoryId).SubProblemStatement.find(x => x.SupportGroupName == obj.deleteSubCategoryRow.supportGroupName).TechniqueAsset[i].IsDeleted = true;\n\n obj.populateData(obj.BluePrintData, \"\");\n\n obj.UpdateParentLevelDetails();\n\n //var blueprintobject;\n let UserDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n\n //var currbobj = this;\n var blueprintobjectFDS = {\n UserType: UserDetails.UserType,\n DMSProjectID: UserDetails.ProjectID,\n WSUID: UserDetails.WSUID,\n E2EUID: UserDetails.E2EUID,\n CMSUID: UserDetails.CMSUID,\n FDSScope: UserDetails.FDSScope,\n EnterpriseId: UserDetails.EnterpriseId,\n FDSReadOnly: UserDetails.FdsReadOnly,\n DataSourceID: UserDetails.DatasourceID\n };\n\n let userDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n var Ut1Blueprintobject = {\n UserType: userDetails.UserType,\n DMSProjectID: userDetails.ProjectID,\n WSUID: null,\n E2EUID: null,\n CMSUID: null,\n EnterpriseId: userDetails.EnterpriseId,\n FDSReadOnly: userDetails.FdsReadOnly,\n DataSourceID: 0\n };\n if (blueprintobjectFDS.UserType == 3) {\n //-----------------------UserType3------------------\n //blueprintobject =\n obj.FDS_UserType3_ChartDataCount(obj, blueprintobjectFDS);\n\n } else {\n //-----------------------UserType1------------------\n //blueprintobject = \n obj.Standalone_UserType1_ChartDataCount(obj, Ut1Blueprintobject);\n\n }\n },\n error => {\n console.log(error);\n }\n\n );\n\n\n // if (sessionStorage.UserDetails.E2EUID == \"\" || sessionStorage.UserDetails.E2EUID == undefined) {\n // sessionStorage.UserDetails.E2EUID = null;\n // }\n // if (sessionStorage.UserDetails.WSUID == \"\" || sessionStorage.UserDetails.E2EUID == undefined) {\n // sessionStorage.UserDetails.WSUID = null;\n // }\n // if (sessionStorage.UserDetails.CMSUID == \"\" || sessionStorage.UserDetails.E2EUID == undefined) {\n // sessionStorage.UserDetails.CMSUID = null;\n // }\n\n }\n\n private Standalone_UserType1_ChartDataCount(obj: this, blueprintobject) {\n\n\n obj.apWebService.GetBlueprintDataSourceList(blueprintobject).subscribe(function (data: any) {\n //obj.dataService.BlueprintName = obj.BlueprintList.BlueprintName;\n //obj.dataService.BlueprintId = obj.BlueprintList.BlueprintID;\n data = JSON.parse(data);\n obj.dataService.iom = data.Data;\n //obj.dataService.aof = data.Process;\n obj.dataService.manual = data.Other;\n obj.dataService.pendingsubmission = data.PendingSubmit;\n obj.dataService.submitted = data.OpportunityCount - data.PendingSubmit;\n obj.dataService.bluePrintDataReceived.emit(\"true\");\n\n }, error => {\n console.log(error);\n });\n //return blueprintobject;\n }\n\n private FDS_UserType3_ChartDataCount(obj: this, blueprintobject) {\n\n this.apWebService.getfdsblueprintdatasourceList(blueprintobject).subscribe(function (data: any) {\n //Deekshita: Understand the logic\n let FDSData = JSON.parse(data);\n let FDSGraphData = FDSData.APContract.bluePrints;\n obj.dataService.iom = FDSGraphData.Data;\n //obj.dataService.aof = FDSGraphData.Process;\n obj.dataService.manual = FDSGraphData.Other;\n obj.dataService.pendingsubmission = FDSGraphData.PendingSubmit;\n obj.dataService.submitted = FDSGraphData.OpportunityCount - FDSGraphData.PendingSubmit;\n obj.dataService.fdsBluePrintDataReceived.emit(\"true\");\n\n },\n error => {\n console.log(error);\n }\n );\n //return blueprintobject;\n }\n\n UpdateParentLevelDetails() {\n var resp = this.BluePrintData;\n this.noOpp = true;\n let obj = this;\n $.each(resp.ProblemStatement, function (main_key, prbvalue) {\n if (prbvalue != null) {\n this.ParentTicketCount1 = 0;\n this.ParentCostIncurred1 = 0;\n this.ParentAnnualEffort1 = 0;\n var ParentEffortSaving = 0;\n var ParentCostSaving = 0;\n\n if (prbvalue.IsDisplayParent == true) {\n this.noOpp = false;\n $.each(prbvalue.SubProblemStatement, function (sub_key, subvalue) {\n if (subvalue != null) {\n if (subvalue.IsBaseline == true) {\n if (subvalue.Filter == \"AIAAData\" || subvalue.Filter == \"ManualData\") {\n this.ParentTicketCount1 = parseInt(this.ParentTicketCount1) + parseInt(subvalue.TicketCount);\n }\n this.ParentAnnualEffort1 = parseFloat(this.ParentAnnualEffort1) + parseFloat(subvalue.EffortSpent);\n this.ParentCostIncurred1 = parseFloat(this.ParentCostIncurred1) + parseFloat(subvalue.CostIncurred);\n ParentEffortSaving = parseFloat(ParentEffortSaving.toString()) + parseFloat(subvalue.EffortSaving);\n ParentCostSaving = parseFloat(ParentCostSaving.toString()) + parseFloat(subvalue.CostSaving);\n }\n }\n });\n prbvalue.EffortSpent = (this.ParentAnnualEffort1);//.toFixed(2);\n //prbvalue.EffortSpent = Number(prbvalue.EffortSpent.toString().match(/^\\d+(?:\\.\\d{0,2})?/)); round2Fixed\n prbvalue.EffortSpent = obj.round2Fixed(prbvalue.EffortSpent);\n prbvalue.CostIncurred = (this.ParentCostIncurred1);//.toFixed(2);\n //prbvalue.CostIncurred = Number(prbvalue.CostIncurred.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n prbvalue.CostIncurred = obj.round2Fixed(prbvalue.CostIncurred);\n prbvalue.TicketCount = this.ParentTicketCount1;\n prbvalue.EffortSaving = ParentEffortSaving;//.toFixed(2);\n //prbvalue.EffortSaving = Number(prbvalue.EffortSaving.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n prbvalue.EffortSaving = obj.round2Fixed(prbvalue.EffortSaving);\n prbvalue.CostSaving = ParentCostSaving;//.toFixed(2);\n //prbvalue.CostSaving = Number(prbvalue.CostSaving.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n prbvalue.CostSaving = obj.round2Fixed(prbvalue.CostSaving);\n }\n }\n });\n if (this.noOpp) {\n this.baselineMessage = 'Your blueprint is blank. Please move opportunities from opportunity treasury to blueprint for further planning.';\n }\n else {\n this.baselineMessage = '';\n }\n }\n\n cancelDelete() {\n $('#myModalConfirmDelete').hide();\n $(\"#addrow\").modal('hide');\n $('#parentPop').removeClass(\"modal-backdrop fade in\");\n }\n\n cancelBaselineDelete() {\n $('#myModalConfirmDeleteBaseline').hide();\n $('#myModalConfirmDeleteBaselineLast').hide();\n $(\"#addrow\").modal('hide');\n $('#parentPop').removeClass(\"modal-backdrop fade in\");\n }\n\n getAllAssetType() {\n var obj = new Object();\n this.apWebService.GetAllAssetType().subscribe(data => {\n\n }, error => {\n console.log(error);\n })\n }\n\n checkAIAAUserAccess(enterpriseId: string, DMSProjectID: string, usertype: number) {\n this.apWebService.CheckAIAAUserAccess(enterpriseId, DMSProjectID, usertype).subscribe(data => {\n }, error => {\n console.log(error);\n })\n }\n\n checkKiteEnabledBlueprint(DataSourceID: number) {\n this.apWebService.CheckKiteEnabledBlueprint(DataSourceID).subscribe(data => {\n }, error => {\n console.log(error);\n })\n }\n\n getOpportunities(userDetails: object) {\n this.apWebService.GetOpportunities(userDetails).subscribe(data => {\n\n }, error => {\n console.log(error);\n })\n }\n\n getSubCategory(deliveryType: string) {\n this.apWebService.GetSubCategory(deliveryType).subscribe(data => {\n\n }, error => {\n console.log(error);\n })\n }\n\n getCategory(userDetails: object) {\n this.apWebService.GetCategory(userDetails).subscribe(data => {\n\n }, error => {\n console.log(error);\n })\n }\n\n saveManualOpportunity(manualopportunity: object) {\n this.apWebService.SaveManualOpportunity(manualopportunity).subscribe(data => {\n\n }, error => {\n console.log(error);\n })\n }\n\n CheckDuplicateOpportunity(manualopportunity: object) {\n this.apWebService.CheckDuplicateOpportunity(manualopportunity).subscribe(data => {\n\n }, error => {\n console.log(error);\n })\n }\n\n GetFDSBlueprintDataList(blueprintobject: object) {\n this.apWebService.GetFDSBlueprintDataList(blueprintobject).subscribe(data => {\n\n }, error => {\n console.log(error);\n })\n }\n\n saveBulkManualOpportunity(ManualOpportunityList: object) {\n this.apWebService.SaveBulkManualOpportunity(ManualOpportunityList).subscribe(data => {\n\n }, error => {\n console.log(error);\n })\n }\n\n GetFDSBlueprints = function (UserDetails) {\n var blueprintobject = {\n UserType: UserDetails.UserType,\n DMSProjectID: UserDetails.ProjectID,\n WSUID: UserDetails.WSUID,\n E2EUID: UserDetails.E2EUID,\n CMSUID: UserDetails.CMSUID,\n FDSScope: UserDetails.FDSScope,\n EnterpriseId: UserDetails.EnterpriseId,\n FDSReadOnly: UserDetails.FdsReadOnly,\n DataSourceID: UserDetails.DatasourceID\n };\n this.isBaselineFlag = true;\n\n this.apWebService.getfdsblueprintdatasourceList(blueprintobject).then(function (data) {\n //Deekshita: Understand the logic\n this.BlueprintList = JSON.parse(data);\n var EndToEndUId = this.BlueprintList.ParentUID;\n if (data != null) {\n this.apWebService.UserWithoutAccess(EndToEndUId).then(function (resp) {\n\n if (resp != null && resp == 1) {\n var UserWithoutAccess = resp\n if (UserWithoutAccess == 1) {\n this.UserDetails.IsUserReadonly = true;\n sessionStorage.setItem('UserDetails', JSON.stringify(this.UserDetails));\n\n }\n else {\n this.UserDetails.IsUserReadonly = false;\n sessionStorage.setItem('UserDetails', JSON.stringify(this.UserDetails));\n }\n }\n });\n }\n this.UserDetails.FDSScope = this.BlueprintList;\n if (!this.redirected) {\n this.scopecopy = Object.assign(this.UserDetails.FDSScope)\n }\n\n if (this.BlueprintList.SelectedEntityType == \"CMS\") {\n this.GetCMSFolder(this.BlueprintList.SelectedEntityUID, 0, 'abc');\n }\n else {\n this.GetFDSBlueprintStructure();\n }\n\n if (this.BlueprintIDList.length > 0) {\n var bluePrineArray = [];\n let obj = this.BlueprintIDList\n obj.foreach(function (blueprintkey, bvalue) {\n if (bvalue.Data != 0 || bvalue.Process != 0 || bvalue.Other != 0) {\n bluePrineArray.push(bvalue.IsBaseline.toString());\n }\n });\n if (bluePrineArray.length > 0) {\n this.isBaselineFlag = this.checkIfSame(\"false\", bluePrineArray);\n }\n else {\n this.isBaselineFlag = false;\n }\n this.BlueprintIDList.sort(this.compare);\n\n }\n else {\n this.isBaselineFlag = false;\n }\n if (this.isBaselineFlag == false) {\n this.errLabel = \"Your blueprint is blank. Please move opportunities from opportunity treasury to blueprint for further planning.\";\n }\n });\n }\n\n checkIfSame(key, arr) {\n var uniq = $.unique(arr);\n if (uniq.length == 1 && uniq[0] == key) {\n return false;\n } else {\n return true;\n }\n }\n\n GetCMSFolder = function (cmsuid, index, removefolder) {\n if (removefolder == 'r4hdx8h') {\n this.ShowFolderNavigation = true;\n }\n this.clickoffolder = 1;\n this.folderCmsName = [];\n this.BlueprintIDList = [];\n let blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n CMSName: '',\n cmsuid: '',\n BaselinedCount: '',\n BlueprintID: 0\n };\n if (removefolder == 'hfxdg') {\n this.RemoveFoldername(index);\n }\n\n var exist = $.grep(this.CMSFolderName, function (obj) {\n if (obj.id == cmsuid) {\n return true;\n }\n });\n if (exist.length == 0) {\n this.GetCMSBackwardFolderDetails(cmsuid);\n }\n this.count = 1;\n if (cmsuid != null) {\n this.BlueprintList.APContract.objCMSfoeach(function (main_key, value) {\n let obj = value;\n if (obj.CMSUID == cmsuid) {\n this.GetCMSFolderStructure(value);\n }\n obj.objCMS.each(function (main_key, cmsvalue) {\n this.Check(cmsvalue, cmsuid);\n });\n });\n }\n if (this.BlueprintIDList.length > 0) {\n var bluePrineArray = [];\n this.BlueprintIDList.each(function (blueprintkey, bvalue) {\n if (bvalue.Data != 0 || bvalue.Process != 0 || bvalue.Other != 0) {\n bluePrineArray.push(bvalue.IsBaseline.toString());\n }\n\n });\n if (bluePrineArray.length > 0) {\n this.isBaselineFlag = this.checkIfSame(\"false\", bluePrineArray);\n }\n else {\n this.isBaselineFlag = false;\n }\n this.SortedFolderBluePrintIDList = [];\n this.BlueprintIDList.each(function (blueprintkey, bvalue) {\n this.SortedFolderBluePrintIDList.push(bvalue);\n\n });\n this.SortedFolderBluePrintIDList.splice(0, 1);\n this.SortedFolderBluePrintIDList = this.SortedFolderBluePrintIDList;\n this.SortedFolderBluePrintIDList.sort(this.compare);\n }\n else { this.isBaselineFlag = false; }\n if (this.isBaselineFlag == false) {\n this.errLabel = \"Your blueprint is blank. Please move opportunities from opportunity treasury to blueprint for further planning.\";\n }\n\n };\n\n GetCMSFolderStructure(value) {\n this.BlueprintIDList = [];\n let blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n CMSName: '',\n cmsuid: '',\n BaselinedCount: 0,\n BlueprintID: 0,\n Status: ''\n\n };\n var countofbaseline = 0;\n let currobj = value;\n if (value.bluePrints != null) {\n blueprintobjectdetails.BlueprintName = value.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"CMS\";\n blueprintobjectdetails.OpportunityCount = value.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = value.bluePrints.Data;\n blueprintobjectdetails.Process = value.bluePrints.Process;\n blueprintobjectdetails.Other = value.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = value.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = value.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = value.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = value.bluePrints.IsBaseline;\n blueprintobjectdetails.CMSName = value.CMSName;\n blueprintobjectdetails.cmsuid = value.CMSUID;\n blueprintobjectdetails.BlueprintID = value.bluePrints.BlueprintID;\n blueprintobjectdetails.Status = value.Status;\n let PStatus = value.Status;\n\n if (currobj.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n currobj.objCMS.foreach(function (main_key, value) {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n currobj.objWorkStream.each(function (main_key, value) {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n blueprintobjectdetails.BaselinedCount = countofbaseline;\n this.BlueprintIDList.push(blueprintobjectdetails);\n }\n if (value.objCMS.length > 0) {\n var objCMS = null;\n currobj.objCMS.each(function (main_key, cmsvalue) {\n cmsvalue.objCMS.each(function (main_key, value) {\n objCMS = value;\n });\n if (cmsvalue.bluePrints != null) {\n\n let blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n CMSName: '',\n cmsuid: '',\n BaselinedCount: '',\n BlueprintID: 0,\n Status: '',\n ParentStatus: ''\n };\n var countofbaseline = 0;\n blueprintobjectdetails.BlueprintName = cmsvalue.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"CMS\";\n blueprintobjectdetails.OpportunityCount = cmsvalue.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = cmsvalue.bluePrints.Data;\n blueprintobjectdetails.Process = cmsvalue.bluePrints.Process;\n blueprintobjectdetails.Other = cmsvalue.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = cmsvalue.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = cmsvalue.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = cmsvalue.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = cmsvalue.bluePrints.IsBaseline;\n blueprintobjectdetails.BlueprintID = cmsvalue.bluePrints.BlueprintID;\n blueprintobjectdetails.CMSName = cmsvalue.CMSName;\n blueprintobjectdetails.cmsuid = cmsvalue.CMSUID;\n blueprintobjectdetails.Status = cmsvalue.Status;\n blueprintobjectdetails.ParentStatus = this.PStatus;\n if (cmsvalue.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n cmsvalue.objCMS.each(function (main_key, value) {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n cmsvalue.objCMS.each(cmsvalue.objWorkStream, function (main_key, value) {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n this.blueprintobjectdetails.BaselinedCount = countofbaseline;\n this.BlueprintIDList.push(blueprintobjectdetails);\n }\n\n });\n\n if (objCMS != null) {\n if (objCMS.length > 0) {\n //GetCMSFolderStructure(objCMS);\n }\n }\n }\n\n if (value.objWorkStream.length > 0) {\n currobj.objWorkStream.each(function (main_key, wsvalue) {\n if (wsvalue.bluePrints != null) {\n let blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n CMSName: '',\n cmsuid: '',\n BaselinedCount: '',\n BlueprintID: 0,\n Status: '',\n ParentStatus: ''\n };\n blueprintobjectdetails.BlueprintName = wsvalue.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"WS\";\n blueprintobjectdetails.OpportunityCount = wsvalue.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = wsvalue.bluePrints.Data;\n blueprintobjectdetails.Process = wsvalue.bluePrints.Process;\n blueprintobjectdetails.Other = wsvalue.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = wsvalue.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = wsvalue.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = wsvalue.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = wsvalue.bluePrints.IsBaseline;\n blueprintobjectdetails.BlueprintID = wsvalue.bluePrints.BlueprintID;\n blueprintobjectdetails.Status = wsvalue.Status;\n blueprintobjectdetails.ParentStatus = this.PStatus;\n currobj.BlueprintIDList.push(blueprintobjectdetails);\n }\n });\n\n }\n\n\n }\n\n Check(value, cmsuid) {\n if (value.CMSUID == cmsuid) {\n this.GetCMSFolderStructure(value);\n }\n else {\n value.objCMS.each(function (main_key, value) {\n if (value.CMSUID == cmsuid) { this.GetCMSFolderStructure(value); }\n else {\n this.Check(value, cmsuid);\n }\n });\n }\n\n }\n\n compare(a, b) {\n\n const genreA = (a.BlueprintName != null) ? a.BlueprintName.toUpperCase() : a.BlueprintName;\n const genreB = (b.BlueprintName != null) ? b.BlueprintName.toUpperCase() : b.BlueprintName;\n let comparison = 0;\n if (a.type == \"CMS\" && b.type == \"CMS\") {\n if (genreA > genreB) {\n comparison = 1;\n } else if (genreA < genreB) {\n comparison = -1;\n }\n }\n if (a.type == \"WS\" && b.type == \"WS\") {\n if (genreA > genreB) {\n comparison = 1;\n } else if (genreA < genreB) {\n comparison = -1;\n }\n }\n return comparison;\n }\n RedirectToOpportunity() {\n location: Location;\n if (this.scopecopy != undefined && this.UserDetails.clicknotapply != false) {\n //this.UserDetails.FDSScope = angular.copy(this.scopecopy);\n this.UserDetails.FDSScope = this.UserDetails.FDSScope\n }\n\n location.pathname = \"/opportunityTreasury\";\n }\n\n round2Fixed(value) {\n value = +value;\n if (isNaN(value))\n return NaN;\n // Shift\n value = value.toString().split('e');\n value = Math.round(+(value[0] + 'e' + (value[1] ? (+value[1] + 2) : 2)));\n // Shift back\n value = value.toString().split('e');\n return (+(value[0] + 'e' + (value[1] ? (+value[1] - 2) : -2))).toFixed(2);\n }\n\n ToggleClass() {\n $('.myw-navbar-actions').toggleClass('myw-navbar-active');\n }\n ToggleClassForPin() {\n $('.myw-navbar-actions').toggleClass('collapsed');\n $('.myw-navbar-pin').toggleClass('collapsed');\n }\n\n clickOfBlueprint(blueprintdata) {\n $(\".form-control.form-control-sm\").val(\"\");\n this.isBaselineFlag = true;\n this.defaultPage = 1;\n this.blueprintDetails.forEach((value, key) => {\n if (value.activeBPName !== undefined && value.activeBPName == true)\n this.blueprintDetails.find(x => x.activeBPName == true).activeBPName = false;\n if (value.BlueprintName == blueprintdata.BlueprintName) {\n this.blueprintID = value.BlueprintID;\n this.bluePrintName = value.BlueprintName;\n this.dataService.iom = value.Data\n //this.dataService.aof = value.Process\n this.dataService.manual = value.Other\n this.dataService.pendingsubmission = value.PendingSubmit\n this.dataService.submitted = value.OpportunityCount - value.PendingSubmit\n this.isBaselineFlag = value.IsBaseline;\n this.ModifiedOn = value.ModifiedOn;\n this.dataService.fdsBluePrintDataReceived.emit(\"true\");\n this.getBaseLineResponse();\n }\n }\n )\n this.blueprintDetails.find(x => x.BlueprintID == this.blueprintID).activeBPName = true;\n this.dataService.BlueprintId = this.blueprintID;\n this.getUserDeatils(this.blueprintID);\n }\n\n getUserDeatils(bluePrintId) {\n this.apWebServiceBaseline.GetUserDetails(this.apWebService.enterpriseId, bluePrintId, sessionStorage['oldE2EUID']).subscribe(resp => {\n if (resp == null) {\n var errormsg = \"\"\n errormsg = \"Unexpected error on FDS Authorize\";\n }\n else if (resp != null) {\n var data: any;\n if (sessionStorage['UserDetails'] != undefined)\n var OrgSession = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n OrgSession.FDSScope = data.FDSScope;\n sessionStorage.setItem('UserDetails', JSON.stringify(OrgSession));\n }\n }, error => {\n }\n )\n\n }\n}\n","\n
\n
\n
\n \n
\n
\n
\n \n
\n\n
\n \"Filter\"Filter\n
\n
\n
Filter
\n Close\n
\n
\n
\n \n
\n
\n \n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n\n\n\n\n\n\n\n\n \n\n\n\n\n \"Summary\"{{!showSummary ? 'Show Graphs' : 'Hide Graphs'}}\n \"ThumbsOpportunity\n Upload\n
\n \n
\n
\n
Filter
\n Close\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \"\"Toggle\n Labels\n
\n
\n \"\"Toggle Navbar\n
\n\n\n
\n\n
\n
Asset Deleted Successfully
\n \n
\n
\n
\n \n
\n Toggle Sidebar\n
\n \n \n {{fdsClientName}}\n \n
\n
\n \n
\n
\n
\n
\n \n
\n\n\n
\n
\n
\n
{{bluePrintName}}
\n
Modified Date: {{ModifiedOn|date : 'MM/dd/yyyy'}}
\n
\n
\n
\n
\n
\n
\n
Automation Opportunities by Source
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
Automation Opportunities by Status
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
Effort & Cost Savings
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Automation
\n Opportunities
Current\n
Effort\n (Hr)
Planned\n
\n Saving (Hr)
Current\n
Cost\n ($)
Planned\n
Saving\n ($)
QueueTower/Module\n
\n \n
\n \n \n \n
\n {{bpd.categoryName.length > 30 ?\n (bpd.categoryName | slice:0:30) + '...' : bpd.categoryName}}\n
\n \n \n \n {{(bpd.propertyName == 'asset' && bpd.currentTotalEffort != undefined && bpd.currentTotalEffort != 0) || (bpd.propertyName != 'asset' && bpd.currentTotalEffort != undefined) ? bpd.currentTotalEffort : ''}}{{(bpd.propertyName == 'asset' && bpd.plannedEffortSaving != undefined && bpd.plannedEffortSaving != 0) || (bpd.propertyName != 'asset' && bpd.plannedEffortSaving != undefined) ? bpd.plannedEffortSaving : ''}}{{(bpd.propertyName == 'asset' && bpd.currentTotalCost != undefined && bpd.currentTotalCost != 0) || (bpd.propertyName != 'asset' && bpd.currentTotalCost != undefined) ? bpd.currentTotalCost : ''}}{{bpd.plannedCostSaving != undefined && bpd.plannedCostSaving != 0 ? bpd.plannedCostSaving : '0.00'}}{{bpd.propertyName == \"subcategory\" ? bpd.supportGroupName : ''}}{{bpd.propertyName == \"subcategory\" ? bpd.TowerModule : ''}}
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n\n \n
\n \n\n \n
\n
\n
\n
\n
Delete Opportunity
\n \n
\n
\n
\n \"Delete\"\n

Are you sure you want to delete this Opportunity?

\n
\n \n \n
\n
\n
\n
\n
\n
\n \n\n \n
\n
\n
\n
\n
Delete Asset
\n \n
\n
\n
\n \"Delete\"\n

Are you sure you want to delete this Asset?

\n
\n \n \n
\n
\n
\n
\n
\n
\n \n ","/* (ignored) */","/* (ignored) */","import { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { of as observableOf, Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class WebClientService{\r\n constructor(private http: HttpClient) { \r\n\r\n }\r\n\r\n successCallback(response) {\r\n return response.data;\r\n }\r\n\r\n get(routePath) {\r\n return this.http.get(routePath);\r\n }\r\n\r\n logUserName(serviceRootUrl: string, enterpriseId: string): Observable {\r\n return this.http.get(serviceRootUrl + \"/UserInfo/LogEnterpriseId/?enterpriseId=\" + enterpriseId);\r\n }\r\n}","import { analyzeAndValidateNgModules } from '@angular/compiler';\nimport { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { from } from 'rxjs';\nimport { DataService } from 'src/services/data.service';\nimport { APWebService } from '../../services/apWeb.service';\nimport { cloneDeep } from 'lodash';\n\n@Component({\n selector: 'app-add-custom-asset',\n templateUrl: './add-custom-asset.component.html',\n styleUrls: ['./add-custom-asset.component.css']\n})\nexport class AddCustomAssetComponent implements OnInit {\n\n public TechniqWithAssets: any;\n //public AssetDetail: any;\n public PrimaryBenifits: any = [];\n public PrimaryBenifitsFiltered: any;\n public DropdownPrimaryBenifits: any = [];\n public AddAssetDetails: any = [];\n public Name: string;\n public Description: string;\n public AssetTypeID: number;\n public TechniqueID: number;\n public DatasourceID: any;\n public AppName: string;\n public UserType: any;\n public ProposalId: any;\n public PrimaryBenefitName: string = \"\";\n public IsClientSpecific: boolean = true;\n public btnDisable: boolean = true;\n public mandatoryFieldValidateFlag: boolean = false;\n public AssetDetail: any = {\n Name: \"\",\n Description: \"\",\n AssetType: \"\",\n AutomationTechnique: \"\",\n AssetStatus: \"\"\n }\n public BackUpOrginalAssetDetail: any;\n\n\n //dropdownList = [];\n public selectedItems = [];\n public dropdownSettings = {};\n public UserDetails: any = [];\n public CapturedE2EUID: any;\n public problemname: any;\n public subprobname: any;\n\n constructor(public apwebservice: APWebService, public router: Router, public dataService: DataService) { }\n\n ngOnInit(): void {\n if(this.apwebservice.problemname!=undefined)\n {\n this.problemname = this.apwebservice.problemname;\n this.subprobname = this.apwebservice.subprobname;\n }\n else{\n this.problemname = JSON.parse(sessionStorage.getItem('addproblemname'));\n this.subprobname = JSON.parse(sessionStorage.getItem('addsubprobname'));\n }\n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n \n if (this.apwebservice.TechniqWithAssets != null && localStorage.getItem(\"AssetDetails\") != null) {\n this.TechniqWithAssets = this.apwebservice.TechniqWithAssets;\n this.AssetDetail = JSON.parse(localStorage.getItem(\"AssetDetails\"));\n this.GetPrimaryBenifits();\n\n }\n else {\n this.apwebservice.getassetTypes().subscribe(resp => {\n this.AssetDetail.AssetType = resp[0];\n this.AssetDetail.AssetStatus = resp[1];\n localStorage.setItem(\"AssetDetails\", JSON.stringify(this.AssetDetail));\n this.AssetDetail = JSON.parse(localStorage.getItem(\"AssetDetails\"));\n\n }, error => {\n console.log(error);\n });\n this.apwebservice.getallassetsdetailsforblueprint(this.UserDetails.UserType, this.UserDetails.ProjectID, null, null, null).subscribe(resp => {\n this.TechniqWithAssets = resp;\n this.GetPrimaryBenifits();\n }, error => {\n this.apwebservice.showErrorMessage(error);\n })\n\n // let obj=this;\n\n this.dropdownSettings = {\n singleSelection: false,\n text: 'Select',\n selectAllText: 'Select All',\n unSelectAllText: 'UnSelect All',\n enableSearchFilter: true,\n classes: \"myclass custom-class\",\n maxHeight: 250\n };\n\n // this.selectedItems = [\n // {\"id\":2,\"itemName\":\"Singapore\"},\n // {\"id\":3,\"itemName\":\"Australia\"},\n // {\"id\":4,\"itemName\":\"Canada\"},\n // {\"id\":5,\"itemName\":\"South Korea\"}\n // ];\n }\n }\n\n GetPrimaryBenifits() {\n this.TechniqWithAssets.forEach(element => {\n element.Assets.forEach(ele => {\n this.PrimaryBenifits.push(...new Set(ele.BayerValue.map(x => x.Name)))\n });\n });\n this.PrimaryBenifitsFiltered = [...new Set(this.PrimaryBenifits.map(item => item.trim()))];\n this.PrimaryBenifitsFiltered.forEach((ele1, index) => {\n this.DropdownPrimaryBenifits.push({ \"id\": index, \"itemName\": ele1 })\n });\n }\n\n //[{\"DatasourceID\":30791,\"AppName\":null,\"Name\":\"added test\",\"Description\":\"added test1313\",\"AssetTypeID\":2,\"TechniqueID\":26,\"PrimaryBenefit\":\"Cost Optimization\",\"IsClientSpecific\":true,\"E2Euid\":null,\"UserType\":1,\"ProposalId\":9}]\n AddAsset() {\n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n if (this.UserDetails != undefined) {\n sessionStorage.setItem(\"UserDetails\", JSON.stringify(this.UserDetails));\n }\n else {\n this.UserDetails = sessionStorage.setItem(\"UserDetails\", this.UserDetails);\n }\n this.DatasourceID = this.apwebservice.DatasourceID;\n this.AppName = this.apwebservice.AppName;\n this.ProposalId = this.UserDetails.ProjectID;\n this.UserType = this.UserDetails.UserType;\n\n this.PrimaryBenefitName = \"\";\n for (let index = 0; index < this.selectedItems.length; index++) {\n if (index == 0)\n this.PrimaryBenefitName = this.selectedItems[index].itemName;\n else\n this.PrimaryBenefitName += ', ' + this.selectedItems[index].itemName;\n }\n this.AddAssetDetails = [];\n if (this.UserDetails.FDSScope != undefined) {\n this.CapturedE2EUID = this.UserDetails.FDSScope.APContract.EndToEndUId;\n }\n else {\n this.CapturedE2EUID = null;\n }\n //------------for temporaryly set. -----------------\n if (this.ProposalId != undefined && this.ProposalId == 0) {\n this.ProposalId = 9;\n }\n //------------for temporaryly set. -----------------\n\n this.AddAssetDetails.push({\n \"DatasourceID\": this.DatasourceID,\n \"AppName\": this.AppName,\n \"Name\": this.Name,\n \"Description\": this.Description,\n \"AssetTypeID\": +this.AssetTypeID,\n \"TechniqueID\": +this.TechniqueID,\n \"PrimaryBenefit\": this.PrimaryBenefitName,\n \"IsClientSpecific\": this.IsClientSpecific,\n \"E2Euid\": null,\n \"UserType\": this.UserType,\n \"ProposalId\": this.ProposalId\n });\n\n var techID = this.TechniqueID;\n this.AddAssetDetails[0].UserType = this.UserDetails.UserType;\n this.AddAssetDetails[0].AppName = this.AppName;\n if (this.UserDetails.UserType == 1) {\n this.AddAssetDetails[0].ProposalId = this.ProposalId;\n }\n if (this.UserDetails.UserType == 3) {\n this.AddAssetDetails[0].E2Euid = this.CapturedE2EUID;\n this.AddAssetDetails[0].CMSuid = this.UserDetails.CMSUID;\n this.AddAssetDetails[0].WSuid = this.UserDetails.WSUID;\n }\n if (this.UserDetails.UserType == 4) {\n this.AddAssetDetails[0].SolutionId = this.UserDetails.ProjectID;\n }\n\n this.apwebservice.saveCustomAssets(this.AddAssetDetails).subscribe(resp => {\n if (resp != null) {\n // if (resp == -1) {\n // this.apwebservice.displayErrorMessage(\"Custom asset already exists.\");\n // }\n // else {\n // this.apwebservice.showSuccessMessage(\"Custom Asset Added Successfully\");\n\n // this.addAssetClick = true;\n // this.AddedCustomAsset = true;\n // this.isemptytech = false;\n // this.btnDisable = false;\n // $(\"#chk_\" + resp).prop(\"checked\", true);\n // this.ListOfAssets = [];\n // this.ListOfAssets = $scope.TechniqWithAssets.filter(function (Tech) {\n // return (Tech.ID == techID);\n // });\n // var AutomationTechnique = {\n // };\n // AutomationTechnique = {\n // Assets: null,\n // ID: $scope.AssetDetails.SelectedAutomationTechnique.ID,\n // Name: $scope.AssetDetails.SelectedAutomationTechnique.Name,\n // Probability: 0,\n // SortOrder: null\n // }\n // this.ListOfAssets[0].Assets.unshift({\n // ID: resp,\n // Name: this.AssetDetails.Name,\n // TechniqueID: this.AssetDetails.SelectedAutomationTechnique.ID,\n // FixExecutionString: \"\",\n // OldFixExecutionString: this.AssetDetails.SelectedAssetType.Name,\n // BayerValueString: this.strPrimaryBenfit,\n // AutomationTechnique: AutomationTechnique,\n // BayerValue: BuyerValue,\n // IsAccepted: true,\n // IsActive: true,\n // IsCustomAsset: true,\n // IsClientSpecific: $('#checkbox_id').is(\":checked\"),\n // IsDeleted: false\n // });\n // this.AssetData = this.ListOfAssets[0].Assets;\n // this.value = $scope.AssetDetails.SelectedAutomationTechnique.Name;\n // this.AssetDetails.Name = \"\";\n // this.AssetDetails.Description = \"\";\n // this.AssetDetails.AssetType = \"Select\";\n // this.AssetDetails.AutomationTechnique = \"Select\";\n // this.strPrimaryBenfit = \"\";\n // $('#divModal').addClass('modal-lg');\n //}\n }\n this.checkAssetExists();\n localStorage.setItem('TechniqueID', this.TechniqueID.toString());\n localStorage.setItem('fromCustomAsset', 'customAsset');\n localStorage.setItem('CustomAssetid', resp.toString());\n this.router.navigateByUrl('/addAsset');\n }, error => {\n console.log(error);\n })\n }\n\n checkAssetExists() {\n let newlyAddedAssetsList = \"\";\n let existingAssetsList = \"\";\n if (!(this.apwebservice).hasOwnProperty('existingCustomAssetsList') && this.apwebservice.existingCustomAssetsList == undefined) {\n var selectedValue = this.TechniqueID;\n var AssetDetails = this.TechniqWithAssets.find(x => x.ID == selectedValue);\n this.BackUpOrginalAssetDetail = cloneDeep(AssetDetails);\n this.apwebservice.existingCustomAssetsList = this.BackUpOrginalAssetDetail.Assets;\n }\n\n //for (var i = 0; i < this.selectedItems.length; i++) {\n let assetExists = false;\n for (var j = 0; j < this.apwebservice.existingCustomAssetsList.length; j++) {\n if (this.apwebservice.existingCustomAssetsList[j].Name.indexOf(this.Name) >= 0)\n assetExists = true;\n }\n if (assetExists)\n existingAssetsList += this.Name + \", \";\n else\n newlyAddedAssetsList += this.Name + \", \";\n //}\n existingAssetsList.length > 0 && existingAssetsList.substring(existingAssetsList.length - 2) == \", \" ? existingAssetsList = existingAssetsList.substring(0, existingAssetsList.length - 2) : '';\n newlyAddedAssetsList.length > 0 && newlyAddedAssetsList.substring(newlyAddedAssetsList.length - 2) == \", \" ? newlyAddedAssetsList = newlyAddedAssetsList.substring(0, newlyAddedAssetsList.length - 2) : '';\n if (existingAssetsList != \"\") {\n this.apwebservice.showErrorMessage(\" Custom Asset already exist :
\" + existingAssetsList)\n }\n if (newlyAddedAssetsList != \"\") {\n this.apwebservice.showSuccessMessage(\"Custom Asset Added Successfully :
\" + newlyAddedAssetsList);\n }\n }\n\n mandatoryFieldValidate() {\n if (this.Name != \"\" && this.Description != \"\" && this.AssetTypeID != null &&\n this.TechniqueID != null && this.Name != undefined && this.Description != undefined && this.AssetTypeID != undefined && this.AssetTypeID.toString() != 'Select' &&\n this.TechniqueID != undefined && this.TechniqueID.toString() != 'Select'\n && this.selectedItems != undefined && this.selectedItems.length > 0) {\n this.btnDisable = false;\n return this.btnDisable;\n }\n else\n this.btnDisable = true;\n return this.btnDisable;\n\n }\n\n private customAssetValidation() {\n if (this.mandatoryFieldValidate() == false) {\n if (this.selectedItems.length > 0)\n this.btnDisable = false;\n }\n else\n this.btnDisable = true;\n }\n\n onItemSelect(item: any) {\n console.log(item);\n console.log(this.selectedItems);\n this.customAssetValidation();\n }\n\n OnItemDeSelect(item: any) {\n console.log(item);\n console.log(this.selectedItems);\n this.customAssetValidation();\n\n }\n onSelectAll(items: any) {\n console.log(items);\n this.customAssetValidation();\n }\n onDeSelectAll(items: any) {\n console.log(items);\n this.customAssetValidation();\n }\n}\n","\n
\n
\n
\n
\n \"Back\"\n
{{problemname}} | {{subprobname}}
\n
\n
\n
\n
Add Custom Asset
\n
\n
\n
\n \n \n Asset Name already exists!! Please enter\n other name.\n Asset Name should not contain special\n characters.\n\n
\n
\n
\n
\n \n \n Description should not be more\n than 250 characters\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n \n \n \n
\n
\n
\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { AppConfigService } from './app-config.service';\r\ndeclare var bootbox: any;\r\n//import 'rxjs/Rx';\r\n\r\n@Injectable()\r\nexport class APWebServiceFDS {\r\n public baseURL: string;\r\n public environmentDetails: any;\r\n\r\n constructor(private http: HttpClient, private appConfig: AppConfigService) {\r\n this.environmentDetails = this.appConfig.environmentSettings;\r\n if (this.environmentDetails.MSALenabled)\r\n this.baseURL = this.environmentDetails.serverAPIUrl;\r\n else\r\n this.baseURL = this.environmentDetails.localAPIUrl;\r\n }\r\n\r\n\r\n //#region FDSController Services\r\n GetFDSDemographicsNotification(jsonresponse: object): Observable {\r\n return this.http.post(this.baseURL + \"FDS/GetFDSDemographicsNotification/\", { jsonresponse });\r\n }\r\n\r\n ManualDataUsageDetails(startdate: string, enddate: string): Observable {\r\n return this.http.get(this.baseURL + \"FDS/ManualDataUsageDetails/StartDate/\" + startdate + \"/EndDate/\" + enddate);\r\n }\r\n DynamicDataUsageDetails(startdate: string, enddate: string): Observable {\r\n return this.http.get(this.baseURL + \"FDS/DynamicDataUsageDetails/StartDate/\" + startdate + \"/EndDate/\" + enddate);\r\n }\r\n BlueprintUsageDetails(startdate: string, enddate: string): Observable {\r\n return this.http.get(this.baseURL + \"FDS/BlueprintUsageDetails/StartDate/\" + startdate + \"/EndDate/\" + enddate);\r\n }\r\n APUsageDetailsForCustomAsset(startdate: string, enddate: string): Observable {\r\n return this.http.get(this.baseURL + \"FDS/APUsageDetailsForCustomAsset/StartDate/\" + startdate + \"/EndDate/\" + enddate);\r\n }\r\n APUsageDetailsForBaslineAsset(startdate: string, enddate: string): Observable {\r\n return this.http.get(this.baseURL + \"FDS/APUsageDetailsForBaslineAsset/StartDate/\" + startdate + \"/EndDate/\" + enddate);\r\n }\r\n APUsageDetailsForAddingAsset(startdate: string, enddate: string): Observable {\r\n return this.http.get(this.baseURL + \"FDS/APUsageDetailsForAddingAsset/StartDate/\" + startdate + \"/EndDate/\" + enddate);\r\n }\r\n APUsageDetailsForSavingChanges(startdate: string, enddate: string): Observable {\r\n return this.http.get(this.baseURL + \"FDS/APUsageDetailsForSavingChanges/StartDate/\" + startdate + \"/EndDate/\" + enddate);\r\n }\r\n //#endregion\r\n\r\n}\r\n\r\n","//import { Output } from '@angular/core';\nimport { Component, Input, Output, EventEmitter, OnInit, Directive } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { outputs } from '@syncfusion/ej2-angular-calendars/src/calendar/calendar.component';\nimport { APWebServiceBluePrint } from 'src/services/apWeb.BluePrint.service';\nimport { Blueprint } from '../../models/blueprint';\nimport * as $ from \"jquery\";\nimport { DataService } from 'src/services/data.service';\n\n\n@Component({\n selector: 'app-fdsscope-selector',\n templateUrl: './fdsscope-selector.component.html',\n styleUrls: ['./fdsscope-selector.component.css']\n})\nexport class FdsscopeSelectorComponent implements OnInit {\n\n @Input() scopeData: any;\n @Input() ScopeCopy: any;\n @Output() bind: EventEmitter = new EventEmitter();\n public type: string\n public entity: string\n public entityuid: string\n public parenttype: string\n public parent: string\n public scopeDetails: any;\n public showScopeSelector: string = \"\";\n public scopeDisplayTitle: string;\n\n fdsdatasourceList: any;\n userDetails: any;\n\n\n constructor(private apwebservice: APWebServiceBluePrint, private dataService: DataService, private router: Router) { }\n\n ngOnInit(): void {\n\n\n this.getvalues();\n // this.bindDataFromParent();\n this.fillscope();\n this.setTitle();\n //this.getFDSDatasourceList();\n }\n\n\n\n fillscope = function () {\n //this.scopeDetails={\"EnterpriseId\":\"pravalika.pogula\",\"UserType\":\"3\",\"AppName\":\"AIAA\",\"FdsReadOnly\":false,\"DatasourceID\":\"3162\",\"UserPath\":5,\"ProjectID\":0,\"ProjectName\":\"\",\"ClientName\":\"\",\"EngName\":\"\",\"Is\":\"\",\"Technology\":\"\",\"ClosedEntity\":false,\"IsUserReadonly\":false,\"E2EUID\":null,\"CMSUID\":null,\"WSUID\":null,\"FDSScope\":{\"SelectedEntityType\":\"WS\",\"SelectedEntityUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"SelectedEntityName\":\"WS2345\",\"ParentUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"ParentName\":\"CMS2\",\"ParentType\":\"CMS\",\"ParentStatus\":\"Open\",\"SelectedEntityStatus\":\"Service Delivery\",\"APContract\":{\"ClientName\":\"BAE SYSTEMS PLC\",\"ClientUId\":null,\"EndToEndName\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"EndToEndUId\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\",\"objCMS\":[{\"CMSUID\":\"b82cbea3-4db8-436e-b2ec-731260c1a465\",\"CMSName\":\"CMS1\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null},{\"CMSUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"CMSName\":\"CMS2\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"WSName\":\"WS2345\",\"IsSelected\":true,\"Status\":\"Service Delivery\",\"bluePrints\":null}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null},{\"CMSUID\":\"d91252e8-321e-494f-821e-27ffb474ea2f\",\"CMSName\":\"CMS3.1\",\"objCMS\":[{\"CMSUID\":\"6dc7408c-9a71-44cf-911f-d73fc744ea09\",\"CMSName\":\"CMS3.2\",\"objCMS\":[{\"CMSUID\":\"365458f9-905d-42f2-b0bd-a77ad40569d0\",\"CMSName\":\"CMS3.21\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null},{\"CMSUID\":\"ee0e071b-867c-4a77-9451-ff5eeccbd32d\",\"CMSName\":\"CMS3.3\",\"objCMS\":[{\"CMSUID\":\"ecce402f-92ab-4aa9-83cc-09e22ff5d6b5\",\"CMSName\":\"CMS3.4\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null}],\"objWorkStream\":[{\"WSUID\":\"ac2b3a11-f6c4-46fe-a2ec-be65b1a780e2\",\"WSName\":\"WS3.31\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":null},{\"WSUID\":\"27b527ad-ed82-4b05-a6f0-cc5533612ead\",\"WSName\":\"WS3.33\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":null},{\"WSUID\":\"ee784854-9b0a-4cc6-9890-36a864db8551\",\"WSName\":\"WS3.32\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":null}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null}],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null}],\"objWorkStream\":[{\"WSUID\":\"8f34f0be-a089-4d4e-8239-427f6dd5035b\",\"WSName\":\"WS3.21\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":null}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null},{\"CMSUID\":\"e43494dc-9340-4bc3-8fb0-38e505b31c52\",\"CMSName\":\"CMS3\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"1d2a55d4-0b48-4e28-814d-bd88a42ba24e\",\"WSName\":\"WS3456\",\"IsSelected\":false,\"Status\":\"Service Delivery\",\"bluePrints\":null}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null}],\"objWorkStream\":[],\"IsSelected\":false,\"bluePrints\":null},\"ManualDataSourceID\":0,\"isAuthorize\":true,\"oldE2EUID\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\"}}\n //this.scopeDetail1={\"EnterpriseId\":\"pravalika.pogula\",\"UserType\":\"3\",\"AppName\":\"AIAA\",\"FdsReadOnly\":false,\"DatasourceID\":\"3162\",\"UserPath\":5,\"ProjectID\":0,\"ProjectName\":\"\",\"ClientName\":\"\",\"EngName\":\"\",\"Is\":\"\",\"Technology\":\"\",\"ClosedEntity\":false,\"IsUserReadonly\":false,\"E2EUID\":null,\"CMSUID\":null,\"WSUID\":null,\"FDSScope\":{\"SelectedEntityType\":\"WS\",\"SelectedEntityUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"SelectedEntityName\":\"WS2345\",\"ParentUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"ParentName\":\"CMS2\",\"ParentType\":\"CMS\",\"ParentStatus\":\"Open\",\"SelectedEntityStatus\":\"Service Delivery\",\"APContract\":{\"ClientName\":\"BAE SYSTEMS PLC\",\"ClientUId\":null,\"EndToEndName\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"EndToEndUId\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\",\"objCMS\":[{\"CMSUID\":\"b82cbea3-4db8-436e-b2ec-731260c1a465\",\"CMSName\":\"CMS1\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS1\",\"BlueprintID\":7715,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"CMSName\":\"CMS2\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"WSName\":\"WS2345\",\"IsSelected\":true,\"Status\":\"Service Delivery\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7371,\"CreatedOn\":\"2018-08-14T12:35:33.93\",\"ModifiedOn\":\"2018-08-14T12:36:52.82\",\"OpportunityCount\":1,\"BaselinedCount\":6,\"PendingSubmit\":1,\"Data\":1,\"Process\":0,\"Other\":0,\"IsBaseline\":true,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS2\",\"BlueprintID\":7714,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"d91252e8-321e-494f-821e-27ffb474ea2f\",\"CMSName\":\"CMS3.1\",\"objCMS\":[{\"CMSUID\":\"6dc7408c-9a71-44cf-911f-d73fc744ea09\",\"CMSName\":\"CMS3.2\",\"objCMS\":[{\"CMSUID\":\"365458f9-905d-42f2-b0bd-a77ad40569d0\",\"CMSName\":\"CMS3.21\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.21\",\"BlueprintID\":7721,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"ee0e071b-867c-4a77-9451-ff5eeccbd32d\",\"CMSName\":\"CMS3.3\",\"objCMS\":[{\"CMSUID\":\"ecce402f-92ab-4aa9-83cc-09e22ff5d6b5\",\"CMSName\":\"CMS3.4\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.4\",\"BlueprintID\":7720,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"objWorkStream\":[{\"WSUID\":\"ac2b3a11-f6c4-46fe-a2ec-be65b1a780e2\",\"WSName\":\"WS3.31\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7377,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"WSUID\":\"27b527ad-ed82-4b05-a6f0-cc5533612ead\",\"WSName\":\"WS3.33\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7372,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"WSUID\":\"ee784854-9b0a-4cc6-9890-36a864db8551\",\"WSName\":\"WS3.32\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7379,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.3\",\"BlueprintID\":7719,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.2\",\"BlueprintID\":7718,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"objWorkStream\":[{\"WSUID\":\"8f34f0be-a089-4d4e-8239-427f6dd5035b\",\"WSName\":\"WS3.21\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7566,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.1\",\"BlueprintID\":7717,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"e43494dc-9340-4bc3-8fb0-38e505b31c52\",\"CMSName\":\"CMS3\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"1d2a55d4-0b48-4e28-814d-bd88a42ba24e\",\"WSName\":\"WS3456\",\"IsSelected\":false,\"Status\":\"Service Delivery\",\"bluePrints\":{\"BlueprintName\":\"WS3456\",\"BlueprintID\":7218,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3\",\"BlueprintID\":5841,\"CreatedOn\":\"2018-04-24T17:58:22.003\",\"ModifiedOn\":\"2018-08-14T16:16:09.263\",\"OpportunityCount\":4,\"BaselinedCount\":2,\"PendingSubmit\":2,\"Data\":4,\"Process\":0,\"Other\":0,\"IsBaseline\":true,\"ManualDataSourceID\":0}}],\"objWorkStream\":[],\"IsSelected\":false,\"bluePrints\":{\"BlueprintName\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"BlueprintID\":5839,\"CreatedOn\":\"2018-05-17T17:46:38.487\",\"ModifiedOn\":\"2018-05-17T19:00:57.473\",\"OpportunityCount\":7,\"BaselinedCount\":2,\"PendingSubmit\":6,\"Data\":7,\"Process\":0,\"Other\":0,\"IsBaseline\":true,\"ManualDataSourceID\":0}},\"ManualDataSourceID\":0,\"isAuthorize\":true,\"oldE2EUID\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\"},\"SelectedClient\":\"BAE SYSTEMS PLC\",\"SelectedEngagement\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"SelectedCMSName\":\"CMS2\",\"SelectedWSName\":\"WS2345\"} \n // this.scopeDetails = {\"SelectedEntityType\":\"WS\",\"SelectedEntityUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"SelectedEntityName\":\"WS2345\",\"ParentUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"ParentName\":\"CMS2\",\"ParentType\":\"CMS\",\"ParentStatus\":\"Open\",\"SelectedEntityStatus\":\"Service Delivery\",\"APContract\":{\"ClientName\":\"BAE SYSTEMS PLC\",\"ClientUId\":null,\"EndToEndName\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"EndToEndUId\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\",\"objCMS\":[{\"CMSUID\":\"b82cbea3-4db8-436e-b2ec-731260c1a465\",\"CMSName\":\"CMS1\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null},{\"CMSUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"CMSName\":\"CMS2\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"WSName\":\"WS2345\",\"IsSelected\":true,\"Status\":\"Service Delivery\",\"bluePrints\":null}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null},{\"CMSUID\":\"d91252e8-321e-494f-821e-27ffb474ea2f\",\"CMSName\":\"CMS3.1\",\"objCMS\":[{\"CMSUID\":\"6dc7408c-9a71-44cf-911f-d73fc744ea09\",\"CMSName\":\"CMS3.2\",\"objCMS\":[{\"CMSUID\":\"365458f9-905d-42f2-b0bd-a77ad40569d0\",\"CMSName\":\"CMS3.21\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null},{\"CMSUID\":\"ee0e071b-867c-4a77-9451-ff5eeccbd32d\",\"CMSName\":\"CMS3.3\",\"objCMS\":[{\"CMSUID\":\"ecce402f-92ab-4aa9-83cc-09e22ff5d6b5\",\"CMSName\":\"CMS3.4\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null}],\"objWorkStream\":[{\"WSUID\":\"ac2b3a11-f6c4-46fe-a2ec-be65b1a780e2\",\"WSName\":\"WS3.31\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":null},{\"WSUID\":\"27b527ad-ed82-4b05-a6f0-cc5533612ead\",\"WSName\":\"WS3.33\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":null},{\"WSUID\":\"ee784854-9b0a-4cc6-9890-36a864db8551\",\"WSName\":\"WS3.32\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":null}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null}],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null}],\"objWorkStream\":[{\"WSUID\":\"8f34f0be-a089-4d4e-8239-427f6dd5035b\",\"WSName\":\"WS3.21\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":null}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null},{\"CMSUID\":\"e43494dc-9340-4bc3-8fb0-38e505b31c52\",\"CMSName\":\"CMS3\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"1d2a55d4-0b48-4e28-814d-bd88a42ba24e\",\"WSName\":\"WS3456\",\"IsSelected\":false,\"Status\":\"Service Delivery\",\"bluePrints\":null}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":null}],\"objWorkStream\":[],\"IsSelected\":false,\"bluePrints\":null},\"ManualDataSourceID\":0,\"isAuthorize\":true,\"oldE2EUID\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\"};\n // this.{\"EnterpriseId\":\"pravalika.pogula\",\"UserType\":\"3\",\"AppName\":\"AIAA\",\"FdsReadOnly\":false,\"DatasourceID\":\"3162\",\"UserPath\":5,\"ProjectID\":0,\"ProjectName\":\"\",\"ClientName\":\"\",\"EngName\":\"\",\"Is\":\"\",\"Technology\":\"\",\"ClosedEntity\":false,\"IsUserReadonly\":false,\"E2EUID\":null,\"CMSUID\":null,\"WSUID\":null,\"FDSScope\":{\"SelectedEntityType\":\"WS\",\"SelectedEntityUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"SelectedEntityName\":\"WS2345\",\"ParentUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"ParentName\":\"CMS2\",\"ParentType\":\"CMS\",\"ParentStatus\":\"Open\",\"SelectedEntityStatus\":\"Service Delivery\",\"APContract\":{\"ClientName\":\"BAE SYSTEMS PLC\",\"ClientUId\":null,\"EndToEndName\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"EndToEndUId\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\",\"objCMS\":[{\"CMSUID\":\"b82cbea3-4db8-436e-b2ec-731260c1a465\",\"CMSName\":\"CMS1\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS1\",\"BlueprintID\":7715,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"CMSName\":\"CMS2\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"WSName\":\"WS2345\",\"IsSelected\":true,\"Status\":\"Service Delivery\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7371,\"CreatedOn\":\"2018-08-14T12:35:33.93\",\"ModifiedOn\":\"2018-08-14T12:36:52.82\",\"OpportunityCount\":1,\"BaselinedCount\":6,\"PendingSubmit\":1,\"Data\":1,\"Process\":0,\"Other\":0,\"IsBaseline\":true,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS2\",\"BlueprintID\":7714,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"d91252e8-321e-494f-821e-27ffb474ea2f\",\"CMSName\":\"CMS3.1\",\"objCMS\":[{\"CMSUID\":\"6dc7408c-9a71-44cf-911f-d73fc744ea09\",\"CMSName\":\"CMS3.2\",\"objCMS\":[{\"CMSUID\":\"365458f9-905d-42f2-b0bd-a77ad40569d0\",\"CMSName\":\"CMS3.21\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.21\",\"BlueprintID\":7721,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"ee0e071b-867c-4a77-9451-ff5eeccbd32d\",\"CMSName\":\"CMS3.3\",\"objCMS\":[{\"CMSUID\":\"ecce402f-92ab-4aa9-83cc-09e22ff5d6b5\",\"CMSName\":\"CMS3.4\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.4\",\"BlueprintID\":7720,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"objWorkStream\":[{\"WSUID\":\"ac2b3a11-f6c4-46fe-a2ec-be65b1a780e2\",\"WSName\":\"WS3.31\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7377,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"WSUID\":\"27b527ad-ed82-4b05-a6f0-cc5533612ead\",\"WSName\":\"WS3.33\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7372,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"WSUID\":\"ee784854-9b0a-4cc6-9890-36a864db8551\",\"WSName\":\"WS3.32\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7379,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.3\",\"BlueprintID\":7719,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.2\",\"BlueprintID\":7718,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"objWorkStream\":[{\"WSUID\":\"8f34f0be-a089-4d4e-8239-427f6dd5035b\",\"WSName\":\"WS3.21\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7566,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.1\",\"BlueprintID\":7717,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"e43494dc-9340-4bc3-8fb0-38e505b31c52\",\"CMSName\":\"CMS3\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"1d2a55d4-0b48-4e28-814d-bd88a42ba24e\",\"WSName\":\"WS3456\",\"IsSelected\":false,\"Status\":\"Service Delivery\",\"bluePrints\":{\"BlueprintName\":\"WS3456\",\"BlueprintID\":7218,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3\",\"BlueprintID\":5841,\"CreatedOn\":\"2018-04-24T17:58:22.003\",\"ModifiedOn\":\"2018-08-14T16:16:09.263\",\"OpportunityCount\":4,\"BaselinedCount\":2,\"PendingSubmit\":2,\"Data\":4,\"Process\":0,\"Other\":0,\"IsBaseline\":true,\"ManualDataSourceID\":0}}],\"objWorkStream\":[],\"IsSelected\":false,\"bluePrints\":{\"BlueprintName\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"BlueprintID\":5839,\"CreatedOn\":\"2018-05-17T17:46:38.487\",\"ModifiedOn\":\"2018-05-17T19:00:57.473\",\"OpportunityCount\":7,\"BaselinedCount\":2,\"PendingSubmit\":6,\"Data\":7,\"Process\":0,\"Other\":0,\"IsBaseline\":true,\"ManualDataSourceID\":0}},\"ManualDataSourceID\":0,\"isAuthorize\":true,\"oldE2EUID\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\"},\"SelectedClient\":\"BAE SYSTEMS PLC\",\"SelectedEngagement\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"SelectedCMSName\":\"CMS2\",\"SelectedWSName\":\"WS2345\"} \n //this.scopeDetails={\"EnterpriseId\":\"pravalika.pogula\",\"UserType\":\"3\",\"AppName\":\"AIAA\",\"FdsReadOnly\":false,\"DatasourceID\":\"3162\",\"UserPath\":5,\"ProjectID\":0,\"ProjectName\":\"\",\"ClientName\":\"\",\"EngName\":\"\",\"Is\":\"\",\"Technology\":\"\",\"ClosedEntity\":false,\"IsUserReadonly\":false,\"E2EUID\":null,\"CMSUID\":null,\"WSUID\":null,\"FDSScope\":{\"SelectedEntityType\":\"WS\",\"SelectedEntityUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"SelectedEntityName\":\"WS2345\",\"ParentUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"ParentName\":\"CMS2\",\"ParentType\":\"CMS\",\"ParentStatus\":\"Open\",\"SelectedEntityStatus\":\"Service Delivery\",\"APContract\":{\"ClientName\":\"BAE SYSTEMS PLC\",\"ClientUId\":null,\"EndToEndName\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"EndToEndUId\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\",\"objCMS\":[{\"CMSUID\":\"b82cbea3-4db8-436e-b2ec-731260c1a465\",\"CMSName\":\"CMS1\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS1\",\"BlueprintID\":7715,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"e7c89567-ddca-48cc-84c7-b5f24523d20b\",\"CMSName\":\"CMS2\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"eee357b5-2df1-4bb4-81db-4fdd95c9e53f\",\"WSName\":\"WS2345\",\"IsSelected\":true,\"Status\":\"Service Delivery\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7371,\"CreatedOn\":\"2018-08-14T12:35:33.93\",\"ModifiedOn\":\"2018-08-14T12:36:52.82\",\"OpportunityCount\":1,\"BaselinedCount\":6,\"PendingSubmit\":1,\"Data\":1,\"Process\":0,\"Other\":0,\"IsBaseline\":true,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS2\",\"BlueprintID\":7714,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"d91252e8-321e-494f-821e-27ffb474ea2f\",\"CMSName\":\"CMS3.1\",\"objCMS\":[{\"CMSUID\":\"6dc7408c-9a71-44cf-911f-d73fc744ea09\",\"CMSName\":\"CMS3.2\",\"objCMS\":[{\"CMSUID\":\"365458f9-905d-42f2-b0bd-a77ad40569d0\",\"CMSName\":\"CMS3.21\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.21\",\"BlueprintID\":7721,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"ee0e071b-867c-4a77-9451-ff5eeccbd32d\",\"CMSName\":\"CMS3.3\",\"objCMS\":[{\"CMSUID\":\"ecce402f-92ab-4aa9-83cc-09e22ff5d6b5\",\"CMSName\":\"CMS3.4\",\"objCMS\":[],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.4\",\"BlueprintID\":7720,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"objWorkStream\":[{\"WSUID\":\"ac2b3a11-f6c4-46fe-a2ec-be65b1a780e2\",\"WSName\":\"WS3.31\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7377,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"WSUID\":\"27b527ad-ed82-4b05-a6f0-cc5533612ead\",\"WSName\":\"WS3.33\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7372,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"WSUID\":\"ee784854-9b0a-4cc6-9890-36a864db8551\",\"WSName\":\"WS3.32\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7379,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.3\",\"BlueprintID\":7719,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"objWorkStream\":[],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.2\",\"BlueprintID\":7718,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"objWorkStream\":[{\"WSUID\":\"8f34f0be-a089-4d4e-8239-427f6dd5035b\",\"WSName\":\"WS3.21\",\"IsSelected\":false,\"Status\":\"New\",\"bluePrints\":{\"BlueprintName\":null,\"BlueprintID\":7566,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3.1\",\"BlueprintID\":7717,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":1,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}},{\"CMSUID\":\"e43494dc-9340-4bc3-8fb0-38e505b31c52\",\"CMSName\":\"CMS3\",\"objCMS\":[],\"objWorkStream\":[{\"WSUID\":\"1d2a55d4-0b48-4e28-814d-bd88a42ba24e\",\"WSName\":\"WS3456\",\"IsSelected\":false,\"Status\":\"Service Delivery\",\"bluePrints\":{\"BlueprintName\":\"WS3456\",\"BlueprintID\":7218,\"CreatedOn\":null,\"ModifiedOn\":null,\"OpportunityCount\":0,\"BaselinedCount\":4,\"PendingSubmit\":0,\"Data\":0,\"Process\":0,\"Other\":0,\"IsBaseline\":false,\"ManualDataSourceID\":0}}],\"IsSelected\":false,\"Status\":\"Open\",\"bluePrints\":{\"BlueprintName\":\"CMS3\",\"BlueprintID\":5841,\"CreatedOn\":\"2018-04-24T17:58:22.003\",\"ModifiedOn\":\"2018-08-14T16:16:09.263\",\"OpportunityCount\":4,\"BaselinedCount\":2,\"PendingSubmit\":2,\"Data\":4,\"Process\":0,\"Other\":0,\"IsBaseline\":true,\"ManualDataSourceID\":0}}],\"objWorkStream\":[],\"IsSelected\":false,\"bluePrints\":{\"BlueprintName\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"BlueprintID\":5839,\"CreatedOn\":\"2018-05-17T17:46:38.487\",\"ModifiedOn\":\"2018-05-17T19:00:57.473\",\"OpportunityCount\":7,\"BaselinedCount\":2,\"PendingSubmit\":6,\"Data\":7,\"Process\":0,\"Other\":0,\"IsBaseline\":true,\"ManualDataSourceID\":0}},\"ManualDataSourceID\":0,\"isAuthorize\":true,\"oldE2EUID\":\"5f12b288-5c90-47ed-8e2e-116dabd584dd\"},\"SelectedClient\":\"BAE SYSTEMS PLC\",\"SelectedEngagement\":\"Land Sys PLM Sprint 0 / S1 Prep\",\"SelectedCMSName\":\"CMS2\",\"SelectedWSName\":\"WS2345\"} \n if (this.scopeDetails.FDSScope != undefined && this.scopeDetails.FDSScope != null) {\n if ((this.scopeDetails.SelectedClient == undefined || this.scopeDetails.SelectedClient == null) && (this.scopeDetails.SelectedEngagement == undefined\n || this.scopeDetails.SelectedEngagement == null)) {\n this.SetDefaultFDSScopeSelector();\n }\n\n }\n }\n\n SetDefaultFDSScopeSelector = function () {\n var obj = this;\n // if (this.scopeDetails.FDSScope.APContract.IsSelected) {\n // this.scopeDetails.SelectedClient='sample';\n // this.scopeDetails.SelectedEngagement='sample2';\n this.scopeDetails.SelectedClient = this.scopeDetails.FDSScope.APContract.ClientName;\n obj.dataService.UserDetails.SelectedClient = this.scopeDetails.FDSScope.APContract.ClientName;\n this.scopeDetails.SelectedEngagement = this.scopeDetails.FDSScope.APContract.EndToEndName;\n obj.dataService.UserDetails.SelectedEngagement = this.scopeDetails.FDSScope.APContract.EndToEndName;\n // // }\n if (this.scopeDetails.FDSScope.SelectedEntityType == \"CMS\") {\n this.scopeDetails.SelectedCMSName = this.scopeDetails.FDSScope.SelectedEntityName;\n this.dataService.UserDetails.FDSScope.SelectedEntityName = this.scopeDetails.FDSScope.SelectedEntityName;\n }\n else if (this.scopeDetails.FDSScope.ParentType == \"CMS\") {\n this.scopeDetails.SelectedCMSName = this.scopeDetails.FDSScope.ParentName;\n this.dataService.UserDetails.FDSScope.SelectedEntityName = this.scopeDetails.FDSScope.ParentName;\n }\n else {\n this.scopeDetails.SelectedCMSName = null;\n }\n if (this.scopeDetails.FDSScope.SelectedEntityType == \"WS\") {\n this.scopeDetails.SelectedWSName = this.scopeDetails.FDSScope.SelectedEntityName;\n this.dataService.UserDetails.FDSScope.SelectedEntityName = this.scopeDetails.FDSScope.SelectedEntityName;\n }\n else {\n this.scopeDetails.SelectedWSName = null;\n }\n this.setTitle();\n }\n bindDataFromParent() {\n this.bind.emit();\n }\n getvalues() {\n this.scopeDetails = JSON.parse(JSON.stringify(this.scopeData));\n }\n\n ChangeFDSScopeSelector = function () {\n $(\".form-control.form-control-sm\").val(\"\");\n\n if (this.type != undefined) {\n this.scopeDetails.FDSScope.SelectedEntityType = this.type;\n this.dataService.UserDetails.FDSScope.SelectedEntityType = this.type;\n }\n if (this.entity != undefined) {\n this.scopeDetails.FDSScope.SelectedEntityName = this.entity;\n this.dataService.UserDetails.FDSScope.SelectedEntityName = this.entity;\n }\n if (this.entityuid != undefined) {\n this.scopeDetails.FDSScope.SelectedEntityUID = this.entityuid;\n this.dataService.UserDetails.FDSScope.SelectedEntityUID = this.entityuid;\n }\n if (this.parenttype != undefined) {\n this.scopeDetails.FDSScope.ParentType = this.parenttype;\n this.dataService.UserDetails.FDSScope.ParentType = this.parenttype;\n }\n else {\n if (this.parenttype != null) {\n this.scopeDetails.FDSScope.ParentType = this.parenttype;\n this.dataService.UserDetails.FDSScope.ParentType = this.parenttype;\n }\n else {\n this.scopeDetails.FDSScope.ParentType = null;\n this.dataService.UserDetails.FDSScope.ParentType = null\n }\n }\n\n if (this.parentname != undefined) {\n if (this.parentname != null) {\n this.scopeDetails.FDSScope.ParentName = this.parentname;\n this.dataService.UserDetails.FDSScope.ParentName = this.parentname;\n }\n else {\n this.scopeDetails.FDSScope.ParentName = null;\n this.dataService.UserDetails.FDSScope.ParentName = this.parentname;\n }\n }\n if (this.parentuid != undefined) {\n if (this.parentuid != null) {\n this.scopeDetails.FDSScope.ParentUID = this.parentuid;\n this.dataService.UserDetails.FDSScope.ParentUID = this.parentuid;\n }\n else {\n this.scopeDetails.FDSScope.ParentUID = null;\n this.dataService.UserDetails.FDSScope.ParentUID = null;\n }\n }\n if (this.entitystatus != undefined) {\n this.scopeDetails.FDSScope.SelectedEntityStatus = this.entitystatus;\n this.dataService.UserDetails.FDSScope.SelectedEntityStatus = this.entitystatus;\n }\n else {\n this.scopeDetails.FDSScope.SelectedEntityStatus = null;\n this.dataService.UserDetails.FDSScope.SelectedEntityStatus = null;\n }\n if (this.parentstatus != undefined) {\n this.scopeDetails.FDSScope.ParentStatus = this.parentstatus;\n this.dataService.UserDetails.FDSScope.ParentStatus = this.parentstatus;\n }\n else {\n this.scopeDetails.FDSScope.ParentStatus = null;\n this.dataService.UserDetails.FDSScope.ParentStatus = null;\n }\n this.SetDefaultFDSScopeSelector();\n this.showScopeSelector == '' ? this.showScopeSelector = 'show' : this.showScopeSelector = '';\n // $('.scope-selector').toggleClass('open');\n }\n\n setClickedRow = function (currlevel, currleveltype, parent, parenttype) { //function that sets the value of selectedRow to current index \n //$.forEach( this.scopeDetails.FDSScope.APContract, function (key, contract) {\n this.scopeDetails.FDSScope.APContract.IsSelected = false;\n if (currlevel.EndToEndUId == this.scopeDetails.FDSScope.APContract.EndToEndUId) {\n this.type = \"EndToEnd\";\n this.entity = currlevel.EndToEndName;\n this.entityuid = currlevel.EndToEndUId;\n this.parenttype = null;\n this.parent = null;\n currlevel.IsSelected = true;\n this.UpdateSelectedFalse();\n }\n else {\n this.UpdateSelectedFalse();\n currlevel.IsSelected = true;\n if (currleveltype == \"WS\") {\n this.type = currleveltype\n this.entity = currlevel.WSName;\n this.entityuid = currlevel.WSUID;\n if (parenttype == \"EndToEnd\") {\n this.parenttype = parenttype;\n this.parentname = parent.EndToEndName;\n this.parentuid = parent.EndToEndUId;\n }\n if (parenttype == \"CMS\") {\n this.parenttype = parenttype;\n this.parentname = parent.CMSName;\n this.parentuid = parent.CMSUID;\n }\n }\n else if (currleveltype = \"CMS\") {\n this.type = currleveltype;\n this.entity = currlevel.CMSName;\n this.entityuid = currlevel.CMSUID;\n if (parenttype == \"EndToEnd\") {\n this.parenttype = parenttype;\n this.parentname = parent.EndToEndName;\n this.parentuid = parent.EndToEndUId;\n }\n if (parenttype == \"CMS\") {\n this.parenttype = parenttype;\n this.parentname = parent.CMSName;\n this.parentuid = parent.CMSUID;\n }\n }\n }\n if (parent != null) {\n this.parentstatus = parent.Status;\n }\n this.entitystatus = currlevel.Status;\n // });\n }\n\n UpdateSelectedFalse = function () {\n this.scopeDetails.FDSScope.APContract.objCMS.forEach((cms1, key) => {\n if (cms1.objCMS.length > 0) {\n cms1.objCMS.forEach((cms2, key) => {\n if (cms2.objCMS.length > 0) {\n cms2.objCMS.forEach((cms3, key) => {\n if (cms3.objCMS.length > 0) {\n cms3.objCMS.forEach((cms4, key) => {\n if (cms4.objCMS.length > 0) {\n cms4.objCMS.forEach((cms5, key) => {\n if (cms5.objWorkStream != undefined) {\n if (cms5.objWorkStream.length > 0) {\n cms5.objWorkStream.forEach((ws5, key) => {\n ws5.IsSelected = false;\n });\n }\n }\n cms5.IsSelected = false;\n });\n }\n if (cms4.objWorkStream != undefined) {\n if (cms4.objWorkStream.length > 0) {\n cms4.objWorkStream.forEach((cmsws4, key) => {\n cmsws4.IsSelected = false;\n });\n }\n }\n cms4.IsSelected = false;\n });\n }\n if (cms3.objWorkStream != undefined) {\n if (cms3.objWorkStream.length > 0) {\n cms3.objWorkStream.forEach((cmsws3, key) => {\n cmsws3.IsSelected = false;\n });\n }\n }\n cms3.IsSelected = false;\n });\n }\n if (cms2.objWorkStream != undefined) {\n if (cms2.objWorkStream.length > 0) {\n cms2.objWorkStream.forEach((cmsws2, key) => {\n cmsws2.IsSelected = false;\n });\n }\n }\n cms2.IsSelected = false;\n });\n }\n if (cms1.objWorkStream != undefined) {\n if (cms1.objWorkStream.length > 0) {\n cms1.objWorkStream.forEach((cmsws1, key) => {\n cmsws1.IsSelected = false;\n });\n }\n }\n cms1.IsSelected = false;\n });\n }\n\n manageCollapseExpand = function (value) {\n // this.scopeDetails.clicknotapply = true;\n if ($(value.target).hasClass('ss-contract')) {\n var targetEle = $(value.target);\n }\n else {\n var targetEle = $(value.target).parent('span');\n }\n targetEle.parent('li').toggleClass('open').siblings('li').removeClass('open').find('li').removeClass('open');\n $(value.target).parent('li').find('li').removeClass('open');\n $('.ss-menu-wrap li').removeClass('selected');\n $('.ss-menu-wrap li.open').last().addClass('selected');\n }\n\n\n togglefdsscope = function () {\n this.showScopeSelector == '' ? this.showScopeSelector = 'show' : this.showScopeSelector = '';\n // this.clickedonheadervalues = true;\n // $('.scope-selector').toggleClass('open');\n if (this.scopeDetails.FDSScope.APContract.IsSelected) {\n this.scopeDetails.FDSScope.APContract.child = true;\n }\n this.scopeDetails.FDSScope.APContract.objCMS.forEach((cms1, key) => {\n if (cms1.objCMS.length > 0) {\n cms1.objCMS.forEach((cms2, key) => {\n if (cms2.objCMS.length > 0) {\n cms2.objCMS.forEach((cms3, key) => {\n if (cms3.objCMS.length > 0) {\n cms3.objCMS.forEach((cms4, key) => {\n if (cms4.objCMS.length > 0) {\n cms4.objCMS.forEach((cms5, key) => {\n if (cms5.objWorkStream != undefined) {\n if (cms5.objWorkStream.length > 0) {\n cms5.objWorkStream.forEach((ws5, key) => {\n if (ws5.IsSelected) {\n ws5.child = true;\n cms5.open = true;\n cms4.open = true;\n cms3.open = true;\n cms2.open = true;\n cms1.open = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n ws5.child = false;\n }\n });\n }\n }\n if (cms5.IsSelected) {\n cms5.child = true;\n cms4.open = true;\n cms3.open = true;\n cms2.open = true;\n cms1.open = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n cms5.child = false;\n }\n });\n }\n if (cms4.objWorkStream != undefined) {\n if (cms4.objWorkStream.length > 0) {\n cms4.objWorkStream.forEach((cmsws4, key) => {\n if (cmsws4.IsSelected) {\n cmsws4.child = true;\n cms4.open = true;\n cms3.open = true;\n cms2.open = true;\n cms1.open = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n cmsws4.child = false;\n }\n });\n }\n }\n if (cms4.IsSelected) {\n cms4.child = true;\n cms3.open = true;\n cms2.open = true;\n cms1.open = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n cms4.child = false;\n }\n });\n }\n if (cms3.objWorkStream != undefined) {\n if (cms3.objWorkStream.length > 0) {\n cms3.objWorkStream.forEach((cmsws3, key) => {\n if (cmsws3.IsSelected) {\n cmsws3.child = true;\n cms3.open = true;\n cms2.open = true;\n cms1.open = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n cmsws3.child = false;\n }\n });\n }\n }\n if (cms3.IsSelected) {\n cms3.child = true;\n cms2.open = true;\n cms1.open = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n cms3.child = false;\n }\n });\n }\n if (cms2.objWorkStream != undefined) {\n if (cms2.objWorkStream.length > 0) {\n cms2.objWorkStream.forEach((cmsws2, key) => {\n if (cmsws2.IsSelected) {\n cmsws2.child = true;\n cms2.open = true;\n cms1.open = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n cmsws2.child = false;\n }\n });\n }\n }\n if (cms2.IsSelected) {\n cms2.child = true;\n cms1.open = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n cms2.child = false;\n }\n });\n }\n if (cms1.objWorkStream != undefined) {\n if (cms1.objWorkStream.length > 0) {\n cms1.objWorkStream.forEach((cmsws1, key) => {\n if (cmsws1.IsSelected) {\n cmsws1.child = true;\n cms1.open = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n cmsws1.child = false;\n }\n });\n }\n }\n if (cms1.IsSelected) {\n cms1.child = true;\n // let scopeDetails:object;\n // var obj=this;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n cms1.child = false;\n\n }\n });\n this.scopeDetails.FDSScope.APContract.objWorkStream.forEach((contractws, key) => {\n if (contractws.IsSelected) {\n contractws.child = true;\n this.scopeDetails.FDSScope.APContract.open = true;\n }\n else {\n contractws.child = false;\n }\n });\n // alert(\"hello\");\n }\n\n closeScopeSelector() {\n this.showScopeSelector = \"\";\n // $('.scope-selector.open').removeClass('open');\n // $('.scope-selector').toggleClass('close');\n }\n\n //Logic Implementation\n setTitle() {\n this.scopeDisplayTitle = this.scopeDetails.SelectedClient + \"|\"\n + this.scopeDetails.SelectedEngagement + \"|\"\n + (this.scopeDetails.SelectedCMSName != undefined ? this.scopeDetails.SelectedCMSName : \"\") + \"|\"\n + (this.scopeDetails.SelectedWSName != undefined ? this.scopeDetails.SelectedWSName : \"\");\n this.scopeDisplayTitle = this.scopeDisplayTitle.replace(\"||\", '|');\n }\n\n}\n","\n\n\n
\n \n \n \n\n
\n
\n {{scopeDetails.SelectedClient}}\n
\n
\n
    \n
  • \n \n {{scopeDetails.FDSScope.APContract.EndToEndName}}\n \n
    \n
      \n
    • \n \n \n {{contractws.WSName}}\n
      [{{contractws.Status}}]
      \n
      \n
      \n
    • \n
    • \n \n \n {{cmslevel1.CMSName}}\n
      [{{cmslevel1.Status}}]
      \n
      \n
      \n
      \n
        \n
      • \n \n \n {{cmslevelws1.WSName}}\n
        [Closed]
        \n
        \n
        \n
      • \n
      • \n \n \n {{cmslevel2.CMSName}}\n
        [Closed]
        \n
        \n
        \n
        \n
          \n
        • \n \n \n {{cmslevelws2.WSName}}\n
          [Closed]
          \n
          \n
          \n\n
        • \n
        • \n \n \n {{cmslevel3.CMSName}}\n
          [Closed]
          \n
          \n
          \n
          \n
            \n
          • \n \n \n {{cmslevelws3.WSName}}\n
            [Closed]
            \n
            \n
            \n
          • \n
          • \n \n \n {{cmslevel4.CMSName}}\n
            [Closed]
            \n
            \n
            \n
            \n
              \n
            • \n \n \n {{cmslevelws4.WSName}}\n
              [Closed]
              \n
              \n
              \n
            • \n
            • \n \n \n {{cmslevel5.CMSName}}\n
              [Closed]
              \n
              \n
              \n
              \n
                \n
              • \n \n \n {{cmslevelws5.WSName}}\n
                [Closed]
                \n
                \n
                \n
              • \n
              \n
              \n
            • \n \n
            \n
            \n
          • \n \n
          \n
          \n
        • \n \n
        \n
        \n
      • \n
      \n
      \n\n
    • \n
    \n\n \n
    \n
  • \n
\n
\n
\n \n
\n \n
\n \n
\n \n \n
\n
\n","import { Component, HostListener, OnInit } from '@angular/core';\nimport * as $ from \"jquery\";\nimport { DataService } from '../../services/data.service';\nimport { APWebService } from '../../services/apWeb.service';\nimport { Router } from '@angular/router';\ndeclare var bootbox: any;\n\n\n@Component({\n selector: 'app-edit-opportunity',\n templateUrl: './edit-opportunity.component.html',\n styleUrls: ['./edit-opportunity.component.css'],\n\n})\nexport class EditOpportunityComponent implements OnInit {\n public enableEdit = false;\n public enableEditIndex = null;\n public ActiveUniqueId: any;\n public AutomateProblemStatementId: any;\n public AutomateSubProblemStatementId: any;\n public ActiveAppName: string;\n public ActiveType: string;\n public ActiveDataSourceId: number;\n public ActiveFilter: any;\n public subCategoryName: string;\n public Category: string;\n public AverageResolutionTime: any;\n public ToatlEffortSpentAtPrbLevel: any;\n public CategoryTechResponse: any;\n public SavingsResponse: any;\n public editableeffortsaving: boolean;\n public editablecostsaving: boolean;\n public readonlyautomate: boolean;\n public readonlyreduction: boolean;\n public donutpercent: boolean;\n public donutpercentcost: boolean;\n public totaleffortassetvalue: any;\n public costperhrassetvalue: any;\n public BluePrintData: any;\n public IsDynamicBulkUpload: boolean;\n public Effortreduction: any;\n public CategoryTechResponseCopy: any;\n public toggleArr: any;\n public toggleArrEdt: any;\n public SelectOpp: any;\n public selectSubOpp: any;\n public AutomatableProgressBarWidth: any;\n public originalEffortReduction: any;\n public totalefforttoggle: any;\n public cphtoggle: any;\n public copyModel: any;\n public ClickedUniqueId: any;\n public EffortSavingProgressBar: any;\n public CostSavingProgressBar: any;\n public UserDetails: any;\n public EffortSavingChart: any;\n public CostSavingChart: any;\n public EffortSaved: any;\n public CostSaved: any;\n public TicketCount: any;\n public IsSubDynamicBulkUpload: any;\n public asset: any;\n public ClickedUniqueId2: any;\n public effortspent: any;\n public costPerHour: any;\n public ExpectedFteReduction: any;\n public currentlyEditableOpportunityId = 0;\n public redirected = false;\n public dateValidationFail = false;\n public supportGroup = \"\";\n\n\n constructor(private dataService: DataService,\n private apwebservice: APWebService,\n public router: Router\n ) {\n \n }\n\n\n ngOnInit(): void {\n if (this.dataService.editPageRefresh == false) {\n this.UserDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n this.BluePrintData = this.dataService.BlueprintData;\n sessionStorage.setItem('BluePrintDataEdit', JSON.stringify(this.BluePrintData));\n this.SelectOpp = this.dataService.selectedCatOpp;\n sessionStorage.setItem('SelectOppEdit', JSON.stringify(this.SelectOpp));\n this.selectSubOpp = this.dataService.selectedSubOpp;\n sessionStorage.setItem('selectSubOppEdit', JSON.stringify(this.selectSubOpp));\n this.supportGroup = this.apwebservice.supportGroupName;\n sessionStorage.setItem('supportGroupEdit', JSON.stringify(this.supportGroup));\n this.asset = this.dataService.AssetList;\n sessionStorage.setItem('assetEdit', JSON.stringify(this.asset));\n sessionStorage.setItem('supportGroupNameEdit',JSON.stringify(this.apwebservice.supportGroupName));\n }\n else {\n \n this.UserDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n this.BluePrintData = JSON.parse(sessionStorage.getItem('BluePrintDataEdit'));\n this.SelectOpp = JSON.parse(sessionStorage.getItem('SelectOppEdit'));\n this.selectSubOpp = JSON.parse(sessionStorage.getItem('selectSubOppEdit'));\n this.supportGroup = JSON.parse(sessionStorage.getItem('supportGroupEdit'));\n this.asset = JSON.parse(sessionStorage.getItem('assetEdit'));\n \n }\n this.AddSaving(this.asset.UniqueId, this.selectSubOpp.AppName, this.selectSubOpp.Type, this.selectSubOpp.DataSourceId, this.SelectOpp.ID, this.selectSubOpp.ID,\n this.selectSubOpp.Name, this.selectSubOpp.AverageResolutionTime, this.selectSubOpp.TicketCount, this.selectSubOpp.EffortSpent, this.SelectOpp.Name, this.selectSubOpp.CostPerHour, this.selectSubOpp.ExpectedFteReduction, this.selectSubOpp.Duration, this.selectSubOpp.Filter, this.selectSubOpp.IsSubDynamicBulkUpload, this.asset.EffortSaving, this.supportGroup);\n \n }\n\n /**********************************Savings Code*********************************/\n AddSaving(UniqueId, AppName, Type, DataSourceId, ProblemStatementId, SubProblemStatementId, SubCategoryName, AverageResolutionTime, AnnualTicketCount, AnnualEffort, categoryname, CostPerHour, ExpectedFteReduction, Duration, Filter, dynamicBulkUpload, autoeffortreduc, supportGroupName) {\n if(/[^0-9]/.test(SubProblemStatementId))\n {\n SubProblemStatementId = 0;\n }\n // 158264, \"AIAA\", \"Data\", \"1901\",\"6672\", \"31214\", \"Tech Support\", \"7.48\", \"22\", 164.56, \"Network\", 23.00, \"23\", \"32.90\", \"AIAAData\", false, autoeffortreduc\n let obj = this;\n $(\"#myModalEffortSave\").show();\n // $('[data-toggle=\"tooltip\"]').tooltip();\n obj.ClickedUniqueId = UniqueId;\n obj.ClickedUniqueId2 = UniqueId;\n this.IsSubDynamicBulkUpload = dynamicBulkUpload;\n $('#inpeffortspentprocess').attr('readonly', false);\n $('#inpcostperhrprocess').attr('readonly', false);\n this.editableeffortsaving = false;\n this.editablecostsaving = false;\n this.readonlyautomate = false;\n this.readonlyreduction = false;\n this.donutpercent = false;\n this.donutpercentcost = false;\n this.totaleffortassetvalue = AnnualEffort;\n this.costperhrassetvalue = CostPerHour;\n this.copyModel = null;\n //obj.ActiveUniqueId = uniqueid;\n obj.AutomateProblemStatementId = ProblemStatementId;\n obj.AutomateSubProblemStatementId = SubProblemStatementId;\n obj.ActiveUniqueId = UniqueId;\n obj.ActiveAppName = AppName;\n obj.ActiveType = Type;\n obj.ActiveDataSourceId = +DataSourceId;\n obj.ActiveFilter = Filter;\n obj.subCategoryName = SubCategoryName;\n obj.Category = categoryname;\n obj.AverageResolutionTime = (parseFloat(AverageResolutionTime));\n obj.AverageResolutionTime = obj.round2Fixed(this.AverageResolutionTime);\n obj.supportGroup = supportGroupName;\n setTimeout(function () {\n $('#inpticketcount').text(AnnualTicketCount);\n $('#inpavgresolution').val(obj.round2Fixed(parseFloat(AverageResolutionTime)));\n var AnnualTicket = $(\"#inpticketcount\").text();\n var ART = parseFloat(AverageResolutionTime);\n ART = +obj.round2Fixed(ART);\n var AnnualEffort1 = (AnnualTicket * ART);\n if (Filter != \"AIAAData\" && Filter != \"ManualData\") {\n\n $('#inpeffortspentprocess').text(obj.round2Fixed(parseFloat(AnnualEffort.toString())));\n obj.effortspent = obj.round2Fixed(parseFloat(AnnualEffort.toString()));\n $('#inpcostperhrprocess').val(obj.round2Fixed(parseFloat(CostPerHour.toString())));\n obj.costPerHour = obj.round2Fixed(parseFloat(CostPerHour.toString()));\n $('#inpexpectedftereduction').val(obj.round2Fixed((ExpectedFteReduction)));\n obj.ExpectedFteReduction = obj.round2Fixed((ExpectedFteReduction));\n }\n else {\n\n $('#inpeffortspent').text(obj.round2Fixed(AnnualEffort1));\n $('#inpcostperhr').val(CostPerHour);\n\n $('#inpftered').val(obj.round2Fixed((ExpectedFteReduction)));\n }\n if (Filter == \"AIAAData\") {\n\n $('#inpduration').val(obj.round2Fixed(parseFloat(Duration)));\n }\n if (Filter == \"ManualData\") {\n $('#inpticketcounttxt').val(AnnualTicketCount);\n }\n obj.GetToatalEffortAtDeepdiveLevel();\n\n obj.apwebservice.GetEffortReductionForTechnique().subscribe(resp => {\n obj.Effortreduction = resp;\n obj.CategoryTechResponseCopy = Object.assign(obj.BluePrintData);\n if (dynamicBulkUpload == true) {\n if (AnnualEffort != 0.00) {\n $('#chkprobid_' + SubProblemStatementId).prop('checked', true);\n obj.donutpercent = false;\n obj.donutpercentcost = false;\n $('#inpeffortspentprocess').attr('readonly', false);\n }\n else {\n $('#chkprobid_' + SubProblemStatementId).prop('checked', false);\n obj.donutpercent = true;\n obj.donutpercentcost = true;\n $('#inpeffortspentprocess').attr('readonly', true);\n }\n if (CostPerHour != 0.00) {\n //$scope.donutpercentcost = false;\n $('#chkcph_' + SubProblemStatementId).prop('checked', true);\n $('#inpcostperhrprocess').attr('readonly', false);\n }\n else if (CostPerHour == 0.00) {\n obj.donutpercentcost = true;\n obj.editablecostsaving = true;\n $('#inpcostperhrprocess').attr('readonly', true);\n $('#chkcph_' + SubProblemStatementId).prop('checked', false);\n }\n if (AnnualEffort == 0.00 || autoeffortreduc == null) {\n obj.editableeffortsaving = true;\n $('#inpeffsaving_' + UniqueId).attr('readonly', true);\n }\n if (autoeffortreduc != null) {\n if (autoeffortreduc.EffortSavingLWRange == null && autoeffortreduc.EffortReduction != null) {\n obj.editableeffortsaving = true;\n }\n else if (autoeffortreduc.EffortSavingLWRange != null && autoeffortreduc.EffortReduction == null) {\n obj.editableeffortsaving = true;\n }\n else if (autoeffortreduc.EffortSavingLWRange == null && autoeffortreduc.EffortReduction == null) {\n obj.editableeffortsaving = true;\n }\n if (autoeffortreduc.EffortSavingLWRange === '' && autoeffortreduc.EffortReduction != '') {\n obj.editableeffortsaving = true;\n }\n else if (autoeffortreduc.EffortSavingLWRange != '' && autoeffortreduc.EffortReduction === '') {\n obj.editableeffortsaving = true;\n }\n else if (autoeffortreduc.EffortSavingLWRange === '' && autoeffortreduc.EffortReduction === '') {\n obj.editableeffortsaving = true;\n }\n }\n if (autoeffortreduc != null) {\n if (autoeffortreduc.EffortSavingLWRange == 0) {\n autoeffortreduc.EffortSavingLWRange = \"0\";\n }\n if (autoeffortreduc.EffortReduction == 0) {\n autoeffortreduc.EffortReduction = \"0\";\n }\n if (autoeffortreduc.EffortSavingLWRange != '' && autoeffortreduc.EffortReduction != '') {\n if ((autoeffortreduc.EffortSavingLWRange != null && autoeffortreduc.EffortReduction == null)) {\n $('#chkauto_' + SubProblemStatementId).prop('checked', true);\n $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n obj.readonlyautomate = false;\n obj.readonlyreduction = true;\n }\n else if (autoeffortreduc.EffortSavingLWRange == null && (autoeffortreduc.EffortReduction != null)) {\n $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n $('#chkereduc_' + SubProblemStatementId).prop('checked', true);\n obj.readonlyautomate = true;\n obj.readonlyreduction = false;\n }\n else if (autoeffortreduc.EffortSavingLWRange == null && (autoeffortreduc.EffortReduction == null)) {\n $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n obj.readonlyautomate = true;\n obj.readonlyreduction = true;\n }\n else {\n $('#chkauto_' + SubProblemStatementId).prop('checked', true);\n $('#chkereduc_' + SubProblemStatementId).prop('checked', true);\n obj.readonlyautomate = false;\n obj.readonlyreduction = false;\n }\n }\n else if ((autoeffortreduc.EffortSavingLWRange != null && autoeffortreduc.EffortSavingLWRange != '') && autoeffortreduc.EffortReduction == '') {\n obj.editableeffortsaving = true;\n $('#chkauto_' + SubProblemStatementId).prop('checked', true);\n $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n obj.readonlyautomate = false;\n obj.readonlyreduction = true;\n }\n else if (autoeffortreduc.EffortSavingLWRange == '' && (autoeffortreduc.EffortReduction != '' && autoeffortreduc.EffortReduction != null)) {\n obj.editableeffortsaving = true;\n $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n $('#chkereduc_' + SubProblemStatementId).prop('checked', true);\n obj.readonlyautomate = true;\n obj.readonlyreduction = false;\n }\n else {\n obj.editableeffortsaving = true;\n $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n obj.readonlyautomate = true;\n obj.readonlyreduction = true;\n }\n if (autoeffortreduc.EffortReduction == null) {\n autoeffortreduc.EffortReduction = '';\n }\n else if (autoeffortreduc.EffortReduction == '') {\n autoeffortreduc.EffortReduction = '';\n }\n }\n else {\n $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n obj.readonlyautomate = true;\n obj.readonlyreduction = true;\n }\n }\n\n\n obj.FormTehniquewiseAssetResponse();\n obj.CostIncurredCalculation();\n obj.CalculateAutomatable();\n obj.CalculateEffortSavingChartData();\n\n\n var chkautomate = $(\"#chkauto_\" + SubProblemStatementId).is(':checked');\n var chkeffortredu = $(\"#chkereduc_\" + SubProblemStatementId).is(':checked');\n obj.toggleArr = [chkautomate, chkeffortredu];\n obj.toggleArrEdt = [obj.readonlyautomate, obj.readonlyreduction];\n obj.CalculateEffortSavingChartDataOnEdit(true);\n\n });\n }, 200)\n\n };\n\n\n\n GetToatalEffortAtDeepdiveLevel() {\n var TotalEffortAtdeepdiveLevel = 0;\n var TotalEffortAtPrbLevel = 0;\n var response = this.BluePrintData;\n var AppName = this.ActiveAppName;\n var Type = this.ActiveType;\n var DataSourceId = this.ActiveDataSourceId;\n var Filter = this.ActiveFilter;\n var annualE = 0;\n let obj = this.BluePrintData;\n let obj1 = this;\n $.each(response.ProblemStatement, function (prb_key, prbvalue) {\n if (prbvalue != null) {\n if (prbvalue.IsDisplayParent == true) {\n var TotalEffortAtSubPrbLevel = 0;\n $.each(prbvalue.SubProblemStatement, function (sub_key, subvalue) {\n if (subvalue != null) {\n if (subvalue.IsBaseline == true) {\n if (subvalue.AppName == AppName && subvalue.Type == Type && subvalue.DataSourceId == DataSourceId && subvalue.ID == obj.AutomateSubProblemStatementId && subvalue.supportGroupName == obj.supportGroup) {\n if (Filter != \"AIAAData\" && Filter != \"ManualData\") {\n annualE = $('#inpeffortspentprocess').val();\n }\n else {\n annualE = $('#inpeffortspent').text();\n }\n if (annualE == +\"\") {\n annualE = 0;\n }\n }\n else {\n if (subvalue.Filter != \"AIAAData\" && subvalue.Filter != \"ManualData\") {\n annualE = subvalue.EffortSpent;\n }\n else {\n annualE = ((subvalue.TicketCount) * (subvalue.AverageResolutionTime));\n annualE = +obj1.round2Fixed(annualE);\n }\n }\n TotalEffortAtSubPrbLevel = (parseFloat(TotalEffortAtSubPrbLevel.toString()) + parseFloat(annualE.toString()));\n TotalEffortAtSubPrbLevel = +obj1.round2Fixed(TotalEffortAtSubPrbLevel);\n }\n }\n });\n TotalEffortAtPrbLevel = parseFloat(TotalEffortAtPrbLevel.toString()) + parseFloat(TotalEffortAtSubPrbLevel.toString());\n }\n }\n });\n\n TotalEffortAtdeepdiveLevel = parseFloat(TotalEffortAtdeepdiveLevel.toString()) + parseFloat(TotalEffortAtPrbLevel.toString());\n this.ToatlEffortSpentAtPrbLevel = TotalEffortAtdeepdiveLevel;\n }\n\n FormTehniquewiseAssetResponse() {\n //var obj=this;\n var uniqueid = this.ActiveUniqueId;\n var SubProblemStatementId = this.AutomateSubProblemStatementId;\n var AppName = this.ActiveAppName;\n var Type = this.ActiveType;\n var DataSourceId = this.ActiveDataSourceId;\n\n var resp = this.BluePrintData;\n var subproblemresp = null;\n var supportGroupName = this.apwebservice.supportGroupName;\n if(supportGroupName ==undefined)\n {\n supportGroupName= JSON.parse(sessionStorage.getItem('supportGroupNameEdit'));\n }\n\n $.each(resp.ProblemStatement, function (key, prbvalue) {\n if (prbvalue != null) {\n subproblemresp = prbvalue.SubProblemStatement.filter(\n (x => x.AppName == AppName && x.Type == Type && x.DataSourceId == DataSourceId && x.ID == SubProblemStatementId && x.SupportGroupName.trim() == supportGroupName.trim())\n );\n if (subproblemresp.length > 0) {\n return false;\n }\n }\n });\n\n this.CategoryTechResponse = [];\n var TotalSavedEffortAtSubPrbLevel = 0;\n let obj = this;\n $.each(subproblemresp[0].TechniqueAsset, function (aut_key, assetvalue) {\n if (assetvalue != null) {\n if (assetvalue.IsDeleted == false) {\n var Assets = [];\n if (assetvalue.TechniqueName == null) {\n assetvalue.TechniqueSortOrder = 12;\n if (assetvalue.EffortSaving == null) {\n obj.SavingsResponse = [];\n if (obj.IsSubDynamicBulkUpload) {\n obj.SavingsResponse = [{\n EffortSavingLWRange: '',\n EffortReduction: '',\n EffortSavingValue: '',\n EffortSavingsHrs: '',\n CostSavingsHrs: ''\n }];\n }\n else {\n obj.SavingsResponse = [{\n EffortSavingLWRange: 0,\n EffortReduction: 0,\n EffortSavingValue: 0.00\n }];\n }\n\n }\n else {\n if (assetvalue.EffortSaving.EffortReduction == \"\" || assetvalue.EffortSaving.EffortReduction == null) {\n assetvalue.EffortSaving.EffortReduction = 0;\n }\n }\n }\n\n $.each(obj.Effortreduction, function (key, value) {\n if (value != null) {\n if (value.TechniqueName == assetvalue.TechniqueName) {\n assetvalue.TechniqueSortOrder = value.SortOrder;\n if (assetvalue.EffortSaving == null) {\n obj.SavingsResponse = [];\n if (obj.IsSubDynamicBulkUpload == true) {\n obj.SavingsResponse = [{\n EffortSavingLWRange: '',\n EffortReduction: '',\n EffortSavingValue: '',\n EffortSavingsHrs: '',\n CostSavingsHrs: ''\n }];\n }\n else {\n obj.SavingsResponse = [{\n EffortSavingLWRange: 0,\n EffortReduction: value.EffortReduction,\n EffortSavingValue: 0.00\n }];\n }\n\n }\n else if (assetvalue.EffortSaving != null) {\n if (obj.IsSubDynamicBulkUpload == true) {\n //if (assetvalue.EffortSaving.EffortReduction == null) {\n // assetvalue.EffortSaving.EffortReduction = ''; \n //}\n //else if (assetvalue.EffortSaving.EffortReduction == '') {\n // assetvalue.EffortSaving.EffortReduction = '';\n //}\n }\n }\n else {\n if (assetvalue.EffortSaving.EffortReduction == \"\" || assetvalue.EffortSaving.EffortReduction == null) {\n assetvalue.EffortSaving.EffortReduction = value.EffortReduction;\n }\n\n }\n }\n }\n });\n\n var Efforts = [];\n\n // assetvalue.assetStartDate = assetvalue.assetStartDate ?\n // assetvalue.assetStartDate.filter(x => x.date == 'dd/MM/yyyy') : \"\";\n // assetvalue.assetEndDate = assetvalue.assetEndDate ?\n // assetvalue.assetEndDate.filter(x => x.date == 'dd/MM/yyyy') : \"\";\n Assets.push({\n UniqueId: assetvalue.UniqueId,\n TechniqueID: assetvalue.TechniqueID,\n TechniqueName: assetvalue.TechniqueName,\n SortOrder: assetvalue.TechniqueSortOrder,\n AssetID: assetvalue.AssetID,\n AssetName: assetvalue.AssetName,\n assetStartDate: assetvalue.assetStartDate,\n assetEndDate: assetvalue.assetEndDate,\n assetImplementationCost: assetvalue.assetImplementationCost,\n FixExecutionString: assetvalue.FixExecutionString,\n EffortSaving: assetvalue.EffortSaving == null ? obj.SavingsResponse[0] : assetvalue.EffortSaving,\n Efforts: []\n });\n\n if (assetvalue.EffortSaving == null) {\n assetvalue.EffortSaving = obj.SavingsResponse[0];\n }\n\n var annualeffort = 0;\n var costperhour = 0;\n if (obj.ActiveFilter != \"AIAAData\" && obj.ActiveFilter != \"ManualData\") {\n annualeffort = $('#inpeffortspentprocess').val();\n costperhour = $('#inpcostperhrprocess').val();\n }\n else {\n annualeffort = $('#inpeffortspent').text();\n costperhour = $('#inpcostperhr').val();\n }\n if (annualeffort == +\"\") {\n annualeffort = 0;\n }\n var calsavedeffort = ((Assets[0].EffortSaving != undefined && Assets[0].EffortSaving.EffortSavingLWRange != undefined ? Assets[0].EffortSaving.EffortSavingLWRange : 0) * annualeffort) / 100;\n var SavedEfforts = 0;\n if (obj.IsSubDynamicBulkUpload == true) {\n if (Assets[0].EffortSaving.EffortSavingsHrs != null) {\n if (Assets[0].EffortSaving.EffortSavingsHrs != 0.00) {\n SavedEfforts = Assets[0].EffortSaving.EffortSavingsHrs;\n }\n }\n else {\n SavedEfforts = ((Assets[0].EffortSaving != undefined && Assets[0].EffortSaving.EffortReduction ? Assets[0].EffortSaving.EffortReduction : 0) * calsavedeffort) / 100;\n SavedEfforts = +obj.round2Fixed(SavedEfforts);\n }\n }\n else {\n SavedEfforts = ((Assets[0].EffortSaving != undefined && Assets[0].EffortSaving.EffortReduction != undefined ? Assets[0].EffortSaving.EffortReduction : 0) * calsavedeffort) / 100;\n SavedEfforts = +obj.round2Fixed(SavedEfforts);\n }\n TotalSavedEffortAtSubPrbLevel = parseFloat(TotalSavedEffortAtSubPrbLevel.toString()) + parseFloat(SavedEfforts.toString());\n var SavedEffortsperct = 0;\n if (obj.IsSubDynamicBulkUpload == true) {\n\n SavedEffortsperct = (+obj.round2Fixed(SavedEfforts) / +obj.round2Fixed(annualeffort)) * 100;\n\n if (isNaN(SavedEffortsperct))\n SavedEffortsperct = 0;\n else\n if (SavedEffortsperct > 100)\n SavedEffortsperct = 100;\n else\n SavedEffortsperct = +SavedEffortsperct.toFixed(2);\n\n\n }\n else {\n if (annualeffort == 0.00) {\n SavedEffortsperct = +(0).toFixed(2);\n }\n else {\n SavedEffortsperct = ((SavedEfforts / annualeffort) * 100);\n SavedEffortsperct = +obj.round2Fixed(SavedEffortsperct);\n }\n }\n var OverallSaving = 0;\n if (obj.ToatlEffortSpentAtPrbLevel == 0.00 || obj.ToatlEffortSpentAtPrbLevel == 0) {\n OverallSaving = +(0).toFixed(2);\n }\n else {\n OverallSaving = ((SavedEfforts / (obj.ToatlEffortSpentAtPrbLevel)) * 100);\n OverallSaving = +obj.round2Fixed(OverallSaving);\n }\n\n if (costperhour == +\"\") {\n costperhour = 0;\n }\n var EffortSavingValue = (SavedEfforts * costperhour);\n EffortSavingValue = +obj.round2Fixed(EffortSavingValue);\n Assets[0].EffortSaving.EffortSavingValue = EffortSavingValue;\n\n var costsavings = 0.00;\n if (obj.IsSubDynamicBulkUpload == true) {\n if (Assets[0].EffortSaving.CostSavingsHrs != null) {\n if (Assets[0].EffortSaving.CostSavingsHrs != 0.00) {\n costsavings = Assets[0].EffortSaving.CostSavingsHrs;\n }\n }\n else {\n if (costperhour != 0.00) {\n costsavings = +(SavedEfforts * costperhour).toFixed(2);\n }\n }\n }\n Efforts = [{\n SavedEfforts: SavedEfforts,\n SavedEffortsperct: SavedEffortsperct,\n OverallSaving: OverallSaving,\n costsavings: costsavings\n }];\n\n Assets[0].Efforts = Efforts[0];\n Assets[0][\"disabled\"] = true;\n obj.CategoryTechResponse.push(Assets[0]);\n }\n }\n });\n (obj.CategoryTechResponse).sort(obj.SortByOrder);\n }\n\n SortByOrder(a, b) {\n var aName = a.SortOrder;\n var bName = b.SortOrder;\n return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));\n }\n\n CostIncurredCalculation() {\n if (this.ActiveFilter != \"AIAAData\" && this.ActiveFilter != \"ManualData\") {\n var AnnualEffort = $(\"#inpeffortspentprocess\").val();\n var CostPerHour = $(\"#inpcostperhrprocess\").val();\n var TotalCostIncurred = (AnnualEffort * CostPerHour);\n $('#inpcostincurredprocess').text(this.round2Fixed(TotalCostIncurred));\n }\n else {\n var AnnualEffort = $(\"#inpeffortspent\").text();\n var CostPerHour = $(\"#inpcostperhr\").val();\n var TotalCostIncurred = (AnnualEffort * CostPerHour);\n $('#inpcostincurred').text(this.round2Fixed(TotalCostIncurred));\n }\n }\n\n EffortSavingChartOnEdit() {\n this.CalculateEffortSavingChartDataOnEdit(false);\n }\n CostSavingChartOnEdit() {\n this.CalculateEffortSavingChartDataOnEdit(false);\n }\n\n CalculateEffortSavingChartDataOnEdit(pageLoad: boolean) {\n let obj = this;\n var resp = obj.BluePrintData;\n var AppName = obj.ActiveAppName;\n var Type = obj.ActiveType;\n var DataSourceId = obj.ActiveDataSourceId;\n if (obj.Effortreduction != null) {\n $.each(resp.ProblemStatement, function (main_key, ps) {\n if (ps != null) {\n $.each(ps.SubProblemStatement, function (sub_key, sp) {\n if (sp != null) {\n if (sp.AppName == AppName && sp.Type == Type && sp.DataSourceId == DataSourceId && sp.ID == obj.AutomateSubProblemStatementId && sp.SupportGroupName == obj.supportGroup) {\n obj.CalculateEffortSavingChartDataAtSubPrbLvlOnEdit(sp, pageLoad);\n }\n }\n });\n }\n });\n }\n else {\n obj.apwebservice.GetEffortReductionForTechnique().subscribe(data => {\n obj.Effortreduction = data;\n $.each(resp.ProblemStatement, function (main_key, ps) {\n if (ps != null) {\n $.each(ps.SubProblemStatement, function (sub_key, sp) {\n if (sp != null) {\n if (sp.AppName == AppName && sp.Type == Type && sp.DataSourceId == DataSourceId && sp.ID == obj.AutomateSubProblemStatementId) {\n obj.CalculateEffortSavingChartDataAtSubPrbLvlOnEdit(sp, pageLoad);\n }\n }\n });\n }\n });\n });\n }\n }\n\n CalculateEffortSavingChartDataAtSubPrbLvlOnEdit(sp, pageLoad: boolean) {\n let obj = this;\n setTimeout(function () {\n var Automatable = 0;\n var Effortreduction = 0;\n var TotalSavedEfforts = 0;\n var TotalCostSavings = 0;\n var Annualeffort = 0;\n var costperhr = 0;\n var totalcostincurred = 0;\n var savedeffortedit = null;\n var savedeff = null;\n var costsaveedit = null;\n var costsav = null;\n var effortToggle = $(\"#chkprobid_\" + sp.ID).is(':checked');\n var cphToggle = $(\"#chkcph_\" + sp.ID).is(':checked');\n\n if (sp.Filter != \"AIAAData\" && sp.Filter != \"ManualData\") {\n Annualeffort = $('#inpeffortspentprocess').val();\n costperhr = $('#inpcostperhrprocess').val();\n totalcostincurred = $(\"#inpcostincurredprocess\").text();\n }\n else {\n Annualeffort = $('#inpeffortspent').text();\n costperhr = $('#inpcostperhr').val();\n totalcostincurred = $(\"#inpcostincurred\").text();\n }\n\n $.each(sp.TechniqueAsset, function (aut_key, asset) {\n var SavedEfforts = 0;\n var SavedCost = 0;\n var automateToggle = $(\"#chkauto_\" + asset.UniqueId).is(':checked');\n var effortRedToggle = $(\"#chkereduc_\" + asset.UniqueId).is(':checked');\n if (asset != null) {\n if (asset.IsDeleted == false) {\n if (asset.EffortSaving == null) {\n Automatable = 0;\n $.each(obj.Effortreduction, function (key, value) {\n if (asset.TechniqueName == null)\n Effortreduction = 0;\n if (asset.TechniqueName == value.TechniqueName)\n Effortreduction = value.EffortReduction;\n });\n }\n else {\n Automatable = $(\"#inprange_\" + asset.UniqueId).val() != undefined ? $('#inprange_' + asset.UniqueId).val() : $('#lblrange_' + asset.UniqueId).text().trim();\n if (Automatable.toString() == \"NaN\")\n Automatable = 0;\n\n Effortreduction = $(\"#inpeffortred_\" + asset.UniqueId).val() != undefined ? $('#inpeffortred_' + asset.UniqueId).val() : $('#lbleffortred_' + asset.UniqueId).text().trim();\n if (Effortreduction.toString() == \"NaN\")\n Effortreduction = 0;\n }\n\n savedeffortedit = $('#inpeffsaving_' + asset.UniqueId).val() != undefined ? $('#inpeffsaving_' + asset.UniqueId).val() : $('#lbleffsaving_' + asset.UniqueId).text().trim();\n\n costsaveedit = $('#inpcostsaving_' + asset.UniqueId).val() != undefined ? $('#inpcostsaving_' + asset.UniqueId).val() : $('#lblcostsaving_' + asset.UniqueId).text().trim();\n\n var calsavedeffort = ((Automatable) * (Annualeffort)) / 100;\n if (obj.IsSubDynamicBulkUpload == true) {\n if (effortToggle == false || automateToggle == false || effortRedToggle == false) {\n if (savedeffortedit != undefined)\n SavedEfforts = savedeffortedit;\n if (savedeff != undefined && savedeff != \"\")\n SavedEfforts = savedeff;\n }\n else\n SavedEfforts = (((Effortreduction) * calsavedeffort) / 100);\n\n if (costsaveedit != undefined)\n SavedCost = costsaveedit;\n }\n else\n SavedEfforts = (((Effortreduction) * calsavedeffort) / 100);\n\n //SavedEfforts = +obj.round2Fixed(SavedEfforts);\n SavedEfforts = +obj.round2Fixed(+(SavedEfforts.toString().replace(\",\", '')));\n TotalSavedEfforts = parseFloat(TotalSavedEfforts.toString()) + parseFloat(SavedEfforts.toString());\n TotalCostSavings = parseFloat(TotalCostSavings.toString()) + parseFloat(SavedCost.toString() == \"\" ? \"0\" : SavedCost.toString());\n }\n }\n });\n\n var donutarr = [];\n\n donutarr.push(['EffortSavings(hrs)', obj.round2Fixed(TotalSavedEfforts)]);\n donutarr.push([sp.Name, Annualeffort]);\n donutarr.push([obj.IsSubDynamicBulkUpload, Annualeffort]);\n donutarr.push(['ParentId', sp.ParentId]);\n sp.CategoryEffortSavingData1 = donutarr;\n obj.EffortSavingChart = sp.CategoryEffortSavingData1[0][1];\n if (Annualeffort == 0 || Annualeffort == 0.00) {\n sp.EffortSaved = (0).toFixed(2);\n obj.EffortSaved = sp.EffortSaved;\n }\n else {\n sp.EffortSaved = (((+TotalSavedEfforts.toFixed(2)) / Annualeffort) * 100);\n sp.EffortSaved = obj.round2Fixed(sp.EffortSaved);\n obj.EffortSaved = sp.EffortSaved;\n }\n if (sp.EffortSaved > 100) {\n sp.EffortSaved = 100;\n obj.EffortSaved = sp.EffortSaved;\n }\n if (obj.IsSubDynamicBulkUpload == true) {\n if (obj.editablecostsaving == true) {\n sp.CostSaving = TotalCostSavings;\n }\n else {\n sp.CostSaving = (+(TotalSavedEfforts).toFixed(2) * (costperhr));\n }\n }\n else {\n sp.CostSaving = (+(TotalSavedEfforts).toFixed(2) * (costperhr));\n }\n\n var cost = [];\n cost.push(['CostSavings($)', obj.round2Fixed(TotalSavedEfforts)]);\n cost.push([costperhr, totalcostincurred]);\n cost.push([obj.IsSubDynamicBulkUpload, sp.CostSaving]);\n sp.CategoryCostSavingData = cost;\n obj.CostSavingChart = obj.round2Fixed(sp.CategoryCostSavingData[2][1]);\n if (totalcostincurred == 0 || totalcostincurred == 0.00) {\n sp.CostSaved = (0).toFixed(2);\n obj.CostSaved = sp.CostSaved;\n }\n else {\n sp.CostSaved = (((+(TotalSavedEfforts).toFixed(2) * costperhr) / totalcostincurred) * 100);\n sp.CostSaved = obj.round2Fixed(sp.CostSaved);\n obj.CostSaved = sp.CostSaved;\n }\n if (sp.CostSaved > 100) {\n sp.CostSaved = 100;\n obj.CostSaved = sp.CostSaved;\n }\n if (pageLoad) {\n let lastSavedValues = {\n 'EffortSavingChart': obj.EffortSavingChart,\n 'EffortSaved': obj.EffortSaved,\n 'CostSavingChart': obj.CostSavingChart,\n 'CostSaved': obj.CostSaved\n }\n localStorage.setItem('lastSavedValues', JSON.stringify(lastSavedValues));\n }\n }, 500)\n }\n\n CalculateAutomatable() {\n var resp = this.BluePrintData;\n var allautomatable = 0;\n var prbautomatable = 0;\n var savingatprblevel = 0;\n let obj = this;\n $.each(resp.ProblemStatement, function (main_key, ps) {\n var subautomatable = 0;\n prbautomatable = 0;\n var savingatsubprblevel = 0;\n if (ps != null) {\n $.each(ps.SubProblemStatement, function (sub_key, sp) {\n if (sp != null) {\n prbautomatable = obj.CalculateAutomatableAtSubPrbLevel(prbautomatable, subautomatable, sp);\n savingatsubprblevel = obj.CalculateSavingsAtSubPrbLevel(savingatsubprblevel, sp);\n savingatprblevel = parseFloat(savingatprblevel.toString()) + parseFloat(savingatsubprblevel.toString());\n }\n });\n\n ps.AllSavingValueTotal = savingatprblevel;\n ps.AllSavingValueTotal = obj.round2Fixed(ps.AllSavingValueTotal);\n savingatprblevel = 0;\n\n allautomatable = obj.CalculateAutomatableAtPrbLevel(allautomatable, prbautomatable, ps);\n }\n });\n resp.AllAutomatedTotal = parseInt(allautomatable.toString());\n //Caculation For Progress Bar\n this.AutomatableProgressBarWidth = parseInt(((resp.AllAutomatedTotal / resp.Total) * 100).toString());\n //Caculation For Progress Bar End\n }\n\n CalculateAutomatableAtSubPrbLevel(prbautomatable, subautomatable, sp) {\n var subautomatableTickets = 0;\n var TicketCount = 0;\n var Automate = 0;\n let obj = this;\n $.each(sp.TechniqueAsset, function (aut_key, asset) {\n var TotalCostSaving = 0;\n var savingatassetlevel = 0;\n if (asset != null) {\n if (asset.IsDeleted == false) {\n TicketCount = sp.TicketCount;\n if (asset.EffortSaving == null) {\n subautomatableTickets = 0;\n }\n else {\n if (asset.EffortSaving.EffortSavingLWRange == null || asset.EffortSaving.EffortSavingLWRange == \"\") {\n subautomatableTickets = 0;\n }\n else {\n subautomatableTickets = asset.EffortSaving.EffortSavingLWRange;\n }\n\n //Calculate Savings At Page Load\n var AnnualEffort = 0;\n if (sp.Filter == \"AIAAData\" || sp.Filter == \"ManualData\") {\n AnnualEffort = (sp.TicketCount * sp.AverageResolutionTime);//.toFixed(2);\n //AnnualEffort = Number(AnnualEffort.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n AnnualEffort = +obj.round2Fixed(AnnualEffort.toString());\n }\n else {\n AnnualEffort = sp.EffortSpent;\n }\n if (sp.IsSubDynamicBulkUpload == true && (asset.EffortSaving.CostSavingsHrs != null && asset.EffortSaving.CostSavingsHrs != \"\")) {\n TotalCostSaving = parseFloat(TotalCostSaving.toString()) + parseFloat(asset.EffortSaving.CostSavingsHrs);\n asset.EffortSaving.EffortSavingValue = obj.round2Fixed(TotalCostSaving);\n // -----Story - 132303 Effort saving and cost saving mapping\n } else if (sp.IsSubDynamicBulkUpload == true && (asset.EffortSaving.EffortSavingsHrs != null && asset.EffortSaving.EffortSavingsHrs != \"\")) {\n var CostPerHour = sp.CostPerHour;\n var EffortSavings = (asset.EffortSaving.EffortSavingsHrs * CostPerHour);//.toFixed(2);\n EffortSavings = +obj.round2Fixed(EffortSavings);\n asset.EffortSaving.EffortSavingValue = EffortSavings;\n }\n else {\n var calsavedeffort = ((asset.EffortSaving != undefined && asset.EffortSaving.EffortSavingLWRange ? asset.EffortSaving.EffortSavingLWRange : 0) * AnnualEffort) / 100;\n var SavedEfforts = ((asset.EffortSaving != undefined && asset.EffortSaving.EffortReduction != undefined ? asset.EffortSaving.EffortReduction : 0) * calsavedeffort) / 100;\n //.toFixed(2);\n //SavedEfforts = Number(SavedEfforts.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n SavedEfforts = +obj.round2Fixed(SavedEfforts);\n var CostPerHour = sp.CostPerHour;\n var EffortSavings = (SavedEfforts * CostPerHour);//.toFixed(2);\n //EffortSavings = Number(EffortSavings.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n EffortSavings = +obj.round2Fixed(EffortSavings);\n asset.EffortSaving.EffortSavingValue = EffortSavings;\n }\n\n //End\n }\n Automate = parseInt(Automate.toString()) + parseInt(subautomatableTickets.toString());\n }\n }\n });\n\n if (Automate > 100) {\n subautomatable = ((TicketCount * 100) / 100);\n }\n else {\n subautomatable = ((TicketCount * Automate) / 100);\n }\n sp.AutomatedTotal = Math.round(subautomatable);\n\n if (sp.Filter == \"AIAAData\" || sp.Filter == \"ManualData\") {\n var donutarr = [];\n donutarr.push(['Automate', sp.AutomatedTotal]);\n donutarr.push([sp.Name, sp.TicketCount]);\n sp.CategoryTicketCompareData = donutarr;\n }\n else {\n var donutarr = [];\n donutarr.push(['Score', sp.AutomationScore]);\n donutarr.push([sp.Name, 5]);\n sp.CategoryTicketCompareData = donutarr;\n }\n prbautomatable += Math.round(subautomatable);\n return prbautomatable;\n }\n\n CalculateSavingsAtSubPrbLevel(savingatsubprblevel, sp) {\n var savingattechlevel = 0;\n\n $.each(sp.TechniqueAsset, function (aut_key, asset) {\n var savingatassetlevel = 0;\n if (asset != null) {\n if (asset.IsDeleted == false) {\n if (asset.EffortSaving == null) {\n savingatassetlevel = parseFloat(savingatassetlevel.toString()) + 0;\n }\n else {\n savingatassetlevel = parseFloat(savingatassetlevel.toString().toString()) + parseFloat(asset.EffortSaving.EffortSavingValue);\n }\n }\n }\n savingattechlevel = parseFloat(savingattechlevel.toString()) + parseFloat(savingatassetlevel.toString());\n });\n savingatsubprblevel = savingattechlevel;\n return savingatsubprblevel;\n }\n\n CalculateAutomatableAtPrbLevel(allautomatable, prbautomatable, ps) {\n ps.AutomatedTotal = parseInt(prbautomatable);\n allautomatable += prbautomatable;\n return allautomatable;\n }\n\n CalculateEffortSavingChartData() {\n var resp = this.BluePrintData;\n this.apwebservice.GetEffortReductionForTechnique().subscribe(data => {\n this.Effortreduction = data;\n let obj = this;\n $.each(resp.ProblemStatement, function (main_key, ps) {\n if (ps != null) {\n var ParentEffortSaving = 0;\n var ParentCostSaving = 0;\n $.each(ps.SubProblemStatement, function (sub_key, sp) {\n if (sp != null) {\n obj.CalculateEffortSavingChartDataAtSubPrbLvl(sp);\n ParentEffortSaving = parseFloat(ParentEffortSaving.toString()) + parseFloat(sp.EffortSaving);\n ParentCostSaving = parseFloat(ParentCostSaving.toString()) + parseFloat(sp.CostSaving);\n }\n });\n ps.EffortSaving = ParentEffortSaving;\n ps.EffortSaving = obj.round2Fixed(ps.EffortSaving);\n ps.CostSaving = ParentCostSaving;\n ps.CostSaving = obj.round2Fixed(ps.CostSaving);\n }\n });\n this.BluePrintData.ProblemStatement = resp.ProblemStatement;\n this.dataService.BlueprintData = this.BluePrintData;\n this.apwebservice.currentTotalCost = 0;\n this.apwebservice.plannedTotalSavings = 0;\n this.apwebservice.currentTotalEffort = 0;\n this.apwebservice.plannedEffortSavings = 0;\n\n let baseLineGraphData: [];\n baseLineGraphData = this.BluePrintData.ProblemStatement;\n for (var m = 0; m < baseLineGraphData.length; m++) {\n\n let costIncurred = 0;\n costIncurred = baseLineGraphData[m][\"CostIncurred\"];\n if (costIncurred != null) {\n this.apwebservice.currentTotalCost += +costIncurred;\n }\n let costSaving = 0;\n costSaving = baseLineGraphData[m][\"CostSaving\"];\n if (costSaving != null) {\n this.apwebservice.plannedTotalSavings += +costSaving;\n }\n let effortSpent = 0;\n effortSpent = baseLineGraphData[m][\"EffortSpent\"];\n if (effortSpent != null) {\n this.apwebservice.currentTotalEffort += +effortSpent;\n }\n let effortSaving = 0;\n effortSaving = baseLineGraphData[m][\"EffortSaving\"];\n if (effortSaving != null) {\n this.apwebservice.plannedEffortSavings += +effortSaving;\n }\n }\n });\n\n }\n\n CalculateEffortSavingChartDataAtSubPrbLvl(sp) {\n var Automatable = 0;\n var Effortreduction = 0;\n var TotalSavedEfforts = 0;\n var CostSavingsHrs = 0;\n var TotalCostSavings = 0;\n let obj = this;\n $.each(sp.TechniqueAsset, function (aut_key, asset) {\n var SavedEfforts = 0;\n var costSaved = 0;\n if (asset != null) {\n if (asset.IsDeleted == false) {\n if (asset.EffortSaving == null) {\n Automatable = 0;\n $.each(this.Effortreduction, function (key, value) {\n if (asset.TechniqueName == null) {\n Effortreduction = 0;\n }\n if (asset.TechniqueName == value.TechniqueName) {\n Effortreduction = value.EffortReduction;\n }\n });\n }\n else {\n Automatable = asset.EffortSaving.EffortSavingLWRange;\n Effortreduction = asset.EffortSaving.EffortReduction;\n }\n var annualeffort = sp.EffortSpent;\n var calsavedeffort = ((Automatable) * (annualeffort)) / 100;\n\n var costph = sp.CostPerHour;\n if (obj.IsSubDynamicBulkUpload == true || obj.IsSubDynamicBulkUpload == undefined) {\n if (asset.EffortSaving != null) {\n if (asset.EffortSaving.EffortSavingsHrs != null) {\n SavedEfforts = asset.EffortSaving.EffortSavingsHrs;\n }\n else {\n SavedEfforts = (((Effortreduction) * calsavedeffort) / 100);\n }\n if (asset.EffortSaving.CostSavingsHrs != null) {\n\n costSaved = asset.EffortSaving.CostSavingsHrs;\n }\n else\n costSaved = SavedEfforts * costph;\n\n }\n else {\n SavedEfforts = (((Effortreduction) * calsavedeffort) / 100);\n costSaved = SavedEfforts * costph;\n }\n }\n else {\n SavedEfforts = (((Effortreduction) * calsavedeffort) / 100);\n }\n\n SavedEfforts = +obj.round2Fixed(SavedEfforts);\n TotalSavedEfforts = parseFloat(TotalSavedEfforts.toString()) + parseFloat(SavedEfforts.toString());\n TotalCostSavings = parseFloat(TotalCostSavings.toString()) + parseFloat(costSaved.toString());\n }\n }\n });\n\n var donutarr = [];\n donutarr.push(['EffortSavings(hrs)', obj.round2Fixed(TotalSavedEfforts)]);\n donutarr.push([sp.Name, sp.EffortSpent]);\n donutarr.push([this.IsSubDynamicBulkUpload, sp.EffortSpent]);\n donutarr.push(['ParentId', sp.ParentId]);\n sp.CategoryEffortSavingData1 = donutarr;\n this.dataService.effSaving = sp.CategoryEffortSavingData1;\n if (sp.EffortSpent == 0 || sp.EffortSpent == 0.00) {\n sp.EffortSaved = (0).toFixed(2);\n }\n else {\n sp.EffortSaved = ((+(TotalSavedEfforts.toFixed(2)) / sp.EffortSpent) * 100).toFixed(2);\n }\n if (sp.EffortSaved > 100) {\n sp.EffortSaved = 100;\n }\n\n sp.EffortSaving = TotalSavedEfforts;\n sp.EffortSaving = obj.round2Fixed(sp.EffortSaving);\n if (this.IsSubDynamicBulkUpload == true || this.IsSubDynamicBulkUpload == undefined) {\n sp.CostSaving = TotalCostSavings;\n\n }\n else {\n sp.CostSaving = (+(TotalSavedEfforts).toFixed(2) * (sp.CostPerHour));\n }\n sp.CostSaving = obj.round2Fixed(sp.CostSaving);\n\n var cost = [];\n var costperhr = sp.CostPerHour;\n var totalcostincurred = 0;\n if (this.IsSubDynamicBulkUpload == true) {\n }\n else {\n totalcostincurred = ((sp.EffortSpent) * (costperhr));\n }\n totalcostincurred = +obj.round2Fixed(totalcostincurred);\n cost.push(['CostSavings($)', obj.round2Fixed(TotalSavedEfforts)]);\n cost.push([costperhr, totalcostincurred]);\n cost.push([this.IsSubDynamicBulkUpload, sp.CostSaving]);\n sp.CategoryCostSavingData = cost;\n if (totalcostincurred == 0 || totalcostincurred == 0.00) {\n sp.CostSaved = (0).toFixed(2);\n }\n else {\n sp.CostSaved = (((+(TotalSavedEfforts).toFixed(2) * costperhr) / totalcostincurred) * 100);\n sp.CostSaved = obj.round2Fixed(sp.CostSaved);\n }\n if (sp.CostSaved > 100) {\n sp.CostSaved = 100;\n }\n }\n\n\n round2Fixed(value) {\n value = +value;\n if (isNaN(value))\n return NaN;\n // Shift\n value = value.toString().split('e');\n value = Math.round(+(value[0] + 'e' + (value[1] ? (+value[1] + 2) : 2)));\n // Shift back\n value = value.toString().split('e');\n return (+(value[0] + 'e' + (value[1] ? (+value[1] - 2) : -2))).toFixed(2);\n }\n\n onlynumbersAllowedNotDecimals(field) {\n if (!String.fromCharCode(field.keyCode).match('[0-9]'))\n field.preventDefault();\n };\n onlynumbersAllowed(event) {\n var charCode = (event.which) ? event.which : event.keyCode;\n if (charCode != 46 && charCode > 31\n && (charCode < 48 || charCode > 57)) {\n event.preventDefault();\n return false;\n }\n return true;\n };\n\n ValidateEffortReductionForSavings(techniqueid, uniqueid) {\n if ((techniqueid == 23 || techniqueid == 32 || techniqueid == 25) && this.IsSubDynamicBulkUpload == false) {\n alert(\"Effort Reduction can't be overridden for Incident Elimination Techniques.\");\n }\n else {\n var effortreduction = $('#inpeffortred_' + uniqueid).val();\n var resp = this.BluePrintData;\n this.CalculateEffortReductionForSavings(techniqueid, uniqueid);\n effortreduction = $('#inpeffortred_' + uniqueid).val();\n this.CalculateEfforts(uniqueid);\n this.CalculateEffortSavingChartDataOnEdit(false);\n }\n }\n\n CalculateEffortReductionForSavings(techniqueid, uniqueid) {\n var resp = this.BluePrintData;\n var prbautomate = false;\n let obj = this;\n $.each(resp.ProblemStatement, function (main_key, ps) {\n if (ps != null) {\n $.each(ps.SubProblemStatement, function (sub_key, sp) {\n if (sp != null) {\n $.each(sp.TechniqueAsset, function (sub_key, ts) {\n if (ts != null) {\n if (ts.UniqueId == uniqueid) {\n prbautomate = obj.CalculateEffortReductionAtSubPrbLevel(prbautomate, ps, sp, techniqueid, uniqueid);\n }\n if (prbautomate == true) {\n return false;\n }\n }\n });\n }\n });\n if (prbautomate == true) {\n return false;\n }\n }\n });\n }\n\n CalculateEffortReductionAtSubPrbLevel(prbautomate, ps, sp, techniqueid, uniqueid) {\n var effortreduction = $('#inpeffortred_' + uniqueid).val();\n if (effortreduction == \"\") {\n effortreduction = 0;\n }\n var EffortReduction = 0;\n var savingsreduction = 0;\n $.each(sp.TechniqueAsset, function (aut_key, asset) {\n if (asset != null) {\n if (asset.IsDeleted == false) {\n if (asset.UniqueId == uniqueid) {\n if (asset.EffortSaving.EffortReduction == undefined) {\n $.each(this.Effortreduction, function (key, value) {\n if (asset.TechniqueName == null) {\n this.originalEffortReduction = 0;\n }\n if (value.TechniqueName == asset.TechniqueName) {\n this.originalEffortReduction = value.EffortReduction;\n }\n });\n }\n else {\n this.originalEffortReduction = asset.EffortSaving.EffortReduction;\n }\n }\n if (asset.TechniqueName != \"Deflect Tickets (Self Svc)\" && asset.TechniqueName != \"Problem Fixes - Identify and Resolve Systemic Issues\" && asset.TechniqueName != \"Minimize business issues causing tickets\") {\n savingsreduction = $('#inpeffortred_' + asset.UniqueId).val() != undefined ? $('#inpeffortred_' + asset.UniqueId).val() : $('#lbleffortred_' + asset.UniqueId).val();\n if (savingsreduction == +\"\") {\n savingsreduction = 0;\n }\n EffortReduction = parseInt(savingsreduction.toString()) + parseInt(EffortReduction.toString());\n }\n }\n }\n });\n\n if (EffortReduction > 100) {\n alert(\"Total %Effort Reduction should not exceed 100% for Non Elimination Techniques.\");\n prbautomate = true;\n $('#inpeffortred_' + uniqueid).val(0);\n effortreduction = $('#inpeffortred_' + uniqueid).val();\n }\n else {\n var value = $('#inpeffortred_' + uniqueid).val();\n $('#inpeffortred_' + uniqueid).val(value);\n effortreduction = $('#inpeffortred_' + uniqueid).val();\n }\n return prbautomate;\n }\n\n CalculateEfforts(uniqueid) {\n var ProblemStatementId = this.SelectOpp.ID;\n var SubProblemStatementId = this.selectSubOpp.ID;\n var resp = this.CategoryTechResponse;\n var annualeffort = 0;\n if (this.selectSubOpp.Filter != \"AIAAData\" && this.selectSubOpp.Filter != \"ManualData\") {\n annualeffort = $('#inpeffortspentprocess').val();\n }\n else {\n annualeffort = $('#inpeffortspent').text();\n }\n var automatable = $('#inprange_' + uniqueid).val();\n var totaleff = $(\"#chkprobid_\" + SubProblemStatementId).is(':checked');\n var effortreduction = $('#inpeffortred_' + uniqueid).val() != undefined ? $('#inpeffortred_' + uniqueid).val() : $('#lbleffortred_' + uniqueid).text().trim();\n var calsavedeffort = ((automatable) * (annualeffort)) / 100;\n var SavedEfforts = (((effortreduction) * calsavedeffort) / 100);\n SavedEfforts = +this.round2Fixed(SavedEfforts);\n if (this.IsSubDynamicBulkUpload == true) {\n if (automatable == '' || effortreduction == '' || totaleff == false) {\n SavedEfforts = +this.round2Fixed($('#inpeffsaving_' + uniqueid).val() != undefined ? $('#inpeffsaving_' + uniqueid).val() : $('#lbleffsaving_' + uniqueid).text().trim());\n }\n }\n\n var SavedEffortsperct = 0;\n if (annualeffort == 0.00) {\n if (this.IsSubDynamicBulkUpload == true) {\n SavedEffortsperct = ((SavedEfforts / annualeffort) * 100);\n if (isNaN(SavedEffortsperct))\n SavedEffortsperct = 0;\n if (SavedEffortsperct > 100)\n SavedEffortsperct = 100;\n else\n SavedEffortsperct = +SavedEffortsperct.toFixed(2);\n } else\n SavedEffortsperct = +(0).toFixed(2);\n }\n else {\n SavedEffortsperct = ((SavedEfforts / annualeffort) * 100);\n if (SavedEffortsperct > 100)\n SavedEffortsperct = 100;\n else\n SavedEffortsperct = +SavedEffortsperct.toFixed(2);\n }\n\n var OverallSaving = 0;\n if (this.ToatlEffortSpentAtPrbLevel == 0.00 || this.ToatlEffortSpentAtPrbLevel == 0) {\n OverallSaving = +(0).toFixed(2);\n }\n else {\n OverallSaving = ((SavedEfforts / this.ToatlEffortSpentAtPrbLevel) * 100);\n OverallSaving = +this.round2Fixed(OverallSaving);\n }\n\n $.each(resp, function (aut_key, autvalue) {\n if (autvalue != null) {\n if (autvalue.UniqueId == uniqueid) {\n autvalue.Efforts.SavedEfforts = SavedEfforts;\n autvalue.Efforts.SavedEffortsperct = SavedEffortsperct;\n autvalue.Efforts.OverallSaving = OverallSaving;\n }\n }\n });\n }\n\n\n\n AutoCostSavingCalOnEffortSav = function (uniqid, SubProblemStatementId) {\n let obj = this;\n $.each(obj.CategoryTechResponse, function (key, value) {\n if (value != null) {\n if (value.UniqueId == uniqid) {\n if ($(\"#chkcph_\" + SubProblemStatementId).is(':checked') && obj.IsSubDynamicBulkUpload == true || obj.IsSubDynamicBulkUpload == undefined) {\n value.Efforts.costsavings = obj.round2Fixed($('#inpeffsaving_' + uniqid).val() * $('#inpcostperhrprocess').val());\n value.Efforts.SavedEffortsperct = ((obj.round2Fixed($('#inpeffsaving_' + uniqid).val()) / obj.round2Fixed($('#inpeffortspentprocess').val())) * 100).toFixed(2);\n if (value.Efforts.SavedEffortsperct > 100)\n value.Efforts.SavedEffortsperct = 100;\n if (isNaN(value.Efforts.SavedEffortsperct))\n value.Efforts.SavedEffortsperct = 0;\n }\n else\n if (!$(\"#chkcph_\" + SubProblemStatementId).is(':checked') && obj.IsSubDynamicBulkUpload == true) {\n value.Efforts.SavedEffortsperct = ((obj.round2Fixed($('#inpeffsaving_' + uniqid).val()) / obj.round2Fixed($('#inpeffortspentprocess').val())) * 100).toFixed(2);\n if (value.Efforts.SavedEffortsperct > 100)\n value.Efforts.SavedEffortsperct = 100;\n if (isNaN(value.Efforts.SavedEffortsperct))\n value.Efforts.SavedEffortsperct = 0;\n }\n }\n }\n });\n }\n\n\n OnClickOfSavingEdit = function (uniqueid) {\n var rsp = this.dataService.BluePrintData;\n $(\"#tr_\" + uniqueid).addClass('active-row');\n $(\"#lblrange_\" + uniqueid).addClass('hide');\n $(\"#lbleffortred_\" + uniqueid).addClass('hide');\n this.ClickedUniqueId2 = uniqueid;\n\n\n var resp = this.CategoryTechResponse;\n $.each(resp, function (aut_key, autvalue) {\n if (autvalue != null) {\n if (autvalue.UniqueId != uniqueid) {\n $(\"#tr_\" + autvalue.UniqueId).removeClass('active-row');\n $(\"#lblrange_\" + autvalue.UniqueId).removeClass('hide');\n $(\"#lbleffortred_\" + autvalue.UniqueId).removeClass('hide');\n var aa = $(\"#inprange_\" + autvalue.UniqueId).val();\n $(\"#lblrange_\" + autvalue.UniqueId).text(aa);\n var bb = $(\"#inpeffortred_\" + autvalue.UniqueId).val();\n $(\"#lbleffortred_\" + autvalue.UniqueId).text(bb);\n\n }\n else {\n // if (this.IsDynamicBulkUpload == true) {\n // this.ClickedUniqueId = autvalue.UniqueId;\n // this.editableeffortsaving = false;\n // //var AnnualEffort = $scope.totaleffortassetvalue; \n // //var CostPerHour = $scope.costperhrassetvalue;\n // var autoeffortreduc = autvalue.EffortSaving;\n // var SubProblemStatementId = this.selectedSubOpp.ID;\n // var AnnualEffort = $(\"#inpeffortspentprocess\").val();\n // var CostPerHour = $(\"#inpcostperhrprocess\").val();\n // autoeffortreduc.EffortSavingLWRange = $('#inprange_' + uniqueid).val();\n // autoeffortreduc.EffortReduction = $('#inpeffortred_' + uniqueid).val();\n\n // if (AnnualEffort != 0.00 && $(\"#chkprobid_\" + SubProblemStatementId).is(':checked')) {\n // $('#chkprobid_' + SubProblemStatementId).prop('checked', true);\n // $scope.donutpercent = false;\n // $scope.donutpercentcost = false;\n // $('#inpeffortspentprocess').attr('readonly', false);\n // }\n // else {\n // $('#chkprobid_' + SubProblemStatementId).prop('checked', false);\n // $scope.donutpercent = true;\n // $scope.donutpercentcost = true;\n // $('#inpeffortspentprocess').attr('readonly', true);\n // }\n // if (CostPerHour != 0.00 && $scope.cphtoggle) {\n // $scope.donutpercentcost = false;\n // $('#chkcph_' + SubProblemStatementId).prop('checked', true);\n // $('#inpcostperhrprocess').attr('readonly', false);\n // }\n // else if (CostPerHour == 0.00) {\n // $scope.donutpercentcost = true;\n // $scope.editablecostsaving = true;\n // $('#inpcostperhrprocess').attr('readonly', true);\n // $('#chkcph_' + SubProblemStatementId).prop('checked', false);\n // }\n // if (AnnualEffort == 0.00 || autoeffortreduc == null || $(\"#chkprobid_\" + SubProblemStatementId).is(':checked') == false) {\n // $scope.editableeffortsaving = true;\n // //$('#inpeffsaving_' + uniqueid).attr('readonly', true);\n // }\n // else if (autoeffortreduc != null) {\n // if (autoeffortreduc.EffortSavingLWRange == '' && autoeffortreduc.EffortReduction != '') {\n // $scope.editableeffortsaving = true;\n // }\n // else if (autoeffortreduc.EffortSavingLWRange != '' && autoeffortreduc.EffortReduction == '') {\n // $scope.editableeffortsaving = true;\n // }\n // }\n // if (autoeffortreduc != null) {\n // if (autoeffortreduc.EffortSavingLWRange == 0 && autoeffortreduc.EffortSavingLWRange != \"\") {\n // autoeffortreduc.EffortSavingLWRange = \"0\";\n // }\n // if (autoeffortreduc.EffortReduction == 0 && autoeffortreduc.EffortReduction != \"\") {\n // autoeffortreduc.EffortReduction = \"0\";\n // }\n // if (autoeffortreduc.EffortSavingLWRange != '' && autoeffortreduc.EffortReduction != '') {\n // if ((autoeffortreduc.EffortSavingLWRange != null && autoeffortreduc.EffortReduction == null)) {\n // $('#chkauto_' + SubProblemStatementId).prop('checked', true);\n // $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n // $scope.readonlyautomate = false;\n // $scope.readonlyreduction = true;\n // }\n // else if (autoeffortreduc.EffortSavingLWRange == null && (autoeffortreduc.EffortReduction != null)) {\n // $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n // $('#chkereduc_' + SubProblemStatementId).prop('checked', true);\n // $scope.readonlyautomate = true;\n // $scope.readonlyreduction = false;\n // }\n // else if (autoeffortreduc.EffortSavingLWRange == null && (autoeffortreduc.EffortReduction == null)) {\n // $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n // $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n // $scope.readonlyautomate = true;\n // $scope.readonlyreduction = true;\n // }\n // else {\n // $('#chkauto_' + SubProblemStatementId).prop('checked', true);\n // $('#chkereduc_' + SubProblemStatementId).prop('checked', true);\n // $scope.readonlyautomate = false;\n // $scope.readonlyreduction = false;\n // }\n // }\n // else if ((autoeffortreduc.EffortSavingLWRange != null && autoeffortreduc.EffortSavingLWRange != '') && autoeffortreduc.EffortReduction == '') {\n // $scope.editableeffortsaving = true;\n // $('#chkauto_' + SubProblemStatementId).prop('checked', true);\n // $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n // $scope.readonlyautomate = false;\n // $scope.readonlyreduction = true;\n // }\n // else if (autoeffortreduc.EffortSavingLWRange == '' && (autoeffortreduc.EffortReduction != '' && autoeffortreduc.EffortReduction != null)) {\n // $scope.editableeffortsaving = true;\n // $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n // $('#chkereduc_' + SubProblemStatementId).prop('checked', true);\n // $scope.readonlyautomate = true;\n // $scope.readonlyreduction = false;\n // }\n // else {\n // $scope.editableeffortsaving = true;\n // $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n // $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n // $scope.readonlyautomate = true;\n // $scope.readonlyreduction = true;\n // }\n // }\n // else {\n // $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n // $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n // $scope.readonlyautomate = true;\n // $scope.readonlyreduction = true;\n // }\n // }\n }\n }\n });\n }\n\n OnClickOfSavingsSave(e) {\n if (this.dateValidationFail == false) {\n this.enableEdit = false;\n var CostPerHour = 0;\n var annualeffort = 0;\n var ART = 0;\n var Duration = 0;\n var TicketCount = 0;\n var ExpectedFteReduction = 0;\n let obj = this;\n if (obj.ActiveFilter != \"AIAAData\" && obj.ActiveFilter != \"ManualData\") {\n annualeffort = $('#inpeffortspentprocess').val();\n if (annualeffort == +\"\") {\n annualeffort = +(0).toFixed(2);\n }\n CostPerHour = $('#inpcostperhrprocess').val();\n ExpectedFteReduction = $('#inpexpectedftereduction').val();\n }\n else {\n CostPerHour = $(\"#inpcostperhr\").val();\n ART = $(\"#inpavgresolution\").val();\n TicketCount = $(\"#inpticketcount\").text();\n ExpectedFteReduction = $('#inpftered').val();\n }\n if (obj.ActiveFilter == \"AIAAData\") {\n Duration = $('#inpduration').val();\n }\n if (obj.ActiveFilter == \"ManualData\") {\n TicketCount = $('#inpticketcounttxt').val();\n }\n\n\n var resp = obj.dataService.BlueprintData;\n var AppName = obj.ActiveAppName;\n var Type = obj.ActiveType;\n var DataSourceId = obj.ActiveDataSourceId;\n this.BluePrintData.LastModifiedDate = new Date();\n\n var ProblemStatement = [];\n $.each(resp.ProblemStatement, function (aut_prb, prbvalue) {\n var SubProblemStatement = [];\n if (prbvalue != null) {\n $.each(prbvalue.SubProblemStatement, function (aut_subprb, subprbvalue) {\n if (subprbvalue != null) {\n if (subprbvalue.AppName == AppName && subprbvalue.Type == Type && subprbvalue.DataSourceId == DataSourceId && subprbvalue.ID == obj.AutomateSubProblemStatementId) {\n //calculate previous effort saved before saving the scope\n var Effort = 0;\n var SavedEffortsOld = 0;\n if (obj.ActiveFilter == \"AIAAData\" || obj.ActiveFilter == \"ManualData\") {\n Effort = (subprbvalue.TicketCount * (subprbvalue.AverageResolutionTime));\n Effort = +obj.round2Fixed(Effort);\n }\n else {\n Effort = subprbvalue.EffortSpent;\n }\n //End\n\n subprbvalue.AverageResolutionTime = ART;\n if (subprbvalue.AverageResolutionTime == \"\") {\n subprbvalue.AverageResolutionTime = 0;\n }\n subprbvalue.AverageResolutionTime = (parseFloat(subprbvalue.AverageResolutionTime));\n subprbvalue.AverageResolutionTime = obj.round2Fixed(subprbvalue.AverageResolutionTime);\n subprbvalue.CostPerHour = CostPerHour;\n if (subprbvalue.CostPerHour == \"\") {\n subprbvalue.CostPerHour = 0;\n }\n subprbvalue.CostPerHour = (parseFloat(subprbvalue.CostPerHour));\n subprbvalue.CostPerHour = obj.round2Fixed(subprbvalue.CostPerHour);\n subprbvalue.ExpectedFteReduction = ExpectedFteReduction;\n if (obj.ActiveFilter == \"AIAAData\" || obj.ActiveFilter == \"ManualData\") {\n if (TicketCount == +\"\" || TicketCount == null || TicketCount == 0) {\n TicketCount = subprbvalue.TicketCount;\n }\n subprbvalue.TicketCount = parseInt(TicketCount.toString());\n annualeffort = (subprbvalue.TicketCount * (subprbvalue.AverageResolutionTime));\n annualeffort = +obj.round2Fixed(annualeffort);\n if (Duration == +\"\" || Duration == null || Duration == 0) {\n Duration = subprbvalue.Duration;\n }\n subprbvalue.Duration = Duration;\n }\n subprbvalue.EffortSpent = annualeffort;\n subprbvalue.CostIncurred = (annualeffort * subprbvalue.CostPerHour);//.toFixed(2);\n //subprbvalue.CostIncurred = Number(subprbvalue.CostIncurred.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n subprbvalue.CostIncurred = obj.round2Fixed(subprbvalue.CostIncurred);\n\n var TechniqueAsset = [];\n var TotalSavedEfforts = 0;\n var TotalCostSaving = 0;\n $.each(subprbvalue.TechniqueAsset, function (aut, assetvalue) {\n if (assetvalue != null && assetvalue.EffortSaving != null) {\n // adding null condition for EffortSaving as it's value is coming null - atish gandhi\n if (assetvalue.IsDeleted == false) {\n assetvalue.IsAccepted = true;\n\n var calsavedeffortold = ((assetvalue.EffortSaving != undefined && assetvalue.EffortSaving.EffortSavingLWRange != undefined ? assetvalue.EffortSaving.EffortSavingLWRange : 0) * Effort) / 100;\n\n SavedEffortsOld = (((assetvalue.EffortSaving != undefined && assetvalue.EffortSaving.EffortReduction != undefined ? assetvalue.EffortSaving.EffortReduction : 0) * calsavedeffortold) / 100);\n\n //.toFixed(2);\n //SavedEffortsOld = Number(SavedEffortsOld.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n SavedEffortsOld = +obj.round2Fixed(SavedEffortsOld);\n if (obj.IsSubDynamicBulkUpload == true) {\n if ($(\"#inprange_\" + assetvalue.UniqueId).val() == \"\") {\n assetvalue.EffortSaving.EffortSavingLWRange = null;\n }\n else {\n assetvalue.EffortSaving.EffortSavingLWRange = parseInt($(\"#inprange_\" + assetvalue.UniqueId).val() != undefined ? $('#inprange_' + assetvalue.UniqueId).val() :\n $('#lblrange_' + assetvalue.UniqueId).text() == \"\" || $('#lblrange_' + assetvalue.UniqueId).text().trim() == \"NaN\" ? 0 : $('#lblrange_' + assetvalue.UniqueId).val());\n }\n if ($(\"#inpeffortred_\" + assetvalue.UniqueId).val() == \"\") {\n assetvalue.EffortSaving.EffortReduction = null;\n }\n else {\n assetvalue.EffortSaving.EffortReduction = parseInt($(\"#inpeffortred_\" + assetvalue.UniqueId).val() != undefined ? $('#inpeffortred_' + assetvalue.UniqueId).val() :\n $('#lbleffortred_' + assetvalue.UniqueId).text() == \"\" || $('#lbleffortred_' + assetvalue.UniqueId).text().trim() == \"NaN\" ? 0 : $('#lbleffortred_' + assetvalue.UniqueId).val());\n }\n }\n else {\n\n if ($(\"#inprange_\" + assetvalue.UniqueId) != undefined && $(\"#inprange_\" + assetvalue.UniqueId).val() == \"\") {\n $(\"#inprange_\" + assetvalue.UniqueId).val(0);\n }\n else if ($(\"#lblrange_\" + assetvalue.UniqueId) != undefined && $(\"#lblrange_\" + assetvalue.UniqueId).text().trim() == \"\") {\n $(\"#lblrange_\" + assetvalue.UniqueId).text(0);\n }\n\n assetvalue.EffortSaving.EffortSavingLWRange = parseInt($(\"#inprange_\" + assetvalue.UniqueId).val() != undefined ? $('#inprange_' + assetvalue.UniqueId).val() :\n $('#lblrange_' + assetvalue.UniqueId).text() == \"\" || $('#lblrange_' + assetvalue.UniqueId).text().trim() == \"NaN\" ? 0 : $('#lblrange_' + assetvalue.UniqueId).text().trim());\n\n if (assetvalue.EffortSaving.EffortSavingLWRange == \"\" || assetvalue.EffortSaving.EffortSavingLWRange == \"00\" || assetvalue.EffortSaving.EffortSavingLWRange == \"000\") {\n assetvalue.EffortSaving.EffortSavingLWRange = 0;\n }\n if ($(\"#inpeffortred_\" + assetvalue.UniqueId) != undefined && $(\"#inpeffortred_\" + assetvalue.UniqueId).val() == \"\") {\n $(\"#inpeffortred_\" + assetvalue.UniqueId).val(0);\n }\n else if ($(\"#lbleffortred_\" + assetvalue.UniqueId) != undefined && $(\"#lblrange_\" + assetvalue.UniqueId).text().trim() == \"\") {\n $(\"#lbleffortred_\" + assetvalue.UniqueId).text(0);\n }\n\n assetvalue.EffortSaving.EffortReduction = parseInt($(\"#inpeffortred_\" + assetvalue.UniqueId).val() != undefined ? $('#inpeffortred_' + assetvalue.UniqueId).val() :\n $('#lbleffortred_' + assetvalue.UniqueId).text() == \"\" || $('#lbleffortred_' + assetvalue.UniqueId).text().trim() == \"NaN\" ? 0 : $('#lbleffortred_' + assetvalue.UniqueId).text().trim());\n\n if (assetvalue.EffortSaving.EffortReduction == \"\" || assetvalue.EffortSaving.EffortReduction == \"00\" || assetvalue.EffortSaving.EffortReduction == \"000\") {\n assetvalue.EffortSaving.EffortReduction = 0;\n }\n }\n //Calculate Saving at Asset level\n\n if (obj.IsSubDynamicBulkUpload == true) {\n assetvalue.EffortSaving.EffortSavingsHrs = $('#inpeffsaving_' + assetvalue.UniqueId).val() != undefined ? $('#inpeffsaving_' + assetvalue.UniqueId).val() : $('#lbleffsaving_' + assetvalue.UniqueId).text().trim();\n assetvalue.EffortSaving.CostSavingsHrs = $('#inpcostsaving_' + assetvalue.UniqueId).val() != undefined ? $('#inpcostsaving_' + assetvalue.UniqueId).val() : $('#lblcostsaving_' + assetvalue.UniqueId).text().trim();\n TotalSavedEfforts = parseFloat(TotalSavedEfforts.toString()) + parseFloat(assetvalue.EffortSaving.EffortSavingsHrs);\n TotalCostSaving = parseFloat(TotalCostSaving.toString()) + parseFloat(assetvalue.EffortSaving.CostSavingsHrs);\n assetvalue.EffortSaving.EffortSavingValue = TotalCostSaving;\n\n }\n else {\n var calsavedeffort = ((assetvalue.EffortSaving != undefined && assetvalue.EffortSaving.EffortSavingLWRange != undefined ? assetvalue.EffortSaving.EffortSavingLWRange : 0) * annualeffort) / 100;\n var SavedEfforts = ((assetvalue.EffortSaving != undefined && assetvalue.EffortSaving.EffortReduction != undefined ? assetvalue.EffortSaving.EffortReduction : 0) * calsavedeffort / 100);\n\n SavedEfforts = +obj.round2Fixed(SavedEfforts);\n var CostPerHour = subprbvalue.CostPerHour;\n var EffortSavings = +(SavedEfforts * CostPerHour);\n EffortSavings = +obj.round2Fixed(EffortSavings);\n assetvalue.EffortSaving.EffortSavingValue = EffortSavings;\n\n //End\n TotalSavedEfforts = parseFloat(TotalSavedEfforts.toString()) + parseFloat(SavedEfforts.toString());\n TotalCostSaving = parseFloat(TotalCostSaving.toString()) + parseFloat(EffortSavings.toString());\n }\n\n\n\n if (obj.IsSubDynamicBulkUpload == true && assetvalue.UniqueId == obj.ClickedUniqueId) {\n var inpcostperhr = $(\"#chkcph_\" + subprbvalue.ID).is(':checked');\n var totaleffort = $(\"#chkprobid_\" + subprbvalue.ID).is(':checked');\n if (!$(\"#chkauto_\" + subprbvalue.ID).is(':checked')) {\n assetvalue.EffortSaving.EffortSavingLWRange = null;\n }\n if (!$(\"#chkereduc_\" + subprbvalue.ID).is(':checked')) {\n assetvalue.EffortSaving.EffortReduction = null;\n }\n }\n //Story -#262178\n assetvalue.assetStartDate = $(\"#inpassetstartdate_\" + assetvalue.UniqueId + \"_input\").val() != undefined ? $('#inpassetstartdate_' + assetvalue.UniqueId + \"_input\").val() : $('#lblassetstartdate_' + assetvalue.UniqueId).text().trim();\n assetvalue.assetEndDate = $(\"#inpassetenddate_\" + assetvalue.UniqueId + \"_input\").val() != undefined ? $('#inpassetenddate_' + assetvalue.UniqueId + \"_input\").val() : $('#lblassetenddate_' + assetvalue.UniqueId).text().trim();\n assetvalue.assetImplementationCost = $(\"#inpassetcost_\" + assetvalue.UniqueId).val() != undefined ? $('#inpassetcost_' + assetvalue.UniqueId).val() : $('#lblassetcost_' + assetvalue.UniqueId).text().trim();\n var EffortSaving = [];\n EffortSaving = [{\n EffortSavingLWRange: assetvalue.EffortSaving.EffortSavingLWRange,\n EffortReduction: assetvalue.EffortSaving.EffortReduction,\n EffortSavingValue: assetvalue.EffortSaving.EffortSavingValue,\n CostSavingsHrs: assetvalue.EffortSaving.CostSavingsHrs,\n EffortSavingsHrs: assetvalue.EffortSaving.EffortSavingsHrs\n }]\n\n TechniqueAsset.push({\n UniqueId: assetvalue.UniqueId,\n EffortSaving: EffortSaving[0],\n assetStartDate: assetvalue.assetStartDate,\n assetEndDate: assetvalue.assetEndDate,\n assetImplementationCost: +assetvalue.assetImplementationCost,\n IsAccepted: assetvalue.IsAccepted\n })\n }\n }\n });\n\n\n subprbvalue.EffortSaving = obj.round2Fixed(TotalSavedEfforts);\n subprbvalue.CostSaving = obj.round2Fixed(TotalCostSaving);\n\n SubProblemStatement.push({\n ID: obj.AutomateSubProblemStatementId,\n AppName: AppName,\n Type: Type,\n DataSourceId: DataSourceId,\n Filter: obj.ActiveFilter,\n AverageResolutionTime: subprbvalue.AverageResolutionTime,\n CostPerHour: subprbvalue.CostPerHour,\n ExpectedFteReduction: subprbvalue.ExpectedFteReduction,\n TicketCount: subprbvalue.TicketCount,\n Duration: subprbvalue.Duration,\n EffortSpent: subprbvalue.EffortSpent,\n TechniqueAsset: TechniqueAsset\n })\n }\n }\n });\n ProblemStatement.push({\n ID: obj.AutomateProblemStatementId,\n SubProblemStatement: SubProblemStatement\n })\n }\n });\n\n //Update Parent Effort Spent, Parent Cost, Parent TicketCount incurred for Parent Category\n $.each(resp.ProblemStatement, function (aut_prb, prbvalue1) {\n if (prbvalue1 != null) {\n if (prbvalue1.ID == this.AutomateProblemStatementId) {\n var EffortSpentAtPrblevel = 0;\n var CostIncurredAtPrbLevel = 0;\n var TicketCountAtPrbLevel = 0;\n var EffortSavingAtPrbLevel = 0;\n var CostSavingAtPrbLevel = 0;\n $.each(prbvalue1.SubProblemStatement, function (aut_subprb, subprbvalue1) {\n if (subprbvalue1 != null) {\n EffortSpentAtPrblevel = parseFloat(EffortSpentAtPrblevel.toString()) + parseFloat(subprbvalue1.EffortSpent);\n CostIncurredAtPrbLevel = parseFloat(CostIncurredAtPrbLevel.toString()) + parseFloat(subprbvalue1.CostIncurred);\n TicketCountAtPrbLevel = parseInt(TicketCountAtPrbLevel.toString()) + parseInt(subprbvalue1.TicketCount);\n EffortSavingAtPrbLevel = parseFloat(EffortSavingAtPrbLevel.toString()) + parseFloat(subprbvalue1.EffortSaving);\n CostSavingAtPrbLevel = parseFloat(CostSavingAtPrbLevel.toString()) + parseFloat(subprbvalue1.CostSaving);\n }\n });\n //prbvalue1.EffortSpent = Number(EffortSpentAtPrblevel.toString().match(/^\\d+(?:\\.\\d{0,2})?/));//EffortSpentAtPrblevel.toFixed(2);//EffortSpentAtPrblevel.toFixed(2);\n prbvalue1.EffortSpent = obj.round2Fixed(EffortSpentAtPrblevel);\n //prbvalue1.CostIncurred = Number(CostIncurredAtPrbLevel.toString().match(/^\\d+(?:\\.\\d{0,2})?/)); //CostIncurredAtPrbLevel.toFixed(2);\n prbvalue1.CostIncurred = obj.round2Fixed(CostIncurredAtPrbLevel);\n prbvalue1.TicketCount = TicketCountAtPrbLevel;\n //prbvalue1.EffortSaving = Number(EffortSavingAtPrbLevel.toString().match(/^\\d+(?:\\.\\d{0,2})?/)); //EffortSavingAtPrbLevel.toFixed(2);\n prbvalue1.EffortSaving = obj.round2Fixed(EffortSavingAtPrbLevel);\n //prbvalue1.CostSaving = Number(CostSavingAtPrbLevel.toString().match(/^\\d+(?:\\.\\d{0,2})?/)); //CostSavingAtPrbLevel.toFixed(2);\n prbvalue1.CostSaving = obj.round2Fixed(CostSavingAtPrbLevel);\n }\n }\n });\n //End\n\n\n var details = {\n };\n details = {\n ID: obj.dataService.bluePrintIDFromAJ != undefined ? obj.dataService.bluePrintIDFromAJ : obj.dataService.BlueprintId,\n ProblemStatement: ProblemStatement,\n UserType: obj.UserDetails.UserType //obj.dataService.UserDetails.UserType\n }\n this.BluePrintData;\n this.apwebservice.SaveBlueprintEffortSavingResponse(details).subscribe(data => {\n this.dataService.BlueprintData.LastModifiedDate = data;\n // $(\"#myModalEffortSave\").hide();\n document.body.style.overflow = \"\";\n\n // defect https://dev.azure.com/accenturecio08/AutomationProcess_29697/_workitems/edit/1409994\n let lastSavedValues = {\n 'EffortSavingChart': obj.EffortSavingChart,\n 'EffortSaved': obj.EffortSaved,\n 'CostSavingChart': obj.CostSavingChart,\n 'CostSaved': obj.CostSaved\n }\n localStorage.setItem('lastSavedValues', JSON.stringify(lastSavedValues));\n\n this.cancel();\n obj.apwebservice.showSuccessMessage(\"Saved Successfully\");\n //$(\"#successMsg\").html(\"Saved Successfully\");\n // $('#myModalSuccess').show();\n this.CalculateAutomatable();\n this.dataService.redirected = true;\n if (e.target.id != \"saveBtn\") {\n if (localStorage.getItem('lastSavedValues') != undefined)\n localStorage.removeItem('lastSavedValues');\n this.apwebservice.RedirectToHome();\n }\n }, error => {\n console.log(error);\n });\n }\n else {\n alert('Asset start date cannot be greater than end date');\n }\n }\n\n\n\n ValidateAutomatableForSavings(techniqueid, uniqueid) {\n var effortSavingLWRange = $('#inprange_' + uniqueid).val();\n this.CalculateAutomatableForSavings(techniqueid, uniqueid);\n effortSavingLWRange = $('#inprange_' + uniqueid).val();\n this.CalculateEfforts(uniqueid);\n this.CalculateEffortSavingChartDataOnEdit(false);\n }\n\n CalculateAutomatableForSavings(techniqueid, uniqueid) {\n var resp = this.dataService.BlueprintData;\n var prbautomate = false;\n let obj = this;\n $.each(resp.ProblemStatement, function (main_key, ps) {\n if (ps != null) {\n $.each(ps.SubProblemStatement, function (sub_key, sp) {\n if (sp != null) {\n $.each(sp.TechniqueAsset, function (sub_key, ts) {\n if (ts != null) {\n if (ts.UniqueId == uniqueid) {\n prbautomate = obj.CalculateAutomatableForSavingsAtSubPrbLevel(prbautomate, ps, sp, techniqueid, uniqueid);\n }\n if (prbautomate == true) {\n return false;\n }\n }\n });\n }\n });\n if (prbautomate == true) {\n return false;\n }\n }\n });\n }\n\n CalculateAutomatableForSavingsAtSubPrbLevel(prbautomate, ps, sp, techniqueid, uniqueid) {\n var effortSavingLWRange = $('#inprange_' + uniqueid).val();\n if (effortSavingLWRange == \"\") {\n effortSavingLWRange = 0;\n }\n var Automate = 0;\n var Automate2 = 0;\n var savingsAutomatable = 0;\n var technique1 = $.grep(sp.TechniqueAsset, function (element, index) {\n return (element.TechniqueID == 23 || element.TechniqueID == 25 || element.TechniqueID == 32);\n });\n $.each(technique1, function (aut_key, asset) {\n if (asset != null) {\n if (asset.IsDeleted == false) {\n if (asset.UniqueId == uniqueid) {\n if (asset.EffortSaving == null)\n this.originalAutomatable = 0;\n else\n this.originalAutomatable = asset.EffortSaving.EffortSavingLWRange;\n }\n savingsAutomatable = $('#inprange_' + asset.UniqueId).val() != undefined ? $('#inprange_' + asset.UniqueId).val() : $('#lblrange_' + asset.UniqueId).val();\n if (savingsAutomatable == +\"\")\n savingsAutomatable = 0;\n\n Automate = parseInt(savingsAutomatable.toString()) + parseInt(Automate.toString());\n }\n }\n });\n\n var technique = $.grep(sp.TechniqueAsset, function (element, index) {\n if (element != null)\n return (element.TechniqueID != 23 && element.TechniqueID != 25 && element.TechniqueID != 32 && element.IsDeleted == false);\n });\n\n var newArray = {\n };\n technique.forEach(function (val) {\n var curr = newArray[val.TechniqueID]\n if (!curr) {\n newArray[val.TechniqueID] = [];\n }\n newArray[val.TechniqueID].push(val);\n });\n technique.length = 0;\n for (var key in newArray) {\n technique.push({\n ID: key,\n Asset: newArray[key]\n });\n }\n\n var message = \"Elimination techniques put together cannot exceed 100%. Incident life cycle automation techniques can be planned on the tickets not considered for elimination {i.e. individually can be planned for 100 - sum(% automate for incident elimination techniques)% }. Please revisit.\";\n var IsM = false;\n $.each(technique, function (aut_key, tech) {\n if (tech != null) {\n var Automate1 = 0;\n $.each(tech.Asset, function (asset_key, asset) {\n if (asset != null) {\n if (tech.ID != \"null\") {\n if (asset.UniqueId == uniqueid) {\n if (asset.EffortSaving == null) {\n this.originalAutomatable = 0;\n }\n else {\n this.originalAutomatable = asset.EffortSaving.EffortSavingLWRange;\n }\n }\n // savingsAutomatable = $('#inprange_' + asset.UniqueId).val();\n savingsAutomatable = $('#inprange_' + asset.UniqueId).val() != undefined ? $('#inprange_' + asset.UniqueId).val() : $('#lblrange_' + asset.UniqueId).val();\n if (savingsAutomatable == +\"\") {\n savingsAutomatable = 0;\n }\n\n Automate1 = parseInt(savingsAutomatable.toString()) + parseInt(Automate1.toString());\n }\n else {\n var Automate2 = 0;\n if (asset.UniqueId == uniqueid) {\n if (asset.EffortSaving == null) {\n this.originalAutomatable = 0;\n }\n else {\n this.originalAutomatable = asset.EffortSaving.EffortSavingLWRange;\n }\n }\n //savingsAutomatable = $('#inprange_' + asset.UniqueId).val();\n savingsAutomatable = $('#inprange_' + asset.UniqueId).val() != undefined ? $('#inprange_' + asset.UniqueId).val() : +$('#lblrange_' + asset.UniqueId).text().trim();\n if (savingsAutomatable == +\"\") {\n savingsAutomatable = 0;\n }\n Automate2 = parseInt(savingsAutomatable.toString()) + parseInt(Automate2.toString());\n var difference1 = 100 - Automate;\n if (Automate2 > difference1) {\n if (techniqueid != 23 && techniqueid != 25 && techniqueid != 32) {\n alert(message);\n $('#inprange_' + uniqueid).val(0);\n effortSavingLWRange = $('#inprange_' + uniqueid).val();\n }\n }\n }\n }\n });\n //\n if (tech.ID != \"null\") {\n var difference = 100 - Automate;\n if (Automate1 > difference) {\n if (techniqueid != 23 && techniqueid != 25 && techniqueid != 32) {\n alert(message);\n $('#inprange_' + uniqueid).val(0);\n effortSavingLWRange = $('#inprange_' + uniqueid).val();\n }\n else {\n IsM = true;\n }\n }\n }\n }\n });\n\n if (IsM) {\n alert(message);\n prbautomate = true;\n $('#inprange_' + uniqueid).val(0);\n effortSavingLWRange = $('#inprange_' + uniqueid).val();\n }\n else {\n if (Automate > 100) {\n alert(message);\n prbautomate = true;\n $('#inprange_' + uniqueid).val(0);\n effortSavingLWRange = $('#inprange_' + uniqueid).val();\n }\n }\n return prbautomate;\n }\n\n AutoCostSavingCalculation(uniqid, SubProblemStatementId) {\n let obj = this;\n var totalEffortFlag = $(\"#chkprobid_\" + SubProblemStatementId).is(':checked');\n var automateFlag = $(\"#chkauto_\" + SubProblemStatementId).is(':checked');\n var effortreducFlag = $(\"#chkereduc_\" + SubProblemStatementId).is(':checked');\n obj.totalefforttoggle = totalEffortFlag;\n obj.cphtoggle = $(\"#chkcph_\" + SubProblemStatementId).is(':checked');\n if (obj.IsSubDynamicBulkUpload == true) {\n $.each(obj.CategoryTechResponse, function (key, value) {\n if (value != null) {\n if (value.UniqueId == uniqid) {\n //value.Efforts.costsavings = round2Fixed(value.Efforts.SavedEfforts * $('#inpcostperhrprocess').val());\n if ($(\"#chkcph_\" + SubProblemStatementId).is(':checked')) {\n value.Efforts.costsavings = obj.round2Fixed(value.Efforts.SavedEfforts * $('#inpcostperhrprocess').val());\n }\n else\n\n if ($('#inpcostsaving_' + value.UniqueId).val() == undefined) {\n value.Efforts.costsavings = \"0.00\"\n }\n else {\n value.Efforts.costsavings = obj.round2Fixed($('#inpcostsaving_' + value.UniqueId).val());\n }\n }\n else {\n if ($(\"#chkcph_\" + SubProblemStatementId).is(':checked')) {\n value.Efforts.costsavings = obj.round2Fixed(value.Efforts.SavedEfforts * $('#inpcostperhrprocess').val());\n }\n else\n value.Efforts.costsavings = obj.round2Fixed($('#inpcostsaving_' + value.UniqueId).val());\n }\n\n }\n });\n }\n\n }\n\n ConfirmEdit(event) {\n if (this.copyModel == null) {\n bootbox.confirm(\"Do you want to over-ride the average cycle hours?\", function (result) {\n\n });\n $('#inpavgresolution').blur();\n }\n }\n\n ConfirmEditing(event) {\n var AnnualTicket = 0;\n // if (this.copyModel == null) {\n // bootbox.confirm(\"Do you want to over-ride the average cycle hours?\", function(result){ \n\n // });\n // $('#inpavgresolution').blur();\n // }\n this.copyModel = this.AverageResolutionTime;\n if (this.ActiveFilter == 'AIAAData') {\n AnnualTicket = $(\"#inpticketcount\").text();\n }\n else if (this.ActiveFilter == 'ManualData') {\n AnnualTicket = $(\"#inpticketcounttxt\").val();\n }\n\n var ART = $(\"#inpavgresolution\").val();\n var AnnualEffort = (AnnualTicket * ART);\n //$(\"#inpeffortspent\").text(AnnualEffort.toFixed(2));\n //$(\"#inpeffortspent\").text(Number(AnnualEffort.toString().match(/^\\d+(?:\\.\\d{0,2})?/)))\n $(\"#inpeffortspent\").text(this.round2Fixed(AnnualEffort));\n\n this.GetToatalEffortAtDeepdiveLevel();\n this.CostIncurredCalculation();\n this.CalculateEffortsOnChangeOfART();\n this.CalculateEffortSavingChartDataOnEdit(false);\n }\n\n CalculateEffortsOnChangeOfART() {\n let obj = this;\n\n var resp = obj.CategoryTechResponse;\n var annualeffort = 0;\n if (this.ActiveFilter != \"AIAAData\" && this.ActiveFilter != \"ManualData\") {\n annualeffort = $('#inpeffortspentprocess').val();\n }\n else {\n annualeffort = $('#inpeffortspent').text();\n }\n\n $.each(resp, function (aut_key, autvalue) {\n if (autvalue != null) {\n var totaleff = $(\"#chkprobid_\" + obj.AutomateSubProblemStatementId).is(':checked');\n if ($(\"#inprange_\" + autvalue.UniqueId) != undefined && $(\"#inprange_\" + autvalue.UniqueId).val() == \"\") {\n $(\"#inprange_\" + autvalue.UniqueId).val(0);\n }\n else if ($(\"#lblrange_\" + autvalue.UniqueId) != undefined && $(\"#lblrange_\" + autvalue.UniqueId).text().trim() == \"\") {\n $(\"#lblrange_\" + autvalue.UniqueId).text(0);\n }\n\n var automatable = $('#inprange_' + autvalue.UniqueId).val() != undefined ? $('#inpeffortred_' + autvalue.UniqueId).val() : $('#lblrange_' + autvalue.UniqueId).text().trim();\n if ($(\"#inpeffortred_\" + autvalue.UniqueId) != undefined && $(\"#inpeffortred_\" + autvalue.UniqueId).val() == \"\") {\n $(\"#inpeffortred_\" + autvalue.UniqueId).val(0);\n }\n else if ($(\"#lbleffortred_\" + autvalue.UniqueId) != undefined && $(\"#lbleffortred_\" + autvalue.UniqueId).text().trim() == \"\") {\n $(\"#lbleffortred_\" + autvalue.UniqueId).text(0);\n }\n var effortreduction = $('#inpeffortred_' + autvalue.UniqueId).val() != undefined ? $('#inpeffortred_' + autvalue.UniqueId).val() : $('#lbleffortred_' + autvalue.UniqueId).text().trim();\n var calsavedeffort = ((automatable) * (annualeffort)) / 100;\n var SavedEfforts = obj.round2Fixed(((effortreduction) * calsavedeffort) / 100);//.toFixed(2);\n SavedEfforts = obj.round2Fixed(SavedEfforts);\n if (obj.IsSubDynamicBulkUpload == true && obj.ClickedUniqueId != autvalue.UniqueId) {\n\n if (automatable == '' || effortreduction == '' || totaleff == false) {\n SavedEfforts = obj.round2Fixed($('#inpeffsaving_' + autvalue.UniqueId).val() != undefined ? $('#inpeffortred_' + autvalue.UniqueId).val() : $('#lbleffortred_' + autvalue.UniqueId).text().trim());\n }\n }\n if (obj.IsSubDynamicBulkUpload == true && obj.ClickedUniqueId == autvalue.UniqueId) {\n if (!$(\"#chkauto_\" + obj.AutomateSubProblemStatementId).is(':checked')) {\n SavedEfforts = obj.round2Fixed($('#inpeffsaving_' + autvalue.UniqueId).val() != undefined ? $('#inpeffsaving_' + autvalue.UniqueId).val() : $('#lbleffsaving_' + autvalue.UniqueId).text().trim());\n }\n else if (!$(\"#chkereduc_\" + obj.AutomateSubProblemStatementId).is(':checked')) {\n SavedEfforts = obj.round2Fixed($('#inpeffsaving_' + autvalue.UniqueId).val() != undefined ? $('#inpeffsaving_' + autvalue.UniqueId).val() : $('#lbleffsaving_' + autvalue.UniqueId).text().trim());\n }\n else if (totaleff == false) {\n SavedEfforts = obj.round2Fixed($('#inpeffsaving_' + autvalue.UniqueId).val() != undefined ? $('#inpeffsaving_' + autvalue.UniqueId).val() : $('#lbleffsaving_' + autvalue.UniqueId).text().trim());\n } else {\n SavedEfforts = obj.round2Fixed(((effortreduction) * calsavedeffort) / 100);//.toFixed(2);\n SavedEfforts = obj.round2Fixed(SavedEfforts);\n }\n }\n\n var SavedEffortsperct = 0;\n if (annualeffort == 0.00) {\n if (obj.IsSubDynamicBulkUpload == true) {\n SavedEffortsperct = +((+SavedEfforts / annualeffort) * 100).toFixed(2);\n if (isNaN(SavedEffortsperct))\n SavedEffortsperct = 0;\n if (SavedEffortsperct > 100)\n SavedEffortsperct = 100;\n }\n else\n SavedEffortsperct = +(0).toFixed(2);\n\n\n }\n else {\n SavedEffortsperct = +((+SavedEfforts / annualeffort) * 100).toFixed(2);//.toFixed(2);\n //SavedEffortsperct = Number(SavedEffortsperct.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n //SavedEffortsperct = round2Fixed(SavedEffortsperct);\n if (SavedEffortsperct > 100)\n SavedEffortsperct = 100;\n }\n\n var OverallSaving = 0;\n if (obj.ToatlEffortSpentAtPrbLevel == 0.00 || obj.ToatlEffortSpentAtPrbLevel == 0) {\n OverallSaving = +(0).toFixed(2);\n }\n else {\n OverallSaving = ((+SavedEfforts / obj.ToatlEffortSpentAtPrbLevel) * 100);//.toFixed(2);\n //OverallSaving = Number(OverallSaving.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n OverallSaving = +obj.round2Fixed(OverallSaving);\n }\n autvalue.Efforts.SavedEfforts = SavedEfforts;\n autvalue.Efforts.SavedEffortsperct = SavedEffortsperct;\n autvalue.Efforts.OverallSaving = OverallSaving;\n }\n });\n }\n\n\n CalculateCostChartData() {\n if (this.ActiveFilter != \"AIAAData\" && this.ActiveFilter != \"ManualData\") {\n var AnnualEffort = $(\"#inpeffortspentprocess\").val();\n var CostPerHour = $(\"#inpcostperhrprocess\").val();\n var TotalCostIncurred = (AnnualEffort * CostPerHour);\n $('#inpcostincurredprocess').text(this.round2Fixed(TotalCostIncurred));\n }\n else {\n var AnnualEffort = $(\"#inpeffortspent\").text();\n var CostPerHour = $(\"#inpcostperhr\").val();\n var TotalCostIncurred = (AnnualEffort * CostPerHour);\n $('#inpcostincurred').text(this.round2Fixed(TotalCostIncurred));\n }\n this.CalculateEffortSavingChartDataOnEdit(false);\n }\n\n OnDurationEdit() {\n let obj = this;\n var duration = $('#inpduration').val();\n var ProblemStatementId = obj.AutomateProblemStatementId;\n var SubProblemStatementId = obj.AutomateSubProblemStatementId;\n var resp = obj.dataService.BlueprintData;\n var ticketcount = 0;\n // var uniqueid = this.ActiveUniqueId;\n var AppName = obj.ActiveAppName;\n var Type = obj.ActiveType;\n var DataSourceId = obj.ActiveDataSourceId;\n\n $.each(resp.ProblemStatement, function (aut_prb, prbvalue) {\n if (prbvalue != null) {\n $.each(prbvalue.SubProblemStatement, function (aut_subprb, subprbvalue) {\n if (subprbvalue != null) {\n if (subprbvalue.AppName == AppName && subprbvalue.Type == Type && subprbvalue.DataSourceId == DataSourceId &&\n subprbvalue.ID == obj.AutomateSubProblemStatementId) {\n ticketcount = subprbvalue.AIAATicketCount;\n if (duration != null && duration != 0 && duration != \"\" && subprbvalue.AIAATicketCount != null) {\n ticketcount = Math.round(ticketcount * 12 / duration);\n $('#inpticketcount').text(ticketcount);\n var art = $('#inpavgresolution').val();\n var annualeffort = (ticketcount * art);\n annualeffort = +obj.round2Fixed(annualeffort);\n $('#inpeffortspent').text(annualeffort);\n var costperhr = $('#inpcostperhr').val();\n var costincurred = (annualeffort * costperhr);\n costincurred = +obj.round2Fixed(costincurred);\n $('#inpcostincurred').text(costincurred);\n }\n\n }\n }\n });\n }\n });\n\n obj.GetToatalEffortAtDeepdiveLevel();\n obj.CalculateEffortsOnChangeOfART();\n obj.CalculateEffortSavingChartDataOnEdit(false);\n }\n\n OnChangeOfAnnualTicket() {\n var ticketcount = $('#inpticketcounttxt').val();\n if (ticketcount != null && ticketcount != 0 && ticketcount != \"\") {\n var art = $('#inpavgresolution').val();\n var costperhr = $('#inpcostperhr').val();\n var annualeffort = (ticketcount * art);\n annualeffort = +this.round2Fixed(annualeffort);\n $('#inpeffortspent').text(annualeffort);\n var costincurred = (annualeffort * costperhr);//.toFixed(2);\n //costincurred = Number(costincurred.toString().match(/^\\d+(?:\\.\\d{0,2})?/));\n costincurred = +this.round2Fixed(costincurred);\n $('#inpcostincurred').text(costincurred);\n this.GetToatalEffortAtDeepdiveLevel();\n this.CalculateEffortsOnChangeOfART();\n this.CalculateEffortSavingChartDataOnEdit(false);\n }\n }\n ClickOfToggle(SubProblemStatementId, flag) {\n\n var inpcostperhr = $(\"#chkcph_\" + SubProblemStatementId).is(':checked');\n var totaleffort = $(\"#chkprobid_\" + SubProblemStatementId).is(':checked');\n var chkautomate = $(\"#chkauto_\" + SubProblemStatementId).is(':checked');\n var chkeffortredu = $(\"#chkereduc_\" + SubProblemStatementId).is(':checked');\n\n if (flag == 'chkcph') {\n\n if (inpcostperhr == false) {\n this.donutpercentcost = true;\n $('#chkcph_' + SubProblemStatementId).prop('checked', false);\n $('#inpcostperhrprocess').attr('readonly', true);\n this.editablecostsaving = true;\n $('#inpcostperhrprocess').val('0.00');\n }\n else {\n if (totaleffort == true)\n this.donutpercentcost = false;\n $('#chkcph_' + SubProblemStatementId).prop('checked', true);\n $('#inpcostperhrprocess').attr('readonly', false);\n this.editablecostsaving = false;\n this.IsSubDynamicBulkUpload = true;\n }\n if (this.enableEdit) {\n this.AutoCostSavingCalculation(this.ClickedUniqueId, SubProblemStatementId); //commented by Kavya\n }\n var effort = $(\"#inpeffortspentprocess\").val();\n var CostPerHour = $(\"#inpcostperhrprocess\").val();\n var TotalCostIncurred = (effort * CostPerHour);\n\n $(\"#inpcostincurredprocess\").text(this.round2Fixed(TotalCostIncurred));\n if (this.enableEdit) {\n this.OnChangeOfBaselineEffort();\n }\n }\n if (flag == 'chkprobid') {\n // this.AutoCostSavingCalculation(this.ClickedUniqueId, SubProblemStatementId); //commented by Kavya\n if (totaleffort == false) {\n this.donutpercent = true;\n this.donutpercentcost = true;\n $('#chkprobid_' + SubProblemStatementId).prop('checked', false);\n $('#inpeffortspentprocess').attr('readonly', true);\n this.editableeffortsaving = true;\n $('#inpeffortspentprocess').val('0.00');\n }\n else {\n this.donutpercent = false;\n if (inpcostperhr == true)\n this.donutpercentcost = false;\n $('#chkprobid_' + SubProblemStatementId).prop('checked', true);\n $('#inpeffortspentprocess').attr('readonly', false);\n this.editableeffortsaving = false;\n\n }\n }\n if (this.enableEdit) {\n if (flag == 'chkauto') {\n this.AutoCostSavingCalculation(this.ClickedUniqueId, SubProblemStatementId);\n if (chkautomate == false) {\n $('#chkauto_' + SubProblemStatementId).prop('checked', false);\n this.editableeffortsaving = true;\n this.readonlyautomate = true;\n $('#inprange_' + this.ClickedUniqueId).val('');\n }\n else {\n $('#chkauto_' + SubProblemStatementId).prop('checked', true);\n this.readonlyautomate = false;\n this.editableeffortsaving = false;\n }\n }\n if (flag == 'chkereduc') {\n this.AutoCostSavingCalculation(this.ClickedUniqueId, SubProblemStatementId);\n if (chkeffortredu == false) {\n $('#chkereduc_' + SubProblemStatementId).prop('checked', false);\n this.readonlyreduction = true;\n this.editableeffortsaving = true;\n $('#inpeffortred_' + this.ClickedUniqueId).val('');\n }\n else {\n $('#chkereduc_' + SubProblemStatementId).prop('checked', true);\n this.readonlyreduction = false;\n this.editableeffortsaving = false;\n }\n }\n\n if (totaleffort == false || chkautomate == false || chkeffortredu == false) {\n if (flag != 'chkcph') {\n this.editableeffortsaving = true;\n this.OnChangeOfBaselineEffort();\n this.AutoCostSavingCalOnEffortSav(this.ClickedUniqueId, SubProblemStatementId);\n this.AutoCostSavingCalculation(this.ClickedUniqueId, SubProblemStatementId);\n }\n\n }\n else if (totaleffort == true && chkautomate == true && chkeffortredu == true) {\n this.OnChangeOfBaselineEffort();\n }\n }\n\n }\n\n OnChangeOfBaselineEffort() {\n if (this.IsSubDynamicBulkUpload == true) {\n this.CategoryTechResponse;\n this.AutoCostSavingCalculation(this.ClickedUniqueId, this.AutomateSubProblemStatementId);\n if (!$(\"#chkprobid_\" + this.AutomateSubProblemStatementId).is(':checked')) {\n $('#inpeffortspentprocess').val('0.00');\n }\n }\n var effort = $(\"#inpeffortspentprocess\").val();\n var CostPerHour = $(\"#inpcostperhrprocess\").val();\n var TotalCostIncurred = (effort * CostPerHour);\n\n $(\"#inpcostincurredprocess\").text(this.round2Fixed(TotalCostIncurred));\n this.GetToatalEffortAtDeepdiveLevel();\n this.CalculateEffortsOnChangeOfART();\n this.CalculateEffortSavingChartDataOnEdit(false);\n this.AutoCostSavingCalculation(this.ClickedUniqueId, this.AutomateSubProblemStatementId);\n\n\n }\n\n editOpportunity(asset) {\n this.currentlyEditableOpportunityId = asset.UniqueId;\n this.ActiveUniqueId = asset.UniqueId;\n asset.disabled = false;\n }\n\n onDateChange(uniqueid, lbl) {\n var stDate = $('#inpassetstartdate_' + uniqueid + '_input').val().split('/');\n var edDate = $('#inpassetenddate_' + uniqueid + '_input').val().split('/');\n var sd = new Date(stDate[2], stDate[1] - 1, stDate[0]);\n var ed = new Date(edDate[2], edDate[1] - 1, edDate[0]);\n if (sd != undefined && ed != undefined) {\n if (sd > ed) {\n $('#' + lbl + uniqueid).val('');\n this.apwebservice.showErrorMessage('Asset start date cannot be greater than end date.');\n $('#inpassetenddate_' + uniqueid + '_input').datepicker().datepicker('setDate', null);\n }\n }\n }\n\n redirectedToHome() {\n if (localStorage.getItem('lastSavedValues') != undefined)\n localStorage.removeItem('lastSavedValues');\n this.apwebservice.RedirectToHome();\n this.redirected = this.dataService.redirected;\n }\n\n enableEditMethod(e, i, asset) {\n this.enableEdit = true;\n this.enableEditIndex = i;\n this.currentlyEditableOpportunityId = asset.UniqueId;\n this.ActiveUniqueId = asset.UniqueId;\n asset.disabled = false;\n }\n\n cancel() {\n this.enableEdit = false;\n this.currentlyEditableOpportunityId = 0;\n\n if (localStorage.getItem('lastSavedValues') == undefined) {\n this.EffortSavingChart = 0;\n this.EffortSaved = 0;\n this.CostSavingChart = 0;\n this.CostSaved = 0;\n } else {\n let lastSavedValues = JSON.parse(localStorage.getItem('lastSavedValues'));\n this.EffortSavingChart = lastSavedValues.EffortSavingChart;\n this.EffortSaved = lastSavedValues.EffortSaved;\n this.CostSavingChart = lastSavedValues.CostSavingChart;\n this.CostSaved = lastSavedValues.CostSaved;\n }\n }\n}\n","\n
\n
\n
\n
\n \"Back\"\n
{{Category}} | {{subCategoryName}}
\n
\n
\n
\n

Note: Annualized details below

\n Dynamic Uploaded\n Opportunity\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Annualized\n Ticket Count\n Avg Resolution Time/Ticket (Hr)Cost per hour ($)Duration(Hrs)Expected FTE ReductionTotal Efforts (Hr)Total Cost Incurred($)
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
Total Efforts (Hr)\n \n\n Cost per hour ($)\n \n\n Total Cost Incurred($)Expected FTE Reduction
\n \n\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{EffortSavingChart}} hrs
\n
Effort Savings (hrs)
\n
\n
\n
{{EffortSaved}} %
\n
Effort Savings (%)
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{CostSavingChart}} $
\n
Cost Savings ($)
\n
\n
\n
{{CostSaved}} %
\n
Cost Savings (%)
\n
\n
\n
\n
\n
\n
\n\n
Solution Level Details
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Assets\n \n Asset Start\n dateAsset End date\n Asset Implementation cost\n (K$)\n %\n Automate\n \n \n % Effort\n Reduction\n \n Effort Savings (hrs)Cost Savings\n ($)Saved Efforts\n by\n sub-category(%)% Effort\n Saved w.r.t.AssessmentEdit
\n \n \n
\n \n \n
\n {{t.assetStartDate | date:'dd/MM/yyyy'}}\n
\n
\n\n
\n
\n \n \n\n
\n {{t.assetEndDate | date:'dd/MM/yyyy'}}\n
\n
\n
\n
\n \n
\n {{t.assetImplementationCost | number : '1.2-2'}}\n
\n
\n
\n
\n \n
\n {{t.EffortSaving.EffortSavingLWRange | number : '1.2-2'}}\n
\n
\n
\n
\n \n \n
\n {{t.EffortSaving.EffortReduction | number : '1.2-2'}}\n
\n
\n
\n
\n \n
\n {{t.Efforts.SavedEfforts | number : '1.2-2'}}\n
\n
\n
\n
\n \n
\n {{t.Efforts.costsavings | number : '1.2-2'}}\n
\n
\n
\n
{{t.Efforts.SavedEffortsperct |\n number : '1.2-2'}}\n
\n\n
\n
{{t.Efforts.OverallSaving |\n number : '1.2-2'}}\n
\n
\n \n \n \n \n\n
\n
\n
\n \n
\n \n
\n\n
\n
\n
\n \n \n
\n
\n
\n
\n\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\n\nexport const environment = {\n production: false,\n MSALenabled: true,\n\n //serviceUrl: 'http://localhost:58779/', \n serviceUrl: 'https://mywizard-aiprojectmanagerapi.ciostage.accenture.com/',\n\n apiClientID: 'f972db5e-002e-48da-b826-76dfb7d863d0',\n webClientID: '0f18e0cd-ba76-4cf4-b29e-9b1c6190e764',\n authority: 'https://login.microsoftonline.com/e0793d39-0939-496d-b129-198edd916feb/',\n azureRedirectURL: 'https://mywizard-aiprojectmanager.ciostage.accenture.com',\n \n //us stage\n iomUrl: 'https://mywizardaiaa.ciostage.accenture.com/',\n iomFdsUrl: 'https://mywizardaiaa.ciostage.accenture.com/ticket/home?',\n //aofUrl: 'https://mywizard-aof.ciostage.accenture.com/',\n\n //APT\n //AIAAURL = 'https://mywizardaiaa.ciotest.accenture.com/';\n //AIAAFDSURL = 'https://mywizardaiaa.ciotest.accenture.com/Ticket/Home?';\n //AOFURL = 'https://mywizard-aof.ciotest.accenture.com/';\n};\n\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core'\r\ndeclare var bootbox: any;\r\nimport { WebClientService } from './webclient.service';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { DataService } from './data.service';\r\nimport { analyzeAndValidateNgModules } from '@angular/compiler';\r\nimport { Router } from '@angular/router';\r\nimport { OpportunityTreasuryComponent } from 'src/components/opportunity-treasury/opportunity-treasury.component';\r\nimport { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\n\r\nexport enum Environment {\r\n usProd = 'usprod',\r\n euProd = 'euProd',\r\n usStaging = 'usstaging',\r\n euStaging = 'eustaging',\r\n demo = 'demo',\r\n demoProd = 'demoProd',\r\n Dev = 'dev',\r\n Local = 'local',\r\n}\r\nexport enum UserPaths {\r\n //'AIAAAOF' = 1,\r\n 'AJcomE2EUID' = 2,\r\n 'Standalone' = 3,\r\n 'AJOppTreasury' = 4,\r\n 'AIAA' = 5\r\n}\r\n\r\nvar host = {\r\n dev: 'mywizard-aiprojectmanager.ciodev.accenture.com',\r\n stage: 'mywizard-aiprojectmanager.ciostage.accenture.com',\r\n prod: 'mywizard-aiprojectmanager.accenture.com',\r\n demo: 'mywizard-aiprojectmanagerdemo.ciostage.accenture.com',\r\n eustage: 'mywizard-aiprojectmanagereu.ciostage.accenture.com',\r\n euprod: 'mywizard-aiprojectmanagereu.accenture.com',\r\n demoprod: 'mywizard-aiprojectmanagerdemo.accenture.com',\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CommonService {\r\n private userPath = UserPaths;\r\n\r\n public projectId;\r\n public releaseId;\r\n public enterpriseId = sessionStorage.getItem(\"enterpriseId\");\r\n //public UserDetails: {[k: string]: any} = {};\r\n public UserDetails: any = {};\r\n public BluePrintIDFromAJ = null;\r\n\r\n constructor(private router: Router, private webclient: WebClientService, private dataService: DataService, private cookieService: CookieService) { }\r\n\r\n SetSessionObject() {\r\n this.dataService.UserDetails = {\r\n EnterpriseId: '', IsUserReadonly: false, DatasourceID: 0,\r\n E2EUID: '', CMSUID: '', WSUID: '', ClientName: '', EngName: '', ProjectName: '',\r\n UserType: '',\r\n AppName: '',\r\n FdsReadOnly: false,\r\n UserPath: '',\r\n ProjectID: 0,\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false,\r\n SelectedClient: '',\r\n SelectedEngagement: '',\r\n SelectedCMSName: '',\r\n SelectedWSName: '',\r\n FDSScope: {\r\n oldE2EUID: '', SelectedEntityUID: '', SelectedEntityStatus: '',\r\n ParentStatus: '', SelectedEntityType: '',\r\n SelectedEntityName: '', APContract: { EndToEndUId: '', EndToEndName: '' }\r\n }\r\n\r\n }\r\n sessionStorage['BluePrintIDFromAJ'] = null;\r\n\r\n let queryString = location.pathname.split('/');\r\n // AIAA - Usertype = 2 & 3\r\n if (queryString.length > 5 && queryString[5] != '') {\r\n this.UserDetails = {\r\n EnterpriseId: this.enterpriseId,\r\n UserType: queryString[4],\r\n AppName: queryString[3],\r\n FdsReadOnly: (queryString[5].toLowerCase() == 'true' ? true : false),\r\n DatasourceID: queryString[2],\r\n UserPath: this.userPath.AIAA,\r\n ProjectID: 0,\r\n ProjectName: '',\r\n ClientName: '',\r\n EngName: '',\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false,\r\n IsUserReadonly: false\r\n };\r\n sessionStorage['UserDetails'] = JSON.stringify(this.UserDetails);\r\n this.dataService.UserDetails = this.UserDetails;\r\n }\r\n else if (queryString.length > 5) {\r\n this.UserDetails = {\r\n EnterpriseId: this.enterpriseId,\r\n UserType: queryString[4],\r\n AppName: queryString[3],\r\n FdsReadOnly: (queryString[5].toLowerCase() == 'true' ? true : false),\r\n DatasourceID: queryString[2],\r\n E2EUID: null,\r\n //UserPath: this.userPath.AIAAAOF,\r\n ProjectID: 0,\r\n ProjectName: '',\r\n ClientName: '',\r\n EngName: '',\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false\r\n };\r\n sessionStorage.setItem['UserDetails'] = JSON.stringify(this.UserDetails);\r\n\r\n }\r\n ///issue 1351496:FDS AP-REVAMP: On refresh edit opportunity page user is navigating to blueprints page\r\n else if (queryString.length == 2 && (queryString[1] == \"editOpportunity\" ) || queryString[1] == \"uploadOpportunity\" ||\r\n (queryString[1] == \"addOpportunity\" ) || (queryString[1] == \"fieldMapping\" ) || (queryString[1] == \"addAsset\" ) || (queryString[1] == \"addCustomAsset\" ))\r\n { \r\n this.dataService.UserDetails=JSON.parse(sessionStorage.getItem(\"UserDetails\"));\r\n }\r\n //standalone\r\n else if (queryString.length == 2 && queryString[1] != \"opportunityTreasury\" && location.search == '') {\r\n this.UserDetails = {\r\n EnterpriseId: this.enterpriseId,\r\n UserType: 1,\r\n AppName: null,\r\n FdsReadOnly: false,\r\n DatasourceID: 0,\r\n E2EUID: null,\r\n UserPath: this.userPath.Standalone,\r\n ProjectID: 0,\r\n ProjectName: '',\r\n ClientName: '',\r\n EngName: '',\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false,\r\n IsUserReadonly: false,\r\n FDSScope: null, //temporary addition\r\n SelectedClient: '',\r\n SelectedEngagement: '',\r\n SelectedCMSName: null,\r\n SelectedWSName: null\r\n };\r\n sessionStorage.setItem(\"UserDetails\", JSON.stringify(this.UserDetails));\r\n this.dataService.UserDetails = this.UserDetails;\r\n // sessionStorage.setItem['UserDetails'] = this.UserDetails;\r\n } \r\n ////AJ to AP Opp Treasury Page\r\n else if ((queryString.length > 3 && queryString[1] == \"opportunityTreasury\" && queryString[2] != '')) { //&& queryString[3] == 3\r\n this.UserDetails = {\r\n EnterpriseId: this.enterpriseId,\r\n UserType: 3,\r\n AppName: null,\r\n FdsReadOnly: false,\r\n DatasourceID: 0,\r\n E2EUID: this.sanitizeQueryStringField((queryString[2].split('&')[0].split('=')[1]).toLowerCase()) == 'null' ? 'null' : queryString[2].split('&')[0].split('=')[1].toLowerCase(),\r\n CMSUID: this.sanitizeQueryStringField((queryString[2].split('&')[1].split('=')[1]).toLowerCase()) == 'null' ? 'null' : queryString[2].split('&')[1].split('=')[1].toLowerCase(),\r\n WSUID: this.sanitizeQueryStringField((queryString[2].split('&')[2].split('=')[1]).toLowerCase()) == 'null' ? 'null' : queryString[2].split('&')[2].split('=')[1].toLowerCase(),\r\n UserPath: this.userPath.AJOppTreasury,\r\n ProjectID: 0,\r\n ProjectName: '',\r\n ClientName: '',\r\n EngName: '',\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false\r\n };\r\n sessionStorage['UserDetails'] = JSON.stringify(this.UserDetails);\r\n this.dataService.UserDetails = this.UserDetails;\r\n this.router.navigate(['opportunityTreasury'], { queryParams: { E2EUID: this.UserDetails.E2EUID, CMS: this.UserDetails.CMSUID, WS: this.UserDetails.WSUID } });\r\n }\r\n ///AJ Treasury Refresh\r\n else if (queryString.length == 2 && queryString[1] == \"opportunityTreasury\" && location.search !== '' ) { //&& queryString[3] == 3\r\n this.UserDetails = {\r\n EnterpriseId: this.enterpriseId,\r\n UserType: 3,\r\n AppName: null,\r\n FdsReadOnly: false,\r\n DatasourceID: 0,\r\n E2EUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase(),\r\n CMSUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[1].split('=')[1]).toLowerCase())== 'null' ? 'null' : (location.search.split('?')[1].split('&')[1].split('=')[1]).toLowerCase(),\r\n WSUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[2].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[2].split('=')[1]).toLowerCase(),\r\n UserPath: this.userPath.AJOppTreasury,\r\n ProjectID: 0,\r\n ProjectName: '',\r\n ClientName: '',\r\n EngName: '',\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false\r\n };\r\n sessionStorage['UserDetails'] = JSON.stringify(this.UserDetails);\r\n this.dataService.UserDetails = this.UserDetails;\r\n this.router.navigate(['opportunityTreasury'], { queryParams: { E2EUID: this.UserDetails.E2EUID, CMS: this.UserDetails.CMSUID, WS: this.UserDetails.WSUID } });\r\n }\r\n \r\n ////AJ to AP Landing Page\r\n // else if (queryString.length >= 2 && location.search !== '' && location.search.split('?').length > 0) {\r\n // this.UserDetails = {\r\n // EnterpriseId: this.enterpriseId,\r\n // UserType: 3,\r\n // AppName: null,\r\n // FdsReadOnly: false,\r\n // DatasourceID: 0,\r\n // E2EUID: (location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase() == 'null' ? 'null' : (location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase(),\r\n // CMSUID: (location.search.split('?')[1].split('&')[1].split('=')[1]).toLowerCase() == 'null' ? 'null' : (location.search.split('?')[1].split('&')[1].split('=')[1]).toLowerCase(),\r\n // WSUID: (location.search.split('?')[1].split('&')[2].split('=')[1]).toLowerCase() == 'null' ? 'null' : (location.search.split('?')[1].split('&')[2].split('=')[1]).toLowerCase(),\r\n // UserPath: this.userPath.AJcomE2EUID,\r\n // ProjectID: 0,\r\n // ProjectName: '',\r\n // ClientName: '',\r\n // EngName: '',\r\n // Is: '',\r\n // Technology: '',\r\n // ClosedEntity: false\r\n // };\r\n\r\n // sessionStorage['UserDetails'] = JSON.stringify(this.UserDetails);\r\n // this.dataService.UserDetails = this.UserDetails;\r\n // if (queryString.length == 3) {\r\n // this.BluePrintIDFromAJ = queryString.length == 3 ? parseInt(queryString[2]) : null;\r\n // this.BluePrintIDFromAJ !== null ? (sessionStorage['BluePrintIDFromAJ'] = this.BluePrintIDFromAJ) : sessionStorage['BluePrintIDFromAJ'] = null\r\n // this.dataService.bluePrintIDFromAJ = this.BluePrintIDFromAJ;\r\n // this.dataService.appNameFromAJ = location.search.split('?')[1].split('&')[3].split('=')[1];\r\n // this.dataService.deepDiveIDFromAJ = location.search.split('?')[1].split('&')[4].split('=')[1];\r\n // this.dataService.categoryIdFromAJ = location.search.split('?')[1].split('&')[5].split('=')[1];\r\n // this.dataService.subCategoryIdFromAJ = location.search.split('?')[1].split('&')[6].split('=')[1];\r\n // this.router.navigate(['home', this.BluePrintIDFromAJ], { queryParams: { E2EUID: this.UserDetails.E2EUID, CMS: this.UserDetails.CMSUID, WS: this.UserDetails.WSUID } });\r\n // }\r\n // else {\r\n // this.router.navigate(['home'], { queryParams: { E2EUID: this.UserDetails.E2EUID, CMS: this.UserDetails.CMSUID, WS: this.UserDetails.WSUID } });\r\n // }\r\n // }\r\n // AJ to AP Home page\r\n else if (queryString.length >= 2 && queryString[1] == 'home' && location.href.includes('BPId') == true) {\r\n this.UserDetails = {\r\n EnterpriseId: this.enterpriseId,\r\n UserType: 3,\r\n AppName: null,\r\n FdsReadOnly: false,\r\n DatasourceID: 0,\r\n BPId: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase(),\r\n E2EUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[1].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[1].split('=')[1]).toLowerCase(),\r\n CMSUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[2].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[2].split('=')[1]).toLowerCase(),\r\n WSUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[3].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[3].split('=')[1]).toLowerCase(),\r\n UserPath: this.userPath.AJcomE2EUID,\r\n ProjectID: 0,\r\n ProjectName: '',\r\n ClientName: '',\r\n EngName: '',\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false\r\n };\r\n\r\n sessionStorage['UserDetails'] = JSON.stringify(this.UserDetails);\r\n this.dataService.UserDetails = this.UserDetails;\r\n if (queryString.length >= 2) {\r\n this.BluePrintIDFromAJ = location.search.split('?')[1].split('&')[0].split('=')[1] != null ? parseInt((location.search.split('?')[1].split('&')[0].split('=')[1])) : null;\r\n this.BluePrintIDFromAJ !== null ? (sessionStorage['BluePrintIDFromAJ'] = this.BluePrintIDFromAJ) : sessionStorage['BluePrintIDFromAJ'] = null\r\n this.dataService.bluePrintIDFromAJ = this.BluePrintIDFromAJ;\r\n if(location.search.split('?')[1].split('&')[4] !== undefined && location.search.split('?')[1].split('&')[5] !== undefined && location.search.split('?')[1].split('&')[6] !== undefined && location.search.split('?')[1].split('&')[7] !== undefined){\r\n this.dataService.appNameFromAJ = (location.search.split('?')[1].split('&')[4].split('=')[1]).toLowerCase();\r\n this.dataService.deepDiveIDFromAJ = (location.search.split('?')[1].split('&')[5].split('=')[1]).toLowerCase();\r\n this.dataService.categoryIdFromAJ = (location.search.split('?')[1].split('&')[6].split('=')[1]).toLowerCase();\r\n this.dataService.subCategoryIdFromAJ = (location.search.split('?')[1].split('&')[7].split('=')[1]).toLowerCase();\r\n }\r\n this.router.navigate(['home'], { queryParams: { BPId: this.UserDetails.BPId,E2EUID: this.UserDetails.E2EUID, CMS: this.UserDetails.CMSUID, WS: this.UserDetails.WSUID} });\r\n }\r\n else {\r\n this.router.navigate(['home'], { queryParams: { E2EUID: this.UserDetails.E2EUID, CMS: this.UserDetails.CMSUID, WS: this.UserDetails.WSUID } });\r\n }\r\n }\r\n\r\n //Home page refresh(Aj to AP)\r\n\r\n else if (queryString.length == 2 && location.search !== '' && location.search.split('?').length > 0 && location.search.split('?')[1].split('&').length > 1) {\r\n this.UserDetails = {\r\n EnterpriseId: this.enterpriseId,\r\n UserType: 3,\r\n AppName: null,\r\n FdsReadOnly: false,\r\n DatasourceID: 0,\r\n E2EUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase(),\r\n CMSUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[1].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[1].split('=')[1]).toLowerCase(),\r\n WSUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[2].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[2].split('=')[1]).toLowerCase(),\r\n UserPath: this.userPath.AJcomE2EUID,\r\n ProjectID: 0,\r\n ProjectName: '',\r\n ClientName: '',\r\n EngName: '',\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false\r\n };\r\n\r\n sessionStorage['UserDetails'] = JSON.stringify(this.UserDetails);\r\n this.dataService.UserDetails = this.UserDetails;\r\n\r\n this.router.navigate(['home'], { queryParams: { E2EUID: this.UserDetails.E2EUID, CMS: this.UserDetails.CMSUID, WS: this.UserDetails.WSUID } });\r\n \r\n }\r\n\r\n else if (queryString.length == 2 && location.search !== '' && location.search.split('?').length > 0) {\r\n this.UserDetails = {\r\n EnterpriseId: this.enterpriseId,\r\n UserType: 3,\r\n AppName: null,\r\n FdsReadOnly: false,\r\n DatasourceID: 0,\r\n E2EUID: this.sanitizeQueryStringField((location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase()) == 'null' ? 'null' : (location.search.split('?')[1].split('&')[0].split('=')[1]).toLowerCase(), \r\n UserPath: this.userPath.AJcomE2EUID,\r\n ProjectID: 0,\r\n ProjectName: '',\r\n ClientName: '',\r\n EngName: '',\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false\r\n };\r\n\r\n sessionStorage['UserDetails'] = JSON.stringify(this.UserDetails);\r\n this.dataService.UserDetails = this.UserDetails;\r\n\r\n this.router.navigate(['home'], { queryParams: { E2EUID: this.UserDetails.E2EUID} });\r\n \r\n }\r\n\r\n if (sessionStorage['UserDetails'] != undefined) {\r\n this.UserDetails = sessionStorage['UserDetails'];\r\n let abc = JSON.parse(sessionStorage['UserDetails']);\r\n //this.UserDetails[\"IsUserReadonly\"] = true;\r\n JSON.parse(this.UserDetails)['EnterpriseId'] = abc.EnterpriseId;// sessionStorage['UserDetails'].EnterpriseId;\r\n JSON.parse(this.UserDetails)['IsUserReadonly'] = abc.IsUserReadonly;// sessionStorage['UserDetails'].IsUserReadonly;\r\n }\r\n else {\r\n // WebClient.getEnterpriseId().then(function (response) {\r\n this.UserDetails = {\r\n EnterpriseId: this.enterpriseId,\r\n UserType: 0,\r\n AppName: '',\r\n FdsReadOnly: false,\r\n DatasourceID: 0,\r\n E2EUID: '',\r\n UserPath: 0,\r\n ProjectID: 0,\r\n ProjectName: '',\r\n ClientName: '',\r\n EngName: '',\r\n Is: '',\r\n Technology: '',\r\n ClosedEntity: false\r\n };\r\n var myObject = {\r\n // EnterpriseId: enterpriseId\r\n }\r\n // this.$broadcast('EnterpriseId', myObject);\r\n // this.UserDetails.EnterpriseId = enterpriseId;\r\n if (sessionStorage['UserDetails'] != undefined) {\r\n sessionStorage['UserDetails'].EnterpriseId = this.UserDetails.EnterpriseId;\r\n sessionStorage['UserDetails'].IsUserReadonly = this.UserDetails.IsUserReadonly;\r\n\r\n }\r\n // })\r\n };\r\n\r\n if (sessionStorage['enterpriseId'] != undefined)\r\n this.enterpriseId = sessionStorage['enterpriseId']\r\n else {\r\n // WebClient.getEnterpriseId().then(function (response) {\r\n this.enterpriseId = this.enterpriseId;\r\n sessionStorage['enterpriseId'] = this.enterpriseId;\r\n // }, function (error) {\r\n // console.log('Timeout issue in global js - ',error.status);\r\n //// });\r\n }\r\n //return this.UserDetails;\r\n }\r\n showURLErrorMessage(message : string)\r\n {\r\n bootbox.alert({\r\n title: \"Errors..!!\",\r\n message: message,\r\n closeButton: false\r\n }).find('.btn-primary').removeClass('btn').css({ 'padding': '6px 12px', 'border-radius': '4px', 'border': '1px solid transparent' });\r\n }\r\n \r\n \r\n sanitizeQueryStringField(field)\r\n {\r\n const regexForStripHTML = /<.*>.*?/ig;\r\n var regex = new RegExp(\"^[a-zA-Z0-9-]+$\");\r\n if(field == 'null')\r\n {\r\n return 'null';\r\n }\r\n else if(regexForStripHTML.test(field))\r\n {\r\n field = field.replaceAll(regexForStripHTML, '');\r\n }\r\n else if(!regex.test(field))\r\n {\r\n this.showURLErrorMessage('URL is invalid');\r\n this.dataService.UrlValid = false;\r\n return 'null';\r\n } \r\n else\r\n {\r\n this.dataService.UrlValid = true;\r\n return field;\r\n \r\n }\r\n }\r\n }","import * as d3 from 'd3';\r\n\r\nclass Common {\r\n constructor() {}\r\n\r\n public addAttributes(attrs): any {\r\n const attributes = [];\r\n Object.getOwnPropertyNames(attrs).map((property) => {\r\n const attr = {name: property, value : attrs[property]};\r\n attributes.push(attr);\r\n });\r\n return attributes;\r\n }\r\n\r\n public getSVG(selector, width, height, isSelectorClass?) {\r\n if (isSelectorClass) {\r\n return d3.select(`.${selector}`).append('svg')\r\n .attr('id', 'app-svg')\r\n .attr('class', 'svg-style')\r\n .attr('width', width)\r\n .attr('height', height)\r\n .attr('style','overflow:inherit')\r\n .attr('preserveAspectRatio', 'xMidYMid meet');\r\n } else {\r\n return d3.select(`#${selector}`).append('svg')\r\n .attr('id', 'app-svg')\r\n .attr('class', 'svg-style')\r\n .attr('width', width)\r\n .attr('height', height)\r\n .attr('style','overflow:inherit')\r\n .attr('preserveAspectRatio', 'xMidYMid meet');\r\n }\r\n }\r\n\r\n public clearSVG(selector?) {\r\n if (selector) {\r\n d3.select(`#${selector}`).select('#app-svg').remove();\r\n } else {\r\n d3.select('#app-svg').remove();\r\n }\r\n }\r\n\r\n public clearLegendSVG(selector) {\r\n if (selector) {\r\n d3.select(`#${selector}`).select('#app-legend-svg').remove(); \r\n } else {\r\n d3.select('#app-legend-svg').remove();\r\n }\r\n }\r\n}\r\nconst common = new Common();\r\nexport {common};\r\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { AppConfigService } from './app-config.service';\r\ndeclare var bootbox: any;\r\n//import 'rxjs/Rx';\r\n\r\n@Injectable()\r\nexport class APWebServiceBaseline {\r\n public baseURL: string;\r\n public environmentDetails: any;\r\n\r\n constructor(private http: HttpClient, private appConfig: AppConfigService) {\r\n this.environmentDetails = this.appConfig.environmentSettings;\r\n if(this.environmentDetails.MSALenabled)\r\n this.baseURL = this.environmentDetails.serverAPIUrl;\r\n else\r\n this.baseURL = this.environmentDetails.localAPIUrl;\r\n }\r\n \r\n //#region BaselineController API CALLs \r\n\r\n\r\n GetBaselineResponse(BlueprintId: number, FdsbpLst: boolean): Observable {\r\n return this.http.get(this.baseURL + \"Baseline/GetBaselineResponse/\" + BlueprintId + \"/\" + FdsbpLst);\r\n }\r\n\r\n\r\n //sample post method\r\n updateKiteVersion(proposalId: number, flag: boolean, blueprintId: number): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/UpdateKiteVersion/\" + proposalId + \"/\" + flag + \"/\" + blueprintId, {});\r\n }\r\n\r\n \r\n AutoSaveOnBaseline(details: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/AutoSaveOnBaseline/\", { details });\r\n }\r\n\r\n SaveBlueprintEffortSavingResponse(details: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/SaveBlueprintEffortSavingResponse/\", { details });\r\n }\r\n UpdateSubmittedResponse(details: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/UpdateSubmittedResponse/\", { details });\r\n }\r\n GetAllAssetsByName(searchWords: string, technique: string): Observable {\r\n return this.http.get(this.baseURL + \"Baseline/GetAllAssetsByName/\" + searchWords + \"/\" + technique);\r\n }\r\n SaveAutomationPlanPopupData(details: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/SaveAutomationPlanPopupData/\", { details });\r\n }\r\n CheckDuplicateAsset(details: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/CheckDuplicateAsset/\", { details })\r\n }\r\n SaveCustomAssets(assetDetails: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/SaveCustomAssets/\", { assetDetails })\r\n }\r\n DeleteOpportunity(uniqueList: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/DeleteOpportunity/\", { uniqueList })\r\n }\r\n GetAllAssetDetails(UserType: number, ProjectID: number, E2EUID: string, WSUID: string, CMSUID: string): Observable {\r\n return this.http.get(this.baseURL + \"Baseline/GetAllAssetDetails/\" + UserType + \"/\" + ProjectID + \"/\" + E2EUID + \"/\" + WSUID + \"/\" + CMSUID);\r\n }\r\n SaveBluePrintLineItems(details: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/SaveBluePrintLineItems/\", { details })\r\n }\r\n\r\n GetUserDetails(EnterpriseId: string, BlueprintId: number, oldE2EUID: string): Observable {\r\n return this.http.get(this.baseURL + \"Baseline/GetUserDetails/\" + EnterpriseId + \"/\" + BlueprintId + \"/\" + oldE2EUID);\r\n }\r\n SendSubmittedBaselineNotification(BlueprintID: number): Observable {\r\n return this.http.get(this.baseURL + \"Baseline/SendSubmittedBaselineNotification/\" + BlueprintID);\r\n }\r\n PushDatatoAJ(blueprintID: number): Observable {\r\n return this.http.get(this.baseURL + \"Baseline/PushDatatoAJ/\" + blueprintID);\r\n }\r\n GetCustomAssetResponse(assetid: number): Observable {\r\n return this.http.get(this.baseURL + \"Baseline/GetCustomAssetResponse/\" + assetid);\r\n }\r\n SaveCategoryDetailsOnEdit(ManualOpportunity: object): Observable {\r\n return this.http.post(this.baseURL + \"Baseline/SaveBluePrintLineItems/\", { ManualOpportunity })\r\n }\r\n UserWithoutAccess(EndToEndUId: string): Observable {\r\n return this.http.get(this.baseURL + \"BluePrint/UserWithoutAccess/\" + EndToEndUId);\r\n }\r\n\r\n\r\n //#endregion\r\n\r\n //#region PopUpMessages\r\nshowSuccessMessage(message: string) {\r\n bootbox.alert({\r\n title: \"Success..!!\",\r\n message: message,\r\n closeButton: false\r\n }).find('.btn-primary').removeClass('btn').css({ 'padding': '6px 12px', 'border-radius': '4px', 'border': '1px solid transparent' });\r\n}\r\n\r\ndisplayErrorMessage(err) {\r\n if (err.error != undefined && typeof (err.error) == \"string\")\r\n this.showErrorMessage(err.error);\r\n else if (err.message != undefined)\r\n this.showErrorMessage(err.message);\r\n else if (err.error != undefined && err.error.title != undefined)\r\n this.showErrorMessage(err.error.title);\r\n else if (err.error != undefined && err.error.text != undefined)\r\n this.showErrorMessage(err.error.text);\r\n else if (err.error != undefined && err.error.value != undefined)\r\n this.showErrorMessage(err.error.value);\r\n}\r\n\r\nshowErrorMessage(message: string) {\r\n bootbox.alert({\r\n title: \"Errors..!!\",\r\n message: message,\r\n closeButton: false\r\n }).find('.btn-primary').removeClass('btn').css({ 'padding': '6px 12px', 'border-radius': '4px', 'border': '1px solid transparent' });\r\n}\r\n\r\nshowInfoMessage(message: string) {\r\n bootbox.alert({\r\n title: \"Info..!!\",\r\n message: message,\r\n closeButton: false\r\n }).find('.btn-primary').removeClass('btn').css({ 'padding': '6px 12px', 'border-radius': '4px', 'border': '1px solid transparent' });\r\n}\r\n\r\nshowConfirmMessage(message: string) {\r\n bootbox.confirm({\r\n message: message,\r\n callback: function (result) { return result; /* result is a boolean; true = OK, false = Cancel*/ }\r\n }).find('.btn-primary').removeClass('btn').css({ 'padding': '6px 12px', 'border-radius': '4px', 'border': '1px solid transparent' });\r\n}\r\n\r\ndummyObservable(): Observable {\r\n return observableOf(1);\r\n}\r\n//#endregion\r\n\r\n\r\n \r\n}\r\n\r\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core'\r\ndeclare var bootbox: any;\r\nimport {WebClientService} from '../services/webclient.service';\r\nimport {CookieService} from 'ngx-cookie-service';\r\nimport { APWebService } from './apWeb.service';\r\n\r\nexport enum Environment {\r\n usProd = 'usprod',\r\n euProd = 'euProd',\r\n usStaging = 'usstaging',\r\n euStaging = 'eustaging',\r\n demo = 'demo',\r\n demoProd = 'demoProd',\r\n Dev = 'dev',\r\n Local = 'local',\r\n}\r\nexport enum UserPaths {\r\n //'AIAAAOF'= 1,\r\n 'AJcomE2EUID'= 2,\r\n 'Standalone'= 3,\r\n 'AJOppTreasury'= 4,\r\n 'AIAA'= 5\r\n}\r\n\r\nvar host = {\r\n dev: 'mywizard-aiprojectmanager.ciodev.accenture.com',\r\n stage: 'mywizard-aiprojectmanager.ciostage.accenture.com',\r\n prod: 'mywizard-aiprojectmanager.accenture.com',\r\n demo: 'mywizard-aiprojectmanagerdemo.ciostage.accenture.com',\r\n eustage: 'mywizard-aiprojectmanagereu.ciostage.accenture.com',\r\n euprod: 'mywizard-aiprojectmanagereu.accenture.com',\r\n demoprod: 'mywizard-aiprojectmanagerdemo.accenture.com',\r\n};\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EnvService {\r\n\r\n\r\n public globalServiceRootURL;\r\n public globalServiceClientId;\r\n public globalWebClientId;\r\n public globalRedirectUri;\r\n public configURLs: any = {\r\n serviceRootUrl: '',\r\n apiClientId: {},\r\n webClientId: '',\r\n redirectUri: '',\r\n\r\n };\r\n private userPath = UserPaths;\r\n\r\n public projectId;\r\n public releaseId;\r\n public UserDetails:any = {\r\n \r\n };\r\n public enterpriseid = '';\r\n \r\n constructor(private webclient:WebClientService, private cookieService:CookieService, private apWebService: APWebService) { }\r\n\r\n private setEnvVariables(): void {\r\n const hostname = window && window.location && window.location.hostname;\r\n this.enterpriseid = this.apWebService.enterpriseId;\r\n\r\n if (hostname.indexOf(host.dev) > -1) {\r\n this.configURLs.serviceRootUrl = 'https://mywizard-aiprojectmanagerapi.ciodev.accenture.com',\r\n this.configURLs.apiClientId = {},\r\n this.configURLs.webClientId = '',\r\n this.configURLs.redirectUri = ''\r\n }\r\n else if (hostname.indexOf(host.stage) > -1) {\r\n this.configURLs.serviceRootUrl = 'https://mywizard-aiprojectmanagerapi.ciostage.accenture.com',\r\n this.configURLs.apiClientId = { 'https://mywizard-aiprojectmanagerapi.ciostage.accenture.com': 'f972db5e-002e-48da-b826-76dfb7d863d0' },\r\n this.configURLs.webClientId = '0f18e0cd-ba76-4cf4-b29e-9b1c6190e764',\r\n this.configURLs.redirectUri = 'https://mywizard-aiprojectmanager.ciostage.accenture.com'\r\n //this._env = Environment.Dev;\r\n //this._apiUrl = 'https://dev-app.mokkapps.de/api';\r\n } else if (hostname.indexOf(host.prod) > -1) {\r\n this.configURLs.serviceRootUrl = 'https://mywizard-aiprojectmanagerapi.accenture.com',\r\n this.configURLs.apiClientId = { 'https://mywizard-aiprojectmanagerapi.accenture.com': '06dfe675-e08a-41f3-b27c-d32f21efe7a0' },\r\n this.configURLs.webClientId = 'e903643e-afe1-46ea-ae8f-e0816206aa0a',\r\n this.configURLs.redirectUri = 'https://mywizard-aiprojectmanager.accenture.com'\r\n //this._env = Environment.demo;\r\n // this._apiUrl = 'https://test-app.mokkapps.de/api';\r\n } else if (hostname.indexOf(host.euprod) > -1) {\r\n this.configURLs.serviceRootUrl = 'https://mywizard-aiprojectmanagereuapi.accenture.com',\r\n this.configURLs.apiClientId = { \"https://mywizard-aiprojectmanagereuapi.accenture.com\": \"ec88a02b-6b6f-4727-9327-98f5cdb87fe5\" },\r\n this.configURLs.webClientId = '308b3fc2-7d04-4b4c-94e2-b8f1d566264b',\r\n this.configURLs.redirectUri = 'https://mywizard-aiprojectmanagereu.accenture.com'\r\n //this._env = Environment.usStaging;\r\n //this._apiUrl = 'https://staging-app.mokkapps.de/api';\r\n } else if (hostname.indexOf(host.eustage) > -1) {\r\n this.configURLs.serviceRootUrl = 'https://mywizard-aiprojectmanagereuapi.ciostage.accenture.com',\r\n this.configURLs.apiClientId = { \"https://mywizard-aiprojectmanagereuapi.ciostage.accenture.com\": \"ef61dc7c-6140-4f41-9f0f-8282672ce0a4\" },\r\n this.configURLs.webClientId = 'b1951b48-be46-4569-8872-6cd0fa8537f9',\r\n this.configURLs.redirectUri = 'https://mywizard-aiprojectmanagereu.ciostage.accenture.com'\r\n //._env = Environment.euStaging;\r\n //this._apiUrl = 'https://prod-app.mokkapps.de.de/api';\r\n } else if (hostname.indexOf(host.demo) > -1) {\r\n this.configURLs.serviceRootUrl = 'https://mywizard-aiprojectmanagerdemoapi.ciostage.accenture.com',\r\n this.configURLs.apiClientId = {},\r\n this.configURLs.webClientId = '',\r\n this.configURLs.redirectUri = ''\r\n }\r\n else if (hostname.indexOf(host.demoprod) > -1) {\r\n this.configURLs.serviceRootUrl = 'https://mywizard-aiprojectmanagerdemoapi.accenture.com',\r\n this.configURLs.apiClientId = { 'https://mywizard-aiprojectmanagerdemoapi.accenture.com': '06dfe675-e08a-41f3-b27c-d32f21efe7a0' },\r\n this.configURLs.webClientId = 'e903643e-afe1-46ea-ae8f-e0816206aa0a',\r\n this.configURLs.redirectUri = 'https://mywizard-aiprojectmanagerdemo.accenture.com'\r\n } else {\r\n this.configURLs.serviceRootUrl = 'http://localhost:58779';\r\n //configURLs.federationLogoutUrl = 'https://federation-sts-stage.accenture.com/adfs/ls/?wa=wsignout1.0';\r\n this.configURLs.apiClientId = '';\r\n this.configURLs.webClientId = '';\r\n this.configURLs.redirectUri = '';\r\n //console.warn(`Cannot find environment for host name ${hostname}`);\r\n }\r\n this.globalServiceRootURL = this.configURLs.serviceRootUrl;\r\n this.globalServiceClientId = this.configURLs.apiClientId;\r\n this.globalWebClientId = this.configURLs.webClientId;\r\n this.globalRedirectUri = this.configURLs.redirectUri;\r\n }\r\n}","import { Component, HostListener, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n//import { debug } from 'console';\nimport { APWebService } from '../../services/apWeb.service';\ndeclare var $: any;\nimport { cloneDeep } from 'lodash';\nimport { DataService } from 'src/services/data.service';\n\n@Component({\n selector: 'app-add-asset',\n templateUrl: './add-asset.component.html',\n styleUrls: ['./add-asset.component.css']\n})\nexport class AddAssetComponent implements OnInit {\n\n public numberOfRecordsPerPage: number;\n public addAssetClicked: boolean = true;\n public AssetData = [];\n public AssetDetails: any = {\n Name: \"\",\n Description: \"\",\n AssetType: \"\",\n AutomationTechnique: \"\",\n AssetStatus: \"\"\n }\n\n public strPrimaryBenfit: string;\n public SubProbName: string;\n public UserType: any;\n public DMSProjectID: any;\n public E2EUID: any;\n public WSUID: any;\n public CMSUID: any;\n public TechniqWithAssets: any;\n public TechniqWithCustomAssets: any;\n public AssetDetail;\n public selectedValue: number;\n public CustomAssetid: any;\n public IsAICubeServiceDown: any;\n public Isadded: boolean;\n public emailId: string;\n public Subject: string;\n public bodyText: string;\n public message: string;\n public mailLink: string;\n public BluePrintData: any;\n public DefaultAssets: any;\n public SaveAssetDetails: any;\n //public details:{};\n public problemid: any;\n public subproblemid: any;\n public problemname: any;\n public subprobname: any;\n public supportGroupName: any;\n public AddedCustomAsset: boolean = false;\n public ProblemStatement: any;\n public AppName: string;\n public Type: string;\n public DatasourceID: any;\n\n public deletedasset: any;\n public btnDisable: boolean = true;\n public selectedItems = [];\n public defaultPage: number;\n public UserDetails: any = [];\n public BackUpOrginalAssetDetail: any;\n public assetList: any;\n public assetListBackup: any;\n\n constructor(public apwebservice: APWebService, private dataService: DataService,\n public router: Router) {\n\n }\n\n ngOnInit(): void {\n this.numberOfRecordsPerPage = 10;\n this.CustomAssetid = localStorage.getItem('fromCustomAsset') == 'customAsset' ? localStorage.getItem('CustomAssetid') : 0;\n //this.CustomAssetid = localStorage.getItem('CustomAssetid');\n this.GetAssestType();\n this.AddAsset();\n\n }\n\n changeNumberOfRecordsPerPage(event: any) {\n this.numberOfRecordsPerPage = +event.target.value;\n this.defaultPage = 1;\n }\n\n AddAsset() {\n \n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n\n this.UserType = this.UserDetails.UserType;\n this.DMSProjectID = this.UserDetails.ProjectID;\n this.E2EUID = this.UserDetails.E2EUID ? this.UserDetails.E2EUID : null;\n this.CMSUID = this.UserDetails.CMSUID ? this.UserDetails.CMSUID : null;\n this.WSUID = this.UserDetails.WSUID ? this.UserDetails.WSUID : null;\n if (this.UserDetails.FDSScope != undefined) {\n this.E2EUID = this.UserDetails.FDSScope.APContract.EndToEndUId;\n }\n this.apwebservice.getallassetsdetailsforblueprint(this.UserType, this.DMSProjectID, this.E2EUID, this.WSUID, this.CMSUID).subscribe(resp => {\n this.TechniqWithAssets = resp;\n\n\n //localStorage.setItem(\"TechniqWithAssets\", JSON.stringify(this.TechniqWithAssets));\n\n this.apwebservice.TechniqWithAssets = this.TechniqWithAssets;\n this.selectedValue = localStorage.getItem('fromCustomAsset') == 'customAsset' ? +localStorage.getItem('TechniqueID') : this.TechniqWithAssets[0].ID;\n this.AssetDetail = this.TechniqWithAssets.find(x => x.ID == this.selectedValue);\n this.BackUpOrginalAssetDetail = cloneDeep(this.AssetDetail);\n\n this.assetList = this.AssetDetail.Assets;\n this.assetListBackup = this.assetList;\n\n if (localStorage.getItem('fromCustomAsset') == 'customAsset') {\n this.AssetDetail.Assets = this.AssetDetail.Assets.sort((a, b) => a.ID > b.ID ? -1 : 1);\n }\n const index = this.selectedItems.indexOf(this.selectedValue);\n if (index > -1)\n this.selectedItems.push(this.selectedValue);\n // if (this.selectedItems.length > 0) {\n // this.btnDisable = false\n // }\n // else this.btnDisable = true;\n localStorage.removeItem('fromCustomAsset');\n\n\n this.TechniqWithCustomAssets = [];\n var Id = 0;\n var obj = {\n ID: Id,\n Name: \"Select\",\n }\n this.TechniqWithCustomAssets.push(obj);\n\n for (var i = 0; i < this.TechniqWithAssets.length; i++) {\n this.TechniqWithCustomAssets.push({\n ID: this.TechniqWithAssets[i].ID,\n Name: this.TechniqWithAssets[i].Name\n });\n }\n\n this.IsAICubeServiceDown = resp[0].IsAICubeServiceDown;\n this.emailId = \"myWizardAutomationSupport \";\n this.Subject = \"Unexpected error on Add Asset for Automation Planner application\";\n this.bodyText = \"Hello Support Team,%0D%0AUnable to load assets on Add Asset in Automation Planner.%0D%0A%0D%0A\";\n this.message = 'Unexpected error on Add Asset';\n this.mailLink = \"mailto:\" + this.emailId + \"?subject=\" + this.Subject + '&body=' + this.bodyText;\n\n\n //this.DefaultAssets = angular.copy($scope.TechniqWithAssets);\n this.DefaultAssets = JSON.parse(localStorage.getItem(\"TechniqWithAssets\"));\n //this.apWebService.bluePrintData\n if(this.apwebservice.problemid!=undefined)\n {\n this.problemid = this.apwebservice.problemid;\n sessionStorage.setItem('addproblemid', JSON.stringify( this.problemid ));\n this.subproblemid = this.apwebservice.subproblemid;\n sessionStorage.setItem('addsubproblemid', JSON.stringify( this.subproblemid ));\n this.problemname = this.apwebservice.problemname;\n sessionStorage.setItem('addproblemname', JSON.stringify( this.problemname ));\n this.subprobname = this.apwebservice.subprobname;\n sessionStorage.setItem('addsubprobname', JSON.stringify( this.subprobname ));\n }\n else{\n this.problemid = JSON.parse(sessionStorage.getItem('addproblemid'));\n this.subproblemid = JSON.parse(sessionStorage.getItem('addsubproblemid'));\n this.problemname = JSON.parse(sessionStorage.getItem('addproblemname'));\n this.subprobname = JSON.parse(sessionStorage.getItem('addsubprobname'));\n }\n var existingdata;\n if(this.apwebservice.bluePrintData!=undefined)\n {\n existingdata = this.apwebservice.bluePrintData.ProblemStatement;\n sessionStorage.setItem('addexistingdata', JSON.stringify( existingdata ));\n }\n else{\n existingdata=JSON.parse(sessionStorage.getItem('addexistingdata'));\n }\n existingdata = existingdata ? existingdata.filter(x => x.ID == this.problemid) : \"\";\n // var existingdata = $.(this.apwebservice.bluePrintData.ProblemStatement, function (element, index) {\n // return ((element.ID) == problemid);\n // });\n for (var a = 0; a < this.TechniqWithAssets.length; a++) {\n for (var b = 0; b < existingdata.length; b++) {\n for (var c = 0; c < existingdata[b].SubProblemStatement.length; c++) {\n if (existingdata[b].SubProblemStatement[c].ID == this.subproblemid) {\n if (existingdata[b].SubProblemStatement[c].TechniqueAsset.length > 0) {\n for (var d = 0; d < existingdata[b].SubProblemStatement[c].TechniqueAsset.length; d++) {\n if (existingdata[b].SubProblemStatement[c].TechniqueAsset[d].TechniqueID == this.TechniqWithAssets[a].ID\n && existingdata[b].SubProblemStatement[c].TechniqueAsset[d].TechniqueName == this.TechniqWithAssets[a].Name) {\n for (var e = 0; e < this.TechniqWithAssets[a].Assets.length; e++) {\n if (existingdata[b].SubProblemStatement[c].TechniqueAsset[d].AssetID == this.TechniqWithAssets[a].Assets[e].ID\n && existingdata[b].SubProblemStatement[c].TechniqueAsset[d].AssetName == this.TechniqWithAssets[a].Assets[e].Name\n && existingdata[b].SubProblemStatement[c].TechniqueAsset[d].IsDeleted == false\n ) {\n this.TechniqWithAssets[a].Assets[e].IsDeleted = true;\n }\n }\n }\n }\n }\n }\n }\n }\n }\n\n if (this.deletedasset != undefined) {\n var delasset = this.deletedasset.split(',');\n }\n if (delasset != null && delasset != undefined) {\n $.each(this.TechniqWithAssets, function (key, value) {\n if (value != null) {\n if (value.ID == parseInt(delasset[0])) {\n $.each(value.Assets, function (asskey, assvalue) {\n if (assvalue != null) {\n if (assvalue.ID == parseInt(delasset[1])) {\n if (delasset[2] == \"true\") {\n assvalue.IsDeleted = false;\n }\n }\n }\n });\n }\n }\n });\n }\n var techarr = [];\n this.AssetData = [];\n for (var i = 0; i < this.TechniqWithAssets.length; i++) {\n techarr.push({\n name: this.TechniqWithAssets[i].Name,\n Id: this.TechniqWithAssets[i].ID\n });\n }\n // var filteredassetdata = jQuery.grep($scope.TechniqWithAssets[0].Assets, function (element, index) {\n // if (element != null) {\n // return ((element.IsDeleted) == false);\n // }\n // });\n\n var filteredassetdata = this.TechniqWithAssets[0].Assets.filter(x => x.IsDeleted == false);\n\n this.AssetData = filteredassetdata;\n // this.TechniqueData = techarr;\n // this.value = techarr[0].name;\n // this.ProblemID = this.problemid;\n // this.SubProblemID = this.subproblemid;\n // this.ProblemName = this.problemname;\n // this.SubProblemName = this.subprobname;\n\n }, error => {\n console.log(error);\n });\n }\n\n dropdownAssestChange(value) { \n $('#searchTextBox').val('');\n this.AssetDetail = this.TechniqWithAssets.find(x => x.ID == value.target.value);\n //this.AssetDetail = this.BackUpOrginalAssetDetail.find(x => x.ID == value.target.value);\n this.BackUpOrginalAssetDetail = this.AssetDetail;\n this.assetList = this.AssetDetail.Assets;\n this.assetListBackup = this.assetList;\n this.defaultPage = 1;\n }\n\n GetAssestType() {\n this.apwebservice.getassetTypes().subscribe(resp => {\n this.AssetDetails.AssetType = resp[0];\n this.AssetDetails.AssetStatus = resp[1];\n localStorage.setItem(\"AssetDetails\", JSON.stringify(this.AssetDetails));\n //this.apwebservice.AssetDetails = this.AssetDetails;\n }, error => {\n console.log(error);\n });\n }\n\n OnClickOfSaveAddPopUp(Assets, selectedValue, addAssetClicked) {\n // if ($scope.isemptytech == true) {\n // selectedtechnique = null;\n // }\n if (addAssetClicked == true) {\n\n var problemid = this.apwebservice.problemid; //9050;//$scope.ProblemID;\n var subproblemid = this.apwebservice.subproblemid; //44704;//$scope.SubProblemID;\n var problemname = this.apwebservice.problemname; //'Network';//$scope.ProblemName;\n var issubdynamic = false; //$scope.IsSubDynamicBulk;\n this.AppName = this.apwebservice.AppName;\n var supportGroupName = this.apwebservice.supportGroupName;\n this.Type = this.apwebservice.Type;\n this.DatasourceID = this.apwebservice.DatasourceID;\n var AssetTobeAdded = [];\n var details: any = [];\n var isassetrecommendation = false;\n var techId;\n var assetIds = [];\n\n for (var k = 0; k < Assets.length; k++) {\n if ($(\"#chk_\" + Assets[k].ID).is(':checked')) {\n var check = Assets[k].Name;\n var blupeprintscope = this.apwebservice.bluePrintData;//$scope.BluePrintData; \n\n var techarr: any = [];\n var automationtechname = null;\n techarr = Assets[k].AutomationTechnique;\n $.each(techarr, function (techarritem, indexInArray) {\n if (indexInArray == selectedValue) {\n automationtechname = selectedValue;\n }\n else {\n automationtechname = techarr.Name;\n }\n });\n\n var buyervalarr = [];\n $.each(Assets[k].BayerValue, function (k, val) {\n buyervalarr.push({\n ID: val.ID,\n Name: val.Name\n });\n });\n $.each(blupeprintscope.ProblemStatement, function (main_key, prbvalue) {\n if (prbvalue != null) {\n if (prbvalue.ID == problemid) {\n $.each(prbvalue.SubProblemStatement, function (sub_key, subvalue) {\n if (subvalue != null) {\n if (subvalue.ID == subproblemid) {\n $.each(subvalue.TechniqueAsset, function (tech_key, value) {\n if (value != null) {\n if (automationtechname != null) {\n isassetrecommendation = true;\n if (value.TechniqueName == automationtechname) {\n var results = subvalue.TechniqueAsset.filter(x => x.AssetID == Assets[k].ID, true);\n //var results = $.filter('filter')(subvalue.TechniqueAsset, { AssetID: Assets[k].ID }, true);\n if (results.length == 0) {\n subvalue.TechniqueAsset.push({\n TechniqueID: Assets[k].AutomationTechnique.ID,\n TechniqueName: Assets[k].AutomationTechnique.Name,\n TechniqueType: Assets[k].AutomationTechnique.Type,\n AssetID: Assets[k].ID,\n AssetName: Assets[k].Name,\n MASAssetId: Assets[k].MASAssetId,\n IsAccepted: true,\n IsActive: false,\n IsDeleted: false,\n IsAssetanActivity: false,\n BayerValueString: Assets[k].BayerValueString,\n FixExecutionString: Assets[k].FixExecutionString,\n OldFixExecutionString: Assets[k].OldFixExecutionString,\n EffortSavingsRange: Assets[k].EffortSavingsRange,\n BayerValue: buyervalarr,\n IsCustomAsset: Assets[k].IsCustomAsset,\n IsClientSpecific: Assets[k].IsClientSpecific,\n IsAssetRecommended: isassetrecommendation,\n IsDynamicBulkUpload: issubdynamic,\n SupportGroupName: supportGroupName\n });\n // $scope.Isadded = true;\n }\n else {\n if (results.length > 0) {\n if (results[0].IsDeleted == true) {\n $.each(subvalue.TechniqueAsset, function (ass_key, assvalue) {\n if (assvalue.AssetID == Assets[k].ID) {\n assvalue.IsDeleted = false;\n assvalue.IsAccepted = true;\n assvalue.IsActive = false;\n }\n });\n //$scope.Isadded = true;\n }\n }\n }\n }\n else {\n var results = subvalue.TechniqueAsset.filter(x => x.TechniqueName == automationtechname, true);\n // var results = $.filter('filter')(subvalue.TechniqueAsset, { TechniqueName: automationtechname }, true);\n if (results.length == 0) {\n subvalue.TechniqueAsset.push({\n TechniqueID: Assets[k].AutomationTechnique.ID,\n TechniqueName: Assets[k].AutomationTechnique.Name,\n TechniqueType: Assets[k].AutomationTechnique.Type,\n AssetID: Assets[k].ID,\n AssetName: Assets[k].Name,\n MASAssetId: Assets[k].MASAssetId,\n IsAccepted: true,\n IsDeleted: false,\n IsAssetanActivity: false,\n BayerValueString: Assets[k].BayerValueString,\n FixExecutionString: Assets[k].FixExecutionString,\n OldFixExecutionString: Assets[k].OldFixExecutionString,\n EffortSavings: Assets[k].EffortSavingsRange,\n BayerValue: buyervalarr,\n IsCustomAsset: Assets[k].IsCustomAsset,\n IsClientSpecific: Assets[k].IsClientSpecific,\n IsAssetRecommended: isassetrecommendation,\n IsDynamicBulkUpload: issubdynamic,\n SupportGroupName: supportGroupName\n //IsDynamicBulkUpload: otherdata[k].IsDynamicBulkUpload\n });\n this.Isadded = true;\n }\n }\n }\n else {\n isassetrecommendation = false;\n var results = $.grep(subvalue.TechniqueAsset, function (element, index) {\n if (element != null) {\n return ((element.AssetID == Assets[k].ID) && (element.TechniqueName == automationtechname));\n }\n });\n if (results.length == 0) {\n subvalue.TechniqueAsset.push({\n TechniqueID: null,\n TechniqueName: null,\n TechniqueType: null,\n AssetID: Assets[k].ID,\n AssetName: Assets[k].Name,\n MASAssetId: Assets[k].MASAssetId,\n IsAccepted: true,\n IsActive: false,\n IsDeleted: false,\n IsAssetanActivity: false,\n BayerValueString: Assets[k].BayerValueString,\n FixExecutionString: Assets[k].FixExecutionString,\n OldFixExecutionString: Assets[k].OldFixExecutionString,\n EffortSavingsRange: Assets[k].EffortSavingsRange,\n BayerValue: buyervalarr,\n IsCustomAsset: Assets[k].IsCustomAsset,\n IsClientSpecific: Assets[k].IsClientSpecific,\n IsAssetRecommended: isassetrecommendation,\n IsDynamicBulkUpload: issubdynamic,\n SupportGroupName: supportGroupName\n //IsDynamicBulkUpload: otherdata[k].IsDynamicBulkUpload\n });\n // $scope.Isadded = true;\n }\n else {\n if (results.length > 0) {\n if (results[0].IsDeleted == true) {\n $.each(subvalue.TechniqueAsset, function (ass_key, assvalue) {\n if (assvalue.AssetID == Assets[k].ID) {\n assvalue.IsDeleted = false;\n assvalue.IsAccepted = true;\n assvalue.IsActive = false;\n }\n });\n // $scope.Isadded = true;\n }\n }\n }\n }\n }\n });\n }\n }\n });\n }\n }\n });\n if (automationtechname == null && this.AddedCustomAsset != true) {\n var techId = null;\n var techname = null;\n var assetId = Assets[k].ID;\n var assetname = Assets[k].Name;\n }\n else {\n var techId = Assets[k].AutomationTechnique.ID;\n var techname = Assets[k].AutomationTechnique.Name;\n var assetId = Assets[k].ID;\n var assetname = Assets[k].Name;\n this.AddedCustomAsset = false;\n }\n details = this.GetDataOnAdd(problemid, subproblemid, problemname, techId, techname, Assets[k].ID, Assets[k].Name, Assets[k].FixExecutionString, Assets[k].OldFixExecutionString, Assets[k].BayerValueString, Assets[k].EffortSavingsRange, true, false, false, buyervalarr, AssetTobeAdded, Assets[k].IsCustomAsset, Assets[k].IsClientSpecific, Assets[k].MASAssetId, isassetrecommendation, issubdynamic, supportGroupName);\n assetIds.push(Assets[k].ID);\n if (AssetTobeAdded != undefined && AssetTobeAdded.length == 0) {\n AssetTobeAdded.push(details);\n // $scope.Isadded = false;\n }\n else {\n AssetTobeAdded = [];\n AssetTobeAdded = details;\n }\n }\n\n }\n this.SaveAssetDetails = AssetTobeAdded;\n\n //this.SaveAssetDetails = '[{\"ProjectId\":9,\"ID\":\"6886\",\"ProblemStatement\":[{\"ID\":6672,\"SubProblemStatement\":[{\"ID\":31214,\"Name\":\"Tech Support\",\"ParentId\":6672,\"TechniqueAsset\":[{\"TechniqueID\":27,\"TechniqueName\":\"Auto-Resolve\",\"AssetID\":3189,\"AssetName\":\"Adding custom asset\",\"MASAssetId\":null,\"BayerValueString\":\"Cost Optimization\",\"FixExecutionString\":\"\",\"OldFixExecutionString\":\"Machine Learning \",\"EffortSavingsRange\":null,\"IsAccepted\":true,\"IsDeleted\":false,\"BayerValue\":[{\"ID\":0,\"Name\":\"Cost Optimization\"}],\"IsCustomAsset\":true,\"IsClientSpecific\":false,\"IsAssetRecommended\":true,\"IsDynamicBulkUpload\":false}],\"AppName\":\"AIAA\",\"Type\":\"Data\"}],\"DataSourceId\":1901}]}]';\n\n this.apwebservice.saveAutomationPlanPopupData(AssetTobeAdded).subscribe(resp => {\n let resp1: any = resp;\n //console.log('Saved Successfully');\n if (resp1 == \"Asset already exists.\") {\n this.apwebservice.displayErrorMessage(\"Asset already exists\");\n //this.router.navigateByUrl('/home');\n this.apwebservice.RedirectToHome();\n\n }\n else {\n this.apwebservice.showSuccessMessage(\"Added Successfully\");\n\n var UniqueIDs = resp1.split(',');\n $.each(UniqueIDs, function (key, value) {\n $.each(blupeprintscope.ProblemStatement, function (mainkey, prbvalue) {\n if (prbvalue != null) {\n if (prbvalue.ID == problemid) {\n $.each(prbvalue.SubProblemStatement, function (subkey, subprbvalue) {\n if (subprbvalue != null) {\n if (subprbvalue.ID == subproblemid) {\n $.each(subprbvalue.TechniqueAsset, function (techkey, techvalue) {\n if (techvalue != null) {\n if (techvalue.TechniqueID == techId && techvalue.UniqueId == undefined) {\n var resultassetIds = value.split('_');\n if (resultassetIds[1] == techvalue.AssetID) {\n if (resultassetIds[0] != \"\") {\n techvalue.UniqueId = parseInt(resultassetIds[0]);\n }\n }\n // });\n }\n }\n });\n $.each(subprbvalue.TechniqueAsset, function (techkey, techvalue) {\n if (techvalue != undefined) {\n if (techvalue != null) {\n if (techvalue.AssetName == null && techvalue.AssetID == null && techvalue.TechniqueID == null) {\n subprbvalue.TechniqueAsset.splice(techkey, 1);\n }\n }\n }\n });\n }\n }\n });\n }\n }\n });\n });\n //this.router.navigateByUrl('/home');\n this.apwebservice.RedirectToHome();\n }\n })\n }\n }\n\n goToHome() {\n this.apwebservice.RedirectToHome();\n \n this.dataService.redirected = true;\n //this.router.navigate(['home']);\n }\n\n GetDataOnAdd(problemid, subproblemid, problemname, TechniqId, TechniqueName, Assetid, AssetName, fixexecutionname, oldfixexecutionname, strbyervalue, savingrange, IsAccepted, IsActive, IsDeleted, BuyerValuesArray, AssetTobeAdded, IsCustomAsset, IsClientSpecific, MASAssetId, IsAssetRecommended, issubdynamic, supportGroupName) {\n var a = AssetTobeAdded;\n var details = {\n };\n var ProblemStatementN = [];\n var SubProblemStatementN = [];\n\n if (AssetTobeAdded != undefined && AssetTobeAdded.length > 0) {\n for (var a: any = 0; a < AssetTobeAdded[0].ProblemStatement.length; a++) {\n if (AssetTobeAdded[0].ProblemStatement[a].ID == problemid) {\n for (var b = 0; b < AssetTobeAdded[0].ProblemStatement[a].SubProblemStatement.length; b++) {\n if (AssetTobeAdded[0].ProblemStatement[a].SubProblemStatement[b].ID == subproblemid) {\n for (var c = 0; c < AssetTobeAdded[0].ProblemStatement[a].SubProblemStatement[b].TechniqueAsset.length; c++) {\n if (AssetTobeAdded[0].ProblemStatement[a].SubProblemStatement[b].TechniqueAsset[c].TechniqueID == TechniqId) {\n var results = $.grep(AssetTobeAdded[0].ProblemStatement[a].SubProblemStatement[b].TechniqueAsset, function (element, index) {\n if (element != null) {\n return ((element.AssetName == AssetName) && (element.TechniqueName == TechniqueName));\n }\n });\n if (results == 0) {\n AssetTobeAdded[0].ProblemStatement[a].SubProblemStatement[b].TechniqueAsset.push({\n TechniqueID: TechniqId,\n TechniqueName: TechniqueName,\n AssetID: Assetid,\n AssetName: AssetName,\n MASAssetId: MASAssetId,\n BayerValueString: strbyervalue,\n FixExecutionString: fixexecutionname,\n OldFixExecutionString: oldfixexecutionname,\n EffortSavingsRange: savingrange,\n IsAccepted: IsAccepted,\n IsDeleted: IsDeleted,\n BayerValue: BuyerValuesArray,\n IsCustomAsset: IsCustomAsset,\n IsClientSpecific: IsClientSpecific,\n IsAssetRecommended: IsAssetRecommended,\n IsDynamicBulkUpload: issubdynamic,\n SupportGroupName: supportGroupName\n });\n }\n // }\n }\n else {\n AssetTobeAdded[0].ProblemStatement[a].SubProblemStatement[b].TechniqueAsset.push({\n TechniqueID: TechniqId,\n TechniqueName: TechniqueName,\n AssetID: Assetid,\n AssetName: AssetName,\n MASAssetId: MASAssetId,\n BayerValueString: strbyervalue,\n FixExecutionString: fixexecutionname,\n OldFixExecutionString: oldfixexecutionname,\n EffortSavingsRange: savingrange,\n IsAccepted: IsAccepted,\n IsDeleted: IsDeleted,\n BayerValue: BuyerValuesArray,\n IsCustomAsset: IsCustomAsset,\n IsClientSpecific: IsClientSpecific,\n IsAssetRecommended: IsAssetRecommended,\n IsDynamicBulkUpload: issubdynamic,\n SupportGroupName: supportGroupName\n });\n }\n }\n }\n }\n }\n }\n details = AssetTobeAdded;\n }\n else {\n var AutomationTechnique = [];\n AutomationTechnique.push({\n TechniqueID: TechniqId,\n TechniqueName: TechniqueName,\n AssetID: Assetid,\n AssetName: AssetName,\n MASAssetId: MASAssetId,\n BayerValueString: strbyervalue,\n FixExecutionString: fixexecutionname,\n OldFixExecutionString: oldfixexecutionname,\n EffortSavingsRange: savingrange,\n IsAccepted: IsAccepted,\n IsDeleted: IsDeleted,\n BayerValue: BuyerValuesArray,\n IsCustomAsset: IsCustomAsset,\n IsClientSpecific: IsClientSpecific,\n IsAssetRecommended: IsAssetRecommended,\n IsDynamicBulkUpload: issubdynamic,\n SupportGroupName: supportGroupName\n })\n var SubProblemStatement = [];\n SubProblemStatement.push({\n ID: subproblemid,\n Name: this.subprobname,\n ParentId: problemid,\n TechniqueAsset: AutomationTechnique,\n AppName: this.AppName,\n Type: this.Type\n })\n\n this.ProblemStatement = [];\n this.ProblemStatement.push({\n ID: problemid,\n SubProblemStatement: SubProblemStatement,\n DataSourceId: this.DatasourceID\n })\n if (details != undefined) {\n details = {\n ProjectId: 9,// sessionStorage.UserDetails.ProjectID,\n ID: this.apwebservice.bluePrintData.Id,//sessionStorage.UserDetails.BaselineId,\n //OperatingGroup: \"\",//this.BluePrintData.OperatingGroup,\n //Technology: \"\",//sessionStorage.UserDetails.Technology,\n //IndustrySegment: \"\",//this.BluePrintData.IndustrySegment,\n //SubIndustry:\"\",// this.BluePrintData.SubIndustry,\n ProblemStatement: this.ProblemStatement\n }\n }\n\n }\n\n return details;\n }\n\n checkEvent(event, assetID) {\n if (event.target.checked) {\n this.selectedItems.push(assetID);\n\n }\n else {\n const index = this.selectedItems.indexOf(assetID);\n if (index > -1)\n this.selectedItems.splice(index, 1);\n //this.selectedItems.pop();\n }\n if ((this.selectedItems.length > 0))\n this.btnDisable = false;\n else\n this.btnDisable = true;\n }\n\n OnClickOfAddNewPopUp = function () {\n this.addAssetClick = false;\n this.apwebservice.existingCustomAssetsList = this.BackUpOrginalAssetDetail.Assets;\n //$('#divModal').removeClass('modal-lg');\n // if (this.AssetDetails.Name == \"\" || this.AssetDetails.Description == \"\" || this.AssetDetails.AssetType == \"Select\" ||\n // this.AssetDetails.AutomationTechnique == \"Select\" || this.strPrimaryBenfit == \"\"\n // this.btnDisable = true;\n }\n\n OnClickOfSearchAsset(searchText: string) { \n searchText = searchText != undefined && searchText != \"\" ? searchText.toString().toLowerCase().trim() : \"\";\n if (searchText != \"\") {\n this.assetList = this.assetListBackup.filter(row => {\n return ((row.Name != undefined ? row.Name.toLowerCase().includes(searchText) : false)\n );\n })\n this.defaultPage = 1;\n }\n else\n this.AssetDetail = this.BackUpOrginalAssetDetail;\n }\n\n clearSearch() { \n this.AssetDetail = JSON.parse(JSON.stringify(this.BackUpOrginalAssetDetail));\n this.BackUpOrginalAssetDetail = this.AssetDetail;\n this.assetList = this.AssetDetail.Assets;\n this.assetListBackup = this.assetList;\n this.defaultPage = 1;\n }\n\n @HostListener('window:popstate', ['$event'])\n onPopState(event) {\n this.goToHome();\n }\n}\n","\n
\n
\n
\n
\n \n
{{problemname}} | {{subprobname}}
\n \n
\n \n \n
\n
\n
\n
\n
Add Asset
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n AI APPPrimary BenefitsEffort Savings Range (%)
{{asset.Name}}{{asset.BayerValueString}}{{asset.EffortSavingsRange}}
\n
\n
\n \n
\n
\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n\n\n\n\n","import { Injectable, EventEmitter } from '@angular/core'\r\n\r\n//import { Data } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class DataService {\r\n public iom: any;\r\n //public aof: any;\r\n public manual: any;\r\n public pendingsubmission: any;\r\n public submitted: any;\r\n public BlueprintName: any;\r\n public BlueprintId: number;\r\n public ModifiedOn: any;\r\n public bluePrintDataReceived = new EventEmitter();\r\n public fdsBluePrintDataReceived = new EventEmitter();\r\n public baseLineDataReceived = new EventEmitter();\r\n public oldE2EUID: string;\r\n public ShowFolderNavigation: string;\r\n public ScopeCopy: any;;\r\n public selectedCatOpp: any;\r\n public selectedSubOpp: any;\r\n public HomeCompDataReceived = new EventEmitter();\r\n public updateBluePrintData = new EventEmitter();\r\n public FDSUserDetailsForOpp= new EventEmitter();\r\n public FDSBluePrintData = [];\r\n public BlueprintList: any;\r\n public isBaselineFlag = true;\r\n public effSaving: any;\r\n public costdav: any;\r\n public BaselineID: any;\r\n public AssetList: any;\r\n public selectedClient:string;\r\n public UserDetails: {\r\n EnterpriseId: string, IsUserReadonly: boolean, DatasourceID: number,\r\n E2EUID: string, CMSUID: string, WSUID: string, ClientName: string, EngName: string, ProjectName: string,\r\n UserType: string, AppName: string, FdsReadOnly: boolean, UserPath: string, ProjectID: number, Is: string, Technology: string, ClosedEntity: boolean\r\n SelectedClient: string,\r\n SelectedEngagement: string,\r\n SelectedCMSName: string,\r\n SelectedWSName: string\r\n FDSScope: {\r\n oldE2EUID: string, SelectedEntityUID: string, SelectedEntityStatus: string,\r\n ParentStatus: string, SelectedEntityType: string,\r\n SelectedEntityName: string, APContract: { EndToEndUId: string, EndToEndName: string }\r\n }\r\n }\r\n public redirected: boolean;\r\n public BlueprintData: any;\r\n public UserPaths = {\r\n 'AIAAAOF': 1,\r\n 'AJcomE2EUID': 2,\r\n 'Standalone': 3,\r\n 'AJOppTreasury': 4,\r\n 'AIAA': 5\r\n };\r\n public pageRefresh: boolean;\r\n public updatechartdata = new EventEmitter();\r\n public bluePrintIDFromAJ: any;\r\n public appNameFromAJ: any;\r\n public deepDiveIDFromAJ: any;\r\n public categoryIdFromAJ: any;\r\n public subCategoryIdFromAJ: any;\r\n public editPageRefresh: boolean;\r\n public ExcelMappingFeilds: any;\r\n public FeildData : any;\r\n public ExcelColumns : any;\r\n public UrlValid : boolean;\r\n}\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","import { Component } from '@angular/core';\n// import { MsalService, BroadcastService } from '@azure/msal-angular';\nimport {\n MSAL_GUARD_CONFIG,\n // MSAL_CONFIG_ANGULAR,\n MsalGuardConfiguration\n , MsalService, MsalModule, MsalInterceptor, MSAL_INSTANCE, MsalGuard,\n MsalInterceptorConfiguration, MSAL_INTERCEPTOR_CONFIG, MsalBroadcastService\n} from '@azure/msal-angular';\nimport { APWebServiceBaseline } from '../services/apWeb.Baseline.service';\nimport { APWebServiceFDS } from '../services/apWeb.FDS.service';\nimport { APWebServiceJourneyPlan } from '../services/apWeb.JourneyPlan.service';\nimport { APWebServiceProblemStatement } from '../services/apWeb.ProblemStatement.service';\nimport { APWebServiceDashBoard } from '../services/apWeb.DashBoard.service';\nimport { APWebServiceBluePrint } from '../services/apWeb.BluePrint.service';\nimport * as $ from \"jquery\";\n\nimport { APWebService } from '../services/apWeb.service';\nimport { DataService } from '../services/data.service';\n\n// import { Subscription } from 'Rxjs';\nimport { async, Subject, Subscription } from 'rxjs';\nimport jwt_decode from 'jwt-decode';\n\nimport { Router } from '@angular/router';\nimport { stringify } from '@angular/compiler/src/util';\nimport { AppConfigService } from 'src/services/app-config.service';\ndeclare var userNotification: any;\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n public enterpriseId: string;\n private subscription: Subscription;\n\n public ClientName = '';\n public EngagementName = '';\n public ProposalName = '';\n public enterpriseid = '';\n public defaultproposalindex = 0;\n public defaultproposalid = '';\n public error = false;\n public count = 0;\n public clickoffolder = 0;\n public CMSFolderName = [];\n public cmsnavigationflag = false;\n public home = false;\n public isBaselineFlag = true;\n public ShowFolderNavigation = false;\n public IsAuthorizationServiceDown: boolean;\n public authorizationdata = {};\n public BlueprintList: any;\n public showDownloadedfiles = false;\n public btnDownloadDisable = true;\n public downloadDatasourceId = 0;\n public ManualDataSourceId = null;\n public policyLink = \"https://policies.accenture.com/Pages/0901-1000/1000.aspx\";\n public DataPrivacy = \"https://policies.accenture.com/policy/0090\";\n public DataMasking = \"https://alm.accenture.com/wiki/display/MYW/Data+Masking+in+Manual+Uploads\";\n public UserDetails: any;\n public ScopeSelectorData: any;\n public oldE2EUID: '';\n public scopecopy: {};\n public nobaseline = false;\n public hideScope = true;\n public ScopeSelector: any;\n public DefaultClient: string;\n public DefaultEngagement: string;\n public DefaultProject: string;\n public Dropdownclients: any;\n public showScopeSelector: string = \"\";\n public clickedonheadervalues: boolean = true;\n public filteredClient: any;\n public filteredEngagement: any;\n public BaselinedBlueprintCount: string;\n public errLabel: string;\n public token: any;\n public EndToEndUIdtemp: any;\n public CMSId: any;\n public WSId: any;\n public payload_token: any;\n public BlueprintIDList = [];\n public TotalBlueprintIDList: any;\n public isshowFolder = false;\n public tempprojid: any;\n public DefaultProjectName: any;\n public CopyDefaultProjectName: any;\n public useraccessmodel: {\n 'UserType': string,\n 'E2EUID': string,\n 'FDSLevel': string,\n 'DatasourceID': number,\n 'IsReadOnly': boolean,\n 'CMSUID': string,\n 'WSUID': string\n };\n public popupopenclose: boolean = false;\n public standaloneScope: boolean = false;\n public flag: boolean;\n public userAuth: boolean = true;\n public message: string = \"\";\n public emailId: string = \"\";\n public Subject: string = \"\";\n public bodyText: string = \"\";\n public bodyTxt: string = \"\";\n public mailLink: string = \"\";\n public datasourceIdNotExists: boolean = false;\n public closedEntity: boolean;\n public scopeSelectorLocation: string = '';\n public environmentDetails: any;\n public urlValid : boolean;\n private readonly _destroying$ = new Subject();\n constructor(\n private apWebServiceBaseline: APWebServiceBaseline,\n private dataService: DataService,\n public apWebService: APWebService,\n private broadcastService: MsalBroadcastService,\n private route: Router,\n private authMSALService: MsalService,\n private appConfig: AppConfigService) {\n //this.initializeUserNotificationContent(); \n }\n\n\n\n // ngOnInit(): void {\n // //userNotification.showUserNotificationModalPopup(); \n\n // this.apWebService.standaloneScopeEvent.subscribe(scope => {\n // this.standaloneScope = scope;\n // }, error => {\n // this.apWebService.showErrorMessage(error);\n // })\n\n // var obj = this;\n\n // this.environmentDetails = this.appConfig.environmentSettings;\n // if (this.environmentDetails.MSALenabled == true) {\n // this.broadcastService.subscribe(\"msal:loginFailure\", (payload) => {\n // this.apWebServiceBaseline.showErrorMessage(\"Some error in authentication.\");\n // });\n // this.broadcastService.subscribe(\"msal:loginSuccess\", (payload) => {\n // //sessionStorage.setItem(\"userName\", this.getDecodedAccessToken(payload._token).preferred_username);\n // // this.route.navigate([\"/home\"]);\n // //this.getHeaderData();\n // });\n\n // if (localStorage.getItem('msal.idtoken') != undefined && localStorage.getItem('msal.idtoken') != '')\n // this.apWebService.showConfidentialityMessage('You are using an Accenture proprietary tool (\"myWizard\"). You understand that this tool may contain ACCENTURE, CLIENT, OR VENDOR / PARTNER CONFIDENTIAL INFORMATION. You are obligated to adhere to applicable confidentiality obligations and Accenture’s policies, including Policy 69 – Confidentiality, when using the tool and information in the tool. Information in the tool can only be shared with those authorized to receive it. If you are downloading/exporting Confidential Information to another file or report, you must label that file or report as Accenture Confidential. If you have any questions, please email your question to confidentiality@accenture.com or contact your Leadership. Thank you!');\n\n // this.token = localStorage.getItem(\"msal.idtoken\");\n // this.payload_token = this.getDecodedAccessToken(this.token); // decodeing tokan here\n // this.apWebService.enterpriseId = this.payload_token.preferred_username.split('@')[0];\n // this.enterpriseid = this.payload_token.preferred_username.split('@')[0];\n // sessionStorage.setItem('enterpriseId', this.apWebService.enterpriseId);\n // // this.route.navigate([\"/home\"]);\n // }\n // else {\n // //local changes\n // sessionStorage.setItem('enterpriseId', 'pravalika.pogula');\n // this.apWebService.enterpriseId = 'pravalika.pogula';\n // this.enterpriseid = 'pravalika.pogula';\n // //this.route.navigate([\"/home\"]);\n\n // //this.getHeaderData(); \n // //this.checkUserAccess();\n // }\n // obj.dataService.updatechartdata.subscribe(chartdata => {\n // if (this.UserDetails.UserType == 1)\n // obj.GetBlueprints(this.dataService.UserDetails[\"UserType\"], this.dataService.UserDetails[\"ProjectName\"], this.dataService.UserDetails[\"ProjectID\"], null, this.dataService.UserDetails[\"E2EUID\"], null)\n // else\n // this.GetFDSBlueprints(this.UserDetails);\n\n // }, error => {\n // this.apWebService.showErrorMessage(error);\n // });\n // this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n\n // if (this.UserDetails != undefined) {\n // sessionStorage.setItem(\"UserDetails\", JSON.stringify(this.UserDetails));\n // }\n // else {\n // this.UserDetails = sessionStorage.setItem(\"UserDetails\", this.UserDetails);\n // }\n\n // if (this.UserDetails.IsUserReadonly != undefined) {\n // JSON.parse(sessionStorage.getItem(\"UserDetails\")).IsUserReadonly = this.UserDetails.IsUserReadonly;\n // //sessionStorage.setItem['UserDetails'].IsUserReadonly = this.UserDetails.IsUserReadonly;\n // }\n // else {\n // this.UserDetails['IsUserReadonly'] = false//sessionStorage.setItem['UserDetails']['IsUserReadonly'];\n // }\n\n // if (sessionStorage['oldE2EUID'] != undefined)\n // this.oldE2EUID = sessionStorage['oldE2EUID'];\n // else\n // this.oldE2EUID = sessionStorage['oldE2EUID'];\n\n // if (sessionStorage['Authorization'] != undefined)\n // this.authorizationdata = sessionStorage['Authorization'];\n // else\n // this.authorizationdata = sessionStorage['Authorization'];\n\n // if ((this.UserDetails.FdsReadOnly == true) || this.UserDetails.UserType == 3) {\n // if (window.Storage) {\n // if (sessionStorage.getItem('fdsuserdetail') != undefined && sessionStorage.getItem('fdsuserdetail') != null && sessionStorage.getItem('fdsuserdetail') != \"null\") {\n // if (this.UserDetails.DatasourceID == (JSON.parse(sessionStorage.getItem('fdsuserdetail')).DatasourceID) && sessionStorage.getItem('IsFDSApply') == \"true\") {\n // this.UserDetails = JSON.parse(sessionStorage.getItem('fdsuserdetail'));\n // sessionStorage.setItem('UserDetails', JSON.stringify(this.UserDetails))\n // // console.log(sessionStorage['UserDetails']);\n // //sessionStorage[\"UserDetails\"] = this.UserDetails;\n // }\n // else {\n // //sessionStorage.setItem('IsFDSApply', false);\n // }\n // }\n // }\n // }\n\n // if (true) {//adalService.userInfo && adalService.userInfo.userName\n // var myObject = {\n // EnterpriseId: this.enterpriseid//adalService.userInfo.userName.split('@')[0].toLowerCase()\n // }\n // this.UserDetails.EnterpriseId = this.enterpriseid;// adalService.userInfo.userName.split('@')[0].toLowerCase();\n // localStorage.setItem('myObject', JSON.stringify(myObject));\n // // $rootScope.$broadcast('EnterpriseId', myObject);\n\n // // Standalone USER Authorization\n // if (this.UserDetails.UserType == 1) {\n // var stobj = {\n // EnterpriseId: this.enterpriseid,//$rootScope.UserDetails.EnterpriseId,\n // datasourceid: this.UserDetails.DatasourceID,\n // appname: this.UserDetails.AppName\n // }\n // this.apWebService.getProjectID(this.UserDetails.UserType, this.UserDetails.DatasourceID, this.UserDetails.AppName).subscribe(resp => {\n // // WebApi.GetProjectID($rootScope.UserDetails.UserType, $rootScope.UserDetails.DatasourceID, $rootScope.UserDetails.AppName).then(function (resp) {\n // if (resp != null) {\n // this.apWebService.checkUserAccess(stobj).subscribe(response => {\n // //WebApi.checkUserAuthorize(stobj).then(function (response) {\n // if (response['data'].length > 0) {\n\n // this.userAuth = true;\n // if (response['defaultpropid'] != \"\") {\n // this.defaultproposalid = response['defaultpropid'];\n // }\n\n // if (this.defaultproposalid != \"\") {\n // var indexof = -1;\n // for (var item = 0; item < response['data'].length; item++) {\n // if (response['data'][item].ProposalId == this.defaultproposalid) {\n // indexof = item;\n // }\n // }\n // this.defaultproposalindex = indexof;\n // }\n // //$scope.defaultproposalindex = 0;\n // this.ScopeSelector = response['data'];\n // this.filteredClient = [];\n // this.filteredEngagement = [];\n\n // // let tempuserDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n // // tempuserDetails.ClientName = this.ScopeSelector[0].ClientName;\n // // tempuserDetails.EngName = this.ScopeSelector[0].EngagementName;\n // // tempuserDetails.ProjectID = this.ScopeSelector[0].ProposalId;\n // // tempuserDetails.ProjectName = this.ScopeSelector[0].ProposalName;\n // // sessionStorage.setItem('UserDetails', JSON.stringify(tempuserDetails));\n\n // //Scope fill\n // this.GetProposalDetails();\n // }\n // else {\n // this.userAuth = false;\n // this.emailId = \"AMAutomationPlannerTeamt \";\n // this.Subject = \"Access Request for Automation Planner application\";\n // this.bodyText = \"Hello Support Team,%0D%0APlease provision Automation Planner instance with following details.%0D%0A%0D%0A\";\n // this.bodyTxt = this.bodyText + \" 1) Proposal name :%0D%0A 2) Clientname :%0D%0A 3) Engagement Name :\";\n // this.message = 'You do not have Access to the Automation Planner application.....';\n // this.mailLink = \"mailto:\" + this.emailId + \"?subject=\" + this.Subject + '&body=' + this.bodyText;\n // }\n\n // }, function (error) {\n // console.log('Timeout issue in checkUserAuthorize - ', error);\n // });\n\n\n // }\n // else {\n // this.datasourceIdNotExists = true;\n // var s = this.userAuth;\n // }\n // }, error => {\n // this.IsAuthorizationServiceDown = true;\n // obj.IsAuthorizationServiceDown = true;\n // obj.emailId = \"AMAutomationPlannerTeam \";\n // obj.Subject = \"Unexpected error on FdsScope Selector for Automation Planner application\";\n // obj.bodyText = \"Hello Support Team, %0A%0AUnexpected internal server error occured for Automation Planner application, could you please help on this. %0A%0A[TYPE YOUR QUERY HERE]\";\n // obj.message = 'Unexpected error on FDS Authorize';\n // obj.mailLink = \"mailto:\" + obj.emailId + \"?subject=\" + obj.Subject + '&body=' + obj.bodyText;\n // // this.apWebService.showErrorMessage('Unexpected Internal Server Error Occured, Please Contact Mywizard Automation Planner Team AMAutomationPlannerTeam@accenture.com');\n // })\n // }\n // else if (this.UserDetails.UserType == 3) {\n\n // this.apWebService.getProjectID(this.UserDetails.UserType, this.UserDetails.DatasourceID, this.UserDetails.AppName).subscribe(function (resp) {\n // if (resp != null) {\n // this.userAuth = true;\n // GetFDSScope();\n // }\n // else {\n // this.datasourceIdNotExists = true;\n // var s = this.userAuth;\n // }\n // }, error => {\n // this.IsAuthorizationServiceDown = true;\n // obj.IsAuthorizationServiceDown = true;\n // obj.emailId = \"AMAutomationPlannerTeam \";\n // obj.Subject = \"Unexpected error on FdsScope Selector for Automation Planner application\";\n // obj.bodyText = \"Hello Support Team, %0A%0AUnexpected internal server error occured for Automation Planner application, could you please help on this. %0A%0A[TYPE YOUR QUERY HERE]\";\n // obj.message = 'Unexpected error on FDS Authorize';\n // obj.mailLink = \"mailto:\" + obj.emailId + \"?subject=\" + obj.Subject + '&body=' + obj.bodyText;\n // // this.apWebService.showErrorMessage('Unexpected Internal Server Error Occured, Please Contact Mywizard Automation Planner Team AMAutomationPlannerTeam@accenture.com');\n // });\n // };\n // function GetFDSScope() {\n // // let curobj=this;\n // // if (obj.UserDetails.hasOwnProperty('E2EUID') && obj.UserDetails.hasOwnProperty('CMSUID') && obj.UserDetails.hasOwnProperty('WSUID')) {\n // // obj.UserDetails.E2EUID = (obj.UserDetails.E2EUID == undefined) ? null : obj.UserDetails.E2EUID\n // // obj.UserDetails.CMSUID = (obj.UserDetails.CMSUID == undefined) ? null : obj.UserDetails.CMSUID\n // // obj.UserDetails.WSUID = (obj.UserDetails.WSUID == undefined) ? null : obj.UserDetails.WSUID\n // // }\n // if (obj.UserDetails.hasOwnProperty('E2EUID')) {\n // obj.UserDetails.E2EUID = (obj.UserDetails.E2EUID == undefined || obj.UserDetails.E2EUID == '') ? null : obj.UserDetails.E2EUID\n // }\n // else {\n // Object.assign(obj.UserDetails, { E2EUID: null });\n // }\n // if (obj.UserDetails.hasOwnProperty('CMSUID')) {\n // obj.UserDetails.CMSUID = (obj.UserDetails.CMSUID == undefined || obj.UserDetails.CMSUID == '') ? null : obj.UserDetails.CMSUID;\n // }\n // else {\n // Object.assign(obj.UserDetails, { CMSUID: null });\n // }\n // if (obj.UserDetails.hasOwnProperty('WSUID')) {\n // obj.UserDetails.WSUID = (obj.UserDetails.WSUID == undefined || obj.UserDetails.WSUID == '') ? null : obj.UserDetails.WSUID;\n // }\n // else {\n // Object.assign(obj.UserDetails, { WSUID: null });\n // }\n // obj.apWebService.GetFDSScopeSelector(obj.UserDetails.EnterpriseId, obj.UserDetails.DatasourceID, obj.UserDetails.AppName, obj.UserDetails.E2EUID, obj.UserDetails.CMSUID, obj.UserDetails.WSUID, obj.oldE2EUID).subscribe(function (resp: any) {\n // if (resp == null) {\n // obj.IsAuthorizationServiceDown = true;\n // //obj.apWebService.showErrorMessage('Unexpected Internal Server Error Occured, Please Contact Mywizard Automation Planner Team AMAutomationPlannerTeam@accenture.com');\n // // this.IsAuthorizationServiceDown = true;\n // obj.emailId = \"AMAutomationPlannerTeam \";\n // obj.Subject = \"Unexpected error on FdsScope Selector for Automation Planner application\";\n // obj.bodyText = \"Hello Support Team, %0A%0AUnexpected error on FdsScope Selector for Automation Planner application, could you please help on this %0A%0A[TYPE YOUR QUERY HERE]\";\n // obj.message = 'Unexpected error on FDS Authorize';\n // obj.mailLink = \"mailto:\" + obj.emailId + \"?subject=\" + obj.Subject + '&body=' + obj.bodyText;\n // }\n // else if (resp.SelectedEntityName == null && resp.SelectedEntityStatus == null && resp.SelectedEntityType == null && resp.isAuthorize) {\n // this.closedEntity = true;\n // }\n // else if (!resp.isAuthorize) {\n // obj.userAuth = false;\n // obj.nobaseline = false;\n // obj.emailId = \"myWizardAutomationSupport \";\n // obj.Subject = \"Access Request for Automation Planner application\";\n // obj.bodyText = \"Hello Support Team, %0A%0AUnexpected error on FdsScope Selector for Automation Planner application, could you please help on this %0A%0A[TYPE YOUR QUERY HERE]\";\n // // this.bodyTxt = this.bodyText + \" 1) Proposal name :%0D%0A 2) Clientname :%0D%0A 3) Engagement Name :\";\n // obj.message = 'You do not have access for FDS';\n // obj.mailLink = \"mailto:\" + obj.emailId + \"?subject=\" + obj.Subject + '&body=' + obj.bodyText;\n\n // }\n // else if (resp != null && resp != \"\" && resp.isAuthorize) {\n // obj.userAuth = true;\n // obj.oldE2EUID = resp.oldE2EUID;\n // // obj.dataService.UserDetails.FDSScope.oldE2EUID=resp.oldE2EUID;\n // sessionStorage['oldE2EUID'] = obj.oldE2EUID;\n // fetchfdsuserdata(resp);\n\n // }\n // })\n // };\n // function fetchfdsuserdata(resp) {\n\n // if (!obj.UserDetails.hasOwnProperty('SelectedEngagement')) {\n // obj.UserDetails.FDSScope = resp;\n // sessionStorage[\"UserDetails\"] = JSON.stringify(obj.UserDetails);\n // if (obj.dataService.redirected == undefined) {\n // obj.dataService.FDSUserDetailsForOpp.emit(\"true\");\n // }\n // //obj.UserDetails.FDSScope;\n // }\n // else {\n // if (obj.UserDetails.SelectedEngagement == null || obj.UserDetails.SelectedEngagement == undefined) {\n // obj.UserDetails.FDSScope = resp;\n // sessionStorage[\"UserDetails\"] = obj.UserDetails.FDSScope;\n // }\n // }\n // obj.dataService.UserDetails = obj.UserDetails;\n // obj.dataService.selectedClient = resp.APContract.ClientName;\n // if (obj.UserDetails.FDSScope.SelectedEntityStatus == \"Closed\" || obj.UserDetails.FDSScope.ParentStatus == \"Closed\") {\n // obj.UserDetails.ClosedEntity = true;\n // }\n // else {\n // obj.UserDetails.ClosedEntity = false;\n // }\n // obj.GetFDSBlueprints(obj.UserDetails);\n\n // }\n // }\n // else {\n // console.log('CORS Issue in landing - ');\n // }\n // // this.logout();\n // }\n getQueryString = function (field, url) {\n var href = url ? url : window.location.href;\n var reg = new RegExp('[?&]' + field + '=([^&#]*)', 'i');\n var string = reg.exec(href);\n return string ? string[1] : null;\n };\n ngOnInit(): void {// async Promise\n\n //userNotification.showUserNotificationModalPopup(); \n debugger;\n\n this.apWebService.standaloneScopeEvent.subscribe(scope => {\n this.standaloneScope = scope;\n }, error => {\n this.apWebService.showErrorMessage(error);\n })\n\n var obj = this;\n debugger;\n this.environmentDetails = this.appConfig.environmentSettings;\n\n if (this.environmentDetails.MSALenabled == true) {\n\n // this.EndToEndUIdtemp = this.getQueryString('EndToEndUId', null);\n // if (this.EndToEndUIdtemp != undefined || this.EndToEndUIdtemp != null) {\n // this.CMSId = this.getQueryString('CMSUID', null);\n // this.WSId = this.getQueryString('WSUID', null);\n // }\n //MSAL 2.0 code \n if (!this.isLoggedIn()) {\n console.log('************ user not logged in .. enter login details ******');\n this.authMSALService.instance.loginRedirect();\n this.authMSALService.instance.handleRedirectPromise().then(res => {\n if (res == null) {\n let data = this.route.url;\n sessionStorage.setItem('navurl', location.href);\n this.authMSALService.instance.loginRedirect();\n //redirectTo;\n }\n\n if (res != null && res.account != null) {\n this.authMSALService.instance.setActiveAccount(res.account);\n console.log(res);\n\n if (localStorage.getItem('msal.idtoken') != undefined && localStorage.getItem('msal.idtoken') != '')\n this.apWebService.showConfidentialityMessage('You are using an Accenture proprietary tool (\"myWizard\"). You understand that this tool may contain ACCENTURE, CLIENT, OR VENDOR / PARTNER CONFIDENTIAL INFORMATION. You are obligated to adhere to applicable confidentiality obligations and Accenture’s policies, including Policy 69 – Confidentiality, when using the tool and information in the tool. Information in the tool can only be shared with those authorized to receive it. If you are downloading/exporting Confidential Information to another file or report, you must label that file or report as Accenture Confidential. If you have any questions, please email your question to confidentiality@accenture.com or contact your Leadership. Thank you!');\n const id_token = res.idToken;\n const access_token = res.accessToken;\n localStorage.setItem('msal.idtoken', JSON.stringify(id_token));\n this.token = id_token;//localStorage.getItem(\"msal.idtoken\");\n this.payload_token = this.getDecodedAccessToken(this.token); // decodeing tokan here\n this.apWebService.enterpriseId = res.account.username.split('@')[0];//this.payload_token.preferred_username.split('@')[0];\n this.enterpriseid = res.account.username.split('@')[0];//this.payload_token.preferred_username.split('@')[0];\n sessionStorage.setItem('enterpriseId', this.apWebService.enterpriseId);\n if (id_token != undefined && id_token != '') {\n // this.EndToEndUIdtemp = this.getQueryString('EndToEndUId', null);\n // if (this.EndToEndUIdtemp != undefined || this.EndToEndUIdtemp != null) {\n // this.CMSId = this.getQueryString('CMSUID', null);\n // this.WSId = this.getQueryString('WSUID', null);\n // sessionStorage.setItem('EndToEndUIdtemp', this.EndToEndUIdtemp);\n // sessionStorage.setItem('CMSUID', this.EndToEndUIdtemp);\n // sessionStorage.setItem('WSUID', this.EndToEndUIdtemp);\n // }\n if (sessionStorage.getItem('navurl') != undefined || sessionStorage.getItem('navurl') != null) {\n var data = sessionStorage.getItem('navurl').toString();\n sessionStorage.removeItem(\"navurl\");\n window.location.href = data;//\"https://mywizard-aiprojectmanager.ciostage.accenture.com\" + data;\n // this.route.navigateByUrl(\"https://mywizard-aiprojectmanager.ciostage.accenture.com/home?E2EUID=6269b6ed-7fb4-4a03-9da3-04e985ef289b&CMS=null&WS=null\");\n\n //this.redirectTo(data);\n }\n else\n this.commonmethod();\n }\n else {\n console.log('*****id_token check id_token!=undefined && id_token************');\n }\n }\n }).catch(error => {\n\n });\n }\n else {\n //console.log('*****User Already login************');\n this.enterpriseid = sessionStorage.getItem('enterpriseId');\n console.log(sessionStorage.getItem('enterpriseId'));\n if (this.enterpriseid == undefined || this.enterpriseId == null) {\n this.token = localStorage.getItem(\"msal.idtoken\");\n this.payload_token = this.getDecodedAccessToken(this.token); // decodeing tokan here\n //console.log('userName---', this.payload_token.preferred_username);\n this.apWebService.enterpriseId = this.payload_token.preferred_username.split('@')[0];\n sessionStorage.setItem('enterpriseId', this.apWebService.enterpriseId);\n console.log(sessionStorage.getItem('enterpriseId'));\n }\n //console.log('*****Data************');\n if (localStorage.getItem('msal.idtoken') != undefined && localStorage.getItem('msal.idtoken') != '')\n this.apWebService.showConfidentialityMessage('You are using an Accenture proprietary tool (\"myWizard\"). You understand that this tool may contain ACCENTURE, CLIENT, OR VENDOR / PARTNER CONFIDENTIAL INFORMATION. You are obligated to adhere to applicable confidentiality obligations and Accenture’s policies, including Policy 69 – Confidentiality, when using the tool and information in the tool. Information in the tool can only be shared with those authorized to receive it. If you are downloading/exporting Confidential Information to another file or report, you must label that file or report as Accenture Confidential. If you have any questions, please email your question to confidentiality@accenture.com or contact your Leadership. Thank you!');\n this.commonmethod();\n }\n }\n\n else {\n //local changes\n sessionStorage.setItem('enterpriseId', 'suraj.kumar.maharana');\n this.apWebService.enterpriseId = 'suraj.kumar.maharana';\n this.enterpriseid = 'suraj.kumar.maharana';\n this.commonmethod();\n }\n // this.commonmethod();\n this.urlValid = this.dataService.UrlValid;\n }\n\n commonmethod() {\n\n var obj = this;\n console.log(\"****\");\n console.log(obj);\n\n\n // if (this.environmentDetails.MSALenabled == true) {\n // console.log(\"**** cll ****\");\n\n // this.token = localStorage.getItem(\"msal.idtoken\");\n // this.payload_token = this.getDecodedAccessToken(this.token); // decodeing tokan here\n // this.apWebService.enterpriseId = this.payload_token.preferred_username.split('@')[0];\n // this.UserDetails.enterpriseId = this.apWebService.enterpriseId\n // console.log(this.UserDetails);\n // console.log(\"****\");\n // }\n\n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n obj.dataService.updatechartdata.subscribe(chartdata => {\n if (this.UserDetails.UserType == 1)\n obj.GetBlueprints(this.dataService.UserDetails[\"UserType\"], this.dataService.UserDetails[\"ProjectName\"], this.dataService.UserDetails[\"ProjectID\"], null, this.dataService.UserDetails[\"E2EUID\"], null)\n else\n this.GetFDSBlueprints(this.UserDetails);\n\n }, error => {\n this.apWebService.showErrorMessage(error);\n });\n\n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n\n if (this.UserDetails != undefined) {\n sessionStorage.setItem(\"UserDetails\", JSON.stringify(this.UserDetails));\n }\n else {\n this.UserDetails = sessionStorage.setItem(\"UserDetails\", this.UserDetails);\n }\n\n if (this.UserDetails.IsUserReadonly != undefined) {\n JSON.parse(sessionStorage.getItem(\"UserDetails\")).IsUserReadonly = this.UserDetails.IsUserReadonly;\n //sessionStorage.setItem['UserDetails'].IsUserReadonly = this.UserDetails.IsUserReadonly;\n }\n else {\n this.UserDetails['IsUserReadonly'] = false//sessionStorage.setItem['UserDetails']['IsUserReadonly'];\n }\n\n if (sessionStorage['oldE2EUID'] != undefined)\n this.oldE2EUID = sessionStorage['oldE2EUID'];\n else\n this.oldE2EUID = sessionStorage['oldE2EUID'];\n\n if (sessionStorage['Authorization'] != undefined)\n this.authorizationdata = sessionStorage['Authorization'];\n else\n this.authorizationdata = sessionStorage['Authorization'];\n\n if ((this.UserDetails.FdsReadOnly == true) || this.UserDetails.UserType == 3) {\n if (window.Storage) {\n if (sessionStorage.getItem('fdsuserdetail') != undefined && sessionStorage.getItem('fdsuserdetail') != null && sessionStorage.getItem('fdsuserdetail') != \"null\") {\n if (this.UserDetails.DatasourceID == (JSON.parse(sessionStorage.getItem('fdsuserdetail')).DatasourceID) && sessionStorage.getItem('IsFDSApply') == \"true\") {\n this.UserDetails = JSON.parse(sessionStorage.getItem('fdsuserdetail'));\n sessionStorage.setItem('UserDetails', JSON.stringify(this.UserDetails))\n // console.log(sessionStorage['UserDetails']);\n //sessionStorage[\"UserDetails\"] = this.UserDetails;\n }\n else {\n //sessionStorage.setItem('IsFDSApply', false);\n }\n }\n }\n }\n\n if (true) {\n var myObject = {\n EnterpriseId: this.enterpriseid\n }\n this.UserDetails.EnterpriseId = this.enterpriseid;\n //localStorage.setItem('myObject', JSON.stringify(myObject));\n // $rootScope.$broadcast('EnterpriseId', myObject);\n\n // Standalone USER Authorization\n if (this.UserDetails.UserType == 1) {\n var stobj = {\n EnterpriseId: this.enterpriseid,//$rootScope.UserDetails.EnterpriseId,\n datasourceid: this.UserDetails.DatasourceID,\n appname: this.UserDetails.AppName\n }\n console.log(\" this.apWebService.getProjectID api cll....\");\n\n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n\n if (this.environmentDetails.MSALenabled == true) {\n console.log(\"**** UserDetails details cll ****\");\n this.token = localStorage.getItem(\"msal.idtoken\");\n this.payload_token = this.getDecodedAccessToken(this.token); // decodeing tokan here\n this.apWebService.enterpriseId = this.payload_token.preferred_username.split('@')[0];\n this.UserDetails.enterpriseId = this.apWebService.enterpriseId;\n this.UserDetails.EnterpriseId = this.apWebService.enterpriseId;\n console.log(this.UserDetails);\n console.log(\"**** checkUserAccess api strartUserDetails details c ****\");\n }\n\n\n\n this.apWebService.getProjectID(this.UserDetails.UserType, this.UserDetails.DatasourceID, this.UserDetails.AppName)\n .subscribe(resp => {\n // WebApi.GetProjectID($rootScope.UserDetails.UserType, $rootScope.UserDetails.DatasourceID, $rootScope.UserDetails.AppName).then(function (resp) {\n if (resp != null) {\n if (this.environmentDetails.MSALenabled == true) {\n console.log(\"**** getProjectID api cll ****\");\n console.log(stobj);\n this.token = localStorage.getItem(\"msal.idtoken\");\n this.payload_token = this.getDecodedAccessToken(this.token); // decodeing tokan here\n this.apWebService.enterpriseId = this.payload_token.preferred_username.split('@')[0];\n stobj.EnterpriseId = this.apWebService.enterpriseId\n console.log(stobj);\n console.log(\"**** checkUserAccess api strart ****\");\n }\n this.apWebService.checkUserAccess(stobj).subscribe(response => {\n //WebApi.checkUserAuthorize(stobj).then(function (response) {\n if (response['data'].length > 0) {\n\n this.userAuth = true;\n if (response['defaultpropid'] != \"\") {\n this.defaultproposalid = response['defaultpropid'];\n }\n\n if (this.defaultproposalid != \"\") {\n var indexof = -1;\n for (var item = 0; item < response['data'].length; item++) {\n if (response['data'][item].ProposalId == this.defaultproposalid) {\n indexof = item;\n }\n }\n this.defaultproposalindex = indexof;\n }\n //$scope.defaultproposalindex = 0;\n this.ScopeSelector = response['data'];\n this.filteredClient = [];\n this.filteredEngagement = [];\n\n // let tempuserDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n // tempuserDetails.ClientName = this.ScopeSelector[0].ClientName;\n // tempuserDetails.EngName = this.ScopeSelector[0].EngagementName;\n // tempuserDetails.ProjectID = this.ScopeSelector[0].ProposalId;\n // tempuserDetails.ProjectName = this.ScopeSelector[0].ProposalName;\n // sessionStorage.setItem('UserDetails', JSON.stringify(tempuserDetails));\n\n //Scope fill\n this.GetProposalDetails();\n }\n else if(this.dataService.UrlValid) {\n this.userAuth = false;\n this.emailId = \"AMAutomationPlannerTeamt \";\n this.Subject = \"Access Request for Automation Planner application\";\n this.bodyText = \"Hello Support Team,%0D%0APlease provision Automation Planner instance with following details.%0D%0A%0D%0A\";\n this.bodyTxt = this.bodyText + \" 1) Proposal name :%0D%0A 2) Clientname :%0D%0A 3) Engagement Name :\";\n this.message = 'You do not have Access to the Automation Planner application.....';\n this.mailLink = \"mailto:\" + this.emailId + \"?subject=\" + this.Subject + '&body=' + this.bodyText;\n console.log(\"****checkUserAccess method cll*****\");\n }\n\n }, function (error) {\n console.log('Timeout issue in checkUserAuthorize - ', error);\n });\n\n\n }\n else {\n this.datasourceIdNotExists = true;\n var s = this.userAuth;\n }\n }, error => {\n this.IsAuthorizationServiceDown = true;\n obj.IsAuthorizationServiceDown = true;\n obj.emailId = \"AMAutomationPlannerTeam \";\n obj.Subject = \"Unexpected error on FdsScope Selector for Automation Planner application\";\n obj.bodyText = \"Hello Support Team, %0A%0AUnexpected internal server error occured for Automation Planner application, could you please help on this. %0A%0A[TYPE YOUR QUERY HERE]\";\n obj.message = 'Unexpected error on FDS Authorize';\n obj.mailLink = \"mailto:\" + obj.emailId + \"?subject=\" + obj.Subject + '&body=' + obj.bodyText;\n // this.apWebService.showErrorMessage('Unexpected Internal Server Error Occured, Please Contact Mywizard Automation Planner Team AMAutomationPlannerTeam@accenture.com');\n })\n }\n else if (this.UserDetails.UserType == 3) {\n\n this.apWebService.getProjectID(this.UserDetails.UserType, this.UserDetails.DatasourceID, this.UserDetails.AppName).subscribe(function (resp) {\n if (resp != null) {\n this.userAuth = true;\n GetFDSScope();\n }\n else {\n this.datasourceIdNotExists = true;\n var s = this.userAuth;\n }\n }, error => {\n this.IsAuthorizationServiceDown = true;\n obj.IsAuthorizationServiceDown = true;\n obj.emailId = \"AMAutomationPlannerTeam \";\n obj.Subject = \"Unexpected error on FdsScope Selector for Automation Planner application\";\n obj.bodyText = \"Hello Support Team, %0A%0AUnexpected internal server error occured for Automation Planner application, could you please help on this. %0A%0A[TYPE YOUR QUERY HERE]\";\n obj.message = 'Unexpected error on FDS Authorize';\n obj.mailLink = \"mailto:\" + obj.emailId + \"?subject=\" + obj.Subject + '&body=' + obj.bodyText;\n // this.apWebService.showErrorMessage('Unexpected Internal Server Error Occured, Please Contact Mywizard Automation Planner Team AMAutomationPlannerTeam@accenture.com');\n });\n };\n function GetFDSScope() {\n // let curobj=this;\n // if (obj.UserDetails.hasOwnProperty('E2EUID') && obj.UserDetails.hasOwnProperty('CMSUID') && obj.UserDetails.hasOwnProperty('WSUID')) {\n // obj.UserDetails.E2EUID = (obj.UserDetails.E2EUID == undefined) ? null : obj.UserDetails.E2EUID\n // obj.UserDetails.CMSUID = (obj.UserDetails.CMSUID == undefined) ? null : obj.UserDetails.CMSUID\n // obj.UserDetails.WSUID = (obj.UserDetails.WSUID == undefined) ? null : obj.UserDetails.WSUID\n // }\n var scopeobj= {\n \"EnterpriseId\":obj.UserDetails.EnterpriseId,\n \"DatasourceID\":obj.UserDetails.DatasourceID,\n \"AppName\":obj.UserDetails.AppName,\n \"E2EUID\":obj.UserDetails.E2EUID,\n \"CMSUID\":obj.UserDetails.CMSUID,\n \"WSID\":obj.UserDetails.WSUID,\n \"oldE2EUID\":obj.oldE2EUID\n }\n if (obj.UserDetails.hasOwnProperty('E2EUID')) {\n obj.UserDetails.E2EUID = (obj.UserDetails.E2EUID == undefined || obj.UserDetails.E2EUID == '') ? null : obj.UserDetails.E2EUID\n }\n else {\n Object.assign(obj.UserDetails, { E2EUID: null });\n }\n if (obj.UserDetails.hasOwnProperty('CMSUID')) {\n obj.UserDetails.CMSUID = (obj.UserDetails.CMSUID == undefined || obj.UserDetails.CMSUID == '') ? null : obj.UserDetails.CMSUID;\n }\n else {\n Object.assign(obj.UserDetails, { CMSUID: null });\n }\n if (obj.UserDetails.hasOwnProperty('WSUID')) {\n obj.UserDetails.WSUID = (obj.UserDetails.WSUID == undefined || obj.UserDetails.WSUID == '') ? null : obj.UserDetails.WSUID;\n }\n else {\n Object.assign(obj.UserDetails, { WSUID: null });\n }\n obj.apWebService.GetFDSScopeSelector(scopeobj).subscribe(function (resp: any) {\n if (resp == null) {\n obj.IsAuthorizationServiceDown = true;\n //obj.apWebService.showErrorMessage('Unexpected Internal Server Error Occured, Please Contact Mywizard Automation Planner Team AMAutomationPlannerTeam@accenture.com');\n // this.IsAuthorizationServiceDown = true;\n obj.emailId = \"AMAutomationPlannerTeam \";\n obj.Subject = \"Unexpected error on FdsScope Selector for Automation Planner application\";\n obj.bodyText = \"Hello Support Team, %0A%0AUnexpected error on FdsScope Selector for Automation Planner application, could you please help on this %0A%0A[TYPE YOUR QUERY HERE]\";\n obj.message = 'Unexpected error on FDS Authorize';\n obj.mailLink = \"mailto:\" + obj.emailId + \"?subject=\" + obj.Subject + '&body=' + obj.bodyText;\n }\n else if (resp.SelectedEntityName == null && resp.SelectedEntityStatus == null && resp.SelectedEntityType == null && resp.isAuthorize) {\n this.closedEntity = true;\n }\n else if (!resp.isAuthorize) {\n\n obj.userAuth = false;\n obj.nobaseline = false;\n obj.emailId = \"myWizardAutomationSupport \";\n obj.Subject = \"Access Request for Automation Planner application\";\n obj.bodyText = \"Hello Support Team, %0A%0AUnexpected error on FdsScope Selector for Automation Planner application, could you please help on this %0A%0A[TYPE YOUR QUERY HERE]\";\n // this.bodyTxt = this.bodyText + \" 1) Proposal name :%0D%0A 2) Clientname :%0D%0A 3) Engagement Name :\";\n obj.message = 'You do not have access for FDS';\n obj.mailLink = \"mailto:\" + obj.emailId + \"?subject=\" + obj.Subject + '&body=' + obj.bodyText;\n\n\n }\n else if (resp != null && resp != \"\" && resp.isAuthorize) {\n obj.userAuth = true;\n obj.oldE2EUID = resp.oldE2EUID;\n // obj.dataService.UserDetails.FDSScope.oldE2EUID=resp.oldE2EUID;\n sessionStorage['oldE2EUID'] = obj.oldE2EUID;\n fetchfdsuserdata(resp);\n\n }\n })\n };\n function fetchfdsuserdata(resp) {\n\n if (!obj.UserDetails.hasOwnProperty('SelectedEngagement')) {\n obj.UserDetails.FDSScope = resp;\n sessionStorage[\"UserDetails\"] = JSON.stringify(obj.UserDetails);\n if (obj.dataService.redirected == undefined) {\n obj.dataService.FDSUserDetailsForOpp.emit(\"true\");\n }\n //obj.UserDetails.FDSScope;\n }\n else {\n if (obj.UserDetails.SelectedEngagement == null || obj.UserDetails.SelectedEngagement == undefined) {\n obj.UserDetails.FDSScope = resp;\n sessionStorage[\"UserDetails\"] = obj.UserDetails.FDSScope;\n }\n }\n obj.dataService.UserDetails = obj.UserDetails;\n obj.dataService.selectedClient = resp.APContract.ClientName;\n if (obj.UserDetails.FDSScope.SelectedEntityStatus == \"Closed\" || obj.UserDetails.FDSScope.ParentStatus == \"Closed\") {\n obj.UserDetails.ClosedEntity = true;\n }\n else {\n obj.UserDetails.ClosedEntity = false;\n }\n obj.GetFDSBlueprints(obj.UserDetails);\n\n }\n }\n else {\n console.log('CORS Issue in landing - ');\n }\n\n }\n\n isLoggedIn(): boolean {\n\n return this.authMSALService.instance.getActiveAccount() != null\n }\n delay(ms: number) {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n getDecodedAccessToken(token: string): any {\n try {\n return jwt_decode(token);\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n\n binddata() {\n var currobj = this;\n this.dataService.FDSBluePrintData = [];\n sessionStorage['BluePrintIDFromAJ'] = null;\n this.dataService.bluePrintIDFromAJ = null;\n this.useraccessmodel = {\n UserType: this.UserDetails.UserType,\n E2EUID: this.UserDetails.FDSScope.APContract.EndToEndUId,\n FDSLevel: this.dataService.UserDetails.FDSScope.SelectedEntityType,\n DatasourceID: this.UserDetails.DatasourceID,\n IsReadOnly: this.UserDetails.FdsReadOnly,\n CMSUID: null,\n WSUID: null\n }\n if (this.useraccessmodel.FDSLevel == \"CMS\") {\n this.useraccessmodel.CMSUID = this.dataService.UserDetails.FDSScope.SelectedEntityUID;\n }\n if (this.useraccessmodel.FDSLevel == \"WS\") {\n this.useraccessmodel.WSUID = this.dataService.UserDetails.FDSScope.SelectedEntityUID;\n }\n if (this.dataService.UserDetails.FDSScope.SelectedEntityStatus == \"Closed\" || this.dataService.UserDetails.FDSScope.ParentStatus == \"Closed\") {\n this.UserDetails.ClosedEntity = true;\n }\n else {\n this.UserDetails.ClosedEntity = false;\n }\n if (this.UserDetails.FdsReadOnly == true && this.UserDetails.FDSScope.SelectedEntityType == \"CMS\") {\n this.apWebService.setProjIDOnScopeApply(this.useraccessmodel).subscribe(function (resp: any) {\n if (resp != null) {\n // this.UserDetails.FDSScope = this.UserDetails.FDSScope; to do\n // this.UserDetails = this.UserDetails;\n currobj.UserDetails.ProjectID = resp.ProjectID;\n }\n Object.assign(currobj.UserDetails, currobj.dataService.UserDetails.SelectedEngagement);\n Object.assign(currobj.UserDetails, currobj.dataService.UserDetails.SelectedClient);\n sessionStorage['UserDetails'] = JSON.stringify(currobj.UserDetails);\n sessionStorage.setItem('fdsuserdetail', JSON.stringify(currobj.UserDetails));\n sessionStorage.setItem('IsFDSApply', 'true');\n // ToDO\n this.CMSFolderName = [];\n if (this.UserDetails.FDSScope.SelectedEntityType == \"CMS\") {\n this.GetCMSFolder(this.UserDetails.FDSScope.SelectedEntityUID, 0, 'abc');\n // this.scopecopy=JSON.parse(JSON.stringify(this.UserDetails.FDSScope));\n // this.dataService.scopecopy=this.scopecopy;\n }\n else {\n\n currobj.GetFDSBlueprints(currobj.UserDetails);\n }\n });\n }\n else {\n Object.assign(this.UserDetails, this.dataService.UserDetails.SelectedEngagement);\n Object.assign(this.UserDetails, this.dataService.UserDetails.SelectedClient);\n sessionStorage['UserDetails'] = JSON.stringify(this.UserDetails);\n sessionStorage.setItem('fdsuserdetail', JSON.stringify(this.UserDetails));\n sessionStorage.setItem('IsFDSApply', 'true');\n this.CMSFolderName = [];\n if (this.UserDetails.FDSScope.SelectedEntityType == \"CMS\") {\n this.GetCMSFolder(this.UserDetails.FDSScope.SelectedEntityUID, 0, 'abc');\n this.scopecopy = JSON.parse(JSON.stringify(this.UserDetails.FDSScope));\n\n }\n else {\n this.GetFDSBlueprints(this.UserDetails);\n }\n }\n if (this.route.url === '/opportunityTreasury') {\n this.dataService.FDSUserDetailsForOpp.emit(\"true\");\n }\n else if (this.route.url.includes('/opportunityTreasury') && this.route.url.includes('E2EUID')) {\n this.dataService.FDSUserDetailsForOpp.emit(\"true\");\n }\n // else{\n // this.redirectTo('opportunityTreasury');\n // }\n\n }\n GetFDSBlueprints(UserDetails) {\n var currbobj = this;\n var blueprintobject = {\n UserType: UserDetails.UserType,\n DMSProjectID: UserDetails.ProjectID,\n WSUID: UserDetails.WSUID,\n E2EUID: UserDetails.E2EUID,\n CMSUID: UserDetails.CMSUID,\n FDSScope: UserDetails.FDSScope,\n EnterpriseId: UserDetails.EnterpriseId,\n FDSReadOnly: UserDetails.FdsReadOnly,\n DataSourceID: UserDetails.DatasourceID\n };\n this.isBaselineFlag = true;\n this.dataService.isBaselineFlag = true;\n //var curobjaccess=this;\n this.apWebService.getfdsblueprintdatasourceList(blueprintobject).subscribe(function (data: any) {\n //Deekshita: Understand the logic\n currbobj.BlueprintList = JSON.parse(data);\n var EndToEndUId = currbobj.BlueprintList.ParentUID;\n\n if (data != null) {\n\n currbobj.apWebService.getUserWithoutAccess(EndToEndUId).subscribe(function (resp: any) {\n\n if (resp != null && resp == 1) {\n var UserWithoutAccess = resp\n if (UserWithoutAccess == 1) {\n currbobj.UserDetails.IsUserReadonly = true;\n sessionStorage['UserDetails'][\"IsUserReadonly\"] = currbobj.UserDetails.IsUserReadonly;\n //sessionStorage.setItem('IsUserReadonly', true);\n }\n else {\n currbobj.UserDetails.IsUserReadonly = false;\n sessionStorage['UserDetails'][\"IsUserReadonly\"] = currbobj.UserDetails.IsUserReadonly;\n //sessionStorage.setItem('IsUserReadonly', false);\n }\n }\n });\n }\n currbobj.UserDetails.FDSScope = currbobj.BlueprintList;\n if (currbobj.BlueprintList.SelectedEntityType == \"CMS\") {\n currbobj.GetCMSFolder(currbobj.BlueprintList.SelectedEntityUID, 0, 'abc');\n }\n else {\n currbobj.GetFDSBlueprintStructure();\n }\n\n // if (this.BlueprintIDList.length > 0) {\n // var bluePrineArray = [];\n // this.BlueprintIDList.forEach((bvalue,blueprintkey)=> {\n // if (bvalue.Data != 0 || bvalue.Process != 0 || bvalue.Other != 0) {\n // bluePrineArray.push(bvalue.IsBaseline.toString());\n // }\n // });\n // if (bluePrineArray.length > 0) {\n // this.isBaselineFlag = this.checkIfSame(\"false\", bluePrineArray);\n // }\n // else {\n // this.isBaselineFlag = false;\n // }\n // this.BlueprintIDList.sort(this.compare);\n\n // }\n // else {\n // this.isBaselineFlag = false;\n // }\n // if (this.isBaselineFlag == false) {\n // this.errLabel = \"Your blueprint is blank. Please move opportunities from opportunity treasury to blueprint for further planning.\";\n // }\n });\n }\n compare(a, b) {\n\n const genreA = (a.BlueprintName != null) ? a.BlueprintName.toUpperCase() : a.BlueprintName;\n const genreB = (b.BlueprintName != null) ? b.BlueprintName.toUpperCase() : b.BlueprintName;\n let comparison = 0;\n if (a.type == \"CMS\" && b.type == \"CMS\") {\n if (genreA > genreB) {\n comparison = 1;\n } else if (genreA < genreB) {\n comparison = -1;\n }\n }\n if (a.type == \"WS\" && b.type == \"WS\") {\n if (genreA > genreB) {\n comparison = 1;\n } else if (genreA < genreB) {\n comparison = -1;\n }\n }\n return comparison;\n }\n\n GetCMSLevel(cmsvalue) {\n //this.BlueprintIDList=[];\n this.count = 0;\n var blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n cmsuid: '',\n CMSName: '',\n BaselinedCount: 0,\n BlueprintID: 0,\n Status: ''\n };\n var countofbaseline = 0;\n if (this.BlueprintList.SelectedEntityType == \"EndToEnd\" && cmsvalue.bluePrints != null) {\n this.home = false;\n blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n cmsuid: '',\n CMSName: '',\n BaselinedCount: 0,\n BlueprintID: 0,\n Status: ''\n };\n blueprintobjectdetails.BlueprintName = cmsvalue.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"CMS\";\n blueprintobjectdetails.OpportunityCount = cmsvalue.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = cmsvalue.bluePrints.Data;\n blueprintobjectdetails.Process = cmsvalue.bluePrints.Process;\n blueprintobjectdetails.Other = cmsvalue.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = cmsvalue.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = cmsvalue.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = cmsvalue.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = cmsvalue.bluePrints.IsBaseline;\n blueprintobjectdetails.cmsuid = cmsvalue.CMSUID;\n blueprintobjectdetails.CMSName = cmsvalue.CMSName;\n blueprintobjectdetails.Status = cmsvalue.Status;\n if (cmsvalue.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n cmsvalue.objCMS.forEach((value, main_key) => {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n cmsvalue.objWorkStream.forEach((value, main_key) => {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n blueprintobjectdetails.BaselinedCount = countofbaseline;\n blueprintobjectdetails.BlueprintID = cmsvalue.bluePrints.BlueprintID;\n this.BlueprintIDList.push(blueprintobjectdetails);\n\n\n }\n else if (this.BlueprintList.SelectedEntityType == \"CMS\") {\n blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n cmsuid: '',\n CMSName: '',\n BaselinedCount: 0,\n BlueprintID: 0,\n Status: ''\n };\n var countofbaseline = 0;\n if (cmsvalue.bluePrints != null) {\n if (cmsvalue.CMSUID == this.BlueprintList.SelectedEntityUID) {\n blueprintobjectdetails.BlueprintName = cmsvalue.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"CMS\";\n blueprintobjectdetails.OpportunityCount = cmsvalue.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = cmsvalue.bluePrints.Data;\n blueprintobjectdetails.Process = cmsvalue.bluePrints.Process;\n blueprintobjectdetails.Other = cmsvalue.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = cmsvalue.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = cmsvalue.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = cmsvalue.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = cmsvalue.bluePrints.IsBaseline;\n blueprintobjectdetails.cmsuid = cmsvalue.CMSUID;\n blueprintobjectdetails.CMSName = cmsvalue.CMSName;\n if (cmsvalue.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n cmsvalue.objCMS.forEach((value, main_key) => {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n cmsvalue.objWorkStream.forEach((value, main_key) => {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n blueprintobjectdetails.BaselinedCount = countofbaseline;\n blueprintobjectdetails.BlueprintID = cmsvalue.bluePrints.BlueprintID;\n this.BlueprintList.push(blueprintobjectdetails);\n\n if (cmsvalue.objWorkStream.length > 0) {\n\n cmsvalue.objWorkStream.forEach((wsvalue, main_key) => {\n blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n cmsuid: '',\n CMSName: '',\n BaselinedCount: 0,\n BlueprintID: 0,\n Status: ''\n };\n if (wsvalue.bluePrints != null) {\n blueprintobjectdetails.BlueprintName = wsvalue.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"WS\";\n blueprintobjectdetails.OpportunityCount = wsvalue.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = wsvalue.bluePrints.Data;\n blueprintobjectdetails.Process = wsvalue.bluePrints.Process;\n blueprintobjectdetails.Other = wsvalue.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = wsvalue.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = wsvalue.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = wsvalue.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = wsvalue.bluePrints.IsBaseline;\n blueprintobjectdetails.BlueprintID = wsvalue.bluePrints.BlueprintID;\n this.BlueprintIDList.push(blueprintobjectdetails);\n }\n });\n }\n if (cmsvalue.objCMS.length > 0) {\n var objCMS;\n cmsvalue.objCMS.forEach((cmsvalue, main_key) => {\n objCMS = cmsvalue.objCMS;\n });\n if (objCMS.length > 0) {\n\n this.GetCMSLevel(objCMS);\n }\n\n this.isshowFolder = true;\n }\n else {\n this.isshowFolder = false;\n }\n }\n }\n }\n }\n\n CheckWSDetails(wsvalue) {\n if (wsvalue.objWorkStream.length > 0) {\n wsvalue.objWorkStream.forEach((value, main_key) => {\n if (value.WSUID == this.BlueprintList.SelectedEntityUID) {\n var blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n cmsuid: '',\n CMSName: '',\n BaselinedCount: '',\n BlueprintID: 0,\n Status: ''\n };\n blueprintobjectdetails.BlueprintName = value.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"WS\";\n blueprintobjectdetails.OpportunityCount = value.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = value.bluePrints.Data;\n blueprintobjectdetails.Process = value.bluePrints.Process;\n blueprintobjectdetails.Other = value.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = value.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = value.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = value.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = value.bluePrints.IsBaseline;\n blueprintobjectdetails.BlueprintID = value.bluePrints.BlueprintID;\n blueprintobjectdetails.Status = value.Status;\n this.BlueprintIDList.push(blueprintobjectdetails);\n }\n else {\n wsvalue.objCMS.forEach((value, main_key) => {\n this.CheckWSDetails(value);\n });\n\n }\n });\n }\n else {\n wsvalue.objCMS.forEach((value, main_key) => {\n this.CheckWSDetails(value);\n });\n }\n }\n\n GetFDSBlueprintStructure() {\n this.BlueprintIDList = [];\n var blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n BlueprintID: 0,\n cmsuid: '',\n CMSName: '',\n BaselinedCount: '',\n Status: ''\n };;\n if (this.BlueprintList.SelectedEntityType == \"EndToEnd\") {\n this.home = false;\n if (this.BlueprintList.APContract.EndToEndUId == this.BlueprintList.SelectedEntityUID) {\n\n if (this.BlueprintList.APContract.bluePrints != null) {\n blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n cmsuid: '',\n CMSName: '',\n BaselinedCount: '',\n BlueprintID: 0,\n Status: ''\n };\n blueprintobjectdetails.BlueprintName = this.BlueprintList.APContract.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"EndToEnd\";\n blueprintobjectdetails.OpportunityCount = this.BlueprintList.APContract.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = this.BlueprintList.APContract.bluePrints.Data;\n blueprintobjectdetails.Process = this.BlueprintList.APContract.bluePrints.Process;\n blueprintobjectdetails.Other = this.BlueprintList.APContract.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = this.BlueprintList.APContract.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = this.BlueprintList.APContract.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = this.BlueprintList.APContract.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = this.BlueprintList.APContract.bluePrints.IsBaseline;\n blueprintobjectdetails.BlueprintID = this.BlueprintList.APContract.bluePrints.BlueprintID;\n this.BlueprintIDList.push(blueprintobjectdetails);\n if (this.BlueprintList.APContract.bluePrints.IsBaseline) {\n\n }\n }\n if (this.BlueprintList.APContract.objCMS.length > 0) {\n this.BlueprintList.APContract.objCMS.forEach((cmsvalue, main_key) => {\n this.GetCMSLevel(cmsvalue);\n });\n }\n if (this.BlueprintList.APContract.objWorkStream.length > 0) {\n\n this.BlueprintList.APContract.objWorkStream.forEach((wsvalue, main_key) => {\n blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n cmsuid: '',\n CMSName: '',\n BaselinedCount: '',\n BlueprintID: 0,\n Status: ''\n };\n blueprintobjectdetails.BlueprintName = wsvalue.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"WS\";\n blueprintobjectdetails.OpportunityCount = wsvalue.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = wsvalue.bluePrints.Data;\n blueprintobjectdetails.Process = wsvalue.bluePrints.Process;\n blueprintobjectdetails.Other = wsvalue.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = wsvalue.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = wsvalue.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = wsvalue.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = wsvalue.bluePrints.IsBaseline;\n blueprintobjectdetails.BlueprintID = wsvalue.bluePrints.BlueprintID;\n blueprintobjectdetails.Status = wsvalue.Status;\n this.BlueprintIDList.push(blueprintobjectdetails);\n });\n }\n }\n\n }\n else if (this.BlueprintList.SelectedEntityType == \"CMS\") {\n\n if (this.BlueprintList.APContract.objCMS.length > 0) {\n this.BlueprintList.APContract.objCMS.forEach((cmsvalue, main_key) => {\n if (cmsvalue.CMSUID == this.BlueprintList.SelectedEntityUID) {\n this.GetCMSLevel(cmsvalue);\n }\n });\n }\n }\n else if (this.BlueprintList.SelectedEntityType == \"WS\") {\n blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n cmsuid: '',\n CMSName: '',\n BaselinedCount: '',\n BlueprintID: 0,\n Status: ''\n };\n if (this.BlueprintList.APContract.bluePrints != null) {\n if (this.BlueprintList.APContract.objWorkStream.length > 0) {\n this.BlueprintList.APContract.objWorkStream.forEach((wsvalue, _mainkey) => {\n if (this.BlueprintList.SelectedEntityUID == wsvalue.WSUID) {\n blueprintobjectdetails.BlueprintName = wsvalue.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"WS\";\n blueprintobjectdetails.OpportunityCount = wsvalue.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = wsvalue.bluePrints.Data;\n blueprintobjectdetails.Process = wsvalue.bluePrints.Process;\n blueprintobjectdetails.Other = wsvalue.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = wsvalue.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = wsvalue.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = wsvalue.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = wsvalue.bluePrints.IsBaseline;\n blueprintobjectdetails.BlueprintID = wsvalue.bluePrints.BlueprintID;\n blueprintobjectdetails.Status = wsvalue.Status;\n this.BlueprintIDList.push(blueprintobjectdetails);\n }\n });\n }\n if (this.BlueprintList.APContract.objCMS.length > 0) {\n this.BlueprintList.APContract.objCMS.forEach((cmsvalue, main_key) => {\n this.CheckWSDetails(cmsvalue);\n });\n }\n }\n }\n this.TotalBlueprintIDList = this.BlueprintIDList;\n console.log(\"BlueprintsCount \" + this.TotalBlueprintIDList);\n\n if (this.BlueprintIDList.length > 0) {\n\n if (sessionStorage['BluePrintIDFromAJ'] !== 'null') {\n this.BlueprintIDList = this.BlueprintIDList.filter(t => t.BlueprintID == sessionStorage['BluePrintIDFromAJ'])[0];\n this.dataService.FDSBluePrintData.push(this.BlueprintIDList);\n this.dataService.FDSBluePrintData[0].activeBPName = true;\n this.dataService.BlueprintName = this.dataService.FDSBluePrintData[0].BlueprintName;\n this.dataService.BlueprintId = this.dataService.FDSBluePrintData[0].BlueprintID;\n this.dataService.iom = this.dataService.FDSBluePrintData[0].Data\n //this.dataService.aof = this.dataService.FDSBluePrintData[0].Process\n this.dataService.manual = this.dataService.FDSBluePrintData[0].Other\n this.dataService.pendingsubmission = this.dataService.FDSBluePrintData[0].PendingSubmit\n this.dataService.submitted = this.dataService.FDSBluePrintData[0].OpportunityCount - this.dataService.FDSBluePrintData[0].PendingSubmit\n this.dataService.ModifiedOn = this.dataService.FDSBluePrintData[0].ModifiedOn;\n }\n else {\n Object.assign(this.dataService.FDSBluePrintData, this.BlueprintIDList);\n this.dataService.FDSBluePrintData[0].activeBPName = true;\n this.dataService.BlueprintName = this.BlueprintIDList[0].BlueprintName;\n this.dataService.BlueprintId = this.BlueprintIDList[0].BlueprintID;\n this.dataService.iom = this.BlueprintIDList[0].Data\n //this.dataService.aof = this.BlueprintIDList[0].Process\n this.dataService.manual = this.BlueprintIDList[0].Other\n this.dataService.pendingsubmission = this.BlueprintIDList[0].PendingSubmit\n this.dataService.submitted = this.BlueprintIDList[0].OpportunityCount - this.BlueprintIDList[0].PendingSubmit\n this.dataService.ModifiedOn = this.BlueprintIDList[0].ModifiedOn;\n }\n //this.dataService.FDSBluePrintData\n }\n else {\n Object.assign(this.dataService.FDSBluePrintData, this.BlueprintIDList);\n this.dataService.FDSBluePrintData[0].activeBPName = true;\n this.BlueprintIDList.forEach((value, key) => {\n this.dataService.BlueprintName = value.BlueprintName;\n this.dataService.BlueprintId = value.BlueprintID;\n this.dataService.iom = value.Data\n //this.dataService.aof = value.Process\n this.dataService.manual = value.Other\n this.dataService.pendingsubmission = value.PendingSubmit\n this.dataService.submitted = value.OpportunityCount - value.PendingSubmit\n });\n }\n var objb = this;\n if (this.BlueprintIDList.length > 0) {\n var bluePrineArray = [];\n this.BlueprintIDList.forEach((bvalue, blueprintkey) => {\n if (bvalue.Data != 0 || bvalue.Process != 0 || bvalue.Other != 0) {\n bluePrineArray.push(bvalue.IsBaseline.toString());\n }\n });\n if (bluePrineArray.length > 0) {\n this.isBaselineFlag = this.checkIfSame(\"false\", bluePrineArray);\n }\n else {\n this.isBaselineFlag = false;\n }\n this.BlueprintIDList.sort(this.compare);\n\n }\n else {\n this.isBaselineFlag = false;\n }\n if (this.isBaselineFlag == false) {\n this.errLabel = \"Your blueprint is blank. Please move opportunities from opportunity treasury to blueprint for further planning.\";\n }\n this.dataService.isBaselineFlag = this.isBaselineFlag;\n this.dataService.bluePrintDataReceived.emit(\"true\");\n }\n\n checkIfSame(key, arr) {\n var uniq = $.unique(arr);\n if (uniq.length == 1 && uniq[0] == key) {\n return false;\n } else {\n return true;\n }\n }\n\n checkUserAccess() {\n class stobj {\n enterpriseid: string;\n datasourceid: number;\n appname: string;\n }\n\n this.apWebService.checkUserAccess(stobj).subscribe(data => {\n }, error => {\n console.log(error);\n })\n }\n\n login() {\n console.log(\"......... MSAL login......................\");\n this.authMSALService.loginRedirect();\n }\n\n logout() {\n sessionStorage.clear();\n localStorage.clear();\n this.authMSALService.logout();\n }\n openclosepopup() {\n\n this.popupopenclose = !this.popupopenclose;\n }\n\n // getDecodedAccessToken(token: string): any {\n // try {\n // return jwt_decode(token);\n // }\n // catch (Error) {\n // return null;\n // }\n // }\n\n // ngOnDestroy() {\n // this.broadcastService.getMSALSubject().next(1);\n // if (this.subscription)\n // this.subscription.unsubscribe();\n // }\n ngOnDestroy(): void {\n this._destroying$.next(undefined);\n this._destroying$.complete();\n }\n\n //get the proposal and data for the default scope for authorized user - standalone user \n GetProposalDetails() {\n if (this.defaultproposalindex != -1) {\n this.userAuth = true;\n\n\n var clientlist = [];\n for (var i = 0; i < this.ScopeSelector.length; i++) {\n\n var proposallist = [];\n var engagementlist = [];\n\n var proposal = { Name: this.ScopeSelector[i].ProposalName }\n proposallist.push(proposal);\n var engagement =\n {\n Name: this.ScopeSelector[i].EngagementName,\n ProjectDetails: proposallist\n };\n engagementlist.push(engagement);\n var client =\n {\n id: this.ScopeSelector[i].ProposalId,\n Name: this.ScopeSelector[i].ClientName.trim(),\n EngagementDetails: engagementlist,\n IndustryGroup: this.ScopeSelector[i].IndustryGroup,\n Technology: this.ScopeSelector[i].Technology\n };\n clientlist.push(client);\n }\n\n var tempdrop =\n {\n ClientDetails: clientlist\n };\n this.Dropdownclients = tempdrop;\n if (this.DefaultClient == null || this.DefaultClient == undefined || this.DefaultEngagement == null || this.DefaultEngagement == undefined) {\n this.filteredClient = this.Dropdownclients.ClientDetails[this.defaultproposalindex];\n this.filteredEngagement = this.Dropdownclients.ClientDetails[this.defaultproposalindex].EngagementDetails[0];\n this.SetDefaultClientEngProp();\n this.UserDetails.ProjectName = this.filteredEngagement.ProjectDetails[0].Name;\n }\n else {\n this.GetDetailsBasedonClient(this.DefaultClient);\n }\n this.GetBlueprints(this.dataService.UserDetails[\"UserType\"], this.dataService.UserDetails[\"ProjectName\"], this.dataService.UserDetails[\"ProjectID\"], null, this.dataService.UserDetails[\"E2EUID\"], null);\n\n }\n else {\n this.userAuth = false\n this.emailId = \"myWizardAutomationSupport \";\n this.Subject = \"Access Request for Automation Planner application\";\n this.bodyText = \"Hello Support Team,%0D%0APlease provision Automation Planner instance with following details.%0D%0A%0D%0A\";\n this.bodyTxt = this.bodyText + \" 1) Proposal name :%0D%0A 2) Clientname :%0D%0A 3) Engagement Name :\";\n this.message = 'You do not have Access to the Automation Planner application.....';\n this.mailLink = \"mailto:\" + this.emailId + \"?subject=\" + this.Subject + '&body=' + this.bodyText;\n console.log(\"****GetProposalDetails method cll*****\");\n }\n };\n\n //get proposal and engagement depending on the client change\n GetDetailsBasedonClient(clientname) {\n\n var resp = this.Dropdownclients;\n this.filteredClient = resp.ClientDetails.filter(x => x.Name.trim() == clientname)[0];\n //this.filteredClient = $filter('filter')(resp.ClientDetails, { Name: clientname }, true)[0];\n if (this.filteredClient != undefined) {\n this.tempprojid = this.filteredClient.id;\n this.filteredEngagement = this.filteredClient.EngagementDetails[0];\n this.DefaultClient = clientname;\n if (this.filteredEngagement != undefined) {\n this.DefaultEngagement = this.filteredEngagement.Name.trim();\n this.DefaultProject = this.filteredEngagement.ProjectDetails[0].ID;\n this.DefaultProjectName = this.filteredEngagement.ProjectDetails[0].Name.trim();\n var CopyDefaultProjectName = this.DefaultProjectName;\n\n }\n }\n };\n\n GetDetailsBasedonEngagement(engname) {\n if (engname != null) {\n var resp = this.Dropdownclients;\n this.filteredEngagement = this.filteredClient.EngagementDetails.filter(x => x.Name == engname)[0];\n if (this.filteredEngagement != undefined) {\n this.DefaultProject = this.filteredEngagement.ProjectDetails[0].ID;\n this.DefaultProjectName = this.filteredEngagement.ProjectDetails[0].Name;\n this.CopyDefaultProjectName = this.DefaultProjectName;\n }\n }\n }\n //Set Scope selector - standalone user\n SetDefaultClientEngProp() {\n\n if (this.defaultproposalindex != -1) {\n this.userAuth = true;\n this.DefaultClient = this.ScopeSelector[this.defaultproposalindex].ClientName.trim();\n this.DefaultEngagement = this.ScopeSelector[this.defaultproposalindex].EngagementName.trim();\n this.DefaultProjectName = this.ScopeSelector[this.defaultproposalindex].ProposalName.trim();\n this.dataService.UserDetails[\"ProjectID\"] = this.ScopeSelector[this.defaultproposalindex].ProposalId;\n this.tempprojid = this.dataService.UserDetails[\"ProjectID\"];\n this.FillUserDetails(this.DefaultProjectName, this.ScopeSelector[this.defaultproposalindex].IndustryGroup, this.ScopeSelector[this.defaultproposalindex].Technology, this.DefaultClient, this.DefaultEngagement);\n this.dataService.selectedClient = this.DefaultClient;\n }\n else {\n this.userAuth = false\n this.emailId = \"myWizardAutomationSupport \";\n this.Subject = \"Access Request for Automation Planner application\";\n this.bodyText = \"Hello Support Team,%0D%0APlease provision Automation Planner instance with following details.%0D%0A%0D%0A\";\n this.bodyTxt = this.bodyText + \" 1) Proposal name :%0D%0A 2) Clientname :%0D%0A 3) Engagement Name :\";\n this.message = 'You do not have Access to the Automation Planner application.....';\n this.mailLink = \"mailto:\" + this.emailId + \"?subject=\" + this.Subject + '&body=' + this.bodyText;\n console.log(\"****SetDefaultClientEngProp method cll*****\");\n\n }\n };\n\n\n GetBlueprints(UserType, ProjectName, DMSProjectID, WSUID, E2EUID, CMSUID) {\n\n var blueprintobject = {\n UserType: UserType,\n DMSProjectID: DMSProjectID,\n WSUID: WSUID,\n E2EUID: E2EUID,\n CMSUID: CMSUID,\n EnterpriseId: this.enterpriseid,//$rootScope.UserDetails.EnterpriseId,\n FDSReadOnly: this.UserDetails.FdsReadOnly,\n DataSourceID: this.UserDetails.DatasourceID\n }\n let obj = this;\n this.isBaselineFlag = true;\n this.dataService.isBaselineFlag = true;\n\n this.apWebService.GetBlueprintDataSourceList(blueprintobject).subscribe(function (data: any) {\n obj.BlueprintList = JSON.parse(data);\n if (obj.UserDetails.UserType == 3 || obj.UserDetails.FdsReadOnly == true) {\n if (obj.UserDetails.FDSScope.SelectedEntityType == \"EndToEnd\") {\n this.BlueprintList.BlueprintName = obj.UserDetails.FDSScope.APContract.EndToEndName;\n }\n else {\n this.BlueprintList.BlueprintName = obj.UserDetails.FDSScope.SelectedEntityName;\n }\n }\n else {\n obj.dataService.FDSBluePrintData = [];\n obj.dataService.FDSBluePrintData.push(obj.BlueprintList);\n // Object.assign(obj.dataService.FDSBluePrintData,obj.BlueprintList)\n obj.dataService.FDSBluePrintData[0].activeBPName = true;\n obj.BlueprintList.BlueprintName = obj.dataService.UserDetails.ProjectName;\n obj.dataService.BlueprintName = obj.BlueprintList.BlueprintName;\n obj.dataService.BlueprintId = obj.BlueprintList.BlueprintID;\n obj.dataService.ModifiedOn = obj.BlueprintList.ModifiedOn\n obj.dataService.iom = obj.BlueprintList.Data\n //obj.dataService.aof = obj.BlueprintList.Process\n obj.dataService.manual = obj.BlueprintList.Other\n obj.dataService.pendingsubmission = obj.BlueprintList.PendingSubmit\n obj.dataService.submitted = obj.BlueprintList.OpportunityCount - obj.BlueprintList.PendingSubmit\n }\n\n if (obj.BlueprintList.Data != 0 || obj.BlueprintList.Process != 0 || obj.BlueprintList.Other != 0) {\n if (obj.BlueprintList.IsBaseline) {\n obj.BaselinedBlueprintCount = obj.BlueprintList.BaselinedCount;\n obj.nobaseline = false;\n obj.isBaselineFlag = true;\n }\n }\n else {\n obj.isBaselineFlag = false;\n obj.errLabel = \"Your blueprint is blank. Please move opportunities from opportunity treasury to blueprint for further planning.\";\n obj.nobaseline = true;\n }\n obj.dataService.isBaselineFlag = obj.isBaselineFlag;\n obj.dataService.bluePrintDataReceived.emit(\"true\");\n }, error => {\n console.log(error);\n });\n }\n\n toggleScopeSelector() {\n this.scopeSelectorLocation = this.UserDetails.UserType == 1 ? \"left\" : \"right\";\n if (!this.standaloneScope) {\n this.showScopeSelector == '' ? this.showScopeSelector = 'show' : this.showScopeSelector = '';\n this.clickedonheadervalues = true;\n }\n }\n\n closeScopeSelector(clicked: boolean) {\n if (!this.standaloneScope) {\n clicked == true ? this.clickedonheadervalues = false : this.showScopeSelector = \"\";\n }\n }\n\n closeopenclosepopup(clicked: boolean) {\n\n clicked == true ? this.popupopenclose = false : true;\n\n }\n\n ChangeScopeSelector() {\n $(\".form-control.form-control-sm\").val(\"\");\n this.flag = true;\n this.dataService.UserDetails[\"ProjectID\"] = this.tempprojid;\n this.defaultproposalid = (this.dataService.UserDetails[\"ProjectID\"]).toString();\n this.FillUserDetails(this.DefaultProjectName, this.filteredClient.IndustryGroup, this.filteredClient.Technology, this.DefaultClient, this.DefaultEngagement);\n this.dataService.UserDetails[\"ProjectName\"] = this.DefaultProjectName;\n this.GetBlueprints(this.dataService.UserDetails[\"UserType\"], this.dataService.UserDetails[\"ProjectName\"], this.dataService.UserDetails['ProjectID'], null, this.dataService.UserDetails[\"E2EUID\"], null);\n let tempuserDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n tempuserDetails.ClientName = this.DefaultClient;\n tempuserDetails.EngName = this.DefaultEngagement;\n tempuserDetails.ProjectID = this.tempprojid;\n tempuserDetails.ProjectName = this.DefaultProjectName;\n sessionStorage.setItem('UserDetails', JSON.stringify(tempuserDetails));\n this.dataService.selectedClient = this.DefaultClient;\n }\n\n redirectTo(uri: string) {\n this.route.navigateByUrl('/', { skipLocationChange: true }).then(() =>\n this.route.navigate([uri]));\n }\n\n FillUserDetails(projectname, is, technology, cname, engname) {\n this.dataService.UserDetails[\"ProjectName\"] = projectname;\n this.dataService.UserDetails[\"ClientName\"] = cname;\n this.dataService.UserDetails[\"EngName\"] = engname;\n this.dataService.UserDetails[\"Is\"] = is;\n this.dataService.UserDetails[\"Technology\"] = technology;\n if (this.flag || this.flag == undefined) {\n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n this.UserDetails[\"ProjectName\"] = this.dataService.UserDetails[\"ProjectName\"];\n this.UserDetails[\"ClientName\"] = this.dataService.UserDetails[\"ClientName\"];\n this.UserDetails[\"EngName\"] = this.dataService.UserDetails[\"EngName\"];\n this.UserDetails[\"Is\"] = this.dataService.UserDetails[\"Is\"];\n this.UserDetails[\"Technology\"] = this.dataService.UserDetails[\"Technology\"];\n this.UserDetails[\"ProjectID\"] = this.tempprojid;\n sessionStorage.setItem('UserDetails', JSON.stringify(this.UserDetails));\n console.log(this.UserDetails);\n }\n\n //this.dataService.UserDetails.emit(\"true\");\n }\n\n GetCMSFolderStructure(value) {\n this.BlueprintIDList = [];\n var blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n CMSName: '',\n cmsuid: '',\n BaselinedCount: 0,\n BlueprintID: 0,\n Status: '',\n ParentStatus: ''\n // BaselinedCount=0\n };\n var countofbaseline = 0;\n var Status = '';\n if (value.bluePrints != null) {\n blueprintobjectdetails.BlueprintName = value.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"CMS\";\n blueprintobjectdetails.OpportunityCount = value.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = value.bluePrints.Data;\n blueprintobjectdetails.Process = value.bluePrints.Process;\n blueprintobjectdetails.Other = value.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = value.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = value.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = value.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = value.bluePrints.IsBaseline;\n blueprintobjectdetails.CMSName = value.CMSName;\n blueprintobjectdetails.cmsuid = value.CMSUID;\n blueprintobjectdetails.BlueprintID = value.bluePrints.BlueprintID;\n blueprintobjectdetails.Status = value.Status;\n Status = value.Status;\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n value.objCMS.forEach((value, main_key) => {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n // $.each(value.objWorkStream, function (main_key, value) \n value.objWorkStream.forEach((value, main_key) => {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n blueprintobjectdetails.BaselinedCount = countofbaseline;\n this.BlueprintIDList.push(blueprintobjectdetails);\n }\n if (value.objCMS.length > 0) {\n var objCMS = null;\n value.objCMS.forEach((cmsvalue, main_key) => {\n cmsvalue.objCMS.forEach((value, main_key) => {\n objCMS = value;\n });\n if (cmsvalue.bluePrints != null) {\n\n var blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n CMSName: '',\n cmsuid: '',\n BaselinedCount: 0,\n BlueprintID: 0,\n Status: '',\n ParentStatus: ''\n };\n var countofbaseline = 0;\n blueprintobjectdetails.BlueprintName = cmsvalue.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"CMS\";\n blueprintobjectdetails.OpportunityCount = cmsvalue.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = cmsvalue.bluePrints.Data;\n blueprintobjectdetails.Process = cmsvalue.bluePrints.Process;\n blueprintobjectdetails.Other = cmsvalue.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = cmsvalue.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = cmsvalue.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = cmsvalue.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = cmsvalue.bluePrints.IsBaseline;\n blueprintobjectdetails.BlueprintID = cmsvalue.bluePrints.BlueprintID;\n blueprintobjectdetails.CMSName = cmsvalue.CMSName;\n blueprintobjectdetails.cmsuid = cmsvalue.CMSUID;\n blueprintobjectdetails.Status = cmsvalue.Status;\n blueprintobjectdetails.ParentStatus = Status;\n if (cmsvalue.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n $.each(cmsvalue.objCMS, function (main_key, value) {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n $.each(cmsvalue.objWorkStream, function (main_key, value) {\n if (value.bluePrints.OpportunityCount > 0) {\n countofbaseline = countofbaseline + 1;\n }\n });\n blueprintobjectdetails.BaselinedCount = countofbaseline;\n this.BlueprintIDList.push(blueprintobjectdetails);\n }\n\n });\n\n if (objCMS != null) {\n if (objCMS.length > 0) {\n this.GetCMSFolderStructure(objCMS);\n }\n }\n }\n\n if (value.objWorkStream.length > 0) {\n value.objWorkStream.forEach((wsvalue, main_key) => {\n if (wsvalue.bluePrints != null) {\n var blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n CMSName: '',\n cmsuid: '',\n BaselinedCount: 0,\n BlueprintID: 0,\n ParentStatus: '',\n Status: ''\n };\n blueprintobjectdetails.BlueprintName = wsvalue.bluePrints.BlueprintName;\n blueprintobjectdetails.type = \"WS\";\n blueprintobjectdetails.OpportunityCount = wsvalue.bluePrints.OpportunityCount;\n blueprintobjectdetails.Data = wsvalue.bluePrints.Data;\n blueprintobjectdetails.Process = wsvalue.bluePrints.Process;\n blueprintobjectdetails.Other = wsvalue.bluePrints.Other;\n blueprintobjectdetails.PendingSubmit = wsvalue.bluePrints.PendingSubmit;\n blueprintobjectdetails.CreatedOn = wsvalue.bluePrints.CreatedOn;\n blueprintobjectdetails.ModifiedOn = wsvalue.bluePrints.ModifiedOn;\n blueprintobjectdetails.IsBaseline = wsvalue.bluePrints.IsBaseline;\n blueprintobjectdetails.BlueprintID = wsvalue.bluePrints.BlueprintID;\n blueprintobjectdetails.Status = wsvalue.Status;\n blueprintobjectdetails.ParentStatus = Status;\n this.BlueprintIDList.push(blueprintobjectdetails);\n }\n });\n\n }\n\n\n }\n\n GetCMSFolder = function (cmsuid, index, removefolder) {\n var obj = this;\n this.BlueprintIDList = [];\n var blueprintobjectdetails = {\n BlueprintName: '',\n OpportunityCount: '',\n Data: 0,\n Process: 0,\n Other: 0,\n PendingSubmit: 0,\n CreatedOn: 0,\n ModifiedOn: 0,\n IsBaseline: 0,\n type: '',\n CMSName: '',\n cmsuid: '',\n BaselinedCount: '',\n BlueprintID: 0\n };\n if (cmsuid != null) {\n\n this.BlueprintList.APContract.objCMS.forEach((value, main_key) => {\n if (value.CMSUID == cmsuid) {\n this.GetCMSFolderStructure(value);\n }\n // value.objCMS.forEach((cmsvalue,main_key)=> {\n // obj.Check(cmsvalue, cmsuid);\n // });\n });\n }\n // this.BlueprintIDList.splice(0, 1);\n this.BlueprintIDList.sort(obj.compare);\n if (this.BlueprintIDList.length > 0) {\n\n Object.assign(this.dataService.FDSBluePrintData, this.BlueprintIDList)\n this.dataService.BlueprintName = this.BlueprintIDList[0].BlueprintName;\n this.dataService.BlueprintId = this.BlueprintIDList[0].BlueprintID;\n this.dataService.ModifiedOn = this.BlueprintIDList[0].ModifiedOn;\n this.dataService.iom = this.BlueprintIDList[0].Data\n //this.dataService.aof = this.BlueprintIDList[0].Process\n this.dataService.manual = this.BlueprintIDList[0].Other\n this.dataService.pendingsubmission = this.BlueprintIDList[0].PendingSubmit\n this.dataService.submitted = this.BlueprintIDList[0].OpportunityCount - this.BlueprintIDList[0].PendingSubmit\n //this.dataService.FDSBluePrintData\n }\n else {\n this.BlueprintIDList.forEach((value, key) => {\n this.dataService.BlueprintName = value.BlueprintName;\n this.dataService.BlueprintId = value.BlueprintID;\n this.dataService.ModifiedOn = value.ModifiedOn;\n this.dataService.iom = value.Data\n //this.dataService.aof = value.Process\n this.dataService.manual = value.Other\n this.dataService.pendingsubmission = value.PendingSubmit\n this.dataService.submitted = value.OpportunityCount - value.PendingSubmit\n });\n }\n if (this.BlueprintIDList.length > 0) {\n var bluePrineArray = [];\n this.BlueprintIDList.forEach((bvalue, blueprintkey) => {\n if (bvalue.Data != 0 || bvalue.Process != 0 || bvalue.Other != 0) {\n bluePrineArray.push(bvalue.IsBaseline.toString());\n }\n });\n if (bluePrineArray.length > 0) {\n this.isBaselineFlag = this.checkIfSame(\"false\", bluePrineArray);\n }\n else {\n this.isBaselineFlag = false;\n }\n // SortedFolderBluePrintIDList.sort(this.compare);\n\n }\n else {\n this.isBaselineFlag == false\n }\n if (this.isBaselineFlag == false) {\n this.errLabel = \"Your blueprint is blank. Please move opportunities from opportunity treasury to blueprint for further planning.\";\n }\n\n obj.dataService.isBaselineFlag = this.isBaselineFlag;\n obj.dataService.bluePrintDataReceived.emit(\"true\");\n\n\n }\n //Popup Notification Function\n initializeUserNotificationContent(): void {\n const content = {\n DataSourceUId: \"00100000-0010-0000-0000-000000000000\",\n TemplateUId: \"00200000-0010-0000-0000-000000000000\",\n ServiceUrl: \"assets/UserNotification.json\",\n ActiveLanguage: \"en-US\"//sessionStorage.getItem('Culture')\n }\n userNotification.init(content);\n }\n\n\n\n\n}\n","
\n
\n \"accenture\"\n \"myWizard\"\n
\n
\n \n \n
\n
\n
\n \n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n
\n
\n
\n \n
\n \n \n
\n \n \n \n\n \n\n
\n\n \n\n \"\"\n\n \n\n\n\n
\n\n
\n\n

Welcome, {{apWebService.enterpriseId}}

\n\n\n\n \n\n \n\n
\n\n
\n\n
\n\n\n
\n\n\n\n\n\n\n\n
\n
\n Automation Planner\n
\n
\n\n\n
\n

You are not authorised to view this page

\n\n \n\n \n
\n\n\n
\n

Please select active deep dive to view blueprint.

\n
\n
\n

The datasource (deepdive/assessment) does not exist in\n Automation Planner. Please contact source system

\n
\n\n
\n \n
","import { Component, OnInit } from '@angular/core';\nimport { APWebService } from '../../services/apWeb.service';\nimport { DataService } from '../../services/data.service';\nimport * as $ from \"jquery\";\nimport * as XLSX from 'xlsx';\nimport * as moment from 'moment';\n\nimport { debug } from 'console';\n\n\n\ndeclare var bootbox: any;\n@Component({\n selector: 'app-field-mapping',\n templateUrl: './field-mapping.component.html',\n styleUrls: ['./field-mapping.component.css']\n})\nexport class FieldMappingComponent implements OnInit {\n public mapData: any;\n public feildData: any;\n public excelColumns: any;\n public selectedExColumn = \"Please select\";\n public IsDuplicateandSave = false;\n public selectedColumn = \"True\";\n public DuplicateFlag = false;\n public ValidationMsgDup = null;\n public ValidationMsgFieldsArr = [];\n public DeliveryType = [\"Please select\", \"Application Development\", \"Application Maintainance\", \"Infrastructure maintenance\", \"Agile\", \"Testing\", \"DevOps\"]\n public IsClientSpecific = ['True', 'False'];\n public DuplicateMsg: string;\n public btnSaveDisable = true;\n public dateValue: Date = new Date();\n public oldDataObjectArray = [];\n public ValidationMsgFields = null;\n public assetDateValidation = true;\n public ValidationMsgFldsArr = [];\n public nullValueFlag = false;\n public ValidationFlag = false;\n public newDataObjectArray = null;\n public DataSourceID: string;\n public showModal = false;\n public redirected = false;\n public btnNextDisable = true;\n public btnSave = true;\n\n constructor(private apWebService: APWebService, private dataservice: DataService) { }\n\n\n\n ngOnInit(): void {\n // setTimeout(function () {\n if (this.dataservice.ExcelMappingFeilds != undefined) {\n this.mapData = this.dataservice.ExcelMappingFeilds; // JSON.parse(localStorage.getItem(\"ExcelMappingFeilds\"));\n this.feildData = this.dataservice.FeildData; // JSON.parse(localStorage.getItem(\"FeildData\"));\n this.excelColumns = this.dataservice.ExcelColumns//JSON.parse(localStorage.getItem('ExcelColumns'));\n // this.oldDataObjectArray = JSON.parse(localStorage.getItem('OldDataObjExcel')); \n // this.DataSourceID = JSON.parse(sessionStorage.getItem('CreatedDSID'));\n // }, 2000);\n sessionStorage.setItem('reffeildData', JSON.stringify(this.feildData));\n sessionStorage.setItem('refmapData', JSON.stringify(this.mapData));\n sessionStorage.setItem('refexcelColumns', JSON.stringify(this.excelColumns));\n }\n else {\n this.feildData = JSON.parse(sessionStorage.getItem('reffeildData'));\n this.mapData = JSON.parse(sessionStorage.getItem('refmapData'));\n this.excelColumns = JSON.parse(sessionStorage.getItem('refexcelColumns'));\n\n }\n this.oldDataObjectArray = JSON.parse(localStorage.getItem('OldDataObjExcel'));\n this.DataSourceID = JSON.parse(sessionStorage.getItem('CreatedDSID'));\n setTimeout(() => {\n if (this.apWebService.TempMappingStorage == true) {\n\n\n $(\"#fieldType_1\")[0].value = this.apWebService.tempFieldMapping.Delivery_Type;\n $(\"#fieldType_2\")[0].value = this.apWebService.tempFieldMapping.Category_Name\n $(\"#fieldType_3\")[0].value = this.apWebService.tempFieldMapping.Sub_Category_Name\n $(\"#fieldType_4\")[0].value = this.apWebService.tempFieldMapping.Asset_Name\n this.CheckingMandatryFields();\n $(\"#fieldType_5\")[0].value = this.apWebService.tempFieldMapping.Baselined_effort\n $(\"#fieldType_6\")[0].value = this.apWebService.tempFieldMapping.Baselined_Cost\n $(\"#fieldType_7\")[0].value = this.apWebService.tempFieldMapping.percentage_Automation_Achievable\n $(\"#fieldType_8\")[0].value = this.apWebService.tempFieldMapping.percentage_Effort_Reduction_Achievable\n $(\"#fieldType_9\")[0].value = this.apWebService.tempFieldMapping.Asset_Description\n $(\"#fieldType_10\")[0].value = this.apWebService.tempFieldMapping.Is_Client_Specific\n $(\"#fieldType_11\")[0].value = this.apWebService.tempFieldMapping.Type_of_Benefit\n $(\"#fieldType_12\")[0].value = this.apWebService.tempFieldMapping.Type_of_Tool\n $(\"#fieldType_13\")[0].value = this.apWebService.tempFieldMapping.Automation_Technique\n $(\"#fieldType_26\")[0].value = this.apWebService.tempFieldMapping.Expected_Effort_Savings_per_year\n $(\"#fieldType_28\")[0].value = this.apWebService.tempFieldMapping.Expected_Cost_Savings_per_year\n $(\"#fieldType_29\")[0].value = this.apWebService.tempFieldMapping.Expected_FTE_Reduction\n $(\"#fieldType_30\")[0].value = this.apWebService.tempFieldMapping.Asset_Start_Date\n $(\"#fieldType_31\")[0].value = this.apWebService.tempFieldMapping.Asset_End_Date\n $(\"#fieldType_32\")[0].value = this.apWebService.tempFieldMapping.Asset_Implementation_Cost\n $(\"#fieldType_33\")[0].value = this.apWebService.tempFieldMapping.TowerORModule\n $('#reportingdate_input')[0].value = this.apWebService.tempFieldMapping.Reported_till_Month\n $(\"#fieldType_15\")[0].value = this.apWebService.tempFieldMapping.Asset_Provisioning_Status\n $(\"#fieldType_16\")[0].value = this.apWebService.tempFieldMapping.Asset_CompletionOrBenefit_Realisation_Date\n $(\"#fieldType_17\")[0].value = this.apWebService.tempFieldMapping.Actual_Effort_Savings\n $(\"#fieldType_19\")[0].value = this.apWebService.tempFieldMapping.LCROrDayOrRateOrHr\n $(\"#fieldType_20\")[0].value = this.apWebService.tempFieldMapping.Actual_Cost_Savings\n $(\"#fieldType_21\")[0].value = this.apWebService.tempFieldMapping.Actual_FTE_Reduction\n\n this.apWebService.TempMappingStorage = false;\n\n\n\n }\n\n\n }, 500);\n }\n redirectedToHome() {\n\n if (localStorage.getItem('lastSavedValues') != undefined)\n localStorage.removeItem('lastSavedValues');\n this.apWebService.RedirectToHome();\n this.redirected = true;//this.dataservice.redirected;\n }\n\n check(event, fldName, fldId) {\n\n var colName = \"\";\n if (event.target != undefined)\n colName = event.target.value;\n else\n colName = $(\"#fieldType_\" + fldId)[0].value\n //map field\n this.mapData.forEach(function (o) {\n if (o.xField == fldName) {\n o.cField = colName;\n }\n });\n\n let obj = this;\n this.mapData.forEach(function (o) {\n var temp = [];\n //console.log(obj);\n if (o.cField != 'Please select' && o.cField != '' && o.cField != null) {\n temp = obj.mapData.filter(x => x.cField == o.cField) //return ob.cField == o.cField;\n // });\n }\n if (temp.length > 1) {\n o.isDuplicate = true;\n } else\n o.isDuplicate = false;\n });\n\n let duplicate = false;\n this.mapData.forEach(function (o) {\n if (o.isDuplicate == true) {\n $('#fieldType_' + o.id).attr(\"style\", \"border: 1px red solid\");\n if (duplicate == false) {\n duplicate = true;\n obj.DuplicateMsg = \"**Duplicates selected,please map the fields correctly\";\n }\n }\n else {\n $('#fieldType_' + o.id).removeAttr(\"style\");\n }\n });\n if (duplicate == false)\n this.DuplicateMsg = \"\";\n\n //Enable save only when all mandatory fields are selected\n var hasValue = [];\n this.mapData.forEach(function (ob) {\n if (ob.xMandatory) {\n if (ob.cField != '' && ob.cField != null && ob.cField != 'Please select')\n hasValue.push('1');\n else\n hasValue.push('0');\n }\n });\n if (obj.DuplicateMsg == \"\") {\n if (hasValue.indexOf(\"0\") != -1) {\n this.btnSaveDisable = true;\n } else\n this.btnSaveDisable = false;\n\n this.CheckingMandatryFields();\n\n }\n\n }\n\n isCorrectFieldType(dtype, dval) {\n if (dval == '' || dval == null || dval == 'NULL') {\n return true;\n }\n else {\n if (isNaN(dval) && dtype == \"string\") {\n return true;\n }\n else\n if (dtype == \"int\") {\n var pattern = /(?=.*?\\d)^\\$?(([1-9]\\d{0,2}(,\\d{3})*)|\\d+)?(\\.\\d{1,2})?$/;\n if (pattern.test(dval.trim()) || dval.trim() == '$-' || dval.trim() == '$')\n return true;\n else\n return false;\n }\n else\n if (dtype == \"bit\" && (dval.toUpperCase() == \"TRUE\" || dval.toUpperCase() == \"FALSE\")) {\n return true;\n }\n else\n if (dtype == \"Date(dd/mm/yyyy)\") {\n return this.isValidDate(dval);\n }\n else\n return false;\n }\n\n }\n\n isValidDate(dateString) {\n // First check for the pattern\n if (!/^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/.test(dateString))\n return false;\n\n // Parse the date parts to integers\n var parts = dateString.split(\"/\");\n var day = parseInt(parts[0], 10);\n var month = parseInt(parts[1], 10);\n var year = parseInt(parts[2], 10);\n\n // Check the ranges of month and year\n if (year < 1000 || year > 3000 || month == 0 || month > 12)\n return false;\n\n var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n // Adjust for leap years\n if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0))\n monthLength[1] = 29;\n\n // Check the range of the day\n return day > 0 && day <= monthLength[month - 1];\n };\n clicknext() {\n if ($('#reportingdate_input')[0].value != \"Please select\" || $('#reportingdate_input')[0].value != \"\") {\n this.mapData.find(x => x.xField == \"Reported till Month\").cField =$('#reportingdate_input')[0].value;\n }\n\n if ($(\"#fieldType_1\")[0].value != \"Please select\") {\n this.mapData.find(x => x.xField == \"Delivery Type\").cField = $(\"#fieldType_1\")[0].value;\n }\n if ($(\"#fieldType_2\")[0].value != \"Please select\") {\n this.mapData.find(x => x.xField == \"Category Name\").cField = $(\"#fieldType_2\")[0].value;\n }\n if ($(\"#fieldType_3\")[0].value != \"Please select\") {\n this.mapData.find(x => x.xField == \"Sub Category Name\").cField = $(\"#fieldType_3\")[0].value;\n }\n if ($(\"#fieldType_4\")[0].value != \"Please select\") {\n this.mapData.find(x => x.xField == \"Asset Name\").cField = $(\"#fieldType_4\")[0].value;\n }\n if ($(\"#fieldType_5\")[0].value != \"Please select\") {\n this.mapData.find(x => x.xField == \"Baselined effort\").cField = $(\"#fieldType_5\")[0].value;\n }\n if ($(\"#fieldType_6\")[0].value != \"Please select\") {\n this.mapData.find(x => x.xField == \"Baselined Cost\").cField = $(\"#fieldType_6\")[0].value;\n }\n if ($(\"#fieldType_7\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"%Automation Achievable\").cField = $(\"#fieldType_7\")[0].value; }\n if ($(\"#fieldType_8\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"%Effort Reduction Achievable\").cField = $(\"#fieldType_8\")[0].value; }\n if ($(\"#fieldType_9\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Asset Description\").cField = $(\"#fieldType_9\")[0].value; }\n if ($(\"#fieldType_10\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Is Client Specific\").cField = $(\"#fieldType_10\")[0].value; }\n if ($(\"#fieldType_11\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Type of Benefit\").cField = $(\"#fieldType_11\")[0].value; }\n if ($(\"#fieldType_12\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Type of Tool\").cField = $(\"#fieldType_12\")[0].value; }\n if ($(\"#fieldType_13\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Automation Technique\").cField = $(\"#fieldType_13\")[0].value; }\n if ($(\"#fieldType_15\")[0].value != \"Please select\") \n { this.mapData.find(x => x.xField == \"Asset Provisioning Status\").cField = $(\"#fieldType_15\")[0].value; }\n if ($(\"#fieldType_16\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Asset Completion/ Benefit Realisation Date\").cField = $(\"#fieldType_16\")[0].value; }\n if ($(\"#fieldType_17\")[0].value != \"Please select\") \n { this.mapData.find(x => x.xField == \"Actual Effort Savings(Hrs)\").cField = $(\"#fieldType_17\")[0].value; }\n if ($(\"#fieldType_19\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"LCR/Day Rate/Hr\").cField = $(\"#fieldType_19\")[0].value; }\n if ($(\"#fieldType_20\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Actual Cost Savings($)\").cField = $(\"#fieldType_20\")[0].value; }\n if ($(\"#fieldType_21\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Actual FTE Reduction\").cField = $(\"#fieldType_21\")[0].value; }\n if ($(\"#fieldType_26\")[0].value != \"Please select\") \n { this.mapData.find(x => x.xField == \"Expected Effort Savings per year(Hrs) \").cField = $(\"#fieldType_26\")[0].value; }\n if ($(\"#fieldType_28\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Expected Cost Savings per year($) \").cField = $(\"#fieldType_28\")[0].value; }\n if ($(\"#fieldType_29\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Expected FTE Reduction\").cField = $(\"#fieldType_29\")[0].value; }\n if ($(\"#fieldType_30\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Asset Start Date\").cField = $(\"#fieldType_30\")[0].value; }\n if ($(\"#fieldType_31\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Asset End Date\").cField = $(\"#fieldType_31\")[0].value; }\n if ($(\"#fieldType_32\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Asset Implementation Cost\").cField = $(\"#fieldType_32\")[0].value; }\n if ($(\"#fieldType_33\")[0].value != \"Please select\")\n { this.mapData.find(x => x.xField == \"Tower/Module\").cField = $(\"#fieldType_33\")[0].value; }\n sessionStorage.setItem('refNextData', JSON.stringify(this.mapData));\n\n\n }\n\n SaveBulk() {\n this.apWebService.tempFieldMapping = {\n Delivery_Type: '',\n Category_Name: '',\n Sub_Category_Name: '',\n Asset_Name: '',\n Baselined_effort: '',\n Baselined_Cost: '',\n percentage_Automation_Achievable: '',\n percentage_Effort_Reduction_Achievable: '',\n Asset_Description: '',\n Is_Client_Specific: '',\n Type_of_Benefit: '',\n Type_of_Tool: '',\n Automation_Technique: '',\n Expected_Effort_Savings_per_year: '',\n Expected_Cost_Savings_per_year: '',\n Expected_FTE_Reduction: '',\n Asset_Start_Date: '',\n Asset_End_Date: '',\n Asset_Implementation_Cost: '',\n TowerORModule: '',\n Reported_till_Month: '',\n Asset_Provisioning_Status: '',\n Asset_CompletionOrBenefit_Realisation_Date: '',\n Actual_Effort_Savings: '',\n LCROrDayOrRateOrHr: '',\n Actual_Cost_Savings: '',\n Actual_FTE_Reduction: ''\n };\n this.apWebService.tempFieldMapping.Delivery_Type = $(\"#fieldType_1\")[0].value;\n this.apWebService.tempFieldMapping.Category_Name = $(\"#fieldType_2\")[0].value;\n this.apWebService.tempFieldMapping.Sub_Category_Name = $(\"#fieldType_3\")[0].value;\n this.apWebService.tempFieldMapping.Asset_Name = $(\"#fieldType_4\")[0].value;\n this.apWebService.tempFieldMapping.Baselined_effort = $(\"#fieldType_5\")[0].value;\n this.apWebService.tempFieldMapping.Baselined_Cost = $(\"#fieldType_6\")[0].value;\n this.apWebService.tempFieldMapping.percentage_Automation_Achievable = $(\"#fieldType_7\")[0].value;\n this.apWebService.tempFieldMapping.percentage_Effort_Reduction_Achievable = $(\"#fieldType_8\")[0].value;\n this.apWebService.tempFieldMapping.Asset_Description = $(\"#fieldType_9\")[0].value;\n this.apWebService.tempFieldMapping.Is_Client_Specific = $(\"#fieldType_10\")[0].value;\n this.apWebService.tempFieldMapping.Type_of_Benefit = $(\"#fieldType_11\")[0].value;\n this.apWebService.tempFieldMapping.Type_of_Tool = $(\"#fieldType_12\")[0].value;\n this.apWebService.tempFieldMapping.Automation_Technique = $(\"#fieldType_13\")[0].value;\n this.apWebService.tempFieldMapping.Expected_Effort_Savings_per_year = $(\"#fieldType_26\")[0].value;\n this.apWebService.tempFieldMapping.Expected_Cost_Savings_per_year = $(\"#fieldType_28\")[0].value;\n this.apWebService.tempFieldMapping.Expected_FTE_Reduction = $(\"#fieldType_29\")[0].value;\n this.apWebService.tempFieldMapping.Asset_Start_Date = $(\"#fieldType_30\")[0].value;\n this.apWebService.tempFieldMapping.Asset_End_Date = $(\"#fieldType_31\")[0].value;\n this.apWebService.tempFieldMapping.Asset_Implementation_Cost = $(\"#fieldType_32\")[0].value;\n this.apWebService.tempFieldMapping.TowerORModule = $(\"#fieldType_33\")[0].value;\n this.apWebService.tempFieldMapping.Reported_till_Month = $('#reportingdate_input').val()\n //this.apWebService.tempFieldMapping.Reported_till_Month = new Date($('#reportingdate_input').val())\n this.apWebService.tempFieldMapping.Asset_Provisioning_Status = $(\"#fieldType_15\")[0].value;\n this.apWebService.tempFieldMapping.Asset_CompletionOrBenefit_Realisation_Date = $(\"#fieldType_16\")[0].value;\n this.apWebService.tempFieldMapping.Actual_Effort_Savings = $(\"#fieldType_17\")[0].value;\n this.apWebService.tempFieldMapping.LCROrDayOrRateOrHr = $(\"#fieldType_19\")[0].value;\n this.apWebService.tempFieldMapping.Actual_Cost_Savings = $(\"#fieldType_20\")[0].value;\n this.apWebService.tempFieldMapping.Actual_FTE_Reduction = $(\"#fieldType_21\")[0].value;\n this.apWebService.TempMappingStorage = true;\n this.btnNextDisable = false;\n\n\n }\n // SaveBulk() {\n // //console.log(\"Enter Save Bulk\");\n // var ValidationMsgFields = null;\n // this.assetDateValidation = true;\n // this.ValidationMsgFldsArr = [];\n // this.ValidationMsgFieldsArr = [];\n // this.nullValueFlag = false;\n // this.ValidationFlag = false;\n\n // if (this.checkNullSelection(this.mapData)) {\n // this.ValidationMsgFields = \"(*)Mandatory dropdowns must be selected\";\n // this.ValidationMsgFieldsArr.push(this.ValidationMsgFields);\n // } else if (this.checkDuplicates(\"cField\", this.mapData)) {\n // this.ValidationMsgFields = \"**Duplicates selected,please map the fields correctly\";\n // this.ValidationMsgFieldsArr.push(this.ValidationMsgFields);\n // }\n // else {\n // var nDataObjectArray = [];\n // //var oDataObjectArray = Object.assign({}, this.oldDataObjectArray);\n // // var mappedFieldsTemp = Object.assign({},this.mapData);\n\n // let currentObj = this;\n // let allerrors: string = '';\n // // console.log(obj);\n // currentObj.oldDataObjectArray.forEach(function (excelObj) {\n // var dataobj: any = {};\n\n // if (currentObj.DataSourceID != null && currentObj.DataSourceID != '') {\n // dataobj[\"DataSourceID\"] = currentObj.DataSourceID;\n // } else {\n // dataobj[\"DataSourceID\"] = 'NULL';\n // }\n // currentObj.mapData.forEach(function (obj) {\n // obj.xValidationflag = true;\n // if (obj.xField == 'Delivery Type') {\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = obj.cField;\n // }\n // else if (obj.xField == 'Is Client Specific') {\n // if (obj.cField == 'True') {\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = true;\n // } else {\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = false;\n // }\n // }\n // else if (obj.xField == 'Tower/Module') {\n\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = excelObj[obj.cField];\n\n // }\n // else if (obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '') == \"CategoryName\") {\n // var rgx = /^[ A-Za-z0-9_@.#&+*-]*$/;\n // dataobj[obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '')] = excelObj[obj.cField];\n // var temp = dataobj[obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '')];\n // if (!rgx.test(temp.trim())) {\n // currentObj.nullValueFlag = true;\n // //this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should not contain special characters.Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n // else if (obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '') == \"SubCategoryName\") {\n // var rgx = /^[ A-Za-z0-9_@.#&+*-]*$/;\n // dataobj[obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '')] = excelObj[obj.cField];\n // var temp = dataobj[obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '')];\n // if (!rgx.test(temp.trim())) {\n // currentObj.nullValueFlag = true;\n // // $scope.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should not contain special characters.Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n\n // else if (obj.xField == \"Reported till Month\") {\n // if ($('#reportingdate').val() != \"\" && $('#reportingdate').val() != null) {\n // obj.cField = $('#reportingdate').val();\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = obj.cField;\n // }\n // var filteredfields = currentObj.mapData.filter(function (valuefield) {\n // return (valuefield.xField == \"Actual FTE Reduction\" || valuefield.xField == \"Actual Cost Savings($)\" || valuefield.xField == \"Actual Effort Savings(Hrs)\" || valuefield.xField == \"LCR/Day Rate/Hr\")\n\n // }, true);\n // if ((filteredfields[0].cField != \"\" && filteredfields[0].cField != \"Please select\") || (filteredfields[1].cField != \"\" && filteredfields[1].cField != \"Please select\") || (filteredfields[2].cField != \"\" && filteredfields[2].cField != \"Please select\") || (filteredfields[3].cField != \"\" && filteredfields[3].cField != \"Please select\")) {\n // if (obj.cField == \"\") {\n // this.nullValueFlag = true;\n // this.ValidationMsgFields = '**' + obj.xField + ' should be selected.';\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // }\n // else {\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = obj.cField;\n // }\n // }\n // }\n // else {\n // if (obj.cField != null && obj.cField != '' && obj.cField != 'Please select') {\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = excelObj[obj.cField].toString().replace(/'/g, \"\\\\\");\n // if (obj.xMandatory) {\n // if (dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] == \"\" || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] == undefined) {\n // //this.$broadcast('angucomplete-alt:clearInput');\n // currentObj.nullValueFlag = true;\n // currentObj.ValidationMsgFields = 'Mandatory Field,' + obj.xField + '(' + obj.cField + ')' + ' should not contain null Values';\n\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // // //////////this.btnUploadDisable = true; \n // }\n // else\n // // if (!obj.xValidationflag == true) {\n // if (!currentObj.isCorrectFieldType(obj.xFieldType, dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')])) {\n // currentObj.nullValueFlag = true;\n // // //////////this.btnUploadDisable = true;\n // if (obj.xFieldType == \"int\")\n // currentObj.ValidationMsgFields = \"**Value type of \" + obj.xField + \" should be int and decimals should not be more than 2.Please upload correct data\";\n // else\n // currentObj.ValidationMsgFields = \"**Value type of \" + obj.xField + \" should be \\\"\" + obj.xFieldType + \"\\\".Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n\n // }\n // //}\n\n // }\n // else {\n // if (dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] == \"\" || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] == undefined) {\n // if (obj.xFieldType == \"int\") {\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AutomationAchievable\" || obj.xField.replace(/[^A-Z0-9]/ig, '') == \"EffortReductionAchievable\")\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = 'NULL';\n // else\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = '0';\n\n // }\n // else if (obj.xFieldType == \"bit\") {\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = 'false';\n // }\n // else\n // dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = 'NULL';\n\n // }\n // if (!currentObj.isCorrectFieldType(obj.xFieldType, dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')])) {\n // currentObj.nullValueFlag = true;\n // //\n // ////////////this.btnUploadDisable = true;\n // if (obj.xFieldType == \"int\") {\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"EffortReductionAchievable\" || obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AutomationAchievable\" || obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AssetImplementationCost\") {\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number and should not contain decimals .Please upload correct data\";\n // } else\n // currentObj.ValidationMsgFields = \"**Value type of \" + obj.xField + \" should be number and decimals should not be more than 2.Please upload correct data\";\n // }\n // else\n // currentObj.ValidationMsgFields = \"**Value type of \" + obj.xField + \" should be \\\"\" + obj.xFieldType + \"\\\".Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n\n // currentObj.btnSaveDisable = false;\n\n // }\n // else {\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AutomationAchievable\") {\n // var rgx = /^\\d+$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // if (temp != 'NULL') {\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 100 || !rgx.test(temp.trim())) {\n // currentObj.nullValueFlag = true;\n // // //////////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 100 and should not contain decimals .Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n\n // }\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"EffortReductionAchievable\") {\n // var rgx = /^\\d+$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // if (temp != 'NULL') {\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 999 || !rgx.test(temp.trim())) {\n // currentObj.nullValueFlag = true;\n // // //////////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 999 and should not contain decimals .Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n\n // }\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"BaselinedCost\") {\n // var rgx = /^\\d+(\\.\\d{0,2})?$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // temp = temp.replace(/[^0-9.]/ig, '');\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 999.99 || !rgx.test(temp.trim())) {\n // currentObj.nullValueFlag = true;\n // // //////////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be less than or equal to 999.99 and should contain only 2 decimal places.Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"Baselinedeffort\") {\n // var rgx = /^\\d+(\\.\\d{0,2})?$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // temp = temp.replace(/[^0-9.]/ig, '');\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 999999999.99 || !rgx.test(temp.trim()) || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')].indexOf('$') > -1) {\n // currentObj.nullValueFlag = true;\n // ////////////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 999999999.99 and should contain only 2 decimal places .Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n // // -----Story - 132303 Effort saving and cost saving mapping\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ExpectedEffortSavingsperyearHrs\") {\n // var rgx = /^\\d+(\\.\\d{0,2})?$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // temp = temp.replace(/[^0-9.]/ig, '');\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999.99 || !rgx.test(temp.trim()) || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')].indexOf('$') > -1) {\n // currentObj.nullValueFlag = true;\n // //////////this.btnUploadDisable = true;\n // this.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999.99 and should contain only 2 decimal places .Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ExpectedCostSavingsperyear\") {\n // var rgx = /^\\d+(\\.\\d{0,2})?$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // temp = temp.replace(/[^0-9.]/ig, '');\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999.99 || !rgx.test(temp.trim())) {\n // currentObj.nullValueFlag = true;\n // ////////////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999.99 and should contain only 2 decimal places.Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ActualEffortSavingsHrs\") {\n // var rgx = /^\\d+(\\.\\d{0,2})?$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // temp = temp.replace(/[^0-9.]/ig, '');\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999.99 || !rgx.test(temp.trim()) || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')].indexOf('$') > -1) {\n // currentObj.nullValueFlag = true;\n // ////////////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999.99 and should contain only 2 decimal places .Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ActualCostSavings\") {\n // var rgx = /^\\d+(\\.\\d{0,2})?$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // temp = temp.replace(/[^0-9.]/ig, '');\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999.99 || !rgx.test(temp.trim())) {\n // currentObj.nullValueFlag = true;\n // ////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999.99 and should contain only 2 decimal places.Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AssetImplementationCost\") {\n // var rgx = /^\\d+$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // if (temp != 'NULL') {\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999 || !rgx.test(temp.trim())) {\n // currentObj.nullValueFlag = true;\n // ////////////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999 and should not contain decimals .Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n\n // }\n\n // if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ExpectedFTEReduction\") {\n // var rgx = /^\\d+(\\.\\d{0,2})?$/;\n // var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n // temp = temp.replace(/[^0-9.]/ig, '');\n // if (isNaN(temp.trim()) || parseInt(temp.trim()) > 999999999.99 || !rgx.test(temp.trim()) || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')].indexOf('$') > -1) {\n // currentObj.nullValueFlag = true;\n // ////////////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 999999999.99 and should contain only 2 decimal places .Please upload correct data\";\n // if (obj.xValidationflag == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // obj.xValidationflag = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n // }\n\n // }\n\n // }\n // }\n // }\n\n\n // });\n\n // if (dataobj != null) {\n // // -----Story - 132303 Effort saving and cost saving mapping\n // if (\"ExpectedEffortSavingsperyearHrs\" in dataobj) {\n // if (\"AutomationAchievable\" in dataobj)\n // delete dataobj[\"AutomationAchievable\"];\n // if (\"EffortReductionAchievable\" in dataobj)\n // delete dataobj[\"EffortReductionAchievable\"];\n // if (\"Baselinedeffort\" in dataobj)\n // delete dataobj[\"Baselinedeffort\"];\n // }\n // if (\"ExpectedCostSavingsperyear\" in dataobj) {\n // if (\"BaselinedCost\" in dataobj)\n // delete dataobj[\"BaselinedCost\"];\n // }\n // if (\"AssetStartDate\" in dataobj && \"AssetEndDate\" in dataobj) {\n // var temp1 = dataobj[\"AssetStartDate\"].toString().split('/');\n // var temp2 = dataobj[\"AssetEndDate\"].toString().split('/');\n // var stDate = new Date(temp1[2], temp1[1] - 1, temp1[0]);\n // var endDate = new Date(temp2[2], temp2[1] - 1, temp2[0]);\n // if (stDate > endDate) {\n // currentObj.nullValueFlag = true;\n // ////////////this.btnUploadDisable = true;\n // currentObj.ValidationMsgFields = \"**Asset start date should be less than Asset end date\";\n // if (this.assetDateValidation == true) {\n // currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n // this.assetDateValidation = false;\n // }\n // currentObj.btnSaveDisable = false;\n // }\n\n // }\n // // -----Story - 132303 Effort saving and cost saving mapping\n // nDataObjectArray.push(dataobj);\n // }\n\n // });\n // currentObj.ValidationMsgFieldsArr = currentObj.ValidationMsgFieldsArr.filter(function (item, index, inputArray) {\n // return inputArray.indexOf(item) == index;\n // });\n // if (currentObj.ValidationMsgFieldsArr.length > 0) {\n // for (var i = 0; i < currentObj.ValidationMsgFieldsArr.length; i++) {\n // allerrors += currentObj.ValidationMsgFieldsArr[i] + \"
\";\n // }\n // currentObj.apWebService.showErrorMessage(allerrors);\n // }\n // if (this.nullValueFlag == false) {\n // this.newDataObjectArray = nDataObjectArray;\n // //console.log(this.newDataObjectArray);\n\n // this.apWebService.SaveBulkData(this.newDataObjectArray).subscribe(function (data) {\n // // this.ValidationMsgFields = \"Saved\";\n // this.btnSaveDisable = true;\n // if (data != null) {\n // if (data[\"IsDuplicateOpp\"]) {\n // if ((data[\"DuplicateOpps\"]).length > 0) {\n // this.DuplicateOppList = data[\"DuplicateOpps\"];\n // localStorage.setItem(\"DuplicateRecords\", JSON.stringify(this.DuplicateOppList));\n // if (data[\"IsDuplicateandSave\"] == \"Yes\") {\n // this.IsDuplicateandSave = true;\n // this.ValidationMsgFields = \"Below link contains Combination of opportunity fields already exists in Automation Planner, rest others are uploaded successfully, Kindly download the duplicate list by clicking on below Download button and upload the appropriate opportunities.\";\n // this.fieldsText = false;\n // }\n // if (data[\"IsDuplicateandSave\"] == \"No\") {\n // this.IsDuplicateandSave = false;\n // this.ValidationMsgFields = \"Combination of opportunity fields already exists in Automation Planner, Kindly download the duplicate list by clicking on below Download button and upload the appropriate opportunities.\";\n // this.fieldsText = false;\n\n // }\n // this.InvalidFileStructureFlag = true;\n // this.DuplicateExists = true;\n // this.SelectedFile = null;\n // localStorage.setItem('DuplicateExists', this.DuplicateExists);\n // currentObj.showModal = true;\n // $('#duplicateMsg').text(this.ValidationMsgFields);\n // //////this.btnUploadDisable = true;\n // return;\n // }\n\n // }\n // else {\n // if (data[\"IsSuccess\"]) {\n // this.ValidationMessage = '';\n // this.IsSaved = true;\n // this.SelectedFile = null;\n // ////this.btnUploadDisable = true;\n // // $('#parentPop').addClass(\"modal-backdrop fade in\");\n // currentObj.apWebService.showSuccessMessage(\"Uploaded Successfully\");\n // currentObj.apWebService.RedirectToHome();\n\n // // if (data[\"IsENSNotificationSuccess\"]) { \n // // $('#successMsg').text(\"Uploaded Successfully\");\n // // $('#myModalSuccess').show();\n // // }\n // //else {\n // //$(\"#errorMsg\").html(\"Currently baseline is in queue, please check it after 90 minutes.\");\n // // $(\"#myModalFail\").show();\n // // }\n // this.DuplicateExists = false;\n // }\n // else {\n // this.InvalidFileStructureFlag = true;\n // this.ValidationMessage = \"Failed to upload the opportunity file.Please contact myWizardAutomationSupport .\";\n // this.SelectedFile = null;\n // currentObj.apWebService.showErrorMessage(this.ValidationMessage);\n // //////////this.btnUploadDisable = true;\n // this.DuplicateExists = false;\n // this.fieldsText = false;\n // return;\n // }\n // }\n // }\n // //console.log(data);\n // });\n\n // } else {\n // this.ValidationMsgFldsArr = this.ValidationMsgFieldsArr;\n // this.ValidationFlag = true;\n // }\n\n\n // }\n // }\n\n // Check Null Selection\n checkNullSelection(inputArray) {\n var nullField = false;\n inputArray.forEach(function (item) {\n if (item.xMandatory) {\n if (item.cField == '' || item.cField == null || item.cField == 'Please select') {\n nullField = true;\n }\n }\n\n });\n return nullField;\n }\n\n // Check Duplicate Selection\n checkDuplicates(propertyName, inputArray) {\n var seenDuplicate = false,\n testObject = {};\n\n inputArray.map(function (item) {\n var itemPropertyName = item[propertyName];\n if (itemPropertyName != null && itemPropertyName != '' && itemPropertyName != 'Please select') // Dont consider Nulls as duplicates\n {\n if (itemPropertyName in testObject) {\n testObject[itemPropertyName].duplicate = true;\n item.duplicate = true;\n seenDuplicate = true;\n }\n else {\n testObject[itemPropertyName] = item;\n delete item.duplicate;\n }\n }\n });\n return seenDuplicate;\n }\n //Duplicate Records write into excel\n WriteDuplicatesOppToExcel = function () {\n var data = JSON.parse(localStorage.getItem(\"DuplicateRecords\"));\n this.filename = null;\n var filename = \"DuplicateOpportunityList\";\n var date = new Date();\n date: moment().format('DD_MMM_YYYY_HH_mm_ss');\n var fileextension = \".xlsx\";\n var fileNamewithdate = filename + \"_\" + date + \".xlsx\";\n this.filename = filename + \"_\" + date;\n var ws = XLSX.utils.json_to_sheet(data);\n var wscols = [{ wch: 35 }, { wch: 35 }, { wch: 35 }, { wch: 60 }, { wch: 18 }, { wch: 60 }];\n var wb = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'DuplicateOpportunityList');\n XLSX.writeFile(wb, fileNamewithdate);\n if (this.IsDuplicateandSave == true) {\n this.IsDuplicateandSave = false;\n //this.GetFDSBlueprints(this.UserDetails);\n }\n this.InvalidFileStructureFlag = false;\n this.DuplicateExists = false;\n this.ValidationMsgFields = '';\n this.SelectedFile = null;\n this.btnUploadDisable = true;\n this.fieldsText = false;\n }\n ClosePopup() {\n this.showModal = false;\n }\n //To check If required values are filled or not\n CheckingMandatryFields() {\n if (($(\"#fieldType_1\")[0].value != '' && $(\"#fieldType_1\")[0].value != 'Please select') && ($(\"#fieldType_2\")[0].value != '' && $(\"#fieldType_2\")[0].value != 'Please select') && ($(\"#fieldType_3\")[0].value != '' && $(\"#fieldType_3\")[0].value != 'Please select') && ($(\"#fieldType_4\")[0].value != '' && $(\"#fieldType_4\")[0].value != 'Please select')) {\n\n this.btnSave = false;\n } else {\n\n this.btnSave = true;\n }\n }\n}\n","
\n
\n
\n
\n \n
Automation Opportunity Upload
\n \n
\n \n
\n
\n
Automation Planner
\n
\n
\n
\n \n\n \n \n \n
\n
\n
\n
Automation Journey
\n
\n
\n
\n \n\n \n \n \n
\n
\n
\n\n\n\n
\n \"Previous\"Previous\n \n\n \n\n \n
\n\n\n
\n\n\n\n \n
\n
\n\n\n
\n
\n
\n
\n
Information
\n \n
\n
\n \n
\n

\n \n
\n
\n
\n
\n
\n\n","import { Injectable } from '@angular/core';\r\nimport { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n//import { AppConfig } from '../auth/app.config';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppConfigService {\r\n public environmentSettings: any;\r\n private http: HttpClient;\r\n\r\n constructor(private readonly httpHandler: HttpBackend) {\r\n this.http = new HttpClient(httpHandler);\r\n }\r\n\r\n public init(endpoint: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(endpoint).pipe(map(res => res)).subscribe(value => {\r\n this.environmentSettings = value;\r\n resolve(true);\r\n },\r\n (error) => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n getSettings(key?: string | Array): any {\r\n if (!key || (Array.isArray(key) && !key[0]))\r\n return this.environmentSettings;\r\n\r\n if (!Array.isArray(key))\r\n key = key.split('.');\r\n\r\n let result = key.reduce((acc: any, current: string) => acc && acc[current], this.environmentSettings);\r\n return result;\r\n }\r\n}","import { BrowserModule } from '@angular/platform-browser';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\n\n// import { MsalModule, MsalInterceptor, MSAL_CONFIG, MSAL_CONFIG_ANGULAR, MsalService, MsalAngularConfiguration } from '@azure/msal-angular';\nimport {\n MSAL_GUARD_CONFIG,\n // MSAL_CONFIG_ANGULAR,\n MsalGuardConfiguration\n , MsalService, MsalModule, MsalInterceptor, MSAL_INSTANCE, MsalGuard, MsalInterceptorConfiguration, MSAL_INTERCEPTOR_CONFIG, MsalBroadcastService\n} from '@azure/msal-angular';\nimport { Configuration } from 'msal';\n\nimport { APWebServiceBaseline } from '../services/apWeb.Baseline.service';\nimport { APWebServiceFDS } from '../services/apWeb.FDS.service';\nimport { APWebServiceJourneyPlan } from '../services/apWeb.JourneyPlan.service';\nimport { APWebServiceProblemStatement } from '../services/apWeb.ProblemStatement.service';\nimport { APWebServiceDashBoard } from '../services/apWeb.DashBoard.service';\nimport { APWebServiceBluePrint } from '../services/apWeb.BluePrint.service';\n\nimport { HomeComponent } from '../components/home/home.component';\nimport { OpportunityTreasuryComponent } from '../components/opportunity-treasury/opportunity-treasury.component';\nimport { AddAssetComponent } from '../components/add-asset/add-asset.component';\nimport { AddCustomAssetComponent } from '../components/add-custom-asset/add-custom-asset.component';\nimport { AddOpportunityComponent } from '../components/add-opportunity/add-opportunity.component';\nimport { EditOpportunityComponent } from '../components/edit-opportunity/edit-opportunity.component';\nimport { FieldMappingComponent } from '../components/field-mapping/field-mapping.component';\nimport { ReviewAndSaveOpportunityComponent } from '../components/review-and-save-opportunity/review-and-save-opportunity.component';\nimport { FdsscopeSelectorComponent } from '../components/fdsscope-selector/fdsscope-selector.component';\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { APWebService } from 'src/services/apWeb.service';\nimport { CommonService } from '../services/commonservice';\nimport { UploadOpportunityComponent } from '../components/upload-opportunity/upload-opportunity.component';\n\nimport { SourceDonutChart } from '../donut-source/donut-chart.component';\nimport { StatusDonutChart } from '../donut-status/donut-chart.component';\nimport { TotEffort_BulletChartComponent } from '../totalEffot&Cost-bulletChart/TotEffort_bullet-chart.component';\nimport { TotSaving_BulletChartComponent } from '../totalEffot&Cost-bulletChart/TotSaving_bullet-chart.component';\nimport { EnvService } from '../services/env.service';\nimport { CookieService } from 'ngx-cookie-service';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AutocompleteLibModule } from 'angular-ng-autocomplete';\nimport { FilterPipe } from './common/Filter';\nimport { DatePickerModule } from '@syncfusion/ej2-angular-calendars';\nimport { NgHttpLoaderModule } from 'ng-http-loader';\nimport { DataService } from '../services/data.service';\nimport { ClickOutsideModule } from 'ng-click-outside';\nimport { AngularMultiSelectModule } from 'angular2-multiselect-dropdown';\nimport { MsalApplicationModule } from './msal-application.module';\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponent,\n OpportunityTreasuryComponent,\n AddAssetComponent,\n AddCustomAssetComponent,\n AddOpportunityComponent,\n EditOpportunityComponent,\n FieldMappingComponent,\n ReviewAndSaveOpportunityComponent,\n UploadOpportunityComponent,\n SourceDonutChart,\n StatusDonutChart,\n TotEffort_BulletChartComponent,\n TotSaving_BulletChartComponent,\n FdsscopeSelectorComponent,\n FilterPipe\n //DatePickerModule\n ],\n imports: [\n MsalApplicationModule.forRoot('config/config.json'),\n BrowserModule,\n AppRoutingModule,\n HttpClientModule,\n MsalModule,\n NgxPaginationModule,\n FormsModule,\n ReactiveFormsModule,\n AutocompleteLibModule,\n DatePickerModule,\n NgHttpLoaderModule.forRoot(),\n ClickOutsideModule,\n AngularMultiSelectModule\n ],\n providers: [\n // {\n // provide: LocationStrategy,\n // useClass: HashLocationStrategy\n // },\n // {\n // provide: HTTP_INTERCEPTORS,\n // useClass: MsalInterceptor,\n // multi: true\n // },\n MsalService,\n APWebServiceBaseline,\n APWebServiceFDS,\n APWebServiceBluePrint,\n APWebServiceDashBoard,\n APWebServiceJourneyPlan,\n APWebServiceProblemStatement,\n APWebService,\n DataService,\n CookieService,\n CommonService,\n EnvService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { AppConfigService } from './app-config.service';\r\ndeclare var bootbox: any;\r\n//import 'rxjs/Rx';\r\n\r\n@Injectable()\r\nexport class APWebServiceBluePrint {\r\n public baseURL: string;\r\n public environmentDetails: any;\r\n \r\n constructor(private http: HttpClient,private appConfig: AppConfigService) {\r\n this.environmentDetails = this.appConfig.environmentSettings;\r\n if(this.environmentDetails.MSALenabled)\r\n this.baseURL = this.environmentDetails.serverAPIUrl;\r\n else\r\n this.baseURL = this.environmentDetails.localAPIUrl;\r\n }\r\n\r\n //#region BluePrintController\r\n\r\n \r\n \r\n\r\n //#endregion \r\n\r\n \r\n}\r\n\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n\r\n transform(items: any[], filter: Object): any {\r\n if (!items || !filter) {\r\n return items;\r\n }\r\n // filter items array, items which match and return true will be\r\n // kept, false will be filtered out\r\n return items.filter(item => item.AppName.indexOf(filter[\"AppName\"]) !== -1);\r\n }\r\n}","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport * as d3 from 'd3';\r\nimport { common } from 'src/app/common/common';\r\nimport { DataService } from 'src/services/data.service';\r\nimport { APWebService } from 'src/services/apWeb.service';\r\n\r\n@Component({\r\n selector: 'app-donut-chart-source',\r\n templateUrl: './donut-chart-source.component.html',\r\n styleUrls: ['./donut-chart-source.component.scss']\r\n})\r\n\r\nexport class SourceDonutChart implements OnInit {\r\n dataset: any;\r\n selector = 'donut_chart-source';\r\n width = 280;\r\n height = 230;\r\n margin = 20;\r\n radius: any;\r\n svg: any;\r\n labelValue = 'Automation Opportunities';\r\n totalCount = 0;\r\n color = ['#673BD6', '#67CABD']; //'#5373E6'\r\n public unsubscribeBluePrintDataReceived: any;\r\n public unsubscribeFdsBluePrintDataReceived: any;\r\n\r\n constructor(private dataService: DataService, private apWebService: APWebService) { }\r\n\r\n ngOnInit() {\r\n this.unsubscribeBluePrintDataReceived = this.dataService.bluePrintDataReceived.subscribe(bluePrintData => {\r\n common.clearSVG(this.selector)\r\n let element = document.getElementsByClassName(this.selector)[0];\r\n this.width = element.offsetWidth - 20;\r\n this.height = 200;\r\n this.dataset = this.getData();\r\n this.drawGraph();\r\n }, error => {\r\n this.apWebService.showErrorMessage(error);\r\n })\r\n\r\n this.unsubscribeFdsBluePrintDataReceived = this.dataService.fdsBluePrintDataReceived.subscribe(bluePrintData => {\r\n common.clearSVG(this.selector)\r\n let element = document.getElementsByClassName(this.selector)[0];\r\n this.width = element.offsetWidth - 20;\r\n this.height = 200;\r\n this.dataset = this.getData();\r\n this.drawGraph();\r\n }, error => {\r\n this.apWebService.showErrorMessage(error);\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribeBluePrintDataReceived.unsubscribe();\r\n this.unsubscribeFdsBluePrintDataReceived.unsubscribe();\r\n }\r\n\r\n drawGraph() {\r\n //this.radius = (Math.min(this.width, this.height) / 2) - this.margin;\r\n this.radius = 70;\r\n //this.transformData();\r\n this.svg = this.getSVG();\r\n this.renderPolyLineCircles();\r\n this.renderCenterTotalCountText();\r\n this.renderCenterLable();\r\n this.renderLegends();\r\n }\r\n\r\n renderLegends() {\r\n let nodeWidth = (d) => d.getBBox().width;\r\n const legend = this.svg.append('g')\r\n .attr('transform', 'translate(0,0)');\r\n\r\n const lg = legend.selectAll('g')\r\n .data(this.dataset)\r\n .enter()\r\n .append('g')\r\n\r\n let legendRadius = 5;\r\n lg.append('circle')\r\n .attr('fill', (d, i) => this.color[i])\r\n .attr('r', legendRadius);\r\n\r\n lg.append('text')\r\n .attr(\"font-family\", \"Graphik Regular\")\r\n .attr(\"font-size\", \"10px\")\r\n .attr('fill', '#000000')\r\n .attr(\"text-align\", \"centre\")\r\n .attr(\"x\", legendRadius + 2)\r\n .attr(\"dy\", \"0.3em\")\r\n .text(d => d.label);\r\n\r\n let offset = 10;\r\n let offset1 = 10;\r\n let height = this.height;\r\n let width = this.width;\r\n lg.attr('transform', function (d, i) {\r\n let x = offset;\r\n offset += nodeWidth(this) + 5;\r\n if (offset < width) {\r\n return `translate(${x},${height / 2 - 15})`;\r\n }\r\n else {\r\n\r\n let x = offset1;\r\n offset1 += nodeWidth(this) + 15;\r\n return `translate(${x},${height / 3})`;\r\n }\r\n\r\n });\r\n let radius = this.radius - 35;\r\n legend.attr('transform', function () {\r\n return `translate(${(-radius - 30)},${25})`\r\n });\r\n }\r\n\r\n renderCenterLable() {\r\n this.svg.append('text')\r\n .attr('font-family', 'Graphik Medium')\r\n .attr('font-size', '9.5px')\r\n .attr('dy', '2em')\r\n .attr('fill', '#B0B0B0')\r\n .attr('text-anchor', 'middle')\r\n .text(this.labelValue);\r\n }\r\n\r\n renderPolyLineCircles() {\r\n const mainArc = this.getMainArc();\r\n // Another arc that won't be drawn. Just for labels positioning\r\n let line_length = this.radius + 30,\r\n arc_outer_line = d3.arc()\r\n .innerRadius(line_length)\r\n .outerRadius(line_length);\r\n\r\n let arc_outer_value = d3.arc()\r\n .innerRadius(line_length + 18)\r\n .outerRadius(line_length + 18);\r\n\r\n const pie = d3.pie()\r\n .value((d: any) => d.percentage)\r\n .sort(null);\r\n\r\n const paths = this.svg.selectAll('g')\r\n .data(pie(this.dataset))\r\n .enter();\r\n\r\n // Add the polylines between chart and labels:\r\n // paths.append('polyline')\r\n // .attr('stroke', 'black')\r\n // .style('fill', 'none')\r\n // .attr('stroke-width', 1)\r\n // .attr('points', (d) => {\r\n // const posA = mainArc.centroid(d), posB = arc_outer_line.centroid(d);\r\n // return [posA, posB];\r\n // });\r\n\r\n // Add circle to the polyline\r\n // paths.append('circle')\r\n // .attr('r', 3)\r\n // .attr('transform', d => 'translate(' + arc_outer_line.centroid(d) + ')')\r\n // .attr('fill', (d, i) => this.color[i]);\r\n\r\n // Add values to the charts\r\n // paths.append('text')\r\n // .attr('transform', d => 'translate(' + arc_outer_value.centroid(d) + ')')\r\n // .attr('font-family', 'Graphik Regular')\r\n // .attr('font-size', '12px')\r\n // .attr('fill', '#B0B0B0')\r\n // .attr('dy', '.35em')\r\n // .attr('text-anchor', 'middle')\r\n // .text(d => d.value + '%');\r\n\r\n\r\n paths.append('path')\r\n .attr('d', mainArc)\r\n .attr('fill', (d, i) => this.color[i])\r\n .append('svg:title')\r\n .text(d =>\r\n d.data.label.substring(d.data.label.lastIndexOf(\" \") + 1)\r\n );\r\n\r\n }\r\n\r\n renderCenterTotalCountText() {\r\n this.svg.append('text')\r\n .attr('font-family', 'Graphik Black')\r\n .attr('font-size', '35px')\r\n .attr('dy', '0.25em')\r\n .attr('fill', '#000000')\r\n .attr('text-anchor', 'middle')\r\n .text(this.totalCount);\r\n }\r\n\r\n getMainArc() {\r\n return d3.arc()\r\n .innerRadius(d => this.radius * 0.7)\r\n .outerRadius(d => this.radius)\r\n .padAngle(0.025);\r\n }\r\n\r\n\r\n getSVG() {\r\n return common.getSVG(this.selector, this.width, this.height)\r\n .append('g')\r\n .attr('transform', 'translate(' + (this.width / 2) +\r\n ',' + (this.height / 2.5) + ')');\r\n }\r\n\r\n // transformData() {\r\n // this.dataset.forEach(d => {\r\n // this.totalCount += d.percentage;\r\n // });\r\n // }\r\n\r\n getData() {\r\n this.totalCount = this.dataService.iom + this.dataService.manual;\r\n return [\r\n { percentage: Math.round(this.dataService.iom / this.totalCount * 100) < 1 ? 1 : Math.round(this.dataService.iom / this.totalCount * 100), label: 'IOM ' + this.dataService.iom },\r\n //{ percentage: Math.round(this.dataService.aof / this.totalCount * 100) < 1 ? 1 : Math.round(this.dataService.aof / this.totalCount * 100), label: 'AOF ' + this.dataService.aof },\r\n { percentage: Math.round(this.dataService.manual / this.totalCount * 100) < 1 ? 1 : Math.round(this.dataService.manual / this.totalCount * 100), label: 'Manual ' + this.dataService.manual },\r\n ];\r\n }\r\n\r\n // @HostListener('window:resize', ['$event'])\r\n // onResize(event) {\r\n // if (event) {\r\n // common.clearSVG(this.selector);\r\n // this.drawGraph();\r\n // }\r\n // }\r\n}\r\n","
\r\n
\r\n
\r\n\r\n\r\n","\n
\n
\n
\n
\n \"Back\"\n
Add Opportunity
\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n\n \n \n \n\n \n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n \n
\n
\n \n \n\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { $ } from 'protractor';\nimport { APWebService } from 'src/services/apWeb.service';\n\n\n@Component({\n selector: 'app-add-opportunity',\n templateUrl: './add-opportunity.component.html',\n styleUrls: ['./add-opportunity.component.css']\n})\n\nexport class AddOpportunityComponent implements OnInit {\n //public userDetails: any = '{\"UserDetails\":{\"EnterpriseId\":\"shiva.lawaria\",\"UserType\":1,\"AppName\":null,\"FdsReadOnly\":false,\"DatasourceID\":0,\"E2EUID\":null,\"UserPath\":3,\"ProjectID\":9,\"ProjectName\":\"myWizard AM\",\"ClientName\":\"myWizard\",\"EngName\":\"Accenture – DCN Internal\",\"Is\":\"\",\"Technology\":null,\"ClosedEntity\":false,\"startIndex\":1,\"endIndex\":50},\"opptype\":\"Other\"}';\n\n public UserDetails: any;\n deliveryType = ['Select', 'Application Maintenance', 'Application Development','Infrastructure maintenance', 'Agile', 'Testing', 'DevOps'];\n public supportGroupName;\n public category: any;\n public categoryList = [];\n public keyword = 'name';\n public deliveryTypeVal;\n public categoryVal;\n public subCategoryVal;\n public baselineAnnualEffortsVal;\n public costPerHourVal;\n public queueVal;\n public btnDisable = true;\n public manualOpp = [];\n public UserObj: { UserDetails: any; opptype: string; };\n public DatasourceID: any;\n public responseVal: any;\n\n constructor(private apwebservice: APWebService,\n private router: Router) { }\n\n ngOnInit(): void {\n\n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n if (this.UserDetails != undefined) {\n sessionStorage.setItem(\"UserDetails\", JSON.stringify(this.UserDetails));\n }\n else {\n this.UserDetails = sessionStorage.setItem(\"UserDetails\", this.UserDetails);\n }\n this.category = this.GetCategory();\n \n this.supportGroupName = ['Select', 'Other'];\n }\n\n GetCategory() {\n this.UserObj = {\n UserDetails: this.UserDetails,\n opptype: 'Other'\n };\n this.apwebservice.getCategories(this.UserObj).subscribe(response => {\n this.category = response;\n this.formatData();\n });\n }\n\n formatData() {\n this.category.forEach((element, index) => {\n this.categoryList.push({ id: index, name: element.Category });\n });\n }\n\n onDeliveryTypeChange(value) {\n this.deliveryTypeVal = value;\n }\n\n selectEvent(item) {\n this.categoryVal = item.name;\n this.validateSaveButton();\n }\n\n onChangeSearch(val: string) {\n // fetch remote data from here\n // And reassign the 'data' which is binded to 'data' property.\n this.validateSaveButton();\n }\n\n onFocused(e) {\n this.validateSaveButton();\n // do something when input is focused\n }\n\n onQueueChange(value) {\n this.queueVal = value.target.value;\n }\n\n validateSaveButton() {\n if ((this.deliveryTypeVal != undefined && this.deliveryTypeVal != 'Select') &&\n (this.categoryVal != undefined && this.categoryVal != '') &&\n (this.subCategoryVal != undefined && this.subCategoryVal != '') &&\n (this.baselineAnnualEffortsVal != undefined && this.baselineAnnualEffortsVal != ''))\n {\n //&&\n //(this.costPerHourVal != undefined && this.costPerHourVal != '') &&\n // (this.queueVal != undefined && this.queueVal != 'Select')) {\n this.btnDisable = false;\n if((this.subCategoryVal.length > 100 ))\n {\n alert(\"Subcategory Value should not be more than 100 characters\");\n this.btnDisable = true;\n }\n if((this.categoryVal.length > 120 ))\n {\n alert(\"Category Value should not be more than 120 characters\");\n this.btnDisable = true;\n }\n\n } else {\n this.btnDisable = true;\n }\n return this.btnDisable;\n }\n\n onSave() {\n this.manualOpp = [];\n if (this.DatasourceID == undefined && this.apwebservice.DatasourceID != 0) {\n this.DatasourceID = this.apwebservice.DatasourceID;\n }\n this.manualOpp.push(\n {\n \"DatasourceID\": this.DatasourceID,\n \"DeliveryType\": this.deliveryTypeVal,\n \"OpportunityType\": \"Other\",\n \"CategoryName\": this.categoryVal,\n \"SubCategoryName\": this.subCategoryVal,\n \"AnnualTicket\": \"\",\n \"AverageResolutionTime\": \"\",\n \"BaselineAnnualEffort\": this.baselineAnnualEffortsVal,\n \"CostPerHour\": this.costPerHourVal,\n \"SupportGroupQueueName\": this.queueVal\n }\n );\n this.apwebservice.CheckDuplicateOpportunity(this.manualOpp).subscribe(response => {\n this.responseVal = response;\n if (this.responseVal == true) {\n this.manualOpp = [];\n this.apwebservice.displayErrorMessage(\"The selected Opportunity combination already exists\");\n\n }\n else {\n this.manualOpp = [];\n this.apwebservice.showSuccessMessage(\"Added Successfully\");\n }\n this.router.navigateByUrl('/opportunityTreasury');\n },\n error => {\n console.log(\"Error\");\n });\n }\n\n checkRegex(event) {\n var k;\n k = event.charCode; // k = event.keyCode; (Both can be used)\n return ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57));\n }\n}\n","import { Component, OnInit, HostListener, Input } from '@angular/core';\r\n//import { debug } from 'console';\r\nimport * as d3 from \"d3\";\r\nimport { common } from 'src/app/common/common';\r\nimport { DataService } from 'src/services/data.service';\r\nimport { APWebService } from 'src/services/apWeb.service';\r\n\r\n@Component({\r\n selector: 'mri-bullet-chart',\r\n templateUrl: './TotSaving_bullet-chart.component.html',\r\n styleUrls: ['./TotSaving_bullet-chart.component.scss']\r\n})\r\nexport class TotSaving_BulletChartComponent implements OnInit {\r\n\r\n data: any;\r\n @Input() savedCostTotal: any;\r\n @Input() savedEffortTotal: any;\r\n\r\n selector = \"bullet-chart-section\";\r\n //margin = { top: 10, bottom: 40, left: 70, right: 20 };\r\n margin = { top: 5, bottom: 40, left: 2, right: 2 };\r\n svg: any;\r\n width: number;\r\n height: number;\r\n graphWidth: number;\r\n chart: any;\r\n bar_width = 14;\r\n rx = this.bar_width / 2;\r\n ry = this.bar_width / 2;\r\n rangeVal = [];\r\n rangeColor = ['#F0F0F1', '#e3e6e8', '#cbd0d6', '#bac0cc', '#aab0bd'];\r\n //legendKey = [\"Planned Saving\"];\r\n //legendColor = [\"#B95FD2\"];\r\n legendKey = [\"Planned Saving\",\"Current Total\"];\r\n legendColor = [\"#B95FD2\",\"#7235B1\"];\r\n xAxisLabel = \"Planned Cost Saving ($)\";\r\n widthVal = [196, 158.4, 120.8, 83.2, 45.6, 8];\r\n public unSunscribeBaseLineDataReceived: any;\r\n\r\n constructor(public dataservice: DataService, private apwebservice: APWebService) { }\r\n ngOnInit() {\r\n this.unSunscribeBaseLineDataReceived = this.dataservice.baseLineDataReceived.subscribe(baseLineData => {\r\n common.clearSVG(this.selector)\r\n this.drawGraph();\r\n }, error => {\r\n this.apwebservice.showErrorMessage(error);\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unSunscribeBaseLineDataReceived.unsubscribe();\r\n }\r\n\r\n getData() {\r\n return [{\r\n \"title\": \"Actual\",\r\n \"measures\": Math.round(this.apwebservice.plannedTotalSavings),\r\n \"markers\": Math.round(this.apwebservice.currentTotalCost)\r\n }];\r\n }\r\n\r\n\r\n renderSVGContainer() {\r\n let elem = (\r\n document.getElementsByClassName(this.selector)[0]\r\n );\r\n elem.innerHTML = \"\";\r\n this.svg = common.getSVG(this.selector, '100%', '100%');\r\n\r\n this.width = elem.offsetWidth - this.margin.left - this.margin.right;\r\n this.height = elem.offsetHeight - this.margin.top - this.margin.bottom + 40;\r\n\r\n this.graphWidth = this.width - 100;\r\n }\r\n\r\n // xScale() {\r\n // return d3.scaleLinear()\r\n // .range([0, this.graphWidth])\r\n // .domain([0, Math.round(1.2 * Math.max(this.apwebservice.currentTotalCost, this.apwebservice.plannedTotalSavings))])\r\n // //.domain([0, Math.round(1.2 * Math.max(10, 20))])\r\n // .nice();\r\n // }\r\n xScale() {\r\n return d3.scaleLinear()\r\n .range([0, this.graphWidth + 50])\r\n .domain([0, Math.round(1.2 * this.rangeVal[0])])\r\n .nice();\r\n }\r\n\r\n yScale() {\r\n return d3.scaleBand()\r\n .range([0, this.height])\r\n .padding(0.2);\r\n }\r\n\r\n renderChartContainer() {\r\n return this.chart = this.svg\r\n .append(\"g\")\r\n .attr(\r\n \"transform\",\r\n \"translate(\" + [this.margin.left + 50, this.margin.top - 100] + \")\"\r\n );\r\n }\r\n\r\n renderXAxis() {\r\n this.renderChartContainer().append(\"g\")\r\n .attr(\"transform\", `translate(0 , ${this.height + 10})`)\r\n .call(d3.axisBottom(this.xScale())\r\n .tickSizeOuter(0)\r\n //.ticks(6).tickFormat(d => d > 0 ? d / 10000 + 'K' : '0K'))\r\n .ticks(6)\r\n .tickValues(this.rangeVal)\r\n .tickFormat(d => (d != 0) ? (d >= 1000000000 ? (+d / 1000000000).toFixed(1) + 'B' : d >= 1000000 ? (+d / 1000000).toFixed(1) + 'M' : d >= 1000 ? (+d / 1000).toFixed(1) + 'K' : d + '') : 0)) \r\n .call((d) => {\r\n d.selectAll(\"path\").remove();\r\n d.selectAll(\"line\").remove();\r\n d.selectAll(\"text\")\r\n .attr(\"font-size\", \"10px\")\r\n });\r\n }\r\n renderRangeRect() {\r\n let maxValue = Math.round(1.2 * Math.max(this.apwebservice.currentTotalCost, this.apwebservice.plannedTotalSavings));\r\n\r\n if (maxValue >= 1000000)\r\n maxValue = Math.ceil(maxValue / 100000) * 100000\r\n else if (maxValue >= 100000)\r\n maxValue = Math.ceil(maxValue / 10000) * 10000\r\n else if (maxValue >= 10000)\r\n maxValue = Math.ceil(maxValue / 1000) * 1000\r\n else if (maxValue >= 1000)\r\n maxValue = Math.ceil(maxValue / 100) * 100\r\n\r\n if ((maxValue - (maxValue % 5000)) > Math.max(Math.round(this.apwebservice.currentTotalCost), Math.round(this.apwebservice.plannedTotalSavings)))\r\n //if ((maxValue - (maxValue % 5000)) > Math.max(Math.round(this.apWebService.actualTotalSavings / this.aWebService.costPerHour), Math.round(this.ajWebService.plannedTotalEfforts)))\r\n maxValue = maxValue - (maxValue % 5000);\r\n else\r\n maxValue = maxValue - (maxValue % 5000) + 5000;\r\n\r\n this.rangeVal = [];\r\n for (var i = 5; i >= 0; i--)\r\n this.rangeVal.push(maxValue * i / 5);\r\n\r\n \r\n\r\n var range = this.renderChartContainer()\r\n .selectAll()\r\n .data(this.rangeVal)\r\n .enter()\r\n .append(\"g\")\r\n\r\n\r\n range.append('rect')\r\n .attr('class', 'in-range')\r\n .attr(\"x\", 0)\r\n .attr('y', this.yScale().bandwidth() - this.rx * 2 + 12)\r\n .attr('height', this.bar_width * 3)\r\n .attr('width', (d, i) => this.widthVal[i] - 8)\r\n //.attr('width', (d) => this.xScale()(d) == 0 ? 8: this.xScale()(d) + 12)\r\n .attr('fill', (d, i) => this.rangeColor[i]);\r\n\r\n\r\n range.append('rect')\r\n .attr('class', 'out-range')\r\n .attr(\"x\", -5)\r\n .attr('y', this.yScale().bandwidth() - this.rx * 2 + 12)\r\n .attr('rx', this.rx)\r\n .attr('ry', this.ry)\r\n .attr('height', this.bar_width * 3)\r\n .attr('width', this.graphWidth + 8)\r\n .attr('fill', 'none')\r\n .attr('stroke', 'white')\r\n .attr('stroke-width', 8);\r\n }\r\n\r\n renderMeasure() {\r\n var mes = this.renderChartContainer()\r\n .selectAll()\r\n .data(this.data)\r\n .enter()\r\n .append(\"g\")\r\n .attr(\"class\", \"measure\")\r\n .style(\"fill\", this.legendColor[1]);\r\n\r\n\r\n mes.append(\"path\")\r\n .attr(\"d\", (d, i) => {\r\n return `M${0} ${this.yScale().bandwidth() - this.ry + 18}\r\n h${(this.xScale()(d.measures) < this.rx ? this.rx - this.xScale()(d.measures) : this.xScale()(d.measures) - this.rx)}\r\n a${this.rx} ${this.ry} 0 0 1 ${this.rx} ${this.ry}\r\n v 4\r\n a${this.rx} ${this.ry} 0 0 1 ${-this.rx} ${this.ry}\r\n h${(this.xScale()(d.measures) < this.rx ? this.xScale()(d.measures) - this.rx : this.rx - this.xScale()(d.measures))}Z`\r\n }\r\n ).style(\"fill\", this.legendColor[0])\r\n .append('svg:title')\r\n .text(d =>\r\n \"$\" + d[\"measures\"]\r\n )\r\n //.text(function (d, i) { return \"$\" + d[\"measures\"]; })\r\n }\r\n\r\n renderMark() {\r\n let mark = this.renderChartContainer()\r\n .selectAll(\".marker\")\r\n .data(this.data)\r\n .enter()\r\n .append('g')\r\n .attr(\"class\", \"marker\")\r\n\r\n mark.append(\"line\")\r\n .attr(\"x1\", d => this.xScale()(d.markers))\r\n .attr(\"x2\", d => this.xScale()(d.markers))\r\n .attr(\"y1\", this.yScale().bandwidth() - this.bar_width + 17)\r\n .attr(\"y2\", this.yScale().bandwidth() + this.bar_width + 21)\r\n .attr(\"stroke-width\", 3)\r\n .attr(\"stroke\", this.legendColor[1])\r\n .attr('fill', this.legendColor[1])\r\n .append('svg:title')\r\n .text(d =>\r\n d[\"markers\"]\r\n );\r\n }\r\n\r\n\r\n renderAxisText() {\r\n this.renderChartContainer().append(\"text\")\r\n .attr(\"transform\",\r\n \"translate(\" + (this.graphWidth / 2) + \" ,\" + (this.height - 35) + \")\")\r\n .attr(\"text-anchor\", \"middle\")\r\n .attr(\"font-family\", \"sans-serif Strong\")\r\n .attr(\"font-size\", \"12px\")\r\n .attr(\"font-weight\", \"bold\")\r\n .text(this.xAxisLabel);\r\n }\r\n\r\n renderLegend() {\r\n var nodeWidth = (d) => d.getBBox().width;\r\n const legend = this.renderChartContainer().append('g')\r\n .attr('class', 'legend')\r\n .attr('transform', 'translate(0,0)');\r\n\r\n const lg = legend.selectAll('g')\r\n .data(this.legendKey)\r\n .enter()\r\n .append('g')\r\n .attr(\"class\", (d, i) => \"circlelegend\" + i)\r\n\r\n\r\n lg.append('circle')\r\n .attr(\"id\", (d, i) => \"circle\" + i)\r\n .attr('fill', (d, i) => this.legendColor[i])\r\n .attr('cx', 0)\r\n .attr('cy', 0)\r\n .attr('r', 5)\r\n\r\n lg.append('text')\r\n .attr(\"font-family\", \"sans-serif\")\r\n .attr(\"font-size\", \"11px\")\r\n .attr('fill', '#515151')\r\n .attr('x', 9)\r\n .attr('y', 5)\r\n .attr('dy', -1)\r\n .text((d, i) => this.legendKey[i]);\r\n\r\n let offset = 0;\r\n const self = this;\r\n lg.attr('transform', function (d, i) {\r\n let x = offset;\r\n offset += nodeWidth(this) + 10;\r\n return `translate(${x},${self.height + 10})`;\r\n });\r\n\r\n legend.attr('transform', function () {\r\n return `translate(${(self.graphWidth - nodeWidth(this)) / 2},${61})`\r\n });\r\n }\r\n\r\n drawGraph() {\r\n this.data = this.getData();\r\n this.renderSVGContainer();\r\n this.renderRangeRect();\r\n this.renderXAxis();\r\n this.renderMeasure();\r\n this.renderMark();\r\n this.renderAxisText();\r\n this.renderLegend();\r\n }\r\n\r\n}\r\n","\r\n \r\n
\r\n
","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { AppConfigService } from './app-config.service';\r\ndeclare var bootbox: any;\r\n//import 'rxjs/Rx';\r\n\r\n@Injectable()\r\nexport class APWebServiceProblemStatement {\r\n public baseURL: string;\r\n public environmentDetails: any;\r\n\r\n constructor(private http: HttpClient, private appConfig: AppConfigService) {\r\n this.environmentDetails = this.appConfig.environmentSettings;\r\n if (this.environmentDetails.MSALenabled)\r\n this.baseURL = this.environmentDetails.serverAPIUrl;\r\n else\r\n this.baseURL = this.environmentDetails.localAPIUrl;\r\n }\r\n\r\n\r\n //#region ProblemStatementController\r\n\r\n GetNotificationFromAIAA(jsonNotification: object): Observable {\r\n return this.http.post(this.baseURL + \"ProblemStatement/GetNotificationFromAIAA/\", { jsonNotification });\r\n }\r\n GetNotificationFromAIAA1(jsonNotification: object): Observable {\r\n return this.http.post(this.baseURL + \"ProblemStatement/GetNotificationFromAIAA1/\", { jsonNotification });\r\n }\r\n UpdateAIAAEnableDisableData(jsonUpdate: object): Observable {\r\n return this.http.post(this.baseURL + \"ProblemStatement/UpdateAIAAEnableDisableData/\", { jsonUpdate });\r\n }\r\n SaveMySpData(jsonMydata: object): Observable {\r\n return this.http.post(this.baseURL + \"ProblemStatement/SaveMySpData/\", { jsonMydata });\r\n }\r\n\r\n // SaveAOFDataPush(jsonMydata: object): Observable {\r\n // return this.http.post(this.baseURL + \"ProblemStatement/SaveAOFDataPush/\", { jsonMydata });\r\n // }\r\n\r\n getFDSDemographicsNotification(jsonresponse: object): Observable {\r\n return this.http.post(this.baseURL + \"ProblemStatement/GetFDSDemographicsNotification/\", { jsonresponse });\r\n }\r\n\r\n MigrateFDSDeliveryStructureService(): Observable {\r\n return this.http.get(this.baseURL + \"ProblemStatement/MigrateFDSDeliveryStructureService/\");\r\n }\r\n BulkPushToAJ(): Observable {\r\n return this.http.get(this.baseURL + \"ProblemStatement/BulkPushToAJ/\");\r\n }\r\n\r\n\r\n //#endregion\r\n\r\n\r\n\r\n}\r\n\r\n","import { Component, OnInit, ViewChild, ElementRef, Input } from '@angular/core';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { HttpClient } from '@angular/common/http';\nimport { APWebService } from '../../services/apWeb.service';\nimport { DataService } from '../../services/data.service';\nimport * as _ from 'lodash';\nimport * as XLSX from 'xlsx';\nimport { RouterModule, Routes, Router } from '@angular/router';\n\n@Component({\n selector: 'app-upload-opportunity',\n templateUrl: './upload-opportunity.component.html',\n styleUrls: ['./upload-opportunity.component.css']\n})\nexport class UploadOpportunityComponent implements OnInit {\n\n public InvalidFileStructureFlag: boolean = false;\n public ValidationMsg = '';\n public btnUploadDisable = true;\n public fieldData = null;\n public excelColumns = [];\n public fieldsText = false;\n public ValidationMsgFields = null;\n public newDataObjectArray = null;\n public oldDataObjectArray = null;\n public mappedFields = [];\n public newDataObject = {};\n public nullValueFlag = false;\n public DuplicateExists = false;\n public SelectedFile = null;\n public dataSourceID = null;\n public UserDetails: any;\n public btnDisable: boolean;\n public oldE2EUID: any;\n public validFileSelected: boolean = false;\n public redirected = false;\n\n public temp = \"File Upload\";\n\n arraybuffer: any;\n filelist: any;\n\n\n\n @ViewChild('UploadFileInput', { static: false }) uploadFileInput: ElementRef;\n fileUploadForm: FormGroup;\n fileInputLabel: string;\n\n constructor(\n private http: HttpClient,\n private router: Router,\n private formBuilder: FormBuilder,\n private apWebService: APWebService,\n private dataservice: DataService\n ) {\n\n }\n\n ngOnInit(): void {\n this.fileUploadForm = this.formBuilder.group({\n myfile: ['']\n });\n if (sessionStorage.getItem('UserDetails') != null || sessionStorage.getItem('UserDetails') != undefined)\n this.UserDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n if (sessionStorage.getItem(\"oldE2EUID\") != null) {\n this.oldE2EUID = sessionStorage.getItem(\"oldE2EUID\");\n }\n\n this.UserDetails = JSON.parse(sessionStorage.getItem('UserDetails'));\n console.log(this.UserDetails);\n }\n\n //Browse File\n SelectFile(event) {\n this.InvalidFileStructureFlag = false;\n this.ValidationMsg = '';\n this.btnUploadDisable = false;\n this.fieldData = null;\n this.excelColumns = [];\n this.fieldsText = false;\n this.mappedFields = [];\n this.newDataObject = {};\n this.nullValueFlag = false;\n this.DuplicateExists = false;\n this.dataSourceID = null;\n let af = ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-excel']\n if (event.target.files.length > 0) {\n const selectedfile = event.target.files[0];\n const Selecctedfilesize = event.target.files[0].size;\n const FileSizeinMB=5;\n this.SelectedFile = selectedfile;\n // console.log(file);\n\n if (!_.includes(af, selectedfile.type)) {\n this.apWebService.showErrorMessage('Only EXCEL Docs Allowed!');\n this.validFileSelected = false;\n } \n else if(selectedfile.name.split('.').length > 2)\n {\n this.apWebService.showErrorMessage('**Double extensions are not allowed.');\n this.validFileSelected = false;\n }\n else if(Math.round(Selecctedfilesize/1024000) > FileSizeinMB)\n{\n this.apWebService.showErrorMessage(' File Size should not exceed 5 MB');\n this.validFileSelected = false;\n } else {\n this.fileInputLabel = selectedfile.name;\n this.fileUploadForm.get('myfile').setValue(selectedfile);\n this.validFileSelected = true;\n }\n\n\n }\n if (this.SelectedFile != \"\") {\n // this.dataservice.UserDetails['IsUserReadonly'] = true;\n if (this.dataservice.UserDetails['IsUserReadonly'] == true) {\n this.btnUploadDisable = true;\n }\n else {\n this.btnUploadDisable = false;\n }\n //$scope.$broadcast('angucomplete-alt:clearInput');\n this.btnDisable = true;\n }\n }\n\n //Upload Event\n HandleFile() {\n\n this.btnUploadDisable = true;\n this.CreateManualDatasourceIDOnAdd();\n // $scope.showDownloadedfiles = false;\n //var file = this.SelectedFile;\n if (this.fileInputLabel) {\n var strfilename = this.fileInputLabel;\n var file = this.SelectedFile; //event.target.files[0]; \n var ext = strfilename.substr(strfilename.lastIndexOf('.') + 1).toLowerCase();\n if (ext == \"xlsx\" || ext == \"xls\" && file.split('.').length==2) {\n var reader = new FileReader();\n this.InvalidFileStructureFlag = false;\n // reader.readAsArrayBuffer(file);\n reader.onload = (e) => {\n this.arraybuffer = reader.result;\n var bytes = new Uint8Array(this.arraybuffer);\n var length = bytes.byteLength;\n // var arr = new Array();\n var binary = \"\";\n for (var i = 0; i < length; ++i) {\n binary += String.fromCharCode(bytes[i]);\n }\n // var bstr = arr.join(\"\");\n var workbook = XLSX.read(binary, { type: \"binary\", cellDates: true, cellStyles: true });\n //Download file code starts\n var first_sheet_name = workbook.SheetNames[0];\n var filelist = XLSX.utils.sheet_to_json(workbook.Sheets['Template'], { raw: false, header: 0, defval: \"\" });\n\n const json = JSON.stringify(filelist);\n const fileListWithStrings = JSON.parse(json, (key, val) => (\n typeof val !== 'object' && val !== null ? String(val) : val\n ));\n //console.log(fileListWithStrings);\n this.oldDataObjectArray = fileListWithStrings;\n localStorage.setItem('OldDataObjExcel', JSON.stringify(this.oldDataObjectArray));\n\n if (filelist.length > 0) {\n if (filelist.length <= 300) {\n this.populateFields(fileListWithStrings[0]);\n }\n else {\n this.InvalidFileStructureFlag = true;\n this.ValidationMsg = '**Data in excelsheet(Template) should not exceed 300 rows';\n this.apWebService.showErrorMessage(this.ValidationMsg);\n this.btnUploadDisable = true;\n this.SelectedFile = null;\n // this.fileInputLabel = null;\n\n }\n }\n else {\n setTimeout(function () {\n this.InvalidFileStructureFlag = true;\n this.ValidationMsg = '**No data in the sheet \"Template\"';\n this.apWebService.showErrorMessage(this.ValidationMsg);\n this.SelectedFile = null;\n this.btnUploadDisable = true;\n }, 100)\n\n }\n }\n reader.onerror = function (ex) { }\n }\n else {\n this.InvalidFileStructureFlag = true;\n this.ValidationMsg = '**Invalid file format.';\n this.apWebService.showErrorMessage(this.ValidationMsg);\n this.SelectedFile = null;\n this.btnUploadDisable = true;\n\n return;\n }\n reader.readAsArrayBuffer(file);\n }\n else {\n this.InvalidFileStructureFlag = true;\n this.ValidationMsg = '**Please upload the file.';\n this.apWebService.showErrorMessage(this.ValidationMsg);\n this.SelectedFile = null;\n this.btnUploadDisable = true;\n this.DuplicateExists = false;\n return;\n }\n\n\n }\n\n populateFields(data) {\n //console.log(Object.keys(data));\n this.CreateManualDatasourceIDOnAdd();\n this.fieldsText = true;\n var emp = \"__EMPTY\";\n var Id = 0;\n var obj = {\n id: Id,\n value: \"Please select\"\n }\n\n this.excelColumns.push(obj);\n let num = Object.keys(data);\n for (var i = 0; i < num.length; i++) {\n //this.rangeVal.push(maxValue * i / 5);\n //console.log(num[i]);\n if (num[i].indexOf(emp) == -1) {\n Id = Id + 1;\n obj = {\n id: Id,\n value: num[i].trim()\n }\n }\n this.excelColumns.push(obj);\n this.dataservice.ExcelColumns = this.excelColumns;\n //localStorage.setItem('ExcelColumns',JSON.stringify(this.excelColumns));\n }\n let currentObj = this;\n currentObj.apWebService.GetBulkUploadFields().subscribe(function (data) {\n\n currentObj.fieldData = data;\n\n currentObj.fieldData.forEach(function (xData) {\n //Datastructure to store mapped fields\n var dataType = null;\n if (xData.UiDataType == \"Nvarchar (250)\" || xData.UiDataType == \"Nvarchar (max)\" || xData.UiDataType == \"Nvarchar (100)\" || xData.UiDataType == \"NULL\" || xData.UiDataType == \"\") {\n dataType = \"string\";\n }\n else if (xData.UiDataType == \"Int\" || xData.UiDataType == \"Decimal (18,2)\") {\n dataType = \"int\";\n } else if (xData.UiDataType == \"Bit\") {\n dataType = \"bit\";\n } else if (xData.UiDataType == \"datetime\") {\n dataType = \"Date(dd/mm/yyyy)\";\n } else\n dataType = \"string\";\n\n var obj = {\n xField: xData.FieldName,\n xMandatory: xData.Mandatory,\n xAppName: xData.AppName,\n xFieldType: dataType,\n cField: '',\n isDuplicate: false,\n id: xData.FieldId,\n xValidationflag: true\n };\n if (obj.xField == 'Is Client Specific')\n obj.cField = 'True';\n currentObj.mappedFields.push(obj);\n\n });\n currentObj.mappedFields = currentObj.mappedFields;\n currentObj.dataservice.ExcelMappingFeilds = currentObj.mappedFields;\n currentObj.dataservice.FeildData = currentObj.fieldData;\n //console.log(this.mappedFields)\n //localStorage.setItem('ExcelMappingFeilds', JSON.stringify(currentObj.mappedFields));\n //localStorage.setItem('FeildData', JSON.stringify(currentObj.fieldData));\n currentObj.router.navigate(['/fieldMapping']);\n }, error => {\n console.log(error);\n });\n\n // to get DB column values\n\n }\n\n redirectedToHome() {\n if (localStorage.getItem('lastSavedValues') != undefined)\n localStorage.removeItem('lastSavedValues');\n this.apWebService.RedirectToHome();\n this.redirected = true;//this.dataservice.redirected;\n }\n\n CreateManualDatasourceIDOnAdd() {\n //if (!(this.UserDetails.FdsReadOnly)) {​​​​​​​\n this.apWebService.CreateManualDSOnAdd(this.UserDetails).subscribe(function (response) {\n this.dataSourceID = response;\n //localStorage.setItem('CreatedDSID', JSON.stringify(this.dataSourceID));\n sessionStorage.setItem('CreatedDSID', JSON.stringify(this.dataSourceID));\n // console.log(this.dataSourceID);\n });\n //}​​​​​​​\n }\n\n}\n","\n
\n
\n
\n
\n \"Back\"\n
Automation Opportunity Upload
\n \n
\n \n
\n
\n
\n Download Sample Template\n \n Download Template\n\n
\n

Upload Files

\n

\n This utility allows you to upload opportunity information that you have and easily map it to the automation journey, hence allowing a way to get your past information quickly and easily .View guidelines on the pre-requisites to begin your upload.\n

\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n
\n\n","import { InjectionToken, NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport {\r\n MSAL_GUARD_CONFIG,\r\n // MSAL_CONFIG_ANGULAR,\r\n MsalGuardConfiguration\r\n , MsalService, MsalModule, MsalInterceptor, MSAL_INSTANCE, MsalGuard, MsalInterceptorConfiguration, MSAL_INTERCEPTOR_CONFIG, MsalBroadcastService\r\n} from '@azure/msal-angular';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AppConfigService } from '../services/app-config.service';\r\nimport { Configuration } from 'msal';\r\nimport { BrowserCacheLocation, InteractionType, IPublicClientApplication, LogLevel, PublicClientApplication } from '@azure/msal-browser';\r\nimport { environment } from 'src/environments/environment';\r\nimport { env } from 'process';\r\nimport { HttpTokenInterceptor } from 'src/services/HttpTokenInterceptor';\r\n\r\n\r\nconst AUTH_CONFIG_URL_TOKEN = new InjectionToken('AUTH_CONFIG_URL');\r\n\r\nconst isIE = window.navigator.userAgent.indexOf(\"MSIE \") > -1 || window.navigator.userAgent.indexOf(\"Trident/\") > -1;\r\n\r\nexport function initializerFactory(env: AppConfigService, configUrl: string): any {\r\n // APP_INITIALIZER, except a function return which will return a promise\r\n // APP_INITIALIZER, angular doesnt starts application untill it completes\r\n const promise = env.init(configUrl).then((value) => {\r\n //console.log(env);\r\n });\r\n return () => promise;\r\n}\r\nexport function loggerCallback(logLevel: LogLevel, message: string) {\r\n console.log(message);\r\n}\r\n///END \r\nexport function MSALInstanceFactory(config: AppConfigService): IPublicClientApplication {\r\n return new PublicClientApplication({\r\n auth: {\r\n clientId: config.getSettings('webClientID'),\r\n authority: config.getSettings('authority'),\r\n redirectUri: config.getSettings('azureRedirectURL'),\r\n postLogoutRedirectUri: config.getSettings(\"azureRedirectURL\"),\r\n //navigateToLoginRequestUrl: true,\r\n },\r\n cache: {\r\n cacheLocation: \"localStorage\",\r\n storeAuthStateInCookie: isIE, // set to true for IE 11. Remove this line to use Angular Universal\r\n },\r\n system: {\r\n allowRedirectInIframe: true,\r\n loggerOptions: {\r\n loggerCallback,\r\n logLevel: LogLevel.Info,\r\n piiLoggingEnabled: false\r\n }\r\n }\r\n });\r\n}\r\nexport function MSALInterceptorConfigFactory(config: AppConfigService): MsalInterceptorConfiguration {\r\n var apiid = config.getSettings('apiClientID')\r\n var msalapiurls = config.getSettings('msalapiurl')\r\n console.log('****MSALInterceptorConfigFactory Apiid****Start');\r\n console.log(apiid);\r\n console.log(msalapiurls);\r\n console.log('****MSALInterceptorConfigFactory Apiid****End');\r\n\r\n const protectedResourceMap = new Map>();\r\n protectedResourceMap.set('https://graph.microsoft.com/v1.0/me', ['user.read']);\r\n\r\n protectedResourceMap.set(msalapiurls, [ apiid +'/user_impersonation', apiid+'/read_mywizard_am_scopeautomation', apiid+'/write_mywizard_am_automationlanding'])\r\n\r\n\r\n\r\n\r\n\r\n return {\r\n interactionType: InteractionType.Redirect,\r\n protectedResourceMap\r\n };\r\n}\r\nexport function MSALGuardConfigFactory(): MsalGuardConfiguration {\r\n console.log('here');\r\n return {\r\n interactionType: InteractionType.Redirect\r\n //,\r\n // authRequest: {\r\n // scopes: [\r\n // 'User.Read'\r\n // ]\r\n // }\r\n };\r\n}\r\n\r\n@NgModule({\r\n providers: [\r\n ],\r\n imports: [MsalModule]\r\n})\r\nexport class MsalApplicationModule {\r\n static forRoot(configFile: string) {\r\n return {\r\n ngModule: MsalApplicationModule,\r\n providers: [\r\n AppConfigService,\r\n { provide: AUTH_CONFIG_URL_TOKEN, useValue: configFile },\r\n {\r\n provide: APP_INITIALIZER, useFactory: initializerFactory,\r\n deps: [AppConfigService, AUTH_CONFIG_URL_TOKEN], multi: true\r\n },\r\n MsalService,\r\n MsalGuard,\r\n MsalBroadcastService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalInterceptor,\r\n //useClass: HttpTokenInterceptor,\r\n multi: true\r\n },\r\n\r\n {\r\n provide: MSAL_INSTANCE,\r\n useFactory: MSALInstanceFactory,\r\n deps: [AppConfigService]\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useFactory: MSALGuardConfigFactory\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useFactory: MSALInterceptorConfigFactory,\r\n deps: [AppConfigService]\r\n },\r\n ]\r\n };\r\n }\r\n}\r\n","import { Component, HostListener, OnInit } from '@angular/core';\nimport { APWebService } from '../../services/apWeb.service';\nimport { CommonService } from '../../services/commonservice';\nimport * as $ from \"jquery\";\nimport { DataService } from 'src/services/data.service';\nimport { Router } from '@angular/router';\nimport { AppConfigService } from 'src/services/app-config.service';\nimport { cloneDeep } from 'lodash';\n\n@Component({\n selector: 'app-opportunity-treasury',\n templateUrl: './opportunity-treasury.component.html',\n styleUrls: ['./opportunity-treasury.component.css']\n})\nexport class OpportunityTreasuryComponent implements OnInit {\n public p: number = 1;\n public enterpriseid = '';\n public checkdateAfterUTCDate: string = \"2019-08-10T03:30:56Z\";\n public OppsList: any = [];\n public OppsListBackUp: any = [];\n public RespOppsList: any = [];\n public selectAll: boolean = false;\n public startIndex: number = 1;\n public endIndex: number = 100000;\n public TotalOpportunityCount: number = 0;\n public IsLoadMore: boolean = true;\n public ActiveScroll: boolean = true;\n public SelectedOpportunities = [];\n public redirected = false;\n public defaultPage: number;\n public currentlyEditableOpportunityId = 0;\n public OppsListForFilter: any = [];\n\n\n // public filterDropDown: any = {\n // DataSourceName: [{ id: -1, value: 'Select' }],\n // Type: [{ id: -1, value: 'Select' }],\n // Category: [{ id: -1, value: 'Select' }],\n // SubCategory: [{ id: -1, value: 'Select' }]\n // }\n\n // selectedDataSourceName = this.filterDropDown.DataSourceName[0].id;\n // selectedType = this.filterDropDown.Type[0].id;\n // selectedCateGory = this.filterDropDown.Category[0].id;\n // selectedSubCategory = this.filterDropDown.SubCategory[0].id;\n filterOppsList = [];\n\n public filters: any = {\n DataSourceName: ['Select'],\n Type: ['Select'],\n Category: ['Select'],\n SubCategory: ['Select']\n }\n public selectedDataSourceNameFilter = this.filters.DataSourceName[0];\n public selectedTypeFilter = this.filters.Type[0];\n public selectedCtgFilter = this.filters.Category[0];\n public selectedSubCtgFilter = this.filters.SubCategory[0];\n public selectedDataSourceNameFilterVal: string = '';\n public selectedTypeFilterVal: string = '';\n public selectedCtgFilterVal = '';\n public selectedSubCtgFilterVal = '';\n public selectedPrevDataSourceNameFilterVal;\n public selectedPrevTypeFilterVal;\n public selectedPrevCtgFilterVal;\n public selectedPrevSubCtgFilterVal = '';\n\n public IsFilterDisabled = false;\n public orderByExpression = ['-CreatedDate'];\n public reverseSortCtg = false;\n public reverseSortSubCtg = false;\n public reverseSort = true;\n public IsDataSourceNameClicked = false;\n public IsCtgClicked = false;\n public IsSubCtgClicked = false;\n public IsTicketsClicked = false;\n public IsDurationClicked = false;\n public IsScoreClicked = false;\n public IsCreatedDateClicked = true;\n public DataSourceNameClickCounter = 0;\n public CtgClickCounter = 0;\n public SubCtgClickCounter = 0;\n public TicketsClickCounter = 0;\n public DurationClickCounter = 0;\n public ScoreClickCounter = 0;\n public CreatedDateClickCounter = 1;\n public strictFiltering = false;\n public filterExpression = {};\n //Check for date for date from which we take the dates as UTC from AOF and they will get converted to LocalTime\n\n public categoryNameSortOrder: boolean = false;\n public datasourceNameSortOrder: boolean = false;\n public supportGroupNameSortOrder: boolean = false;\n public SubcategoryNameSortOrder: boolean = false;\n public ticketNumberSortOrder: boolean = false;\n public durationSortOrder: boolean = false;\n public automationScoreSortOrder: boolean = false;\n public committedCloseDataSortOrder: boolean = false;\n public currentlySortedOn: string = \"\";\n\n public IsEUEnv: boolean = false\n public ShowFolderNavigation: boolean = false;\n public IsAuthorizationServiceDown = false;\n public oldE2EUID: any;\n public UserDetails1: { startIndex: number, endIndex: number };\n public UserDetails: any = [];\n public opportunityList: any = [];\n\n public numberOfRecordsPerPage: number;\n public AIAAURL: string;\n public AIAAFDSURL: string;\n //public AOFURL: string;\n public dataSourceID: any;\n public mainFlag: boolean;\n public environmentDetails: any;\n\n constructor(public apwebservice: APWebService, public dataService: DataService, public router: Router, private appConfig: AppConfigService) {\n\n }\n\n ngOnInit(): void {\n this.apwebservice.standaloneScopeEvent.emit(true);\n\n // var data = localStorage.getItem('pageRefresh');\n // if (data != undefined && data == \"true\")\n // {\n\n // localStorage.setItem('pageRefresh', \"false\")\n // this.apwebservice.RedirectToHome();\n\n // }\n\n ////us stage\n this.environmentDetails = this.appConfig.environmentSettings;\n this.AIAAURL = this.environmentDetails.iomUrl;\n this.AIAAFDSURL = this.environmentDetails.iomFdsUrl;\n //this.AOFURL = this.environmentDetails.aofUrl;\n\n this.endIndex = this.environmentDetails.MSALenabled ? 100000 : 1000;\n\n // this.AIAAURL = 'https://mywizardaiaa.ciostage.accenture.com/';\n // this.AIAAFDSURL = 'https://mywizardaiaa.ciostage.accenture.com/ticket/home?';\n // this.AOFURL = 'https://mywizard-aof.ciostage.accenture.com/';\n\n ////EU stage\n // this.AIAAURL = 'https://mywizardaiaaeu.ciostage.accenture.com/';\n // this.AIAAFDSURL = 'https://mywizardaiaaeu.ciostage.accenture.com/Ticket/Home?'; \n // this.AOFURL = 'https://mywizard-aofeu.ciostage.accenture.com/';\n\n ////APT\n // this.AIAAURL = 'https://mywizardaiaa.ciotest.accenture.com/';\n // this.AIAAFDSURL = 'https://mywizardaiaa.ciotest.accenture.com/Ticket/Home?';\n // this.AOFURL = 'https://mywizard-aof.ciotest.accenture.com/';\n\n ////Demo Prod\n // this.AIAAURL = 'https://mywizardiomdemo.accenture.com';\n // this.AIAAFDSURL = 'https://mywizardiomdemo.accenture.com/Ticket/Home?';\n // this.AOFURL = 'https://mywizardaofdemo.accenture.com/';\n\n ////Prod US\n // this.AIAAURL = 'https://mywizardiom.accenture.com';\n // this.AIAAFDSURL = 'https://mywizardiom.accenture.com/Ticket/Home?';\n // this.AOFURL = 'https://mywizard-aof.accenture.com/'; \n\n ////Prod EU\n // this.AIAAURL = 'https://mywizardiomeu.accenture.com';\n // this.AIAAFDSURL = 'https://mywizardiomeu.accenture.com/Ticket/Home?';\n // this.AOFURL = 'https://mywizard-aofeu.accenture.com/';\n\n this.enterpriseid = this.apwebservice.enterpriseId;\n this.numberOfRecordsPerPage = 100\n this.SelectedOpportunities = [];\n if (this.dataService.redirected !== undefined && this.dataService.redirected == true) {\n this.GetOpportunitiesList();\n }\n if (this.dataService.redirected == undefined && this.router.url === '/opportunityTreasury') {\n this.GetOpportunitiesList();\n }\n this.dataService.FDSUserDetailsForOpp.subscribe(bluePrintData => {\n this.GetOpportunitiesList();\n }, error => {\n this.apwebservice.showErrorMessage(error);\n })\n }\n\n OppController() {\n if (sessionStorage.getItem('oldE2EUID') != undefined)\n this.oldE2EUID = sessionStorage.getItem('oldE2EUID');\n else\n this.oldE2EUID = sessionStorage.getItem('oldE2EUID');\n }\n\n redirectedToHome() {\n this.apwebservice.RedirectToHome();\n this.redirected = this.dataService.redirected;\n }\n\n goToHome() {\n this.dataService.redirected = true;\n this.router.navigate(['home']);\n }\n\n changeNumberOfRecordsPerPage(event: any) {\n this.numberOfRecordsPerPage = +event.target.value;\n this.defaultPage = 1;\n }\n\n // $(window).scroll(function() {\n // if ($(window).scrollTop() + 50 >= $(document).height() - $(window).height()) {\n // if (this.IsLoadMore && this.ActiveScroll) {\n // this.ActiveScroll = false;\n // this.LoadMore();\n // }\n\n // }\n // });\n round(number, decimals) {\n return number.toFixed(decimals);\n //return +(Math.round(number + \"e+\" + decimals) + \"e-\" + decimals);\n };\n\n diffmonths(startDate, endDate) {\n var date1 = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());\n var date2 = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());\n var diffdays = (date2.getTime() - date1.getTime()) / 1000;\n diffdays /= (60 * 60 * 24);\n var diffmonth = (diffdays + 1) / 30;\n return this.round(diffmonth, 2);\n };\n\n sortSourceName() {\n if (!this.datasourceNameSortOrder) {\n this.OppsList.sort((a, b) => a.DataSourceName.toLowerCase() > b.DataSourceName.toLowerCase() ? 1 : -1);\n this.currentlySortedOn = \"sourceName\";\n }\n else {\n this.OppsList.sort((a, b) => a.DataSourceName.toLowerCase() > b.DataSourceName.toLowerCase() ? -1 : 1);\n this.currentlySortedOn = \"\";\n }\n this.datasourceNameSortOrder = !this.datasourceNameSortOrder;\n\n }\n\n sortQueue() {\n if (!this.supportGroupNameSortOrder) {\n this.OppsList.sort((a, b) => a.SupportGroupName.toLowerCase() > b.SupportGroupName.toLowerCase() ? 1 : -1);\n this.currentlySortedOn = \"queue\";\n }\n else {\n this.OppsList.sort((a, b) => a.SupportGroupName.toLowerCase() > b.SupportGroupName.toLowerCase() ? -1 : 1);\n this.currentlySortedOn = \"\";\n }\n this.supportGroupNameSortOrder = !this.supportGroupNameSortOrder;\n\n }\n\n sortCategoryName() {\n if (!this.categoryNameSortOrder) {\n this.OppsList.sort((a, b) => a.CategoryName.toLowerCase() > b.CategoryName.toLowerCase() ? 1 : -1);\n this.currentlySortedOn = \"category\";\n }\n else {\n this.OppsList.sort((a, b) => a.CategoryName.toLowerCase() > b.CategoryName.toLowerCase() ? -1 : 1);\n this.currentlySortedOn = \"\";\n }\n this.categoryNameSortOrder = !this.categoryNameSortOrder;\n\n }\n\n sortSubCategoryName() {\n if (!this.SubcategoryNameSortOrder) {\n this.OppsList.sort((a, b) => a.SubCategoryName.toLowerCase() > b.SubCategoryName.toLowerCase() ? 1 : -1);\n this.currentlySortedOn = \"subCategory\";\n }\n else {\n this.OppsList.sort((a, b) => a.SubCategoryName.toLowerCase() > b.SubCategoryName.toLowerCase() ? -1 : 1);\n this.currentlySortedOn = \"\";\n }\n this.SubcategoryNameSortOrder = !this.SubcategoryNameSortOrder;\n\n }\n\n sortTicketNumber() {\n if (!this.ticketNumberSortOrder) {\n this.OppsList.sort((a, b) => a.Tickets > b.Tickets ? 1 : -1);\n this.currentlySortedOn = \"noOfTickets\";\n }\n else {\n this.OppsList.sort((a, b) => a.Tickets > b.Tickets ? -1 : 1);\n this.currentlySortedOn = \"\";\n }\n this.ticketNumberSortOrder = !this.ticketNumberSortOrder;\n\n }\n\n sortDuration() {\n if (!this.durationSortOrder) {\n this.OppsList.sort((a, b) => a.Duration > b.Duration ? 1 : -1);\n this.currentlySortedOn = \"duration\";\n }\n else {\n this.OppsList.sort((a, b) => a.Duration > b.Duration ? -1 : 1);\n this.currentlySortedOn = \"\";\n }\n this.durationSortOrder = !this.durationSortOrder;\n\n }\n\n sortAutomationScore() {\n if (!this.automationScoreSortOrder) {\n this.OppsList.sort((a, b) => a.Score > b.Score ? 1 : -1);\n this.currentlySortedOn = \"autoScore\";\n }\n else {\n this.OppsList.sort((a, b) => a.Score > b.Score ? -1 : 1);\n this.currentlySortedOn = \"\";\n }\n this.automationScoreSortOrder = !this.automationScoreSortOrder;\n\n }\n\n sortCommittedCloseDate() {\n if (!this.committedCloseDataSortOrder) {\n this.OppsList.sort((a, b) => a.CreatedDate > b.CreatedDate ? 1 : -1);\n this.currentlySortedOn = \"closeDate\";\n }\n else {\n this.OppsList.sort((a, b) => a.CreatedDate > b.CreatedDate ? -1 : 1);\n this.currentlySortedOn = \"\";\n }\n this.committedCloseDataSortOrder = !this.committedCloseDataSortOrder;\n\n }\n\n DefaultSort() {\n this.orderByExpression = ['-CreatedDate'];\n this.reverseSortCtg = false;\n this.reverseSortSubCtg = false;\n this.reverseSort = true;\n this.IsDataSourceNameClicked = false;\n this.IsCtgClicked = false;\n this.IsSubCtgClicked = false;\n this.IsTicketsClicked = false;\n this.IsDurationClicked = false;\n this.IsScoreClicked = false;\n this.IsCreatedDateClicked = true;\n this.DataSourceNameClickCounter = 0;\n this.CtgClickCounter = 0;\n this.SubCtgClickCounter = 0;\n this.TicketsClickCounter = 0;\n this.DurationClickCounter = 0;\n this.ScoreClickCounter = 0;\n this.CreatedDateClickCounter = 1;\n this.selectedPrevDataSourceNameFilterVal = '';\n this.selectedPrevTypeFilterVal = '';\n this.selectedPrevCtgFilterVal = '';\n this.selectedPrevSubCtgFilterVal = '';\n\n };\n\n editOpportunity(opportunity) {\n this.currentlyEditableOpportunityId = opportunity.ID;\n setTimeout(function () {\n $(\"#category-\" + opportunity.ID).val(opportunity.CategoryName);\n $(\"#subcategory-\" + opportunity.ID).val(opportunity.SubCategoryName);\n }, 500)\n }\n\n saveCategorySubCategory(field: string, opportunity: any, value: string) {\n value = value != undefined && value != \"\" ? value.trim() : \"\";\n if (value != \"\")\n if (value.length > 200)\n this.apwebservice.showErrorMessage(field + \" can be max 200 characters.\");\n else {\n let finalObject = {\n 'DataSourceID': opportunity.DataSourceID,\n 'ManualSubCategory': [\n {\n 'ProblemStatementID': opportunity.ProblemStatementID,\n 'ProblemStatementName': field == \"Category\" ? opportunity.SubCategoryName : value\n }\n ],\n 'ParentID': opportunity.ParentID,\n 'ParentName': field == \"Category\" ? value : opportunity.CategoryName\n }\n\n this.apwebservice.saveCategorySubCategory(finalObject).subscribe(data => {\n if (!data) {\n\n this.apwebservice.showErrorMessage(field + \" cannot be Special char.\");\n\n }\n \n else if (field == \"Category\")\n this.OppsList.find(x => x.ID == opportunity.ID).CategoryName = value;\n else\n this.OppsList.find(x => x.ID == opportunity.ID).SubCategoryName = value;\n this.currentlyEditableOpportunityId = 0;\n }, error => {\n console.log(error);\n })\n // this.UpdatedCategoryName = oppitem.CategoryName;\n // this.UpdatedSubCategoryName = oppitem.SubCategoryName;\n // this.copyopplist = angular.copy(entities);\n // if (this.copysubcatid != null) {\n // if (this.copysubcatid != oppitem.ProblemStatementID) {\n // angular.forEach(entities, function (opp, index) {\n // if (position != index)\n // opp.categoryedit = false;\n // if (opp.ProblemStatementID == this.copysubcatid) {\n // opp.CategoryName = angular.copy(this.copycate);\n // opp.SubCategoryName = angular.copy(this.copysubcate);\n // }\n // });\n // }\n // }\n // this.copycate = angular.copy(oppitem.CategoryName);\n // this.copysubcate = angular.copy(oppitem.SubCategoryName);\n // this.copysubcatid = angular.copy(oppitem.ProblemStatementID);\n // oppitem.categoryedit = true;\n\n // this.UpdatedCategoryName = $(\"#inpt_\" + oppitem.ParentID).val();\n // this.UpdatedSubCategoryName = $(\"#inpt_\" + oppitem.ProblemStatementID).val();\n // // oppitem.CategoryName = this.UpdatedCategoryName;\n // // oppitem.SubCategoryName = this.UpdatedSubCategoryName;\n // this.duplicatesubcat = null;\n // this.duplicatecat = null;\n // this.cat = false;\n // this.subcat = false;\n // var filteredopp = $filter('filter')(this.OppsList, function (valueop) {\n // return ((valueop.DataSourceName == oppitem.DataSourceName) && (valueop.DataSourceID == oppitem.DataSourceID) && (valueop.DeliveryType == oppitem.DeliveryType))\n // }, true);\n // this.duplicatesubcat = $filter('filter')(filteredopp, function (valuecat) {\n // return ((valuecat.SubCategoryName.toLowerCase() == this.UpdatedSubCategoryName.toLowerCase()) && (valuecat.IsParent == false) &&\n // (valuecat.ProblemStatementID != oppitem.ProblemStatementID))\n // }, true);\n // if (this.duplicatesubcat.length > 0) {\n // this.duplicatecat = $filter('filter')(this.duplicatesubcat, function (valuecat) {\n // return ((valuecat.CategoryName.toLowerCase() == this.UpdatedCategoryName.toLowerCase()) && (valuecat.ParentID != oppitem.ParentID))\n // }, true);\n // }\n // this.duplicate = false;\n // if (this.duplicatesubcat.length != 0) {\n // if (this.duplicatecat != null) {\n // if (this.duplicatecat.length != 0) {\n // this.duplicate = true;\n // }\n // }\n // }\n\n // if (!this.duplicate) {\n // var objecttosave = {\n // DatasourceID: oppitem.DataSourceID,\n // ParentID: oppitem.ParentID,\n // ParentName: this.UpdatedCategoryName,\n // ManualSubCategory: [{\n // ProblemStatementName: this.UpdatedSubCategoryName,\n // ProblemStatementID: oppitem.ProblemStatementID,\n // }]\n // }\n // WebApi.SaveCategoryDetailsOnEdit(objecttosave).then(function (resp) {\n // if (resp) {\n // $('#successMsg').text(\"Updated Successfully\");\n // $('#myModalSuccess').show();\n // oppitem.categoryedit = false;\n // this.copycate = null;\n // this.copysubcate = null;\n // this.copysubcatid = null;\n // this.ResetOppsList();\n // this.GetOpportunitiesList();\n // this.GetCategory();\n // }\n // else {\n // $('#errorMsg').text(\"Failed to update opportunity\");\n // $('#myModalFail').show();\n // oppitem.categoryedit = false;\n // this.copycate = null;\n // this.copysubcate = null;\n // this.copysubcatid = null;\n // this.ResetOppsList();\n // this.GetOpportunitiesList();\n // }\n // });\n // }\n // else {\n // if (this.subcat) {\n // oppitem.SubCategoryName = angular.copy(this.copysubcate);\n // }\n // if (this.cat) {\n // oppitem.CategoryName = angular.copy(this.copycate);\n // }\n // $('#errorMsg').text(\"The selected Opportunity combination already exists\");\n // $('#myModalFail').show();\n // } \n }\n else\n this.apwebservice.showErrorMessage(field + \" cannot be blank.\");\n }\n\n ResetOppsList() {\n this.startIndex = 1;\n this.endIndex = this.environmentDetails.MSALenabled ? 100000 : 1000;\n this.TotalOpportunityCount = 0;\n this.IsLoadMore = true;\n this.OppsList = [];\n };\n\n EnabDisabAppFilter() {\n if (this.selectedDataSourceNameFilter == 'Select' && this.selectedTypeFilter == 'Select' && this.selectedCtgFilter == 'Select' && this.selectedSubCtgFilter == 'Select') {\n this.IsFilterDisabled = true;\n }\n else {\n this.IsFilterDisabled = false;\n }\n };\n\n\n\n SetDataSourceNameFilter(selectedDataSourceName) {\n this.selectedDataSourceNameFilter = selectedDataSourceName;\n this.SetTypeFilterList();\n this.SetCategoryFilterList();\n this.SetSubCategoryFilterList();\n this.EnabDisabAppFilter();\n };\n\n SetDataSourceNameFilterList() {\n let obj = this;\n obj.filters.DataSourceName = '';\n obj.filters.DataSourceName = ['Select'];\n var isPresent = false;\n\n this.OppsList.forEach(function (oppsValue, oppsIndex) {\n isPresent = false;\n obj.filters.DataSourceName.forEach(function (filterValue, filterIndex) {\n if (filterValue == oppsValue.DataSourceName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.DataSourceName.push(\n oppsValue.DataSourceName\n );\n }\n });\n this.EnabDisabAppFilter();\n };\n\n SetFiltersDropdowns() {\n this.SetDataSourceNameFilterList();\n this.SetTypeFilterList();\n this.SetCategoryFilterList();\n this.SetSubCategoryFilterList();\n };\n\n SetDefaultIndexAndFilters() {\n this.SetFiltersDropdowns();\n this.ClearFilters();\n // this.startIndex = this.endIndex + 1;\n // this.endIndex += 100000;\n\n if (this.startIndex > this.TotalOpportunityCount)\n this.IsLoadMore = false;\n };\n\n SetDurationForOpps() {\n let obj = this;\n this.OppsList.forEach(function (oppsValue, oppsIndex) {\n if ((oppsValue.Type == \"Data\" || oppsValue.Type == \"IOM-Data\") && oppsValue.IncidentMinDate != null && oppsValue.IncidentMaxDate != null) {\n var dateObject1 = new Date(oppsValue.IncidentMinDate);\n var dateObject2 = new Date(oppsValue.IncidentMaxDate);\n oppsValue[\"Duration\"] = obj.diffmonths(dateObject1, dateObject2);\n if (oppsValue[\"Duration\"] != null && oppsValue[\"Duration\"] != 0 && oppsValue.Tickets != null) {\n oppsValue.AnnualizedTickets = Math.round(oppsValue.Tickets * 12 / oppsValue[\"Duration\"]);\n }\n }\n });\n };\n\n GetOpportunitiesList() {\n //this.UserDetails = '{\"EnterpriseId\":' + this.enterpriseid + ',\"UserType\":1,\"AppName\":null,\"FdsReadOnly\":false,\"DatasourceID\":0,\"E2EUID\":null,\"UserPath\":3,\"ProjectID\":9,\"ProjectName\":\"myWizard AM\",\"ClientName\":\"myWizard\",\"EngName\":\"Accenture – DCN Internal\",\"Is\":\"\",\"Technology\":null,\"ClosedEntity\":false,\"startIndex\":1,\"endIndex\": this.environmentDetails.MSALenabled ? 100000 : 1000;}';\n\n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n this.UserDetails[\"startIndex\"] = 1;\n this.UserDetails[\"endIndex\"] = 100000;\n this.UserDetails[\"ProjectName\"] = this.UserDetails.ProjectName;\n this.UserDetails[\"ClientName\"] = this.UserDetails.ClientName;\n this.UserDetails[\"EngName\"] = this.UserDetails.EngName;\n this.UserDetails[\"ProjectID\"] = this.UserDetails.ProjectID;\n this.RespOppsList = [];\n this.startIndex = this.UserDetails.startIndex;\n this.endIndex = this.UserDetails.endIndex;\n\n\n this.apwebservice.getOpportunities(this.UserDetails).subscribe(resp => {\n this.OppsList = [];\n this.OppsListBackUp = [];\n this.RespOppsList = resp;\n\n // making value blank or 0 if undefined for sorting purpose\n for (var i = 0; i < this.RespOppsList.OpportunitiesList.length; i++) {\n this.RespOppsList.OpportunitiesList[i].DataSourceName == undefined ? this.RespOppsList.OpportunitiesList[i].DataSourceName = \"\" : '';\n this.RespOppsList.OpportunitiesList[i].SupportGroupName == undefined ? this.RespOppsList.OpportunitiesList[i].SupportGroupName = \"\" : '';\n this.RespOppsList.OpportunitiesList[i].CategoryName == undefined ? this.RespOppsList.OpportunitiesList[i].CategoryName = \"\" : '';\n this.RespOppsList.OpportunitiesList[i].SubCategoryName == undefined ? this.RespOppsList.OpportunitiesList[i].SubCategoryName = \"\" : '';\n this.RespOppsList.OpportunitiesList[i].Tickets == undefined ? this.RespOppsList.OpportunitiesList[i].Tickets = 0 : '';\n this.RespOppsList.OpportunitiesList[i].Duration == undefined ? this.RespOppsList.OpportunitiesList[i].Duration = 0 : '';\n this.RespOppsList.OpportunitiesList[i].Score == undefined ? this.RespOppsList.OpportunitiesList[i].Score = 0 : '';\n }\n\n //for (var i = 0; i < this.RespOppsList.OpportunitiesList.length; i++)\n // this.RespOppsList.OpportunitiesList[i][\"EntityTypeUID\"] = \"f05e5b81-9f28-4689-a001-19a39c8f6aa4\";\n let uniqSupportGrp = [...new Set(this.RespOppsList.OpportunitiesList.map(item => item.SupportGroupName))];\n localStorage.setItem(\"supportGroupName\", JSON.stringify(uniqSupportGrp));\n if (resp != null && resp[\"OpportunitiesList\"].length > 0) {\n this.TotalOpportunityCount = resp[\"TotalOppCount\"];\n this.RespOppsList = resp[\"OpportunitiesList\"];\n\n\n // Restricting opportunity to have only one supportgroup , delete duplicate entries with multiple support group \n // this.RespOppsList= this.RespOppsList.reduce((a, current) => {\n // if (!a.find(item => item.ProblemStatementID == current.ProblemStatementID && item.SubCategoryName == current.SubCategoryName &&\n // item.ParentID == current.ParentID &&\n // item.CategoryName == current.CategoryName &&\n // item.DataSourceID == current.DataSourceID && \n // item.AppName == current.AppName && \n // item.Type == current.Type\n // )) {\n // a.push(current);\n // }\n // return a;\n // }, []);\n // console.log(filterArray)\n\n for (var i = 0; i < this.RespOppsList.length; i++) {\n if ((this.RespOppsList[i].Type == 'Process') || (this.RespOppsList[i].Type == 'AOF-Process')) {\n if (Date.parse(this.RespOppsList[i].CreatedDate) > Date.parse(this.checkdateAfterUTCDate)) {\n var localDateTime = new Date(this.RespOppsList[i].CreatedDate + 'Z');\n localDateTime.setMinutes(localDateTime.getMinutes() - 330);\n this.RespOppsList[i].CreatedDate = localDateTime;\n\n //this.RespOppsList[i].CreatedDate = moment(localDateTime).format();\n this.RespOppsList[i].DataSourceName = this.RespOppsList[i].DataSourceName.split('_')[0] + \"_\" + this.RespOppsList[i].DataSourceName.split('_')[1] + \"_\" + this.RespOppsList[i].CreatedDate;\n }\n }\n }\n if (this.startIndex == 1)\n this.OppsList = this.RespOppsList;\n else\n this.RespOppsList.forEach(function (value, key) {\n this.OppsList.push(this.RespOppsList[key])\n\n });\n\n this.SetDurationForOpps();\n this.OppsList.filter(x => x.AnnualizedTickets != 0)\n // this.OppsList = jQuery.grep(this.OppsList, function (element, index) {\n // return ((element.AnnualizedTickets) != 0);\n // });\n this.OppsListBackUp = this.OppsList;\n this.OppsListForFilter = cloneDeep(this.OppsList);\n this.ActiveScroll = true;\n this.SetDefaultIndexAndFilters();\n }\n else if (resp != null && resp[\"OpportunitiesList\"].length == 0) {\n this.SetDefaultIndexAndFilters();\n }\n //this.FilterData();\n },\n error => {\n console.log('Timeout issue in getOpps - ', error.status)\n })\n }\n\n searchOpportunityLists(searchText: string) {\n searchText = searchText != undefined && searchText != \"\" ? searchText.toString().toLowerCase().trim() : \"\";\n if (searchText != \"\") {\n this.OppsList = this.OppsListBackUp.filter(row => {\n return ((row.DataSourceName != undefined ? row.DataSourceName.toLowerCase().includes(searchText) : false) ||\n (row.SupportGroupName != undefined ? row.SupportGroupName.toLowerCase().includes(searchText) : false) ||\n (row.CategoryName != undefined ? row.CategoryName.toLowerCase().includes(searchText) : false) ||\n (row.SubCategoryName != undefined ? row.SubCategoryName.toLowerCase().includes(searchText) : false) ||\n (row.Tickets != undefined ? row.Tickets.toString().toLowerCase().includes(searchText) : false) ||\n (row.Duration != undefined ? row.Duration.toString().toLowerCase().includes(searchText) : false) ||\n (row.Score != undefined ? row.Score.toString().toLowerCase().includes(searchText) : false));\n })\n }\n else\n this.OppsList = this.OppsListBackUp;\n }\n\n // FilterData() {\n // // let uniqDeepDive = [...new Set(this.OppsList.map(item => item.DataSourceName))];\n // // let uniqType = [...new Set(this.OppsList.map(item => item.Type))];\n // // let uniqCatergory = [...new Set(this.OppsList.map(item => item.CategoryName))];\n // // let uniqSubCategory = [...new Set(this.OppsList.map(item => item.SubCategoryName))];\n\n\n // // uniqDeepDive.forEach((it, index) => {\n // // this.filterDropDown.DataSourceName.push({ id: index, value: it });\n // // });\n // // uniqType.forEach((it, index) => {\n // // if (it == \"Other\") { it = \"Manual\" }\n // // else\n // // if (it == \"Data\") { it = \"IOM\" }\n // // else { it = \"AOF\" }\n // // this.filterDropDown.Type.push({ id: index, value: it });\n // // });\n // // uniqCatergory.forEach((it, index) => {\n // // this.filterDropDown.Category.push({ id: index, value: it });\n // // });\n // // uniqSubCategory.forEach((it, index) => {\n // // this.filterDropDown.SubCategory.push({ id: index, value: it });\n // // });\n // }\n\n SetDataSourceNameTypeCatSubCatFilterExpression() {\n if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter != 'Select') && (this.selectedSubCtgFilter) != 'Select') {\n this.filterExpression = {\n DataSourceName: this.selectedDataSourceNameFilterVal, Type: this.selectedTypeFilterVal, CategoryName: this.selectedCtgFilterVal, SubCategoryName: this.selectedSubCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter == 'Select') && (this.selectedSubCtgFilter == 'Select')) {\n this.filterExpression = {\n DataSourceName: this.selectedDataSourceNameFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter == 'Select') && (this.selectedSubCtgFilter == 'Select')) {\n this.filterExpression = {\n Type: this.selectedTypeFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter != 'Select') && (this.selectedSubCtgFilter == 'Select')) {\n this.filterExpression = {\n CategoryName: this.selectedCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter == 'Select') && (this.selectedSubCtgFilter != 'Select')) {\n this.filterExpression = {\n SubCategoryName: this.selectedSubCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter == 'Select') && (this.selectedSubCtgFilter == 'Select')) {\n this.filterExpression = {\n DataSourceName: this.selectedDataSourceNameFilterVal, Type: this.selectedTypeFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter != 'Select') && (this.selectedSubCtgFilter == 'Select')) {\n this.filterExpression = {\n DataSourceName: this.selectedDataSourceNameFilterVal, CategoryName: this.selectedCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter == 'Select') && (this.selectedSubCtgFilter != 'Select')) {\n this.filterExpression = {\n DataSourceName: this.selectedDataSourceNameFilterVal, SubCategoryName: this.selectedSubCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter != 'Select') && (this.selectedSubCtgFilter == 'Select')) {\n this.filterExpression = {\n Type: this.selectedTypeFilterVal, CategoryName: this.selectedCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter == 'Select') && (this.selectedSubCtgFilter != 'Select')) {\n this.filterExpression = {\n Type: this.selectedTypeFilterVal, SubCategoryName: this.selectedSubCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter != 'Select') && (this.selectedSubCtgFilter != 'Select')) {\n this.filterExpression = {\n CategoryName: this.selectedCtgFilterVal, SubCategoryName: this.selectedSubCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter != 'Select') && (this.selectedSubCtgFilter == 'Select')) {\n this.filterExpression = {\n DataSourceName: this.selectedDataSourceNameFilterVal, Type: this.selectedTypeFilterVal, CategoryName: this.selectedCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter != 'Select') && (this.selectedSubCtgFilter != 'Select')) {\n this.filterExpression = {\n DataSourceName: this.selectedDataSourceNameFilterVal, CategoryName: this.selectedCtgFilterVal, SubCategoryName: this.selectedSubCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter == 'Select') && (this.selectedSubCtgFilter != 'Select')) {\n this.filterExpression = {\n DataSourceName: this.selectedDataSourceNameFilterVal, Type: this.selectedTypeFilterVal, SubCategoryName: this.selectedSubCtgFilterVal\n };\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter != 'Select') && (this.selectedSubCtgFilter != 'Select')) {\n this.filterExpression = {\n Type: this.selectedTypeFilterVal, CategoryName: this.selectedCtgFilterVal, SubCategoryName: this.selectedSubCtgFilterVal\n };\n }\n };\n\n SetTypeFilter(selectedType) {\n this.selectedTypeFilter = selectedType;\n this.SetCategoryFilterList();\n this.SetSubCategoryFilterList();\n this.EnabDisabAppFilter();\n };\n\n SetTypeFilterList() {\n let obj = this;\n obj.filters.Type = ['Select'];\n var isPresent = false;\n\n this.OppsList.forEach(function (oppsValue, oppsIndex) {\n isPresent = false;\n obj.filters.Type.forEach(function (filterValue, filterIndex) {\n if (filterValue == oppsValue.Type) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.Type.push(oppsValue.Type);\n }\n });\n if (this.selectedDataSourceNameFilter != 'Select') {\n this.SetTypeFilterListOnDataSourceName();\n }\n if (this.selectedDataSourceNameFilter == 'Select') {\n this.selectedTypeFilter = 'Select';\n }\n this.EnabDisabAppFilter();\n };\n\n SetTypeFilterListOnDataSourceName() {\n let obj = this;\n this.filters.Type = ['Select'];\n //var TypeFilter = $filter('filter')($scope.OppsList, { DataSourceName: $scope.selectedDataSourceNameFilter }, true);\n var TypeFilter = this.OppsListForFilter.filter(x => x.DataSourceName = this.selectedDataSourceNameFilter);\n var isPresent = false;\n\n TypeFilter.forEach(function (typeValue, typeIndex) {\n isPresent = false;\n obj.filters.Type.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == typeValue.Type) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.Type.push(typeValue.Type);\n }\n });\n\n obj.selectedTypeFilter = 'Select';\n obj.selectedTypeFilterVal = '';\n };\n\n\n SetCategoryFilterList() {\n let obj = this;\n obj.filters.Category = ['Select'];\n var isPresent = false;\n\n this.OppsList.forEach(function (oppsValue, oppsIndex) {\n isPresent = false;\n obj.filters.Category.forEach(function (filterValue, filterIndex) {\n if (filterValue == oppsValue.CategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.Category.push(oppsValue.CategoryName);\n }\n });\n\n if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter == 'Select')) {\n this.SetCategoryFilterListOnDataSourceName();\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter != 'Select')) {\n this.SetCategoryFilterListOnType();\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter != 'Select')) {\n this.SetCategoryFilterListOnDataSourceNameNType();\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter == 'Select')) {\n this.selectedCtgFilter = 'Select';\n }\n\n this.EnabDisabAppFilter();\n }\n\n SetSubCategoryFilter(selectedSubCtg) {\n this.selectedSubCtgFilter = selectedSubCtg;\n this.EnabDisabAppFilter();\n };\n\n //Category Filter Combination - Begin\n SetCategoryFilterListOnDataSourceName() {\n let obj = this;\n this.filters.Category = ['Select'];\n //var CategoryFilter = $filter('filter')($scope.OppsList, { DataSourceName: $scope.selectedDataSourceNameFilter }, true);\n var CategoryFilter = this.OppsListForFilter.filter(x => x.DataSourceName = this.selectedDataSourceNameFilter);\n var isPresent = false;\n\n CategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.Category.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.CategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.Category.push(catValue.CategoryName);\n }\n });\n\n obj.selectedCtgFilter = 'Select';\n obj.selectedCtgFilterVal = '';\n };\n\n SetCategoryFilterListOnType() {\n let obj = this;\n this.filters.Category = ['Select'];\n //var CategoryFilter = $filter('filter')($scope.OppsList, { Type: $scope.selectedTypeFilter }, true);\n var CategoryFilter = this.OppsListForFilter.filter(x => x.Type = this.selectedTypeFilter);\n var isPresent = false;\n\n CategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.Category.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.CategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.Category.push(catValue.CategoryName);\n }\n });\n\n obj.selectedCtgFilter = 'Select';\n obj.selectedCtgFilterVal = '';\n };\n\n SetCategoryFilterListOnDataSourceNameNType() {\n let obj = this;\n this.filters.Category = ['Select'];\n var CategoryFilter = this.OppsListForFilter.filter(x => x.DataSourceName == obj.selectedDataSourceNameFilter && x.Type == obj.selectedTypeFilter);\n // var CategoryFilter = $filter('filter')($scope.OppsList, function (value) \n // {\n // return ((value.DataSourceName == obj.selectedDataSourceNameFilter) && (value.Type == obj.selectedTypeFilter));\n // }, true);\n var isPresent = false;\n\n CategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.Category.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.CategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.Category.push(catValue.CategoryName);\n }\n });\n\n obj.selectedCtgFilter = 'Select';\n obj.selectedCtgFilterVal = '';\n };\n //Category Filter Comination - End\n\n\n SetSubCategoryFilterList() {\n let obj = this;\n obj.filters.SubCategory = ['Select'];\n var isPresent = false;\n\n this.OppsList.forEach(function (oppsValue, oppsIndex) {\n isPresent = false;\n obj.filters.SubCategory.forEach(function (filterValue, filterIndex) {\n if (filterValue == oppsValue.SubCategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.SubCategory.push(oppsValue.SubCategoryName);\n }\n });\n if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter != 'Select')) {\n this.SetSubCatFilterListOnDataSourceNameTypeNCat();\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter == 'Select')) {\n this.SetSubCatFilterListOnDataSourceNameNType();\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter != 'Select')) {\n this.SetSubCatFilterListOnTypeNCat();\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter != 'Select')) {\n this.SetSubCatFilterListOnDataSourceNameNCat();\n }\n else if ((this.selectedDataSourceNameFilter != 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter == 'Select')) {\n this.SetSubCatFilterListOnDataSourceName();\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter != 'Select') && (this.selectedCtgFilter == 'Select')) {\n this.SetSubCatFilterListOnType();\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter != 'Select')) {\n this.SetSubCatFilterListOnCat();\n }\n else if ((this.selectedDataSourceNameFilter == 'Select') && (this.selectedTypeFilter == 'Select') && (this.selectedCtgFilter == 'Select')) {\n this.selectedSubCtgFilter = 'Select';\n }\n this.EnabDisabAppFilter();\n }\n\n //Sub Cat Filters Combination - Begin\n SetSubCatFilterListOnDataSourceNameTypeNCat() {\n let obj = this;\n obj.filters.SubCategory = ['Select'];\n // var SubCategoryFilter = $filter('filter')($scope.OppsList, function (value) {\n // return ((value.DataSourceName == $scope.selectedDataSourceNameFilter) && (value.Type == $scope.selectedTypeFilter) && (value.CategoryName == $scope.selectedCtgFilter));\n // }, true);\n var SubCategoryFilter = this.OppsListForFilter.filter(x => x.DataSourceName == obj.selectedDataSourceNameFilter && x.Type == obj.selectedTypeFilter && x.CategoryName == obj.selectedCtgFilter);\n var isPresent = false;\n\n SubCategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.SubCategory.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.SubCategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.SubCategory.push(catValue.SubCategoryName);\n }\n });\n\n obj.selectedSubCtgFilter = 'Select';\n obj.selectedSubCtgFilterVal = '';\n };\n\n SetSubCatFilterListOnDataSourceNameNType() {\n let obj = this;\n obj.filters.SubCategory = ['Select'];\n // var SubCategoryFilter = $filter('filter')($scope.OppsList, function (value) {\n // return ((value.DataSourceName == $scope.selectedDataSourceNameFilter) && (value.Type == $scope.selectedTypeFilter));\n // }, true);\n var SubCategoryFilter = this.OppsListForFilter.filter(x => x.DataSourceName == obj.selectedDataSourceNameFilter && x.Type == obj.selectedTypeFilter);\n var isPresent = false;\n\n SubCategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.SubCategory.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.SubCategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.SubCategory.push(catValue.SubCategoryName);\n }\n });\n\n obj.selectedSubCtgFilter = 'Select';\n obj.selectedSubCtgFilterVal = '';\n };\n\n SetSubCatFilterListOnDataSourceNameNCat() {\n let obj = this;\n obj.filters.SubCategory = ['Select'];\n // var SubCategoryFilter = $filter('filter')($scope.OppsList, function (value) {\n // return ((value.DataSourceName == $scope.selectedDataSourceNameFilter) && (value.CategoryName == $scope.selectedCtgFilter));\n // }, true);\n var SubCategoryFilter = this.OppsListForFilter.filter(x => x.DataSourceName == obj.selectedDataSourceNameFilter && x.CategoryName == obj.selectedCtgFilter);\n var isPresent = false;\n\n SubCategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.SubCategory.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.SubCategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.SubCategory.push(catValue.SubCategoryName);\n }\n });\n\n obj.selectedSubCtgFilter = 'Select';\n obj.selectedSubCtgFilterVal = '';\n };\n\n SetSubCatFilterListOnTypeNCat() {\n let obj = this;\n obj.filters.SubCategory = ['Select'];\n // var SubCategoryFilter = $filter('filter')($scope.OppsList, function (value) {\n // return ((value.Type == $scope.selectedTypeFilter) && (value.CategoryName == $scope.selectedCtgFilter));\n // }, true);\n var SubCategoryFilter = this.OppsListForFilter.filter(x => x.Type == obj.selectedTypeFilter && x.CategoryName == obj.selectedCtgFilter);\n var isPresent = false;\n\n SubCategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.SubCategory.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.SubCategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.SubCategory.push(catValue.SubCategoryName);\n }\n });\n\n obj.selectedSubCtgFilter = 'Select';\n obj.selectedSubCtgFilterVal = '';\n };\n\n SetSubCatFilterListOnDataSourceName() {\n let obj = this;\n obj.filters.SubCategory = ['Select'];\n //var SubCategoryFilter = $filter('filter')($scope.OppsList, { DataSourceName: $scope.selectedDataSourceNameFilter }, true);\n var SubCategoryFilter = this.OppsListForFilter.filter(x => x.DataSourceName == obj.selectedDataSourceNameFilter);\n var isPresent = false;\n\n SubCategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.SubCategory.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.SubCategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.SubCategory.push(catValue.SubCategoryName);\n }\n });\n\n obj.selectedSubCtgFilter = 'Select';\n obj.selectedSubCtgFilterVal = '';\n };\n\n SetSubCatFilterListOnType() {\n let obj = this;\n this.filters.SubCategory = ['Select'];\n // var SubCategoryFilter = $filter('filter')($scope.OppsList, { Type: $scope.selectedTypeFilter }, true);\n var SubCategoryFilter = this.OppsListForFilter.filter(x => x.Type == obj.selectedTypeFilter);\n var isPresent = false;\n\n SubCategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.SubCategory.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.SubCategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.SubCategory.push(catValue.SubCategoryName);\n }\n });\n\n obj.selectedSubCtgFilter = 'Select';\n obj.selectedSubCtgFilterVal = '';\n };\n\n SetSubCatFilterListOnCat() {\n let obj = this;\n obj.filters.SubCategory = ['Select'];\n //var SubCategoryFilter = $filter('filter')($scope.OppsList, { CategoryName: $scope.selectedCtgFilter }, true);\n var SubCategoryFilter = obj.OppsList.filter(x => x.CategoryName == obj.selectedCtgFilter);\n var isPresent = false;\n\n SubCategoryFilter.forEach(function (catValue, catIndex) {\n isPresent = false;\n obj.filters.SubCategory.forEach(function (FilterValue, FilterIndex) {\n if (FilterValue == catValue.SubCategoryName) {\n isPresent = true;\n }\n });\n if (!isPresent) {\n obj.filters.SubCategory.push(catValue.SubCategoryName);\n }\n });\n\n obj.selectedSubCtgFilter = 'Select';\n obj.selectedSubCtgFilterVal = '';\n };\n\n //SubCat Filter Combinations - End\n SetCategoryFilter(selectedCtg) {\n this.selectedCtgFilter = selectedCtg;\n this.SetSubCategoryFilterList();\n this.EnabDisabAppFilter();\n };\n\n ClearFilters() {\n this.selectedDataSourceNameFilter = 'Select';\n this.selectedTypeFilter = 'Select';\n this.selectedCtgFilter = 'Select';\n this.selectedSubCtgFilter = 'Select';\n this.selectedDataSourceNameFilterVal = '';\n this.selectedTypeFilterVal = '';\n this.selectedCtgFilterVal = '';\n this.selectedSubCtgFilterVal = '';\n this.filterExpression = {};\n this.strictFiltering = false;\n // this.selectedPrevDataSourceNameFilterVal = '';\n // this.selectedPrevTypeFilterVal = '';\n // this.selectedPrevCtgFilterVal = '';\n this.selectedPrevSubCtgFilterVal = '';\n this.OppsList = this.OppsListBackUp;\n this.SetFiltersDropdowns();\n };\n\n ApplyFilters() {\n this.selectedDataSourceNameFilterVal = this.selectedDataSourceNameFilter == 'Select' ? '' : this.selectedDataSourceNameFilter;\n this.selectedTypeFilterVal = this.selectedTypeFilter == 'Select' ? '' : this.selectedTypeFilter;\n this.selectedCtgFilterVal = this.selectedCtgFilter == 'Select' ? '' : this.selectedCtgFilter;\n this.selectedSubCtgFilterVal = this.selectedSubCtgFilter == 'Select' ? '' : this.selectedSubCtgFilter;\n\n this.selectedPrevDataSourceNameFilterVal = this.selectedDataSourceNameFilterVal;\n this.selectedPrevTypeFilterVal = this.selectedTypeFilterVal;\n this.selectedPrevCtgFilterVal = this.selectedCtgFilterVal;\n this.selectedPrevSubCtgFilterVal = this.selectedSubCtgFilterVal;\n\n this.strictFiltering = true;\n //$scope.SetLevelFilterExpression();\n //$scope.SetLevelTypeFilterExpression();\n //$scope.SetLevelTypeCatFilterExpression();\n this.SetDataSourceNameTypeCatSubCatFilterExpression();\n this.OppsList = this.OppsListBackUp.filter(x =>\n (this.filterExpression[\"CategoryName\"] == undefined || (this.filterExpression[\"CategoryName\"] != undefined && x.CategoryName == this.filterExpression[\"CategoryName\"])) &&\n (this.filterExpression[\"DataSourceName\"] == undefined || (this.filterExpression[\"DataSourceName\"] != undefined && x.DataSourceName == this.filterExpression[\"DataSourceName\"])) &&\n (this.filterExpression[\"SubCategoryName\"] == undefined || (this.filterExpression[\"SubCategoryName\"] != undefined && x.SubCategoryName == this.filterExpression[\"SubCategoryName\"])) &&\n (this.filterExpression[\"Type\"] == undefined || (this.filterExpression[\"Type\"] != undefined && x.Type == this.filterExpression[\"Type\"]))\n );\n this.IsLoadMore = false;\n this.defaultPage = 1;\n //this.OppsList.filter(x=>x.DataSourceName == this.selectedPrevDataSourceNameFilterVal \n // || x.Type == this.selectedPrevTypeFilterVal \n // || x.CategoryName == this.selectedPrevCtgFilterVal\n // || x.SubCategoryName == this.selectedPrevSubCtgFilterVal);\n };\n\n CancelFilters() {\n if (this.selectedPrevDataSourceNameFilterVal == '' && this.selectedPrevTypeFilterVal == '' && this.selectedPrevCtgFilterVal == '' && this.selectedPrevSubCtgFilterVal == '') {\n this.selectedDataSourceNameFilter = this.filters.DataSourceName[0];\n this.selectedTypeFilter = this.filters.Type[0];\n this.selectedCtgFilter = this.filters.Category[0];\n this.selectedSubCtgFilter = this.filters.SubCategory[0];\n this.SetFiltersDropdowns();\n\n this.selectedDataSourceNameFilterVal = this.selectedDataSourceNameFilter == 'Select' ? '' : this.selectedDataSourceNameFilter;\n this.selectedTypeFilterVal = this.selectedTypeFilter == 'Select' ? '' : this.selectedTypeFilter;\n this.selectedCtgFilterVal = this.selectedCtgFilter == 'Select' ? '' : this.selectedCtgFilter;\n this.selectedSubCtgFilterVal = this.selectedSubCtgFilter == 'Select' ? '' : this.selectedSubCtgFilter;\n }\n else {\n this.selectedDataSourceNameFilter = this.selectedPrevDataSourceNameFilterVal == '' ? 'Select' : this.selectedPrevDataSourceNameFilterVal;\n this.selectedDataSourceNameFilterVal = this.selectedDataSourceNameFilter;\n this.SetDataSourceNameFilter(this.selectedDataSourceNameFilter);\n\n this.selectedTypeFilter = this.selectedPrevTypeFilterVal == '' ? 'Select' : this.selectedPrevTypeFilterVal;\n this.selectedTypeFilterVal = this.selectedTypeFilter;\n this.SetTypeFilter(this.selectedTypeFilter);\n\n this.selectedCtgFilter = this.selectedPrevCtgFilterVal == '' ? 'Select' : this.selectedPrevCtgFilterVal;\n this.selectedCtgFilterVal = this.selectedCtgFilter;\n this.SetCategoryFilter(this.selectedCtgFilter);\n\n this.selectedSubCtgFilter = this.selectedPrevSubCtgFilterVal == '' ? 'Select' : this.selectedPrevSubCtgFilterVal;\n this.selectedSubCtgFilterVal = this.selectedSubCtgFilter;\n this.SetSubCategoryFilter(this.selectedSubCtgFilter);\n\n }\n };\n\n createNewBlueprint() {\n let obj = this;\n let allRecordsinCombinationSelected = true;\n if (this.SelectedOpportunities.length > 0) {\n // for (var i = 0; i < this.SelectedOpportunities.length; i++) {\n // let records = this.OppsListBackUp.filter(x => x.DataSourceID == this.SelectedOpportunities[i].DataSourceID\n // && x.ParentID == this.SelectedOpportunities[i].ParentID\n // && x.ProblemStatementID == this.SelectedOpportunities[i].ProblemStatementID\n // && x.CategoryName == this.SelectedOpportunities[i].CategoryName\n // && x.SubCategoryName == this.SelectedOpportunities[i].SubCategoryName\n // && x.Type == this.SelectedOpportunities[i].Type);\n // if (records.length > 1)\n // for (var j = 0; j < records.length; j++)\n // if (!$(\"#\" + records[j].ID).is(':checked')) {\n // allRecordsinCombinationSelected = false;\n // this.apwebservice.showInfoMessage(\"One or more opportunities with same combination of Category & Subcategory having different Queue name exists. Please select remaining opportunities with below combination :

\" + this.SelectedOpportunities[i].CategoryName + \"
\" + this.SelectedOpportunities[i].SubCategoryName);\n // break;\n // }\n // if (!allRecordsinCombinationSelected)\n // break;\n // }\n if (allRecordsinCombinationSelected)\n this.apwebservice.createBP({\n EnterpriseId: this.enterpriseid,\n OpportunityList: this.SelectedOpportunities,\n UserDetails: this.UserDetails\n }).subscribe(function (resp) {\n obj.ClearFilters();\n obj.DefaultSort();\n obj.ResetOppsList();\n obj.GetOpportunitiesList();\n obj.dataService.pageRefresh = true;\n obj.apwebservice.showSuccessMessage(\"Selected opportunity moved to Blueprints\");\n // localStorage.setItem('pageRefresh', 'true');\n // window.location.reload();\n\n obj.apwebservice.RedirectToHome();\n }, error => {\n console.log(error);\n });\n }\n }\n\n selectUnSelectOpportunity(opportunity: any, flag) {\n this.mainFlag = flag;\n if (typeof (opportunity) != \"boolean\")\n if (this.SelectedOpportunities.length == 0)\n this.SelectedOpportunities.push(opportunity);\n else\n if (this.SelectedOpportunities.find(x => x.ID == opportunity.ID) == undefined)\n this.SelectedOpportunities.push(opportunity);\n else\n this.SelectedOpportunities.splice(this.SelectedOpportunities.indexOf(this.SelectedOpportunities.find(x => x[\"ID\"] == opportunity.ID)), 1);\n else\n if (opportunity)\n this.SelectedOpportunities = this.RespOppsList;\n else\n this.SelectedOpportunities = [];\n }\n\n OpenAIAA() {\n\n this.UserDetails = JSON.parse(sessionStorage.getItem(\"UserDetails\"));\n if (this.UserDetails != undefined) {\n sessionStorage.setItem(\"UserDetails\", JSON.stringify(this.UserDetails));\n }\n else {\n this.UserDetails = sessionStorage.setItem(\"UserDetails\", this.UserDetails);\n }\n var queryString = '';\n if (this.UserDetails.UserType == 4) {\n queryString += '?solutionid=' + this.UserDetails.ProjectID;\n window.open(this.AIAAURL + queryString);\n }\n else if (this.UserDetails.UserType == 3 || this.UserDetails.FdsReadOnly == true) {\n queryString = 'E2EUId=' + this.UserDetails.FDSScope.APContract.EndToEndUId;\n switch (this.UserDetails.FDSScope.SelectedEntityType) {\n case 'EndToEnd':\n queryString += '&CMSUID=null&WSUID=null';\n break;\n case 'CMS':\n queryString += '&CMSUID=' + this.UserDetails.FDSScope.SelectedEntityUID + '&WSUID=null';\n break;\n case 'WS':\n if (this.UserDetails.FDSScope.ParentType == 'EndToEnd') {\n queryString += '&CMSUID=null&WSUID=' + this.UserDetails.FDSScope.SelectedEntityUID;\n }\n else if (this.UserDetails.FDSScope.ParentType == 'CMS')\n queryString += '&CMSUID=' + this.UserDetails.FDSScope.ParentUID + '&WSUID=' + this.UserDetails.FDSScope.SelectedEntityUID;\n break;\n }\n window.open(this.AIAAFDSURL + queryString);\n }\n else {\n window.open(this.AIAAURL + queryString);\n }\n };\n\n // OpenAOF() {\n // var queryString = '';\n // if (this.UserDetails.UserType == 3 || this.UserDetails.FdsReadOnly == true) {\n // queryString = '?EndToEndUId=' + this.UserDetails.FDSScope.APContract.EndToEndUId;\n // switch (this.UserDetails.FDSScope.SelectedEntityType) {\n // case 'EndToEnd':\n // queryString += '&CMSUID=null&WSUID=null';\n // break;\n // case 'CMS':\n // queryString += '&CMSUID=' + this.UserDetails.FDSScope.SelectedEntityUID + '&WSUID=null';\n // break;\n // case 'WS':\n // if (this.UserDetails.FDSScope.ParentType == 'EndToEnd') {\n // queryString += '&CMSUID=null&WSUID=' + this.UserDetails.FDSScope.SelectedEntityUID;\n // }\n // else if (this.UserDetails.FDSScope.ParentType == 'CMS')\n // queryString += '&CMSUID=' + this.UserDetails.FDSScope.ParentUID + '&WSUID=' + this.UserDetails.FDSScope.SelectedEntityUID;\n // break;\n // }\n // window.open(this.AOFURL + queryString);\n // }\n // else {\n // window.open(this.AOFURL);\n // }\n // };\n\n CreateManualDatasourceIDOnAdd() {\n if (!(this.UserDetails.FdsReadOnly)) {\n this.apwebservice.CreateManualDSOnAdd(this.UserDetails).subscribe(resp => {\n this.dataSourceID = resp;\n if (this.dataSourceID != undefined && this.dataSourceID != 0) {\n this.apwebservice.DatasourceID = this.dataSourceID;\n }\n else {\n console.log('dataSourceID is missing, Go to Home Page.')\n }\n\n },\n error => {\n console.log(error)\n })\n\n }\n };\n ToggleClass() {\n $('.myw-navbar-actions').toggleClass('myw-navbar-active');\n }\n ToggleClassForPin() {\n $('.myw-navbar-actions').toggleClass('collapsed');\n $('.myw-navbar-pin').toggleClass('collapsed');\n }\n\n @HostListener('window:popstate', ['$event'])\n onPopState(event) {\n this.goToHome();\n }\n}\n","\n
\n
\n
\n \n
\n
\n
\n \n
\n \"AddAdd Opportunity\n 0 && mainFlag == true\" (click)=\"createNewBlueprint()\" class=\"myw-navbar-action\" title=\"Add to Blueprint\" data-toggle-tooltip=\"tooltip\" data-placement=\"bottom\" data-trigger=\"hover\">\"AddAdd to\n Blueprint\n
\n \"Filter\"Filter\n
\n
\n
Filter
\n Close\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \"\"Toggle Labels\n
\n
\n \"\"Toggle Navbar\n
\n\n\n
\n
\n
\n
IOM
\n
Manual
\n
\n
\n
\n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Source NameQueueCategorySub-CategoryNumber of TicketsDuration (Months)Automation ScoreCreated Date
\n \n \n
{{opp.DataSourceName}}
\n \n
{{opp.SupportGroupName}}\n
\n \n \n {{opp.CategoryName}}\n
\n \n
\n
{{opp.SubCategoryName}}\n
\n \n
{{opp.Tickets}}{{opp.Duration}}{{opp.Score}}{{opp.CreatedDate | date: 'MM/dd/yyyy'}}\n \n
\n
\n You have not identified any automation opportunities. Please add manually or take assessment.\n
\n AIAA\n \n\n
\n
\n
\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n\n","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport * as d3 from \"d3\";\r\nimport { common } from 'src/app/common/common';\r\nimport { APWebService } from 'src/services/apWeb.service';\r\nimport { DataService } from 'src/services/data.service';\r\n\r\n@Component({\r\n selector: 'effort-bullet-chart',\r\n templateUrl: './TotEffort_bullet-chart.component.html',\r\n styleUrls: ['./TotEffort_bullet-chart.component.scss']\r\n})\r\nexport class TotEffort_BulletChartComponent implements OnInit {\r\n\r\n data: any;\r\n selector = \"bullet-chart-section1\";\r\n //margin = { top: 10, bottom: 40, left: 70, right: 20 };\r\n margin = { top: 5, bottom: 40, left: 2, right: 2 };\r\n svg: any;\r\n width: number;\r\n height: number;\r\n graphWidth: number;\r\n chart: any;\r\n bar_width = 14;\r\n rx = this.bar_width / 2;\r\n ry = this.bar_width / 2;\r\n rangeVal = [];\r\n widthVal = [196, 158.4, 120.8, 83.2, 45.6, 8];\r\n rangeColor = ['#F0F0F1', '#e3e6e8', '#cbd0d6', '#bac0cc', '#aab0bd'];\r\n legendKey = [\"Planned Saving\",\"Current Total\"];\r\n legendColor = [\"#B95FD2\",\"#7235B1\"];\r\n xAxisLabel = \"Planned Effort Saving (Hr)\";\r\n public unSunscribeBaseLineDataReceived: any;\r\n\r\n constructor(public apWebService: APWebService, private dataservice: DataService) { }\r\n\r\n ngOnInit() {\r\n this.unSunscribeBaseLineDataReceived = this.dataservice.baseLineDataReceived.subscribe(baseLineData => {\r\n common.clearSVG(this.selector)\r\n this.drawGraph();\r\n }, error => {\r\n this.apWebService.showErrorMessage(error);\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unSunscribeBaseLineDataReceived.unsubscribe();\r\n }\r\n\r\n getData() {\r\n return [{\r\n \"title\": \"Actual\",\r\n \"measures\": Math.round(this.apWebService.plannedEffortSavings),\r\n \"markers\": Math.round(this.apWebService.currentTotalEffort)\r\n }];\r\n }\r\n\r\n renderSVGContainer() {\r\n let elem = (\r\n document.getElementsByClassName(this.selector)[0]\r\n );\r\n elem.innerHTML = \"\";\r\n this.svg = common.getSVG(this.selector, '100%', '100%');\r\n\r\n this.width = elem.offsetWidth - this.margin.left - this.margin.right;\r\n this.height = elem.offsetHeight - this.margin.top - this.margin.bottom + 40;\r\n\r\n this.graphWidth = this.width - 100;\r\n }\r\n\r\n // xScale() {\r\n // return d3.scaleLinear()\r\n // .range([0, this.graphWidth])\r\n // .domain([0, Math.round(1.2 * Math.max(this.apWebService.currentTotalEffort, this.apWebService.plannedEffortSavings))])\r\n // //.domain([0, Math.round(1.2 * Math.max(10, 20))])\r\n // .nice();\r\n // }\r\n xScale() {\r\n return d3.scaleLinear()\r\n .range([0, this.graphWidth + 50])\r\n .domain([0, Math.round(1.2 * this.rangeVal[0])])\r\n .nice();\r\n }\r\n\r\n yScale() {\r\n return d3.scaleBand()\r\n .range([0, this.height])\r\n .padding(0.2);\r\n }\r\n\r\n renderChartContainer() {\r\n return this.chart = this.svg\r\n .append(\"g\")\r\n .attr(\r\n \"transform\",\r\n \"translate(\" + [this.margin.left + 50, this.margin.top - 100] + \")\"\r\n );\r\n }\r\n\r\n renderXAxis() {\r\n this.renderChartContainer().append(\"g\")\r\n .attr(\"transform\", `translate(0 , ${this.height + 10})`)\r\n .call(d3.axisBottom(this.xScale()).tickSizeOuter(0)\r\n .ticks(6)\r\n .tickValues(this.rangeVal)\r\n .tickFormat(d => (d != 0) ? (d >= 1000000000 ? (+d / 1000000000).toFixed(1) + 'B' : d >= 1000000 ? (+d / 1000000).toFixed(1) + 'M' : d >= 1000 ? (+d / 1000).toFixed(1) + 'K' : d + '') : 0))\r\n .call((d) => {\r\n d.selectAll(\"path\").remove();\r\n d.selectAll(\"line\").remove();\r\n d.selectAll(\"text\")\r\n .attr(\"font-size\", \"10px\")\r\n });\r\n }\r\n\r\n renderRangeRect() {\r\n let maxValue = Math.round(1.2 * Math.max(this.apWebService.currentTotalEffort, this.apWebService.plannedEffortSavings));\r\n if (maxValue >= 1000000)\r\n maxValue = Math.ceil(maxValue / 100000) * 100000\r\n else if (maxValue >= 100000)\r\n maxValue = Math.ceil(maxValue / 10000) * 10000\r\n else if (maxValue >= 10000)\r\n maxValue = Math.ceil(maxValue / 1000) * 1000\r\n else if (maxValue >= 1000)\r\n maxValue = Math.ceil(maxValue / 100) * 100\r\n\r\n if ((maxValue - (maxValue % 5000)) > Math.max(Math.round(this.apWebService.currentTotalEffort), Math.round(this.apWebService.plannedEffortSavings)))\r\n //if ((maxValue - (maxValue % 5000)) > Math.max(Math.round(this.apWebService.actualTotalSavings / this.aWebService.costPerHour), Math.round(this.ajWebService.plannedTotalEfforts)))\r\n maxValue = maxValue - (maxValue % 5000);\r\n else\r\n maxValue = maxValue - (maxValue % 5000) + 5000;\r\n\r\n this.rangeVal = [];\r\n for (var i = 5; i >= 0; i--)\r\n this.rangeVal.push(maxValue * i / 5);\r\n\r\n var range = this.renderChartContainer()\r\n .selectAll()\r\n .data(this.rangeVal)\r\n .enter()\r\n .append(\"g\")\r\n\r\n\r\n range.append('rect')\r\n .attr('class', 'in-range')\r\n .attr(\"x\", 0)\r\n .attr('y', this.yScale().bandwidth() - this.rx * 2 + 12)\r\n .attr('height', this.bar_width * 3)\r\n .attr('width', (d, i) => this.widthVal[i] - 8)\r\n //.attr('width', (d) => this.xScale()(d) == 0 ? 8: this.xScale()(d) + 12)\r\n .attr('fill', (d, i) => this.rangeColor[i]);\r\n\r\n\r\n range.append('rect')\r\n .attr('class', 'out-range')\r\n .attr(\"x\", -5)\r\n .attr('y', this.yScale().bandwidth() - this.rx * 2 + 12)\r\n .attr('rx', this.rx)\r\n .attr('ry', this.ry)\r\n .attr('height', this.bar_width * 3)\r\n .attr('width', this.graphWidth + 8)\r\n .attr('fill', 'none')\r\n .attr('stroke', 'white')\r\n .attr('stroke-width', 8);\r\n }\r\n\r\n renderMeasure() {\r\n var mes = this.renderChartContainer()\r\n .selectAll()\r\n .data(this.data)\r\n .enter()\r\n .append(\"g\")\r\n .attr(\"class\", \"measure\")\r\n .style(\"fill\", this.legendColor[1]);\r\n\r\n\r\n mes.append(\"path\")\r\n .attr(\"d\", (d, i) => {\r\n return `M${0} ${this.yScale().bandwidth() - this.ry + 18}\r\n h${(this.xScale()(d.measures) < this.rx ? this.rx - this.xScale()(d.measures) : this.xScale()(d.measures) - this.rx)}\r\n a${this.rx} ${this.ry} 0 0 1 ${this.rx} ${this.ry}\r\n v 4\r\n a${this.rx} ${this.ry} 0 0 1 ${-this.rx} ${this.ry}\r\n h${(this.xScale()(d.measures) < this.rx ? this.xScale()(d.measures) - this.rx : this.rx - this.xScale()(d.measures))}Z`\r\n }\r\n ).style(\"fill\", this.legendColor[0])\r\n .append('svg:title')\r\n .text(d =>\r\n d[\"measures\"] + \"hrs\"\r\n )\r\n }\r\n\r\n renderMark() {\r\n let mark = this.renderChartContainer()\r\n .selectAll(\".marker\")\r\n .data(this.data)\r\n .enter()\r\n .append('g')\r\n .attr(\"class\", \"marker\")\r\n\r\n\r\n mark.append(\"line\")\r\n .attr(\"x1\", d => this.xScale()(d.markers))\r\n .attr(\"x2\", d => this.xScale()(d.markers))\r\n .attr(\"y1\", this.yScale().bandwidth() - this.bar_width + 17)\r\n .attr(\"y2\", this.yScale().bandwidth() + this.bar_width + 21)\r\n .attr(\"stroke-width\", 3)\r\n .attr(\"stroke\", this.legendColor[1])\r\n .attr('fill', this.legendColor[1])\r\n .append('svg:title')\r\n .text(d =>\r\n d[\"markers\"]\r\n );\r\n }\r\n\r\n\r\n renderAxisText() {\r\n this.renderChartContainer().append(\"text\")\r\n .attr(\"transform\",\r\n \"translate(\" + (this.graphWidth / 2) + \" ,\" + (this.height - 35) + \")\")\r\n .attr(\"text-anchor\", \"middle\")\r\n .attr(\"font-family\", \"sans-serif Strong\")\r\n .attr(\"font-size\", \"12px\")\r\n .attr(\"font-weight\", \"bold\")\r\n .text(this.xAxisLabel);\r\n }\r\n\r\n renderLegend() {\r\n var nodeWidth = (d) => d.getBBox().width;\r\n const legend = this.renderChartContainer().append('g')\r\n .attr('class', 'legend')\r\n .attr('transform', 'translate(0,0)');\r\n\r\n const lg = legend.selectAll('g')\r\n .data(this.legendKey)\r\n .enter()\r\n .append('g')\r\n .attr(\"class\", (d, i) => \"circlelegend\" + i)\r\n\r\n\r\n lg.append('circle')\r\n .attr(\"id\", (d, i) => \"circle\" + i)\r\n .attr('fill', (d, i) => this.legendColor[i])\r\n .attr('cx', 0)\r\n .attr('cy', 0)\r\n .attr('r', 5)\r\n\r\n lg.append('text')\r\n .attr(\"font-family\", \"sans-serif\")\r\n .attr(\"font-size\", \"11px\")\r\n .attr('fill', '#515151')\r\n .attr('x', 9)\r\n .attr('y', 5)\r\n .attr('dy', -1)\r\n .text((d, i) => this.legendKey[i]);\r\n\r\n let offset = 0;\r\n const self = this;\r\n lg.attr('transform', function (d, i) {\r\n let x = offset;\r\n offset += nodeWidth(this) + 10;\r\n return `translate(${x},${self.height + 10})`;\r\n });\r\n\r\n legend.attr('transform', function () {\r\n return `translate(${(self.graphWidth - nodeWidth(this)) / 2},${61})`\r\n });\r\n }\r\n\r\n drawGraph() {\r\n this.data = this.getData();\r\n this.renderSVGContainer();\r\n this.renderRangeRect();\r\n this.renderXAxis();\r\n this.renderMeasure();\r\n this.renderMark();\r\n this.renderAxisText();\r\n this.renderLegend();\r\n }\r\n\r\n}\r\n","\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\nimport { APWebService } from '../../services/apWeb.service';\nimport { DataService } from '../../services/data.service';\nimport * as $ from \"jquery\";\n\n@Component({\n selector: 'app-review-and-save-opportunity',\n templateUrl: './review-and-save-opportunity.component.html',\n styleUrls: ['./review-and-save-opportunity.component.css']\n})\nexport class ReviewAndSaveOpportunityComponent implements OnInit {\n public mapedData: any;\n public feildData: any;\n public excelColumns: any;\n public selectedExColumn = \"Please select\";\n public IsDuplicateandSave = false;\n public selectedColumn = \"True\";\n public DuplicateFlag = false;\n public ValidationMsgDup = null;\n public ValidationMsgFieldsArr = [];\n public DeliveryType = [\"Please select\", \"Application Development\", \"Application Maintainance\",\"Infrastructure maintenance\" , \"Agile\", \"Testing\", \"DevOps\"]\n public IsClientSpecific = ['True', 'False'];\n public DuplicateMsg: string;\n public btnSaveDisable = true;\n public dateValue: Date = new Date();\n public oldDataObjectArray = [];\n public ValidationMsgFields = null;\n public assetDateValidation = true;\n public ValidationMsgFldsArr = [];\n public nullValueFlag = false;\n public ValidationFlag = false;\n public newDataObjectArray = null;\n public DataSourceID: string;\n public showModal = false;\n public redirected = false;\n\n constructor(private apWebService: APWebService, private dataservice: DataService) { }\n\n ngOnInit(): void {\n this.mapedData = JSON.parse(sessionStorage.getItem('refNextData'));\n this.oldDataObjectArray = JSON.parse(localStorage.getItem('OldDataObjExcel')); \n this.DataSourceID = JSON.parse(sessionStorage.getItem('CreatedDSID'));\n }\n\n SaveBulk() {\n var ValidationMsgFields = null;\n this.assetDateValidation = true;\n this.ValidationMsgFldsArr = [];\n this.ValidationMsgFieldsArr = [];\n this.nullValueFlag = false;\n this.ValidationFlag = false;\n \n if (this.checkNullSelection(this.mapedData)) {\n this.ValidationMsgFields = \"(*)Mandatory dropdowns must be selected\";\n this.ValidationMsgFieldsArr.push(this.ValidationMsgFields);\n } else if (this.checkDuplicates(\"cField\", this.mapedData)) {\n this.ValidationMsgFields = \"**Duplicates selected,please map the fields correctly\";\n this.ValidationMsgFieldsArr.push(this.ValidationMsgFields);\n }\n else {\n var nDataObjectArray = [];\n //var oDataObjectArray = Object.assign({}, this.oldDataObjectArray);\n // var mappedFieldsTemp = Object.assign({},this.mapedData);\n\n let currentObj = this;\n let allerrors: string = '';\n // console.log(obj);\n currentObj.oldDataObjectArray.forEach(function (excelObj) {\n var dataobj: any = {};\n\n if (currentObj.DataSourceID != null && currentObj.DataSourceID != '') {\n dataobj[\"DataSourceID\"] = currentObj.DataSourceID;\n } else {\n dataobj[\"DataSourceID\"] = 'NULL';\n }\n currentObj.mapedData.forEach(function (obj) {\n obj.xValidationflag = true;\n if (obj.xField == 'Delivery Type') {\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = obj.cField;\n }\n else if (obj.xField == 'Is Client Specific') {\n if (obj.cField == 'True') {\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = true;\n } else {\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = false;\n }\n }\n else if (obj.xField == 'Tower/Module') {\n\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = excelObj[obj.cField];\n\n }\n else if (obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '') == \"CategoryName\") {\n var rgx = /^[ A-Za-z0-9_@.#&+*-]*$/;\n dataobj[obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '')] = excelObj[obj.cField];\n var temp = dataobj[obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '')];\n if (!rgx.test(temp.trim())) {\n currentObj.nullValueFlag = true;\n //this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should not be empty or contain special characters.Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n else if (obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '') == \"SubCategoryName\") {\n var rgx = /^[ A-Za-z0-9_@.#&+*-]*$/;\n dataobj[obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '')] = excelObj[obj.cField];\n var temp = dataobj[obj.xField.replace(/^[ A-Za-z0-9_@.#&+*-]*$/ig, '')];\n if (!rgx.test(temp.trim())) {\n currentObj.nullValueFlag = true;\n // $scope.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should not be empty or contain special characters.Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n\n else if (obj.xField == \"Reported till Month\") {\n if ($('#reportingdate').val() != \"\" && $('#reportingdate').val() != null) {\n obj.cField = $('#reportingdate').val();\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = obj.cField;\n }\n var filteredfields = currentObj.mapedData.filter(function (valuefield) {\n return (valuefield.xField == \"Actual FTE Reduction\" || valuefield.xField == \"Actual Cost Savings($)\" || valuefield.xField == \"Actual Effort Savings(Hrs)\" || valuefield.xField == \"LCR/Day Rate/Hr\")\n\n }, true);\n if ((filteredfields[0].cField != \"\" && filteredfields[0].cField != \"Please select\") || (filteredfields[1].cField != \"\" && filteredfields[1].cField != \"Please select\") || (filteredfields[2].cField != \"\" && filteredfields[2].cField != \"Please select\") || (filteredfields[3].cField != \"\" && filteredfields[3].cField != \"Please select\")) {\n if (obj.cField == \"\") {\n this.nullValueFlag = true;\n this.ValidationMsgFields = '**' + obj.xField + ' should be selected.';\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n }\n else {\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = obj.cField;\n }\n }\n }\n else {\n if (obj.cField != null && obj.cField != '' && obj.cField != 'Please select') {\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = excelObj[obj.cField].toString().replace(/'/g, \"\\\\\");\n if (obj.xMandatory) {\n if (dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] == \"\" || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] == undefined) {\n //this.$broadcast('angucomplete-alt:clearInput');\n currentObj.nullValueFlag = true;\n currentObj.ValidationMsgFields = 'Mandatory Field,' + obj.xField + '(' + obj.cField + ')' + ' should not contain null Values';\n\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n // //////////this.btnUploadDisable = true; \n }\n else\n // if (!obj.xValidationflag == true) {\n if (!currentObj.isCorrectFieldType(obj.xFieldType, dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')])) {\n currentObj.nullValueFlag = true;\n // //////////this.btnUploadDisable = true;\n if (obj.xFieldType == \"int\")\n currentObj.ValidationMsgFields = \"**Value type of \" + obj.xField + \" should be int and decimals should not be more than 2.Please upload correct data\";\n else\n currentObj.ValidationMsgFields = \"**Value type of \" + obj.xField + \" should be \\\"\" + obj.xFieldType + \"\\\".Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n\n }\n //}\n\n }\n else {\n if (dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] == \"\" || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] == undefined) {\n if (obj.xFieldType == \"int\") {\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AutomationAchievable\" || obj.xField.replace(/[^A-Z0-9]/ig, '') == \"EffortReductionAchievable\")\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = 'NULL';\n else\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = '0';\n\n }\n else if (obj.xFieldType == \"bit\") {\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = 'false';\n }\n else\n dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')] = 'NULL';\n\n }\n if (!currentObj.isCorrectFieldType(obj.xFieldType, dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')])) {\n currentObj.nullValueFlag = true;\n //\n ////////////this.btnUploadDisable = true;\n if (obj.xFieldType == \"int\") {\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"EffortReductionAchievable\" || obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AutomationAchievable\" || obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AssetImplementationCost\") {\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number and should not contain decimals .Please upload correct data\";\n } else\n currentObj.ValidationMsgFields = \"**Value type of \" + obj.xField + \" should be number and decimals should not be more than 2.Please upload correct data\";\n }\n else\n currentObj.ValidationMsgFields = \"**Value type of \" + obj.xField + \" should be \\\"\" + obj.xFieldType + \"\\\".Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n\n currentObj.btnSaveDisable = false;\n\n }\n else {\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AutomationAchievable\") {\n var rgx = /^\\d+$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n if (temp != 'NULL') {\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 100 || !rgx.test(temp.trim())) {\n currentObj.nullValueFlag = true;\n // //////////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 100 and should not contain decimals .Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n\n }\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"EffortReductionAchievable\") {\n var rgx = /^\\d+$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n if (temp != 'NULL') {\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 999 || !rgx.test(temp.trim())) {\n currentObj.nullValueFlag = true;\n // //////////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 999 and should not contain decimals .Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n\n }\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"BaselinedCost\") {\n var rgx = /^\\d+(\\.\\d{0,2})?$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n temp = temp.replace(/[^0-9.]/ig, '');\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 999.99 || !rgx.test(temp.trim())) {\n currentObj.nullValueFlag = true;\n // //////////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be less than or equal to 999.99 and should contain only 2 decimal places.Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"Baselinedeffort\") {\n var rgx = /^\\d+(\\.\\d{0,2})?$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n temp = temp.replace(/[^0-9.]/ig, '');\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 999999999.99 || !rgx.test(temp.trim()) || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')].indexOf('$') > -1) {\n currentObj.nullValueFlag = true;\n ////////////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 999999999.99 and should contain only 2 decimal places .Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n // -----Story - 132303 Effort saving and cost saving mapping\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ExpectedEffortSavingsperyearHrs\") {\n var rgx = /^\\d+(\\.\\d{0,2})?$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n temp = temp.replace(/[^0-9.]/ig, '');\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999.99 || !rgx.test(temp.trim()) || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')].indexOf('$') > -1) {\n currentObj.nullValueFlag = true;\n //////////this.btnUploadDisable = true;\n this.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999.99 and should contain only 2 decimal places .Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ExpectedCostSavingsperyear\") {\n var rgx = /^\\d+(\\.\\d{0,2})?$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n temp = temp.replace(/[^0-9.]/ig, '');\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999.99 || !rgx.test(temp.trim())) {\n currentObj.nullValueFlag = true;\n ////////////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999.99 and should contain only 2 decimal places.Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ActualEffortSavingsHrs\") {\n var rgx = /^\\d+(\\.\\d{0,2})?$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n temp = temp.replace(/[^0-9.]/ig, '');\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999.99 || !rgx.test(temp.trim()) || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')].indexOf('$') > -1) {\n currentObj.nullValueFlag = true;\n ////////////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999.99 and should contain only 2 decimal places .Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ActualCostSavings\") {\n var rgx = /^\\d+(\\.\\d{0,2})?$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n temp = temp.replace(/[^0-9.]/ig, '');\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999.99 || !rgx.test(temp.trim())) {\n currentObj.nullValueFlag = true;\n ////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999.99 and should contain only 2 decimal places.Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"AssetImplementationCost\") {\n var rgx = /^\\d+$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n if (temp != 'NULL') {\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 9999999999 || !rgx.test(temp.trim())) {\n currentObj.nullValueFlag = true;\n ////////////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 9999999999 and should not contain decimals .Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n\n }\n\n if (obj.xField.replace(/[^A-Z0-9]/ig, '') == \"ExpectedFTEReduction\") {\n var rgx = /^\\d+(\\.\\d{0,2})?$/;\n var temp = dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')];\n temp = temp.replace(/[^0-9.]/ig, '');\n if (isNaN(temp.trim()) || parseInt(temp.trim()) > 999999999.99 || !rgx.test(temp.trim()) || dataobj[obj.xField.replace(/[^A-Z0-9]/ig, '')].indexOf('$') > -1) {\n currentObj.nullValueFlag = true;\n ////////////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Value of \" + obj.xField + \" should be number,less than or equal to 999999999.99 and should contain only 2 decimal places .Please upload correct data\";\n if (obj.xValidationflag == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n obj.xValidationflag = false;\n }\n currentObj.btnSaveDisable = false;\n }\n }\n \n }\n\n }\n }\n }\n\n\n });\n\n if (dataobj != null) {\n // -----Story - 132303 Effort saving and cost saving mapping\n if (\"ExpectedEffortSavingsperyearHrs\" in dataobj) {\n if (\"AutomationAchievable\" in dataobj)\n delete dataobj[\"AutomationAchievable\"];\n if (\"EffortReductionAchievable\" in dataobj)\n delete dataobj[\"EffortReductionAchievable\"];\n if (\"Baselinedeffort\" in dataobj)\n delete dataobj[\"Baselinedeffort\"];\n }\n if (\"ExpectedCostSavingsperyear\" in dataobj) {\n if (\"BaselinedCost\" in dataobj)\n delete dataobj[\"BaselinedCost\"];\n }\n if (\"AssetStartDate\" in dataobj && \"AssetEndDate\" in dataobj) {\n var temp1 = dataobj[\"AssetStartDate\"].toString().split('/');\n var temp2 = dataobj[\"AssetEndDate\"].toString().split('/');\n var stDate = new Date(temp1[2], temp1[1] - 1, temp1[0]);\n var endDate = new Date(temp2[2], temp2[1] - 1, temp2[0]);\n if (stDate > endDate) {\n currentObj.nullValueFlag = true;\n ////////////this.btnUploadDisable = true;\n currentObj.ValidationMsgFields = \"**Asset start date should be less than Asset end date\";\n if (this.assetDateValidation == true) {\n currentObj.ValidationMsgFieldsArr.push(currentObj.ValidationMsgFields);\n this.assetDateValidation = false;\n }\n currentObj.btnSaveDisable = false;\n }\n\n }\n // -----Story - 132303 Effort saving and cost saving mapping\n nDataObjectArray.push(dataobj);\n }\n\n });\n currentObj.ValidationMsgFieldsArr = currentObj.ValidationMsgFieldsArr.filter(function (item, index, inputArray) {\n return inputArray.indexOf(item) == index;\n });\n if (currentObj.ValidationMsgFieldsArr.length > 0) {\n for (var i = 0; i < currentObj.ValidationMsgFieldsArr.length; i++) {\n allerrors += currentObj.ValidationMsgFieldsArr[i] + \"
\";\n }\n currentObj.apWebService.showErrorMessage(allerrors);\n }\n if (this.nullValueFlag == false) {\n this.newDataObjectArray = nDataObjectArray;\n //console.log(this.newDataObjectArray);\n\n this.apWebService.SaveBulkData(this.newDataObjectArray).subscribe(function (data) {\n // this.ValidationMsgFields = \"Saved\";\n this.btnSaveDisable = true;\n if (data != null) {\n if (data[\"IsDuplicateOpp\"]) {\n if ((data[\"DuplicateOpps\"]).length > 0) {\n this.DuplicateOppList = data[\"DuplicateOpps\"];\n localStorage.setItem(\"DuplicateRecords\", JSON.stringify(this.DuplicateOppList));\n if (data[\"IsDuplicateandSave\"] == \"Yes\") {\n this.IsDuplicateandSave = true;\n this.ValidationMsgFields = \"Below link contains Combination of opportunity fields already exists in Automation Planner, rest others are uploaded successfully, Kindly download the duplicate list by clicking on below Download button and upload the appropriate opportunities.\";\n this.fieldsText = false;\n }\n if (data[\"IsDuplicateandSave\"] == \"No\") {\n this.IsDuplicateandSave = false;\n this.ValidationMsgFields = \"Combination of opportunity fields already exists in Automation Planner, Kindly download the duplicate list by clicking on below Download button and upload the appropriate opportunities.\";\n this.fieldsText = false;\n\n }\n this.InvalidFileStructureFlag = true;\n this.DuplicateExists = true;\n this.SelectedFile = null;\n localStorage.setItem('DuplicateExists', this.DuplicateExists);\n currentObj.showModal = true;\n $('#duplicateMsg').text(this.ValidationMsgFields);\n //////this.btnUploadDisable = true;\n return;\n }\n\n }\n else {\n if (data[\"IsSuccess\"]) {\n this.ValidationMessage = '';\n this.IsSaved = true;\n this.SelectedFile = null;\n ////this.btnUploadDisable = true;\n // $('#parentPop').addClass(\"modal-backdrop fade in\");\n currentObj.apWebService.showSuccessMessage(\"Uploaded Successfully\");\n currentObj.apWebService.RedirectToHome();\n\n // if (data[\"IsENSNotificationSuccess\"]) { \n // $('#successMsg').text(\"Uploaded Successfully\");\n // $('#myModalSuccess').show();\n // }\n //else {\n //$(\"#errorMsg\").html(\"Currently baseline is in queue, please check it after 90 minutes.\");\n // $(\"#myModalFail\").show();\n // }\n this.DuplicateExists = false;\n }\n else {\n this.InvalidFileStructureFlag = true;\n this.ValidationMessage = \"Failed to upload the opportunity file.Please contact myWizardAutomationSupport .\";\n this.SelectedFile = null;\n currentObj.apWebService.showErrorMessage(this.ValidationMessage);\n //////////this.btnUploadDisable = true;\n this.DuplicateExists = false;\n this.fieldsText = false;\n return;\n }\n }\n }\n //console.log(data);\n });\n\n } else {\n this.ValidationMsgFldsArr = this.ValidationMsgFieldsArr;\n this.ValidationFlag = true;\n }\n\n\n }\n}\nredirectedToHome() {\n if (localStorage.getItem('lastSavedValues') != undefined)\n localStorage.removeItem('lastSavedValues');\n this.apWebService.RedirectToHome();\n this.redirected = true;//this.dataservice.redirected;\n}\n// Check Null Selection\ncheckNullSelection(inputArray) {\n var nullField = false;\n inputArray.forEach(function (item) {\n if (item.xMandatory) {\n if (item.cField == '' || item.cField == null || item.cField == 'Please select') {\n nullField = true;\n }\n }\n\n });\n return nullField;\n}\n// Check Duplicate Selection\ncheckDuplicates(propertyName, inputArray) {\n var seenDuplicate = false,\n testObject = {};\n\n inputArray.map(function (item) {\n var itemPropertyName = item[propertyName];\n if (itemPropertyName != null && itemPropertyName != '' && itemPropertyName != 'Please select') // Dont consider Nulls as duplicates\n {\n if (itemPropertyName in testObject) {\n testObject[itemPropertyName].duplicate = true;\n item.duplicate = true;\n seenDuplicate = true;\n }\n else {\n testObject[itemPropertyName] = item;\n delete item.duplicate;\n }\n }\n });\n return seenDuplicate;\n}\nisCorrectFieldType(dtype, dval) {\n if (dval == '' || dval == null || dval == 'NULL') {\n return true;\n }\n else {\n if (isNaN(dval) && dtype == \"string\") {\n return true;\n }\n else\n if (dtype == \"int\") {\n var pattern = /(?=.*?\\d)^\\$?(([1-9]\\d{0,2}(,\\d{3})*)|\\d+)?(\\.\\d{1,2})?$/;\n if (pattern.test(dval.trim()) || dval.trim() == '$-' || dval.trim() == '$')\n return true;\n else\n return false;\n }\n else\n if (dtype == \"bit\" && (dval.toUpperCase() == \"TRUE\" || dval.toUpperCase() == \"FALSE\")) {\n return true;\n }\n else\n if (dtype == \"Date(dd/mm/yyyy)\") {\n return this.isValidDate(dval);\n }\n else\n return false;\n }\n\n}\nisValidDate(dateString) {\n // First check for the pattern\n if (!/^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/.test(dateString))\n return false;\n\n // Parse the date parts to integers\n var parts = dateString.split(\"/\");\n var day = parseInt(parts[0], 10);\n var month = parseInt(parts[1], 10);\n var year = parseInt(parts[2], 10);\n\n // Check the ranges of month and year\n if (year < 1000 || year > 3000 || month == 0 || month > 12)\n return false;\n\n var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n // Adjust for leap years\n if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0))\n monthLength[1] = 29;\n\n // Check the range of the day\n return day > 0 && day <= monthLength[month - 1];\n};\n}\n","\n
\n
\n
\n
\n \"Back\"\n
Automation Opportunity Upload
\n \n
\n \n
\n
\n
Automation Planner
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n
Automation Journey
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \"Previous\"Previous\n \n \n
\n
\n
\n
\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { AppConfigService } from './app-config.service';\r\ndeclare var bootbox: any;\r\n//import 'rxjs/Rx';\r\n\r\n@Injectable()\r\nexport class APWebServiceJourneyPlan {\r\n public baseURL: string;\r\n public environmentDetails: any;\r\n\r\n constructor(private http: HttpClient, private appConfig: AppConfigService) {\r\n this.environmentDetails = this.appConfig.environmentSettings;\r\n if (this.environmentDetails.MSALenabled)\r\n this.baseURL = this.environmentDetails.serverAPIUrl;\r\n else\r\n this.baseURL = this.environmentDetails.localAPIUrl;\r\n }\r\n\r\n\r\n //#region JourneyPlanController\r\n\r\n\r\n GetJourneyDetails(journeyObj: object): Observable {\r\n return this.http.post(this.baseURL + \"JourneyPlan/GetJourneyDetails/\", { journeyObj });\r\n }\r\n\r\n SaveJourney(journeyDetails: object): Observable {\r\n return this.http.post(this.baseURL + \"JourneyPlan/SaveJourney/\", { journeyDetails });\r\n }\r\n\r\n SaveMilestoneSolution(milestonesolution: object): Observable {\r\n return this.http.post(this.baseURL + \"JourneyPlan/SaveMilestoneSolution/\", { milestonesolution });\r\n }\r\n\r\n GetExistingMilestones(): Observable {\r\n return this.http.get(this.baseURL + \"JourneyPlan/GetExistingMilestones/\");\r\n }\r\n IsExistMilestoneName(journeyId: number, milestonename: string, milestoneId: number, blueprintID: number): Observable {\r\n return this.http.get(this.baseURL + \"JourneyPlan/IsExistMilestoneName/\" + journeyId + \"/\" + milestonename + \"/\" + milestoneId + \"/\" + blueprintID);\r\n }\r\n PushDataToScurve(blueprintID: number): Observable {\r\n return this.http.get(this.baseURL + \"JourneyPlan/PushDataToScurve/\" + blueprintID);\r\n }\r\n SaveDataFromSCurve(scurvejsonrequest: object): Observable {\r\n return this.http.post(this.baseURL + \"JourneyPlan/SaveDataFromSCurve/\", { scurvejsonrequest });\r\n }\r\n SaveEffortReduction(effortreductionobject: object): Observable {\r\n return this.http.post(this.baseURL + \"JourneyPlan/SaveEffortReduction/\", { effortreductionobject });\r\n }\r\n\r\n //#endregion\r\n\r\n\r\n\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { MsalGuard } from '@azure/msal-angular';\nimport { environment } from 'src/environments/environment';\n\nimport { HomeComponent } from 'src/components/home/home.component';\nimport { AppComponent } from 'src/app/app.component';\nimport { OpportunityTreasuryComponent } from '../components/opportunity-treasury/opportunity-treasury.component';\nimport { AddOpportunityComponent } from '../components/add-opportunity/add-opportunity.component';\nimport { EditOpportunityComponent } from '../components/edit-opportunity/edit-opportunity.component';\nimport { AddAssetComponent } from '../components/add-asset/add-asset.component';\nimport { AddCustomAssetComponent } from '../components/add-custom-asset/add-custom-asset.component';\nimport { UploadOpportunityComponent } from '../components/upload-opportunity/upload-opportunity.component'\nimport { FieldMappingComponent } from '../components/field-mapping/field-mapping.component';\nimport { ReviewAndSaveOpportunityComponent } from '../components/review-and-save-opportunity/review-and-save-opportunity.component';\n\nconst activateMSALGuard = environment.MSALenabled ? [MsalGuard] : [];\nconst routes: Routes = [\n {\n path: '', pathMatch: 'full', redirectTo: 'home'\n },\n {\n path: 'home', component: HomeComponent,\n // canActivate: activateMSALGuard\n },\n\n {\n path: 'home/:blueprintid', component: HomeComponent,\n // canActivate: activateMSALGuard\n },\n {\n path: 'blueprint/:projectid/:appname/:usertype/:fdsreadonly', component: HomeComponent,\n canActivate: activateMSALGuard\n },\n // {\n // path:'opportunityTreasury/E2EUID=:E2EUID/:usertype', component: OpportunityTreasuryComponent,\n // canActivate:activateMSALGuardQ3WQ\n // },\n\n {\n path: 'opportunityTreasury', component: OpportunityTreasuryComponent,\n // canActivate: activateMSALGuard\n },\n\n {\n path: 'opportunityTreasury/refresh', component: OpportunityTreasuryComponent,\n // canActivate: activateMSALGuard\n },\n // {\n // path: 'opportunityTreasury/E2EUID', redirectTo: 'OpportunityTreasuryComponent', \n // // canActivate: activateMSALGuard\n // },\n {\n path: 'addOpportunity', component: AddOpportunityComponent,\n // canActivate: activateMSALGuard\n },\n {\n path: 'editOpportunity', component: EditOpportunityComponent,\n // canActivate: activateMSALGuard\n },\n {\n path: 'addAsset', component: AddAssetComponent,\n // canActivate: activateMSALGuard\n },\n {\n path: 'addCustomAsset', component: AddCustomAssetComponent,\n // canActivate: activateMSALGuard\n },\n {\n path: 'uploadOpportunity', component: UploadOpportunityComponent,\n // canActivate: activateMSALGuard\n },\n {\n path: 'fieldMapping', component: FieldMappingComponent,\n // canActivate: activateMSALGuard\n },\n {\n path: 'reviewAndSaveOpportunity', component: ReviewAndSaveOpportunityComponent,\n // canActivate: activateMSALGuard\n }\n];\n\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { of as observableOf, Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { AppConfigService } from './app-config.service';\r\ndeclare var bootbox: any;\r\n//import 'rxjs/Rx';\r\n\r\n@Injectable()\r\nexport class APWebServiceDashBoard {\r\n public baseURL: string;\r\n public environmentDetails: any;\r\n\r\n constructor(private http: HttpClient, private appConfig: AppConfigService) {\r\n this.environmentDetails = this.appConfig.environmentSettings;\r\n if (this.environmentDetails.MSALenabled)\r\n this.baseURL = this.environmentDetails.serverAPIUrl;\r\n else\r\n this.baseURL = this.environmentDetails.localAPIUrl;\r\n }\r\n\r\n //#region DashBoardController\r\n\r\n\r\n\r\n GetScopeSelectorForSAUser(enterpriseid: string, flag: string): Observable {\r\n return this.http.get(this.baseURL + \"Dashboard/GetScopeSelectorForSAUser/\" + enterpriseid + \"/\" + flag)\r\n }\r\n GetScopeSelectorForMYspUser(solutionId: number, appname: string): Observable {\r\n return this.http.get(this.baseURL + \"Dashboard/GetScopeSelectorForMYspUser/\" + solutionId + \"/\" + appname)\r\n }\r\n\r\n GetNonFDSScopeSelector(projectid: number, enterpriseId: number, appname: number): Observable {\r\n return this.http.get(this.baseURL + \"Dashboard/GetNonFDSScopeSelector/\" + projectid + \"/\" + enterpriseId + \"/\" + appname)\r\n }\r\n CheckFDSUserAuthorizeforAJA(enterpriseId: string, E2EUID: string, CMSUID: string, WSUID: string, oldE2EUID: string): Observable {\r\n return this.http.get(this.baseURL + \"Dashboard/CheckFDSUserAuthorizeforAJA/\" + enterpriseId + \"/\" + E2EUID + \"/\" + CMSUID + \"/\" + WSUID + \"/\" + oldE2EUID)\r\n }\r\n // checkAOFUserAuthorize(enterpriseId: string, DMSProjectID: string, usertype: number): Observable {\r\n // return this.http.get(this.baseURL + \"Dashboard/CheckFDSUserAuthorizeforAJA/\" + enterpriseId + \"/\" + DMSProjectID + \"/\" + usertype)\r\n // }\r\n SetProjIDOnScopeApply(jsondata: object): Observable {\r\n return this.http.post(this.baseURL + \"Dashboard/SetProjIDOnScopeApply/\", { jsondata })\r\n }\r\n\r\n GetBulkFields(): Observable {\r\n return this.http.get(this.baseURL + \"Dashboard/GetBulkFields/\")\r\n }\r\n GetFDSDataSourceIds(OldE2EId: string, EntityUID: string, EntityType: string): Observable {\r\n return this.http.get(this.baseURL + \"Dashboard/GetFDSDataSourceIds/\" + OldE2EId + \"/\" + EntityUID + \"/\" + EntityType)\r\n }\r\n\r\n SaveUploadedFile(): Observable {\r\n return this.http.post(this.baseURL + \"Dashboard/SaveUploadedFile/\", {})\r\n }\r\n ViewUploadedData(dataSourceId: string): Observable {\r\n return this.http.get(this.baseURL + \"Dashboard/ViewUploadedData/\" + dataSourceId)\r\n }\r\n downloadFile(filename: string): Observable {\r\n return this.http.get(this.baseURL + \"Dashboard/downloadFile/\" + filename)\r\n }\r\n\r\n\r\n\r\n\r\n //#endregion\r\n\r\n\r\n}\r\n\r\n","import { Component, HostListener, OnInit } from '@angular/core';\r\nimport * as d3 from 'd3';\r\nimport { common } from 'src/app/common/common';\r\nimport { APWebService } from 'src/services/apWeb.service';\r\nimport { DataService } from 'src/services/data.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-donut-chart-status',\r\n templateUrl: './donut-chart-status.component.html',\r\n styleUrls: ['./donut-chart-status.component.scss']\r\n})\r\n\r\nexport class StatusDonutChart implements OnInit {\r\n dataset: any;\r\n selector = 'donut_chart-status';\r\n width = 280;\r\n height = 230;\r\n margin = 20;\r\n radius: any;\r\n svg: any;\r\n labelValue = 'Automation Opportunities';\r\n totalCount = 0;\r\n color = ['#6D6ACC', '#7188DC', '#67CABD'];\r\n public unsubscribeBluePrintDataReceived: any;\r\n public fdsBluePrintDataReceived: any;\r\n\r\n constructor(private apWebService: APWebService, private dataService: DataService) { }\r\n\r\n ngOnInit() {\r\n this.unsubscribeBluePrintDataReceived = this.dataService.bluePrintDataReceived.subscribe(bluePrintData => {\r\n common.clearSVG(this.selector);\r\n let element = document.getElementsByClassName(this.selector)[0];\r\n this.width = element.offsetWidth - 20;\r\n this.height = 200;\r\n this.dataset = this.getData();\r\n this.drawGraph();\r\n }, error => {\r\n this.apWebService.showErrorMessage(error);\r\n })\r\n\r\n this.fdsBluePrintDataReceived = this.dataService.fdsBluePrintDataReceived.subscribe(bluePrintData => {\r\n common.clearSVG(this.selector)\r\n let element = document.getElementsByClassName(this.selector)[0];\r\n this.width = element.offsetWidth - 20;\r\n this.height = 200;\r\n this.dataset = this.getData();\r\n this.drawGraph();\r\n }, error => {\r\n this.apWebService.showErrorMessage(error);\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribeBluePrintDataReceived.unsubscribe();\r\n this.fdsBluePrintDataReceived.unsubscribe();\r\n }\r\n\r\n drawGraph() {\r\n //this.radius = (Math.min(this.width, this.height) / 2) - this.margin;\r\n this.radius = 70;\r\n //this.transformData();\r\n this.svg = this.getSVG();\r\n this.renderPolyLineCircles();\r\n this.renderCenterTotalCountText();\r\n this.renderCenterLable();\r\n this.renderLegends();\r\n }\r\n\r\n renderLegends() {\r\n let nodeWidth = (d) => d.getBBox().width;\r\n const legend = this.svg.append('g')\r\n .attr('transform', 'translate(0,0)');\r\n\r\n const lg = legend.selectAll('g')\r\n .data(this.dataset)\r\n .enter()\r\n .append('g')\r\n\r\n let legendRadius = 5;\r\n lg.append('circle')\r\n .attr('fill', (d, i) => this.color[i])\r\n .attr('r', legendRadius);\r\n\r\n lg.append('text')\r\n .attr(\"font-family\", \"Graphik Regular\")\r\n .attr(\"font-size\", \"10px\")\r\n .attr('fill', '#000000')\r\n .attr(\"text-align\", \"centre\")\r\n .attr(\"x\", legendRadius + 2)\r\n .attr(\"dy\", \"0.3em\")\r\n .text(d => d.label);\r\n\r\n let offset = 10;\r\n let offset1 = 10;\r\n let height = this.height;\r\n let width = this.width;\r\n lg.attr('transform', function (d, i) {\r\n let x = offset;\r\n offset += nodeWidth(this) + 5;\r\n if (offset < width) {\r\n return `translate(${x},${height / 2 - 15})`;\r\n }\r\n else {\r\n\r\n let x = offset1;\r\n offset1 += nodeWidth(this) + 15;\r\n return `translate(${x},${height / 3})`;\r\n }\r\n\r\n });\r\n let radius = this.radius;\r\n legend.attr('transform', function () {\r\n return `translate(${(-radius - 30)},${25})`\r\n });\r\n }\r\n\r\n renderCenterLable() {\r\n this.svg.append('text')\r\n .attr('font-family', 'Graphik Medium')\r\n .attr('font-size', '9.5px')\r\n .attr('dy', '2em')\r\n .attr('fill', '#B0B0B0')\r\n .attr('text-anchor', 'middle')\r\n .text(this.labelValue);\r\n }\r\n\r\n renderPolyLineCircles() {\r\n const mainArc = this.getMainArc();\r\n // Another arc that won't be drawn. Just for labels positioning\r\n let line_length = this.radius + 30,\r\n arc_outer_line = d3.arc()\r\n .innerRadius(line_length)\r\n .outerRadius(line_length);\r\n\r\n let arc_outer_value = d3.arc()\r\n .innerRadius(line_length + 18)\r\n .outerRadius(line_length + 18);\r\n\r\n const pie = d3.pie()\r\n .value((d: any) => d.percentage)\r\n .sort(null);\r\n\r\n const paths = this.svg.selectAll('g')\r\n .data(pie(this.dataset))\r\n .enter();\r\n\r\n paths.append('path')\r\n .attr('d', mainArc)\r\n .attr('fill', (d, i) => this.color[i])\r\n .append('svg:title')\r\n .text(d =>\r\n d.data.label.substring(d.data.label.lastIndexOf(\" \") + 1)\r\n );\r\n\r\n }\r\n\r\n renderCenterTotalCountText() {\r\n this.svg.append('text')\r\n .attr('font-family', 'Graphik Black')\r\n .attr('font-size', '35px')\r\n .attr('dy', '0.25em')\r\n .attr('fill', '#000000')\r\n .attr('text-anchor', 'middle')\r\n .text(this.totalCount);\r\n }\r\n\r\n getMainArc() {\r\n return d3.arc()\r\n .innerRadius(d => this.radius * 0.7)\r\n .outerRadius(d => this.radius)\r\n .padAngle(0.025);\r\n }\r\n\r\n\r\n getSVG() {\r\n return common.getSVG(this.selector, this.width, this.height)\r\n .append('g')\r\n .attr('transform', 'translate(' + (this.width / 2) +\r\n ',' + (this.height / 2.5) + ')');\r\n }\r\n\r\n getData() {\r\n this.totalCount = this.dataService.pendingsubmission + this.dataService.submitted;\r\n return [\r\n { percentage: Math.round(this.dataService.pendingsubmission / this.totalCount * 100) < 1 ? 1 : Math.round(this.dataService.pendingsubmission / this.totalCount * 100), label: 'Pending Submission ' + this.dataService.pendingsubmission },\r\n { percentage: Math.round(this.dataService.submitted / this.totalCount * 100) < 1 ? 1 : Math.round(this.dataService.submitted / this.totalCount * 100), label: 'Submitted ' + this.dataService.submitted }\r\n ];\r\n }\r\n\r\n // @HostListener('window:resize', ['$event'])\r\n // onResize(event) {\r\n // if (event) {\r\n // common.clearSVG(this.selector);\r\n // this.drawGraph();\r\n // }\r\n // }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n\r\n\r\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n \n","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 = \"zn8P\";"],"sourceRoot":"webpack:///"}