{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/components/add-fsc/add-partner-fsc.component.html","webpack:///./src/app/components/add-fsc/add-partner-fsc.component.scss","webpack:///./src/app/components/add-fsc/add-partner-fsc.component.ts","webpack:///./src/app/components/add-partner/add-partner.component.html","webpack:///./src/app/components/add-partner/add-partner.component.scss","webpack:///./src/app/components/add-partner/add-partner.component.ts","webpack:///./src/app/components/assign-fsc/assign-fsc.component.html","webpack:///./src/app/components/assign-fsc/assign-fsc.component.scss","webpack:///./src/app/components/assign-fsc/assign-fsc.component.ts","webpack:///./src/app/components/custom-group/custom-group.component.html","webpack:///./src/app/components/custom-group/custom-group.component.scss","webpack:///./src/app/components/custom-group/custom-group.component.ts","webpack:///./src/app/components/custom-modal/custom-modal.component.html","webpack:///./src/app/components/custom-modal/custom-modal.component.scss","webpack:///./src/app/components/custom-modal/custom-modal.component.ts","webpack:///./src/app/components/fsc-details/fsc-details.component.html","webpack:///./src/app/components/fsc-details/fsc-details.component.scss","webpack:///./src/app/components/fsc-details/fsc-details.component.ts","webpack:///./src/app/components/fsc-listing-page/fsc-listing-page.component.html","webpack:///./src/app/components/fsc-listing-page/fsc-listing-page.component.scss","webpack:///./src/app/components/fsc-listing-page/fsc-listing-page.component.ts","webpack:///./src/app/components/header/header.component.html","webpack:///./src/app/components/header/header.component.scss","webpack:///./src/app/components/header/header.component.ts","webpack:///./src/app/components/login-page/login-page.component.html","webpack:///./src/app/components/login-page/login-page.component.scss","webpack:///./src/app/components/login-page/login-page.component.ts","webpack:///./src/app/components/partner-details/partner-details.component.html","webpack:///./src/app/components/partner-details/partner-details.component.scss","webpack:///./src/app/components/partner-details/partner-details.component.ts","webpack:///./src/app/components/partner-page/partner-page.component.html","webpack:///./src/app/components/partner-page/partner-page.component.scss","webpack:///./src/app/components/partner-page/partner-page.component.ts","webpack:///./src/app/components/product-benifits/product-benifits.component.html","webpack:///./src/app/components/product-benifits/product-benifits.component.scss","webpack:///./src/app/components/product-benifits/product-benifits.component.ts","webpack:///./src/app/components/product-boundary-condition/product-boundary-condition.component.html","webpack:///./src/app/components/product-boundary-condition/product-boundary-condition.component.scss","webpack:///./src/app/components/product-boundary-condition/product-boundary-condition.component.ts","webpack:///./src/app/components/product-mapping/product-mapping.component.html","webpack:///./src/app/components/product-mapping/product-mapping.component.scss","webpack:///./src/app/components/product-mapping/product-mapping.component.ts","webpack:///./src/app/components/product-scheme/product-scheme.component.html","webpack:///./src/app/components/product-scheme/product-scheme.component.scss","webpack:///./src/app/components/product-scheme/product-scheme.component.ts","webpack:///./src/app/directives/custom-input.directive.ts","webpack:///./src/app/pipes/keyvalue.pipe.ts","webpack:///./src/app/pipes/search.pipe.ts","webpack:///./src/app/services/config.service.ts","webpack:///./src/app/services/data-share.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZyC;AACM;AACQ;AACgB;AACW;AACM;AACH;AACY;AACA;AACG;AAC6B;AACnC;AACN;AACW;AACnB;AACG;AAEnF,IAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,8FAAkB;KACxC;IACD;QACE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mFAAe;KAC3C;IACD;QACE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,8FAAkB;KAC7C;IACD,IAAI;IACJ,uDAAuD;IACvD,KAAK;IACL;QACE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,oGAAoB;KACxD;IACD;QACE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,gHAAuB;KACvD;IACD;QACE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,+FAAkB;KAClD;IACD;QACE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,kGAAmB;KACnD;IACD;QACE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,iGAAmB;KACnD;IACD;QACE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,qGAAsB;KACzD;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,6GAAuB;KAC5D;IACD;QACE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,6GAAuB;KAC5D;IACD;QACE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,gHAAwB;KAC9D;IACD;QACE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,8IAAiC;KACzE;IACD;QACE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,2GAAsB;KAC1D;CACF;AAUD;IAAA;IAAgC,CAAC;IAApB,gBAAgB;QAR5B,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,4DAAY;gBACZ,4DAAY,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAG,OAAO,EAAE,IAAI,EAAE,CAAC;aAChF;YACD,OAAO,EAAE,CAAC,4DAAY,CAAC;YACvB,YAAY,EAAE,EAAE;SACjB,CAAC;OACW,gBAAgB,CAAI;IAAD,uBAAC;CAAA;AAAJ;;;;;;;;;;;;ACzE7B,oM;;;;;;;;;;;ACAA,mB;;;;;;;;;;;;;;;;;;;;;ACA0C;AAW1C;IATA;QAUE,UAAK,GAAG,oBAAoB,CAAC;IAsD/B,CAAC;IAjDC,+BAA+B;IAE/B,4BAA4B;IAI5B,IAAI;IAEJ,6CAAsB,GAAtB,UAAuB,MAAM,EAAE,SAAS;QACtC,IAAI,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QACzC,OAAO,IAAI,EAAE;YACX,0EAA0E;YAC1E,IAAI,aAAa,KAAK,IAAI,EAAE;gBAC1B,OAAO,IAAI,CAAC;aACb;YAED,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAC/C,OAAO,aAAa,CAAC;aACtB;YAID,IAAI,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;SAGjD;IACH,CAAC;IAOD,qCAAc,GAAd,UAAe,KAAK;QAElB,IAAI,KAAK,CAAC,OAAO,IAAI,GAAG,EAAE;YACxB,OAAO,KAAK,CAAC,mBAAkB;SAChC;aACI,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE;YAC/D,OAAO,KAAK,CAAC,CAAC,2BAA2B;SAC1C;IAIH,CAAC;IAlDU,YAAY;QATxB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;;;YAGpB,IAAI,EAAE;gBACJ,kBAAkB,EAAE,wBAAwB;gBAC5C,sBAAsB,EAAE,6BAA6B;aACtD;SACF,CAAC;OACW,YAAY,CAuDxB;IAAD,mBAAC;CAAA;AAvDwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXiC;AACjB;AACU;AAE8B;AACjF,2DAA2D;AACG;AAGf;AACU;AACc;AACW;AACP;AACa;AACH;AACG;AACS;AACA;AACT;AACnC;AAC+C;AAC6B;AACnC;AAC7C;AACuC;AACW;AACjB;AACrC;AACwC;AAuCrF;IAAA;IAAyB,CAAC;IAAb,SAAS;QArCrB,8DAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,2DAAY;gBACZ,mFAAe;gBACf,8FAAkB;gBAClB,uFAAoB;gBACpB,qGAAoB;gBACpB,kGAAmB;gBACnB,qGAAoB;gBACpB,8GAAuB;gBACvB,8GAAuB;gBACvB,qGAAoB;gBACpB,kEAAY;gBACZ,iHAAwB;gBACxB,8IAAiC;gBACjC,2GAAsB;gBACtB,8DAAU;gBAEV,qGAAsB;gBAEtB,gHAAuB;gBAEvB,+FAAkB;gBAElB,kGAAmB;aACpB;YACD,OAAO,EAAE;gBACP,uEAAa;gBACb,oEAAgB;gBAChB,gEAAgB;gBAChB,qEAAgB;gBAChB,2EAAuB;gBACvB,2DAAW;aACZ;YACD,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,2DAAY,CAAC;SAC1B,CAAC;OACW,SAAS,CAAI;IAAD,gBAAC;CAAA;AAAJ;;;;;;;;;;;;ACpEtB,opDAAopD,0PAA0P,gTAAgT,QAAQ,sMAAsM,aAAa,8WAA8W,gBAAgB,oVAAoV,gBAAgB,gbAAgb,2BAA2B,uE;;;;;;;;;;;ACAtkH,8BAA8B,oBAAoB,EAAE,aAAa,0BAA0B,EAAE,cAAc,gBAAgB,EAAE,iBAAiB,kCAAkC,EAAE,eAAe,2BAA2B,EAAE,kBAAkB,6BAA6B,oBAAoB,EAAE,0BAA0B,sBAAsB,uBAAuB,yBAAyB,mBAAmB,wBAAwB,EAAE,6BAA6B,qBAAqB,kCAAkC,uBAAuB,EAAE,cAAc,2BAA2B,4BAA4B,uBAAuB,qBAAqB,8BAA8B,kBAAkB,wBAAwB,4BAA4B,qBAAqB,EAAE,kBAAkB,6BAA6B,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACCrsB;AAC9C;AACP;AACF;AACC;AACM;AACtC;AACoB;AACnD,QAAQ,EAAE,wDAAU,CAAC;AAOrB;IAgCE,gCAAoB,MAAc,EAAS,MAAqB,EAAS,MAAgC,EAAS,KAAqB,EAC9H,EAAc,EAAS,GAAsB,EAAS,MAAwB;QADnE,WAAM,GAAN,MAAM,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAA0B;QAAS,UAAK,GAAL,KAAK,CAAgB;QAC9H,OAAE,GAAF,EAAE,CAAY;QAAS,QAAG,GAAH,GAAG,CAAmB;QAAS,WAAM,GAAN,MAAM,CAAkB;QA/BvF,gBAAW,GAAW,EAAE,CAAC;QACzB,mBAAc,GAAW,EAAE,CAAC;QAM5B,aAAQ,GAAG,4BAA4B,CAAC;QAExC,WAAM,GAAG,EAAE,CAAC;QACZ,gBAAW,GAAG,KAAK,CAAC;QACpB,gBAAW,GAAG,EAAE,CAAC;QACjB,mBAAc,GAAG,EAAE,CAAC;QACpB,kBAAa,GAAG,IAAI,CAAC;QACrB,aAAQ,GAAG,EAAE,CAAC;QACd,WAAM,GAAG,EAAE,CAAC;QACZ,cAAS,GAAG,CAAC,CAAC;QACd,UAAK,GAAG,KAAK,CAAC;QAeV,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAC3C,IAAI,qEAAW,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChD,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,qBAAqB,CAAC,CAAC;oBAC/C,oEAAoE;oBACpE,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBACrE,IAAI,CAAC,cAAc,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC3E,IAAI,CAAC,SAAS,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACjE,IAAI,CAAC,cAAc,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvE,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;oBACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW;iBAC/B;aACF;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IAEH,CAAC;IAzBoB,sBAAI,2CAAO;aAAX,UAAY,OAAmB;YACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC;;;OAAA;IAyBH,gDAAe,GAAf;QACI,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;YACnC,IAAM,SAAS,GAAG,cAAc,CAAC;YACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE;gBAC9C,IAAI,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;gBAC5D,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aACxD;SACF;IACH,CAAC;IACD,yCAAQ,GAAR;QAAA,iBAiCC;QA/BC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YACrC,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAE3B,KAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3B,mCAAmC;YACnC,IAAI,KAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC5B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAExB,IAAI,GAAG,GAAG,0BAA0B,GAAG,KAAI,CAAC,KAAK,CAAC;gBAClD,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,UAAC,GAAQ;oBACP,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,oCAAoC;oBAGrE,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACtC,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACnC,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW;wBACxC,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;oBAElE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;gBAEpD,CAAC,EACD,UAAC,GAAQ;oBACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CACF,CAAC;aACH;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAgB,GAAhB,UAAiB,KAAU;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,mCAAmC;YACnC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzC,+CAA+C;SAChD;aAAM;YACL,8BAA8B;YAC9B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,+CAA+C;SAChD;IACH,CAAC;IAED,yCAAQ,GAAR,UAAS,KAAK;QAAd,iBAkEC;QAjEC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,GAAG,GAAG,aAAa,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;QAChF,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAM,UAAU,GAAG,IAAI,QAAQ,EAAE,CAAC;YAClC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChC,IAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;gBAC9B,QAAQ,EAAE,kBAAkB;aAC7B,CAAC,CAAC;YACH,wDAAwD;YAExD,8DAA8D;YAC9D,aAAa;YACb,2BAA2B;YAC3B,qDAAqD;YACrD,uEAAuE;YACvE,0BAA0B;YAC1B,OAAO;YACP,aAAa;YACb,wBAAwB;YACxB,0BAA0B;YAC1B,oFAAoF;YACpF,2FAA2F;YAC3F,aAAa;YACb,qEAAqE;YACrE,yBAAyB;YACzB,iCAAiC;YACjC,uCAAuC;YACvC,sCAAsC;YACtC,gCAAgC;YAChC,4BAA4B;YAC5B,gCAAgC;YAChC,SAAS;YACT,MAAM;YACN,IAAI;YAEJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAC7D,aAAG;gBACD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC9C,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAChE,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC,EACD,aAAG;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC;gBAC7E,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpF,kDAAI,CAAC;oBACH,KAAK,EAAE,oDAAoD;oBAC3D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACzB,CAAC,CAAC;YACJ,CAAC,CACF;SACF;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,+CAAc,GAAd,UAAe,KAAK;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,+CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;IACD,iDAAgB,GAAhB,UAAiB,KAAK;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5F,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5G,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/G,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAIxE,oCAAoC;QACnC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,4EAA4E;QAC5E,gCAAgC;QAChC,oDAAoD;QACpD,IAAI;QACJ,2DAA2D;QAC3D,2BAA2B;QAC3B,mDAAmD;QACnD,IAAI;QACJ,SAAS;QACT,iFAAiF;QAEjF,sBAAsB;QACtB,iCAAiC;QACjC,IAAI;QACJ,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI;YAC3B,IAAI,IAAI,GAAG,UAAU,CAAC;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC7D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACrD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;aAEF;iBACI;gBACH,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC5D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACrD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpD;gBACD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;aAEnB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qEAAW,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAClF,aAAa,CAAC,OAAO,CAAC,UAAU,OAAO;YACrC,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC9J,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,kDAAI,CAAC;oBACH,KAAK,EAAE,gEAAgE;oBACvE,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC/F,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QACF,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YAChD,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChE,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB;IAEH,CAAC;IAED,4CAAW,GAAX,UAAY,KAAK;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC/C,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE;gBAC1B,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC1B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aAC9C;iBAEI,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;gBACnC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBACtB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,6CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,8CAAa,GAAb,UAAc,KAAK;QAAnB,iBAkKC;QAjKC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3I,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7I,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACjC,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;YAErG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACtB;iBACI;gBACH,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC5D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;aAEnB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,KAAK,EAAE;YAClB,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,2CAA2C,CAAC;YAC1D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACjD;aACI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,gDAAgD,CAAC;YAC/D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5H,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACnD;aACI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,iDAAiD,CAAC;YAChE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACjD;aACI,IAAI,KAAK,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,2CAA2C;YAC3C,IAAI,GAAG,GAAG,qBAAqB;YAC/B,IAAI,IAAI,GAAG;gBACT,cAAc,EAAE,IAAI,CAAC,WAAW;gBAChC,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBACtE,YAAY,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe;aACpE,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,SAAS,CAClD,aAAG;gBACD,IAAI,OAAO,CAAC;gBACZ,OAAO,GAAG,GAAG,CAAC;gBACd,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;gBAChC,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;oBACnC,IAAI,KAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC;oBAClF,qEAAW,CAAC,qBAAqB,GAAG,EAAE,CAAC;oBAEvC,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;oBAEhC,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;wBACD,IAAI,IAAI,GAAG,GAAG,CAAC;wBACf,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;wBAC/B,qEAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7C,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtC,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;4BACnC,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BACnB,kDAAI,CAAC;gCACH,KAAK,EAAE,6CAA6C;gCACpD,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gCACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;4BAC3C,CAAC,CAAC;yBAEH;6BACI;4BACH,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;yBAClB;oBACH,CAAC,EACD,aAAG;wBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,kDAAI,CAAC;4BACH,KAAK,EAAE,oDAAoD;4BAC3D,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,mCAAmC;wBACrC,CAAC,CAAC;oBACJ,CAAC,CACF;iBACF;qBACI;oBACH,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,yCAAyC;wBAChD,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;wBACrC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC,CAAC;iBACH;YACH,CAAC,EACD,aAAG;gBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,oDAAoD;oBAC3D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC;YACJ,CAAC,CACF;SACF;IACH,CAAC;IAED,2CAAU,GAAV,UAAW,KAAK;QACd,SAAS;QACT,yDAAyD;QACzD,0BAA0B;QAC1B,iCAAiC;QACjC,wCAAwC;QACxC,uCAAuC;QACvC,iCAAiC;QACjC,6BAA6B;QAC7B,0BAA0B;QAC1B,sCAAsC;QACtC,UAAU;QACV,cAAc;QAEd,UAAU;QACV,WAAW;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE7B,CAAC;IAED,2CAAU,GAAV,UAAW,KAAK;QACd,IAAI,aAAa;QACjB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qEAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAC9E,aAAa,CAAC,OAAO,CAAC,UAAU,KAAK;YACnC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,GAAG,yDAAyD,CAAC;gBAC1E,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3G,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;IACJ,CAAC;IAvcsB;QAAtB,+DAAS,CAAC,UAAU,CAAC;kCAAsB,wDAAU;yCAAV,wDAAU;yDAErD;IA/BU,sBAAsB;QANlC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;;;SAGhC,CAAC;yCAkC4B,sDAAM,EAAiB,sEAAa,EAAiB,4EAAwB,EAAgB,8DAAc;YAC1H,wDAAU,EAAc,+DAAiB,EAAiB,6EAAgB;OAjC5E,sBAAsB,CAuelC;IAAD,6BAAC;CAAA;AAvekC;;;;;;;;;;;;AChBnC,2TAA2T,UAAU,41BAA41B,4LAA4L,gTAAgT,QAAQ,sMAAsM,aAAa,8WAA8W,gBAAgB,oVAAoV,gBAAgB,2aAA2a,2BAA2B,mE;;;;;;;;;;;ACAhhG,8BAA8B,oBAAoB,EAAE,aAAa,0BAA0B,EAAE,cAAc,gBAAgB,EAAE,iBAAiB,kCAAkC,EAAE,eAAe,2BAA2B,EAAE,kBAAkB,6BAA6B,oBAAoB,EAAE,0BAA0B,sBAAsB,uBAAuB,yBAAyB,mBAAmB,wBAAwB,EAAE,6BAA6B,qBAAqB,kCAAkC,uBAAuB,EAAE,cAAc,2BAA2B,4BAA4B,uBAAuB,qBAAqB,8BAA8B,kBAAkB,wBAAwB,4BAA4B,qBAAqB,EAAE,kBAAkB,6BAA6B,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACArsB;AAC9C;AACP;AACF;AACC;AACM;AACtC;AACoB;AACnD,oGAAoG;AACpG,QAAQ,EAAE,wDAAU,CAAC;AAOrB;IAyBE,qDAAqD;IACrD,6BAAoB,MAAc,EAAS,MAAqB,EAAS,MAAgC,EAAS,KAAqB,EAC9H,EAAc,EAAS,GAAsB,EAAS,MAAwB;QADnE,WAAM,GAAN,MAAM,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAA0B;QAAS,UAAK,GAAL,KAAK,CAAgB;QAC9H,OAAE,GAAF,EAAE,CAAY;QAAS,QAAG,GAAH,GAAG,CAAmB;QAAS,WAAM,GAAN,MAAM,CAAkB;QAzBvF,gBAAW,GAAW,EAAE,CAAC;QACzB,mBAAc,GAAW,EAAE,CAAC;QAM5B,aAAQ,GAAG,4BAA4B,CAAC;QAExC,WAAM,GAAG,EAAE,CAAC;QACZ,gBAAW,GAAG,KAAK,CAAC;QACpB,gBAAW,GAAG,EAAE,CAAC;QACjB,mBAAc,GAAG,EAAE,CAAC;QACpB,kBAAa,GAAG,IAAI,CAAC;QACrB,aAAQ,GAAG,EAAE,CAAC;QACd,WAAM,GAAG,EAAE,CAAC;QACZ,cAAS,GAAG,CAAC,CAAC;QACd,UAAK,GAAG,KAAK,CAAC;QASZ,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAC3C,IAAI,qEAAW,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChD,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,qBAAqB,CAAC,CAAC;oBAC/C,IAAI,CAAC,QAAQ,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAClE,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBACrE,IAAI,CAAC,cAAc,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC3E,IAAI,CAAC,SAAS,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACjE,IAAI,CAAC,cAAc,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvE,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;oBACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW;iBAC/B;aACF;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IAGH,CAAC;IA3BsB,sBAAI,wCAAO;QADlC,sBAAsB;aACC,UAAY,OAAmB;YACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC;;;OAAA;IA0BD,6CAAe,GAAf;QACE,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;YACnC,IAAM,SAAS,GAAG,cAAc,CAAC;YACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE;gBAC9C,IAAI,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;gBAC5D,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aACxD;SACF;IACH,CAAC;IACD,sCAAQ,GAAR;IACA,CAAC;IAED,sCAAQ,GAAR,UAAS,KAAK;QAAd,iBAkEC;QAjEC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,GAAG,GAAG,aAAa,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;QAChF,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAM,UAAU,GAAG,IAAI,QAAQ,EAAE,CAAC;YAClC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChC,IAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;gBAC9B,QAAQ,EAAE,kBAAkB;aAC7B,CAAC,CAAC;YACH,wDAAwD;YAExD,8DAA8D;YAC9D,aAAa;YACb,2BAA2B;YAC3B,qDAAqD;YACrD,uEAAuE;YACvE,0BAA0B;YAC1B,OAAO;YACP,aAAa;YACb,wBAAwB;YACxB,0BAA0B;YAC1B,oFAAoF;YACpF,2FAA2F;YAC3F,aAAa;YACb,qEAAqE;YACrE,yBAAyB;YACzB,iCAAiC;YACjC,uCAAuC;YACvC,sCAAsC;YACtC,gCAAgC;YAChC,4BAA4B;YAC5B,gCAAgC;YAChC,SAAS;YACT,MAAM;YACN,IAAI;YAEJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAC7D,aAAG;gBACD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC9C,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAChE,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC,EACD,aAAG;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC;gBAC7E,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpF,kDAAI,CAAC;oBACH,KAAK,EAAE,oDAAoD;oBAC3D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACzB,CAAC,CAAC;YACJ,CAAC,CACF;SACF;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,4CAAc,GAAd,UAAe,KAAK;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,4CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;IACD,8CAAgB,GAAhB,UAAiB,KAAK;QAAtB,iBAyKC;QAxKC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5F,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5G,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/G,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAIvE,IAAM,SAAS,GAAG,cAAc,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;QACzE,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,WAAW,GAAG,2BAA2B;SAC/C;aACI,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;YACrD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,2BAA2B;SAC/C;aACI;YACH,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAY;YAE5E,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC;YACjB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;SAC7B;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI;YAC3B,IAAI,IAAI,GAAG,UAAU,CAAC;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC7D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACrD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;aAEF;iBACI;gBACH,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC5D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACrD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpD;gBACD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;aAEnB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qEAAW,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAClF,aAAa,CAAC,OAAO,CAAC,UAAU,OAAO;YACrC,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC9J,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,kDAAI,CAAC;oBACH,KAAK,EAAE,gEAAgE;oBACvE,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC/F,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QACF,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YAChD,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChE,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC;YACjB,uBAAuB;YAEvB,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,WAAW;YAC9D,eAAe;YACf,sGAAsG;YACtG,0FAA0F;YAC1F,wCAAwC;YACxC,KAAK;YACL,IAAI,IAAI,GAAG;gBACT,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW;gBAChG,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG;gBACpE,aAAa,EAAE,GAAG;aACnB,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,SAAS,CAClD,aAAG;gBACD,IAAI,OAAO,CAAC;gBACZ,OAAO,GAAG,GAAG,CAAC;gBACd,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;gBAChC,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;oBACnC,IAAI,KAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC;oBAClF,qEAAW,CAAC,qBAAqB,GAAG,EAAE,CAAC;oBAEvC,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;oBAEhC,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;wBACD,IAAI,IAAI,GAAG,GAAG,CAAC;wBACf,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;wBAC/B,qEAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7C,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtC,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;4BACnC,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BACnB,kDAAI,CAAC;gCACH,KAAK,EAAE,6CAA6C;gCACpD,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gCACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;4BAC3C,CAAC,CAAC;yBAEH;6BACI;4BACH,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;yBAClB;oBACH,CAAC,EACD,aAAG;wBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,kDAAI,CAAC;4BACH,KAAK,EAAE,oDAAoD;4BAC3D,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,mCAAmC;wBACrC,CAAC,CAAC;oBACJ,CAAC,CACF;iBACF;qBACI;oBACH,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,6CAA6C;wBACpD,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC,CAAC;iBACH;YACH,CAAC,EACD,aAAG;gBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,oDAAoD;oBAC3D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC;YACJ,CAAC,CACF;SACF;IAEH,CAAC;IAED,yCAAW,GAAX,UAAY,KAAK;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC/C,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE;gBAC1B,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC1B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aAC9C;iBAEI,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;gBACnC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBACtB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,0CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,2CAAa,GAAb,UAAc,KAAK;QAAnB,iBAsKC;QArKC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3I,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7I,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACjC,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;YAErG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACtB;iBACI;gBACH,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC5D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;aAEnB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,KAAK,EAAE;YAClB,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,2CAA2C,CAAC;YAC1D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACjD;aACI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,gDAAgD,CAAC;YAC/D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5H,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACnD;aACI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,iDAAiD,CAAC;YAChE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACjD;aACI,IAAI,KAAK,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,WAAW;YAC9D,eAAe;YACf,sGAAsG;YACtG,0FAA0F;YAC1F,wCAAwC;YACxC,KAAK;YACL,IAAI,IAAI,GAAG;gBACT,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW;gBAChG,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG;gBACpE,aAAa,EAAE,GAAG;aACnB,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,SAAS,CAClD,aAAG;gBACD,IAAI,OAAO,CAAC;gBACZ,OAAO,GAAG,GAAG,CAAC;gBACd,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;gBAChC,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;oBACnC,IAAI,KAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC;oBAClF,qEAAW,CAAC,qBAAqB,GAAG,EAAE,CAAC;oBAEvC,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;oBAEhC,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;wBACD,IAAI,IAAI,GAAG,GAAG,CAAC;wBACf,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;wBAC/B,qEAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7C,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtC,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;4BACnC,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BACnB,kDAAI,CAAC;gCACH,KAAK,EAAE,6CAA6C;gCACpD,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gCACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;4BAC3C,CAAC,CAAC;yBAEH;6BACI;4BACH,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;yBAClB;oBACH,CAAC,EACD,aAAG;wBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,kDAAI,CAAC;4BACH,KAAK,EAAE,oDAAoD;4BAC3D,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,mCAAmC;wBACrC,CAAC,CAAC;oBACJ,CAAC,CACF;iBACF;qBACI;oBACH,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,6CAA6C;wBACpD,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC,CAAC;iBACH;YACH,CAAC,EACD,aAAG;gBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,oDAAoD;oBAC3D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC;YACJ,CAAC,CACF;SACF;IACH,CAAC;IAED,wCAAU,GAAV,UAAW,KAAK;QACd,SAAS;QACT,yDAAyD;QACzD,0BAA0B;QAC1B,iCAAiC;QACjC,wCAAwC;QACxC,uCAAuC;QACvC,iCAAiC;QACjC,6BAA6B;QAC7B,0BAA0B;QAC1B,sCAAsC;QACtC,UAAU;QACV,cAAc;QAEd,UAAU;QACV,WAAW;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE7B,CAAC;IAED,wCAAU,GAAV,UAAW,KAAK;QACd,IAAI,aAAa;QACjB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qEAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAC9E,aAAa,CAAC,OAAO,CAAC,UAAU,KAAK;YACnC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,GAAG,yDAAyD,CAAC;gBAC1E,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3G,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;IACJ,CAAC;IAngBsB;QAAtB,+DAAS,CAAC,UAAU,CAAC;kCAAsB,wDAAU;yCAAV,wDAAU;sDAErD;IAxBU,mBAAmB;QAN/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;;;SAG5B,CAAC;yCA4B4B,sDAAM,EAAiB,sEAAa,EAAiB,4EAAwB,EAAgB,8DAAc;YAC1H,wDAAU,EAAc,+DAAiB,EAAiB,6EAAgB;OA3B5E,mBAAmB,CA0hB/B;IAAD,0BAAC;CAAA;AA1hB+B;;;;;;;;;;;;AChBhC,qeAAqe,cAAc,cAAc,oCAAoC,qBAAqB,oBAAoB,aAAa,qBAAqB,oCAAoC,yfAAyf,iEAAiE,mBAAmB,kfAAkf,aAAa,uPAAuP,QAAQ,wEAAwE,UAAU,qCAAqC,UAAU,qCAAqC,UAAU,sPAAsP,4MAA4M,6XAA6X,QAAQ,sMAAsM,aAAa,8WAA8W,gBAAgB,oVAAoV,gBAAgB,2aAA2a,2BAA2B,uE;;;;;;;;;;;ACAj1I,8BAA8B,oBAAoB,EAAE,aAAa,0BAA0B,EAAE,cAAc,gBAAgB,EAAE,iBAAiB,kCAAkC,EAAE,eAAe,2BAA2B,EAAE,eAAe,oBAAoB,EAAE,qBAAqB,uBAAuB,EAAE,kBAAkB,6BAA6B,oBAAoB,EAAE,0BAA0B,sBAAsB,uBAAuB,yBAAyB,mBAAmB,wBAAwB,EAAE,6BAA6B,qBAAqB,kCAAkC,uBAAuB,EAAE,cAAc,2BAA2B,4BAA4B,uBAAuB,8BAA8B,kBAAkB,wBAAwB,4BAA4B,qBAAqB,EAAE,kBAAkB,6BAA6B,EAAE,YAAY,qJAAqJ,8BAA8B,gBAAgB,EAAE,2BAA2B,2BAA2B,iBAAiB,gBAAgB,EAAE,mCAAmC,8BAA8B,EAAE,qBAAqB,sCAAsC,EAAE,eAAe,sBAAsB,yBAAyB,uBAAuB,8BAA8B,iBAAiB,EAAE,4BAA4B,gBAAgB,iBAAiB,gBAAgB,EAAE,yCAAyC,kBAAkB,oBAAoB,0BAA0B,0BAA0B,eAAe,0CAA0C,0CAA0C,yBAAyB,sBAAsB,kBAAkB,EAAE,6CAA6C,sBAAsB,EAAE,8CAA8C,0BAA0B,wBAAwB,0BAA0B,uBAAuB,EAAE,0CAA0C,oBAAoB,0BAA0B,8BAA8B,kBAAkB,EAAE,8CAA8C,oBAAoB,qBAAqB,4BAA4B,EAAE,+CAA+C,wBAAwB,kCAAkC,yBAAyB,0BAA0B,uBAAuB,EAAE,0BAA0B,0DAA0D,gBAAgB,8BAA8B,0BAA0B,kBAAkB,uBAAuB,wBAAwB,qBAAqB,mBAAmB,EAAE,wCAAwC,iBAAiB,qBAAqB,yBAAyB,EAAE,4DAA4D,iCAAiC,EAAE,6DAA6D,2CAA2C,EAAE,qDAAqD,sBAAsB,sBAAsB,wBAAwB,8CAA8C,sDAAsD,wBAAwB,mCAAmC,mCAAmC,6BAA6B,4BAA4B,gCAAgC,4BAA4B,gCAAgC,0BAA0B,yBAAyB,EAAE,mDAAmD,yCAAyC,+BAA+B,EAAE,0CAA0C,yBAAyB,EAAE,kDAAkD,yBAAyB,yBAAyB,oBAAoB,0BAA0B,4BAA4B,2CAA2C,6BAA6B,EAAE,kEAAkE,iCAAiC,EAAE,mDAAmD,oBAAoB,sBAAsB,4BAA4B,2CAA2C,6BAA6B,EAAE,8DAA8D,6BAA6B,EAAE,2DAA2D,uBAAuB,wBAAwB,kCAAkC,sBAAsB,EAAE,+DAA+D,wBAAwB,yBAAyB,+BAA+B,sCAAsC,+BAA+B,gCAAgC,0BAA0B,oCAAoC,gCAAgC,EAAE,mEAAmE,0BAA0B,EAAE,gEAAgE,4BAA4B,EAAE,gEAAgE,sBAAsB,wBAAwB,EAAE,6EAA6E,uBAAuB,EAAE,iFAAiF,0BAA0B,EAAE,gFAAgF,uBAAuB,wBAAwB,8BAA8B,EAAE,mFAAmF,8BAA8B,wCAAwC,iCAAiC,+BAA+B,6BAA6B,iCAAiC,EAAE,gGAAgG,0BAA0B,0BAA0B,iCAAiC,EAAE,8GAA8G,mCAAmC,2CAA2C,iCAAiC,iCAAiC,EAAE,2HAA2H,gCAAgC,gDAAgD,sCAAsC,iCAAiC,4CAA4C,sCAAsC,6CAA6C,8CAA8C,EAAE,sIAAsI,qDAAqD,EAAE,2IAA2I,+BAA+B,kCAAkC,kCAAkC,wCAAwC,4CAA4C,iCAAiC,gCAAgC,EAAE,4JAA4J,sDAAsD,EAAE,6JAA6J,qCAAqC,EAAE,uJAAuJ,4CAA4C,uCAAuC,yCAAyC,uCAAuC,EAAE,iJAAiJ,0CAA0C,sCAAsC,yCAAyC,kDAAkD,qCAAqC,kCAAkC,EAAE,yGAAyG,2BAA2B,4BAA4B,4BAA4B,mCAAmC,EAAE,kHAAkH,4CAA4C,8BAA8B,qCAAqC,gCAAgC,sCAAsC,mCAAmC,qCAAqC,+BAA+B,EAAE,qHAAqH,oCAAoC,EAAE,kHAAkH,gCAAgC,EAAE,4GAA4G,qCAAqC,kCAAkC,mCAAmC,iCAAiC,6CAA6C,EAAE,4GAA4G,2CAA2C,kCAAkC,iCAAiC,mCAAmC,uCAAuC,EAAE,8GAA8G,qCAAqC,kCAAkC,mCAAmC,iCAAiC,6CAA6C,sCAAsC,EAAE,gHAAgH,2CAA2C,kCAAkC,iCAAiC,mCAAmC,6CAA6C,EAAE,cAAc,0DAA0D,gBAAgB,iBAAiB,0BAA0B,kBAAkB,wBAAwB,2BAA2B,4BAA4B,qBAAqB,EAAE,kBAAkB,kBAAkB,qBAAqB,EAAE,iBAAiB,qBAAqB,wBAAwB,uBAAuB,uBAAuB,0BAA0B,EAAE,sBAAsB,yBAAyB,EAAE,0BAA0B,sBAAsB,6BAA6B,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/xV;AAC9C;AACP;AACb;AACG;AACQ;AACC;AACM;AACnC;AACH;AAC/B,0CAA0C;AACS;AACR;AAkB3C;IAmCE,qDAAqD;IACrD,4BAAoB,MAAc,EAAS,MAAqB,EAAS,MAAgC,EAAS,KAAqB,EAC9H,EAAc,EAAS,GAAsB,EAAS,MAAwB;QADnE,WAAM,GAAN,MAAM,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAA0B;QAAS,UAAK,GAAL,KAAK,CAAgB;QAC9H,OAAE,GAAF,EAAE,CAAY;QAAS,QAAG,GAAH,GAAG,CAAmB;QAAS,WAAM,GAAN,MAAM,CAAkB;QAjCvF,gBAAW,GAAW,EAAE,CAAC;QACzB,mBAAc,GAAW,EAAE,CAAC;QAM5B,aAAQ,GAAG,4BAA4B,CAAC;QAExC,WAAM,GAAG,EAAE,CAAC;QACZ,gBAAW,GAAG,KAAK,CAAC;QACpB,gBAAW,GAAG,EAAE,CAAC;QACjB,mBAAc,GAAG,EAAE,CAAC;QACpB,kBAAa,GAAG,IAAI,CAAC;QACrB,aAAQ,GAAG,EAAE,CAAC;QACd,WAAM,GAAG,EAAE,CAAC;QACZ,cAAS,GAAG,CAAC,CAAC;QACd,UAAK,GAAG,KAAK,CAAC;QAEd,aAAQ,GAAU,EAAE,CAAC;QACrB,gBAAW,GAAU,EAAE,CAAC;QAKxB,gBAAW,GAAa,EAAE,CAAC;QASzB,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAC3C,IAAI,qEAAW,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChD,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,qBAAqB,CAAC,CAAC;oBAC/C,IAAI,CAAC,QAAQ,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBAClE,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBACrE,IAAI,CAAC,cAAc,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;oBAC3E,IAAI,CAAC,SAAS,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACjE,IAAI,CAAC,cAAc,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBACvE,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;oBACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW;iBAC/B;aACF;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IAGH,CAAC;IA5BsB,sBAAI,uCAAO;QADlC,sBAAsB;aACC,UAAY,OAAmB;YACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,CAAC;;;OAAA;IA2BD,4CAAe,GAAf;QACE,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;YACnC,IAAM,SAAS,GAAG,cAAc,CAAC;YACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE;gBAC9C,IAAI,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;gBAC5D,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aACxD;SACF;IACH,CAAC;IACD,qBAAqB;IACrB,eAAe;IAEf,iDAAiD;IACjD,0DAA0D;IAC1D,0DAA0D;IAC1D,QAAQ;IACR,mCAAmC;IACnC,uDAAuD;IACvD,eAAe;IACf,kBAAkB;IAClB,oBAAoB;IACpB,8BAA8B;IAC9B,SAAS;IACT,eAAe;IACf,0BAA0B;IAC1B,QAAQ;IACR,OAAO;IAEP,iHAAiH;IACjH,kBAAkB;IAClB,yDAAyD;IACzD,eAAe;IACf,kBAAkB;IAClB,oBAAoB;IACpB,iCAAiC;IACjC,kDAAkD;IAClD,8CAA8C;IAC9C,gDAAgD;IAChD,oCAAoC;IACpC,UAAU;IACV,iBAAiB;IACjB,SAAS;IACT,SAAS;IACT,eAAe;IACf,0BAA0B;IAC1B,QAAQ;IACR,OAAO;IACP,IAAI;IACJ,qCAAQ,GAAR;QAAA,iBA8CC;QA7CC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YACrC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACnD,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,IAAM,YAAY,GAAG,mBAAmB,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CACnD,gEAAS,CAAC,UAAC,UAAe;YACxB,KAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;YAE3B,IAAM,yBAAyB,GAAG,6CAA6C,GAAG,KAAI,CAAC,UAAU,GAAG,aAAa,GAAG,KAAI,CAAC,UAAU,CAAC;YACpI,OAAO,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC;QACJ,eAAe;QACf,gCAAgC;QAChC,0CAA0C;QAC1C,yEAAyE;QACzE,iDAAiD;QACjD,yDAAyD;QACzD,oCAAoC;QACpC,UAAU;QACV,oBAAoB;QACpB,UAAU;QACV,OAAO;QACP,aAAa;QACb,wBAAwB;QACxB,MAAM;QACN,KAAK;SACF,CAAC,SAAS,CACT,UAAC,eAAoB;YACnB,KAAI,CAAC,WAAW,GAAG,eAAe,CAAC;YAEnC,gCAAgC;YAChC,IAAM,gBAAgB,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAG,IAAI,aAAM,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC,CAAC;YAElE,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAG;gBACnC,uDAAuD;gBACvD,GAAG,CAAC,YAAY,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC,EACD,aAAG;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CACF,CAAC;IACN,CAAC;IAED,6CAAgB,GAAhB,UAAiB,SAAiB,EAAE,KAAU;QAC5C,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,wDAAwD;YACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAClC;aAAM;YACL,+DAA+D;YAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,KAAK,SAAS,EAAhB,CAAgB,CAAC,CAAC;SACpE;IACH,CAAC;IAED,mDAAsB,GAAtB,UAAuB,GAAQ,EAAE,KAAU;QACzC,IAAM,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAiC,CAAC;QAEvG,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,OAAyB;gBAChE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,OAAyB;gBAChE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAC1B,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAGD,2CAAc,GAAd;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,qCAAQ,GAAR,UAAS,KAAK;QAAd,iBAkEC;QAjEC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,GAAG,GAAG,aAAa,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;QAChF,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;YAClC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,IAAM,UAAU,GAAG,IAAI,QAAQ,EAAE,CAAC;YAClC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChC,IAAM,OAAO,GAAG,IAAI,gEAAW,CAAC;gBAC9B,QAAQ,EAAE,kBAAkB;aAC7B,CAAC,CAAC;YACH,wDAAwD;YAExD,8DAA8D;YAC9D,aAAa;YACb,2BAA2B;YAC3B,qDAAqD;YACrD,uEAAuE;YACvE,0BAA0B;YAC1B,OAAO;YACP,aAAa;YACb,wBAAwB;YACxB,0BAA0B;YAC1B,oFAAoF;YACpF,2FAA2F;YAC3F,aAAa;YACb,qEAAqE;YACrE,yBAAyB;YACzB,iCAAiC;YACjC,uCAAuC;YACvC,sCAAsC;YACtC,gCAAgC;YAChC,4BAA4B;YAC5B,gCAAgC;YAChC,SAAS;YACT,MAAM;YACN,IAAI;YAEJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAC7D,aAAG;gBACD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpB,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC9C,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAChE,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC,EACD,aAAG;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC;gBAC7E,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpF,kDAAO,CAAC;oBACN,KAAK,EAAE,oDAAoD;oBAC3D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACzB,CAAC,CAAC;YACJ,CAAC,CACF;SACF;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,2CAAc,GAAd,UAAe,KAAK;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,2CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;IACD,6CAAgB,GAAhB,UAAiB,KAAK;QAAtB,iBAuFC;QAtFC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,aAAa,GAAG,QAAQ,CAAC,sBAAsB,CAAC,uBAAuB,CAA8B,CAAC;QAC1G,IAAI,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;aAC9C,GAAG,CAAC,WAAC;YACJ,IAAI,CAAC,CAAC,OAAO,EAAE;gBACb,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;aACrC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC;QAChB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,GAAG,GAAG,qBAAqB,CAAC;QAChC,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,IAAI,CAAC,UAAU;YAC7B,YAAY,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,SAAS,CAClD,aAAG;YACD,IAAI,IAAI,CAAC;YACT,IAAI,GAAG,GAAG,CAAC;YACX,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,kDAAI,CAAC;gBACH,KAAK,EAAE,4BAA4B;gBACnC,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACb,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC;QACJ,CAAC,EACD,aAAG;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CACF,CAAC;QAEF,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI;YAC3B,IAAI,IAAI,GAAG,UAAU,CAAC;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC7D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACrD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACjD;aAEF;iBACI;gBACH,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC5D,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;oBACrD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpD;gBACD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;aAEnB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qEAAW,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAClF,aAAa,CAAC,OAAO,CAAC,UAAU,OAAO;YACrC,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC9J,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,kDAAO,CAAC;oBACN,KAAK,EAAE,gEAAgE;oBACvE,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC/F,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QACF,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YAChD,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChE,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB;IAEH,CAAC;IAED,wCAAW,GAAX,UAAY,KAAK;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC/C,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE;gBAC1B,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC1B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aAC9C;iBAEI,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;gBACnC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBACtB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,yCAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,0CAAa,GAAb,UAAc,KAAK;QAAnB,iBAiKC;QAhKC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3I,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7I,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACjC,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;YAErG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACtB;iBACI;gBACH,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC5D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;aAEnB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,KAAK,EAAE;YAClB,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,2CAA2C,CAAC;YAC1D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACjD;aACI,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,gDAAgD,CAAC;YAC/D,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5H,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YAClB,MAAM,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACnD;aACI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,CAAC,KAAK,GAAG,KAAK;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,MAAM,GAAG,iDAAiD,CAAC;YAChE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1H,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACjD;aACI,IAAI,KAAK,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,WAAW;YAC9D,IAAI,IAAI,GAAG;gBACT,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW;gBAChG,iBAAiB,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc;gBACpF,aAAa,EAAE,IAAI,CAAC,eAAe;aACpC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,SAAS,CAClD,aAAG;gBACD,IAAI,OAAO,CAAC;gBACZ,OAAO,GAAG,GAAG,CAAC;gBACd,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;gBAChC,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;oBACnC,IAAI,KAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC;oBAClF,qEAAW,CAAC,qBAAqB,GAAG,EAAE,CAAC;oBAEvC,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;oBAEhC,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;wBACD,IAAI,IAAI,GAAG,GAAG,CAAC;wBACf,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;wBAC/B,qEAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7C,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtC,IAAI,qEAAW,CAAC,WAAW,IAAI,IAAI,EAAE;4BACnC,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BACnB,kDAAO,CAAC;gCACN,KAAK,EAAE,6CAA6C;gCACpD,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gCACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;4BAC3C,CAAC,CAAC;yBAEH;6BACI;4BACH,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;yBAClB;oBACH,CAAC,EACD,aAAG;wBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,kDAAO,CAAC;4BACN,KAAK,EAAE,oDAAoD;4BAC3D,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,mCAAmC;wBACrC,CAAC,CAAC;oBACJ,CAAC,CACF;iBACF;qBACI;oBACH,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,kDAAO,CAAC;wBACN,KAAK,EAAE,6CAA6C;wBACpD,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC,CAAC;iBACH;YACH,CAAC,EACD,aAAG;gBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,kDAAO,CAAC;oBACN,KAAK,EAAE,oDAAoD;oBAC3D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC;YACJ,CAAC,CACF;SACF;IACH,CAAC;IAED,uCAAU,GAAV,UAAW,KAAK;QACd,UAAU;QACV,yDAAyD;QACzD,0BAA0B;QAC1B,iCAAiC;QACjC,wCAAwC;QACxC,uCAAuC;QACvC,iCAAiC;QACjC,6BAA6B;QAC7B,0BAA0B;QAC1B,sCAAsC;QACtC,UAAU;QACV,cAAc;QAEd,UAAU;QACV,WAAW;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE7B,CAAC;IAED,uCAAU,GAAV,UAAW,KAAK;QACd,IAAI,aAAa;QACjB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,qEAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAC9E,aAAa,CAAC,OAAO,CAAC,UAAU,KAAK;YACnC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,GAAG,yDAAyD,CAAC;gBAC1E,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3G,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;IACJ,CAAC;IA5jBgD;QAAhD,+DAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,mEAAmB,EAAE,CAAC;kCAAK,mEAAmB;kDAAC;IA8BlD;QAAtB,+DAAS,CAAC,UAAU,CAAC;kCAAsB,wDAAU;yCAAV,wDAAU;qDAErD;IAjCU,kBAAkB;QAhB9B,8DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,oBAAoB;gBACpB,gEAAgB;aACjB;YACD,YAAY,EAAE;gBACZ,yBAAyB;gBACzB,mEAAmB;aACpB;SACF,CAAC;QAED,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;;;SAG3B,CAAC;yCAqC4B,sDAAM,EAAiB,sEAAa,EAAiB,4EAAwB,EAAgB,8DAAc;YAC1H,wDAAU,EAAc,+DAAiB,EAAiB,6EAAgB;OArC5E,kBAAkB,CA8jB9B;IAAD,yBAAC;CAAA;AA9jB8B;AA+jB/B,eAAe,IAAmJ;IAChK,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/C,CAAC;;;;;;;;;;;;AC/lBD,mCAAmC,WAAW,qNAAqN,YAAY,8GAA8G,0CAA0C,YAAY,0KAA0K,WAAW,aAAa,UAAU,sBAAsB,KAAK,kBAAkB,UAAU,yEAAyE,aAAa,2DAA2D,UAAU,gJAAgJ,WAAW,mHAAmH,aAAa,6CAA6C,WAAW,6FAA6F,cAAc,0EAA0E,gBAAgB,iJAAiJ,WAAW,2DAA2D,YAAY,yBAAyB,WAAW,qBAAqB,WAAW,8FAA8F,cAAc,8EAA8E,gBAAgB,kEAAkE,WAAW,4CAA4C,WAAW,aAAa,eAAe,gHAAgH,WAAW,6DAA6D,WAAW,qBAAqB,WAAW,8FAA8F,cAAc,8EAA8E,gBAAgB,kEAAkE,WAAW,4CAA4C,WAAW,aAAa,eAAe,qLAAqL,YAAY,8EAA8E,kBAAkB,sCAAsC,QAAQ,wTAAwT,QAAQ,yCAAyC,QAAQ,qDAAqD,eAAe,wdAAwd,YAAY,qEAAqE,kBAAkB,sCAAsC,QAAQ,8TAA8T,QAAQ,uDAAuD,eAAe,mGAAmG,QAAQ,yCAAyC,QAAQ,uDAAuD,eAAe,0V;;;;;;;;;;;ACAliJ,kDAAkD,mBAAmB,qBAAqB,eAAe,kBAAkB,2BAA2B,EAAE,YAAY,uBAAuB,gBAAgB,gBAAgB,iBAAiB,EAAE,sEAAsE,kBAAkB,EAAE,gBAAgB,kCAAkC,4BAA4B,gCAAgC,oBAAoB,kBAAkB,mCAAmC,EAAE,iBAAiB,kBAAkB,2BAA2B,wBAAwB,EAAE,UAAU,6BAA6B,kBAAkB,wBAAwB,iCAAiC,mCAAmC,mBAAmB,wBAAwB,EAAE,gBAAgB,kCAAkC,4BAA4B,gCAAgC,oBAAoB,kBAAkB,EAAE,eAAe,4BAA4B,qBAAqB,oBAAoB,oBAAoB,EAAE,iBAAiB,kBAAkB,2BAA2B,wBAAwB,EAAE,UAAU,6BAA6B,kBAAkB,wBAAwB,iCAAiC,mCAAmC,mBAAmB,wBAAwB,EAAE,gBAAgB,kCAAkC,4BAA4B,gCAAgC,oBAAoB,kBAAkB,EAAE,eAAe,oBAAoB,EAAE,UAAU,kCAAkC,EAAE,gBAAgB,8BAA8B,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAl9C;AACrD;AACpB;AACkB;AACL;AACjC;AAO/B;IAgCE,8BAAmB,GAAiB,EAAS,MAAwB,EAAS,MAAc,EAAS,EAAc;QAAnH,iBAqCC;QArCkB,QAAG,GAAH,GAAG,CAAc;QAAS,WAAM,GAAN,MAAM,CAAkB;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,OAAE,GAAF,EAAE,CAAY;QAtB1G,UAAK,GAAQ,EAAE,CAAC;QAChB,cAAS,GAAW,CAAC,CAAC;QACtB,YAAO,GAAQ,EAAE,CAAC;QAGlB,wBAAmB,GAAG,IAAI,CAAC;QAEpC,mBAAc,GAAY,KAAK,CAAC;QAChC,gBAAgB;QAChB,oBAAe,GAAG,EAAE,CAAC;QACrB,iBAAY,GAAG,EAAE,CAAC;QAClB,sBAAiB,GAAG,EAAE,CAAC;QACvB,kBAAa,GAAG,EAAE,CAAC;QACnB,OAAE,GAAG,EAAE,CAAC;QACR,wBAAmB,GAAQ,EAAE,CAAC;QAC9B,4BAAuB,GAAQ,EAAE,CAAC;QAClC,yBAAoB,GAAG,EAAE,CAAC;QAE1B,kBAAa,GAAG,EAAE,CAAC;QACnB,8BAAyB,GAAG,EAAE,CAAC;QA2HrB,gBAAW,GAAG,IAAI,0DAAY,EAAE,CAAC;QAiTjC,kBAAa,GAAG,IAAI,0DAAY,EAAE,CAAC;QAxa3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,UAAC,IAAI;YAC1D,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,KAAI,CAAC,aAAa,EAAE;oBACzE,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBACvD;aACF;QAEH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,SAAS,CAAC,UAAC,IAAI;YACvD,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,KAAI,CAAC,aAAa,EAAE;oBACvE,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBACrD;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,UAAC,IAAI;YACrD,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,KAAI,CAAC,aAAa,EAAE;oBACzE,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBACvD;aACF;QACH,CAAC,CAAC;QAEF,oDAAoD;QACpD,8DAA8D;QAC9D,0BAA0B;QAC1B,KAAK;IACP,CAAC;IACD,uCAAQ,GAAR;QAAA,iBAiFC;QAhFC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,iBAAiB,CAAC;YACvB,KAAK,gBAAgB,CAAC;YACtB,KAAK,kBAAkB;gBACrB,IAAI,CAAC,GAAG,GAAG,6BAA6B,CAAC;gBACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACxB,MAAM;YACR,KAAK,aAAa;gBAEhB,MAAM;YACR,KAAK,cAAc;gBAEjB,MAAM;YACR,KAAK,cAAc;gBAEjB,MAAM;SACT;QACD,IAAI,qEAAW,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,iBAAiB,EAAE;YACrF,IAAI,qEAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC1D,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAClC,CAAC,CAAC;aACH;YACD,SAAS;YACT,0DAA0D;YAC1D,mEAAmE;YACnE,gDAAgD;YAChD,QAAQ;YACR,uCAAuC;YACvC,4CAA4C;YAC5C,8DAA8D;YAC9D,IAAI;YACJ,IAAI,qEAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,8BAA8B,IAAI,SAAS,EAAE;gBACjF,IAAI,qEAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/E,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,CAAC;oBACzE,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAC,SAAS,CAAC,UAAC,IAAI;wBAC5D,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACtC,CAAC,CAAC;iBACH;aACF;YACD,SAAS;YACT,0DAA0D;YAC1D,mEAAmE;YACnE,gDAAgD;YAChD,QAAQ;YACR,uCAAuC;YACvC,4CAA4C;YAC5C,8DAA8D;YAC9D,IAAI;YACJ,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;gBACxC,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;gBACrD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAY;wBAAX,WAAG,EAAE,aAAK;oBACxD,oBAAoB,CAAS,KAAK,CAAC,GAAG,GAAG;gBAC3C,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC1D;YACD,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC5C,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;gBACrD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAY;wBAAX,WAAG,EAAE,aAAK;oBACxD,oBAAoB,CAAS,KAAK,CAAC,GAAG,GAAG;gBAC3C,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACvC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC9D;SACF;aACI;YACH,IAAI,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAY;oBAAX,WAAG,EAAE,aAAK;gBACxD,oBAAoB,CAAS,KAAK,CAAC,GAAG,GAAG;YAC3C,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACzD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC9D;IACH,CAAC;IAGD,+CAAgB,GAAhB,UAAiB,KAAK,EAAE,IAAI;QAC1B,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,gBAAgB,EAAE;YAC5E,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,qEAAW,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBACtD,IAAI,eAAe,IAAI,EAAE,IAAI,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE;oBAC7D,qEAAW,CAAC,mBAAmB,GAAG,EAAE;oBACpC,qEAAW,CAAC,mBAAmB,GAAG,EAAE;oBACpC,qEAAW,CAAC,wBAAwB,GAAG,EAAE;oBACzC,qEAAW,CAAC,gCAAgC,GAAG,EAAE;oBACjD,qEAAW,CAAC,4BAA4B,GAAG,EAAE;oBAC7C,qEAAW,CAAC,kBAAkB,GAAG,EAAE;iBACpC;gBACD,qEAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,aAAa,EAAE;YAC9E,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,qEAAW,CAAC,eAAe,GAAG,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5C;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5C;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,kBAAkB,EAAE;YACnF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,qEAAW,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjD;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,qEAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjD;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,wBAAwB,EAAE;YACzF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,qEAAW,CAAC,0BAA0B,GAAG,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,qEAAW,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvD;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,kBAAkB,EAAE;YACnF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,qEAAW,CAAC,2BAA2B,GAAG,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClD;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,qEAAW,CAAC,2BAA2B,GAAG,IAAI,CAAC,OAAO,CAAC;gBACvD,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClD;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,0BAA0B,EAAE;YAC3F,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,qEAAW,CAAC,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1D,qEAAW,CAAC,6BAA6B,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3D,2DAA2D;gBAC3D,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACjD;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,mBAAmB,EAAE;YACpF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,qEAAW,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1C;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,qEAAW,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9C,qEAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC9C,2DAA2D;gBAC3D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1C;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,sBAAsB,EAAE;YACvF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,uCAAuC;gBACvC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC7C;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC7C;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,EAAE;YACtF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,sCAAsC;gBACtC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5C;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5C;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,eAAe,EAAE;YAChF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,sCAAsC;gBACtC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5C;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5C;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,uBAAuB,EAAE;YACxF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,sCAAsC;gBACtC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9C;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9C;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,YAAY,EAAE;YAC7E,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,sCAAsC;gBACtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,aAAa,EAAE;YAC9E,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,sCAAsC;gBACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrC;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACrC;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,iBAAiB,EAAE;YAClF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,uCAAuC;gBACvC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C;SAEF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,uBAAuB,EAAE;YACxF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,uCAAuC;gBACvC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,kBAAkB,EAAE;YACnF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,uCAAuC;gBACvC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChD;iBACI;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChD;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,gBAAgB,EAAE;YACjF,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,uCAAuC;gBACvC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9C;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9C;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,UAAU,EAAE;YAC3E,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,uCAAuC;gBACvC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACnD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACnD;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,SAAS,EAAE;YAC1E,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,uCAAuC;gBACvC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,QAAQ,EAAE;YACzE,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,uCAAuC;gBACvC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC7C;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC7C;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,iBAAiB,EAAE;YAClF,qEAAW,CAAC,sBAAsB,GAAG,EAAE;YACvC,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;aACrC;SACF;QACD,oEAAoE;QAGpE,qBAAqB;QACrB,8BAA8B;QAC9B,sCAAsC;QACtC,8BAA8B;IAChC,CAAC;IAED,0CAAW,GAAX,UAAY,EAAE;QACZ,yCAAyC;QACzC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACrC,GAAG;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE;QACrC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8CAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,MAAM,CAAC;QACX,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QACvG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACxC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACrD;aACI;YACH,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SACxD;IACH,CAAC;IAED,6CAAc,GAAd,UAAe,KAAK;QAClB,IAAI,MAAM,CAAC;QACX,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAChI,IAAI,IAAI,CAAC,cAAc;YACrB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;;YAGhE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAC7C,CAAC;IAID,0CAAW,GAAX,UAAY,KAAK,EAAE,IAAI,EAAE,IAAI;QAC3B,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1H,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,YAAY,CAAC,OAAO,CAAC,UAAU,OAAO;YACpC,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACvC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACxC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,kBAAkB,EAAE;gBAC9E,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;aAC1C;iBACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,iBAAiB,EAAE;gBAClF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;aACxC;iBACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,eAAe,EAAE;gBAChF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;aAC7C;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,cAAc,EAAE;gBACjF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;aACxC;SACF;aAEI;YACH,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,kBAAkB,EAAE;gBAC9E,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;aAC1C;iBACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,iBAAiB,EAAE;gBAClF,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;aACxC;iBACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,eAAe,EAAE;gBAChF,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;aAC7C;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,cAAc,EAAE;gBACjF,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;aACxC;SACF;IAEH,CAAC;IAED,sCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAChD,sCAAsC;QACtC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE;gBAC1J,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChE,kDAAI,CAAC;oBACH,KAAK,EAAE,iDAAiD;oBACxD,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,mCAAmC;gBACrC,CAAC,CAAC;aACH;iBACI;gBACH,KAAK,EAAE,CAAC;aACT;SACF;QACD,IAAI,KAAK,IAAI,SAAS,EAAE;YACtB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAChH;QACD,iHAAiH;IACnH,CAAC;IAED,wCAAS,GAAT,UAAU,KAAK;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;QACpD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,GAAG,EAAE;gBAC3L,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChE,kDAAI,CAAC;oBACH,KAAK,EAAE,iDAAiD;oBACxD,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACf,CAAC,CAAC;aACH;iBACI;gBACH,KAAK,EAAE,CAAC;aACT;SACF;QACD,IAAI,KAAK,IAAI,SAAS,EAAE;YACtB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACxH;QACD,iHAAiH;IACnH,CAAC;IACD,uCAAQ,GAAR,UAAS,KAAK,EAAE,MAAM,EAAE,MAAM;IAE9B,CAAC;IAED,wCAAS,GAAT,UAAU,KAAK;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,4CAAa,GAAb,UAAc,KAAK;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,oCAAK,GAAL,UAAM,KAAK;QACT,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,2CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACxC,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/B,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;gBACvB,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;oBACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE;wBACxH,0BAA0B;wBAC1B,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,GAAG,kBAAkB;4BACzM,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;yBACI;qBACJ;iBACF;qBACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7B,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;wBACnD,0BAA0B;wBAC1B,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,qBAAqB;4BAC5B,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;yBACI;qBACJ;oBACD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;wBACvH,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE;wBACvH,0BAA0B;wBAC1B,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,GAAG,kBAAkB;4BACzM,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;yBAAM;qBACN;iBACF;aACF;SACF;IACH,CAAC;IAED,yCAAU,GAAV,UAAW,KAAK,EAAE,CAAC,EAAE,MAAM;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,EAAE;YACnF,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS;YACrG,IAAI,IAAI,IAAI,UAAU,IAAI,MAAM,IAAI,UAAU,EAAE;gBAC9C,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,EAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACjO,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACjE;SACF;;YAEC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,2CAAY,GAAZ,UAAa,KAAK,EAAE,CAAC,EAAE,MAAM;QAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,EAAE;YAC9F,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS;YACrG,IAAI,IAAI,IAAI,iBAAiB,IAAI,MAAM,IAAI,iBAAiB,EAAE;gBAC5D,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,eAAe,EAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7O,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;aACvE;SACF;;YAEC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAID,iDAAkB,GAAlB,UAAmB,KAAK;QACtB,qDAAqD;QACrD,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACjD,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;oBACnE,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;iBAC5C;aAEF;SACF;IACH,CAAC;IAvrBQ;QAAR,2DAAK,EAAE;;sDAAc;IACb;QAAR,2DAAK,EAAE;;4DAAoB;IACnB;QAAR,2DAAK,EAAE;;2DAAmB;IAClB;QAAR,2DAAK,EAAE;;6DAAqB;IACpB;QAAR,2DAAK,EAAE;;sDAAc;IACb;QAAR,2DAAK,EAAE;;0DAAkB;IACjB;QAAR,2DAAK,EAAE;;qDAAa;IACZ;QAAR,2DAAK,EAAE;;uDAAiB;IAChB;QAAR,2DAAK,EAAE;;2DAAuB;IACtB;QAAR,2DAAK,EAAE;;yDAAmB;IAClB;QAAR,2DAAK,EAAE;;2DAAmB;IAClB;QAAR,2DAAK,EAAE;;0DAAkB;IACjB;QAAR,2DAAK,EAAE;;qEAA4B;IAyI1B;QAAT,4DAAM,EAAE;;6DAAkC;IAiTjC;QAAT,4DAAM,EAAE;;+DAAoC;IAoO7C;QAFC,kEAAY,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,kEAAY,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;kEAc/C;IA1rBU,oBAAoB;QALhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;;;SAG7B,CAAC;yCAiCwB,2DAAY,EAAiB,6EAAgB,EAAiB,sDAAM,EAAa,wDAAU;OAhCxG,oBAAoB,CA2rBhC;IAAD,2BAAC;CAAA;AA3rBgC;;;;;;;;;;;;ACZjC,smB;;;;;;;;;;;ACAA,0BAA0B,kBAAkB,YAAY,wBAAwB,4BAA4B,oBAAoB,WAAW,YAAY,gBAAgB,qBAAqB,kBAAkB,eAAe,4BAA4B,yCAAyC,gCAAgC,iBAAiB,EAAE,eAAe,eAAe,EAAE,mBAAmB,qBAAqB,gBAAgB,kBAAkB,EAAE,oBAAoB,gBAAgB,2BAA2B,4BAA4B,gBAAgB,kBAAkB,2BAA2B,wBAAwB,4BAA4B,8BAA8B,0BAA0B,iBAAiB,sBAAsB,uBAAuB,EAAE,mBAAmB,uBAAuB,oBAAoB,uBAAuB,EAAE,iBAAiB,mBAAmB,uBAAuB,gBAAgB,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;ACA7xB;AAO5I;IAUE,8BACU,UAAsB,EACtB,iBAAoC;QADpC,eAAU,GAAV,UAAU,CAAY;QACtB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAPrC,wBAAmB,GAAG,KAAK,CAAC;QAErC,YAAO,GAAG,KAAK,CAAC;QAChB,mBAAc,GAAG,KAAK,CAAC;IAKnB,CAAC;IAEL,0CAAW,GAAX;QACE,gGAAgG;QAChG,mBAAmB;QACnB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,mCAAI,GAAJ;QAAA,iBAQC;QAPC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,UAAU,CAAC;YACT,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAK,GAAL,UAAM,KAAK;QAAX,iBAwBC;QAvBC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,oHAAoH;QACpH,mCAAmC;QACnC,kDAAkD;QAClD,8EAA8E;QAC9E,iCAAiC;QACjC,uBAAuB;QACvB,4BAA4B;QAC5B,6CAA6C;QAC7C,aAAa;QACb,IAAI;QACJ,SAAS;QACT,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM;YACd,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3E,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,UAAU,CAAC;YACT,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,KAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QACxC,CAAC,EAAE,GAAG,CAAC,CAAC;IAGV,CAAC;IAED,6CAAc,GAAd,UAAe,KAAK;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAGD,iDAAkB,GAAlB,UAAmB,KAAiB;QACjC,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,IAAkB,KAAK,CAAC,MAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAG;YAC5G,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACf,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC1E;IACH,CAAC;IAGD,+CAAgB,GAAhB,UAAiB,KAAoB;QACnC,2CAA2C;QAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAEhB;IACH,CAAC;IAED;;OAEG;IACH,wCAAS,GAAT;QACE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC/E,CAAC;IAlF4B;QAA5B,kEAAY,CAAC,aAAa,CAAC;kCAAS,yDAAW;wDAAM;IAC3B;QAA1B,kEAAY,CAAC,WAAW,CAAC;kCAAO,yDAAW;sDAAM;IACrB;QAA5B,kEAAY,CAAC,aAAa,CAAC;kCAAS,yDAAW;wDAAM;IAC7C;QAAR,2DAAK,EAAE;;qEAA6B;IAyDrC;QADC,kEAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;;yCACR,UAAU;;kEAMnC;IAGD;QADC,kEAAY,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAC;;yCACrB,aAAa;;gEAMpC;IA7EU,oBAAoB;QALhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;;;SAG7B,CAAC;yCAYsB,wDAAU;YACH,+DAAiB;OAZnC,oBAAoB,CAqFhC;IAAD,2BAAC;CAAA;AArFgC;;;;;;;;;;;;ACPjC,yVAAyV,wBAAwB,sJAAsJ,cAAc,cAAc,oCAAoC,qBAAqB,oBAAoB,aAAa,qBAAqB,oCAAoC,0JAA0J,iBAAiB,0kCAA0kC,yBAAyB,4IAA4I,0BAA0B,4IAA4I,4BAA4B,8nBAA8nB,wBAAwB,oBAAoB,wIAAwI,oBAAoB,yIAAyI,oBAAoB,yQAAyQ,wBAAwB,kEAAkE,2BAA2B,2EAA2E,kEAAkE,sBAAsB,2EAA2E,kEAAkE,yBAAyB,ugBAAugB,mCAAmC,kpBAAkpB,mCAAmC,+Z;;;;;;;;;;;ACA3pK,mCAAmC,iBAAiB,kCAAkC,2BAA2B,EAAE,4CAA4C,kBAAkB,mBAAmB,kBAAkB,EAAE,yDAAyD,oBAAoB,sBAAsB,4BAA4B,4BAA4B,iBAAiB,4CAA4C,4CAA4C,2BAA2B,wBAAwB,oBAAoB,EAAE,6DAA6D,sBAAsB,EAAE,8DAA8D,4BAA4B,0BAA0B,4BAA4B,yBAAyB,EAAE,0DAA0D,sBAAsB,4BAA4B,gCAAgC,oBAAoB,EAAE,8DAA8D,sBAAsB,uBAAuB,8BAA8B,EAAE,+DAA+D,0BAA0B,oCAAoC,2BAA2B,4BAA4B,yBAAyB,EAAE,0CAA0C,4DAA4D,kBAAkB,gCAAgC,4BAA4B,oBAAoB,yBAAyB,0BAA0B,uBAAuB,EAAE,wDAAwD,mBAAmB,uBAAuB,2BAA2B,EAAE,4EAA4E,mCAAmC,EAAE,6EAA6E,6CAA6C,EAAE,qEAAqE,wBAAwB,wBAAwB,0BAA0B,gDAAgD,wDAAwD,0BAA0B,qCAAqC,qCAAqC,+BAA+B,8BAA8B,kCAAkC,8BAA8B,kCAAkC,4BAA4B,2BAA2B,EAAE,mEAAmE,2CAA2C,iCAAiC,EAAE,8DAA8D,2BAA2B,kCAAkC,EAAE,yEAAyE,uBAAuB,+BAA+B,EAAE,iFAAiF,iCAAiC,+BAA+B,8BAA8B,6BAA6B,uCAAuC,EAAE,uEAAuE,sBAAsB,wBAAwB,8BAA8B,6CAA6C,+BAA+B,EAAE,kFAAkF,+BAA+B,EAAE,+EAA+E,yBAAyB,0BAA0B,oCAAoC,wBAAwB,EAAE,mFAAmF,0BAA0B,2BAA2B,iCAAiC,wCAAwC,iCAAiC,kCAAkC,4BAA4B,sCAAsC,kCAAkC,EAAE,uFAAuF,4BAA4B,EAAE,oFAAoF,8BAA8B,EAAE,oFAAoF,wBAAwB,0BAA0B,EAAE,iGAAiG,yBAAyB,EAAE,qGAAqG,4BAA4B,EAAE,oGAAoG,yBAAyB,0BAA0B,gCAAgC,EAAE,uGAAuG,gCAAgC,0CAA0C,mCAAmC,iCAAiC,+BAA+B,mCAAmC,EAAE,oHAAoH,4BAA4B,4BAA4B,mCAAmC,EAAE,kIAAkI,qCAAqC,6CAA6C,mCAAmC,mCAAmC,EAAE,+IAA+I,kCAAkC,kDAAkD,wCAAwC,mCAAmC,8CAA8C,wCAAwC,+CAA+C,gDAAgD,EAAE,0JAA0J,uDAAuD,EAAE,+JAA+J,iCAAiC,oCAAoC,oCAAoC,0CAA0C,8CAA8C,mCAAmC,kCAAkC,EAAE,gLAAgL,wDAAwD,EAAE,iLAAiL,uCAAuC,EAAE,2KAA2K,8CAA8C,yCAAyC,2CAA2C,yCAAyC,EAAE,qKAAqK,4CAA4C,wCAAwC,2CAA2C,oDAAoD,uCAAuC,oCAAoC,EAAE,6HAA6H,6BAA6B,8BAA8B,8BAA8B,qCAAqC,EAAE,sIAAsI,8CAA8C,gCAAgC,uCAAuC,kCAAkC,wCAAwC,qCAAqC,uCAAuC,iCAAiC,EAAE,yIAAyI,sCAAsC,EAAE,sIAAsI,kCAAkC,EAAE,gIAAgI,uCAAuC,oCAAoC,qCAAqC,mCAAmC,+CAA+C,EAAE,gIAAgI,6CAA6C,oCAAoC,mCAAmC,qCAAqC,yCAAyC,EAAE,kIAAkI,uCAAuC,oCAAoC,qCAAqC,mCAAmC,+CAA+C,wCAAwC,EAAE,oIAAoI,6CAA6C,oCAAoC,mCAAmC,qCAAqC,+CAA+C,EAAE,8BAA8B,4DAA4D,kBAAkB,mBAAmB,4BAA4B,oBAAoB,0BAA0B,6BAA6B,8BAA8B,uBAAuB,EAAE,kCAAkC,oBAAoB,uBAAuB,EAAE,iCAAiC,uBAAuB,0BAA0B,yBAAyB,yBAAyB,4BAA4B,EAAE,sCAAsC,2BAA2B,EAAE,0CAA0C,wBAAwB,+BAA+B,EAAE,gBAAgB,sBAAsB,oBAAoB,qBAAqB,qBAAqB,+BAA+B,EAAE,mBAAmB,0BAA0B,EAAE,eAAe,+BAA+B,gCAAgC,EAAE,kBAAkB,6BAA6B,oBAAoB,EAAE,0BAA0B,sBAAsB,uBAAuB,yBAAyB,mBAAmB,wBAAwB,EAAE,6BAA6B,qBAAqB,kCAAkC,uBAAuB,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAn1W;AACnB;AACiB;AACP;AACF;AACO;AACN;AAChC;AAEA;AAGO;AAET;AAG7B,SAAS,EAAE,wDAAU,CAAC;AACtB,SAAS,EAAE,wDAAU,CAAC;AAOtB;IA2DE,2BAA2B;IAC3B,6BAAmB,MAAc,EAAS,KAAqB,EAAS,MAAqB,EACpF,MAAwB,EAAS,MAAgC;QADvD,WAAM,GAAN,MAAM,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAgB;QAAS,WAAM,GAAN,MAAM,CAAe;QACpF,WAAM,GAAN,MAAM,CAAkB;QAAS,WAAM,GAAN,MAAM,CAA0B;QAtD1E,aAAa;QACb,kBAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QAQ/B,eAAU,GAAG,KAAK,CAAC;QAEnB,eAAU,GAAG,KAAK,CAAC;QAGnB,iBAAY,GAAQ,EAAE,CAAC;QACvB,WAAM,GAAQ,EAAE,CAAC;QACjB,0BAAqB,GAAQ,EAAE,CAAC;QAChC,2BAAsB,GAAQ,EAAE,CAAC;QACjC,oCAA+B,GAAQ,EAAE,CAAC;QAC1C,yBAAoB,GAAQ,EAAE,CAAC;QAE/B,gBAAW,GAAQ,EAAE,CAAC;QAatB,iBAAY,GAAQ,EAAE,CAAC;QACvB,mBAAc,GAAQ,EAAE,CAAC;QACzB,iBAAY,GAAQ,EAAE,CAAC;QACvB,mBAAc,GAAQ,EAAE,CAAC;QACzB,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,iBAAY,GAAQ,EAAE,CAAC;QAEvB,OAAE,GAAQ,EAAE,CAAC;QAEb,aAAQ,GAAQ,EAAE,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QACrB,aAAQ,GAAG,EAAE,CAAC;QAoMhB,YAAO,GAAC,CAAC,CAAC;QA1LN,0BAA0B;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,mCAAmC,EAAE,EAC7G,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,4BAA4B,EAAE,EAC1E,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,sCAAsC,EAAE,EAC7F,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEtC,CAAC;IAhBuB,sBAAI,wCAAO;aAAX,UAAY,OAAmB;YACrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3B,CAAC;;;OAAA;IACuB,sBAAI,yCAAQ;aAAZ,UAAa,QAAoB;YACvD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC5B,CAAC;;;OAAA;IAYD,yCAAW,GAAX;QACE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC;IAED,sCAAQ,GAAR;QAAA,iBAoBC;QAnBC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;YACrC,KAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtC,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,GAAG,0BAA0B,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,UAAC,GAAQ;YACP,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,oCAAoC;YAEvE,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;YACrC,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;YACrC,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,0CAA0C;YAE/D,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC,EACD,UAAC,GAAQ;YACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAGH,gBAAgB;IACd,yCAAW,GAAX;QAEE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAGpB,IAAM,EAAE,GAAkB,2CAAU,CAAC,QAAQ,EAAE,CAAC;QAC/C,EAAE,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,gBAAgB;SAEzB,CAAC;QAGF,IAAI,UAAU,GAAC,IAAI,CAAC,qBAAqB,CAAC;QAE1C,IAAI,WAAW,GAAC,CAAG,CAAC,iBAAiB,CAAC;YACvB,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAE,EAAE,CAAE,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAE,EAAG,CAAC,SAAS,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACnL,CAAC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAE,EAAE,CAAE,eAAe,EAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAE;YACxL,CAAC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,IAAI,CAAC;YACN,CAAC,IAAI,CAAC;YACN,CAAC,qBAAqB,CAAC;SACzB,CAAC;QAId,IAAI,YAAY,GAAC,IAAI,CAAC,+BAA+B,CAAC;QACtD,IAAI,SAAS,GAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,QAAQ,GAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,SAAS,GAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,OAAO,GAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,MAAM,GAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,OAAO,GAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnC,IAAI,cAAc,GAAC,EAAE,CAAC;QACtB,IAAI,cAAc,GAAC,CAAC,cAAc,EAAC,aAAa,EAAE,aAAa,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;QACvN,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEpC,OAAO,CAAC,OAAO,CAAC,WAAC;YACf,IAAI,GAAG,GAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,WAAC;YAEd,IAAI,OAAO,GAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,cAAI;gBACpB,IAAI,GAAG,GAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAC,IAAI,GAAC,IAAI,GAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,WAAC;YACf,IAAI,QAAQ,GAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,QAAQ,CAAC,OAAO,CAAC,cAAI;gBACrB,IAAI,GAAG,GAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,OAAO,CAAC,CAAC,GAAC,IAAI,GAAC,IAAI,GAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1B,CAAC,CAAC,CAAC;QAEJ,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAC,IAAI,CAAC,oBAAoB,CAAC;QAErC,IAAI,UAAU,GAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnC,IAAI,UAAU,GAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE9C,UAAU,CAAC,OAAO,CAAC,WAAC;YAElB,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC;gBAC3B,IAAI,GAAG,GAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC;QAEH,CAAC,CAAC;QAKA,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,WAAW;QAGX,IAAI,EAAE,GAAE,2CAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE7C,2CAAU,CAAC,aAAa,CAAC,EAAE,EAAC,cAAc,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QACzD,2CAAU,CAAC,aAAa,CAAC,EAAE,EAAC,UAAU,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QAErD,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAEhC,+CAAc,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,GAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAGvB,CAAC;IAED,cAAc;IACd,uDAAyB,GAAzB;QAAA,iBA4CC;QA3CC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,uCAAuC;QAEvC,+BAA+B;QAE/B,4CAA4C;QAC5C,mBAAmB;QACnB,MAAM;QACN,KAAK;QAEL,8CAA8C;QAE9C,0CAA0C;QAE1C,mBAAmB;QACnB,+CAA+C;QAE/C,MAAM;QAEN,wBAAwB;QAExB,0BAA0B;QAC1B,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACvD,kDAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3B,gCAAgC;YAChC,IAAI,QAAQ,GAAG,GAAG,CAAC;YACnB,IAAI,UAAU,GAAG,GAAG,CAAC;YACrB,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;YACxD,IAAI,UAAU,GAAG,SAAS,CAAC;YAE3B,IAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YACpD,IAAI,GAAG,GAAG,IAAI,kCAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB;YAC5D,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,GAAE,eAAe,CAAC,CAAC,CAAC,gBAAgB;YACjE,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IAML,CAAC;IAED,6CAAe,GAAf;QACE,IAAI,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC;gBACT,IAAI,OAAO,CAAC;gBACZ,IAAI,OAAO,CAAC;gBACZ,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,6BAA6B,EAAE;4BAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;4BAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;4BACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,EAAE;oCACnG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCAC9C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE;wCAC1C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;iCACF;qCAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE;oCACjH,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCAC9C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE;wCAC1C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;iCACF;6BACF;4BACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;gCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;oCACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;iCAC1D;qCAAM;oCACL,IAAI,CAAC,WAAW,GAAG,EAAE;iCACtB;6BACF;iCACI;gCACH,IAAI,CAAC,WAAW,GAAG,EAAE;6BACtB;4BACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;yBAC/B;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,gCAAgC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnH,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,gCAAgC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnH,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,8CAA8C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACjI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;4BACrF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,0CAA0C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;4BACjF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;qBACF;iBACF;aACF;SACF;aAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC;gBACT,IAAI,OAAO,CAAC;gBACZ,IAAI,OAAO,CAAC;gBACZ,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,6BAA6B,EAAE;4BAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;4BAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;4BACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,EAAE;oCACnG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCACjF,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;wCAC/J,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;iCACF;qCAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE;oCACjH,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCACjF,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;wCAC/J,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;iCACF;6BACF;4BAED,IAAI,OAAO,IAAI,UAAU,EAAE;gCACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;oCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;wCACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;qCAC1D;yCAAM;wCACL,IAAI,CAAC,WAAW,GAAG,EAAE;qCACtB;iCACF;qCACI;oCACH,IAAI,CAAC,WAAW,GAAG,EAAE;iCACtB;6BACF;iCAAM;gCACL,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;oCAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;iCACpD;qCAAM;oCACL,IAAI,CAAC,WAAW,GAAG,EAAE;iCACtB;6BACF;4BACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAE,IAAI,GAAE,IAAI,CAAC,WAAW,CAAC,CAAC;yBACrD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,gCAAgC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnH,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,gCAAgC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnH,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,8CAA8C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACjI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;4BACrF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,0CAA0C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;4BACjF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;qBACF;iBACF;aACF;SACF;IACH,CAAC;IACD,4CAAc,GAAd,UAAe,EAAE;QAAjB,iBAiBC;QAhBC,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,GAAG,EAAE,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;YACD,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;YAChC,qEAAW,CAAC,qBAAqB,GAAG,EAAE,CAAC;YACvC,IAAI,IAAI,GAAG,GAAG,CAAC;YACf,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;YAC/B,qEAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE5C,CAAC,EACD,aAAG;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CACF;IACH,CAAC;IAED,qCAAO,GAAP,UAAQ,GAAG;QACT,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC;IACjE,CAAC;IACD,sCAAQ,GAAR,UAAS,GAAG;QACV,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC;IAClE,CAAC;IAED,4CAAc,GAAd;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,wCAAU,GAAV,UAAW,QAAQ,EAAE,MAAM;QAA3B,iBA8BC;QA7BC,IAAI,aAAa,CAAC;QAClB,IAAI,MAAM,IAAI,QAAQ,EAAE;YACtB,aAAa,GAAG,CAAC,CAAC;SACnB;aACI;YACH,aAAa,GAAG,CAAC,CAAC;SACnB;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,YAAY,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;QAClK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;YACD,2BAA2B;YAC3B,kDAAI,CAAC;gBACH,KAAK,EAAE,gBAAgB,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG;gBAC5C,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAEf,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5C,CAAC,EACD,aAAG;QAEH,CAAC,CACF;IACH,CAAC;IACD,wCAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IACD,yCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,wCAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAID,yCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAGD,4CAAc,GAAd,UAAe,aAAa,EAAE,GAAG,EAAE,aAAa;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAE7C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE;gBAC1C,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yCAAW,GAAX,UAAY,aAAa,EAAE,GAAG,EAAE,aAAa;QAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1B,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,IAAI,IAAI,aAAa,EAAE;gBACzB,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAU,GAAV,UAAW,QAAQ;QACjB,qEAAW,CAAC,UAAU,GAAG,IAAI,CAAC;QAC9B,qEAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;QACpC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,qEAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5E,qEAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrF,qEAAW,CAAC,4BAA4B,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrF,qEAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5C;aACI,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAChC,qEAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5E,qEAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrF,qEAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACtG,qEAAW,CAAC,4BAA4B,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrF,qEAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5C;IAEH,CAAC;IAjiBgD;QAAhD,+DAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,mEAAmB,EAAE,CAAC;kCAAK,mEAAmB;mDAAC;IAC1C;QAA9B,+DAAS,CAAC,kBAAkB,CAAC;kCAAc,wDAAU;2DAAC;IAEnC;QAAnB,+DAAS,CAAC,OAAO,CAAC;kCAAQ,wDAAU;sDAAC;IAgDd;QAAvB,+DAAS,CAAC,WAAW,CAAC;kCAAsB,wDAAU;yCAAV,wDAAU;sDAEtD;IACuB;QAAvB,+DAAS,CAAC,WAAW,CAAC;kCAAwB,wDAAU;yCAAV,wDAAU;uDAExD;IA1DU,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;;;SAG5B,CAAC;yCA6D2B,sDAAM,EAAgB,8DAAc,EAAiB,sEAAa;YAC5E,6EAAgB,EAAiB,4EAAwB;OA7D/D,mBAAmB,CAoiB/B;IAAD,0BAAC;CAAA;AApiB+B;;;;;;;;;;;;ACzBhC,6IAA6I,eAAe,kLAAkL,ohDAAohD,wEAAwE,sBAAsB,6JAA6J,YAAY,oEAAoE,YAAY,mNAAmN,wFAAwF,6EAA6E,sFAAsF,oNAAoN,QAAQ,8+BAA8+B,sBAAsB,4JAA4J,sBAAsB,uDAAuD,wFAAwF,yDAAyD,sFAAsF,w2B;;;;;;;;;;;ACAvzI,mCAAmC,kCAAkC,2BAA2B,EAAE,uCAAuC,kBAAkB,oBAAoB,qCAAqC,0BAA0B,qBAAqB,EAAE,6CAA6C,uCAAuC,EAAE,0CAA0C,oBAAoB,0BAA0B,yBAAyB,2BAA2B,yBAAyB,EAAE,oDAAoD,sBAAsB,gCAAgC,4BAA4B,EAAE,6GAA6G,yBAAyB,EAAE,yDAAyD,uBAAuB,gCAAgC,EAAE,wEAAwE,8BAA8B,EAAE,oFAAoF,uBAAuB,2BAA2B,iCAAiC,EAAE,4DAA4D,+BAA+B,EAAE,gEAAgE,0BAA0B,iCAAiC,EAAE,8BAA8B,4DAA4D,kBAAkB,mBAAmB,4BAA4B,oBAAoB,0BAA0B,6BAA6B,8BAA8B,EAAE,kCAAkC,oBAAoB,uBAAuB,EAAE,iCAAiC,uBAAuB,0BAA0B,yBAAyB,yBAAyB,4BAA4B,EAAE,sCAAsC,2BAA2B,EAAE,0CAA0C,wBAAwB,+BAA+B,EAAE,8BAA8B,4DAA4D,kBAAkB,mBAAmB,4BAA4B,0BAA0B,uBAAuB,yBAAyB,uBAAuB,yBAAyB,0BAA0B,EAAE,+CAA+C,oBAAoB,sBAAsB,4BAA4B,2CAA2C,sBAAsB,gCAAgC,+BAA+B,EAAE,mDAAmD,sBAAsB,yBAAyB,EAAE,kDAAkD,yBAAyB,4BAA4B,2BAA2B,2BAA2B,8BAA8B,EAAE,uCAAuC,oBAAoB,sBAAsB,4BAA4B,sBAAsB,yBAAyB,EAAE,oDAAoD,sBAAsB,kCAAkC,2BAA2B,wBAAwB,EAAE,oEAAoE,+CAA+C,0BAA0B,2CAA2C,gCAAgC,0BAA0B,6BAA6B,yBAAyB,EAAE,iEAAiE,mCAAmC,oCAAoC,+BAA+B,6BAA6B,sCAAsC,0BAA0B,gCAAgC,oCAAoC,6BAA6B,EAAE,qEAAqE,0BAA0B,EAAE,oEAAoE,uBAAuB,wBAAwB,8BAA8B,EAAE,kFAAkF,+BAA+B,yCAAyC,wCAAwC,EAAE,iFAAiF,+BAA+B,yCAAyC,EAAE,iFAAiF,yCAAyC,+BAA+B,6BAA6B,yCAAyC,EAAE,+EAA+E,+BAA+B,6BAA6B,yCAAyC,yCAAyC,EAAE,uEAAuE,8BAA8B,wCAAwC,iCAAiC,+BAA+B,kCAAkC,EAAE,oFAAoF,0BAA0B,0BAA0B,EAAE,6FAA6F,2BAA2B,4BAA4B,4BAA4B,EAAE,gGAAgG,qCAAqC,kCAAkC,6CAA6C,mCAAmC,iCAAiC,EAAE,gGAAgG,2CAA2C,kCAAkC,mCAAmC,iCAAiC,6CAA6C,EAAE,uDAAuD,qBAAqB,wBAAwB,wCAAwC,EAAE,kEAAkE,uBAAuB,+BAA+B,uCAAuC,8CAA8C,+BAA+B,EAAE,6EAA6E,gCAAgC,iCAAiC,EAAE,oEAAoE,oCAAoC,6BAA6B,+BAA+B,8BAA8B,8CAA8C,gCAAgC,8BAA8B,EAAE,+EAA+E,iCAAiC,EAAE,8EAA8E,cAAc,uEAAuE,EAAE,4BAA4B,qBAAqB,EAAE,EAAE,WAAW,mCAAmC,EAAE,0BAA0B,aAAa,eAAe,uBAAuB,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACApkO;AACV;AAExB;AACF;AACC;AACM;AACtC;AAO/B;IAkBE,iCAAmB,MAAc,EAAS,MAAqB,EAAS,MAAgC,EAC/F,MAAwB,EAAS,EAAc;QADrC,WAAM,GAAN,MAAM,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAA0B;QAC/F,WAAM,GAAN,MAAM,CAAkB;QAAS,OAAE,GAAF,EAAE,CAAY;QAfxD,oBAAe,GAAG,KAAK,CAAC;QACxB,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAG,EAAE,CAAC;QAChB,gBAAW,GAAG,EAAE,CAAC;QACjB,eAAU,GAAG,KAAK;QAYhB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;QAGD,2EAA2E;QAC3E,iEAAiE;QACjE,oBAAoB;QACpB,sCAAsC;QACtC,6BAA6B;QAC7B,4BAA4B;QAC5B,uBAAuB;QACvB,MAAM;QACN,MAAM;IAER,CAAC;IAGD,0CAAQ,GAAR;QAAA,iBAoCC;QAnCC,IAAI,GAAG,GAAG,kBAAkB,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAC/C,aAAG;YACD,WAAW;YACX,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YAC1B,qEAAW,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjD,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM;YAC/C,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACpB;iBACI;gBACH,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,EACD,aAAG;YACD,QAAQ,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC7B,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,kDAAI,CAAC;gBACH,KAAK,EAAE,oDAAoD;gBAC3D,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAID,2CAAS,GAAT;QACE,qEAAW,CAAC,mBAAmB,GAAG,EAAE;QACpC,qEAAW,CAAC,mBAAmB,GAAG,EAAE;QACpC,qEAAW,CAAC,wBAAwB,GAAG,EAAE;QACzC,qEAAW,CAAC,gCAAgC,GAAG,EAAE;QACjD,qEAAW,CAAC,4BAA4B,GAAG,EAAE;QAC7C,qEAAW,CAAC,kBAAkB,GAAG,EAAE;QACnC,qEAAW,CAAC,eAAe,GAAG,IAAI;QAClC,qEAAW,CAAC,kBAAkB,GAAG,KAAK;IACxC,CAAC;IAED,uCAAK,GAAL,UAAM,KAAK;QACT,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpD,IAAI,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;YAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;gBACjC,IAAI,CAAC,UAAU,GAAG,KAAK;aACxB;SACF;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM;IACjD,CAAC;IACD,0CAAQ,GAAR;QACE,kBAAkB;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,kBAAkB;IAGpB,CAAC;IAED,iDAAe,GAAf;QACE,kBAAkB;QAClB,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,CAAC,UAAU,CAAC,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;SACrB;IACH,CAAC;IAED,gDAAc,GAAd;QACE,qEAAW,CAAC,WAAW,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,mDAAiB,GAAjB;QACE,qEAAW,CAAC,WAAW,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1C,CAAC;IAGD,+CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,CAAC;IAED,2CAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QAC3E,IAAI,KAAK,GAAG,CAAC;QACb,IAAI,QAAQ;QACZ,IAAI,aAAa,GAAG,EAAE;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE;gBACxD,IAAI,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACvF,IAAI,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACrF,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACjF,IAAI,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACrF,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;oBACnL,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;iBACtC;qBACI;oBACH,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;oBACjC,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACjF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;qBACzB;iBACF;aACF;iBACI;gBACH,IAAI,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACvF,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;oBAC9C,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;iBACtC;qBACI;oBACH,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;oBACjC,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACjF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;qBACzB;iBACF;aACF;YACD,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,EAAE;gBAC1C,KAAK,EAAE;aACR;SACF;QACD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM;QACzC,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI;SACvB;aACI;YACH,IAAI,CAAC,UAAU,GAAG,KAAK;SACxB;IAEH,CAAC;IAED,mDAAiB,GAAjB,UAAkB,KAAK,EAAE,EAAE,EAAE,IAAI;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEnB,IAAI,IAAI,IAAI,aAAa,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAEnB,IAAM,gBAAgB,GAAqB;gBACzC,WAAW,EAAE;oBACX,GAAG,EAAE,EAAE;oBACP,gCAAgC;iBACjC;aACF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACvD,SAAS;YACT,kFAAkF;YAClF,qBAAqB;YACrB,6BAA6B;YAC7B,mCAAmC;YACnC,kCAAkC;YAClC,4BAA4B;YAC5B,wBAAwB;YAExB,KAAK;SACJ;aACI,IAAI,IAAI,IAAI,UAAU,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAEnB,6CAA6C;YAC7C,sDAAsD;YACtD,oBAAoB;YACpB,8EAA8E;YAE9E,iCAAiC;YACjC,+CAA+C;YAC/C,6CAA6C;YAC7C,mDAAmD;YACnD,2EAA2E;YAE3E,yDAAyD;YAEzD,qDAAqD;YACrD,yBAAyB;YACzB,qBAAqB;YACrB,sCAAsC;YACtC,oCAAoC;YACpC,2CAA2C;YAC3C,6BAA6B;YAC7B,6CAA6C;YAC7C,aAAa;YACb,YAAY;YACZ,mEAAmE;YACnE,QAAQ;YAGR,OAAO;YACP,oBAAoB;YACpB,0BAA0B;YAC1B,MAAM;YACN,KAAK;YAEL,UAAU;YAEV,+CAA+C;YAC/C,mBAAmB;YACnB,eAAe;YACf,uBAAuB;YACvB,uCAAuC;YACvC,OAAO;YACP,MAAM;YACN,6DAA6D;YAE7D,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,kDAAI,CAAC;gBACH,KAAK,EAAE,6DAA6D;gBACpE,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAEf,CAAC,CAAC;YAIF,SAAS;YACT,0EAA0E;YAC1E,qBAAqB;YACrB,6BAA6B;YAC7B,mCAAmC;YACnC,kCAAkC;YAClC,4BAA4B;YAC5B,wBAAwB;YAExB,KAAK;SACN;aACI,IAAI,IAAI,IAAI,YAAY,EAAE;YAG7B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,kDAAI,CAAC;gBACH,KAAK,EAAE,+DAA+D;gBACtE,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAEf,CAAC,CAAC;SACH;QAGH,sGAAsG;QACtG,yIAAyI;QACzI,IAAI;QACJ,yEAAyE;QACzE,sDAAsD;QACtD,aAAa;QACb,uCAAuC;QACvC,8CAA8C;QAC9C,sBAAsB;QACtB,sCAAsC;QACtC,oDAAoD;QACpD,6CAA6C;QAC7C,uCAAuC;QACvC,mDAAmD;QACnD,QAAQ;QACR,uCAAuC;QACvC,8CAA8C;QAC9C,QAAQ;QACR,4CAA4C;QAC5C,mDAAmD;QACnD,QAAQ;QACR,0BAA0B;QAC1B,OAAO;QACP,aAAa;QACb,0BAA0B;QAC1B,aAAa;QACb,qEAAqE;QACrE,yBAAyB;QACzB,iCAAiC;QACjC,uCAAuC;QACvC,sCAAsC;QACtC,gCAAgC;QAChC,4BAA4B;QAC5B,yCAAyC;QACzC,SAAS;QACT,MAAM;QACN,IAAI;IACN,CAAC;IApVmB;QAAnB,+DAAS,CAAC,OAAO,CAAC;kCAAQ,wDAAU;0DAAC;IAD3B,uBAAuB;QALnC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;;;SAGjC,CAAC;yCAmB2B,sDAAM,EAAiB,sEAAa,EAAiB,4EAAwB;YACvF,6EAAgB,EAAa,wDAAU;OAnB7C,uBAAuB,CAuVnC;IAAD,8BAAC;CAAA;AAvVmC;;;;;;;;;;;;ACdpC,o0BAAo0B,iBAAiB,oBAAoB,2BAA2B,oBAAoB,qBAAqB,yBAAyB,kBAAkB,cAAc,mCAAmC,UAAU,oCAAoC,gBAAgB,udAAud,8G;;;;;;;;;;;ACA9hD,2BAA2B,mBAAmB,oBAAoB,oBAAoB,kBAAkB,wBAAwB,mCAAmC,gCAAgC,2CAA2C,qBAAqB,EAAE,gBAAgB,yBAAyB,0BAA0B,gBAAgB,qBAAqB,sBAAsB,sBAAsB,EAAE,aAAa,qCAAqC,EAAE,iBAAiB,gCAAgC,wBAAwB,sBAAsB,mBAAmB,EAAE,gBAAgB,wCAAwC,mCAAmC,4BAA4B,EAAE,6BAA6B,oCAAoC,iBAAiB,qBAAqB,EAAE,iCAAiC,oBAAoB,EAAE,gBAAgB,2BAA2B,4BAA4B,uBAAuB,EAAE,oBAAoB,oBAAoB,EAAE,8BAA8B,oBAAoB,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAx+B;AACc;AACK;AACP;AACC;AACQ;AACxC;AAC/B,IAAM,aAAa,GAAG,qEAAW,CAAC,cAAc,CAAC;AAMjD;IASE,yBAAmB,MAAwB,EAAS,KAAa,EAAS,MAAqB,EAAS,MAAgC;QAAxI,iBAmBC;QAnBkB,WAAM,GAAN,MAAM,CAAkB;QAAS,UAAK,GAAL,KAAK,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAA0B;QAPxI,oBAAe,GAAY,IAAI,CAAC;QAChC,gBAAW,GAAY,KAAK,CAAC;QAC7B,kBAAa,GAAG,KAAK,CAAC;QACtB,aAAQ,GAAQ,EAAE,CAAC;QACnB,kBAAa,GAAQ,EAAE,CAAC;QACxB,gBAAW,GAAQ,EAAE,CAAC;QACtB,sBAAiB,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAC,IAAI;YAC1C,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,UAAC,IAAI;YACjD,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAChC,IAAI,qEAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,KAAI,CAAC,QAAQ,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC3D,KAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC9D,KAAI,CAAC,aAAa,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;aACpE;QACH,CAAC,CAAC,CAAC;IAKL,CAAC;IAED,kCAAQ,GAAR;QACE,IAAI,qEAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,IAAI,CAAC,QAAQ,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9D,IAAI,CAAC,aAAa,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;SACpE;IACH,CAAC;IAED,yCAAe,GAAf;QACE,IAAI,qEAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,IAAI,CAAC,QAAQ,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAC9D,IAAI,CAAC,aAAa,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;SACjE;IACH,CAAC;IACD,qCAAW,GAAX;QACE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpC,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,sCAAY,GAAZ,UAAa,KAAK;QAAlB,iBAwEC;QAvEC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,kBAAkB,EAAE;YAC/E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACzC;aACI,IAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,aAAa,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;SACzC;aACI;YACH,kDAAI,CAAC;gBACH,KAAK,EAAE,qDAAqD;gBAC5D,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,IAAI;gBACtB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACb,IAAI,MAAM,CAAC,KAAK,EAAE;oBAChB,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBACrC,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;oBAC9C,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBACrC,qEAAW,CAAC,wBAAwB,GAAG,EAAE,CAAC;oBAC1C,qEAAW,CAAC,gCAAgC,GAAG,EAAE,CAAC;oBAClD,qEAAW,CAAC,kBAAkB,GAAG,EAAE,CAAC;oBACpC,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;oBAC9C,qEAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;oBAC/C,qEAAW,CAAC,eAAe,GAAG,EAAE,CAAC;oBACjC,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBACvC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACtC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBAClC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBACzC,KAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;oBAC1C,KAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;oBAC3C,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;oBACvC,KAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;oBAC1C,KAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;oBAC5C,KAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;oBACtC,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;oBACpC,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBAClC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;oBACvC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC/B,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAChC,qEAAW,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC/B,IAAI,KAAI,CAAC,KAAK,CAAC,GAAG,IAAI,iBAAiB,EAAE;wBACvC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;qBAC3C;yBACI;wBACH,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;qBACzC;iBACF;qBACI;oBACH,eAAe;iBAChB;YACH,CAAC,CAAC;SACH;IAEH,CAAC;IACD,iCAAO,GAAP,UAAQ,KAAK;QACX,IAAI,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE;YAC1D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;SACrC;aACI,IAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,iBAAiB,EAAE;YAC3C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;SACrC;aACI;YACH,gEAAgE;YAChE,4DAA4D;YAC5D,MAAM;SACP;IACH,CAAC;IAGD,wCAAc,GAAd,UAAe,MAAc;QAC3B,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;YACzB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IACH,CAAC;IAID,gCAAM,GAAN;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,qEAAW,CAAC,UAAU,GAAG,EAAE,CAAC;QAC5B,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,CAAC;IA9JU,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;;;SAGvB,CAAC;yCAU2B,6EAAgB,EAAgB,sDAAM,EAAiB,sEAAa,EAAiB,4EAAwB;OAT7H,eAAe,CA+J3B;IAAD,sBAAC;CAAA;AA/J2B;;;;;;;;;;;;ACb5B,mLAAmL,cAAc,gsB;;;;;;;;;;;ACAjM,+BAA+B,kBAAkB,wBAAwB,4BAA4B,EAAE,cAAc,2BAA2B,EAAE,yBAAyB,gBAAgB,EAAE,cAAc,2BAA2B,EAAE,cAAc,eAAe,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAlJ;AACvD;AACP;AACS;AACD;AACM;AACtC;AAM/B;IAGE,4BAAoB,MAAc,EAAS,MAAqB,EAAS,MAAgC,EAAS,EAAc,EACvH,MAAwB;QADb,WAAM,GAAN,MAAM,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAA0B;QAAS,OAAE,GAAF,EAAE,CAAY;QACvH,WAAM,GAAN,MAAM,CAAkB;QAFjC,iBAAY,GAAG,EAAE,CAAC;QAGhB,qEAAW,CAAC,UAAU,GAAG,EAAE,CAAC;QAC5B,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACxC,CAAC;IAED,qCAAQ,GAAR;IACA,CAAC;IAED,uCAAU,GAAV,UAAW,KAAK;QACd,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,UAAU,EAAE;YAClE,qEAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SAC3C;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,UAAU,EAAE;YACvE,qEAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SAC3C;IAEH,CAAC;IAED,uCAAU,GAAV,UAAW,KAAK;QACd,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACnB;IAGH,CAAC;IAED,kCAAK,GAAL,UAAM,KAAK;QAAX,iBAyFC;QAxFC,qEAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChH,qEAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChH,IAAI,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;YAEpE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aACtB;iBACI;gBACH,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnD,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;aAEnB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,oGAAoG;YACpG,IAAI,GAAG,GAAG,uBAAuB,CAAC;YAClC,IAAI,IAAI,GAAG,CAAC,EAAE,UAAU,EAAE,qEAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,qEAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpF,qFAAqF;YACrF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,SAAS,CAClD,aAAG;gBACD,uCAAuC;gBACvC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,IAAI,IAAI,CAAC;gBACT,IAAI,GAAG,GAAG,CAAC;gBACX,qEAAW,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;gBACpC,IAAI,GAAG,GAAG,iBAAiB,CAAC;gBAC5B,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;oBACD,qEAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,gBAAgB,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,qEAAW,CAAC,QAAQ,CAAC,CAAC;oBACnF,IAAI,WAAW,GAAG,KAAI,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;oBACtE,qEAAW,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBACpC,qEAAW,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC1D,qEAAW,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC/D,qEAAW,CAAC,eAAe,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,MAAM,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC3C,CAAC,EACD,aAAG;oBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,oDAAoD;wBAC3D,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBAClC,CAAC,CAAC;gBACJ,CAAC,CACF;YAEH,CAAC,EACD,aAAG;gBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChE,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;gBAChC,IAAI,KAAI,CAAC,YAAY,IAAI,uCAAuC,EAAE;oBAChE,kDAAI,CAAC;wBACH,KAAK,EAAE,oDAAoD;wBAC3D,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,qEAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;oBAC1B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC9F,qEAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;oBAC1B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAC9F,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBAC7B;YACH,CAAC,CACF,CAAC;SACH;IACH,CAAC;IACD,wCAAW,GAAX,UAAY,KAAK;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC/C,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC;YAClD,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE;gBAC1B,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC1B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aAC9C;iBACI,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAE;gBACnC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBACtB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAtIU,kBAAkB;QAL9B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;;;SAG3B,CAAC;yCAI4B,sDAAM,EAAiB,sEAAa,EAAiB,4EAAwB,EAAa,wDAAU;YAC/G,6EAAgB;OAJtB,kBAAkB,CAwI9B;IAAD,yBAAC;CAAA;AAxI8B;;;;;;;;;;;;ACZ/B,mUAAmU,cAAc,mBAAmB,cAAc,qKAAqK,cAAc,cAAc,oCAAoC,qBAAqB,oBAAoB,aAAa,qBAAqB,oCAAoC,0JAA0J,iBAAiB,0qCAA0qC,oCAAoC,4IAA4I,mCAAmC,0HAA0H,iCAAiC,mIAAmI,qCAAqC,iLAAiL,kCAAkC,iUAAiU,0TAA0T,kBAAkB,gLAAgL,QAAQ,uBAAuB,QAAQ,4hEAA4hE,eAAe,IAAI,eAAe,mJAAmJ,eAAe,4nEAA4nE,aAAa,oMAAoM,eAAe,uPAAuP,gBAAgB,uIAAuI,wCAAwC,6MAA6M,wCAAwC,yMAAyM,wCAAwC,qaAAqa,QAAQ,uDAAuD,UAAU,6/CAA6/C,oCAAoC,4IAA4I,mCAAmC,0HAA0H,iCAAiC,mIAAmI,qCAAqC,wIAAwI,0CAA0C,kNAAkN,gDAAgD,6HAA6H,+BAA+B,gKAAgK,cAAc,mIAAmI,cAAc,qIAAqI,gBAAgB,oKAAoK,cAAc,iIAAiI,oBAAoB,6KAA6K,kBAAkB,wKAAwK,gBAAgB,iUAAiU,kYAAkY,kBAAkB,oBAAoB,uCAAuC,6HAA6H,kBAAkB,qBAAqB,uCAAuC,wLAAwL,kBAAkB,mNAAmN,QAAQ,uBAAuB,QAAQ,2OAA2O,QAAQ,kBAAkB,QAAQ,wMAAwM,kBAAkB,oNAAoN,QAAQ,uBAAuB,QAAQ,4OAA4O,QAAQ,kBAAkB,QAAQ,qnEAAqnE,eAAe,IAAI,eAAe,uJAAuJ,eAAe,6oEAA6oE,kCAAkC,2IAA2I,wCAAwC,uNAAuN,8CAA8C,4LAA4L,+CAA+C,mMAAmM,6CAA6C,iaAAia,QAAQ,uDAAuD,UAAU,weAAwe,QAAQ,uDAAuD,UAAU,k2BAAk2B,mCAAmC,kpBAAkpB,mCAAmC,8oBAA8oB,mCAAmC,4Z;;;;;;;;;;;ACAvzwB,mCAAmC,iBAAiB,kCAAkC,2BAA2B,EAAE,4CAA4C,kBAAkB,mBAAmB,kBAAkB,EAAE,yDAAyD,oBAAoB,sBAAsB,4BAA4B,4BAA4B,iBAAiB,4CAA4C,4CAA4C,2BAA2B,wBAAwB,oBAAoB,EAAE,6DAA6D,sBAAsB,EAAE,8DAA8D,4BAA4B,0BAA0B,4BAA4B,yBAAyB,EAAE,0DAA0D,sBAAsB,4BAA4B,gCAAgC,oBAAoB,EAAE,8DAA8D,sBAAsB,uBAAuB,8BAA8B,EAAE,+DAA+D,0BAA0B,oCAAoC,2BAA2B,4BAA4B,yBAAyB,EAAE,0CAA0C,4DAA4D,kBAAkB,gCAAgC,4BAA4B,oBAAoB,yBAAyB,0BAA0B,uBAAuB,EAAE,wDAAwD,mBAAmB,uBAAuB,2BAA2B,EAAE,4EAA4E,mCAAmC,EAAE,6EAA6E,6CAA6C,EAAE,qEAAqE,wBAAwB,wBAAwB,0BAA0B,gDAAgD,wDAAwD,0BAA0B,qCAAqC,qCAAqC,+BAA+B,8BAA8B,kCAAkC,8BAA8B,kCAAkC,4BAA4B,2BAA2B,EAAE,mEAAmE,2CAA2C,iCAAiC,EAAE,8DAA8D,2BAA2B,kCAAkC,EAAE,yEAAyE,uBAAuB,+BAA+B,EAAE,iFAAiF,iCAAiC,+BAA+B,8BAA8B,6BAA6B,uCAAuC,EAAE,uEAAuE,sBAAsB,wBAAwB,8BAA8B,6CAA6C,+BAA+B,EAAE,kFAAkF,+BAA+B,EAAE,+EAA+E,yBAAyB,0BAA0B,oCAAoC,wBAAwB,EAAE,mFAAmF,0BAA0B,2BAA2B,iCAAiC,wCAAwC,iCAAiC,kCAAkC,4BAA4B,sCAAsC,kCAAkC,EAAE,uFAAuF,4BAA4B,EAAE,oFAAoF,8BAA8B,EAAE,oFAAoF,wBAAwB,0BAA0B,EAAE,iGAAiG,yBAAyB,EAAE,qGAAqG,4BAA4B,EAAE,oGAAoG,yBAAyB,0BAA0B,gCAAgC,EAAE,uGAAuG,gCAAgC,0CAA0C,mCAAmC,iCAAiC,+BAA+B,mCAAmC,EAAE,oHAAoH,4BAA4B,4BAA4B,mCAAmC,EAAE,kIAAkI,qCAAqC,6CAA6C,mCAAmC,mCAAmC,EAAE,+IAA+I,kCAAkC,kDAAkD,wCAAwC,mCAAmC,8CAA8C,wCAAwC,+CAA+C,gDAAgD,EAAE,0JAA0J,uDAAuD,EAAE,+JAA+J,iCAAiC,oCAAoC,oCAAoC,0CAA0C,8CAA8C,mCAAmC,kCAAkC,EAAE,gLAAgL,wDAAwD,EAAE,iLAAiL,uCAAuC,EAAE,2KAA2K,8CAA8C,yCAAyC,2CAA2C,yCAAyC,EAAE,qKAAqK,4CAA4C,wCAAwC,2CAA2C,oDAAoD,uCAAuC,oCAAoC,EAAE,6HAA6H,6BAA6B,8BAA8B,8BAA8B,qCAAqC,EAAE,sIAAsI,8CAA8C,gCAAgC,uCAAuC,kCAAkC,wCAAwC,qCAAqC,uCAAuC,iCAAiC,EAAE,yIAAyI,sCAAsC,EAAE,sIAAsI,kCAAkC,EAAE,gIAAgI,uCAAuC,oCAAoC,qCAAqC,mCAAmC,+CAA+C,EAAE,gIAAgI,6CAA6C,oCAAoC,mCAAmC,qCAAqC,yCAAyC,EAAE,kIAAkI,uCAAuC,oCAAoC,qCAAqC,mCAAmC,+CAA+C,wCAAwC,EAAE,oIAAoI,6CAA6C,oCAAoC,mCAAmC,qCAAqC,+CAA+C,EAAE,8BAA8B,4DAA4D,kBAAkB,mBAAmB,4BAA4B,oBAAoB,0BAA0B,6BAA6B,8BAA8B,uBAAuB,EAAE,kCAAkC,oBAAoB,uBAAuB,EAAE,iCAAiC,uBAAuB,0BAA0B,yBAAyB,yBAAyB,4BAA4B,EAAE,sCAAsC,2BAA2B,EAAE,0CAA0C,wBAAwB,+BAA+B,EAAE,gBAAgB,sBAAsB,oBAAoB,qBAAqB,qBAAqB,+BAA+B,EAAE,mBAAmB,0BAA0B,EAAE,eAAe,+BAA+B,gCAAgC,EAAE,kBAAkB,6BAA6B,oBAAoB,EAAE,0BAA0B,sBAAsB,uBAAuB,yBAAyB,mBAAmB,wBAAwB,EAAE,6BAA6B,qBAAqB,kCAAkC,uBAAuB,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAn1W;AACnB;AACiB;AACP;AACF;AACO;AACN;AAChC;AAEA;AAEO;AAET;AAG7B,SAAS,EAAE,wDAAU,CAAC;AACtB,SAAS,EAAE,wDAAU,CAAC;AACtB,SAAS,EAAE,wDAAU,CAAC;AAQtB;IA6DE,2BAA2B;IAC3B,iCAAmB,MAAc,EAAS,KAAqB,EAAS,MAAqB,EACpF,MAAwB,EAAS,MAAgC;QADvD,WAAM,GAAN,MAAM,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAgB;QAAS,WAAM,GAAN,MAAM,CAAe;QACpF,WAAM,GAAN,MAAM,CAAkB;QAAS,WAAM,GAAN,MAAM,CAA0B;QAzD1E,aAAa;QACb,kBAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QAS/B,eAAU,GAAG,KAAK,CAAC;QAEnB,eAAU,GAAG,KAAK,CAAC;QAGnB,iBAAY,GAAQ,EAAE,CAAC;QACvB,WAAM,GAAQ,EAAE,CAAC;QACjB,0BAAqB,GAAQ,EAAE,CAAC;QAChC,2BAAsB,GAAQ,EAAE,CAAC;QACjC,oCAA+B,GAAQ,EAAE,CAAC;QAC1C,yBAAoB,GAAQ,EAAE,CAAC;QAE/B,gBAAW,GAAQ,EAAE,CAAC;QAatB,iBAAY,GAAQ,EAAE,CAAC;QACvB,mBAAc,GAAQ,EAAE,CAAC;QACzB,iBAAY,GAAQ,EAAE,CAAC;QACvB,mBAAc,GAAQ,EAAE,CAAC;QACzB,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,iBAAY,GAAQ,EAAE,CAAC;QAGvB,aAAQ,GAAQ,EAAE,CAAC;QACnB,oBAAe,GAAG,EAAE,CAAC;QAkUvB,YAAO,GAAC,CAAC,CAAC;QApTN,0BAA0B;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,mCAAmC,EAAE,EAC7G,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,4BAA4B,EAAE,EAC1E,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,sCAAsC,EAAE,EAC7F,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,kCAAkC,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpC,qEAAW,CAAC,UAAU,GAAG,KAAK,CAAC;QAC/B,4FAA4F;QAC5F,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,CAAC,UAAU,GAAG,qEAAW,CAAC,cAAc,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,qEAAW,CAAC,cAAc;YACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACpD,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACtD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,qEAAW,CAAC,cAAc,CAAC;gBAC1G,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;gBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC;gBAC1E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC;gBACrG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACnE,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;gBACjF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,+BAA+B;gBACpD,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,IAAI,CAAC,EAAE;oBAC9C,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;iBACxC;qBACI,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,IAAI,CAAC,EAAE;oBACnD,qEAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBACtC,qEAAW,CAAC,eAAe,GAAG,KAAK,CAAC;iBACrC;gBACD,IAAI,CAAC,eAAe,GAAG,qEAAW,CAAC,eAAe,CAAC;gBACnD,IAAI,CAAC,kBAAkB,GAAG,qEAAW,CAAC,kBAAkB,CAAC;gBACzD,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;iBAC9D;qBACI,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;oBACpE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5E,mFAAmF;oBACnF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;oBAChE,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;wBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;qBACzE;oBACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;oBAClE,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;wBAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;qBAC7E;iBACF;gBACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,GAAG,IAAI,CAAC,sBAAsB;gBAClC,IAAI,IAAI,CAAC,eAAe,EAAE;oBACxB,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE;wBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4BACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACrC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC9B,IAAI,MAAM,GAAG,EAAE;gCACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iCAC9B;gCACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,CAAC;6BACrK;yBACF;qBAEF;iBACF;qBAAM;oBACL,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;wBACpF,eAAe;wBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;gCAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;yBAC5E;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4BACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACrC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC9B,IAAI,MAAM,GAAG,EAAE;gCACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iCAC9B;gCACD,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;oCACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,CAAC;6BACvK;yBACF;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAChD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4BACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC/B,IAAI,OAAO,GAAG,EAAE;gCAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iCAChC;gCACD,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;oCACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,CAAC;6BACrK;yBACF;wBACD,sBAAsB;wBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gCACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;yBAC5E;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4BACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACrC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC9B,IAAI,MAAM,GAAG,EAAE;gCACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iCAC9B;gCACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oCAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,CAAC;6BACvK;yBACF;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAChD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;4BACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC/B,IAAI,OAAO,GAAG,EAAE;gCAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iCAChC;gCACD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oCACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,CAAC;6BACrK;yBACF;qBACF;iBACF;aAEF;iBACI;gBACH,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;SACF;aACI;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IA/JuB,sBAAI,4CAAO;aAAX,UAAY,OAAmB;YACrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3B,CAAC;;;OAAA;IACuB,sBAAI,6CAAQ;aAAZ,UAAa,QAAoB;YACvD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC5B,CAAC;;;OAAA;IACuB,sBAAI,6CAAQ;aAAZ,UAAa,QAAoB;YACvD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC5B,CAAC;;;OAAA;IAwJD,6CAAW,GAAX;QACE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC;IAED,0CAAQ,GAAR;IAEA,CAAC;IAGH,gBAAgB;IACd,6CAAW,GAAX;QAEE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAGpB,IAAM,EAAE,GAAkB,2CAAU,CAAC,QAAQ,EAAE,CAAC;QAC/C,EAAE,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,gBAAgB;SAEzB,CAAC;QAGF,IAAI,UAAU,GAAC,IAAI,CAAC,qBAAqB,CAAC;QAE1C,IAAI,WAAW,GAAC,CAAG,CAAC,iBAAiB,CAAC;YACvB,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAE,EAAE,CAAE,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAE,EAAG,CAAC,SAAS,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACnL,CAAC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAE,EAAE,CAAE,eAAe,EAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAE;YACxL,CAAC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,IAAI,CAAC;YACN,CAAC,IAAI,CAAC;YACN,CAAC,qBAAqB,CAAC;SACzB,CAAC;QAId,IAAI,YAAY,GAAC,IAAI,CAAC,+BAA+B,CAAC;QACtD,IAAI,SAAS,GAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,QAAQ,GAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,SAAS,GAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,OAAO,GAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,MAAM,GAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,OAAO,GAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnC,IAAI,cAAc,GAAC,EAAE,CAAC;QACtB,IAAI,cAAc,GAAC,CAAC,cAAc,EAAC,aAAa,EAAE,aAAa,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;QACvN,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEpC,OAAO,CAAC,OAAO,CAAC,WAAC;YACf,IAAI,GAAG,GAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACf,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,WAAC;YAEd,IAAI,OAAO,GAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,cAAI;gBACpB,IAAI,GAAG,GAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAC,IAAI,GAAC,IAAI,GAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,WAAC;YACf,IAAI,QAAQ,GAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,QAAQ,CAAC,OAAO,CAAC,cAAI;gBACrB,IAAI,GAAG,GAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,OAAO,CAAC,CAAC,GAAC,IAAI,GAAC,IAAI,GAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1B,CAAC,CAAC,CAAC;QAEJ,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAC,IAAI,CAAC,oBAAoB,CAAC;QAErC,IAAI,UAAU,GAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEnC,IAAI,UAAU,GAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE9C,UAAU,CAAC,OAAO,CAAC,WAAC;YAElB,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC;gBAC3B,IAAI,GAAG,GAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;gBAC3B,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC;QAEH,CAAC,CAAC;QAKA,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,WAAW;QAGX,IAAI,EAAE,GAAE,2CAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE7C,2CAAU,CAAC,aAAa,CAAC,EAAE,EAAC,cAAc,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QACzD,2CAAU,CAAC,aAAa,CAAC,EAAE,EAAC,UAAU,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QAErD,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAEhC,+CAAc,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,GAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAGvB,CAAC;IAED,cAAc;IACd,2DAAyB,GAAzB;QAAA,iBA4CC;QA3CC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,uCAAuC;QAEvC,+BAA+B;QAE/B,4CAA4C;QAC5C,mBAAmB;QACnB,MAAM;QACN,KAAK;QAEL,8CAA8C;QAE9C,0CAA0C;QAE1C,mBAAmB;QACnB,+CAA+C;QAE/C,MAAM;QAEN,wBAAwB;QAExB,0BAA0B;QAC1B,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACvD,kDAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAM;YAC3B,gCAAgC;YAChC,IAAI,QAAQ,GAAG,GAAG,CAAC;YACnB,IAAI,UAAU,GAAG,GAAG,CAAC;YACrB,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;YACxD,IAAI,UAAU,GAAG,SAAS,CAAC;YAE3B,IAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YACpD,IAAI,GAAG,GAAG,IAAI,kCAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB;YAC5D,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;YACrE,GAAG,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,GAAE,eAAe,CAAC,CAAC,CAAC,gBAAgB;YACjE,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IAML,CAAC;IAED,iDAAe,GAAf;QACE,IAAI,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC;gBACT,IAAI,OAAO,CAAC;gBACZ,IAAI,OAAO,CAAC;gBACZ,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,6BAA6B,EAAE;4BAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;4BAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;4BACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,EAAE;oCACnG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCAC9C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE;wCAC1C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;iCACF;qCAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE;oCACjH,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCAC9C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE;wCAC1C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;iCACF;6BACF;4BACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;gCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;oCACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;iCAC1D;qCAAM;oCACL,IAAI,CAAC,WAAW,GAAG,EAAE;iCACtB;6BACF;iCACI;gCACH,IAAI,CAAC,WAAW,GAAG,EAAE;6BACtB;4BACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;yBAC/B;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,gCAAgC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnH,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,gCAAgC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnH,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,8CAA8C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACjI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;4BACrF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,0CAA0C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;4BACjF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;qBACF;iBACF;aACF;SACF;aAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC;gBACT,IAAI,OAAO,CAAC;gBACZ,IAAI,OAAO,CAAC;gBACZ,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,6BAA6B,EAAE;4BAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;4BAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;4BACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,EAAE;oCACnG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCACjF,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;wCAC/J,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;iCACF;qCAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,0BAA0B,CAAC,CAAC,EAAE;oCACjH,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCACjF,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;wCAC/J,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;wCAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;qCAChC;iCACF;6BACF;4BAED,IAAI,OAAO,IAAI,UAAU,EAAE;gCACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;oCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;wCACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;qCAC1D;yCAAM;wCACL,IAAI,CAAC,WAAW,GAAG,EAAE;qCACtB;iCACF;qCACI;oCACH,IAAI,CAAC,WAAW,GAAG,EAAE;iCACtB;6BACF;iCAAM;gCACL,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;oCAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;iCACpD;qCAAM;oCACL,IAAI,CAAC,WAAW,GAAG,EAAE;iCACtB;6BACF;4BACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAE,IAAI,GAAE,IAAI,CAAC,WAAW,CAAC,CAAC;yBACrD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,gCAAgC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnH,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,gCAAgC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACnH,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,8CAA8C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BACjI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;4BACrF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,0CAA0C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;4BACjF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,wCAAwC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;4BAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;yBACjD;qBACF;iBACF;aACF;SACF;IACH,CAAC;IACD,gDAAc,GAAd,UAAe,EAAE;QAAjB,iBAiBC;QAhBC,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,GAAG,EAAE,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;YACD,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;YAChC,qEAAW,CAAC,qBAAqB,GAAG,EAAE,CAAC;YACvC,IAAI,IAAI,GAAG,GAAG,CAAC;YACf,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;YAC/B,qEAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE5C,CAAC,EACD,aAAG;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CACF;IACH,CAAC;IAED,yCAAO,GAAP,UAAQ,GAAG;QACT,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC;IACjE,CAAC;IACD,0CAAQ,GAAR,UAAS,GAAG;QACV,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC;IAClE,CAAC;IAED,gDAAc,GAAd;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,4CAAU,GAAV,UAAW,QAAQ,EAAE,MAAM;QAA3B,iBA8BC;QA7BC,IAAI,aAAa,CAAC;QAClB,IAAI,MAAM,IAAI,QAAQ,EAAE;YACtB,aAAa,GAAG,CAAC,CAAC;SACnB;aACI;YACH,aAAa,GAAG,CAAC,CAAC;SACnB;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,YAAY,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;QAClK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;YACD,2BAA2B;YAC3B,kDAAI,CAAC;gBACH,KAAK,EAAE,gBAAgB,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG;gBAC5C,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAEf,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5C,CAAC,EACD,aAAG;QAEH,CAAC,CACF;IACH,CAAC;IAED,8CAAY,GAAZ,UAAa,QAAQ;QAArB,iBAuBC;QAtBC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,YAAY,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,mBAAmB,GAAG,QAAQ,CAAE;QAC7I,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;YACD,2BAA2B;YAC3B,kDAAI,CAAC;gBACH,KAAK,EAAE,qBAAqB;gBAC5B,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAEf,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5C,CAAC,EACD,aAAG;QAEH,CAAC,CACF;IACH,CAAC;IACD,4CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IACD,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,4CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IACD,4CAAU,GAAV;QACE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IACD,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,6CAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,gDAAc,GAAd,UAAe,aAAa,EAAE,GAAG,EAAE,aAAa;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAE7C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE;gBAC1C,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAAW,GAAX,UAAY,aAAa,EAAE,GAAG,EAAE,aAAa;QAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1B,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,IAAI,IAAI,aAAa,EAAE;gBACzB,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAAU,GAAV,UAAW,QAAQ;QACjB,qEAAW,CAAC,UAAU,GAAG,IAAI,CAAC;QAC9B,qEAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;QACpC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,qEAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5E,qEAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrF,qEAAW,CAAC,4BAA4B,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrF,qEAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5C;aACI,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAChC,qEAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5E,qEAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrF,qEAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACtG,qEAAW,CAAC,4BAA4B,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrF,qEAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;SAC5C;IAEH,CAAC;IAzrBgD;QAAhD,+DAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,mEAAmB,EAAE,CAAC;kCAAK,mEAAmB;uDAAC;IAC1C;QAA9B,+DAAS,CAAC,kBAAkB,CAAC;kCAAc,wDAAU;+DAAC;IAEnC;QAAnB,+DAAS,CAAC,OAAO,CAAC;kCAAQ,wDAAU;0DAAC;IAgDd;QAAvB,+DAAS,CAAC,WAAW,CAAC;kCAAsB,wDAAU;yCAAV,wDAAU;0DAEtD;IACuB;QAAvB,+DAAS,CAAC,WAAW,CAAC;kCAAwB,wDAAU;yCAAV,wDAAU;2DAExD;IACuB;QAAvB,+DAAS,CAAC,WAAW,CAAC;kCAAwB,wDAAU;yCAAV,wDAAU;2DAExD;IA5DU,uBAAuB;QANnC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;;;SAGhC,CAAC;yCAgE2B,sDAAM,EAAgB,8DAAc,EAAiB,sEAAa;YAC5E,6EAAgB,EAAiB,4EAAwB;OA/D/D,uBAAuB,CA4rBnC;IAAD,8BAAC;CAAA;AA5rBmC;;;;;;;;;;;;AC1BpC,iJAAiJ,eAAe,mWAAmW,gkDAAgkD,sBAAsB,yGAAyG,sBAAsB,gIAAgI,yFAAyF,8MAA8M,wFAAwF,6EAA6E,sFAAsF,wEAAwE,2FAA2F,kgCAAkgC,sBAAsB,yGAAyG,sBAAsB,uDAAuD,wFAAwF,yDAAyD,sFAAsF,4rB;;;;;;;;;;;ACAl9I,mCAAmC,kCAAkC,2BAA2B,EAAE,uCAAuC,kBAAkB,oBAAoB,qCAAqC,0BAA0B,qBAAqB,EAAE,6CAA6C,uCAAuC,EAAE,0CAA0C,oBAAoB,0BAA0B,yBAAyB,2BAA2B,yBAAyB,EAAE,oDAAoD,sBAAsB,gCAAgC,4BAA4B,EAAE,6GAA6G,yBAAyB,EAAE,yDAAyD,uBAAuB,gCAAgC,EAAE,wEAAwE,8BAA8B,EAAE,oFAAoF,uBAAuB,2BAA2B,iCAAiC,EAAE,4DAA4D,+BAA+B,EAAE,gEAAgE,0BAA0B,iCAAiC,EAAE,8BAA8B,4DAA4D,kBAAkB,mBAAmB,4BAA4B,oBAAoB,0BAA0B,6BAA6B,8BAA8B,EAAE,kCAAkC,oBAAoB,uBAAuB,EAAE,iCAAiC,uBAAuB,0BAA0B,yBAAyB,yBAAyB,4BAA4B,EAAE,sCAAsC,2BAA2B,EAAE,0CAA0C,wBAAwB,+BAA+B,EAAE,8BAA8B,4DAA4D,kBAAkB,mBAAmB,4BAA4B,0BAA0B,uBAAuB,yBAAyB,uBAAuB,yBAAyB,0BAA0B,EAAE,+CAA+C,oBAAoB,sBAAsB,4BAA4B,2CAA2C,sBAAsB,gCAAgC,+BAA+B,EAAE,mDAAmD,sBAAsB,yBAAyB,EAAE,kDAAkD,yBAAyB,4BAA4B,2BAA2B,2BAA2B,8BAA8B,EAAE,uCAAuC,oBAAoB,sBAAsB,4BAA4B,sBAAsB,yBAAyB,EAAE,oDAAoD,sBAAsB,kCAAkC,2BAA2B,wBAAwB,EAAE,oEAAoE,+CAA+C,0BAA0B,2CAA2C,gCAAgC,0BAA0B,6BAA6B,yBAAyB,EAAE,iEAAiE,mCAAmC,oCAAoC,+BAA+B,6BAA6B,sCAAsC,0BAA0B,gCAAgC,oCAAoC,6BAA6B,EAAE,qEAAqE,0BAA0B,EAAE,oEAAoE,uBAAuB,wBAAwB,8BAA8B,EAAE,kFAAkF,+BAA+B,yCAAyC,wCAAwC,EAAE,iFAAiF,+BAA+B,yCAAyC,EAAE,iFAAiF,yCAAyC,+BAA+B,6BAA6B,yCAAyC,EAAE,+EAA+E,+BAA+B,6BAA6B,yCAAyC,yCAAyC,EAAE,uEAAuE,8BAA8B,wCAAwC,iCAAiC,+BAA+B,kCAAkC,EAAE,oFAAoF,0BAA0B,0BAA0B,EAAE,6FAA6F,2BAA2B,4BAA4B,4BAA4B,EAAE,gGAAgG,qCAAqC,kCAAkC,6CAA6C,mCAAmC,iCAAiC,EAAE,gGAAgG,2CAA2C,kCAAkC,mCAAmC,iCAAiC,6CAA6C,EAAE,uDAAuD,wBAAwB,2BAA2B,kCAAkC,yCAAyC,sCAAsC,iCAAiC,EAAE,kEAAkE,0BAA0B,kCAAkC,2CAA2C,+BAA+B,8BAA8B,EAAE,6EAA6E,gCAAgC,iCAAiC,EAAE,oEAAoE,oCAAoC,6BAA6B,+BAA+B,8BAA8B,8CAA8C,gCAAgC,8BAA8B,EAAE,+EAA+E,iCAAiC,EAAE,8EAA8E,cAAc,uEAAuE,EAAE,4BAA4B,qBAAqB,EAAE,EAAE,WAAW,mCAAmC,EAAE,0BAA0B,aAAa,eAAe,uBAAuB,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9qO;AACV;AACxB;AACF;AACC;AACM;AACtC;AAQ/B;IAeE,8BAAmB,MAAc,EAAS,MAAqB,EAAS,MAAgC,EAC/F,MAAwB,EAAS,EAAc;QADrC,WAAM,GAAN,MAAM,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAA0B;QAC/F,WAAM,GAAN,MAAM,CAAkB;QAAS,OAAE,GAAF,EAAE,CAAY;QAZxD,oBAAe,GAAG,KAAK,CAAC;QACxB,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAG,EAAE,CAAC;QAChB,gBAAW,GAAG,EAAE,CAAC;QACjB,eAAU,GAAG,KAAK;QAElB,aAAQ,GAAU,EAAE,CAAC;QACrB,gBAAW,GAAU,EAAE,CAAC;QACxB,oBAAe,GAAG,IAAI,CAAC;QACvB,gBAAW,GAAG,KAAK,CAAC;QAIlB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;QAED,2EAA2E;QAC3E,iEAAiE;QACjE,oBAAoB;QACpB,sCAAsC;QACtC,6BAA6B;QAC7B,4BAA4B;QAC5B,uBAAuB;QACvB,MAAM;QACN,MAAM;IAER,CAAC;IAGD,uCAAQ,GAAR;QAAA,iBAmCC;QAlCC,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,YAAY,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;YACD,WAAW;YACX,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YAC1B,qEAAW,CAAC,cAAc,GAAG,KAAI,CAAC,cAAc,CAAC;YACjD,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM;YAC/C,IAAI,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACpB;iBACI;gBACH,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,EACD,aAAG;YACD,QAAQ,CAAC;YACT,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,kDAAI,CAAC;gBACH,KAAK,EAAE,oDAAoD;gBAC3D,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAClC,CAAC,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAED,wCAAS,GAAT;QACE,qEAAW,CAAC,mBAAmB,GAAG,EAAE;QACpC,qEAAW,CAAC,mBAAmB,GAAG,EAAE;QACpC,qEAAW,CAAC,wBAAwB,GAAG,EAAE;QACzC,qEAAW,CAAC,gCAAgC,GAAG,EAAE;QACjD,qEAAW,CAAC,4BAA4B,GAAG,EAAE;QAC7C,qEAAW,CAAC,kBAAkB,GAAG,EAAE;QACnC,qEAAW,CAAC,eAAe,GAAG,IAAI;QAClC,qEAAW,CAAC,kBAAkB,GAAG,KAAK;IACxC,CAAC;IAED,oCAAK,GAAL,UAAM,KAAK;QACT,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpD,IAAI,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;YAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;gBACjC,IAAI,CAAC,UAAU,GAAG,KAAK;aACxB;SACF;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM;IACjD,CAAC;IACD,eAAe;IACf,uBAAuB;IACvB,0BAA0B;IAC1B,uBAAuB;IAGvB,IAAI;IAEJ,uCAAQ,GAAR;QAAA,iBAcC;QAbC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,GAAG,GAAG,mBAAmB,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAC/C,aAAG;YACD,IAAI,IAAI,CAAC;YACT,IAAI,GAAG,GAAG,CAAC;YACX,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChC,CAAC,EACD,aAAG;YACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,+CAAgB,GAAhB,UAAiB,GAAQ,EAAE,KAAU;QACnC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,kBAAQ,IAAI,eAAQ,KAAK,GAAG,EAAhB,CAAgB,CAAC,CAAC;SAC1E;IACH,CAAC;IAED,8CAAe,GAAf;QACE,kBAAkB;QAClB,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,KAAK,CAAC,UAAU,CAAC,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;SACrB;IACH,CAAC;IAED,6CAAc,GAAd;QACE,qEAAW,CAAC,WAAW,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,gDAAiB,GAAjB;QACE,qEAAW,CAAC,WAAW,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1C,CAAC;IAGD,4CAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,CAAC;IAED,wCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QAC3E,IAAI,KAAK,GAAG,CAAC;QACb,IAAI,QAAQ;QACZ,IAAI,aAAa,GAAG,EAAE;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE;gBACxD,IAAI,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACvF,IAAI,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACrF,IAAI,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACjF,IAAI,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACrF,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;oBACnL,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;iBACtC;qBACI;oBACH,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;oBACjC,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACjF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;qBACzB;iBACF;aACF;iBACI;gBACH,IAAI,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACvF,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;oBAC9C,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;iBACtC;qBACI;oBACH,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE;oBACjC,IAAI,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACjF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACjC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;qBACzB;iBACF;aACF;YACD,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,EAAE;gBAC1C,KAAK,EAAE;aACR;SACF;QACD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM;QACzC,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI;SACvB;aACI;YACH,IAAI,CAAC,UAAU,GAAG,KAAK;SACxB;IAEH,CAAC;IAED,gDAAiB,GAAjB,UAAkB,KAAK,EAAE,EAAE,EAAE,IAAI;QAAjC,iBAsDC;QArDC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE;YAChG,qEAAW,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,UAAU;SACrI;QACD,IAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,YAAY,EAAC;YACxD,IAAI,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;YAC5B,IAAI,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC;YAErC,IAAM,gBAAgB,GAAqB;gBACzC,WAAW,EAAE;oBACX,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,UAAU;iBAEvB;aACF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,CAAC;SACxD;aACG;YACJ,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,aAAa,GAAG,EAAE,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAChD,aAAG;gBACD,qEAAW,CAAC,cAAc,GAAG,EAAE,CAAC;gBAChC,qEAAW,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBACvC,IAAI,IAAI,GAAG,GAAG,CAAC;gBACf,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC/B,qEAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,qEAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,IAAI,IAAI,iBAAiB,EAAE;oBAC7B,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBAC3C;qBACI,IAAI,IAAI,IAAI,YAAY,EAAE;oBAC7B,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;iBACtC;qBACI,IAAI,IAAI,IAAI,iBAAiB,EAAE;oBAClC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBAC3C;gBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC,EACD,aAAG;gBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,oDAAoD;oBAC3D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClC,CAAC,CAAC;YACJ,CAAC,CACF;SACA;IACH,CAAC;IArQmB;QAAnB,+DAAS,CAAC,OAAO,CAAC;kCAAQ,wDAAU;uDAAC;IAD3B,oBAAoB;QANhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;;;SAG7B,CAAC;yCAiB2B,sDAAM,EAAiB,sEAAa,EAAiB,4EAAwB;YACvF,6EAAgB,EAAa,wDAAU;OAhB7C,oBAAoB,CAuQhC;IAAD,2BAAC;CAAA;AAvQgC;;;;;;;;;;;;ACdjC,mvCAAmvC,8vBAA8vB,sDAAsD,ilBAAilB,8FAA8F,8wBAA8wB,gwBAAgwB,yDAAyD,8sCAA8sC,0SAA0S,yPAAyP,wKAAwK,gwBAAgwB,iEAAiE,+VAA+V,k7BAAk7B,gTAAgT,0PAA0P,oLAAoL,gwBAAgwB,uEAAuE,qWAAqW,omEAAomE,8vBAA8vB,sDAAsD,uoBAAuoB,+2CAA+2C,ymBAAymB,kkBAAkkB,8DAA8D,sDAAsD,qGAAqG,gpBAAgpB,qlDAAqlD,yXAAyX,sCAAsC,udAAud,iEAAiE,gUAAgU,0EAA0E,6XAA6X,26CAA26C,2WAA2W,uCAAuC,2bAA2b,qDAAqD,gSAAgS,8DAA8D,0VAA0V,oyBAAoyB,6kBAA6kB,8DAA8D,yNAAyN,0XAA0X,uCAAuC,udAAud,qDAAqD,89BAA89B,0lDAA0lD,2XAA2X,wCAAwC,wdAAwd,8FAA8F,0WAA0W,uGAAuG,ubAAub,84CAA84C,wXAAwX,qCAAqC,qdAAqd,uDAAuD,sTAAsT,gEAAgE,yWAAyW,yzBAAyzB,gEAAgE,q+BAAq+B,yXAAyX,sCAAsC,sdAAsd,uDAAuD,sTAAsT,gEAAgE,yWAAyW,yzBAAyzB,+DAA+D,89BAA89B,wXAAwX,qCAAqC,qdAAqd,sDAAsD,qTAAqT,+DAA+D,uWAAuW,2zBAA2zB,kEAAkE,igBAAigB,kEAAkE,0XAA0X,kEAAkE,oeAAoe,kEAAkE,meAAme,kEAAkE,m9BAAm9B,yXAAyX,qCAAqC,sdAAsd,yDAAyD,wTAAwT,kEAAkE,6WAA6W,y7D;;;;;;;;;;;ACAhw7C,oCAAoC,0DAA0D,uBAAuB,+BAA+B,qBAAqB,wBAAwB,EAAE,oCAAoC,kBAAkB,kBAAkB,0BAA0B,yBAAyB,EAAE,wCAAwC,iBAAiB,kBAAkB,0BAA0B,yBAAyB,EAAE,2CAA2C,iBAAiB,kBAAkB,0BAA0B,yBAAyB,EAAE,sCAAsC,oBAAoB,oBAAoB,8BAA8B,0BAA0B,EAAE,0CAA0C,oBAAoB,qBAAqB,2BAA2B,kCAAkC,2BAA2B,4BAA4B,sBAAsB,gCAAgC,4BAA4B,EAAE,8CAA8C,sBAAsB,EAAE,2CAA2C,mCAAmC,yBAAyB,EAAE,gCAAgC,iCAAiC,uBAAuB,EAAE,8CAA8C,qBAAqB,2BAA2B,iCAAiC,yBAAyB,2BAA2B,EAAE,2DAA2D,qBAAqB,wBAAwB,kCAAkC,+BAA+B,yBAAyB,2BAA2B,EAAE,2EAA2E,wBAAwB,EAAE,4FAA4F,8BAA8B,mCAAmC,EAAE,qFAAqF,4BAA4B,iCAAiC,EAAE,qFAAqF,iCAAiC,yBAAyB,4BAA4B,kCAAkC,+BAA+B,EAAE,6FAA6F,kCAAkC,EAAE,qFAAqF,yCAAyC,0BAA0B,+BAA+B,iCAAiC,EAAE,uFAAuF,iCAAiC,wBAAwB,EAAE,8FAA8F,gCAAgC,EAAE,kFAAkF,2CAA2C,oCAAoC,4CAA4C,EAAE,oEAAoE,yBAAyB,2BAA2B,+BAA+B,gCAAgC,iCAAiC,6BAA6B,uBAAuB,6BAA6B,uBAAuB,yBAAyB,0CAA0C,4BAA4B,EAAE,yEAAyE,uBAAuB,6BAA6B,EAAE,2EAA2E,0BAA0B,oCAAoC,EAAE,mFAAmF,0BAA0B,kCAAkC,0CAA0C,qCAAqC,0BAA0B,+BAA+B,yCAAyC,6BAA6B,wCAAwC,EAAE,uFAAuF,6BAA6B,6CAA6C,EAAE,iEAAiE,qDAAqD,yBAAyB,2BAA2B,6BAA6B,+BAA+B,EAAE,qEAAqE,+BAA+B,EAAE,iFAAiF,4BAA4B,0BAA0B,gCAAgC,2BAA2B,gCAAgC,+BAA+B,oCAAoC,wBAAwB,uBAAuB,4BAA4B,uBAAuB,wBAAwB,EAAE,uFAAuF,yBAAyB,EAAE,mFAAmF,mCAAmC,wCAAwC,+BAA+B,EAAE,2EAA2E,4BAA4B,0BAA0B,gCAAgC,2BAA2B,gCAAgC,+BAA+B,oCAAoC,wBAAwB,uBAAuB,4BAA4B,uBAAuB,wBAAwB,EAAE,iFAAiF,yBAAyB,EAAE,6EAA6E,mCAAmC,wCAAwC,+BAA+B,EAAE,mFAAmF,+BAA+B,uBAAuB,uBAAuB,EAAE,mEAAmE,+BAA+B,EAAE,gEAAgE,2CAA2C,qCAAqC,0BAA0B,6BAA6B,kCAAkC,6BAA6B,6BAA6B,uBAAuB,2BAA2B,iCAAiC,qBAAqB,EAAE,gFAAgF,+BAA+B,uCAAuC,2BAA2B,6BAA6B,oCAAoC,6BAA6B,6BAA6B,EAAE,sEAAsE,8BAA8B,EAAE,8BAA8B,qBAAqB,iBAAiB,oBAAoB,oCAAoC,EAAE,sCAAsC,mBAAmB,uBAAuB,iBAAiB,2BAA2B,EAAE,iDAAiD,yBAAyB,kCAAkC,oBAAoB,EAAE,+BAA+B,mBAAmB,qBAAqB,yBAAyB,0BAA0B,2BAA2B,uBAAuB,iBAAiB,uBAAuB,iBAAiB,mBAAmB,oCAAoC,sBAAsB,EAAE,wCAAwC,wBAAwB,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/qP;AAC/B;AACpB;AACa;AACD;AACD;AACO;AACtC;AAU/B;IAqFE,kCAAmB,MAAc,EAAS,KAAqB,EAAS,GAAiB,EAAS,MAAqB,EAC9G,MAAwB,EAAS,EAAc,EAAS,MAAgC,EAAU,KAAwB;QADnI,iBA0NC;QA1NkB,WAAM,GAAN,MAAM,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAgB;QAAS,QAAG,GAAH,GAAG,CAAc;QAAS,WAAM,GAAN,MAAM,CAAe;QAC9G,WAAM,GAAN,MAAM,CAAkB;QAAS,OAAE,GAAF,EAAE,CAAY;QAAS,WAAM,GAAN,MAAM,CAA0B;QAAU,UAAK,GAAL,KAAK,CAAmB;QAnFnI,sBAAiB,GAAG,IAAI,CAAC;QAIzB,kBAAa,GAAQ,EAAE,CAAC;QAIxB,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAG,KAAK,CAAC;QACnB,2BAAsB,GAAG,KAAK,CAAC;QAC/B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,wBAAmB,GAAG,KAAK,CAAC;QAC5B,qBAAgB,GAAG,KAAK,CAAC;QACzB,qBAAgB,GAAG,KAAK,CAAC;QACzB,aAAQ,GAAQ,EAAE,CAAC;QACnB,oBAAe,GAAQ,EAAE,CAAC;QAC1B,yBAAoB,GAAQ,EAAE,CAAC;QAE/B,YAAO,GAAQ,EAAE,CAAC;QAClB,iBAAY,GAAQ,EAAE,CAAC;QACvB,sBAAiB,GAAQ,EAAE,CAAC;QAC5B,cAAS,GAAQ,EAAE,CAAC;QACpB,cAAS,GAAQ,EAAE,CAAC;QACpB,oBAAe,GAAG,qEAAW,CAAC,eAAe,CAAC;QAC9C,uBAAkB,GAAG,qEAAW,CAAC,kBAAkB,CAAC;QACpD,sBAAiB,GAAG,qEAAW,CAAC,iBAAiB,CAAC;QASlD,kBAAa,GAAQ,EAAE,CAAC;QACxB,oBAAe,GAAQ,EAAE,CAAC;QAC1B,wBAAmB,GAAQ,EAAE,CAAC;QAC9B,mBAAc,GAAQ,EAAE;QACxB,sBAAiB,GAAG,EAAE,CAAC;QACvB,mBAAc,GAAG,EAAE,CAAC;QACpB,mBAAc,GAAG,EAAE,CAAC;QACpB,oBAAe,GAAG,EAAE,CAAC;QACrB,qBAAgB,GAAG,EAAE,CAAC;QACtB,sBAAiB,GAAG,EAAE,CAAC;QACvB,mBAAc,GAAG,EAAE,CAAC;QACpB,oBAAe,GAAG,EAAE,CAAC;QACrB,mBAAc,GAAG,EAAE,CAAC;QACpB,oBAAe,GAAG,EAAE,CAAC;QACrB,oBAAe,GAAG,EAAE;QACpB,oBAAe,GAAG,EAAE;QACpB,oBAAe,GAAG,EAAE;QACpB,oBAAe,GAAG,EAAE,CAAC;QACrB,oBAAe,GAAG,EAAE;QACpB,mBAAc,GAAG,EAAE,CAAC;QACpB,mBAAc,GAAG,EAAE,CAAC;QACpB,qBAAgB,GAAG,EAAE,CAAC;QACtB,sBAAiB,GAAG,EAAE,CAAC;QACvB,uBAAkB,GAAG,EAAE,CAAC;QACxB,oBAAe,GAAG,EAAE,CAAC;QACrB,qBAAgB,GAAG,EAAE,CAAC;QACtB,oBAAe,GAAG,EAAE,CAAC;QACrB,qBAAgB,GAAG,EAAE,CAAC;QACtB,UAAK,GAAG,EAAE,CAAC;QACX,UAAK,GAAG,EAAE,CAAC;QACX,UAAK,GAAG,EAAE,CAAC;QACX,YAAO,GAAG,EAAE,CAAC;QACb,WAAM,GAAG,KAAK,CAAC;QACf,YAAO,GAAG,KAAK,CAAC;QAChB,aAAQ,GAAG,KAAK,CAAC;QACjB,eAAU,GAAG,IAAI,CAAC;QAClB,eAAU,GAAG,EAAE,CAAC;QAChB,eAAU,GAAG,EAAE;QACf,eAAU,GAAG,EAAE;QACf,YAAO,GAAG,EAAE;QACZ,UAAK,GAAG,EAAE;QACV,SAAI,GAAG,EAAE;QACT,UAAK,GAAG,EAAE;QACV,QAAG,GAAG,EAAE;QAIN,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,oBAAoB;YACpB,kEAAkE;YAClE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAM;gBAChD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,KAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9C,IAAI,SAAS,GAAG,qEAAW,CAAC,mBAAmB,CAAC;gBAChD,IAAI,aAAa,GAAG,EAAE,CAAC;gBACvB,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;gBAC7B,IAAI,qEAAW,CAAC,kBAAkB,IAAI,IAAI,EAAE;oBAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC;oBAC9E,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC;wBAClE,IAAI,CAAC,iBAAiB,GAAG,KAAK;wBAC9B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC;qBACnD;yBACI;wBACH,IAAI,CAAC,iBAAiB,GAAG,EAAE;wBAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC;qBACnD;iBACF;aACF;YAED,IAAI,CAAC,kBAAkB,GAAG,qEAAW,CAAC,mBAAmB,CAAC;YAC1D,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,eAAe,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,WAAW,EAAE;gBACtI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzE,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACpE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC3B;aACF;YACD,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;YAC3C,IAAI,qEAAW,CAAC,eAAe,IAAI,IAAI,EAAE;gBACvC,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC/C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;iBAClC;gBACD,IAAI,IAAI,CAAC;gBACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC7D,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;gBAC3F,IAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC;gBACxE,IAAI,CAAC,MAAM,CAAC,iCAAiC,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC3D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;oBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACxD,IAAI,KAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,uBAAuB,EAAE;4BACzE,IAAI,GAAG,KAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC7C,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;4BAC1B,MAAM;yBACP;qBACF;oBACD,IAAI,KAAK,GAAG,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC;oBAC3F,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,IAAI,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;wBAC7C,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,mBAAmB,GAAG,KAAI,CAAC,uBAAuB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;qBACvI;gBACH,CAAC,CAAC,CAAC;gBACH,SAAS;gBACT,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBACtE,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBACjF,IAAI,CAAC,aAAa,CAAC,gCAAgC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBACvF,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBACzE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;aAC7B;iBAAM,IAAI,qEAAW,CAAC,kBAAkB,IAAI,IAAI,EAAE;gBACjD,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;oBACzB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;oBACjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE;iBAC9B;gBACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACjF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACrE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACzE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC;gBACvE,oFAAoF;gBACpF,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;gBACvF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChD,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;gBACrF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9C,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;gBAC1F,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClD,IAAI,CAAC,GAAG,GAAG;oBACT;wBACE,WAAW,EAAE,GAAG;wBAChB,SAAS,EAAE,CAAC;qBACb;oBACD;wBACE,WAAW,EAAE,GAAG;wBAChB,SAAS,EAAE,CAAC;qBACb;oBACD;wBACE,WAAW,EAAE,GAAG;wBAChB,SAAS,EAAE,CAAC;qBACb;oBACD;wBACE,WAAW,EAAE,GAAG;wBAChB,SAAS,EAAE,CAAC;qBACb;oBACD;wBACE,WAAW,EAAE,GAAG;wBAChB,SAAS,EAAE,CAAC;qBACb;oBACD;wBACE,WAAW,EAAE,GAAG;wBAChB,SAAS,EAAE,CAAC;qBACb;iBACF,CAAC;gBACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,UAAC,IAAI;oBACjD,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBAClC,IAAI,KAAI,CAAC,qBAAqB,IAAI,EAAE,EAAE;wBACpC,IAAI,IAAI,GAAG,iBAAiB,GAAG,KAAI,CAAC,qBAAqB;wBACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpD,IAAI,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gCAC3D,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI;6BACpC;yBACF;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC3D,IAAI,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gCAClE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI;6BAC3C;yBACF;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACxD,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gCAC/D,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI;6BACxC;yBACF;qBACF;gBACH,CAAC,CAAC;gBAEF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAC,IAAI;oBAChD,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,IAAI,KAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE;wBACnC,IAAI,IAAI,GAAG,gBAAgB,GAAG,KAAI,CAAC,oBAAoB;wBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpD,IAAI,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gCAC1D,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI;6BACpC;yBACF;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC3D,IAAI,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gCACjE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI;6BAC3C;yBACF;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACxD,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gCAC9D,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI;6BACxC;yBACF;qBACF;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAClE,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS,CAAC,UAAC,IAAI;oBAClD,KAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;oBACvC,KAAI,CAAC,IAAI,GAAG,EAAE;oBACd,KAAI,CAAC,KAAK,GAAG,EAAE;oBACf,IAAI,KAAI,CAAC,0BAA0B,IAAI,EAAE,EAAE;wBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpD,IAAI,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gCAC7D,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,mBAAmB,GAAG,KAAI,CAAC,0BAA0B;6BACrF;yBACF;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC3D,IAAI,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gCACpE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,mBAAmB,GAAG,KAAI,CAAC,0BAA0B;6BAC5F;yBACF;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACxD,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gCACjE,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,mBAAmB,GAAG,KAAI,CAAC,0BAA0B;6BACzF;yBACF;qBACF;gBACH,CAAC,CAAC;gBAEF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC/C,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAChC,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,UAAC,IAAI;oBACxC,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBACjB,KAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,UAAC,IAAI;oBACzC,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,KAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC,CAAC,CAAC;aAEJ;YACD,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC/C,IAAI,CAAC,iBAAiB,GAAG,EAAE;gBAC3B,IAAI,CAAC,0BAA0B,GAAG,EAAE;gBACpC,IAAI,CAAC,qBAAqB,GAAG,EAAE;gBAC/B,IAAI,CAAC,oBAAoB,GAAG,EAAE;aAC/B;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IAGH,CAAC;IACD,2CAAQ,GAAR;IAEA,CAAC;IACD,kDAAe,GAAf;QACE,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,WAAW,CAAC;YACV,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;gBACvE,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;oBACzB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC;QACP,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9C,IAAI,SAAS,GAAG,qEAAW,CAAC,mBAAmB,CAAC;YAChD,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,eAAe;YACf,SAAS,GAAG,qEAAW,CAAC,mBAAmB;YAC3C,IAAI,qEAAW,CAAC,eAAe,IAAI,IAAI,EAAE;gBACvC,IAAI,MAAM,GAAG,IAAI;gBACjB,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;gBAC7B,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAC3D,UAAU,CAAC,OAAO,CAAC,UAAU,GAAG;oBAC9B,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;wBACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC1D,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gCACzD,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS;gCACxE,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,uBAAuB,CAAC;6BACzE;yBACF;qBACF;gBACH,CAAC,CAAC;gBACF,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;gBAC7B,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC/C,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAC3D,IAAI,CAAC,cAAc,GAAG,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG,EAAE;gBACxB,IAAI,CAAC,eAAe,GAAG,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,EAAE;gBACzB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,UAAU,OAAO;oBACxF,UAAU,CAAC,OAAO,CAAC,UAAU,GAAG;wBAC9B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;wBACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI,0BAA0B,EAAE;4BAC/E,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;4BAC9B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;4BAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,UAAU;4BAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;4BAC/C,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC1E,IAAI,GAAG,IAAI,eAAe,EAAE;gCAC1B,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BACzE;4BACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAChE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;4BAChE,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC;4BAClE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;4BACnD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;4BACxD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI;4BAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,IAAI,GAAG,IAAI,eAAe,EAAE;oCAC1B,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACpC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACvC;qCAAM,IAAI,GAAG,IAAI,gCAAgC,EAAE;oCAClD,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACrC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACxC;qCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oCAC3C,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACrC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACxC;6BACF;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC3E;yBACF;6BAAM,IAAI,GAAG,IAAI,0BAA0B,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,0BAA0B,EAAE;4BACtG,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;4BAC9B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;4BAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,UAAU;4BAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;4BAC/C,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC1E,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAChE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;4BAChE,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC;4BAClE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;4BACnD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;4BACxD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI;4BAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCACrC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;6BACxC;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC3E;yBACF;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;gBACF,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;iBAC7B;gBACD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;iBAC7B;gBACD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE;oBACpC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;iBAC7B;aACF;iBACI,IAAI,qEAAW,CAAC,kBAAkB,IAAI,IAAI,EAAE;gBAC/C,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;gBAC7B,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC/C,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACzC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAC3D,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;gBACzD,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;gBACzD,WAAW,CAAC,OAAO,CAAC,UAAU,GAAG;oBAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;wBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gCACnD,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;gCAChE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,qBAAqB,CAAC;6BAC7D;yBACF;qBACF;oBACD,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;wBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gCAClD,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gCAC9D,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC;6BAC3D;yBACF;qBACF;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;4BACpD,MAAM,CAAC,0BAA0B,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;4BACtE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,0BAA0B,CAAC;yBACnE;qBACF;gBACH,CAAC,CAAC;gBACF,WAAW,CAAC,OAAO,CAAC,UAAU,GAAG;oBAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;wBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gCACnD,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;gCAChE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,qBAAqB,CAAC;6BAC7D;yBACF;qBACF;oBACD,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;wBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gCAClD,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gCAC9D,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC;6BAC3D;yBACF;qBACF;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;4BACpD,MAAM,CAAC,0BAA0B,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;4BACtE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,0BAA0B,CAAC;yBACnE;qBACF;gBACH,CAAC,CAAC;gBACF,UAAU,CAAC,OAAO,CAAC,UAAU,GAAG;oBAC9B,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;wBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gCACnD,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;gCAChE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,qBAAqB,CAAC;6BAC7D;yBACF;qBACF;oBACD,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;wBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;gCAClD,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gCAC9D,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC;6BAC3D;yBACF;qBACF;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;4BACpD,MAAM,CAAC,0BAA0B,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS;4BACtE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,0BAA0B,CAAC;yBACnE;qBACF;gBACH,CAAC,CAAC;gBACF,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;gBAC7E,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;gBACjF,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;gBACpF,IAAI,QAAQ,IAAI,IAAI,EAAE;oBACpB,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,mBAAmB,GAAG,IAAI,CAAC,0BAA0B;iBACrG;qBAAM,IAAI,QAAQ,IAAI,IAAI,EAAE;oBAC3B,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,mBAAmB,GAAG,IAAI,CAAC,0BAA0B;iBACzG;qBACI,IAAI,QAAQ,IAAI,IAAI,EAAE;oBACzB,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,mBAAmB,GAAG,IAAI,CAAC,0BAA0B;iBAC5G;gBACD,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;gBAC7B,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;gBAC/C,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACzC,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAC3D,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;gBACzD,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;gBAEzD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,UAAU,OAAO;oBACxF,UAAU,CAAC,OAAO,CAAC,UAAU,GAAG;wBAC9B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;wBACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI,0BAA0B,EAAE;4BAC/E,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;4BAC9B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;4BAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,UAAU;4BAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;4BAC/C,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC1E,IAAI,GAAG,IAAI,eAAe,EAAE;gCAC1B,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BACzE;4BACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAChE,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC;4BAClE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;4BACnD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;4BACxD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,IAAI,GAAG,IAAI,eAAe,EAAE;oCAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACnC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACtC;qCAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE;oCACpC,MAAM,CAAC,MAAM,GAAG,IAAI;oCACpB,sCAAsC;oCACtC,wCAAwC;iCACzC;qCAAM,IAAI,GAAG,IAAI,0BAA0B,EAAE;oCAC5C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACpC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oCACvC,MAAM,CAAC,QAAQ,GAAG,IAAI;iCACvB;qCAAM,IAAI,GAAG,IAAI,cAAc,EAAE;oCAChC,MAAM,CAAC,OAAO,GAAG,IAAI;oCACrB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACrC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACzC;qCAAM,IAAI,GAAG,IAAI,uDAAuD,EAAE;oCACzE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACtC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCAC1C;qCAAM,IAAI,GAAG,IAAI,gBAAgB,EAAE;oCAClC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACnC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACvC;qCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;oCACzC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACpC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACxC;qCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;oCACxC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACnC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACvC;qCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oCAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACpC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oCACvC,IAAI,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,kBAAkB,CAAC;oCAClF,IAAI,MAAM,CAAC,0BAA0B,IAAI,OAAO,EAAE;wCAChD,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM;qCAC7C;yCAAM,IAAI,MAAM,CAAC,0BAA0B,IAAI,QAAQ,EAAE;wCACxD,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM;qCAC9C;yCAAM,IAAI,MAAM,CAAC,0BAA0B,IAAI,YAAY,EAAE;wCAC5D,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM;wCAC5C,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM;qCAC9C;iCACF;6BACF;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC3E;yBACF;6BAAM,IAAI,GAAG,IAAI,0BAA0B,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,0BAA0B,EAAE;4BACtG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;4BAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,UAAU;4BAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,MAAM,CAAC,QAAQ,GAAG,IAAI;4BACtB,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;4BAC/C,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC1E,IAAI,GAAG,IAAI,eAAe,EAAE;gCAC1B,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BACzE;4BACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAChE,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC;4BAClE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;4BACnD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;4BACxD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCACpC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;6BACxC;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC3E;yBACF;oBACH,CAAC,CAAC;oBACF,WAAW,CAAC,OAAO,CAAC,UAAU,GAAG;wBAC/B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;wBACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI,0BAA0B,EAAE;4BAC/E,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;4BAC9B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;4BAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM;4BACxC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;4BAC/C,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC1E,IAAI,GAAG,IAAI,eAAe,EAAE;gCAC1B,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BACzE;4BACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAChE,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC;4BAC/D,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;4BAChD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;4BACrD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,IAAI,GAAG,IAAI,eAAe,EAAE;oCAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACnC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACtC;qCAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE;oCACpC,MAAM,CAAC,MAAM,GAAG,IAAI;oCACpB,sCAAsC;oCACtC,wCAAwC;iCACzC;qCAAM,IAAI,GAAG,IAAI,0BAA0B,EAAE;oCAC5C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACpC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oCACvC,MAAM,CAAC,QAAQ,GAAG,IAAI;iCACvB;qCAAM,IAAI,GAAG,IAAI,cAAc,EAAE;oCAChC,MAAM,CAAC,OAAO,GAAG,IAAI;oCACrB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACrC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACzC;qCAAM,IAAI,GAAG,IAAI,uDAAuD,EAAE;oCACzE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACtC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCAC1C;qCAAM,IAAI,GAAG,IAAI,gBAAgB,EAAE;oCAClC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACnC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACvC;qCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;oCACzC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACpC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACxC;qCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;oCACxC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACnC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iCACvC;qCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oCAC3C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCACpC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oCACvC,IAAI,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC;oCAC/E,IAAI,MAAM,CAAC,0BAA0B,IAAI,OAAO,EAAE;wCAChD,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;qCAC1C;yCAAM,IAAI,MAAM,CAAC,0BAA0B,IAAI,QAAQ,EAAE;wCACxD,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;qCAC3C;yCAAM,IAAI,MAAM,CAAC,0BAA0B,IAAI,YAAY,EAAE;wCAC5D,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;wCACzC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;qCAC3C;iCACF;6BACF;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC3E;yBACF;6BAAM,IAAI,GAAG,IAAI,0BAA0B,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,0BAA0B,EAAE;4BACtG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;4BAChC,MAAM,CAAC,QAAQ,GAAG,IAAI;4BACtB,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM;4BACxC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;4BAC/C,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC1E,IAAI,GAAG,IAAI,eAAe,EAAE;gCAC1B,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;6BACzE;4BACD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAChE,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC;4BAC/D,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;4BAChD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;4BACrD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCACpC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;6BACxC;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC3E;yBACF;oBACH,CAAC,CAAC;oBACF,WAAW,CAAC,OAAO,CAAC,UAAU,GAAG;wBAC/B,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;wBACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI,0BAA0B,EAAE;4BAC/E,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;4BAC9B,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;4BAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM;4BACxC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;4BAC/C,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC1E,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAChE,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC;4BAC/D,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;4BACtD,IAAI,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;4BACxD,IAAI,GAAG,IAAI,eAAe,EAAE;gCAC1B,kCAAkC;gCAClC,yDAAyD;6BAC1D;iCAAM,IAAI,GAAG,IAAI,kBAAkB,EAAE;gCACpC,MAAM,CAAC,MAAM,GAAG,IAAI;gCACpB,mCAAmC;6BACpC;iCAAM,IAAI,GAAG,IAAI,0BAA0B,EAAE;gCAC5C,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;gCACpC,MAAM,CAAC,QAAQ,GAAG,IAAI;gCACtB,IAAI,MAAM,CAAC,OAAO,EAAE;oCAClB,MAAM,CAAC,UAAU,GAAG,MAAM;iCAC3B;6BACF;iCAAM,IAAI,GAAG,IAAI,cAAc,EAAE;gCAChC,MAAM,CAAC,OAAO,GAAG,IAAI;gCACrB,MAAM,CAAC,iBAAiB,GAAG,EAAE;gCAC7B,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;gCACrC,MAAM,CAAC,UAAU,GAAG,MAAM;6BAC3B;iCAAM,IAAI,GAAG,IAAI,uDAAuD,EAAE;gCACzE,MAAM,CAAC,kBAAkB,GAAG,EAAE;gCAC9B,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;6BACvC;iCAAM,IAAI,GAAG,IAAI,gBAAgB,EAAE;gCAClC,MAAM,CAAC,eAAe,GAAG,EAAE;gCAC3B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;6BACpC;iCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gCACzC,MAAM,CAAC,gBAAgB,GAAG,EAAE;gCAC5B,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;6BACrC;iCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gCACxC,MAAM,CAAC,eAAe,GAAG,EAAE;gCAC3B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;6BACpC;iCAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gCAC3C,MAAM,CAAC,gBAAgB,GAAG,EAAE;gCAC5B,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;gCACpC,IAAI,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC;gCAC/E,IAAI,MAAM,CAAC,0BAA0B,IAAI,OAAO,EAAE;oCAChD,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;iCAC1C;qCAAM,IAAI,MAAM,CAAC,0BAA0B,IAAI,QAAQ,EAAE;oCACxD,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;iCAC3C;qCAAM,IAAI,MAAM,CAAC,0BAA0B,IAAI,YAAY,EAAE;oCAC5D,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;oCACzC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM;iCAC3C;6BACF;yBACF;6BAAM,IAAI,GAAG,IAAI,0BAA0B,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,0BAA0B,EAAE;4BACtG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;4BAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,MAAM;4BACxC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BAC3B,MAAM,CAAC,QAAQ,GAAG,IAAI;4BACtB,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;4BAC/C,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC1E,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAChE,IAAI,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC;4BAC/D,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;4BACtD,IAAI,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;4BACxD,MAAM,CAAC,gBAAgB,GAAG,EAAE;4BAC5B,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;4BACpC,IAAI,MAAM,CAAC,OAAO,EAAE;gCAClB,MAAM,CAAC,UAAU,GAAG,MAAM;6BAC3B;yBACF;oBACH,CAAC,CAAC;gBACJ,CAAC,CAAC;gBACF,IAAI,MAAM,GAAG,IAAI;aAClB;SACF;IAEH,CAAC;IAED,8CAAW,GAAX,UAAY,CAAC;QACX,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,EAAE;YACpC,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,6CAAU,GAAV,UAAW,CAAC;QACV,IAAI,EAAE,GAAG,eAAe,CAAC;QACzB,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,8CAAW,GAAX,UAAY,CAAC;QACX,IAAI,EAAE,GAAG,eAAe,CAAC;QACzB,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,+CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC;QACV,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClI,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU;YACzE,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,0BAA0B,EAAE;oBAChE,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1B,oCAAoC;oBACpC,8DAA8D;oBAC9D,6CAA6C;oBAC7C,MAAM;oBACN,KAAK;iBACN;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,gCAAgC,EAAE;oBAC3E,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,kBAAkB,EAAE;oBAC7D,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;oBACzD,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,uDAAuD,EAAE;oBAClG,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,gBAAgB,EAAE;oBAC3D,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,kBAAkB,EAAE;oBAC7D,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,eAAe,EAAE;oBAC1D,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,gBAAgB,EAAE;oBAC3D,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC7B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;aACF;iBACI;gBACH,IAAI,qEAAW,CAAC,eAAe,EAAE;oBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;4BACnE,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACrC,MAAM;yBACP;qBACF;iBACF;qBACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;oBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC5D,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;4BAC/E,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACjD,MAAM;yBACP;qBACF;iBACF;qBACI,IAAI,qEAAW,CAAC,iBAAiB,EAAE;oBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;4BACnE,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACrC,MAAM;yBACP;qBACF;iBACF;gBAED,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,0BAA0B,EAAE;oBAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,gCAAgC,EAAE;oBAC3E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,kBAAkB,EAAE;oBAC7D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC3E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;oBACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC3E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,uDAAuD,EAAE;oBAClG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC3E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,gBAAgB,EAAE;oBAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC3E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;qBACI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,0BAA0B,EAAE;oBACrE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;gBACD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aACjC;IACL,CAAC;IAID,uDAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC;QAET,IAAI,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC;QACV,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC5I,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK;YAChL,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACtD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClE,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,gBAAgB,EAAE;oBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;4BAClD,IAAI,IAAI,GAAG,IAAI,CAAC;yBACjB;qBACF;oBACD,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBACxD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC9B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACzD,gBAAgB,CAAC,OAAO,CAAC,kBAAQ;wBAC/B,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,eAAe,EAAE;4BACvD,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;yBACvC;oBACH,CAAC,CAAC,CAAC;iBACJ;qBACI,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,EAAE;oBAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;4BAClD,IAAI,IAAI,GAAG,IAAI,CAAC;yBACjB;qBACF;oBACD,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;oBAE/B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACvD,gBAAgB,CAAC,OAAO,CAAC,kBAAQ;wBAC/B,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,gBAAgB,EAAE;4BACxD,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;yBACvC;oBACH,CAAC,CAAC,CAAC;iBACJ;qBACI,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,kBAAkB,EAAE;oBAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;4BAClD,IAAI,IAAI,GAAG,IAAI,CAAC;yBACjB;qBACF;oBACD,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBACxD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC9B,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;oBACrC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;iBAChE;aACF;iBACI;gBACH,IAAI,qEAAW,CAAC,eAAe,EAAE;oBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAChD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;4BACpG,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACrC,MAAM;yBACP;qBACF;iBACF;qBACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;oBACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC5D,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;4BAChH,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACjD,MAAM;yBACP;qBACF;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;4BAC1G,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC3C,MAAM;yBACP;qBACF;iBACF;qBACI,IAAI,qEAAW,CAAC,iBAAiB,EAAE;oBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;4BAC1G,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC3C,MAAM;yBACP;qBACF;iBACF;gBAED,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,gBAAgB,EAAE;oBACvD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7E,IAAI,IAAI,CAAC,qBAAqB,IAAI,EAAE,EAAE;wBACpC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;qBAC1D;iBACF;qBACI,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,EAAE;oBAC3D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7E,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE;wBACnC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;qBACxD;iBACF;qBACI,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,kBAAkB,EAAE;oBAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC5E,IAAI,IAAI,CAAC,0BAA0B,IAAI,EAAE,EAAE;wBACzC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;qBAChE;iBACF;gBACD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACtE;IACL,CAAC;IAED,iDAAc,GAAd;QACE,wBAAwB;QACxB,IAAI,MAAM,GAAG,IAAI;QACjB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;YAC1E,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC;YAC1D,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAC5E,IAAI,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS;YACzD,IAAI,QAAQ,GAAG,EAAE;YACjB,IAAI,QAAQ,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;YACxD,IAAI,QAAQ,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;YACxD,IAAI,SAAS,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe;YACxD,IAAI,SAAS,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe;YACxD,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;gBAClE,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,EAAE;oBAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;iBAC3B;YACH,CAAC,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC7B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzC;aACF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACpC;YACD,IAAI,MAAM,IAAI,UAAU,EAAE;gBACxB,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC;gBAChC,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC;aACjC;iBAAM,IAAI,MAAM,IAAI,MAAM,EAAE;gBAC3B,SAAS,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC;gBACjC,SAAS,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC;aAClC;YACD,IAAI,CAAC,gBAAgB,CAAC,sHAAsH,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;gBACnK,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,EAAE;oBAC/B,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;oBACxB,sBAAsB;oBACtB,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS;oBACxE,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACzC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBACtC;oBACD,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE;wBAChC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;4BAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACzC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;6BACtC;4BACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;gCACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE;oCACxH,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,GAAG,kBAAkB;wCACzM,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;qCAAM;iCACN;6BACF;iCACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC7B,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;oCACnD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,yCAAyC;wCAChD,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;gCACD,SAAS;gCACT,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;oCACvH,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE;oCACvH,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,GAAG,kBAAkB;wCACzM,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;6BACF;yBACF;6BAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;4BAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACzC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;6BACtC;4BACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;gCACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE;oCACtD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,GAAG,EAAE,GAAG,kBAAkB;wCACvI,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;qCAAM;iCACN;6BACF;iCACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC7B,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;oCACnD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,yCAAyC;wCAChD,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;gCACD,SAAS;gCACT,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ;oCACrD,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE;oCACrD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,GAAG,EAAE,GAAG,kBAAkB;wCACvI,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;6BACF;yBACF;qBACF;yBAAM,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;wBACnC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;4BAC1D,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;gCACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;oCACtH,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,EAAE,GAAG,kBAAkB;wCACzM,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;6BACF;iCACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe;oCACrH,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;oCACrH,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,EAAE,GAAG,kBAAkB;wCACzM,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;gCAED,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;oCACnD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,2CAA2C;wCAClD,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;6BACF;yBACF;6BAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE;4BAC5G,IAAI,SAAS,GAAG,qEAAW,CAAC,sBAAsB,EAAE;gCAClD,SAAS,GAAG,qEAAW,CAAC,sBAAsB;6BAC/C;4BACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;gCACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE;oCACxD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;wCAC3I,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;6BACF;iCACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;oCACvD,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;oCACvD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;wCAC3I,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;gCAED,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;oCACnD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,2CAA2C;wCAClD,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;6BACF;yBACF;6BAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE;4BACzG,IAAI,SAAS,GAAG,qEAAW,CAAC,gBAAgB,EAAE;gCAC5C,SAAS,GAAG,qEAAW,CAAC,gBAAgB;6BACzC;4BACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;gCACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE;oCACxD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;wCAC3I,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;6BACF;iCACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;oCACvD,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;oCACvD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;wCAC3I,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;gCAED,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;oCACnD,MAAM,CAAC,UAAU,GAAG,KAAK;oCACzB,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACjB,kDAAI,CAAC;wCACH,KAAK,EAAE,2CAA2C;wCAClD,IAAI,EAAE,SAAS;wCACf,gBAAgB,EAAE,KAAK;wCACvB,kBAAkB,EAAE,SAAS;wCAC7B,iBAAiB,EAAE,SAAS;wCAC5B,iBAAiB,EAAE,IAAI;qCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wCACb,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;oCACnB,CAAC,CAAC;iCACH;6BACF;yBACF;qBACF;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,qEAAW,CAAC,eAAe,EAAE;YAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,yJAAyJ,CAAC;YAC9M,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,kEAAkE,CAAC,CAAC;YAC3H,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,2CAA2C,CAAC,CAAC;YACpG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,kEAAkE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBAC/H,IAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,mDAAmD;iBACpD;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,KAAK,EAAE,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,yJAAyJ,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBACtN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,mDAAmD;oBACnD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrB,kDAAI,CAAC;wBACH,KAAK,EAAE,6BAA6B;wBACpC,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,2BAA2B;wBAC3B,+BAA+B;oBACjC,CAAC,CAAC;iBACH;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnD,KAAK,EAAE,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,2CAA2C,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBACxG,IAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;iBACjD;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,KAAK,EAAE,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACzE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aAC9C;SACF;aAAM,IAAI,qEAAW,CAAC,kBAAkB,EAAE;YACzC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,sHAAsH,CAAC;YAC3K,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,kEAAkE,CAAC,CAAC;YAC3H,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,2CAA2C,CAAC,CAAC;YACpG,IAAI,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,gDAAgD,CAAC;YACtG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,2CAA2C,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBACxG,IAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;iBACjD;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,KAAK,EAAE,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,kEAAkE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBAC/H,IAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,mDAAmD;iBACpD;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,KAAK,EAAE,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,sHAAsH,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBACnL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,mDAAmD;oBACnD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACtB;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnD,KAAK,EAAE,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,gDAAgD,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;gBAC9G,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;oBACrB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;iBAC7B;qBAAM;oBACL,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC/B,KAAK,EAAE;iBACR;YACH,CAAC,CAAC;YACF,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC7F,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aAC9C;SACF;aACI;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;SAC9C;IAEH,CAAC;IAED,6CAAU,GAAV;QACE,sBAAsB;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,kDAAe,GAAf;QACE,IAAI,qEAAW,CAAC,eAAe,EAAE;YAE/B,IAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,YAAY,EAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;oBAClH,cAAc,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU;oBAC5H,WAAW,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS;oBACzD,oBAAoB,EAAC,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,kBAAkB;oBAC1E,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;oBAC7D,eAAe,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa;oBACjE,qBAAqB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;oBAC7E,gBAAgB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO;oBAC7F,YAAY,EAAE,IAAI,CAAC,iBAAiB;iBACrC,CAAC,CAAC;aACJ;iBACK;gBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;oBAClH,cAAc,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU;oBAC5H,WAAW,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;oBACxH,eAAe,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa;oBACjE,qBAAqB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;oBAC7E,gBAAgB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO;oBAC7F,YAAY,EAAE,IAAI,CAAC,iBAAiB;iBACrC,CAAC,CAAC;aACJ;SAEF;aAAM,IAAI,qEAAW,CAAC,kBAAkB,EAAE;YACzC,IAAI,CAAC,mBAAmB,EAAE;YAC1B,iBAAiB;YACjB,IAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,YAAY,EAAC;gBAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;oBAClH,cAAc,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU;oBAC5H,WAAW,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,oBAAoB,EAAC,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,kBAAkB;oBACrI,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;oBAC7D,eAAe,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa;oBACjE,qBAAqB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;oBAC7E,gBAAgB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO;iBAC9F,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;gBAClH,cAAc,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC5H,WAAW,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;gBACxH,eAAe,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa;gBACjE,qBAAqB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;gBAC7E,gBAAgB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO;aAC9F,CAAC,CAAC;SACJ;aAAM,IAAI,qEAAW,CAAC,iBAAiB,EAAE;YACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;gBAClH,cAAc,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC5H,WAAW,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;gBACxH,eAAe,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa;gBACjE,qBAAqB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;gBAC7E,gBAAgB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO;aAC9F,CAAC,CAAC;SACJ;QAGD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,qEAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,sDAAmB,GAAnB;QACE,IAAI,UAAU;QACd,IAAI,KAAK;QACT,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC;QAClF,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC;QACzF,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC;QACtF,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,MAAM;SACpB;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,aAAa;SAC3B;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,UAAU;SACxB;QACD,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,IAAI,UAAU;YACd,IAAI,KAAK;YACT,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC;YAC/E,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC;YACtF,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC;YACnF,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAK,GAAG,MAAM;gBACd,UAAU,GAAG,MAAM;aACpB;iBAAM,IAAI,MAAM,IAAI,IAAI,EAAE;gBACzB,KAAK,GAAG,MAAM;gBACd,UAAU,GAAG,aAAa;aAC3B;iBAAM,IAAI,MAAM,IAAI,IAAI,EAAE;gBACzB,KAAK,GAAG,MAAM;gBACd,UAAU,GAAG,UAAU;aACxB;YACD,IAAI,IAAI;YACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5D,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBAC1E,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjD,MAAM;iBACP;aACF;YACD,IAAI,UAAU,IAAI,SAAS,IAAI,KAAK,IAAI,SAAS,EAAE;gBACjD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aAC/F;SACF;IACH,CAAC;IAED,2CAAQ,GAAR;QACE,IAAI,UAAU;QACd,IAAI,KAAK;QACT,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC;QAC9E,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC;QACrF,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC;QAClF,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,MAAM;SACpB;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,aAAa;SAC3B;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,UAAU;SACxB;QACD,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1C;QACD,6BAA6B;QAC7B,IAAI,UAAU;QACd,IAAI,KAAK;QACT,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC;QAC1F,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC;QACjG,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC;QAC9F,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,MAAM;SACpB;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,aAAa;SAC3B;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,UAAU;SACxB;QACD,IAAI,IAAI;QACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACtE,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjD,MAAM;aACP;SACF;QACD,IAAI,UAAU,IAAI,SAAS,IAAI,KAAK,IAAI,SAAS;YAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9F,CAAC;IACD,IAAI;IAEJ,iDAAc,GAAd,UAAe,aAAa,EAAE,GAAG,EAAE,aAAa;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAE7C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE;gBAC1C,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oDAAiB,GAAjB,UAAkB,aAAa,EAAE,GAAG,EAAE,aAAa;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAE7C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;gBACnD,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa;QACjE,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS;QACxE,IAAI,QAAQ;QACZ,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC5D,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnD,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS;aAC3D;YACD,IAAI,qEAAW,CAAC,eAAe,EAAE;gBAC/B,QAAQ,GAAG,UAAU;aACtB;YACD,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YACtD,IAAI,QAAQ,IAAI,MAAM,EAAE;gBACtB,QAAQ,GAAG,MAAM;aAClB;iBAAM,IAAI,QAAQ,IAAI,UAAU,EAAE;gBACjC,QAAQ,GAAG,aAAa;aACzB;iBAAM,IAAI,QAAQ,IAAI,MAAM,EAAE;gBAC7B,QAAQ,GAAG,UAAU;aACtB;YACD,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC;YAChF,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;aACzC;YACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,WAAW,IAAI,eAAe,EAAE;oBAClC,IAAI,CAAC,cAAc,GAAG,EAAE;oBACxB,IAAI,CAAC,cAAc,GAAG,EAAE;iBACzB;qBAAM,IAAI,WAAW,IAAI,0BAA0B,EAAE;oBACpD,IAAI,CAAC,eAAe,GAAG,EAAE;oBACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE;oBAC1B,IAAI,CAAC,UAAU,GAAG,EAAE;oBACpB,IAAI,IAAI,CAAC,OAAO,EAAE;wBAChB,yCAAyC;wBACzC,2EAA2E;wBAC3E,oEAAoE;wBACpE,IAAI;wBACJ,oEAAoE;wBACpE,uEAAuE;qBACxE;oBACD,IAAI,CAAC,QAAQ,GAAG,KAAK;oBACrB,IAAI,CAAC,OAAO,GAAG,KAAK;iBACrB;qBAAM,IAAI,WAAW,IAAI,cAAc,EAAE;oBACxC,IAAI,CAAC,OAAO,GAAG,KAAK;oBACpB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;oBAC5B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,UAAU,GAAG,EAAE;oBACpB,IAAI,CAAC,KAAK,GAAG,EAAE;oBACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oBAChB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;oBAC3B,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;iBAC7E;qBAAM,IAAI,WAAW,IAAI,uDAAuD,EAAE;oBACjF,IAAI,CAAC,iBAAiB,GAAG,EAAE;oBAC3B,IAAI,CAAC,kBAAkB,GAAG,EAAE;iBAC7B;qBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBAC1C,IAAI,CAAC,cAAc,GAAG,EAAE;oBACxB,IAAI,CAAC,eAAe,GAAG,EAAE;iBAC1B;qBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;oBAChD,IAAI,CAAC,oBAAoB,GAAG,EAAE;oBAC9B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC;oBACtD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;iBAC1B;qBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;oBACjD,IAAI,CAAC,qBAAqB,GAAG,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC;oBACxD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;iBAC5B;qBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBACnD,IAAI,CAAC,0BAA0B,GAAG,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,CAAC;oBAC9D,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;iBAC5B;gBAED,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBACrC,IAAI,CAAC,MAAM,GAAG,KAAK;oBACnB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;iBACjE;qBAAM;oBACL,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;oBACtD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;oBAChE,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACxD,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBAEvE,IAAI,WAAW,IAAI,gBAAgB,EAAE;wBACnC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;qBAC5E;iBACF;gBACD,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBACnC,IAAI,CAAC,qBAAqB,GAAG,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC;iBACzD;qBACI,IAAI,WAAW,IAAI,eAAe,EAAE;oBACvC,IAAI,CAAC,oBAAoB,GAAG,EAAE;oBAC9B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC;iBACvD;qBACI,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC1C,IAAI,CAAC,0BAA0B,GAAG,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,CAAC;iBAC/D;aACF;iBAAM,IAAI,IAAI,CAAC,eAAe,EAAE;gBAC/B,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC7D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;gBAChE,IAAI,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;oBACpD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC9B;qBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;oBACjE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC9B;qBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBACnD,IAAI,CAAC,uBAAuB,GAAG,EAAE;oBACjC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,uBAAuB,CAAC;oBACpE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;oBAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC9B;aACF;YACD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,KAAK;YACjC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;SAEnE;aAAM;YACL,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;YACnD,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBACrC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC;oBAC1F,IAAI,CAAC,MAAM,GAAG,IAAI;oBAClB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;wBAC7D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;qBAChE;yBACI,IAAI,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,MAAM,EAAE;wBAC/G,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;qBAChE;yBAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,UAAU,EAAE;wBAClE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;qBAChE;yBAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,MAAM,EAAE;wBAC9D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;qBAChE;iBACF;qBACI,IAAI,WAAW,IAAI,cAAc,EAAE;oBACtC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;oBACxE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;oBACxE,IAAI,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;oBACxF,IAAI,CAAC,UAAU,GAAG,EAAE;oBACpB,IAAI,CAAC,eAAe,GAAG,EAAE;oBACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE;oBAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK;oBACrB,IAAI,CAAC,OAAO,GAAG,KAAK;oBACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;oBAC5D,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,GAAG,KAAK;oBAChD,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;oBACjF,sBAAsB;oBACtB,gDAAgD;oBAChD,gDAAgD;oBAChD,IAAI;oBACJ,6EAA6E;oBAC7E,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;oBAC/D,GAAG;oBACH,2IAA2I;oBAC3I,oEAAoE;oBACpE,mFAAmF;oBACnF,oEAAoE;oBACpE,+EAA+E;oBAC/E,oEAAoE;oBACpE,wEAAwE;oBACxE,iDAAiD;oBACjD,MAAM;oBACN,IAAI;oBACJ,IAAI,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC;oBAC1C,IAAI;wBACF,IAAI,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS;wBAC7D,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC;wBAC/F,IAAI,MAAM,IAAI,IAAI,EAAE;4BAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;yBACzC;qBACF;oBACD,OAAO,CAAC,EAAE,GAAG;oBACb,IAAI,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;wBACpE,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;qBAC/D;oBACD,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;oBAChE,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;wBACtC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;oBACrE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;iBAEjE;qBACI;oBACH,IAAI,WAAW,IAAI,0BAA0B,EAAE;wBAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI;wBACpB,IAAI,QAAQ,GAAG,IAAI,CAAC,kBAAkB;wBACtC,IAAI;4BACF,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS;4BAC9D,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC;4BACnF,IAAI,MAAM,IAAI,IAAI,EAAE;gCAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;6BACzC;4BACD,IAAI,CAAC,OAAO,GAAG,KAAK;4BACpB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;4BAC5B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;4BAC3B,IAAI,CAAC,UAAU,GAAG,EAAE;4BACpB,IAAI,CAAC,KAAK,GAAG,EAAE;4BACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;4BAChB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;yBAC5B;wBACD,OAAO,CAAC,EAAE,GAAG;wBACb,2BAA2B;wBAC3B,2EAA2E;wBAC3E,oEAAoE;wBACpE,IAAI;wBACJ,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;wBAChD,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;wBACrD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;wBAChE,oEAAoE;wBACpE,6CAA6C;wBAC7C,yEAAyE;wBACzE,8DAA8D;wBAC9D,oFAAoF;qBAErF;oBACD,IAAI,WAAW,IAAI,eAAe,EAAE;wBAClC,8BAA8B;wBAC9B,IAAI;4BACF,IAAI,SAAS,GAAG,EAAE,CAAC;4BACnB,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;4BACrJ,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,sBAAsB,CAAC;4BAC7F,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;4BACpD,IAAI,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC;4BACtE,IAAI,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCACvD,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS;6BAC5D;4BACD,IAAI;gCACF,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC;gCAC9E,IAAI,MAAM,IAAI,IAAI,EAAE;oCAClB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;iCAC1C;6BACF;4BACD,OAAO,CAAC,EAAE,GAAG;4BACb,IAAI,CAAC,qBAAqB,GAAG,EAAE;4BAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC;4BACxD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;4BAC1B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;4BAC3B,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;4BACpD,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;4BACpE,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;4BACtD,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;4BAC3E,iFAAiF;4BACjF,IAAI,CAAC,qBAAqB,GAAG,EAAE;4BAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC;4BACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK;4BAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;yBAChE;wBACD,OAAO,CAAC,EAAE;4BAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;yBAAE;qBAC7B;oBACD,IAAI,WAAW,IAAI,gBAAgB,EAAE;wBACnC,6BAA6B;wBAC7B,IAAI;4BACF,IAAI,SAAS,GAAG,EAAE,CAAC;4BACnB,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;4BAClJ,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC;4BAC1F,IAAI,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC;4BACvE,IAAI,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCACxD,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS;6BAC7D;4BACD,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;4BACrD,IAAI;gCACF,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC;gCAC9E,IAAI,MAAM,IAAI,IAAI,EAAE;oCAClB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;iCAC1C;6BACF;4BACD,OAAO,CAAC,EAAE,GAAG;4BACb,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK;4BAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;4BAC/D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC;4BACtD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;4BAC1B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;4BACzB,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;4BACrD,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;4BACrE,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;4BACvD,SAAS,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;4BAC5E,IAAI,CAAC,oBAAoB,GAAG,EAAE;4BAC9B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC;yBACvD;wBACD,OAAO,CAAC,EAAE;4BAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;yBAAE;qBAC7B;oBACD,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;oBACnF,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;oBAC1D,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;iBAC3E;aACF;iBAAM,IAAI,IAAI,CAAC,eAAe,EAAE;gBAC/B,IAAI,IAAI;gBACR,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;wBACvD,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACrC,MAAM;qBACP;iBACF;gBACD,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;gBACnF,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC;gBACnE,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1E,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;gBAChE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;gBAChC,IAAI,QAAQ;gBACZ,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC5B,IAAI,WAAW,IAAI,0BAA0B,EAAE;oBAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;iBAC1F;qBAAM,IAAI,WAAW,IAAI,gCAAgC,EAAE;oBAC1D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;iBAC1F;aACF;SACF;IACH,CAAC;IAED,6CAAU,GAAV,UAAW,KAAK;QACd,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACvH,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa;QACrC,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE;YACnE,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;YAC3D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,IAAI,QAAQ,IAAI,MAAM,EAAE;gBACtB,QAAQ,GAAG,MAAM;aAClB;iBAAM,IAAI,QAAQ,IAAI,UAAU,EAAE;gBACjC,QAAQ,GAAG,aAAa;aACzB;iBAAM,IAAI,QAAQ,IAAI,MAAM,EAAE;gBAC7B,QAAQ,GAAG,UAAU;aACtB;YACD,IAAI,qEAAW,CAAC,4BAA4B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;gBACrE,IAAI,qEAAW,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;oBAClF,OAAO,qEAAW,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;iBACvE;aACF;YACD,IAAI,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC;YAC1E,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;aACtC;YACD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;YACxC,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;gBACnE,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC/D,IAAI,WAAW,IAAI,eAAe,EAAE;oBAClC,IAAI,CAAC,cAAc,GAAG,EAAE;oBACxB,IAAI,CAAC,cAAc,GAAG,EAAE;oBACxB,IAAI,CAAC,iBAAiB,GAAG,EAAE;oBAC3B,0BAA0B;iBAE3B;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,IAAI,CAAC,cAAc,GAAG,EAAE;oBACxB,IAAI,CAAC,cAAc,GAAG,EAAE;oBACxB,qEAAW,CAAC,QAAQ,GAAG,qEAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC;oBAChE,qEAAW,CAAC,QAAQ,GAAG,qEAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC;oBAChE,qEAAW,CAAC,SAAS,GAAG,qEAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC;oBAChE,qEAAW,CAAC,SAAS,GAAG,qEAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC;iBACjE;qBAAM,IAAI,WAAW,IAAI,0BAA0B,EAAE;oBACpD,IAAI,CAAC,eAAe,GAAG,EAAE;oBACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE;oBAC1B,IAAI,CAAC,UAAU,GAAG,EAAE;iBACrB;qBAAM,IAAI,WAAW,IAAI,cAAc,EAAE;oBACxC,IAAI,CAAC,gBAAgB,GAAG,EAAE;oBAC1B,IAAI,CAAC,iBAAiB,GAAG,EAAE;iBAC5B;qBAAM,IAAI,WAAW,IAAI,uDAAuD,EAAE;oBACjF,IAAI,CAAC,iBAAiB,GAAG,EAAE;oBAC3B,IAAI,CAAC,kBAAkB,GAAG,EAAE;iBAC7B;qBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBAC1C,IAAI,CAAC,cAAc,GAAG,EAAE;oBACxB,IAAI,CAAC,eAAe,GAAG,EAAE;iBAC1B;qBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBAC1C,IAAI,CAAC,eAAe,GAAG,EAAE;oBACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE;iBAC3B;qBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;oBACzC,IAAI,CAAC,cAAc,GAAG,EAAE;oBACxB,IAAI,CAAC,eAAe,GAAG,EAAE;iBAC1B;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,IAAI,CAAC,eAAe,GAAG,EAAE;oBACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE;iBAC3B;gBACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,MAAM,EAAE;oBACnD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;oBACvC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;iBAClC;qBAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,UAAU,EAAE;oBAC9D,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;oBAClE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;oBACjC,IAAI,WAAW,IAAI,eAAe,EAAE;wBAClC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC7B;yBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;wBAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC7B;yBAAM,IAAI,WAAW,IAAI,0BAA0B,EAAE;wBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC/B;yBAAM,IAAI,WAAW,IAAI,cAAc,EAAE;wBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;qBAChC;yBAAM,IAAI,WAAW,IAAI,uDAAuD,EAAE;wBACjF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;qBACjC;yBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;wBAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC9B;yBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;wBAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC/B;yBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;wBACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC9B;yBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;wBAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC/B;yBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;wBAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC9B;yBAAM,IAAI,WAAW,IAAI,gCAAgC,EAAE;wBAC1D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC9B;iBACF;qBAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,MAAM,EAAE;oBAC1D,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;oBAClE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;oBACjC,IAAI,WAAW,IAAI,eAAe,EAAE;wBAClC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC7B;yBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;wBAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC7B;yBAAM,IAAI,WAAW,IAAI,0BAA0B,EAAE;wBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC/B;yBAAM,IAAI,WAAW,IAAI,cAAc,EAAE;wBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;qBAChC;yBAAM,IAAI,WAAW,IAAI,uDAAuD,EAAE;wBACjF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;qBACjC;yBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;wBAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC9B;yBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;wBAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC/B;yBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;wBACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC9B;yBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;wBAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;qBAC/B;iBACF;aACF;SACF;QACD,IAAI,WAAW,IAAI,eAAe,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACzD,6DAA6D;YAC7D,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAC;YAC5F,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE;gBAC7C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAClE;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE;gBACpC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACjE;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,UAAU,EAAE;gBAC/C,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACjE;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACjE;SACF;QACD,IAAI,WAAW,IAAI,0BAA0B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACrE,6DAA6D;YAC7D,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACxF,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE;gBAC7C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAClE;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE;gBACpC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACjE;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,UAAU,EAAE;gBAC/C,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACjE;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE;gBAC3C,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACjE;SACF;QACD,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9C,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC;YAClH,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;aAC3E;SACF;IACH,CAAC;IAED,0CAAO,GAAP,UAAQ,KAAK;QACX,IAAI,YAAY,GAAG,IAAI;QACvB,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC;QAC3D,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;YAC3D,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;gBACrB,YAAY,GAAG,KAAK;gBACpB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAClD;QACH,CAAC,CAAC;QACF,IAAI,YAAY,EAAE;YAChB,IAAI,WAAW;YACf,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACxG,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS;;gBAEhI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACrH,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YACpE,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC/C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;aACnC;YACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,WAAW,IAAI,eAAe,EAAE;oBAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI;iBACL;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC7B;qBAAM,IAAI,WAAW,IAAI,0BAA0B,EAAE;oBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC/B;qBAAM,IAAI,WAAW,IAAI,cAAc,EAAE;oBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;iBAChC;qBAAM,IAAI,WAAW,IAAI,uDAAuD,EAAE;oBACjF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;iBACjC;qBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBAC1C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC9B;qBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC/B;qBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;oBACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC9B;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC/B;aACF;iBAAM,IAAI,IAAI,CAAC,eAAe,EAAE;gBAC/B,IAAI,WAAW,IAAI,eAAe,EAAE;oBAClC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC7B;qBAAM,IAAI,WAAW,IAAI,0BAA0B,EAAE;oBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC9B;qBAAM,IAAI,WAAW,IAAI,gCAAgC,EAAE;oBAC1D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC9B;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC9B;aAEF;YACD,IAAI,WAAW,IAAI,eAAe,EAAE;gBAClC,IAAI,oBAAoB;gBACxB,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS;gBACnF,IAAI,oBAAoB,IAAI,MAAM,EAAE;oBAClC,oBAAoB,GAAG,MAAM;iBAC9B;qBAAM,IAAI,oBAAoB,IAAI,UAAU,EAAE;oBAC7C,oBAAoB,GAAG,aAAa;iBACrC;qBAAM,IAAI,oBAAoB,IAAI,MAAM,EAAE;oBACzC,oBAAoB,GAAG,UAAU;iBAClC;aACF;SACF;aAAM;YACL,kDAAI,CAAC;gBACH,KAAK,EAAE,gDAAgD;gBACvD,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gBACb,2BAA2B;YAC7B,CAAC,CAAC;SACH;IACH,CAAC;IAED,4CAAS,GAAT,UAAU,KAAK;QACb,IAAI,WAAW,CAAC;QAChB,IAAI,IAAI,CAAC;QACT,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YAC5F,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS;YAClH,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa;SAC9D;aACI;YACH,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS;YACpG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa;SAChD;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;QAC1D,IAAI,IAAI,CAAC;QACT,IAAI,OAAO,GAAG,WAAW,CAAC;QAC1B,IAAI,OAAO,IAAI,UAAU,EAAE;YACzB,OAAO,GAAG,aAAa;SACxB;aAAM,IAAI,OAAO,IAAI,MAAM,EAAE;YAC5B,OAAO,GAAG,UAAU;SACrB;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YAC/C,aAAa;SAEd;aAAM,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,GAAG,EAAE;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/D,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;gBACjD,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACvD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK;aAClC;YACD,IAAI,WAAW,IAAI,kBAAkB,EAAE;gBACrC,IAAI,IAAI,CAAC,uBAAuB,IAAI,EAAE,EAAE;oBACtC,OAAO,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,uBAAuB;iBAC3D;aACF;iBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;gBAC1C,IAAI,IAAI,CAAC,qBAAqB,IAAI,EAAE,EAAE;oBACpC,OAAO,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,qBAAqB;iBACzD;aACF;iBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;gBACzC,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE;oBACnC,OAAO,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB;iBACxD;aACF;iBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;gBAC5C,IAAI,IAAI,CAAC,0BAA0B,IAAI,EAAE,EAAE;oBACzC,OAAO,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,0BAA0B;iBAC9D;aACF;YACD,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC;YACzE,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;aACnG;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;aAC5F;YACD,IAAI,WAAW,IAAI,eAAe,EAAE;gBAClC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC;iBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;gBAC5C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAChC;iBAAM,IAAI,WAAW,IAAI,0BAA0B,EAAE;gBACpD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC;iBAAM,IAAI,WAAW,IAAI,cAAc,EAAE;gBACxC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACnC;iBAAM,IAAI,WAAW,IAAI,uDAAuD,EAAE;gBACjF,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACpC;iBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;gBAC1C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACjC;iBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;gBAC1C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC;iBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;gBACzC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aACjC;iBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;gBAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAClC;SACF;QACD,IAAI,WAAW,IAAI,eAAe,EAAE;YAClC,IAAI,oBAAoB;YACxB,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS;YACnF,IAAI,oBAAoB,IAAI,MAAM,EAAE;gBAClC,oBAAoB,GAAG,MAAM;aAC9B;iBAAM,IAAI,oBAAoB,IAAI,UAAU,EAAE;gBAC7C,oBAAoB,GAAG,aAAa;aACrC;iBAAM,IAAI,oBAAoB,IAAI,MAAM,EAAE;gBACzC,oBAAoB,GAAG,UAAU;aAClC;SACF;IACH,CAAC;IAED,6CAAU,GAAV,UAAW,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,IAAI;QACtB,IAAI,UAAU,CAAC;QACf,IAAI,WAAW,CAAC;QAChB,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACzH,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAC7J,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC;SAC/G;aAAM;YACL,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS;YAC9I,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC;SACjG;QACD,IAAI,IAAI,CAAC;QACT,IAAI,oBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;QAC7E,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,IAAI,IAAI,CAAC;YACT,IAAI,oBAAoB,IAAI,MAAM,EAAE;gBAClC,oBAAoB,GAAG,MAAM;aAC9B;iBAAM,IAAI,oBAAoB,IAAI,UAAU,EAAE;gBAC7C,oBAAoB,GAAG,aAAa;aACrC;iBAAM,IAAI,oBAAoB,IAAI,MAAM,EAAE;gBACzC,oBAAoB,GAAG,UAAU;aAClC;YACD,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,WAAW,IAAI,0BAA0B,EAAE;oBAC7C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;oBAC5C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE;oBAC7B,IAAI,CAAC,UAAU,GAAG,EAAE;oBACpB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;wBACrE,UAAU,CAAC;4BACT,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE;wBAC7D,CAAC,EAAE,GAAG,CAAC;wBACP,UAAU,CAAC;4BACT,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE;wBAC7D,CAAC,EAAE,GAAG,CAAC;qBACR;iBACF;qBAAM,IAAI,WAAW,IAAI,cAAc,EAAE;oBACxC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;oBAC7C,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE;iBAC/B;qBAAM,IAAI,WAAW,IAAI,uDAAuD,EAAE;oBACjF,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;oBAC9C,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAAE;iBAChC;qBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBAC1C,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;oBAC3C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;iBAC7B;qBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBAC1C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;oBAC5C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE;iBAC9B;qBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;oBACzC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;oBAC3C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE;iBAC7B;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;oBAC5C,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE;iBAC9B;gBACD,IAAI,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;oBACxD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D;gBACD,IAAI,oBAAoB,IAAI,MAAM,EAAE;oBAClC,IAAI,IAAI,GAAG,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBACtD,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC;oBAC1E,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;qBACtC;oBACD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBACjF;qBAAM,IAAI,WAAW,IAAI,eAAe,IAAI,oBAAoB,IAAI,MAAM,EAAE;oBAC3E,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBACtC,8BAA8B;wBAC9B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC5C,IAAI,CAAC,IAAI,SAAS,EAAE;yBACnB;6BAAM;4BACL,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;yBAC9D;qBACF;yBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBAC7C,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC5C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBACrE;oBACD,IAAI,CAAC,eAAe,GAAG,EAAE;oBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC/D,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;wBACjD,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;wBACvD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK;qBAClC;oBACD,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC;oBAC1F,IAAI,OAAO,IAAI,IAAI,EAAE;wBACnB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;qBACtH;yBAAM;wBACL,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;qBAC7G;oBACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;wBACvB,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAC;wBACzE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE;wBAC3D,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE;qBAC5D;iBACF;gBACD,IAAI,WAAW,IAAI,eAAe,EAAE;oBAClC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;wBACvB,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAC;wBACzE,UAAU,CAAC;4BACT,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE;wBAC7D,CAAC,EAAE,GAAG,CAAC;wBACP,UAAU,CAAC;4BACT,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE;wBAC7D,CAAC,EAAE,GAAG,CAAC;qBACR;iBACF;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5D,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;wBACnE,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACjD,MAAM;qBACP;iBACF;aACF;iBAAM,IAAI,IAAI,CAAC,eAAe,EAAE;gBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;wBACvD,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACrC,MAAM;qBACP;iBACF;gBACD,IAAI,WAAW,IAAI,eAAe,EAAE;oBAClC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBACtC,+BAA+B;wBAC/B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC5C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D;yBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBAC7C,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC5C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBACrE;iBACF;qBAAM,IAAI,WAAW,IAAI,0BAA0B,EAAE;oBACpD,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBACtC,8BAA8B;wBAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D;yBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBAC7C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBACrE;iBACF;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACxD,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,uBAAuB,EAAE;4BACzE,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC7C,MAAM;yBACP;qBACF;oBACD,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBACtC,8BAA8B;wBAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D;yBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBAC7C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBACrE;iBACF;qBAAM,IAAI,WAAW,IAAI,gCAAgC,EAAE;oBAC1D,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBACtC,8BAA8B;wBAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D;yBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;wBAC7C,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBACrE;iBACF;aACF;YAED,IAAI,oBAAoB,IAAI,MAAM,EAAE;gBAClC,IAAI,CAAC,eAAe,GAAG,EAAE;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/D,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBACjD,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;oBACvD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK;iBAClC;gBACD,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC;gBAC7F,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBACrC,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,uBAAuB;iBAC/D;gBACD,IAAI,OAAO,IAAI,IAAI,EAAE;oBACnB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;iBACpH;qBAAM;oBACL,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;iBAC7G;aACF;SACF;IACH,CAAC;IAED,oDAAiB,GAAjB,UAAkB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;YAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAC1E,IAAI,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS;YACzD,IAAI,QAAQ,GAAG,EAAE;YACjB,IAAI,QAAQ,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;YACxD,IAAI,QAAQ,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;YACxD,IAAI,SAAS,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe;YACxD,IAAI,SAAS,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe;YACxD,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;gBAClE,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,EAAE;oBAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;iBAC3B;YACH,CAAC,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC7B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzC;aACF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACpC;YACD,IAAI,MAAM,IAAI,UAAU,EAAE;gBACxB,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC;gBAChC,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC;aACjC;iBAAM,IAAI,MAAM,IAAI,MAAM,EAAE;gBAC3B,SAAS,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC;gBACjC,SAAS,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC;aAClC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;gBACtC,IAAI,qEAAW,CAAC,eAAe,EAAE;oBAC/B,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE;wBAC9I,IAAI,CAAC,UAAU,GAAG,KAAK;wBACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;4BAClK,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;yBACI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wBACpE,IAAI,CAAC,UAAU,GAAG,KAAK;wBACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,gFAAgF;4BACvF,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;yBACI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;wBACjG,IAAI,CAAC,UAAU,GAAG,KAAK;wBACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,2FAA2F;4BAClG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;yBACI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;wBACjG,IAAI,CAAC,UAAU,GAAG,KAAK;wBACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,2FAA2F;4BAClG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;iBACF;qBAAM,IAAI,qEAAW,CAAC,kBAAkB,EAAE;oBACzC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE;wBAC9I,IAAI,CAAC,UAAU,GAAG,KAAK;wBACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;4BAClK,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;yBACI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wBACpE,IAAI,CAAC,UAAU,GAAG,KAAK;wBACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,gFAAgF;4BACvF,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;yBACI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;wBACjG,IAAI,CAAC,UAAU,GAAG,KAAK;wBACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,2FAA2F;4BAClG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,CAAC,CAAC;qBACH;iBACF;aACF;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;gBAC7C,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/B,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,IAAI,IAAI,UAAU,EAAE;oBACtB,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;wBAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACzC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;yBACtC;wBACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;4BACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE;gCACxH,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,GAAG,kBAAkB;oCACzM,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;iCAAM;6BACN;yBACF;6BACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7B,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gCACnD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,yCAAyC;oCAChD,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;4BACD,SAAS;4BACT,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;gCACvH,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE;gCACvH,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,GAAG,kBAAkB;oCACzM,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;qBACF;yBAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;wBAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACzC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;yBACtC;wBACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;4BACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE;gCACtD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,GAAG,EAAE,GAAG,kBAAkB;oCACvI,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;iCAAM;6BACN;yBACF;6BACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7B,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gCACnD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,yCAAyC;oCAChD,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;4BACD,SAAS;4BACT,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ;gCACrD,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE;gCACrD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,oCAAoC,GAAG,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,QAAQ,GAAG,EAAE,GAAG,kBAAkB;oCACvI,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;qBACF;iBACF;qBAAM,IAAI,IAAI,IAAI,MAAM,EAAE;oBACzB,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;wBAC1D,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;4BACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;gCACtH,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,EAAE,GAAG,kBAAkB;oCACzM,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;6BACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe;gCACrH,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gCACrH,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,EAAE,GAAG,kBAAkB;oCACzM,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;4BAED,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gCACnD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,2CAA2C;oCAClD,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;qBACF;yBAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,EAAE;wBAC5G,IAAI,SAAS,GAAG,qEAAW,CAAC,sBAAsB,EAAE;4BAClD,SAAS,GAAG,qEAAW,CAAC,sBAAsB;yBAC/C;wBACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;4BACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE;gCACxD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;oCAC3I,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;6BACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;gCACvD,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;gCACvD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;oCAC3I,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;4BAED,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gCACnD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,2CAA2C;oCAClD,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;qBACF;yBAAM,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE;wBACzG,IAAI,SAAS,GAAG,qEAAW,CAAC,gBAAgB,EAAE;4BAC5C,SAAS,GAAG,qEAAW,CAAC,gBAAgB;yBACzC;wBACD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;4BACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE;gCACxD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;oCAC3I,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;6BACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;gCACvD,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;gCACvD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;oCAC3I,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;4BAED,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gCACnD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,2CAA2C;oCAClD,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;qBACF;yBAAM;wBACL,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;4BACzB,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE;gCACxD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;oCAC3I,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;6BACI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS;gCACvD,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE;gCACvD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,qCAAqC,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,EAAE,GAAG,kBAAkB;oCAC3I,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;4BAED,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gCACnD,IAAI,CAAC,UAAU,GAAG,KAAK;gCACvB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCACxB,kDAAI,CAAC;oCACH,KAAK,EAAE,2CAA2C;oCAClD,IAAI,EAAE,SAAS;oCACf,gBAAgB,EAAE,KAAK;oCACvB,kBAAkB,EAAE,SAAS;oCAC7B,iBAAiB,EAAE,SAAS;oCAC5B,iBAAiB,EAAE,IAAI;iCACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC1B,CAAC,CAAC;6BACH;yBACF;qBACF;iBACF;gBAED,eAAe;gBACf,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa;gBACrF,IAAI,MAAM,GAAG,EAAE;gBACf,IAAI,MAAM,GAAG,EAAE;gBACf,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;oBAC1D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,EAAE;wBACxD,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;yBACzB;qBACF;gBACH,CAAC,CAAC;gBACF,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;oBAC1D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,EAAE;wBACxD,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;4BAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;yBACzB;qBACF;gBACH,CAAC,CAAC;gBACF,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACpC,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;oBAC7C,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACrC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;wBACrC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;wBACvC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;wBACvC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;4BAChE,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;4BAChE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;4BACvB,kDAAI,CAAC;gCACH,KAAK,EAAE,uBAAuB;gCAC9B,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;4BAC1B,CAAC,CAAC;yBACH;qBACF;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC/B,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;4BAC1D,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;4BACvB,kDAAI,CAAC;gCACH,KAAK,EAAE,uBAAuB;gCAC9B,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;4BAC1B,CAAC,CAAC;yBACH;qBACF;iBACF;qBAAM;oBACL,IAAI,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;wBACrC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;wBACvC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;wBACvC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;4BAC5D,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;4BACvB,kDAAI,CAAC;gCACH,KAAK,EAAE,iDAAiD;gCACxD,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;4BAC1B,CAAC,CAAC;yBACH;qBACF;oBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;4BAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC/B,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;4BACvB,kDAAI,CAAC;gCACH,KAAK,EAAE,mDAAmD;gCAC1D,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;4BAC1B,CAAC,CAAC;yBACH;qBACF;iBACF;aACF;SACF;IACH,CAAC;IAED,2CAAQ,GAAR,UAAS,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI;YAChE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,EAAE;YAC9E,IAAI,CAAC,KAAK,GAAG,CAAC;YACd,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBAC1G,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa;aAClF;iBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBAC/H,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa;aAChG;iBACI,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACzJ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC;aAC7H;iBACI,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBAC3I,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC;aAC/G;;gBAEC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa;SAChH;IACH,CAAC;IAED,mDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK;QAClB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;IAC5D,CAAC;IAED,+CAAY,GAAZ;QACE,IAAI,GAAG,GAAG,kBAAkB;QAC5B,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC;QACtE,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC;QAC7E,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC;QAC1E,IAAI,QAAQ;QACZ,IAAI,KAAK;QACT,IAAI,QAAQ;QACZ,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,QAAQ,GAAG,MAAM;YACjB,KAAK,GAAG,MAAM;SACf;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,QAAQ,GAAG,aAAa;YACxB,KAAK,GAAG,MAAM;SACf;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,QAAQ,GAAG,UAAU;YACrB,KAAK,GAAG,MAAM;SACf;QACD,IAAI,KAAK,IAAI,SAAS,EAAE;YACtB,IAAI,IAAI,CAAC;YACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5D,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC3D,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjD,MAAM;iBACP;aACF;YACD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;YACxC,IAAI,QAAQ;YACZ,IAAI,SAAS;YACb,IAAI,IAAI,CAAC,0BAA0B,IAAI,OAAO,EAAE;gBAC9C,SAAS,GAAG,GAAG;gBACf,IAAI,CAAC,KAAK,GAAG,EAAE;gBACf,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI;aACjC;iBAAM,IAAI,IAAI,CAAC,0BAA0B,IAAI,QAAQ,EAAE;gBACtD,SAAS,GAAG,GAAG;gBACf,IAAI,CAAC,IAAI,GAAG,EAAE;gBACd,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK;aAClC;iBAAM,IAAI,IAAI,CAAC,0BAA0B,IAAI,YAAY,EAAE;gBAC1D,SAAS,GAAG,GAAG;gBACf,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;aAC9C;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC7L;IACH,CAAC;IAED,oDAAiB,GAAjB,UAAkB,KAAK,EAAE,KAAK,EAAE,KAAK;QACnC,IAAI,WAAW,GAAG,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACtE,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC;YACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5D,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBACnE,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjD,MAAM;iBACP;aACF;YACD,IAAI,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC;YACxE,IAAI,oBAAoB,IAAI,MAAM,EAAE;gBAClC,oBAAoB,GAAG,MAAM;aAC9B;iBAAM,IAAI,oBAAoB,IAAI,UAAU,EAAE;gBAC7C,oBAAoB,GAAG,aAAa;aACrC;iBAAM,IAAI,oBAAoB,IAAI,MAAM,EAAE;gBACzC,oBAAoB,GAAG,UAAU;aAClC;YACD,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC;YAC7F,IAAI,oBAAoB,IAAI,MAAM,EAAE;gBAClC,IAAI,QAAQ,GAAG,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;gBAC7C,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBACnC,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,qBAAqB;iBAC7D;qBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;oBACzC,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB;iBAC5D;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,0BAA0B;iBAClE;gBACD,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBAC5C,IAAI,QAAQ;oBACZ,IAAI,SAAS;oBACb,IAAI,IAAI,CAAC,0BAA0B,IAAI,OAAO,EAAE;wBAC9C,SAAS,GAAG,GAAG;wBACf,IAAI,CAAC,KAAK,GAAG,EAAE;wBACf,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI;qBACjC;yBAAM,IAAI,IAAI,CAAC,0BAA0B,IAAI,QAAQ,EAAE;wBACtD,SAAS,GAAG,GAAG;wBACf,IAAI,CAAC,KAAK,GAAG,EAAE;wBACf,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI;qBACjC;yBAAM,IAAI,IAAI,CAAC,0BAA0B,IAAI,YAAY,EAAE;wBAC1D,SAAS,GAAG,GAAG;wBACf,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;qBAC9C;oBACD,IAAI,OAAO,IAAI,IAAI,EAAE;wBACnB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;qBAChN;yBAAM;wBACL,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;qBACzM;iBACF;qBAAM;oBACL,IAAI,OAAO,IAAI,IAAI,EAAE;wBACnB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;qBACxG;yBAAM;wBACL,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;qBACjG;iBACF;gBACD,IAAI,WAAW,IAAI,0BAA0B,EAAE;oBAC7C,IAAI,KAAK,IAAI,SAAS,EAAE;wBACtB,0BAA0B;wBAC1B,mCAAmC;qBACpC;iBACF;aACF;iBAAM;gBACL,IAAI,WAAW,IAAI,0BAA0B,EAAE;oBAC7C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK;iBACrC;qBAAM,IAAI,WAAW,IAAI,cAAc,EAAE;oBACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAK;iBACtC;qBAAM,IAAI,WAAW,IAAI,uDAAuD,EAAE;oBACjF,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAK;iBACvC;qBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBAC1C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAK;iBACpC;qBAAM,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBAC1C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK;iBACrC;qBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;oBACzC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAK;iBACpC;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK;iBACrC;gBACD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,KAAK;gBACvD,IAAI,CAAC,eAAe,GAAG,EAAE;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC/D,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBACjD,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;oBACvD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK;iBAClC;gBACD,IAAI,WAAW,IAAI,gBAAgB,EAAE;oBACnC,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,qBAAqB;iBAC7D;qBAAM,IAAI,WAAW,IAAI,eAAe,EAAE;oBACzC,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,oBAAoB;iBAC5D;qBAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE;oBAC5C,WAAW,GAAG,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,0BAA0B;iBAClE;gBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE;oBAC9C,IAAI,QAAQ;oBACZ,IAAI,SAAS;oBACb,IAAI,IAAI,CAAC,0BAA0B,IAAI,OAAO,EAAE;wBAC9C,SAAS,GAAG,GAAG;wBACf,IAAI,CAAC,KAAK,GAAG,EAAE;wBACf,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI;qBACjC;yBAAM,IAAI,IAAI,CAAC,0BAA0B,IAAI,QAAQ,EAAE;wBACtD,SAAS,GAAG,GAAG;wBACf,IAAI,CAAC,IAAI,GAAG,EAAE;wBACd,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK;qBAClC;yBAAM,IAAI,IAAI,CAAC,0BAA0B,IAAI,YAAY,EAAE;wBAC1D,SAAS,GAAG,GAAG;wBACf,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK;qBAC9C;oBACD,IAAI,OAAO,IAAI,IAAI,EAAE;wBACnB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;qBAC5N;yBAAM;wBACL,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC,0BAA0B,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;qBACrN;iBACF;qBAAM;oBACL,IAAI,OAAO,IAAI,IAAI,EAAE;wBACnB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;qBACpH;yBAAM;wBACL,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;qBAC7G;iBACF;aACF;SACF;aAAM,IAAI,KAAK,IAAI,EAAE,IAAI,WAAW,IAAI,0BAA0B,EAAE;YACnE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK;YACjC,IAAI,CAAC,UAAU,GAAG,KAAK;SACxB;IACH,CAAC;IA1tGU,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;;;SAGjC,CAAC;yCAsF2B,sDAAM,EAAgB,8DAAc,EAAc,2DAAY,EAAiB,sEAAa;YACtG,6EAAgB,EAAa,wDAAU,EAAiB,4EAAwB,EAAiB,+DAAiB;OAtFxH,wBAAwB,CA2tGpC;IAAD,+BAAC;CAAA;AA3tGoC;;;;;;;;;;;;ACjBrC,o9CAAo9C,eAAe,IAAI,eAAe,+GAA+G,eAAe,IAAI,eAAe,sRAAsR,eAAe,IAAI,eAAe,+GAA+G,eAAe,mTAAmT,gBAAgB,yPAAyP,gBAAgB,8WAA8W,kBAAkB,kqBAAkqB,kBAAkB,wzGAAwzG,eAAe,IAAI,eAAe,+GAA+G,eAAe,IAAI,eAAe,sRAAsR,eAAe,8GAA8G,eAAe,ifAAif,gBAAgB,oLAAoL,oDAAoD,qGAAqG,gBAAgB,2QAA2Q,oDAAoD,kZAAkZ,oDAAoD,sXAAsX,oDAAoD,sYAAsY,oDAAoD,kIAAkI,6BAA6B,yMAAyM,oDAAoD,2RAA2R,oDAAoD,wSAAwS,oDAAoD,4UAA4U,oDAAoD,yRAAyR,oDAAoD,kRAAkR,mDAAmD,uTAAuT,oDAAoD,6DAA6D,iBAAiB,iSAAiS,oDAAoD,6DAA6D,iBAAiB,gSAAgS,oDAAoD,wTAAwT,oDAAoD,0hBAA0hB,aAAa,i4B;;;;;;;;;;;ACA7qc,uCAAuC,0DAA0D,uBAAuB,+BAA+B,qBAAqB,wBAAwB,EAAE,oCAAoC,+BAA+B,+CAA+C,6BAA6B,EAAE,uCAAuC,kBAAkB,kBAAkB,0BAA0B,yBAAyB,EAAE,2CAA2C,iBAAiB,kBAAkB,0BAA0B,yBAAyB,EAAE,8CAA8C,kBAAkB,kBAAkB,0BAA0B,yBAAyB,EAAE,yCAAyC,oBAAoB,oBAAoB,8BAA8B,0BAA0B,EAAE,6CAA6C,oBAAoB,qBAAqB,2BAA2B,kCAAkC,2BAA2B,4BAA4B,sBAAsB,gCAAgC,4BAA4B,EAAE,iDAAiD,sBAAsB,EAAE,8CAA8C,mCAAmC,yBAAyB,EAAE,uCAAuC,mBAAmB,yBAAyB,iCAAiC,uBAAuB,EAAE,oDAAoD,mCAAmC,yBAAyB,sBAAsB,sCAAsC,4BAA4B,uBAAuB,kCAAkC,4BAA4B,EAAE,+DAA+D,4BAA4B,2CAA2C,EAAE,oEAAoE,qBAAqB,wBAAwB,wBAAwB,8BAA8B,kCAAkC,uBAAuB,EAAE,qFAAqF,4CAA4C,EAAE,sFAAsF,2BAA2B,EAAE,gFAAgF,kCAAkC,6BAA6B,+BAA+B,6BAA6B,EAAE,0EAA0E,0CAA0C,yBAAyB,gCAAgC,4BAA4B,+BAA+B,wCAAwC,2BAA2B,uBAAuB,EAAE,qOAAqO,mCAAmC,0BAA0B,gCAAgC,+BAA+B,uBAAuB,2CAA2C,4BAA4B,uBAAuB,gCAAgC,uBAAuB,EAAE,uPAAuP,8BAA8B,0BAA0B,8CAA8C,EAAE,oSAAoS,4DAA4D,kCAAkC,0BAA0B,EAAE,uPAAuP,8BAA8B,0BAA0B,yBAAyB,kCAAkC,+BAA+B,EAAE,iSAAiS,kCAAkC,oCAAoC,+BAA+B,iCAAiC,0CAA0C,gCAAgC,iCAAiC,EAAE,qmBAAqmB,2CAA2C,yCAAyC,EAAE,uhBAAuhB,yBAAyB,2BAA2B,6BAA6B,mCAAmC,8BAA8B,+BAA+B,4BAA4B,iCAAiC,4CAA4C,kCAAkC,4GAA4G,oGAAoG,+HAA+H,0CAA0C,EAAE,iCAAiC,qBAAqB,iBAAiB,oBAAoB,oCAAoC,EAAE,yCAAyC,mBAAmB,uBAAuB,iBAAiB,2BAA2B,EAAE,oDAAoD,yBAAyB,kCAAkC,oBAAoB,EAAE,iBAAiB,kCAAkC,EAAE,4CAA4C,wBAAwB,EAAE,kEAAkE,0BAA0B,yBAAyB,EAAE,kBAAkB,6BAA6B,oBAAoB,EAAE,0BAA0B,sBAAsB,uBAAuB,yBAAyB,mBAAmB,wBAAwB,EAAE,6BAA6B,qBAAqB,kCAAkC,uBAAuB,EAAE,cAAc,2BAA2B,4BAA4B,uBAAuB,qBAAqB,8BAA8B,kBAAkB,wBAAwB,4BAA4B,qBAAqB,EAAE,kBAAkB,6BAA6B,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA5hQ;AAClB;AACS;AACK;AACN;AACD;AAC/B;AAE/B,SAAS,EAAE,wDAAU,CAAC;AAMtB;IAgDE,2CAAmB,MAAc,EAAS,MAAwB,EAAS,MAAqB,EAAS,EAAc,EAAS,MAAgC;QAA7I,WAAM,GAAN,MAAM,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAkB;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,OAAE,GAAF,EAAE,CAAY;QAAS,WAAM,GAAN,MAAM,CAA0B;QA9ChK,aAAQ,GAAQ,EAAE,CAAC;QAEnB,eAAU,GAAQ,EAAE,CAAC;QACrB,cAAS,GAAQ,EAAE,CAAC;QACpB,gBAAW,GAAQ,EAAE,CAAC;QAEtB,aAAQ,GAAQ,EAAE,CAAC;QACnB,gBAAW,GAAQ,EAAE,CAAC;QACtB,cAAS,GAAQ,EAAE,CAAC;QAgBpB,oBAAe,GAAG,qEAAW,CAAC,eAAe,CAAC;QAC9C,uBAAkB,GAAG,qEAAW,CAAC,kBAAkB,CAAC;QACpD,sBAAiB,GAAG,qEAAW,CAAC,iBAAiB,CAAC;QAClD,WAAM,GAAG,KAAK,CAAC;QACf,WAAM,GAAG,EAAE;QACX,WAAM,GAAG,EAAE;QACX,WAAM,GAAG,EAAE;QACX,sBAAiB,GAAG,EAAE;QAEtB,qBAAgB,GAAQ,EAAE;QAC1B,gBAAW,GAAG,EAAE;QAChB,iBAAY,GAAQ,EAAE;QACtB,wBAAmB,GAAG,EAAE;QAIxB,iBAAY,GAAG,KAAK,CAAC;QACrB,kBAAa,GAAG,KAAK,CAAC;QAMpB,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,CAAC,YAAY,GAAG,qEAAW,CAAC,eAAe,CAAC;YAChD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACnD,IAAI,CAAC,aAAa,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;YAC9D,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,0BAA0B;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC9B,IAAI,MAAM,GAAG,EAAE;wBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC9B;wBACD,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;4BAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,CAAC;yBACrK;qBACF;iBACF;gBACD,sBAAsB;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC9B,IAAI,MAAM,GAAG,EAAE;wBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC9B;wBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE;4BAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,CAAC;yBACrK;qBACF;iBACF;aACF;iBAAM;gBACL,IAAI,MAAM;gBACV,0BAA0B;gBAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;wBACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;wBACrE,MAAM,GAAG,MAAM;qBAChB;iBACF;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAChD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC/B,IAAI,OAAO,GAAG,EAAE;wBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;yBAChC;wBACD,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;4BACxD,MAAM,GAAG,UAAU;4BACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,CAAC;yBACnK;qBACF;iBACF;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC9B,IAAI,MAAM,GAAG,EAAE;wBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC9B;wBACD,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;4BAC3D,MAAM,GAAG,aAAa;4BACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,CAAC;yBACrK;qBACF;iBACF;gBACD,0BAA0B;gBAC1B,IAAI,MAAM,IAAI,MAAM,EAAE;oBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE;4BACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;yBACtE;qBACF;iBACF;qBAAM,IAAI,MAAM,IAAI,UAAU,EAAE;oBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAChD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC/B,IAAI,OAAO,GAAG,EAAE;4BAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;6BAChC;4BACD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE;gCAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,CAAC;6BACnK;yBACF;qBACF;iBACF;qBAAM,IAAI,MAAM,IAAI,aAAa,EAAE;oBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC9B,IAAI,MAAM,GAAG,EAAE;4BACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC9B;4BACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE;gCAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,CAAC;6BACrK;yBACF;qBACF;iBACF;gBACD,IAAI,MAAM,IAAI,MAAM,EAAE;oBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE;4BACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;yBACtE;qBACF;iBACF;gBACD,IAAI,MAAM,IAAI,UAAU,EAAE;oBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAChD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC/B,IAAI,OAAO,GAAG,EAAE;4BAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;6BAChC;4BACD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE;gCAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC,EAAE,CAAC;6BACnK;yBACF;qBACF;iBACF;gBACD,IAAI,MAAM,IAAI,aAAa,EAAE;oBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC9B,IAAI,MAAM,GAAG,EAAE;4BACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC9B;4BACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE;gCAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,EAAE,CAAC;6BACrK;yBACF;qBACF;iBACF;aACF;YACD,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE;aAChC;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE;wBACzG,IAAI,CAAC,aAAa,GAAG,IAAI;wBACzB,MAAM;qBACP;iBACF;gBACD,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;oBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;4BAC7G,IAAI,CAAC,YAAY,GAAG,IAAI;4BACxB,MAAM;yBACP;qBACF;iBACF;gBACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;aAC7B;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3B,IAAI,cAAc,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;SACzD;aACI;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IAEH,CAAC;IAlLuB,sBAAI,sDAAO;aAAX,UAAY,OAAmB;YACrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3B,CAAC;;;OAAA;IAiLD,oDAAQ,GAAR;IACA,CAAC;IAED,2DAAe,GAAf;QACE,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,WAAW,CAAC;YACV,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;gBACvE,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;oBACzB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC;QACP,IAAI,MAAM,CAAC,IAAI,CAAC,qEAAW,CAAC,4BAA4B,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,IAAI,CAAC,QAAQ,GAAG,qEAAW,CAAC,4BAA4B,CAAC;YACzD,IAAI,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,IAAI,CAAC;oBACT,IAAI,OAAO,CAAC;oBACZ,IAAI,OAAO,CAAC;oBACZ,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;oBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;4BACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;gCACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gCAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;gCACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCAChD,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;4CAC9C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;4CAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;4CAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;yCAChC;6CAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE;4CAC1C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;4CAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;4CAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;yCAChC;qCACF;iCACF;gCACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;oCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;wCACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;qCAC1D;yCAAM;wCACL,IAAI,CAAC,WAAW,GAAG,EAAE;qCACtB;iCACF;qCACI;oCACH,IAAI,CAAC,WAAW,GAAG,EAAE;iCACtB;gCACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;6BAC/B;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC1H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gCACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC1H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gCACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,8CAA8C,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCACxI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;gCACrF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAA0C,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCACpI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;gCACjF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAClI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;gCAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAClI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;gCAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAClI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;gCAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAClI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;gCAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;yBACF;qBACF;iBACF;aACF;iBAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,IAAI,CAAC;oBACT,IAAI,OAAO,CAAC;oBACZ,IAAI,OAAO,CAAC;oBACZ,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;oBACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;4BACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;gCACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gCAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;gCACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;4CACjF,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;4CAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;4CAChC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;yCAChC;6CAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE;4CAC1C,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;4CAChC,OAAO,GAAG,UAAU;yCACrB;qCACF;iCACF;gCACD,IAAI,OAAO,IAAI,UAAU,EAAE;oCACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;wCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;4CACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;yCAC1D;6CAAM;4CACL,IAAI,CAAC,WAAW,GAAG,EAAE;yCACtB;qCACF;yCACI;wCACH,IAAI,CAAC,WAAW,GAAG,EAAE;qCACtB;iCACF;qCAAM;oCACL,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE;wCAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;qCACpD;yCAAM;wCACL,IAAI,CAAC,WAAW,GAAG,EAAE;qCACtB;iCACF;gCACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;6BAC/B;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC1H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gCACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAC1H,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;gCACvE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,8CAA8C,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCACxI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC;gCACrF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAA0C,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCACpI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;gCACjF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAClI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;gCAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAClI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;gCAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAClI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;gCAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;iCACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAClI,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;gCAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;6BACjD;yBACF;qBACF;iBACF;aACF;SACF;IACH,CAAC;IAED,0DAAc,GAAd;QACE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;SAC1C;IAEH,CAAC;IACD,uDAAW,GAAX,UAAY,CAAC,EAAE,IAAI;QACjB,IAAI,EAAE,GAAG,eAAe,CAAC;QACzB,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,oDAAQ,GAAR,UAAS,KAAK;QACZ,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS;QACxC,IAAI,CAAC,gBAAgB,GAAG,EAAE;QAC1B,IAAI,CAAC,YAAY,GAAG,EAAE;QACtB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;QACnD,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,OAAO,GAAG,IAAI;QAClB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;YAC/B,OAAO,GAAG,IAAI;YACd,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBACvC,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACzC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;wBACxC,OAAO,GAAG,KAAK;qBAChB;iBACF;aACF;YACD,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;aAClD;SACF;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS;QACzC,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClC,IAAI,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;oBAC9C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;wBAC1C,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;wBACtD,IAAI,IAAI,IAAI,EAAE,EAAE;4BACd,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gCAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;6BACpD;yBACF;6BAAM;4BACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;yBACpD;qBACF;iBACF;gBACD,qBAAqB;gBACrB,qDAAqD;gBACrD,6DAA6D;gBAC7D,yDAAyD;gBACzD,wBAAwB;gBACxB,yCAAyC;gBACzC,8DAA8D;gBAC9D,UAAU;gBACV,eAAe;gBACf,4DAA4D;gBAC5D,QAAQ;gBACR,MAAM;gBACN,IAAI;qBACC;oBACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpD;aACF;SACF;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACvB;aAAM;YACL,kDAAI,CAAC;gBACH,KAAK,EAAE,wDAAwD;gBAC/D,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YACf,CAAC,CAAC;SACH;QACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;IAC7E,CAAC;IAED,4DAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,mBAAmB,GAAG,KAAK;IAClC,CAAC;IACD,uBAAuB;IACvB,qBAAqB;IACrB,IAAI;IACJ,2DAAe,GAAf,UAAgB,CAAC,EAAE,IAAI;QACrB,8EAA8E;QAC9E,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACnF,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK;QAC5G,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK;QAC5G,IAAI,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,iBAAiB,CAAC,KAAK;QAC5H,IAAI,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,KAAK;QACxH,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;QACpH,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;QACpH,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;QACrH,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;QACrH,IAAI,eAAe;QACnB,IAAI,eAAe;QACnB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC3B,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC3B,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC/B,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC/B,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC3B,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC3B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC7B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC7B,IAAI,OAAO,GAAG,EAAE;QAChB,IAAI,OAAO,GAAG,EAAE;QAChB,IAAI,MAAM,GAAG,EAAE;QACf,IAAI,MAAM,GAAG,EAAE;QACf,IAAI,MAAM,GAAG,EAAE;QACf,IAAI,MAAM,GAAG,EAAE;QACf,IAAI,eAAe,GAAG,EAAE;QACxB,IAAI,eAAe,GAAG,EAAE;QACxB,qEAAW,CAAC,aAAa,GAAG,CAAC;QAC7B,qEAAW,CAAC,aAAa,GAAG,qEAAW,CAAC,eAAe;QACvD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;YAC7F,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS;YAC1D,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBACvC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC1D,qEAAW,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC;iBACzC;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC1D,qEAAW,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC;iBACzC;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACzD,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC/E,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,eAAe,CAAC;iBAC3D;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACtD,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC5E,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,eAAe,CAAC;iBAC3D;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;oBACjE,qEAAW,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC;iBAChD;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;oBACjE,qEAAW,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC;iBAChD;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACpD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;oBAClE,qEAAW,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC;iBACjD;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACpD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;oBAClE,qEAAW,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC;iBACjD;aACF;QACH,CAAC,CAAC;QACF,gBAAgB;QAChB,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,IAAI,KAAK,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE;gBACrC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,wCAAwC;oBAC/C,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC;aACH;iBACI;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;SACF;aACI,IAAI,IAAI,IAAI,QAAQ,EAAE;YACzB,IAAI,KAAK,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE;gBACrC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,qCAAqC;oBAC5C,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC;aACH;iBACI;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;SACF;aACI,IAAI,IAAI,IAAI,oBAAoB,EAAE;YACrC,IAAI,KAAK,GAAG,SAAS,IAAI,SAAS,IAAI,GAAG,EAAE;gBACzC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,oEAAoE;oBAC3E,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC;aACH;iBACI;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;SACF;aACI,IAAI,IAAI,IAAI,iBAAiB,EAAE;YAClC,IAAI,KAAK,GAAG,SAAS,IAAI,SAAS,IAAI,GAAG,EAAE;gBACzC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,iEAAiE;oBACxE,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC;aACH;iBACI;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;SACF;aACI,IAAI,IAAI,IAAI,eAAe,EAAE;YAChC,IAAI,KAAK,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE;gBACrC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,wDAAwD;oBAC/D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC;aACH;iBACI;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;SACF;aACI,IAAI,IAAI,IAAI,eAAe,EAAE;YAChC,IAAI,KAAK,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE;gBACrC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,qDAAqD;oBAC5D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC;aACH;iBACI;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;SACF;aACI,IAAI,IAAI,IAAI,eAAe,EAAE;YAChC,IAAI,KAAK,GAAG,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE;gBACvC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,wDAAwD;oBAC/D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC;aACH;iBACI;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;SACF;aACI,IAAI,IAAI,IAAI,eAAe,EAAE;YAChC,IAAI,KAAK,GAAG,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE;gBACvC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACnB,kDAAI,CAAC;oBACH,KAAK,EAAE,qDAAqD;oBAC5D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC;aACH;iBACI;gBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;SACF;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;YAClB,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;SACjE;aAAM;YACL,IAAI,qEAAW,CAAC,eAAe,EAAE;gBAC/B,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC;gBAC9B,IAAI,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;oBACpE,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;iBACjE;aACF;iBAAM,IAAI,qEAAW,CAAC,kBAAkB,EAAE;gBACzC,iDAAiD;gBACjD,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC;gBAC9B,IAAI,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;oBACpE,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;iBACjE;aACF;SACF;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;YAClB,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;SACjE;aAAM;YACL,IAAI,qEAAW,CAAC,eAAe,EAAE;gBAC/B,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC;gBAC9B,IAAI,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;oBACpE,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;iBACjE;aACF;iBAAM,IAAI,qEAAW,CAAC,kBAAkB,EAAE;gBACzC,eAAe,GAAG,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;gBAC9C,IAAI,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;oBACpE,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;iBACjE;aACF;SACF;QACD,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,EAAE;YACxC,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE;oBAC1G,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,0BAA0B,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;wBACnJ,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnC,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;wBACvC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC;wBACtF,IAAI,qEAAW,CAAC,eAAe,EAAE;4BAC/B,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC;4BACnB,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;gCAChB,CAAC,CAAC,KAAK,GAAG,EAAE;6BACb;yBACF;6BACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;4BACvC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAE,qBAAqB;4BAC3C,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;gCAChB,CAAC,CAAC,KAAK,GAAG,EAAE;6BACb;yBACF;qBACF;yBAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;wBAC9C,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAC;wBACnF,IAAI,qEAAW,CAAC,eAAe,EAAE;4BAC/B,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC;4BACnB,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;gCAChB,CAAC,CAAC,KAAK,GAAG,EAAE;6BACb;yBACF;6BACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;4BACvC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;4BACpC,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;gCAChB,CAAC,CAAC,KAAK,GAAG,EAAE;6BACb;yBACF;qBACF;iBACF;aACF;iBAAM;gBACL,IAAI,KAAK,GAAG,qEAAW,CAAC,MAAM,IAAI,KAAK,GAAG,qEAAW,CAAC,MAAM,EAAE;oBAC5D,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,0BAA0B,GAAG,GAAG,GAAG,qEAAW,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,qEAAW,CAAC,MAAM;wBAC/F,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnC,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;wBACvC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC;wBACtF,IAAI,qEAAW,CAAC,eAAe,EAAE;4BAC/B,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC;4BACnB,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;gCAChB,CAAC,CAAC,KAAK,GAAG,EAAE;6BACb;yBACF;6BACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;4BACvC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;4BACpC,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;gCAChB,CAAC,CAAC,KAAK,GAAG,EAAE;6BACb;yBACF;qBACF;yBAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;wBAC9C,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAC;wBACnF,IAAI,qEAAW,CAAC,eAAe,EAAE;4BAC/B,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC;4BACnB,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;gCAChB,CAAC,CAAC,KAAK,GAAG,EAAE;6BACb;yBACF;6BACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;4BACvC,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;4BACpC,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE;gCAChB,CAAC,CAAC,KAAK,GAAG,EAAE;6BACb;yBACF;qBACF;iBACF;aACF;SACF;aACI,IAAI,IAAI,IAAI,iBAAiB,IAAI,IAAI,IAAI,oBAAoB,EAAE;YAClE,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,KAAK,GAAG,eAAe,IAAI,KAAK,GAAG,eAAe,EAAE;oBACtD,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,wCAAwC,GAAG,GAAG,GAAG,eAAe,GAAG,KAAK,GAAG,GAAG,GAAG,eAAe;wBACvG,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpC;aACF;iBAAM;gBACL,IAAI,qEAAW,CAAC,eAAe,GAAG,eAAe,EAAE;oBACjD,eAAe,GAAG,qEAAW,CAAC,eAAe;iBAC9C;gBACD,IAAI,qEAAW,CAAC,eAAe,GAAG,eAAe,EAAE;oBACjD,eAAe,GAAG,qEAAW,CAAC,eAAe;iBAC9C;gBACD,IAAI,KAAK,GAAG,eAAe,IAAI,KAAK,GAAG,eAAe,EAAE;oBACtD,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,wCAAwC,GAAG,GAAG,GAAG,eAAe,GAAG,KAAK,GAAG,GAAG,GAAG,eAAe;wBACvG,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpC;aACF;SACF;aACI,IAAI,IAAI,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,EAAE;YAC3D,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;oBACpD,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;wBAC7F,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpC;aACF;iBAAM,IAAI,qEAAW,CAAC,aAAa,IAAI,CAAC,EAAE;gBACzC,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBAC5C,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE;wBAChG,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;wBACnB,kDAAI,CAAC;4BACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;4BACpI,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC,CAAC;qBACH;yBACI;wBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACpC;iBACF;qBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;oBACjD,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE;wBACnG,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;wBACnB,kDAAI,CAAC;4BACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;4BACvI,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC,CAAC;qBACH;yBACI;wBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACpC;iBACF;qBAAM;oBACL,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,EAAE;wBACrC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;wBACnB,kDAAI,CAAC;4BACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa;4BAC3E,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC,CAAC;qBACH;yBACI;wBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACpC;iBACF;aACF;iBAAM;gBACL,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBAC5C,IAAI,WAAW,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;oBACjE,IAAI,qEAAW,CAAC,aAAa,GAAG,WAAW,EAAE;wBAC3C,WAAW,GAAG,qEAAW,CAAC,aAAa;qBACxC;oBACD,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,KAAK,GAAG,WAAW,EAAE;wBAC5D,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;wBACnB,kDAAI,CAAC;4BACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,WAAW;4BAChG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC,CAAC;qBACH;yBACI;wBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACpC;iBACF;qBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;oBACjD,IAAI,WAAW,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;oBACpE,IAAI,qEAAW,CAAC,aAAa,GAAG,WAAW,EAAE;wBAC3C,WAAW,GAAG,qEAAW,CAAC,aAAa;qBACxC;oBACD,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,KAAK,GAAG,WAAW,EAAE;wBAC5D,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;wBACnB,kDAAI,CAAC;4BACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,WAAW;4BAChG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC,CAAC;qBACH;yBACI;wBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACpC;iBACF;qBAAM;oBACL,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,EAAE;wBAC1E,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;wBACnB,kDAAI,CAAC;4BACH,KAAK,EAAE,0BAA0B,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,qEAAW,CAAC,aAAa;4BAClG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC,CAAC;qBACH;yBACI;wBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBACpC;iBACF;aACF;SACF;aACI,IAAI,IAAI,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,EAAE;YAC3D,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,KAAK,GAAG,qEAAW,CAAC,kBAAkB,IAAI,KAAK,GAAG,qEAAW,CAAC,eAAe,EAAE;oBACjF,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,kBAAkB,GAAG,KAAK,GAAG,GAAG,GAAG,qEAAW,CAAC,eAAe;wBAC5H,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpC;aACF;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC1F,IAAI,GAAG;gBACP,qEAAW,CAAC,aAAa,GAAG,qEAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,qEAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,qEAAW,CAAC,aAAa,CAAC;gBAChI,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,KAAK,GAAG,GAAG,EAAE;oBACpD,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG;wBAC/F,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpC;aACF;iBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;gBAC7F,IAAI,SAAS;gBACb,qEAAW,CAAC,aAAa,GAAG,qEAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,GAAG,qEAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,GAAG,qEAAW,CAAC,aAAa,CAAC;gBACxJ,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,KAAK,GAAG,SAAS,EAAE;oBAC1D,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa,GAAG,KAAK,GAAG,GAAG,GAAG,SAAS;wBACrG,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpC;aACF;iBAAM;gBACL,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,KAAK,GAAG,qEAAW,CAAC,aAAa,EAAE;oBAC1E,kDAAI,CAAC;wBACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa,GAAG,KAAK,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa;wBACrH,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC,CAAC;iBACH;qBACI;oBACH,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;iBACpC;aACF;SACF;QAED,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;YACxB,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,QAAQ,GAAG,EAAE;gBACjB,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,UAAU,OAAO;oBAC9F,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;wBACpD,IAAI,IAAI,IAAI,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;4BAClD,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa;4BAChC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;4BAC3G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;4BAC3G,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,+BAA+B,CAAC;4BACvI,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;4BAC/H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;6BAAM,IAAI,IAAI,IAAI,EAAE,EAAE;4BACrB,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa;4BAChC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;4BAC3G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;4BAC3G,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,+BAA+B,CAAC;4BACvI,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;4BAC/H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;qBACF;gBACH,CAAC,CAAC;aACH;iBAAM,IAAI,WAAW,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE;gBAC7D,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;gBAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,QAAQ,GAAG,EAAE;gBACjB,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,UAAU,OAAO;oBAC9F,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;wBAChD,IAAI,IAAI,IAAI,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;4BAClD,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa;4BAChC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;4BAC3G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;4BAC3G,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,+BAA+B,CAAC;4BACvI,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;4BAC/H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;6BAAM,IAAI,IAAI,IAAI,EAAE,EAAE;4BACrB,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa;4BAChC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;4BAC3G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;4BAC3G,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,+BAA+B,CAAC;4BACvI,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;4BAC/H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;4BAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;qBACF;gBACH,CAAC,CAAC;aACH;SACF;IACH,CAAC;IAED,sDAAU,GAAV;QACE,IAAI,CAAC,UAAU,GAAG,EAAE;QACpB,IAAI,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,KAAK,GAAG,CAAC;QACb,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBACxD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC5C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;iBACrB;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;4BACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;4BAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;4BACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;oCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCACrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACnC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4CAChF,KAAK,GAAG,IAAI;yCACb;wCACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wCAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACpC,MAAM;qCACP;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE;wCAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACnC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4CAChF,KAAK,GAAG,IAAI;yCACb;wCACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wCAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;qCACrC;iCACF;6BACF;4BAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBACxB;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;4BAC9E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BAC5E,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;4BAC9E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BAC5E,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAAE;4BAC5F,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BAC1F,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE;4BACxF,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACtF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;qBACF;oBACD,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;wBAChD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;4BAC/D,IAAI,CAAC,MAAM,GAAG,EAAE;yBACjB;wBACD,IAAI,KAAK,EAAE;4BACT,IAAI,CAAC,MAAM,GAAG,EAAE;yBACjB;wBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS;wBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;wBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;wBAC5C,KAAK,GAAG,CAAC;wBACT,KAAK,GAAG,KAAK;qBACd;iBACF;aACF;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;aAC7C;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS;gBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;aAC7C;YACD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;YAC9C,qEAAW,CAAC,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxK,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;gBAC/M,gBAAgB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC5L,oBAAoB,EAAE,qEAAW,CAAC,4BAA4B;aAC/D,CAAC,CAAC;YACH,qEAAW,CAAC,gCAAgC,GAAG,IAAI,CAAC,SAAS,CAAC;SAC/D;aAAM;YACL,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBACxD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC5C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;iBACrB;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;4BACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;4BAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;4BACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;oCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCACrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACnC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4CAChF,KAAK,GAAG,IAAI;yCACb;wCACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wCAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACpC,MAAM;qCACP;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE;wCAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACnC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;4CACrE,KAAK,GAAG,IAAI;yCACb;wCACD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;wCAC/B,MAAM;qCACP;iCACF;6BACF;4BACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBACxB;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;4BAC9E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BAC5E,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;4BAC9E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BAC5E,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAAE;4BAC5F,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BAC1F,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE;4BACxF,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACtF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;qBACF;oBACD,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;wBAChD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;4BAC/D,IAAI,CAAC,MAAM,GAAG,EAAE;yBACjB;wBACD,IAAI,KAAK,EAAE;4BACT,IAAI,CAAC,MAAM,GAAG,EAAE;yBACjB;wBACD,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;4BACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;4BACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;4BACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;yBAC7C;6BAAM;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS;4BACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;4BACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;yBAC7C;wBACD,KAAK,GAAG,CAAC;wBACT,KAAK,GAAG,KAAK;qBACd;iBACF;aACF;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;aAC7C;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS;gBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;aAC7C;YACD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;YAC9C,qEAAW,CAAC,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxK,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,qBAAqB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;gBAC/M,gBAAgB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC5L,oBAAoB,EAAE,qEAAW,CAAC,4BAA4B;aAC/D,CAAC,CAAC;YACH,qEAAW,CAAC,gCAAgC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9D,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC;YAC/F,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC;gBACnF,IAAI,CAAC,iBAAiB,GAAG,KAAK;gBAC9B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC;aACnD;SACF;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,2DAAe,GAAf;QACE,IAAI,CAAC,UAAU,GAAG,EAAE;QACpB,IAAI,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YACxD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;aACrB;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACT,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;wBACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;wBAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;wBACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;qBAC1C;yBACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;wBAC9E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;qBAC7E;yBACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;wBAC9E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;qBAC7E;yBACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAAE;wBAC5F,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;qBAC3F;yBACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE;wBACxF,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;qBACvF;yBACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;wBACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;qBACrF;yBACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;wBACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;qBACrF;yBACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;wBACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;qBACrF;yBACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;wBACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;qBACrF;iBACF;aACF;SACF;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,sDAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,mDAAO,GAAP,UAAQ,KAAK;QACX,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;QAC3E,IAAI,QAAQ,GAAG,EAAE;QACjB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACrC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;gBACrC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;aACtC;SACF;QACD,IAAI,MAAM,GAAG,IAAI;QACjB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,UAAU,OAAO;YAC9F,IAAI,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE;gBAC3C,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa;gBAChC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;oBAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;iBAC5G;gBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;oBAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;iBAC5G;gBACD,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,+BAA+B,CAAC;gBACvI,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;gBAC/H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;gBAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;gBAC3H,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;oBACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;iBAC5H;gBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;oBACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;iBAC5H;aACF;YACD,uDAAuD;YACvD,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAClD,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;oBACpD,IAAI,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;oBAC1D,IAAI,IAAI,IAAI,EAAE,EAAE;wBACd,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa;wBAChC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;yBAC5G;wBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;yBAC5G;wBACD,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,+BAA+B,CAAC;wBACvI,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;wBAC/H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;wBAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;wBAC3H,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;wBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;qBACF;yBAAM,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC3C,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa;wBAChC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;yBAC5G;wBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;yBAC5G;wBACD,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,+BAA+B,CAAC;wBACvI,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;wBAC/H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;wBAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;wBAC3H,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;wBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;qBACF;iBACF;aACF;iBAAM,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE;gBACpE,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;oBAChD,IAAI,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;oBACrE,IAAI,IAAI,IAAI,EAAE,EAAE;wBACd,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa;wBAChC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;yBAC5G;wBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;yBAC5G;wBACD,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,+BAA+B,CAAC;wBACvI,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;wBAC/H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;wBAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;wBAC3H,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;wBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;qBACF;yBAAM,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAC3C,IAAI,IAAI,GAAG,OAAO,CAAC,aAAa;wBAChC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;yBAC5G;wBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BAC7G,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC;yBAC5G;wBACD,IAAI,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,+BAA+B,CAAC;wBACvI,IAAI,CAAC,aAAa,CAAC,2CAA2C,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;wBAC/H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;wBAC3H,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;wBAC3H,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;wBACD,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;4BACrH,IAAI,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC,yBAAyB,CAAC;yBAC5H;qBACF;iBACF;aACF;QACH,CAAC,CAAC;IAEJ,CAAC;IAED,oDAAQ,GAAR;QACE,IAAI,CAAC,UAAU,GAAG,qEAAW,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QACpD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,OAAO,GAAG,EAAE;QAChB,IAAI,OAAO,GAAG,EAAE;QAChB,IAAI,MAAM,GAAG,EAAE;QACf,IAAI,MAAM,GAAG,EAAE;QACf,IAAI,MAAM,GAAG,EAAE;QACf,IAAI,MAAM,GAAG,EAAE;QACf,IAAI,eAAe,GAAG,EAAE;QACxB,IAAI,eAAe,GAAG,EAAE;QACxB,qEAAW,CAAC,aAAa,GAAG,CAAC;QAC7B,qEAAW,CAAC,aAAa,GAAG,qEAAW,CAAC,eAAe;QACvD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;YAC7F,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS;YAC1D,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBACvC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC1D,qEAAW,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC;iBACzC;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC1D,qEAAW,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC;iBACzC;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACzD,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC/E,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,eAAe,CAAC;iBAC3D;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACtD,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC5E,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,eAAe,CAAC;iBAC3D;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;oBACjE,qEAAW,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC;iBAChD;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACpD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;oBACjE,qEAAW,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC;iBAChD;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACpD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;oBAClE,qEAAW,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC;iBACjD;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE;oBACpD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC;oBAClE,qEAAW,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,OAAO,CAAC;iBACjD;aACF;QACH,CAAC,CAAC;QACF,IAAI,MAAM,GAAG,IAAI;QACjB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;YACpE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE;gBACpB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;aAClC;YACD,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACtE,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBAC/E,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAClH,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAClH,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAClI,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC9H,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC1H,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC1H,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC3H,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC3H,IAAI,eAAe;gBACnB,IAAI,eAAe;aACpB;iBAAM;gBACL,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBAC/E,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAChI,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAChI,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAChJ,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC5I,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBACxI,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBACxI,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBACzI,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBACzI,IAAI,eAAe;gBACnB,IAAI,eAAe;aACpB;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;gBAClB,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;aACjE;iBAAM;gBACL,IAAI,qEAAW,CAAC,eAAe,EAAE;oBAC/B,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC;oBAC9B,IAAI,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;wBACpE,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;qBACjE;iBACF;qBAAM,IAAI,qEAAW,CAAC,kBAAkB,EAAE;oBACzC,mDAAmD;oBACnD,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC;oBAC9B,IAAI,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;wBACpE,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;qBACjE;iBACF;aACF;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;gBAClB,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;aACjE;iBAAM;gBACL,IAAI,qEAAW,CAAC,eAAe,EAAE;oBAC/B,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC;oBAC9B,IAAI,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;wBACpE,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;qBACjE;iBACF;qBAAM,IAAI,qEAAW,CAAC,kBAAkB,EAAE;oBACzC,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;oBAChD,IAAI,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE;wBACpE,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;qBACjE;iBACF;aACF;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5B,kDAAI,CAAC;oBACH,KAAK,EAAE,yBAAyB;oBAChC,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC,CAAC;aACH;iBACI,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,EAAE;gBACnD,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;oBAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE;wBACpH,kDAAI,CAAC;4BACH,KAAK,EAAE,0BAA0B,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;4BACnJ,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACT;iBACF;qBAAM;oBACL,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,MAAM,EAAE;wBACtE,kDAAI,CAAC;4BACH,KAAK,EAAE,0BAA0B,GAAG,GAAG,GAAG,qEAAW,CAAC,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,qEAAW,CAAC,MAAM;4BAC/F,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACT;iBACF;aACF;iBACI,IAAI,IAAI,CAAC,EAAE,IAAI,iBAAiB,IAAI,IAAI,CAAC,EAAE,IAAI,oBAAoB,EAAE;gBACxE,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;oBAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,eAAe,IAAI,IAAI,CAAC,KAAK,GAAG,eAAe,EAAE;wBAChE,kDAAI,CAAC;4BACH,KAAK,EAAE,wCAAwC,GAAG,GAAG,GAAG,eAAe,GAAG,KAAK,GAAG,GAAG,GAAG,eAAe;4BACvG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACT;iBACF;qBAAM;oBACL,IAAI,qEAAW,CAAC,eAAe,GAAG,eAAe,EAAE;wBACjD,eAAe,GAAG,qEAAW,CAAC,eAAe;qBAC9C;oBACD,IAAI,qEAAW,CAAC,eAAe,GAAG,eAAe,EAAE;wBACjD,eAAe,GAAG,qEAAW,CAAC,eAAe;qBAC9C;oBACD,IAAI,IAAI,CAAC,KAAK,GAAG,eAAe,IAAI,IAAI,CAAC,KAAK,GAAG,eAAe,EAAE;wBAChE,kDAAI,CAAC;4BACH,KAAK,EAAE,wCAAwC,GAAG,GAAG,GAAG,eAAe,GAAG,KAAK,GAAG,GAAG,GAAG,eAAe;4BACvG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACT;iBACF;aACF;iBACI,IAAI,IAAI,CAAC,EAAE,IAAI,eAAe,IAAI,IAAI,CAAC,EAAE,IAAI,eAAe,EAAE;gBACjE,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;oBAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE;wBACzD,kDAAI,CAAC;4BACH,KAAK,EAAE,iCAAiC,GAAG,GAAG,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;4BAC5F,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACT;iBACF;qBAAM,IAAI,qEAAW,CAAC,aAAa,IAAI,CAAC,EAAE;oBACzC,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;wBAC5C,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE;4BAC1G,kDAAI,CAAC;gCACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;gCACpI,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC9B,CAAC,CAAC;yBACH;6BACI;4BACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC/B,KAAK,EAAE,CAAC;yBACT;qBACF;yBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;wBACjD,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE;4BAC7G,kDAAI,CAAC;gCACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;gCACvI,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC9B,CAAC,CAAC;yBACH;6BACI;4BACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC/B,KAAK,EAAE,CAAC;yBACT;qBACF;yBAAM;wBACL,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,EAAE;4BAC1C,kDAAI,CAAC;gCACH,KAAK,EAAE,iCAAiC,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa;gCAC1E,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC9B,CAAC,CAAC;yBACH;6BACI;4BACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC/B,KAAK,EAAE,CAAC;yBACT;qBACF;iBACF;qBAAM;oBACL,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;wBAC5C,IAAI,WAAW,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;wBACjE,IAAI,qEAAW,CAAC,aAAa,GAAG,WAAW,EAAE;4BAC3C,WAAW,GAAG,qEAAW,CAAC,aAAa;yBACxC;wBACD,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,WAAW,EAAE;4BACtE,kDAAI,CAAC;gCACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,WAAW;gCAChG,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC9B,CAAC,CAAC;yBACH;6BACI;4BACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC/B,KAAK,EAAE,CAAC;yBACT;qBACF;yBAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;wBACjD,IAAI,WAAW,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;wBACpE,IAAI,qEAAW,CAAC,aAAa,GAAG,WAAW,EAAE;4BAC3C,WAAW,GAAG,qEAAW,CAAC,aAAa;yBACxC;wBACD,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,WAAW,EAAE;4BACtE,kDAAI,CAAC;gCACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,WAAW;gCAChG,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC9B,CAAC,CAAC;yBACH;6BACI;4BACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC/B,KAAK,EAAE,CAAC;yBACT;qBACF;yBAAM;wBACL,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,EAAE;4BACpF,kDAAI,CAAC;gCACH,KAAK,EAAE,sCAAsC,GAAG,qEAAW,CAAC,aAAa,GAAG,MAAM,GAAG,qEAAW,CAAC,aAAa;gCAC9G,IAAI,EAAE,SAAS;gCACf,gBAAgB,EAAE,KAAK;gCACvB,kBAAkB,EAAE,SAAS;gCAC7B,iBAAiB,EAAE,SAAS;gCAC5B,iBAAiB,EAAE,IAAI;6BACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;gCACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC9B,CAAC,CAAC;yBACH;6BACI;4BACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC/B,KAAK,EAAE,CAAC;yBACT;qBACF;iBACF;aACF;iBACI,IAAI,IAAI,CAAC,EAAE,IAAI,eAAe,IAAI,IAAI,CAAC,EAAE,IAAI,eAAe,EAAE;gBACjE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;oBAC3C,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,eAAe,EAAE;wBACtF,kDAAI,CAAC;4BACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa,GAAG,KAAK,GAAG,GAAG,GAAG,qEAAW,CAAC,eAAe;4BACvH,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACT;iBACF;qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE;oBAC5F,IAAI,MAAM;oBACV,qEAAW,CAAC,aAAa,GAAG,qEAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,GAAG,qEAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,GAAG,qEAAW,CAAC,aAAa,CAAC;oBACtI,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE;wBACjE,kDAAI,CAAC;4BACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM;4BAClG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACT;iBACF;qBAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE;oBAC/F,IAAI,YAAY,CAAC;oBACjB,qEAAW,CAAC,aAAa,GAAG,qEAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,YAAY,GAAG,qEAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,YAAY,GAAG,qEAAW,CAAC,aAAa,CAAC;oBAC9J,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY,EAAE;wBACvE,kDAAI,CAAC;4BACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa,GAAG,KAAK,GAAG,GAAG,GAAG,YAAY;4BACxG,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACT;iBACF;qBAAM;oBACL,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,GAAG,qEAAW,CAAC,aAAa,EAAE;wBACpF,kDAAI,CAAC;4BACH,KAAK,EAAE,kCAAkC,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa,GAAG,KAAK,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa;4BACrH,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACT;iBACF;aACF;iBACI;gBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/B,KAAK,EAAE,CAAC;aACT;QACH,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;YAC1B,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBACpE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBAC/E,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACrD,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBACtH,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBACtH,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBACtI,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBAClI,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBAC9H,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBAC9H,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBAC/H,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;iBAChI;qBAAM;oBACL,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBACxG,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBACxG,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBACxH,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBACpH,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBAChH,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBAChH,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;oBACjH,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,iBAAiB,CAAC,KAAK;iBAClH;gBACD,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC3B,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;gBAC/B,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;gBAC/B,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC3B,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC3B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAC7B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAC7B,gBAAgB;gBAEhB,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,EAAE;oBACvB,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE;wBAC1C,kDAAI,CAAC;4BACH,KAAK,EAAE,wCAAwC;4BAC/C,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,MAAM,EAAE,CAAC;qBACV;iBACF;qBACI,IAAI,IAAI,CAAC,EAAE,IAAI,QAAQ,EAAE;oBAC5B,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE;wBAC1C,kDAAI,CAAC;4BACH,KAAK,EAAE,qCAAqC;4BAC5C,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC/B,MAAM,EAAE,CAAC;qBACV;iBACF;qBACI,IAAI,IAAI,CAAC,EAAE,IAAI,oBAAoB,EAAE;oBACxC,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,IAAI,SAAS,IAAI,GAAG,EAAE;wBAC9C,kDAAI,CAAC;4BACH,KAAK,EAAE,oEAAoE;4BAC3E,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAAC,MAAM,EAAE,CAAC;qBAC1C;iBACF;qBACI,IAAI,IAAI,CAAC,EAAE,IAAI,iBAAiB,EAAE;oBACrC,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,IAAI,SAAS,IAAI,GAAG,EAAE;wBAC9C,kDAAI,CAAC;4BACH,KAAK,EAAE,iEAAiE;4BACxE,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAAC,MAAM,EAAE,CAAC;qBAC1C;iBACF;qBACI,IAAI,IAAI,CAAC,EAAE,IAAI,eAAe,EAAE;oBACnC,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE;wBAC1C,kDAAI,CAAC;4BACH,KAAK,EAAE,wDAAwD;4BAC/D,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAAC,MAAM,EAAE,CAAC;qBAC1C;iBACF;qBACI,IAAI,IAAI,CAAC,EAAE,IAAI,eAAe,EAAE;oBACnC,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE;wBAC1C,kDAAI,CAAC;4BACH,KAAK,EAAE,qDAAqD;4BAC5D,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAAC,MAAM,EAAE,CAAC;qBAC1C;iBACF;qBACI,IAAI,IAAI,CAAC,EAAE,IAAI,eAAe,EAAE;oBACnC,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE;wBAC5C,kDAAI,CAAC;4BACH,KAAK,EAAE,wDAAwD;4BAC/D,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAAC,MAAM,EAAE,CAAC;qBAC1C;iBACF;qBACI,IAAI,IAAI,CAAC,EAAE,IAAI,eAAe,EAAE;oBACnC,IAAI,IAAI,CAAC,KAAK,GAAG,QAAQ,IAAI,QAAQ,IAAI,GAAG,EAAE;wBAC5C,kDAAI,CAAC;4BACH,KAAK,EAAE,qDAAqD;4BAC5D,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;4BACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,CAAC,CAAC;qBACH;yBACI;wBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAAC,MAAM,EAAE,CAAC;qBAC1C;iBACF;qBACI;oBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC/B,MAAM,EAAE,CAAC;iBACV;YAGH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YACrD,IAAI,CAAC,UAAU,GAAG,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,KAAK,GAAG,CAAC;YACb,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBACxD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC5C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;iBACrB;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE;4BACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;4BAChE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;4BACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;oCAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;wCACrF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACnC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4CAChF,KAAK,GAAG,IAAI;yCACb;wCACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wCAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACpC,MAAM;qCACP;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE;wCAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACnC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;4CACrE,KAAK,GAAG,IAAI;yCACb;wCACD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;wCAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACpC,MAAM;qCACP;yCAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE;wCAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wCACnC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;4CAChF,KAAK,GAAG,IAAI;yCACb;wCACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wCAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;qCACrC;iCACF;6BACF;4BAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBACxB;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;4BAC9E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BAC5E,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;4BAC9E,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BAC5E,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAAE;4BAC5F,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BAC1F,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE;4BACxF,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACtF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;6BACI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE;4BACtF,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;4BACpF,KAAK,EAAE;yBACR;qBACF;oBACD,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;wBAChD,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;4BAC/D,IAAI,CAAC,MAAM,GAAG,EAAE;yBACjB;wBACD,IAAI,KAAK,EAAE;4BACT,IAAI,CAAC,MAAM,GAAG,EAAE;yBACjB;wBACD,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;4BACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;4BACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;4BACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;yBAC7C;6BAAM;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS;4BACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;4BACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;yBAC7C;wBACD,KAAK,GAAG,CAAC;wBACT,KAAK,GAAG,KAAK;qBACd;iBACF;aACF;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,UAAU,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;aAC7C;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS;gBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM;aAC7C;YACD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;YAC9C,qEAAW,CAAC,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;gBAClH,cAAc,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU;gBAC5H,WAAW,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;gBACxH,eAAe,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa;gBACjE,qBAAqB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB;gBAC7E,gBAAgB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ;gBAC5H,oBAAoB,EAAE,qEAAW,CAAC,4BAA4B,CAAC,CAAC,CAAC;aAClE,CAAC,CAAC;YACH,qEAAW,CAAC,gCAAgC,GAAG,IAAI,CAAC,SAAS,CAAC;SAC/D;QACD,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACxE,kDAAI,CAAC;gBACH,KAAK,EAAE,wFAAwF;gBAC/F,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,KAAK;gBACvB,kBAAkB,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YACf,CAAC,CAAC;SACH;IACH,CAAC;IAED,uDAAW,GAAX;QACE,sBAAsB;QACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,0DAAc,GAAd,UAAe,aAAa,EAAE,GAAG,EAAE,aAAa;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAE7C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE;gBAC1C,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAjvEuB;QAAvB,+DAAS,CAAC,WAAW,CAAC;kCAAsB,wDAAU;yCAAV,wDAAU;oEAEtD;IA/CU,iCAAiC;QAL7C,+DAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;;;SAG3C,CAAC;yCAiD2B,sDAAM,EAAiB,6EAAgB,EAAiB,sEAAa,EAAa,wDAAU,EAAiB,4EAAwB;OAhDrJ,iCAAiC,CAgyE7C;IAAD,wCAAC;CAAA;AAhyE6C;;;;;;;;;;;;ACd9C,q+NAAq+N,uDAAuD,i5MAAi5M,8GAA8G,4hBAA4hB,yGAAyG,wWAAwW,oGAAoG,m0B;;;;;;;;;;;ACA5md,oCAAoC,0DAA0D,uBAAuB,qBAAqB,wBAAwB,+BAA+B,EAAE,oCAAoC,kBAAkB,kBAAkB,0BAA0B,yBAAyB,EAAE,wCAAwC,iBAAiB,kBAAkB,0BAA0B,yBAAyB,EAAE,sCAAsC,oBAAoB,oBAAoB,8BAA8B,0BAA0B,EAAE,0CAA0C,oBAAoB,qBAAqB,2BAA2B,kCAAkC,2BAA2B,4BAA4B,sBAAsB,gCAAgC,4BAA4B,EAAE,8CAA8C,sBAAsB,EAAE,2CAA2C,mCAAmC,yBAAyB,EAAE,gCAAgC,iCAAiC,EAAE,8CAA8C,sBAAsB,2BAA2B,mCAAmC,yBAAyB,EAAE,2DAA2D,sBAAsB,0BAA0B,8CAA8C,0CAA0C,IAAI,2EAA2E,uBAAuB,kCAAkC,2BAA2B,EAAE,0CAA0C,gBAAgB,qBAAqB,gBAAgB,yBAAyB,EAAE,cAAc,uBAAuB,aAAa,wCAAwC,gCAAgC,EAAE,gBAAgB,2BAA2B,uBAAuB,EAAE,oBAAoB,iBAAiB,yBAAyB,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/1D;AAClE;AAEkB;AACE;AACP;AACF;AAEC;AAChC;AACA;AAU/B;IAqDE,iCAAmB,GAAiB,EAAS,MAAwB,EAAS,MAAc,EAAS,QAAwB,EACpH,MAAqB,EAAS,MAAgC,EAAS,EAAc;QAD9F,iBA0ZC;QA1ZkB,QAAG,GAAH,GAAG,CAAc;QAAS,WAAM,GAAN,MAAM,CAAkB;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAgB;QACpH,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAA0B;QAAS,OAAE,GAAF,EAAE,CAAY;QArD9F,mBAAc,GAAY,KAAK,CAAC;QAChC,aAAQ,GAAQ,EAAE,CAAC;QACnB,iBAAY,GAAQ,EAAE,CAAC;QACvB,oBAAe,GAAQ,EAAE,CAAC;QAC1B,kBAAa,GAAQ,EAAE,CAAC;QACxB,aAAQ,GAAQ,EAAE,CAAC;QACnB,gBAAW,GAAQ,EAAE,CAAC;QACtB,uBAAkB,GAAG,EAAE,CAAC;QACxB,oBAAe,GAAG,EAAE,CAAC;QACrB,iBAAY,GAAG,EAAE,CAAC;QAClB,6BAAwB,GAAG,EAAE,CAAC;QAC9B,wBAAmB,GAAG,EAAE,CAAC;QACzB,uBAAkB,GAAU,EAAE,CAAC;QAC/B,qBAAgB,GAAG,EAAE;QACrB,yBAAoB,GAAG,EAAE,CAAC;QAC1B,4BAAuB,GAAG,EAAE,CAAC;QAC7B,8BAAyB,GAAG,EAAE,CAAC;QAC/B,kCAA6B,GAAG,EAAE,CAAC;QACnC,aAAQ,GAAQ,EAAE,CAAC;QAQnB,iBAAY,GAAQ,EAAE,CAAC;QACvB,aAAQ,GAAQ,EAAE,CAAC;QACnB,iBAAY,GAAQ,EAAE,CAAC;QACvB,sBAAiB,GAAQ,EAAE,CAAC;QAC5B,mBAAc,GAAG,qEAAW,CAAC,cAAc,CAAC;QAC5C,kBAAa,GAAG,KAAK,CAAC;QACtB,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,sBAAiB,GAAG,qEAAW,CAAC,iBAAiB,CAAC;QAClD,oBAAe,GAAG,qEAAW,CAAC,eAAe,CAAC;QAC9C,uBAAkB,GAAG,qEAAW,CAAC,kBAAkB,CAAC;QACpD,WAAM,GAAG,IAAI,CAAC;QAGd,yBAAoB,GAAQ,EAAE,CAAC;QAC/B,uBAAkB,GAAQ,EAAE,CAAC;QAE7B,sCAAsC;QACtC,2BAAsB,GAAQ,EAAE,CAAC;QAEjC,2BAAsB,GAAQ,EAAE,CAAC;QAEjC,oBAAe,GAAQ,EAAE,CAAC;QAC1B,YAAO,GAAQ,EAAE,CAAC;QAClB,sBAAiB,GAAG,EAAE;QACtB,eAAU,GAAG,KAAK;QAIhB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,GAAG,GAAG,iBAAiB,CAAC;YAG5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAC/C,aAAG;gBACD,IAAI,IAAI,CAAC;gBACT,IAAI,GAAG,GAAG,CAAC;gBACX,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC9B,kCAAkC;gBAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,EACD,aAAG;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CACF;YACD,IAAI,CAAC,OAAO,GAAG;gBACb;oBACE,WAAW,EAAE,QAAQ;oBACrB,SAAS,EAAE,CAAC;iBACb;gBACD;oBACE,WAAW,EAAE,QAAQ;oBACrB,SAAS,EAAE,CAAC;iBACb;gBACD;oBACE,WAAW,EAAE,IAAI;oBACjB,SAAS,EAAE,CAAC;iBACb;aACF,CAAC;YACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAC,IAAI;gBAChD,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,KAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE;oBACnC,IAAI,IAAI,CAAC;oBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAClD,IAAI,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,oBAAoB,EAAE;4BAChE,IAAI,GAAG,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACvC,MAAM;yBACP;qBACF;oBACD,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACvF,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,SAAS,CAAC,UAAC,IAAI;gBACtD,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,yBAAyB,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAC,IAAI;gBAChD,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,KAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE;oBACnC,IAAI,UAAU,CAAC;oBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtD,IAAI,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;4BACzD,UAAU,GAAG,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACjD,MAAM;yBACP;qBACF;oBACD,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;oBAC5G,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;iBAC1B;qBAAM;oBACL,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC/D;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,UAAC,IAAI;gBACnD,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,KAAI,CAAC,sBAAsB,IAAI,EAAE,EAAE;oBACrC,IAAI,IAAI,CAAC;oBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpD,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,sBAAsB,EAAE;4BACpE,IAAI,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACzC,MAAM;yBACP;qBACF;oBACD,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC3F,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,UAAC,IAAI;gBACnD,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,KAAI,CAAC,kBAAkB,IAAI,EAAE,EAAE;oBACjC,IAAI,IAAI,CAAC;oBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACpD,IAAI,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,kBAAkB,EAAE;4BAChE,IAAI,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACzC,MAAM;yBACP;qBACF;oBACD,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACrF,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,MAAM,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;YAEH,qEAAqE;YACrE,+DAA+D;YAC/D,0CAA0C;YAC1C,+CAA+C;YAC/C,gBAAgB;YAChB,+DAA+D;YAC/D,mFAAmF;YACnF,qDAAqD;YACrD,iBAAiB;YACjB,UAAU;YACV,QAAQ;YACR,sGAAsG;YACtG,gCAAgC;YAChC,MAAM;YACN,MAAM;YAEN,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS,CAAC,UAAC,IAAI;gBAClD,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,KAAI,CAAC,sBAAsB,IAAI,EAAE,EAAE;oBACrC,IAAI,IAAI,CAAC;oBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnD,IAAI,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAI,CAAC,sBAAsB,EAAE;4BACnE,IAAI,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACxC,MAAM;yBACP;qBACF;oBACD,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC3F,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAE9C,IAAI,qEAAW,CAAC,UAAU,IAAI,IAAI,EAAE;oBAClC,IAAI,CAAC,mBAAmB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBACnF,IAAI,IAAI,CAAC,mBAAmB,IAAI,EAAE,IAAI,IAAI,CAAC,mBAAmB,IAAI,SAAS,EAAE;wBAC3E,IAAI,CAAC,mBAAmB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;qBAC3E;oBAED,qEAAW,CAAC,kBAAkB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC/E,IAAI,CAAC,eAAe,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;oBACvE,IAAI,CAAC,YAAY,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjE,IAAI,CAAC,wBAAwB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACtF,IAAI,CAAC,eAAe,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO;oBACjE,IAAI,qEAAW,CAAC,eAAe,EAAE;wBAC/B,IAAI,CAAC,iBAAiB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;qBAC1E;yBACI,IAAI,IAAI,CAAC,kBAAkB,EAAE;wBAChC,IAAI,SAAS,GAAG,qEAAW,CAAC,mBAAmB;wBAC/C,IAAI,CAAC,gBAAgB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,wBAAwB;wBACnF,IAAI,CAAC,oBAAoB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;wBACpF,IAAI,CAAC,kBAAkB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACnF,IAAI,CAAC,sBAAsB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACzF,IAAI,CAAC,oBAAoB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACrF,IAAI,CAAC,oBAAoB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACrF,gGAAgG;wBAChG,IAAI,CAAC,sBAAsB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACzF,IAAI,CAAC,yBAAyB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;wBACvF,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE;4BAChI,IAAI,CAAC,UAAU,GAAG,IAAI;yBACvB;wBACD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;wBACjE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC;qBACrD;oBACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBACrD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC/C,0EAA0E;oBAC1E,IAAI,IAAI;oBACR,kBAAkB;oBAClB,4EAA4E;oBAC5E,0EAA0E;oBAC1E,gFAAgF;oBAChF,oFAAoF;oBACpF,iGAAiG;oBACjG,+EAA+E;oBAC/E,KAAK;oBACL,IAAI,MAAM,GAAG,IAAI,CAAC;oBAClB,MAAM,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC;wBAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;wBACpB,IAAI,qEAAW,CAAC,kBAAkB,EAAE;4BAClC,MAAM,CAAC,kBAAkB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BACrF,MAAM,CAAC,sBAAsB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BAC3F,MAAM,CAAC,oBAAoB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BACvF,MAAM,CAAC,oBAAoB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BACvF,kGAAkG;4BAClG,MAAM,CAAC,sBAAsB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BAC3F,MAAM,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;4BAC7C,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;4BAC7E,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;4BAC/F,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACjD,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACpG,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACtD,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;4BACrG,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACtD,0GAA0G;4BAC1G,2DAA2D;4BAC3D,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;4BACnG,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACpD,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;4BAC/F,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BAChD,MAAM,CAAC,yBAAyB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;4BACzF,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;4BACrE,IAAI,KAAK,GAAG,qEAAW,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC;4BAE5D,IAAI,MAAM,CAAC,oBAAoB,IAAI,EAAE,EAAE;gCACrC,IAAI,IAAI,CAAC;gCACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACpD,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,oBAAoB,EAAE;wCACpE,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wCACzC,MAAM;qCACP;iCACF;gCACD,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gCAC3F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;6BAC5B;4BAED,IAAI,MAAM,CAAC,oBAAoB,IAAI,EAAE,EAAE;gCACrC,IAAI,UAAU,CAAC;gCACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACxD,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,cAAc,EAAE;wCAC3D,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wCACnD,MAAM;qCACP;iCACF;gCACD,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;gCAClH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;6BAC5B;iCAAM;gCACL,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;6BACjE;4BAGD,IAAI,MAAM,CAAC,sBAAsB,IAAI,EAAE,EAAE;gCACvC,IAAI,IAAI,CAAC;gCACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACtD,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,sBAAsB,EAAE;wCACxE,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wCAC3C,MAAM;qCACP;iCACF;gCACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gCAC/F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;6BAC5B;4BAED,IAAI,MAAM,CAAC,kBAAkB,IAAI,EAAE,EAAE;gCACnC,IAAI,IAAI,CAAC;gCACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACtD,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,kBAAkB,EAAE;wCACpE,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wCAC3C,MAAM;qCACP;iCACF;gCACD,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gCACzF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;6BAC3B;4BAED,+CAA+C;4BAC/C,cAAc;4BACd,+DAA+D;4BAC/D,qFAAqF;4BACrF,qDAAqD;4BACrD,eAAe;4BACf,QAAQ;4BACR,MAAM;4BACN,wGAAwG;4BACxG,gCAAgC;4BAChC,IAAI;4BAEJ,IAAI,MAAM,CAAC,sBAAsB,IAAI,EAAE,EAAE;gCACvC,IAAI,IAAI,CAAC;gCACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oCACrD,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,sBAAsB,EAAE;wCACvE,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wCAC1C,MAAM;qCACP;iCACF;gCACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gCAC/F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;6BAC5B;4BACD,MAAM,CAAC,OAAO,GAAG;gCACf;oCACE,WAAW,EAAE,QAAQ;oCACrB,SAAS,EAAE,CAAC;iCACb;gCACD;oCACE,WAAW,EAAE,QAAQ;oCACrB,SAAS,EAAE,CAAC;iCACb;gCACD;oCACE,WAAW,EAAE,IAAI;oCACjB,SAAS,EAAE,CAAC;iCACb;6BACF,CAAC;yBACH;6BACI,IAAI,qEAAW,CAAC,iBAAiB,EAAE;4BACtC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;yBACxD;wBACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;oBACtB,CAAC,CAAC,CAAC;iBAEJ;qBACI,IAAI,qEAAW,CAAC,kBAAkB,IAAI,qEAAW,CAAC,UAAU,IAAI,KAAK,EAAE;oBAC1E,IAAI,CAAC,MAAM,GAAG,qEAAW,CAAC,wBAAwB,CAAC;oBACnD,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;oBAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBAC7E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACzE,oFAAoF;oBACpF,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;oBAC3F,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/C,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBAChG,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpD,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;oBACjG,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpD,sGAAsG;oBACtG,yDAAyD;oBACzD,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBAC/F,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAClD,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;oBAC3F,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9C,qDAAqD;oBACrD,sDAAsD;oBACtD,+BAA+B;oBAC/B,sEAAsE;oBACtE,yGAAyG;oBACzG,aAAa;oBACb,MAAM;oBACN,IAAI;iBACL;gBACD,IAAI,CAAC,eAAe,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBACvE,IAAI,CAAC,YAAY,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,IAAI,CAAC,wBAAwB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBACtF,IAAI,CAAC,mBAAmB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC1E,IAAI,CAAC,oBAAoB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC7E,IAAI,CAAC,gBAAgB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,wBAAwB;gBACnF,IAAI,CAAC,iBAAiB,GAAG,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;aAC1E;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,UAAC,IAAI;gBAEnD,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,IAAI,KAAI,CAAC,eAAe,IAAI,EAAE,EAAE;oBAC9B,sBAAsB;oBACtB,KAAI,CAAC,cAAc,EAAE,CAAC;iBACvB;YAEH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,UAAC,IAAI;gBACnD,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAClD,6EAA6E;YAC7E,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,UAAC,IAAI;gBAChD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,gEAAgE;YAChE,0CAA0C;YAC1C,gDAAgD;YAChD,MAAM;YACN,IAAI,qEAAW,CAAC,kBAAkB,EAAE;gBAClC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBACpE,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,SAAS,CAAC,UAAC,IAAI;oBACtD,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,yBAAyB,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,IAAI,SAAS,GAAG,qEAAW,CAAC,mBAAmB;gBAC/C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE;oBAChI,IAAI,CAAC,UAAU,GAAG,IAAI;iBACvB;aACF;iBAAM,IAAI,qEAAW,CAAC,iBAAiB,EAAE;gBACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC/C,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC/C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBACjC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAC7B,IAAI,CAAC,oBAAoB,GAAG,EAAE;gBAC9B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;gBACpC,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;gBACxC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC1B,sCAAsC;gBACtC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBACjC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBAC/B,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;aACpC;SAEF;aAEI;YACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IAEH,CAAC;IAED,kDAAgB,GAAhB;QAAA,iBAiKC;QAhKC,IAAI,GAAG,GAAG,oBAAoB,GAAG,qEAAW,CAAC,kBAAkB,CAAC;QAEhE,+BAA+B,KAAK;YAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACrD,CAAC;QACD,IAAM,OAAO,GAAG,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC1C,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAC/C,aAAG;gBACD,IAAI,IAAI,CAAC;gBACT,IAAI,GAAG,GAAG,CAAC;gBACX,IAAI,KAAI,CAAC,eAAe,IAAI,mBAAmB,EAAE;oBAC/C,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC/B,qEAAW,CAAC,SAAS,GAAG,qEAAW,CAAC,YAAY;oBAChD,IAAI,OAAY,CAAC;oBACjB,OAAO,GAAG,qEAAW,CAAC,WAAW,CAAC;oBAClC,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU;oBAC5C,sBAAsB;iBACvB;qBACI,IAAI,KAAI,CAAC,eAAe,IAAI,kBAAkB,EAAE;oBACnD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC/B,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAE/B,sBAAsB;iBACvB;qBACI,IAAI,KAAI,CAAC,eAAe,IAAI,mBAAmB,EAAE;oBACpD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC/B,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAE/B,sBAAsB;iBACvB;qBACI,IAAI,KAAI,CAAC,eAAe,IAAI,qBAAqB,EAAE;oBACtD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC/B,IAAI,OAAY,CAAC;oBACjB,OAAO,GAAG,qEAAW,CAAC,WAAW,CAAC;oBAClC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;oBACvD,qEAAW,CAAC,eAAe,GAAG,KAAK,CAAC;oBACpC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBACvC,qEAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBACrC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC7B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAE9B,sBAAsB;iBAEvB;qBACI,IAAI,KAAI,CAAC,eAAe,IAAI,sBAAsB,EAAE;oBACvD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC/B,qEAAW,CAAC,SAAS,GAAG,qEAAW,CAAC,YAAY;oBAChD,IAAI,OAAY,CAAC;oBACjB,OAAO,GAAG,qEAAW,CAAC,WAAW,CAAC;oBAClC,KAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBACpE,KAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;oBAC3C,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU;oBAC5C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;oBACzE,oFAAoF;oBACpF,IAAI,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;oBAC3F,KAAI,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC/C,IAAI,eAAe,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBAChG,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpD,IAAI,eAAe,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;oBACjG,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACpD,sGAAsG;oBACtG,yDAAyD;oBACzD,IAAI,cAAc,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBAC/F,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAClD,IAAI,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;oBAC3F,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9C,IAAI,IAAI,CAAC;oBACT,KAAI,CAAC,MAAM,GAAG;wBACZ,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;wBACtE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;wBACpE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;wBAC1E,kFAAkF;wBAClF,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC3F,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;qBAC3E,CAAC;oBACF,qEAAW,CAAC,eAAe,GAAG,KAAK,CAAC;oBACpC,qEAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBACtC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACtC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC7B,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,sBAAsB;iBACvB;qBACI,IAAI,KAAI,CAAC,eAAe,IAAI,oBAAoB,EAAE;oBACrD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC/B,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,sBAAsB;iBACvB;qBACI,IAAI,KAAI,CAAC,eAAe,IAAI,oBAAoB,EAAE;oBACrD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;oBAC/B,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,sBAAsB;iBACvB;gBAED,mBAAmB;gBACnB,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,EAAE;oBACzH,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBACrC,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBACrC,KAAe,UAA8C,EAA9C,UAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAA9C,cAA8C,EAA9C,IAA8C;wBAAxD,IAAI,EAAE;wBACT,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;qBACf;iBACF;gBACD,KAAK;gBAEL,IAAI,GAAG,GAAG,mBAAmB,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,aAAa,CAAC;gBAClF,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAC/C,aAAG;oBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC9B,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;oBACvB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAChC,CAAC,EACD,aAAG;oBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC,CACF;gBACD,OAAO,OAAO,EAAE,CAAC;YACnB,CAAC,EACD,aAAG;gBACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,sBAAsB;gBACtB,OAAO,MAAM,EAAE,CAAC;YAClB,CAAC,CACF;QACH,CAAC,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gDAAc,GAAd;QAAA,iBAyJC;QAxJC,IAAI,GAAG,GAAG,oBAAoB,GAAG,qEAAW,CAAC,kBAAkB,CAAC;QAChE,+BAA+B,KAAK;YAClC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAC/C,aAAG;YACD,IAAI,IAAI,CAAC;YACT,IAAI,GAAG,GAAG,CAAC;YACX,IAAI,KAAI,CAAC,eAAe,IAAI,mBAAmB,EAAE;gBAC/C,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC/B,IAAI,OAAY,CAAC;gBACjB,OAAO,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAClC,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU;gBAC5C,qEAAW,CAAC,SAAS,GAAG,qEAAW,CAAC,YAAY;gBAChD,sBAAsB;aACvB;iBACI,IAAI,KAAI,CAAC,eAAe,IAAI,kBAAkB,EAAE;gBACnD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC/B,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,sBAAsB;aACvB;iBACI,IAAI,KAAI,CAAC,eAAe,IAAI,mBAAmB,EAAE;gBACpD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC/B,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,sBAAsB;aACvB;iBACI,IAAI,KAAI,CAAC,eAAe,IAAI,qBAAqB,EAAE;gBACtD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC/B,IAAI,OAAY,CAAC;gBACjB,OAAO,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAClC,KAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC;gBACvD,qEAAW,CAAC,eAAe,GAAG,KAAK,CAAC;gBACpC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBACvC,qEAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBACrC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,sBAAsB;aAEvB;iBACI,IAAI,KAAI,CAAC,eAAe,IAAI,sBAAsB,EAAE;gBACvD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC/B,qEAAW,CAAC,SAAS,GAAG,qEAAW,CAAC,YAAY;gBAChD,IAAI,OAAY,CAAC;gBACjB,OAAO,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAClC,KAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBACpE,KAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAC3C,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU;gBACzC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACzE,oFAAoF;gBACpF,IAAI,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;gBAC3F,KAAI,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/C,IAAI,eAAe,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBAChG,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpD,IAAI,eAAe,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;gBACjG,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACpD,sGAAsG;gBACtG,yDAAyD;gBACzD,IAAI,cAAc,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;gBAC/F,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClD,IAAI,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;gBAC3F,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9C,IAAI,IAAI,CAAC;gBACT,KAAI,CAAC,MAAM,GAAG;oBACZ,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBACtE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBACpE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC1E,kFAAkF;oBAClF,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC3F,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBAC3E,CAAC;gBACF,qEAAW,CAAC,eAAe,GAAG,KAAK,CAAC;gBACpC,qEAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBACtC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACtC,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC7B,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,sBAAsB;aACvB;iBACI,IAAI,KAAI,CAAC,eAAe,IAAI,oBAAoB,EAAE;gBACrD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC/B,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,sBAAsB;aACvB;iBACI,IAAI,KAAI,CAAC,eAAe,IAAI,oBAAoB,EAAE;gBACrD,qEAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,qEAAW,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC/B,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBACtC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBACvC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,sBAAsB;aACvB;YAED,mBAAmB;YACnB,IAAI,qEAAW,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,KAAI,CAAC,eAAe,EAAE;gBACzH,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;gBACrC,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;gBACrC,KAAe,UAA8C,EAA9C,UAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAA9C,cAA8C,EAA9C,IAA8C;oBAAxD,IAAI,EAAE;oBACT,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;iBACf;aACF;YACD,KAAK;YAEL,IAAI,GAAG,GAAG,mBAAmB,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,aAAa,CAAC;YAClF,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAC/C,aAAG;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC9B,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;gBACvB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAChC,CAAC,EACD,aAAG;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CACF;QAEH,CAAC,EACD,aAAG;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,sBAAsB;QACxB,CAAC,CACF;IACH,CAAC;IAED,6CAAW,GAAX,UAAY,CAAC;QACX,IAAI,EAAE,GAAG,eAAe,CAAC;QACzB,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,0CAAQ,GAAR;IACA,CAAC;IAED,iDAAe,GAAf;QACE,sBAAsB;QACtB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,WAAW,CAAC;YACV,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;gBACvE,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;oBACzB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC;QAEP,UAAU,CAAC;YACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,EAAE,IAAI,CAAC;QACR,yCAAyC;QACzC,uEAAuE;QACvE,iCAAiC;QACjC,oEAAoE;QACpE,4DAA4D;QAC5D,IAAI;IAEN,CAAC;IAED,8CAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,MAAM,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClI,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU;YACzE,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACrD;iBACI;gBACH,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAChC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACxD;IACL,CAAC;IAED,4CAAU,GAAV,UAAW,KAAK;QAAhB,iBA+HC;QA9HC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,oBAAoB,EAAE;YAC5E,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBACvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtD,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC7F,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,sEAAsE;4BAC7E,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBAEf,CAAC,CAAC;qBAEH;yBACI;wBACH,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC/C;iBACF;aAEF;iBACI;gBACH,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/C;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,qBAAqB,EAAE;YAClF,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;gBACpF,kDAAI,CAAC;oBACH,KAAK,EAAE,qCAAqC;oBAC5C,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBACjC,CAAC,CAAC;aACH;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,kBAAkB,EAAE;YAC/E,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACnD,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE;gBAC5B,kDAAI,CAAC;oBACH,KAAK,EAAE,oBAAoB;oBAC3B,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;gBACrC,CAAC,CAAC;aACH;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,cAAc,EAAE;YAC3E,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/C,IAAI,IAAI,CAAC,oBAAoB,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBAC3E,IAAI,CAAC,oBAAoB,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE;gBAC3E,kDAAI,CAAC;oBACH,KAAK,EAAE,qCAAqC,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,MAAM,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBACrJ,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;gBACjC,CAAC,CAAC;aACH;YACD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YAC5G,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACxD;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,iBAAiB,EAAE;YAC9E,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACxD;aAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,kBAAkB,EAAE;YACjF,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;YAC3C,IAAI,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,UAAU,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE;gBAC/D,kDAAI,CAAC;oBACH,KAAK,EAAE,2CAA2C,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBACnG,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;oBACxB,KAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;gBAC9B,CAAC,CAAC;aACH;SACF;aACI,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,YAAY,EAAE;YACzE,+CAA+C;YAC/C,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtD,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC7F,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;wBACxB,kDAAI,CAAC;4BACH,KAAK,EAAE,qEAAqE;4BAC5E,IAAI,EAAE,SAAS;4BACf,gBAAgB,EAAE,KAAK;4BACvB,kBAAkB,EAAE,SAAS;4BAC7B,iBAAiB,EAAE,SAAS;4BAC5B,iBAAiB,EAAE,IAAI;yBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBAEf,CAAC,CAAC;qBAEH;yBACI;wBACH,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9C;iBACF;aAEF;iBACI;gBACH,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9C;SACF;IACH,CAAC;IAED,gDAAc,GAAd;QACE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACvB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,+EAA+E;YAC/E,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,wDAAwD,CAAC,CAAC;YAC9G,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;YAClF,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,wDAAwD,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBACrH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;oBAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrB,kDAAI,CAAC;wBACH,KAAK,EAAE,6BAA6B;wBACpC,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,2BAA2B;wBAC3B,+BAA+B;oBACjC,CAAC,CAAC;iBACH;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnD,KAAK,EAAE,CAAC;iBACT;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBACvF,IAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE;oBAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACvC,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;iBACjD;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,KAAK,EAAE,CAAC;iBACT;YAEH,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE;gBAC7C,mBAAmB;gBACnB,qEAAW,CAAC,eAAe,GAAG,EAAE;gBAChC,qEAAW,CAAC,MAAM,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;gBAC9D,qEAAW,CAAC,MAAM,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB;gBAC9D,qEAAW,CAAC,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;gBAC5E,qEAAW,CAAC,eAAe,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,qBAAqB;gBAC5E,qEAAW,CAAC,aAAa,GAAG,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe;gBACpE,IAAI,qEAAW,CAAC,eAAe,EAAE;oBAC/B,IAAG,IAAI,CAAC,YAAY,IAAI,YAAY,EAAC;wBACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;4BAClH,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,qEAAW,CAAC,kBAAkB;4BAClF,WAAW,EAAE,IAAI,CAAC,YAAY;4BAC9B,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,EAAE,IAAI,CAAC,oBAAoB;4BACnF,YAAY,EAAE,IAAI,CAAC,iBAAiB;4BACpC,oBAAoB,EAAC,IAAI,CAAC,wBAAwB;yBACnD,CAAC,CAAC;qBACJ;yBACG;wBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;4BAClH,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,qEAAW,CAAC,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY;4BAClH,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE,YAAY,EAAE,IAAI,CAAC,iBAAiB;yBAC1H,CAAC,CAAC;qBACJ;oBACD,qEAAW,CAAC,eAAe,GAAG,EAAE;iBACjC;qBAAM,IAAI,qEAAW,CAAC,kBAAkB,EAAE;oBACzC,IAAI,IAAI,CAAC,sBAAsB,IAAI,qCAAqC,EAAE;wBACxE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;qBACjE;oBACD,IAAI,IAAI,CAAC,sBAAsB,IAAI,OAAO,EAAE;wBAC1C,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;qBACnE;yBAAM,IAAI,IAAI,CAAC,sBAAsB,IAAI,UAAU,EAAE;wBACpD,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;qBACtE;yBAAM,IAAI,IAAI,CAAC,sBAAsB,IAAI,qCAAqC,EAAE;wBAC/E,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;qBACvE;oBACD,IAAI,IAAI,CAAC,yBAAyB,IAAI,OAAO,EAAE;wBAC7C,IAAI,CAAC,gBAAgB,GAAG,EAAE;qBAC3B;oBACD,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,qEAAW,CAAC,6BAA6B,CAAC,CAAC;oBAChH,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;qBAC7E;oBACD,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;oBACrG,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,qEAAW,CAAC,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;qBACxF;oBACD,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC;oBAC7D,IAAG,IAAI,CAAC,YAAY,IAAI,YAAY,EAAC;wBACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;4BAClH,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,qEAAW,CAAC,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY;4BAClH,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAC,oBAAoB,EAAC,IAAI,CAAC,wBAAwB;4BACtI,oBAAoB,EAAE,IAAI,CAAC,yBAAyB;4BACpD,uBAAuB,EAAE,qEAAW,CAAC,6BAA6B;4BAClE,0BAA0B,EAAE,IAAI,CAAC,gBAAgB;4BACjD,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;4BACpG,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;4BAChG,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;4BAC7C,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe;yBACnF,CAAC,CAAC;qBACJ;yBACG;wBACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;4BACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;4BAClH,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,qEAAW,CAAC,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY;4BAClH,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,EAAE,IAAI,CAAC,oBAAoB;4BACnF,aAAa,EAAE,IAAI,CAAC,kBAAkB;4BACtC,oBAAoB,EAAE,IAAI,CAAC,yBAAyB;4BACpD,uBAAuB,EAAE,qEAAW,CAAC,6BAA6B;4BAClE,0BAA0B,EAAE,IAAI,CAAC,gBAAgB;4BACjD,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;4BACpG,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;4BAChG,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;4BAC7C,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe;yBACnF,CAAC,CAAC;qBACF;oBACD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE;wBAC9C,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5F,qEAAW,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5E,qEAAW,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;qBACvE;yBAAM;wBACL,qEAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE;wBAChD,qEAAW,CAAC,eAAe,GAAG,EAAE;qBACjC;iBACF;qBACI,IAAI,qEAAW,CAAC,iBAAiB,EAAE;oBAEtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACjB,YAAY,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY;wBAClH,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,qEAAW,CAAC,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY;wBAClH,aAAa,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,EAAE,IAAI,CAAC,oBAAoB;wBACnF,aAAa,EAAE,qEAAW,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,qEAAW,CAAC,kBAAkB;qBAC9F,CAAC,CAAC;iBACJ;gBACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,qEAAW,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChD,qEAAW,CAAC,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,qEAAW,CAAC,mBAAmB,CAAC,CAAC;gBAC7C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;aAE5C;SACF;IACH,CAAC;IAED,gDAAc,GAAd,UAAe,aAAa,EAAE,GAAG,EAAE,aAAa;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAE7C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE;gBAC1C,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sDAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC;QAET,IAAI,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC;QACV,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAC5I,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK;YAChL,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACtD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjD,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClE,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,EAAE;oBACtD,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAClF,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE;oBACpE,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC9D,IAAI,SAAS,GAAG,qEAAW,CAAC,mBAAmB;oBAC/C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,EAAE;wBAChI,IAAI,CAAC,UAAU,GAAG,IAAI;qBACvB;oBACD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;iBACxD;aACF;iBACI;gBACH,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,EAAE;oBACtD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;iBACxD;gBACD,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACtE;IACL,CAAC;IApoCU,uBAAuB;QALnC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;;;SAGhC,CAAC;yCAsDwB,2DAAY,EAAiB,6EAAgB,EAAiB,sDAAM,EAAmB,8DAAc;YAC5G,sEAAa,EAAiB,4EAAwB,EAAa,wDAAU;OAtDnF,uBAAuB,CAsoCnC;IAAD,8BAAC;CAAA;AAtoCmC;;;;;;;;;;;;ACpBpC,mrCAAmrC,g5BAAg5B,eAAe,whBAAwhB,gZAAgZ,ycAAyc,4YAA4Y,qaAAqa,gQAAgQ,uVAAuV,iUAAiU,+4BAA+4B,YAAY,u+CAAu+C,uBAAuB,8JAA8J,4BAA4B,KAAK,UAAU,OAAO,cAAc,wcAAwc,UAAU,6NAA6N,cAAc,0P;;;;;;;;;;;ACAh8Q,mCAAmC,0DAA0D,uBAAuB,+BAA+B,qBAAqB,wBAAwB,EAAE,gCAAgC,+BAA+B,+CAA+C,6BAA6B,EAAE,mCAAmC,kBAAkB,kBAAkB,0BAA0B,yBAAyB,EAAE,uCAAuC,kBAAkB,kBAAkB,0BAA0B,yBAAyB,EAAE,qCAAqC,oBAAoB,oBAAoB,8BAA8B,0BAA0B,EAAE,yCAAyC,oBAAoB,qBAAqB,2BAA2B,kCAAkC,2BAA2B,4BAA4B,sBAAsB,gCAAgC,4BAA4B,EAAE,6CAA6C,sBAAsB,EAAE,0CAA0C,yBAAyB,EAAE,mCAAmC,mBAAmB,yBAAyB,iCAAiC,uBAAuB,uBAAuB,EAAE,gDAAgD,oBAAoB,sBAAsB,uBAAuB,EAAE,8EAA8E,wBAAwB,EAAE,+EAA+E,yBAAyB,EAAE,2EAA2E,qBAAqB,wBAAwB,kCAAkC,EAAE,2FAA2F,wBAAwB,EAAE,2GAA2G,2BAA2B,EAAE,8EAA8E,qBAAqB,EAAE,8FAA8F,wBAAwB,EAAE,+BAA+B,iCAAiC,EAAE,6CAA6C,qBAAqB,2BAA2B,kCAAkC,yBAAyB,EAAE,0DAA0D,sBAAsB,wBAAwB,wBAAwB,iCAAiC,qCAAqC,EAAE,0EAA0E,wBAAwB,EAAE,6BAA6B,qBAAqB,iBAAiB,oBAAoB,oCAAoC,EAAE,qCAAqC,mBAAmB,uBAAuB,iBAAiB,2BAA2B,oBAAoB,EAAE,gDAAgD,yBAAyB,kCAAkC,oBAAoB,EAAE,2BAA2B,6BAA6B,6CAA6C,2BAA2B,EAAE,eAAe,0BAA0B,EAAE,UAAU,kCAAkC,EAAE,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9sG;AAC9D;AACS;AACK;AACP;AACC;AAChC;AAC/B,SAAS,EAAE,wDAAU,CAAC;AAMtB;IA+CE,gCAAmB,MAAc,EAAS,MAAwB,EAAS,EAAc,EAAS,MAAqB,EAAS,MAAgC;QAAhK,iBAoMC;QApMkB,WAAM,GAAN,MAAM,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAkB;QAAS,OAAE,GAAF,EAAE,CAAY;QAAS,WAAM,GAAN,MAAM,CAAe;QAAS,WAAM,GAAN,MAAM,CAA0B;QA7ChK,iBAAY,GAAQ,EAAE,CAAC;QACvB,oBAAe,GAAQ,EAAE,CAAC;QAC1B,kBAAa,GAAQ,EAAE,CAAC;QACxB,gBAAW,GAAQ,EAAE,CAAC;QACtB,oBAAe,GAAQ,EAAE,CAAC;QAC1B,yBAAoB,GAAQ,EAAE,CAAC;QAC/B,YAAO,GAAQ,EAAE,CAAC;QAClB,kBAAa,GAAG,EAAE,CAAC;QACnB,4BAAuB,GAAQ,EAAE,CAAC;QAClC,wBAAmB,GAAW,YAAY,CAAC;QAG3C,cAAS,GAAQ,EAAE,CAAC;QACpB,qBAAgB,GAAQ,EAAE,CAAC;QAC3B,wBAAmB,GAAQ,EAAE,CAAC;QAC9B,sBAAiB,GAAQ,EAAE,CAAC;QAU5B,2BAAsB,GAAQ,EAAE,CAAC;QACjC,6BAAwB,GAAQ,EAAE,CAAC;QACnC,uBAAkB,GAAQ,EAAE,CAAC;QAI7B,UAAK,GAAG,KAAK,CAAC;QACd,UAAK,GAAG,KAAK,CAAC;QACd,WAAM,GAAG,KAAK,CAAC;QACf,oBAAe,GAAG,qEAAW,CAAC,eAAe,CAAC;QAC9C,uBAAkB,GAAG,qEAAW,CAAC,kBAAkB,CAAC;QACpD,sBAAiB,GAAG,qEAAW,CAAC,iBAAiB,CAAC;QAClD,mBAAc,GAAG,EAAE;QACnB,qBAAgB,GAAG,EAAE;QACrB,eAAU,GAAG,IAAI;QACjB,gBAAW,GAAG,KAAK;QAMjB,IAAI,qEAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE;YACzC,IAAI,qEAAW,CAAC,eAAe,EAAE;gBAE/B,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC;gBACxE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;gBAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC1E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,SAAS,CAAC,UAAC,IAAI;oBACvD,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxC,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;gBACH,IAAI,qEAAW,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,IAAI,qEAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;wBACrE,IAAI,CAAC,mBAAmB,GAAG,qEAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;qBAC3F;iBACF;gBACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC1D,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3C,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,UAAC,IAAI;oBACrD,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACzC,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,SAAS,CAAC,UAAC,IAAI;oBACtD,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC1D,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,CAAC;gBAC1E,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC5D,KAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;aACJ;iBACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;gBACvC,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,sBAAsB;gBACtB,0DAA0D;gBAC1D,wCAAwC;gBACxC,6FAA6F;gBAC7F,qBAAqB;gBACrB,MAAM;gBACN,MAAM;gBACN,uBAAuB;gBACvB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAC1E,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC;gBACrF,IAAI,qEAAW,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,IAAI,IAAI,GAAG,qEAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBAC5C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC;oBACpD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC;oBACpD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,iBAAiB;oBACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,uBAAuB;oBACjD,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;wBACxC,IAAI,CAAC,gBAAgB,GAAG,EAAE;qBAC3B;oBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBACtC,IAAI,CAAC,cAAc,GAAG,EAAE;qBACzB;oBACD,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC;oBACpE,IAAI,IAAI,CAAC,aAAa,IAAI,cAAc,EAAE;wBACxC,IAAI,CAAC,aAAa,GAAG,EAAE;qBACxB;oBACD,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,CAAC,8BAA8B,CAAC;oBAC5E,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,uBAAuB,CAAC;oBAC/D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBAClD;gBACD,IAAI,CAAC,OAAO,GAAG;oBACb;wBACE,WAAW,EAAE,QAAQ;wBACrB,SAAS,EAAE,CAAC;qBACb;oBACD;wBACE,WAAW,EAAE,QAAQ;wBACrB,SAAS,EAAE,CAAC;qBACb;oBACD;wBACE,WAAW,EAAE,IAAI;wBACjB,SAAS,EAAE,CAAC;qBACb;iBACF,CAAC;gBACF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,SAAS,CAAC,UAAC,IAAI;oBACtD,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC1D,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBACpD,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,UAAC,IAAI;wBACjD,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAC7D,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,UAAC,IAAI;wBACrD,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,CAAC;oBAC1E,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAC,SAAS,CAAC,UAAC,IAAI;wBAC5D,KAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;wBACrC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAC;oBAC7C,CAAC,CAAC,CAAC;iBACJ;gBACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;oBACnC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;oBACxB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBAC9B;gBACD,IAAI,IAAI,CAAC,aAAa,IAAI,cAAc,EAAE;oBACxC,IAAI,CAAC,aAAa,GAAG,EAAE;iBACxB;gBACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC;aAC1D;iBAAM,IAAI,qEAAW,CAAC,iBAAiB,EAAE;gBACxC,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;gBACxC,IAAI,CAAC,WAAW,GAAG,qEAAW,CAAC,WAAW,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC;gBACxE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;gBAChE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAE1E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,SAAS,CAAC,UAAC,IAAI;oBACvD,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxC,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC1D,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3C,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,UAAC,IAAI;oBACrD,KAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACzC,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,SAAS,CAAC,UAAC,IAAI;oBACtD,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,uBAAuB,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC1D,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC3C,CAAC,CAAC;gBACF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,CAAC;gBAC1E,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAC,SAAS,CAAC,UAAC,IAAI;oBAC5D,KAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,qEAAW,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC9C,IAAI,CAAC,mBAAmB,GAAG,EAAE;gBAC7B,IAAI,CAAC,oBAAoB,GAAG,EAAE;gBAC9B,IAAI,CAAC,aAAa,GAAG,EAAE;gBACvB,IAAI,CAAC,kBAAkB,GAAG,EAAE;gBAC5B,IAAI,CAAC,cAAc,GAAG,EAAE;gBACxB,IAAI,CAAC,gBAAgB,GAAG,EAAE;gBAC1B,IAAI,CAAC,sBAAsB,GAAG,EAAE;gBAChC,IAAI,CAAC,sBAAsB,GAAG,EAAE;gBAChC,IAAI,CAAC,uBAAuB,GAAG,EAAE;gBACjC,IAAI,CAAC,wBAAwB,GAAG,EAAE;aACnC;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IAEH,CAAC;IAvMuB,sBAAI,2CAAO;aAAX,UAAY,OAAmB;YACrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3B,CAAC;;;OAAA;IAsMD,yCAAQ,GAAR;IACA,CAAC;IACD,gDAAe,GAAf;QACE,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,WAAW,CAAC;YACV,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;gBACvE,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;oBACzB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,EAAE,GAAG,CAAC;QACP,IAAI,qEAAW,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,qEAAW,CAAC,eAAe,EAAE;gBAC/B,IAAI,IAAI,GAAG,qEAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC;oBAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC7D,+DAA+D;iBAChE;qBACI;oBACH,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;iBAC/B;gBACD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC;oBAChD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3D,qEAAqE;iBACtE;qBACI;oBACH,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;iBAClC;gBACD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7B,qBAAqB;oBACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;oBACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnD,WAAW;oBACX,+DAA+D;iBAChE;qBACI;oBACH,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;iBAChC;gBACD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACtD,IAAI,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;gBACvE,IAAI,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;gBACrE,IAAI,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;gBAErE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,sDAAsD;oBACtD,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE;wBAC9E,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACrD,UAAU;qBACX;iBACF;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,IAAI,CAAC,sBAAsB,EAAE;wBAClF,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACtD,UAAU;qBACX;iBACF;gBACD,qBAAqB;gBACrB,IAAI,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;gBACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,IAAI,IAAI,CAAC,oBAAoB,EAAE;wBAC9E,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACpD,UAAU;qBACX;iBACF;gBACD,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACrE,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,CAAC,2BAA2B,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,aAAa,IAAI,cAAc,EAAE;oBACxC,IAAI,CAAC,aAAa,GAAG,EAAE;iBACxB;gBACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACjD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;aACjE;iBACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;gBACvC,IAAI,IAAI,GAAG,qEAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAC7C,+CAA+C;gBAC/C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC;gBACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC;gBACpD,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;oBACxC,IAAI,CAAC,gBAAgB,GAAG,EAAE;iBAC3B;gBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;oBACtC,IAAI,CAAC,cAAc,GAAG,EAAE;iBACzB;gBACD,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC1D,gEAAgE;gBAChE,IAAI,IAAI,CAAC,aAAa,IAAI,cAAc,EAAE;oBACxC,IAAI,CAAC,aAAa,GAAG,EAAE;iBACxB;gBACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAClD;SACF;IACH,CAAC;IACD,+CAAc,GAAd;QAAA,iBAsQC;QArQC,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,qEAAW,CAAC,eAAe,EAAE;YAC/B,IAAI,gBAAgB,CAAC;YACrB,IAAI,UAAU,CAAC;YACf,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,2CAA2C;YAC3C,IAAI,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;YACvE,IAAI,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;YACrE,IAAI,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;YACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,sDAAsD;gBACtD,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;oBACrE,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC3C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC1E,KAAK,EAAE,CAAC;oBACR,MAAM;oBACN,SAAS;iBACV;qBACI;oBACH,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC3C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;oBAChD,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACxE;aACF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;oBACtE,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC5C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC3E,KAAK,EAAE,CAAC;oBACR,MAAM;oBACN,SAAS;iBACV;qBACI;oBACH,IAAI,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC5C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;oBAChD,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACzE;aACF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE;oBACpE,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC1C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACzE,KAAK,EAAE,CAAC;oBACR,MAAM;oBACN,SAAS;iBACV;qBACI;oBACH,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC1C,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;oBAChD,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvE;aACF;YAED,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC;YACjF,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,MAAM;YACtF,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,MAAM;YACzF,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC,MAAM;YACzF,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBACjF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBAC3B,gEAAgE;oBAChE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;oBAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACtB;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnD,KAAK,EAAE,CAAC;iBAET;YACH,CAAC,CAAC,CAAC;YACH,IAAI,KAAK,IAAI,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,EAAE;gBACrD,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC7C,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC,UAAU,GAAG,YAAY,GAAG,qEAAW,CAAC,kBAAkB,CAAC;gBAClI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAC5D,aAAG;oBACD,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBACrC,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;oBAC9C,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBACrC,qEAAW,CAAC,wBAAwB,GAAG,EAAE,CAAC;oBAC1C,qEAAW,CAAC,gCAAgC,GAAG,EAAE,CAAC;oBAClD,qEAAW,CAAC,kBAAkB,GAAG,EAAE,CAAC;oBACpC,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;oBAC9C,qEAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;oBAC/C,qEAAW,CAAC,eAAe,GAAG,EAAE,CAAC;oBACjC,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBACvC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACtC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBAClC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBACzC,KAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;oBAC1C,KAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;oBAC3C,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;oBACvC,KAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;oBAC1C,KAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;oBAC5C,KAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;oBACtC,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;oBACpC,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBAClC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;oBACvC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;oBAC/B,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAChC,qEAAW,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC/B,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBACxB,CAAC,EACD,aAAG;oBACD,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,kDAAI,CAAC;wBACH,KAAK,EAAE,oDAAoD;wBAC3D,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,4CAA4C;oBAC9C,CAAC,CAAC;gBACJ,CAAC,CACF;aACF;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,kDAAI,CAAC;oBACH,KAAK,EAAE,uCAAuC;oBAC9C,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,4CAA4C;gBAC9C,CAAC,CAAC;aACH;SACF;aACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;YACvC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,MAAM;YAChF,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI;gBACjF,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBAC3B,gEAAgE;oBAChE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;oBAChD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACtB;qBACI;oBACH,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBAClC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnD,KAAK,EAAE,CAAC;iBACT;YACH,CAAC,CAAC;YACF,IAAI,KAAK,IAAI,MAAM,EAAE;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,qEAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC7C,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;oBAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU;iBAChD;gBACD,qIAAqI;gBACrI,IAAI,GAAG,GAAG,iBAAiB,GAAG,qEAAW,CAAC,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC,UAAU,GAAG,YAAY,GAAG,qEAAW,CAAC,kBAAkB,CAAC;gBAClI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAC5D,aAAG;oBACD,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBACrC,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;oBAC9C,qEAAW,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBACrC,qEAAW,CAAC,wBAAwB,GAAG,EAAE,CAAC;oBAC1C,qEAAW,CAAC,gCAAgC,GAAG,EAAE,CAAC;oBAClD,qEAAW,CAAC,kBAAkB,GAAG,EAAE,CAAC;oBACpC,qEAAW,CAAC,4BAA4B,GAAG,EAAE,CAAC;oBAC9C,qEAAW,CAAC,6BAA6B,GAAG,EAAE,CAAC;oBAC/C,qEAAW,CAAC,eAAe,GAAG,EAAE,CAAC;oBACjC,qEAAW,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,qEAAW,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBACvC,qEAAW,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBACtC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBAClC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;oBACzC,KAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;oBAC1C,KAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;oBAC3C,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;oBACvC,KAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;oBAC1C,KAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;oBAC5C,KAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;oBACtC,KAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACrC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAChC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;oBACpC,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBAClC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;oBACvC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,qEAAW,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC/B,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAExB,CAAC,EACD,aAAG;oBACD,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,kDAAI,CAAC;wBACH,KAAK,EAAE,oDAAoD;wBAC3D,IAAI,EAAE,SAAS;wBACf,gBAAgB,EAAE,KAAK;wBACvB,kBAAkB,EAAE,SAAS;wBAC7B,iBAAiB,EAAE,SAAS;wBAC5B,iBAAiB,EAAE,IAAI;qBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;wBACb,4CAA4C;oBAC9C,CAAC,CAAC;gBACJ,CAAC,CACF;aACF;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,kDAAI,CAAC;oBACH,KAAK,EAAE,uCAAuC;oBAC9C,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,4CAA4C;gBAC9C,CAAC,CAAC;aACH;SACF;IACH,CAAC;IAED,2CAAU,GAAV;QACE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,CAAC,UAAU,GAAG,qEAAW,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,CAAC,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,CAAC,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QACjF,IAAI,qEAAW,CAAC,UAAU,IAAI,IAAI,EAAE;YAClC,IAAI,CAAC,cAAc,GAAG,qEAAW,CAAC,YAAY,CAAC;SAChD;aACI;YACH,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SACzB;QACD,IAAI,IAAI,CAAC,uBAAuB,IAAI,OAAO,EAAE;YAC3C,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE;YACjC,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;SACpC;QACD,IAAI,OAAY,CAAC;QACjB,OAAO,GAAG,qEAAW,CAAC,WAAW,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACnI,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACrI;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE;YACvB,IAAI,CAAC,aAAa,GAAG,cAAc;YACnC,IAAI,CAAC,wBAAwB,GAAG,CAAC;oBAC/B,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE;wBACX;4BACE,UAAU,EAAE,cAAc;4BAC1B,aAAa,EAAE,cAAc;4BAC7B,SAAS,EAAE,CAAC;yBACb;qBACF;iBACF,CAAC;SACH;QACD,IAAI,SAAS;QACb,IAAI,UAAU;QACd,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE;YACvB,SAAS,GAAG,CAAC;SACd;aACI;YAAE,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAAE;QACpD,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;YACxB,UAAU,GAAG,CAAC;SACf;aAAM;YAAE,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;SAAE;QACrD,IAAI,qEAAW,CAAC,eAAe,EAAE;YAC/B,IAAI,CAAC,SAAS,GAAG;gBACf,cAAc,EAAE,qEAAW,CAAC,kBAAkB;gBAC9C,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY;gBAC7D,WAAW,EAAE,qEAAW,CAAC,eAAe;gBACxC,SAAS,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvD,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;gBAC7D,QAAQ,EAAE,CAAC;gBACX,kBAAkB,EAAE,IAAI,CAAC,cAAc;gBACvC,eAAe,EACf;oBACE,0BAA0B,EAAE;wBAC1B,iBAAiB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACrD,UAAU,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ;wBACvD,qBAAqB,EAAE,qEAAW,CAAC,4BAA4B;wBAC/D,eAAe,EAAE;4BACf,sBAAsB,EAAE,IAAI,CAAC,gBAAgB;4BAC7C,WAAW,EAAE,IAAI,CAAC,iBAAiB;4BACnC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB;4BAC3C,mBAAmB,EAAE,IAAI,CAAC,uBAAuB;4BACjD,wBAAwB,EAAE,IAAI,CAAC,mBAAmB;4BAClD,0BAA0B,EAAE,IAAI,CAAC,sBAAsB;yBACxD;qBACF;iBACF;aACF;SACF;aACI,IAAI,qEAAW,CAAC,kBAAkB,EAAE;YACvC,IAAI,CAAC,SAAS,GAAG;gBACf,cAAc,EAAE,qEAAW,CAAC,kBAAkB;gBAC9C,YAAY,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY;gBAC7D,WAAW,EAAE,qEAAW,CAAC,eAAe;gBACxC,SAAS,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvD,aAAa,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW;gBAC7D,QAAQ,EAAE,CAAC;gBACX,kBAAkB,EAAE,IAAI,CAAC,cAAc;gBACvC,eAAe,EACf;oBACE,0BAA0B,EAAE;wBAC1B,iBAAiB,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACrD,UAAU,EAAE,qEAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ;wBACvD,qBAAqB,EAAE,qEAAW,CAAC,4BAA4B;wBAC/D,eAAe,EAAE;4BACf,0BAA0B,EAAE,UAAU;4BACtC,wBAAwB,EAAE,SAAS;4BACnC,mBAAmB,EAAE,IAAI,CAAC,uBAAuB;4BACjD,wBAAwB,EAAE,IAAI,CAAC,mBAAmB;4BAClD,0BAA0B,EAAE,IAAI,CAAC,sBAAsB;4BACvD,yBAAyB,EAAE,IAAI,CAAC,aAAa;4BAC7C,8BAA8B,EAAE,IAAI,CAAC,wBAAwB;4BAC7D,gCAAgC,EAAE,IAAI,CAAC,wBAAwB;yBAChE;qBACF;iBACF;aACF;YACD,wHAAwH;SACzH;QACD,IAAI,CAAC,SAAS,GAAG,EAAE;QACnB,IAAI,qEAAW,CAAC,eAAe,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB;gBAClF,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,IAAI,CAAC,uBAAuB;gBAC9F,0BAA0B,EAAE,IAAI,CAAC,sBAAsB;aACxD,CAAC,CAAC;SACJ;aAAM,IAAI,qEAAW,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK,EAAE;YACvD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,0BAA0B,EAAE,IAAI,CAAC,cAAc;gBAC/C,wBAAwB,EAAE,IAAI,CAAC,gBAAgB;gBAC/C,2CAA2C;gBAC3C,mBAAmB,EAAE,IAAI,CAAC,uBAAuB;gBACjD,0BAA0B,EAAE,IAAI,CAAC,sBAAsB;gBACvD,yBAAyB,EAAE,IAAI,CAAC,aAAa;gBAC7C,gCAAgC,EAAE,IAAI,CAAC,wBAAwB;aAChE,CAAC,CAAC;SACJ;aAAM,IAAI,qEAAW,CAAC,kBAAkB,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,0BAA0B,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;gBACjD,wBAAwB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACjD,2CAA2C;gBAC3C,mBAAmB,EAAE,IAAI,CAAC,uBAAuB;gBACjD,0BAA0B,EAAE,IAAI,CAAC,sBAAsB;aACxD,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpD,qEAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;IAElD,CAAC;IACD,4CAAW,GAAX;QACE,sBAAsB;QACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,4CAAW,GAAX,UAAY,CAAC;QACX,IAAI,EAAE,GAAG,eAAe,CAAC;QACzB,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,2CAAU,GAAV,UAAW,KAAK;QACd,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,wBAAwB,EAAE;YAChF,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE;gBAChF,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACvB,kDAAI,CAAC;oBACH,KAAK,EAAE,wDAAwD;oBAC/D,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,4CAA4C;gBAC9C,CAAC,CAAC;aACH;YACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SAC5C;aAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,IAAI,eAAe,EAAE;YAC9E,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,EAAE;gBACjF,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE;gBACvB,kDAAI,CAAC;oBACH,KAAK,EAAE,gDAAgD;oBACvD,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,KAAK;oBACvB,kBAAkB,EAAE,SAAS;oBAC7B,iBAAiB,EAAE,SAAS;oBAC5B,iBAAiB,EAAE,IAAI;iBACxB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;oBACb,4CAA4C;gBAC9C,CAAC,CAAC;aACH;YACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SAC1C;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,aAAa,EAAE,GAAG,EAAE,aAAa;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACjD,OAAO,CAAC,CAAC;aACV;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAAU,GAAV;QACE,IAAI,SAAS,GAAG,qEAAW,CAAC,mBAAmB,CAAC;QAChD,IAAI,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ;QACzC,IAAI,UAAU;QACd,IAAI,KAAK;QACT,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC;QACpF,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC;QAC3F,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC;QACxF,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,MAAM;SACpB;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,aAAa;SAC3B;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,UAAU;SACxB;QACD,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI;SAClB;aAAM;YACL,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC;YACnF,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC;YAC1F,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC;YACvF,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,KAAK,GAAG,MAAM;gBACd,UAAU,GAAG,MAAM;aACpB;iBAAM,IAAI,MAAM,IAAI,IAAI,EAAE;gBACzB,KAAK,GAAG,MAAM;gBACd,UAAU,GAAG,aAAa;aAC3B;iBAAM,IAAI,MAAM,IAAI,IAAI,EAAE;gBACzB,KAAK,GAAG,MAAM;gBACd,UAAU,GAAG,UAAU;aACxB;YACD,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,IAAI,CAAC,KAAK,GAAG,IAAI;aAClB;SACF;IACH,CAAC;IAED,4CAAW,GAAX;QACE,IAAI,SAAS,GAAG,qEAAW,CAAC,mBAAmB,CAAC;QAChD,IAAI,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ;QACzC,IAAI,UAAU;QACd,IAAI,KAAK;QACT,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC;QACpF,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC;QAC3F,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC;QACxF,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,MAAM;SACpB;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,aAAa;SAC3B;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,UAAU;SACxB;QACD,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI;SACnB;IACH,CAAC;IAED,2CAAU,GAAV;QACE,IAAI,SAAS,GAAG,qEAAW,CAAC,mBAAmB,CAAC;QAChD,IAAI,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ;QACzC,IAAI,UAAU;QACd,IAAI,KAAK;QACT,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC;QACtF,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC;QAC7F,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC;QAC1F,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,MAAM;SACpB;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,aAAa;SAC3B;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE;YACzB,KAAK,GAAG,MAAM;YACd,UAAU,GAAG,UAAU;SACxB;QACD,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI;SAClB;IACH,CAAC;IAx0BuB;QAAvB,+DAAS,CAAC,WAAW,CAAC;kCAAsB,wDAAU;yCAAV,wDAAU;yDAEtD;IA9CU,sBAAsB;QALlC,+DAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;;;SAG/B,CAAC;yCAgD2B,sDAAM,EAAiB,6EAAgB,EAAa,wDAAU,EAAiB,sEAAa,EAAiB,4EAAwB;OA/CrJ,sBAAsB,CAq3BlC;IAAD,6BAAC;CAAA;AAr3BkC;;;;;;;;;;;;;;;;;;;;;;;;;ACbkC;AAKrE;IAaE,8BAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QAJzB,UAAK,GAAW,EAAE,CAAC;IAIU,CAAC;IAEvC,uCAAQ,GAAR;QACE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,cAAc;gBACjB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,yJAEY,IAAI,CAAC,UAAU,6EACV,IAAI,CAAC,SAAS,yBAAkB,IAAI,CAAC,WAAW,mBAAY,IAAI,CAAC,KAAK,uBAAgB,IAAI,CAAC,SAAS,sBAAe,IAAI,CAAC,QAAQ,kEACnI;gBAChD,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,kGAEnB,IAAI,CAAC,SAAS,yBAAkB,IAAI,CAAC,WAAW,mBAAY,IAAI,CAAC,KAAK,uBAAgB,IAAI,CAAC,SAAS,sBAAe,IAAI,CAAC,QAAQ,8BACnI;gBACZ,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;gBAC/B,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,yJAEY,IAAI,CAAC,UAAU,6EACV,IAAI,CAAC,SAAS,yBAAkB,IAAI,CAAC,WAAW,mBAAY,IAAI,CAAC,KAAK,sBAAe,IAAI,CAAC,QAAQ,uBAAgB,IAAI,CAAC,SAAS,qEACnI,IAAI,CAAC,IAAI,cAAS,IAAI,CAAC,QAAQ,qEAC/B;gBAChD,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,GAAG,GAAG,+BAA+B,CAAC;gBAC3C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,qGACe,IAAI,CAAC,SAAS,yBAAkB,IAAI,CAAC,WAAW,mBAAY,IAAI,CAAC,KAAK,sBAAe,IAAI,CAAC,QAAQ,iEACtG,IAAI,CAAC,GAAG,iCAA2B,IAAI,CAAC,QAAQ,yNAE/C;gBAC9C,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,wKAEW,IAAI,CAAC,KAAK,kNAGP;gBAChD,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,gNAEW,IAAI,CAAC,KAAK,sOAGP;gBAChD,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,0JAE6C,IAAI,CAAC,UAAU,iDAC/E,IAAI,CAAC,SAAS,yBAAkB,IAAI,CAAC,WAAW,mBAAY,IAAI,CAAC,KAAK,yCAAgC,IAAI,CAAC,QAAQ,2BACxH;gBACV,MAAM;YACR;gBACE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,sBAAsB,CAAC;gBACzD,MAAM;SACT;IAEH,CAAC;IA7EQ;QAAR,2DAAK,EAAE;;sDAAc;IACb;QAAR,2DAAK,EAAE;;4DAAoB;IACnB;QAAR,2DAAK,EAAE;;2DAAmB;IAClB;QAAR,2DAAK,EAAE;;6DAAqB;IACpB;QAAR,2DAAK,EAAE;;sDAAc;IACb;QAAR,2DAAK,EAAE;;0DAAkB;IACjB;QAAR,2DAAK,EAAE;;qDAAa;IACZ;QAAR,2DAAK,EAAE;;uDAAoB;IACnB;QAAR,2DAAK,EAAE;;2DAAgB;IACf;QAAR,2DAAK,EAAE;;0DAAe;IAXZ,oBAAoB;QAHhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;SAC7B,CAAC;yCAcwB,wDAAU;OAbvB,oBAAoB,CAgFhC;IAAD,2BAAC;CAAA;AAhFgC;;;;;;;;;;;;;;;;;;;;;;;;;;ACL2F;AAE5H,0BAAgC,GAAM,EAAE,KAAQ;IAC9C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAWD;;;;;;;;;;;;;;;;GAgBG;AAEH;IACE,sBAA6B,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAI,CAAC;IAgB1D,gCAAS,GAAT,UACE,KAAgE,EAChE,SAA+E;QAFjF,iBAuBC;QArBC,yDAA+E;QAE/E,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE;YACpE,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,uDAAuD;YACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;SACjD;QAED,IAAM,aAAa,GAAiC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAY,CAAC,CAAC;QAEnF,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,aAAa,CAAC,WAAW,CAAC,UAAC,CAA6B;gBACtD,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,YAAa,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAxCU,YAAY;QADxB,0DAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;yCAEA,6DAAe;OAD1C,YAAY,CA2CxB;IAAD,mBAAC;CAAA;AA3CwB;AA6ClB,2BACL,SAAyB,EAAE,SAAyB;IACpD,IAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC;IACxB,IAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC;IACxB,uBAAuB;IACvB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,uDAAuD;IACvD,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,mDAAmD;IACnD,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,CAAC;IAC1B,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;QAChD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACvB;IACD,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;QAChD,OAAO,CAAC,GAAG,CAAC,CAAC;KACd;IACD,IAAI,OAAO,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC,IAAI,SAAS,EAAE;QAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACvB;IACD,mEAAmE;IACnE,IAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;;;;;;;;;;;;;;;;;;;;;;ACvGmD;AAKpD;IAAA;IAuCA,CAAC;IArCC,8BAAS,GAAT,UAAU,KAAY,EAAE,UAAe;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAEtC,OAAO,KAAK,CAAC,MAAM,CAAC,YAAE;YACpB,IAAI,EAAE,CAAC,YAAY,IAAI,SAAS,EAAE;gBAChC,+DAA+D;gBAC/D,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;aACxC;YACD,6CAA6C;YAC7C,yKAAyK;YACzK,IAAI;YACJ,8CAA8C;YAC9C,4KAA4K;YAC5K,IAAI;YACJ,cAAc;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IApBU,UAAU;QAHtB,0DAAI,CAAC;YACJ,IAAI,EAAE,QAAQ;SACf,CAAC;OACW,UAAU,CAuCtB;IAAD,iBAAC;CAAA;AAvCsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLoB;AACM;AACc;AAGF;AAEN;AAOvD;IA+BE,uBAAmB,IAAgB,EAAS,MAAc;QAAvC,SAAI,GAAJ,IAAI,CAAY;QAAS,WAAM,GAAN,MAAM,CAAQ;QA9B1D,oCAAoC;QACpC,wDAAwD;QACxD,2CAA2C;QAC3C,mDAAmD;QACnD,kEAAkE;QAClE,oCAAoC;QACpC,qCAAqC;QACrC,qCAAqC;QACrC,2CAA2C;QAC3C,2CAA2C;QAE3C,+DAA+D;QAE/D,2CAA2C;QAC3C,oCAAoC;QACpC,oDAAoD;QAEpD,+BAA+B;QAE/B,iFAAiF;QACjF,wFAAwF;QACxF,wFAAwF;QAExF,2JAA2J;QAC3J,gFAAgF;QAEhF,iBAAiB;QACjB,QAAG,GAAG,yDAAyD,CAAC;QAI9D,IAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE;aACjC,GAAG,CAAC,eAAe,EAAE,QAAQ,GAAG,GAAG,GAAG,qEAAW,CAAC,UAAU,CAAC;IAClE,CAAC;IACD,mCAAW,GAAX,UAAY,MAAM,EAAE,OAAO,EAAE,IAAI;QAC/B,uFAAuF;QACvF,IAAI,CAAC,WAAW,GAAG,IAAI,gEAAW,EAAE;aACjC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;aACvC,GAAG,CAAC,eAAe,EAAE,QAAQ,GAAG,GAAG,GAAG,qEAAW,CAAC,UAAU,CAAC;QAEhE,IAAI,OAAO,GAAG;YACZ,OAAO,EAAE,IAAI,CAAC,WAAW;SAC1B;QACD,WAAW;QACX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,MAAM,IAAI,KAAK,EAAE;YACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,OAAO,CAAC;iBAE9C,IAAI,CAAC,0DAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC7D;aAAM,IAAI,MAAM,IAAI,MAAM,EAAE;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;iBACrD,IAAI,CAAC,0DAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,iEAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC7D;aACI;YACH,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACrB;IAEH,CAAC;IAEO,mCAAW,GAAnB,UAAoB,GAAa;QAC/B,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,SAAS;gBAC1B,OAAO,GAAG,CAAC;iBACR;gBACH,IAAI;oBACF,iCAAiC;oBACjC,OAAO,GAAG,CAAC;iBACZ;gBACD,OAAO,CAAC,EAAE;oBACR,OAAO,GAAG,CAAC;iBACZ;gBAED,gGAAgG;aACjG;SACF;;YAEC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,mCAAW,GAAnB,UAAoB,KAAqB;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,MAAc,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;QACnC,wCAAwC;QACxC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,eAAe;IACjB,CAAC;IAED,6BAAK,GAAL,UAAM,GAAG,EAAE,GAAG,EAAE,GAAG;QACjB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,SAAS;YACrC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAC7B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;aACxD;;YACC,+IAA+I;YAC/I,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;gBAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACnB;iBAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;gBACrC,oDAAoD;gBACpD,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;oBAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACnB;aACF;SACJ;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,iCAAS,GAAT,UAAU,GAAG,EAAE,GAAG;QAChB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,SAAS;YACrC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAC7B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;aACvD;iBAAM,IAAI,CAAC,IAAI,GAAG,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACtB;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iCAAS,GAAT;QACE,IAAI,qEAAW,CAAC,eAAe,IAAI,EAAE,IAAI,qEAAW,CAAC,gBAAgB,IAAI,EAAE,IAAI,qEAAW,CAAC,cAAc,IAAI,EAAE,EAAE;YAC/G,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;IACH,CAAC;IA7HU,aAAa;QAJzB,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAiCyB,+DAAU,EAAiB,sDAAM;OA/B/C,aAAa,CA8HzB;IAAD,oBAAC;CAAA;AA9HyB;;;;;;;;;;;;;;;;;;;;;;;;;;ACdiB;AAEA;AAK3C;IAqEE;QApEO,oBAAe,GAAG,EAAE,CAAC;QACrB,8BAAyB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC/C,iBAAY,GAAG,EAAE,CAAC;QAClB,6BAAwB,GAAG,EAAE,CAAC;QAC9B,gCAA2B,GAAG,IAAI,4CAAO,EAAO,CAAC;QACjD,2BAAsB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC5C,8BAAyB,GAAG,EAAE,CAAC;QAC/B,iCAA4B,GAAG,IAAI,4CAAO,EAAO,CAAC;QAClD,uBAAkB,GAAG,EAAE,CAAC;QACxB,0BAAqB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC3C,sBAAiB,GAAG,EAAE,CAAC;QACvB,gCAA2B,GAAG,IAAI,4CAAO,EAAO,CAAC;QACjD,0BAAqB,GAAG,EAAE,CAAC;QAC3B,oCAA+B,GAAG,IAAI,4CAAO,EAAO,CAAC;QACrD,4BAAuB,GAAG,EAAE,CAAC;QAC7B,sCAAiC,GAAG,IAAI,4CAAO,EAAO,CAAC;QACvD,wBAAmB,GAAG,EAAE,CAAC;QACzB,kCAA6B,GAAG,IAAI,4CAAO,EAAO,CAAC;QACnD,2BAAsB,GAAG,EAAE,CAAC;QAC5B,qCAAgC,GAAG,IAAI,4CAAO,EAAO,CAAC;QACtD,sBAAiB,GAAG,EAAE,CAAC;QACvB,gCAA2B,GAAG,IAAI,4CAAO,EAAO,CAAC;QACjD,4BAAuB,GAAG,EAAE,CAAC;QAC7B,iCAA4B,GAAG,IAAI,4CAAO,EAAO,CAAC;QAClD,wBAAmB,GAAG,EAAE,CAAC;QACzB,kCAA6B,GAAG,IAAI,4CAAO,EAAO,CAAC;QACnD,oBAAe,GAAG,EAAE,CAAC;QACrB,8BAAyB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC/C,kBAAa,GAAG,EAAE,CAAC;QACnB,4BAAuB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC7C,2BAAsB,GAAG,EAAE,CAAC;QAC5B,qCAAgC,GAAG,IAAI,4CAAO,EAAO,CAAC;QACtD,6BAAwB,GAAG,EAAE,CAAC;QAC9B,uCAAkC,GAAG,IAAI,4CAAO,EAAO,CAAC;QACxD,sBAAiB,GAAG,EAAE,CAAC;QACvB,gCAA2B,GAAG,IAAI,4CAAO,EAAO,CAAC;QACjD,kBAAa,GAAG,KAAK,CAAC;QACtB,4BAAuB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC7C,WAAM,GAAG,KAAK,CAAC;QACf,qBAAgB,GAAG,IAAI,4CAAO,EAAO,CAAC;QACtC,kBAAa,GAAG,KAAK,CAAC;QACtB,4BAAuB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC7C,iBAAY,GAAG,KAAK,CAAC;QACrB,2BAAsB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC5C,oBAAe,GAAG,KAAK,CAAC;QACxB,8BAAyB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC/C,oBAAe,GAAG,KAAK,CAAC;QACxB,8BAAyB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC/C,mBAAc,GAAG,KAAK,CAAC;QACvB,6BAAwB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC9C,qBAAgB,GAAG,KAAK,CAAC;QACzB,+BAA0B,GAAG,IAAI,4CAAO,EAAO,CAAC;QAChD,mBAAc,GAAG,KAAK,CAAC;QACvB,6BAAwB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC9C,kBAAa,GAAG,KAAK,CAAC;QACtB,2BAAsB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC5C,iBAAY,GAAG,EAAE,CAAC;QAClB,2BAAsB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC5C,aAAQ,GAAG,EAAE,CAAC;QACd,uBAAkB,GAAG,IAAI,4CAAO,EAAO,CAAC;QACxC,gBAAW,GAAG,EAAE,CAAC;QACjB,0BAAqB,GAAG,IAAI,4CAAO,EAAO,CAAC;QAC3C,SAAI,GAAG,EAAE,CAAC;QACV,mBAAc,GAAG,IAAI,4CAAO,EAAO,CAAC;QACpC,UAAK,GAAG,EAAE,CAAC;QACX,oBAAe,GAAG,IAAI,4CAAO,EAAO,CAAC;IAG5B,CAAC;IACjB,6CAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,6CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,0CAAe,GAAf,UAAgB,IAAI;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,sCAAsC;IACtC,0CAA0C;IAC1C,4CAA4C;IAC5C,IAAI;IAEJ,0CAAe,GAAf;QACE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,kCAAkC;IAClC,0CAA0C;IAC1C,IAAI;IAEJ,+CAAoB,GAApB,UAAqB,IAAI;QACvB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,+CAAoB,GAApB;QACE,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAED,wCAAa,GAAb,UAAc,IAAI;QAChB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,wCAAa,GAAb;QACE,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,+CAAoB,GAApB,UAAqB,IAAI;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,+CAAoB,GAApB;QACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,mDAAwB,GAAxB,UAAyB,IAAI;QAC3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,mDAAwB,GAAxB;QACE,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,qDAA0B,GAA1B,UAA2B,IAAI;QAC7B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,qDAA0B,GAA1B;QACE,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,iDAAsB,GAAtB,UAAuB,IAAI;QACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,iDAAsB,GAAtB;QACE,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IACD,oDAAyB,GAAzB,UAA0B,IAAI;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,oDAAyB,GAAzB;QACE,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IACD,+CAAoB,GAApB,UAAqB,IAAI;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,+CAAoB,GAApB;QACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,gDAAqB,GAArB,UAAsB,IAAI;QACxB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,gDAAqB,GAArB;QACE,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,iDAAsB,GAAtB,UAAuB,IAAI;QACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,iDAAsB,GAAtB;QACE,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,6CAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,6CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,2CAAgB,GAAhB,UAAiB,IAAI;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,2CAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,oDAAyB,GAAzB,UAA0B,IAAI;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,oDAAyB,GAAzB;QACE,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,sDAA2B,GAA3B,UAA4B,IAAI;QAC9B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,sDAA2B,GAA3B;QACE,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAED,+CAAoB,GAApB,UAAqB,IAAI;QACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,+CAAoB,GAApB;QACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,2CAAgB,GAAhB,UAAiB,IAAI;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,2CAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,oCAAS,GAAT,UAAU,IAAI;QACZ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,oCAAS,GAAT;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,2CAAgB,GAAhB,UAAiB,IAAI;QACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,2CAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,0CAAe,GAAf,UAAgB,IAAI;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,0CAAe,GAAf;QACE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,6CAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,6CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,6CAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,6CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,4CAAiB,GAAjB,UAAkB,IAAI;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,kCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,kCAAO,GAAP;QACE,OAAO,IAAI,CAAC,IAAI;IAClB,CAAC;IAED,mCAAQ,GAAR,UAAS,IAAI;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,mCAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK;IACnB,CAAC;IAED,4CAAiB,GAAjB;QACE,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IACD,8CAAmB,GAAnB,UAAoB,IAAI;QACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,8CAAmB,GAAnB;QACE,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IACD,4CAAiB,GAAjB,UAAkB,IAAI;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,4CAAiB,GAAjB;QACE,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,0CAAe,GAAf,UAAgB,IAAI;QAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,0CAAe,GAAf;QACE,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,0CAAe,GAAf,UAAgB,IAAI;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,0CAAe,GAAf;QACE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,sCAAW,GAAX,UAAY,IAAI;QACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,sCAAW,GAAX;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,yCAAc,GAAd,UAAe,IAAI;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,yCAAc,GAAd;QACE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAjWU,gBAAgB;QAH5B,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;;OACW,gBAAgB,CAmW5B;IAAD,uBAAC;CAAA;AAnW4B;;;;;;;;;;;;;ACP7B;AAAA;AAAA,gFAAgF;AAChF,2EAA2E;AAC3E,gEAAgE;AAEzD,IAAM,WAAW,GAAG;IACzB,eAAe,EAAE,EAAE;IACnB,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,KAAK;IACrB,mBAAmB,EAAE,EAAE;IACvB,eAAe,EAAE,EAAE;IACnB,mBAAmB,EAAE,EAAE;IACvB,wBAAwB,EAAE,EAAE;IAC5B,4BAA4B,EAAE,EAAE;IAChC,gCAAgC,EAAE,EAAE;IACpC,kBAAkB,EAAE,EAAE;IACtB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,CAAC;IACT,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,EAAE;IAClB,kBAAkB,EAAE,EAAE;IACtB,eAAe,EAAE,EAAE;IACnB,oBAAoB,EAAE,EAAE;IACxB,2BAA2B,EAAE,EAAE;IAC/B,4BAA4B,EAAE,EAAE;IAChC,6BAA6B,EAAE,EAAE;IACjC,kBAAkB,EAAE,EAAE;IACtB,gBAAgB,EAAE,EAAE;IACpB,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,CAAC;IACT,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,CAAC;IAClB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,EAAE;IACjB,gBAAgB,EAAE,EAAE;IACpB,sBAAsB,EAAE,CAAC;IACzB,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,gBAAgB,EAAE,EAAE;IACpB,kBAAkB,EAAE,CAAC;IACrB,gBAAgB,EAAE,EAAE;IACpB,0BAA0B,EAAE,EAAE;IAC9B,eAAe,EAAE,EAAE;IACnB,gBAAgB,EAAE,EAAE;IACpB,cAAc,EAAE,EAAE;IAClB,qBAAqB,EAAE,EAAE;IACzB,WAAW,EAAE,KAAK;IAClB,iBAAiB,EAAE,KAAK;IACxB,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,CAAC;IACf,sBAAsB,EAAE,EAAE;IAC1B,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;YACV,kBAAkB,EAAE,EAAE;YACtB,kBAAkB,EAAE,EAAE;YACtB,uBAAuB,EAAE,EAAE;YAC3B,uBAAuB,EAAE,EAAE;YAC3B,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,EAAE;YACrB,oBAAoB,EAAE,EAAE;YACxB,oBAAoB,EAAE,GAAG;SAC1B,CAAC;IACF,YAAY,EAAE,CAAC;YACb,kBAAkB,EAAE,EAAE;YACtB,kBAAkB,EAAE,EAAE;YACtB,uBAAuB,EAAE,EAAE;YAC3B,uBAAuB,EAAE,EAAE;YAC3B,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,EAAE;YACrB,oBAAoB,EAAE,EAAE;YACxB,oBAAoB,EAAE,GAAG;SAC1B,CAAC;IACF,YAAY,EAAE,CAAC;YACb,kBAAkB,EAAE,EAAE;YACtB,kBAAkB,EAAE,EAAE;YACtB,uBAAuB,EAAE,EAAE;YAC3B,uBAAuB,EAAE,EAAE;YAC3B,iBAAiB,EAAE,IAAI;YACvB,qBAAqB,EAAE,MAAM;YAC7B,wBAAwB,EAAE,QAAQ;YAClC,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,EAAE;YACrB,oBAAoB,EAAE,EAAE;YACxB,oBAAoB,EAAE,GAAG;YACzB,mBAAmB,EAAE,CAAC;YACtB,mBAAmB,EAAE,EAAE;SACxB,CAAC;IACF,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,KAAK;IACzB,iBAAiB,EAAE,KAAK;CACzB;AAED;;;;;GAKG;AACH,mEAAmE;;;;;;;;;;;;;ACtHnE;AAAA;AAAA;AAA2E;AAE9B;AAK7C,gGAAsB,EAAE,CAAC,eAAe,CAAC,yDAAS,CAAC;KAChD,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACTlC,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule, Routes } from '@angular/router';\nimport { HeaderComponent } from './components/header/header.component';\nimport { LoginPageComponent } from './components/login-page/login-page.component';\nimport { PartnerPageComponent } from './components/partner-page/partner-page.component';\nimport { AddPartnerComponent } from './components/add-partner/add-partner.component';\nimport { ProductMappingComponent } from './components/product-mapping/product-mapping.component';\nimport { PartnerDetailsComponent } from './components/partner-details/partner-details.component';\nimport { ProductBenifitsComponent } from './components/product-benifits/product-benifits.component';\nimport { ProductBoundaryConditionComponent } from './components/product-boundary-condition/product-boundary-condition.component';\nimport { ProductSchemeComponent } from './components/product-scheme/product-scheme.component';\nimport { AddPartnerFscComponent } from './components/add-fsc/add-partner-fsc.component';\nimport { FscListingPageComponent } from './components/fsc-listing-page/fsc-listing-page.component';\nimport {AssignFscComponent} from './components/assign-fsc/assign-fsc.component';\nimport {FscDetailsComponent} from './components/fsc-details/fsc-details.component';\n\nconst routes: Routes = [\n {\n path: '', component: LoginPageComponent\n },\n {\n path: 'header', component: HeaderComponent\n },\n {\n path: 'login', component: LoginPageComponent\n },\n // {\n // path: 'ICICI_Admin', component: LoginPageComponent\n // },\n {\n path: 'partnerListing', component: PartnerPageComponent\n },\n {\n path: 'fscListing', component: FscListingPageComponent\n },\n {\n path: 'fscMapping', component: AssignFscComponent\n },\n {\n path: 'fscDetails', component: FscDetailsComponent\n },\n {\n path: 'addPartner', component: AddPartnerComponent\n },\n {\n path: 'addPartnerFsc', component: AddPartnerFscComponent\n },\n {\n path: 'product-mapping', component: ProductMappingComponent\n },\n {\n path: 'partner-details', component: PartnerDetailsComponent\n },\n {\n path: 'product-benefits', component: ProductBenifitsComponent\n },\n {\n path: 'product-conditions', component: ProductBoundaryConditionComponent\n },\n {\n path: 'product-scheme', component: ProductSchemeComponent\n },\n]\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' , useHash: true })\n ],\n exports: [RouterModule],\n declarations: [],\n})\nexport class AppRoutingModule { }\n","module.exports = \"\\n\\n
\\n \\n \\n
\"","module.exports = \"\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n host: {\n '(window:keydown)': 'InspectDisable($event)',\n '(window:contextmenu)': 'InspectDisableRight($event)'\n }\n})\nexport class AppComponent {\n title = 'icici-admin-portal';\n\n\n\n\n // InspectDisableRight(event) {\n\n // event.preventDefault();\n\n\n\n // }\n\n getAncestorByClassName(target, className) {\n var currentParent = target.parentElement;\n while (true) {\n // If the root of the DOM is reached, an ancestor cannot be found anymore.\n if (currentParent === null) {\n return null;\n }\n\n if (currentParent.classList.contains(className)) {\n return currentParent;\n }\n\n\n\n var currentParent = currentParent.parentElement;\n\n\n }\n }\n\n\n\n\n\n\n InspectDisable(event) {\n\n if (event.keyCode == 123) {\n return false;//Prevent from F12\n }\n else if (event.ctrlKey && event.shiftKey && event.keyCode == 73) {\n return false; //Prevent from ctrl+shift+i\n }\n\n\n\n }\n\n\n\n\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { DragScrollModule } from 'ngx-drag-scroll';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { HttpHeaders, HttpClientModule, HttpClient } from '@angular/common/http';\n//import { AtomSpinnerModule } from 'angular-epic-spinners'\nimport { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner';\n\n\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule } from './/app-routing.module';\nimport { HeaderComponent } from './components/header/header.component';\nimport { LoginPageComponent } from './components/login-page/login-page.component';\nimport { CustomInputDirective } from './directives/custom-input.directive';\nimport { PartnerPageComponent } from './components/partner-page/partner-page.component';\nimport { AddPartnerComponent } from './components/add-partner/add-partner.component';\nimport { CustomModalComponent } from './components/custom-modal/custom-modal.component';\nimport { ProductMappingComponent } from './components/product-mapping/product-mapping.component';\nimport { PartnerDetailsComponent } from './components/partner-details/partner-details.component';\nimport { CustomGroupComponent } from './components/custom-group/custom-group.component';\nimport { KeyValuePipe } from './pipes/keyvalue.pipe';\nimport { ProductBenifitsComponent } from './components/product-benifits/product-benifits.component';\nimport { ProductBoundaryConditionComponent } from './components/product-boundary-condition/product-boundary-condition.component';\nimport { ProductSchemeComponent } from './components/product-scheme/product-scheme.component';\nimport { SearchPipe } from './pipes/search.pipe';\nimport { AddPartnerFscComponent } from './components/add-fsc/add-partner-fsc.component';\nimport { FscListingPageComponent } from './components/fsc-listing-page/fsc-listing-page.component';\nimport { AssignFscComponent } from './components/assign-fsc/assign-fsc.component';\nimport { FormsModule } from '@angular/forms';\nimport { FscDetailsComponent } from './components/fsc-details/fsc-details.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n HeaderComponent,\n LoginPageComponent,\n CustomInputDirective,\n PartnerPageComponent,\n AddPartnerComponent,\n CustomModalComponent,\n ProductMappingComponent,\n PartnerDetailsComponent,\n CustomGroupComponent,\n KeyValuePipe,\n ProductBenifitsComponent,\n ProductBoundaryConditionComponent,\n ProductSchemeComponent,\n SearchPipe,\n\n AddPartnerFscComponent,\n\n FscListingPageComponent,\n\n AssignFscComponent,\n\n FscDetailsComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n DragScrollModule,\n HttpClientModule,\n Ng4LoadingSpinnerModule,\n FormsModule\n ],\n providers: [],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","module.exports = \"
\\n

Group Admin Module - Fsc's Section

\\n
\\n * required\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\\n
\\n \\n \\n
UPDATE
\\n \\n \\n
CREATE
\\n
\\n\\n\\n \\n

Fsc's & B2C Login Configuration

\\n
\\n \\n {{errMsg}}\\n \\n \\n \\n \\n \\n
\\n
\\n Cancel\\n
\\n
DONE
\\n
\\n
\\n
\\n\\n\\n\"","module.exports = \".fullWidth {\\n cursor: pointer; }\\n\\n.center {\\n margin: 3% !important; }\\n\\n.showErr {\\n color: #f00; }\\n\\n.modal-body {\\n text-align: center !important; }\\n\\n.fieldset {\\n width: 100% !important; }\\n\\n.modalFooter {\\n display: flex !important;\\n bottom: -1.5rem; }\\n\\n.modalFooter .button {\\n font-size: 20px;\\n font-weight: 600;\\n padding: 1rem 1rem;\\n width: 10rem;\\n margin-left: 1rem; }\\n\\n.modalFooter .cancelbtn {\\n color: #e57518;\\n border: 1.5px solid #e57518;\\n background: #fff; }\\n\\n.logoAdd {\\n width: 6rem !important;\\n height: 6rem !important;\\n border-radius: 50%;\\n overflow: hidden;\\n border: 1px solid #d2c7c7;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: #eee; }\\n\\n.logoAdd img {\\n width: 5rem !important; }\\n\"","\nimport { Component, NgModule, ElementRef, NgZone, OnInit, ViewChild, Input, ChangeDetectorRef } from '@angular/core';\nimport { RouterModule, Router, ActivatedRoute } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { ConfigService } from '../../services/config.service';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { DataShareService } from '../../services/data-share.service';\nimport Swal from 'sweetalert2';\nimport { HttpHeaders } from '@angular/common/http';\nb2cModal: ElementRef;\n@Component({\n selector: 'app-add-partner-fsc',\n templateUrl: './add-partner-fsc.component.html',\n styleUrls: ['./add-partner-fsc.component.scss']\n})\n\nexport class AddPartnerFscComponent implements OnInit {\n b2cModal;\n partnerName: string = \"\";\n partnerAddress: string = \"\";\n fileData;\n partnerLogo;\n partnerLoginId;\n partnerLoginPwd;\n partnerLoginCPwd;\n fileName = \"assets/images/add_icon.svg\";\n id;\n errMsg = \"\";\n editDetails = false;\n configEmail = \"\";\n configPassword = \"\";\n uniquePartner = true;\n currName = \"\";\n currId = \"\";\n partnerId = 0;\n click = false;\n http: any;\n fscId: any;\n email: any;\n name: any;\n address: any;\n page: any;\n isEditMode: boolean;\n partner_email: any;\n products: any;\n @ViewChild(\"b2cModal\") set content(content: ElementRef) {\n this.b2cModal = content;\n }\n constructor(private routes: Router, public config: ConfigService, public loader: Ng4LoadingSpinnerService, public route: ActivatedRoute,\n public el: ElementRef, public cdr: ChangeDetectorRef, public change: DataShareService) {\n if (environment.loginSuccessfully == true) {\n this.change.setPartnerConfig(false);\n if (environment.editDetails == true) {\n this.editDetails = environment.editDetails;\n if (environment.currentPartnerDetails.length > 0) {\n console.log(environment.currentPartnerDetails);\n //this.fileName = environment.currentPartnerDetails[0].partner_logo;\n this.partnerName = environment.currentPartnerDetails[0].partner_name;\n this.partnerAddress = environment.currentPartnerDetails[0].partner_address;\n this.partnerId = environment.currentPartnerDetails[0].partner_id;\n this.configPassword = environment.currentPartnerDetails[0].b2cPassword;\n this.configEmail = environment.currentPartnerDetails[0].b2cEmail;\n this.currName = this.partnerName;\n this.currId = this.configEmail\n }\n }\n } else {\n this.routes.navigate([\"login\"]);\n }\n\n }\n\nngAfterViewInit() {\n if (environment.editDetails == true) {\n const substring = \"add_icon.svg\";\n if (this.fileName.includes(substring) == false) {\n var imgDiv = document.querySelectorAll(\".blue-back.circle\");\n imgDiv[0].classList.remove(\"blue-back\", \"circle\");\n imgDiv[0].firstElementChild.classList.add(\"fullWidth\");\n }\n }\n }\n ngOnInit() {\n\n this.route.queryParams.subscribe(params => {\n this.fscId = params['fsc'];\n\n this.page = params['page'];\n\n // Determine if we are in edit mode\n if (this.page === 'fsc-edit') {\n this.isEditMode = true;\n this.editDetails = true;\n\n var url = \"/service/fsc/GetDetails/\" + this.fscId;\n this.config.httpService(\"post\", url, \"\").subscribe(\n (res: any) => {\n console.log('API Response:', res); // Log entire response for debugging\n \n \n this.partner_email = res[0].userEmail;\n this.partnerName = res[0].userName;\n this.partnerAddress = res[0].userAddress,\n this.products = res[0]; // Ensure 'products' is correctly assigned\n \n console.log('Fetched Products:', this.products);\n \n },\n (err: any) => {\n console.error(err);\n }\n );\n }\n \n });\n }\n\n configPartnerFsc(event: any) {\n if (this.isEditMode) {\n // Logic for updating existing data\n console.log('Updating existing data...');\n // Call your update API or perform update logic\n } else {\n // Logic for creating new data\n console.log('Creating new data...');\n // Call your create API or perform create logic\n }\n }\n\n onChange(event) {\n this.loader.show();\n var url = \"/uploadFile\";\n event.target.parentElement.childNodes[1].classList.remove('blue-back', 'circle')\n event.target.parentElement.childNodes[1].childNodes[0].classList.add('fullWidth');\n if (event.target.files.length != 0) {\n var file = event.target.files[0];\n const uploadData = new FormData();\n uploadData.append('file', file);\n const headers = new HttpHeaders({\n 'Accept': 'application/json',\n });\n //headers.append('Content-Type', 'multipart/form-data');\n\n // this.config.httpService(\"post\", url, uploadData).subscribe(\n // res => {\n // this.fileData = res;\n // this.fileName = this.fileData.fileDownloadUri;\n // event.target.parentElement.childNodes[0].style.display = 'none';\n // this.loader.hide();\n // },\n // err => {\n // console.log(err);\n // this.loader.hide();\n // event.target.parentElement.childNodes[1].classList.add('blue-back', 'circle')\n // event.target.parentElement.childNodes[1].childNodes[0].classList.remove('fullWidth')\n // Swal({\n // title: \"Something went wrong.\\nPlease try after some time.\",\n // type: 'warning',\n // showCancelButton: false,\n // confirmButtonColor: '#eb1826',\n // cancelButtonColor: '#F4F1F1',\n // confirmButtonText: 'OK'\n // }).then((result) => {\n // event.target.value = \"\"\n // })\n // }\n // )\n\n this.http.post(url, uploadData, { headers: headers }).subscribe(\n res => {\n this.fileData = res;\n this.fileName = this.fileData.fileDownloadUri;\n event.target.parentElement.childNodes[0].style.display = 'none';\n this.loader.hide();\n },\n err => {\n console.log(err);\n this.loader.hide();\n event.target.parentElement.childNodes[1].classList.add('blue-back', 'circle')\n event.target.parentElement.childNodes[1].childNodes[0].classList.remove('fullWidth')\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\"\n })\n }\n )\n }\n\n console.log(file);\n }\n\n onClickOutside(event) {\n console.log(event);\n }\n keypressConfig(event) {\n var keycode = (event.keyCode ? event.keyCode : event.which);\n if (keycode == '13') {\n this.configNewPartner(event);\n }\n }\n configNewPartner(event) {\n console.log(event);\n this.partnerLogo = event.target.parentElement.childNodes[1].childNodes[1].childNodes[0].src;\n this.partnerName = event.target.parentElement.childNodes[1].childNodes[1].childNodes[0].childNodes[5].value;\n this.partnerAddress = event.target.parentElement.childNodes[1].childNodes[2].childNodes[0].childNodes[5].value;\n this.partnerName = this.partnerName.replace(/(<([^>]+)>)/ig, \"\");\n this.partnerAddress = this.partnerAddress.replace(/(<([^>]+)>)/ig, \"\");\n\n\n\n // const substring = \"add_icon.svg\";\n var count = 0;\n // this.partnerLogo = this.partnerLogo.replace(\"http://localhost:4200/\", '')\n // if (this.partnerLogo == \"\") {\n // this.partnerLogo = \"assets/images/fsc_logo.png\"\n // }\n // else if (this.partnerLogo.includes(substring) == true) {\n // this.partnerLogo = \"\";\n // this.partnerLogo = \"assets/images/default.svg\"\n // }\n // else {\n // let el = event.target.parentElement.childNodes[1].childNodes[2];// = \"text\";\n\n // el.type = \"text\";\n // el.value = this.partnerLogo;\n // }\n let inputs = this.el.nativeElement.querySelectorAll(\"input:not(.notNecessary)\");\n inputs.forEach(function (item) {\n var text = \"fieldset\";\n if (item.value.trim() == \"\") {\n item.parentElement.firstElementChild.style.display = 'block';\n if (item.parentElement.nodeName == text.toUpperCase()) {\n item.closest(\"fieldset\").classList.add(\"error\");\n }\n\n }\n else {\n item.parentElement.firstElementChild.style.display = 'none';\n if (item.parentElement.nodeName == text.toUpperCase()) {\n item.closest(\"fieldset\").classList.remove(\"error\");\n }\n count = count + 1;\n\n }\n });\n var savedPartners;\n this.uniquePartner = true;\n var __self = this;\n savedPartners = this.config.getValues(environment.partnerListing, \"partner_name\");\n savedPartners.forEach(function (partner) {\n if (__self.partnerName.toLowerCase().trim() == partner.toLowerCase().trim() && __self.partnerName.toLowerCase().trim() != __self.currName.toLowerCase().trim()) {\n __self.uniquePartner = false;\n Swal({\n title: \"Partner name already exists. Try again using a different name.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.parentElement.childNodes[1].childNodes[6].childNodes[0].childNodes[5].value = \"\"\n });\n }\n })\n if (count == inputs.length && this.uniquePartner) {\n let el = event.target.parentElement.childNodes[1].childNodes[2];\n el.type = \"file\";\n this.b2cModal.open();\n }\n\n }\n\n toggleInput(event) {\n console.log(event.target);\n if (event.target.classList.contains('icon-eye')) {\n var sibling = event.target.previousElementSibling;\n if (sibling.type == \"text\") {\n sibling.type = \"password\";\n event.target.classList.remove(\"changeColor\");\n }\n\n else if (sibling.type == \"password\") {\n sibling.type = \"text\";\n event.target.classList.add(\"changeColor\");\n }\n }\n }\n\n keypreeLogin(event) {\n this.click = true\n this.loader.show();\n var keycode = (event.keyCode ? event.keyCode : event.which);\n if (keycode == '13') {\n this.validateLogin(event);\n }\n }\n\n validateLogin(event) {\n this.partnerLoginId = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[2].childNodes[0].childNodes[5].value;\n this.partnerLoginPwd = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[3].childNodes[0].childNodes[5].value;\n this.partnerLoginCPwd = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[4].childNodes[0].childNodes[5].value;\n console.log(event.target);\n let count = 0;\n let pass1 = this.partnerLoginPwd;\n let pass2 = this.partnerLoginCPwd;\n event.target.parentElement.parentElement.parentElement.querySelectorAll('input').forEach(function (item) {\n\n console.log(item.value);\n if (item.value.trim() == \"\") {\n item.parentElement.firstElementChild.style.display = 'block';\n item.closest(\"fieldset\").classList.add(\"error\");\n console.log(\"Blank\");\n }\n else {\n item.parentElement.firstElementChild.style.display = 'none';\n item.closest(\"fieldset\").classList.remove(\"error\");\n count = count + 1;\n\n }\n });\n if (pass1 != pass2) {\n this.click = false\n this.loader.hide();\n var el = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n this.errMsg = \"Passwords did not match, please try again\";\n el.classList.remove(\"hide\");\n var pwd1 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[3].childNodes[0].childNodes[5];\n var pwd2 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[4].childNodes[0].childNodes[5];\n pwd1.value = \"\";\n pwd2.value = \"\";\n pwd1.parentElement.firstElementChild.style.display = 'block';\n pwd2.parentElement.firstElementChild.style.display = 'block';\n pwd1.closest(\"fieldset\").classList.add(\"error\");\n pwd2.closest(\"fieldset\").classList.add(\"error\");\n }\n else if (this.partnerLoginId.length < 5) {\n this.click = false\n this.loader.hide();\n var el = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n this.errMsg = \"Please enter minimum 5 characters for Login ID\";\n el.classList.remove(\"hide\");\n var userId = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[2].childNodes[0].childNodes[5];\n userId.value = \"\";\n userId.parentElement.firstElementChild.style.display = 'block';\n userId.closest(\"fieldset\").classList.add(\"error\");\n }\n else if (pass1.length < 4 || pass1.length > 8) {\n this.click = false\n this.loader.hide();\n var el = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n this.errMsg = \"Please enter password between 4 to 8 characters\";\n el.classList.remove(\"hide\");\n var pwd1 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[3].childNodes[0].childNodes[5];\n var pwd2 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[4].childNodes[0].childNodes[5];\n pwd1.value = \"\";\n pwd2.value = \"\";\n pwd1.parentElement.firstElementChild.style.display = 'block';\n pwd2.parentElement.firstElementChild.style.display = 'block';\n pwd1.closest(\"fieldset\").classList.add(\"error\");\n pwd2.closest(\"fieldset\").classList.add(\"error\");\n }\n else if (count == 3) {\n this.click = true\n this.loader.show();\n //var url = \"/service/admin/\" + 22 + \"/fsc\"\n var url = \"/service/fsc/insert\"\n var data = {\n \"partner_name\": this.partnerName,\n \"partner_address\": this.partnerAddress, \"sys_role\": 'fsc' ,\"status\": 1,\n \"user_email\": this.partnerLoginId, \"password\": this.partnerLoginPwd\n };\n console.log(\"3 data\");\n console.log(data);\n this.config.httpService('post', url, data).subscribe(\n res => {\n var details;\n details = res;\n environment.partnerDetails = [];\n environment.partnerDetails.push(details);\n this.b2cModal.close(event);\n if (environment.editDetails == true) {\n let url = \"/service/admin/\" + environment.userid + \"/lpartners/\" + this.partnerId;\n environment.currentPartnerDetails = [];\n\n environment.partnerDetails = [];\n\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n var data = res;\n environment.editDetails = true;\n environment.currentPartnerDetails.push(data);\n environment.partnerDetails.push(data);\n if (environment.editDetails == true) {\n this.loader.hide();\n Swal({\n title: \"Partner configuration updated successfully.\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.loader.hide();\n this.routes.navigate([\"partnerListing\"]);\n })\n\n }\n else {\n this.loader.hide();\n this.routes.navigate([\"product-mapping\"]);\n console.log(res);\n }\n },\n err => {\n this.loader.hide();\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n // this.routes.navigate([\"login\"]);\n })\n }\n )\n }\n else {\n this.loader.hide();\n Swal({\n title: \"Fsc configuration created successfully.\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.loader.hide();\n this.routes.navigate([\"fscListing\"]);\n console.log(res);\n })\n }\n },\n err => {\n this.loader.hide();\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.routes.navigate([\"partnerListing\"]);\n })\n }\n )\n }\n }\n\n closeModel(event) {\n // Swal({\n // title: \"Are you sure, all changes are discard\",\n // type: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#eb1826',\n // cancelButtonColor: '#F4F1F1',\n // confirmButtonText: 'OK'\n // }).then((result) => {\n // if(result.value){\n // this.b2cModal.close(event);\n // }\n // else{\n\n // }\n // });\n this.b2cModal.close(event);\n\n }\n\n storeValue(event) {\n var savedb2cemail\n var __self = this;\n var userid = event.target.value;\n savedb2cemail = this.config.getValues(environment.partnerListing, \"b2cEmail\");\n savedb2cemail.forEach(function (email) {\n if (email.toLowerCase().trim() == userid.toLowerCase().trim() && email.toLowerCase().trim() != __self.currId.toLowerCase().trim()) {\n event.target.value = \"\";\n __self.errMsg = \"Login ID already exists. Try again using a different ID\";\n var ell = event.target.parentElement.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n ell.classList.remove(\"hide\");\n }\n })\n }\n\n\n}\n","module.exports = \"
\\n

Group Admin Module - Partner's Section

\\n
\\n * required\\n
\\n \\\"add\\\"\\n
\\n \\n

ADD PARTNER LOGO

\\n

CHANGE PARTNER LOGO

\\n \\n \\n
\\n
UPDATE
\\n
CREATE
\\n
\\n\\n \\n

Partner & B2C Login Configuration

\\n
\\n \\n {{errMsg}}\\n \\n \\n \\n \\n \\n
\\n
\\n Cancel
\\n
DONE
\\n
\\n
\\n
\\n\"","module.exports = \".fullWidth {\\n cursor: pointer; }\\n\\n.center {\\n margin: 3% !important; }\\n\\n.showErr {\\n color: #f00; }\\n\\n.modal-body {\\n text-align: center !important; }\\n\\n.fieldset {\\n width: 100% !important; }\\n\\n.modalFooter {\\n display: flex !important;\\n bottom: -1.5rem; }\\n\\n.modalFooter .button {\\n font-size: 20px;\\n font-weight: 600;\\n padding: 1rem 1rem;\\n width: 10rem;\\n margin-left: 1rem; }\\n\\n.modalFooter .cancelbtn {\\n color: #e57518;\\n border: 1.5px solid #e57518;\\n background: #fff; }\\n\\n.logoAdd {\\n width: 6rem !important;\\n height: 6rem !important;\\n border-radius: 50%;\\n overflow: hidden;\\n border: 1px solid #d2c7c7;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: #eee; }\\n\\n.logoAdd img {\\n width: 5rem !important; }\\n\"","import { Component, NgModule, ElementRef, NgZone, OnInit, ViewChild, Input, ChangeDetectorRef } from '@angular/core';\nimport { RouterModule, Router, ActivatedRoute } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { ConfigService } from '../../services/config.service';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { DataShareService } from '../../services/data-share.service';\nimport Swal from 'sweetalert2';\nimport { HttpHeaders } from '@angular/common/http';\n//import { Component, NgModule, ElementRef, NgZone, OnInit, ViewChild, Input } from '@angular/core';\nb2cModal: ElementRef;\n@Component({\n selector: 'app-add-partner',\n templateUrl: './add-partner.component.html',\n styleUrls: ['./add-partner.component.scss']\n})\n\nexport class AddPartnerComponent implements OnInit {\n b2cModal;\n partnerName: string = \"\";\n partnerAddress: string = \"\";\n fileData;\n partnerLogo;\n partnerLoginId;\n partnerLoginPwd;\n partnerLoginCPwd;\n fileName = \"assets/images/add_icon.svg\";\n id;\n errMsg = \"\";\n editDetails = false;\n configEmail = \"\";\n configPassword = \"\";\n uniquePartner = true;\n currName = \"\";\n currId = \"\";\n partnerId = 0;\n click = false;\n http: any;\n // renderHtml = false;\n @ViewChild(\"b2cModal\") set content(content: ElementRef) {\n this.b2cModal = content;\n }\n //@ViewChild(\"b2cModal\") ModalElementRef: ElementRef;\n constructor(private routes: Router, public config: ConfigService, public loader: Ng4LoadingSpinnerService, public route: ActivatedRoute,\n public el: ElementRef, public cdr: ChangeDetectorRef, public change: DataShareService) {\n if (environment.loginSuccessfully == true) {\n this.change.setPartnerConfig(false);\n if (environment.editDetails == true) {\n this.editDetails = environment.editDetails;\n if (environment.currentPartnerDetails.length > 0) {\n console.log(environment.currentPartnerDetails);\n this.fileName = environment.currentPartnerDetails[0].partner_logo;\n this.partnerName = environment.currentPartnerDetails[0].partner_name;\n this.partnerAddress = environment.currentPartnerDetails[0].partner_address;\n this.partnerId = environment.currentPartnerDetails[0].partner_id;\n this.configPassword = environment.currentPartnerDetails[0].b2cPassword;\n this.configEmail = environment.currentPartnerDetails[0].b2cEmail;\n this.currName = this.partnerName;\n this.currId = this.configEmail\n }\n }\n } else {\n this.routes.navigate([\"login\"]);\n }\n\n\n }\n ngAfterViewInit() {\n if (environment.editDetails == true) {\n const substring = \"add_icon.svg\";\n if (this.fileName.includes(substring) == false) {\n var imgDiv = document.querySelectorAll(\".blue-back.circle\");\n imgDiv[0].classList.remove(\"blue-back\", \"circle\");\n imgDiv[0].firstElementChild.classList.add(\"fullWidth\");\n }\n }\n }\n ngOnInit() {\n }\n\n onChange(event) {\n this.loader.show();\n var url = \"/uploadFile\";\n event.target.parentElement.childNodes[1].classList.remove('blue-back', 'circle')\n event.target.parentElement.childNodes[1].childNodes[0].classList.add('fullWidth');\n if (event.target.files.length != 0) {\n var file = event.target.files[0];\n const uploadData = new FormData();\n uploadData.append('file', file);\n const headers = new HttpHeaders({\n 'Accept': 'application/json',\n });\n //headers.append('Content-Type', 'multipart/form-data');\n\n // this.config.httpService(\"post\", url, uploadData).subscribe(\n // res => {\n // this.fileData = res;\n // this.fileName = this.fileData.fileDownloadUri;\n // event.target.parentElement.childNodes[0].style.display = 'none';\n // this.loader.hide();\n // },\n // err => {\n // console.log(err);\n // this.loader.hide();\n // event.target.parentElement.childNodes[1].classList.add('blue-back', 'circle')\n // event.target.parentElement.childNodes[1].childNodes[0].classList.remove('fullWidth')\n // Swal({\n // title: \"Something went wrong.\\nPlease try after some time.\",\n // type: 'warning',\n // showCancelButton: false,\n // confirmButtonColor: '#eb1826',\n // cancelButtonColor: '#F4F1F1',\n // confirmButtonText: 'OK'\n // }).then((result) => {\n // event.target.value = \"\"\n // })\n // }\n // )\n\n this.http.post(url, uploadData, { headers: headers }).subscribe(\n res => {\n this.fileData = res;\n this.fileName = this.fileData.fileDownloadUri;\n event.target.parentElement.childNodes[0].style.display = 'none';\n this.loader.hide();\n },\n err => {\n console.log(err);\n this.loader.hide();\n event.target.parentElement.childNodes[1].classList.add('blue-back', 'circle')\n event.target.parentElement.childNodes[1].childNodes[0].classList.remove('fullWidth')\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\"\n })\n }\n )\n }\n\n console.log(file);\n }\n\n onClickOutside(event) {\n console.log(event);\n }\n keypressConfig(event) {\n var keycode = (event.keyCode ? event.keyCode : event.which);\n if (keycode == '13') {\n this.configNewPartner(event);\n }\n }\n configNewPartner(event) {\n console.log(event);\n this.partnerLogo = event.target.parentElement.childNodes[1].childNodes[1].childNodes[0].src;\n this.partnerName = event.target.parentElement.childNodes[1].childNodes[6].childNodes[0].childNodes[5].value;\n this.partnerAddress = event.target.parentElement.childNodes[1].childNodes[7].childNodes[0].childNodes[5].value;\n this.partnerName = this.partnerName.replace(/(<([^>]+)>)/ig, \"\");\n this.partnerAddress = this.partnerAddress.replace(/(<([^>]+)>)/ig, \"\");\n\n\n\n const substring = \"add_icon.svg\";\n var count = 0;\n this.partnerLogo = this.partnerLogo.replace(\"http://localhost:4200/\", '')\n if (this.partnerLogo == \"\") {\n this.partnerLogo = \"assets/images/default.svg\"\n }\n else if (this.partnerLogo.includes(substring) == true) {\n this.partnerLogo = \"\";\n this.partnerLogo = \"assets/images/default.svg\"\n }\n else {\n let el = event.target.parentElement.childNodes[1].childNodes[2];// = \"text\";\n\n el.type = \"text\";\n el.value = this.partnerLogo;\n }\n let inputs = this.el.nativeElement.querySelectorAll(\"input:not(.notNecessary)\");\n inputs.forEach(function (item) {\n var text = \"fieldset\";\n if (item.value.trim() == \"\") {\n item.parentElement.firstElementChild.style.display = 'block';\n if (item.parentElement.nodeName == text.toUpperCase()) {\n item.closest(\"fieldset\").classList.add(\"error\");\n }\n\n }\n else {\n item.parentElement.firstElementChild.style.display = 'none';\n if (item.parentElement.nodeName == text.toUpperCase()) {\n item.closest(\"fieldset\").classList.remove(\"error\");\n }\n count = count + 1;\n\n }\n });\n var savedPartners;\n this.uniquePartner = true;\n var __self = this;\n savedPartners = this.config.getValues(environment.partnerListing, \"partner_name\");\n savedPartners.forEach(function (partner) {\n if (__self.partnerName.toLowerCase().trim() == partner.toLowerCase().trim() && __self.partnerName.toLowerCase().trim() != __self.currName.toLowerCase().trim()) {\n __self.uniquePartner = false;\n Swal({\n title: \"Partner name already exists. Try again using a different name.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.parentElement.childNodes[1].childNodes[6].childNodes[0].childNodes[5].value = \"\"\n });\n }\n })\n if (count == inputs.length && this.uniquePartner) {\n let el = event.target.parentElement.childNodes[1].childNodes[2];\n el.type = \"file\";\n //this.b2cModal.open();\n\n var url = \"/service/admin/\" + environment.userid + \"/partners\"\n // var data = {\n // \"partner_id\": this.partnerId, \"partner_logo\": this.partnerLogo, \"partner_name\": this.partnerName,\n // \"partner_address\": this.partnerAddress, \"status\": 1, \"b2cEmail\": this.partnerLoginId,\n // \"b2cPassword\": this.partnerLoginPwd\n // };\n var data = {\n \"partner_id\": this.partnerId, \"partner_logo\": this.partnerLogo, \"partner_name\": this.partnerName,\n \"partner_address\": this.partnerAddress, \"status\": 1, \"b2cEmail\": '0',\n \"b2cPassword\": '0'\n };\n console.log(\"3 data\");\n console.log(data);\n this.config.httpService('post', url, data).subscribe(\n res => {\n var details;\n details = res;\n environment.partnerDetails = [];\n environment.partnerDetails.push(details);\n this.b2cModal.close(event);\n if (environment.editDetails == true) {\n let url = \"/service/admin/\" + environment.userid + \"/lpartners/\" + this.partnerId;\n environment.currentPartnerDetails = [];\n\n environment.partnerDetails = [];\n\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n var data = res;\n environment.editDetails = true;\n environment.currentPartnerDetails.push(data);\n environment.partnerDetails.push(data);\n if (environment.editDetails == true) {\n this.loader.hide();\n Swal({\n title: \"Partner configuration updated successfully.\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.loader.hide();\n this.routes.navigate([\"partnerListing\"]);\n })\n\n }\n else {\n this.loader.hide();\n this.routes.navigate([\"product-mapping\"]);\n console.log(res);\n }\n },\n err => {\n this.loader.hide();\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n // this.routes.navigate([\"login\"]);\n })\n }\n )\n }\n else {\n this.loader.hide();\n Swal({\n title: \"Partner configuration created successfully.\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.loader.hide();\n this.routes.navigate([\"product-mapping\"]);\n console.log(res);\n })\n }\n },\n err => {\n this.loader.hide();\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.routes.navigate([\"partnerListing\"]);\n })\n }\n )\n }\n\n }\n\n toggleInput(event) {\n console.log(event.target);\n if (event.target.classList.contains('icon-eye')) {\n var sibling = event.target.previousElementSibling;\n if (sibling.type == \"text\") {\n sibling.type = \"password\";\n event.target.classList.remove(\"changeColor\");\n }\n\n else if (sibling.type == \"password\") {\n sibling.type = \"text\";\n event.target.classList.add(\"changeColor\");\n }\n }\n }\n\n keypreeLogin(event) {\n this.click = true\n this.loader.show();\n var keycode = (event.keyCode ? event.keyCode : event.which);\n if (keycode == '13') {\n this.validateLogin(event);\n }\n }\n\n validateLogin(event) {\n this.partnerLoginId = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[2].childNodes[0].childNodes[5].value;\n this.partnerLoginPwd = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[3].childNodes[0].childNodes[5].value;\n this.partnerLoginCPwd = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[4].childNodes[0].childNodes[5].value;\n console.log(event.target);\n let count = 0;\n let pass1 = this.partnerLoginPwd;\n let pass2 = this.partnerLoginCPwd;\n event.target.parentElement.parentElement.parentElement.querySelectorAll('input').forEach(function (item) {\n\n console.log(item.value);\n if (item.value.trim() == \"\") {\n item.parentElement.firstElementChild.style.display = 'block';\n item.closest(\"fieldset\").classList.add(\"error\");\n console.log(\"Blank\");\n }\n else {\n item.parentElement.firstElementChild.style.display = 'none';\n item.closest(\"fieldset\").classList.remove(\"error\");\n count = count + 1;\n\n }\n });\n if (pass1 != pass2) {\n this.click = false\n this.loader.hide();\n var el = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n this.errMsg = \"Passwords did not match, please try again\";\n el.classList.remove(\"hide\");\n var pwd1 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[3].childNodes[0].childNodes[5];\n var pwd2 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[4].childNodes[0].childNodes[5];\n pwd1.value = \"\";\n pwd2.value = \"\";\n pwd1.parentElement.firstElementChild.style.display = 'block';\n pwd2.parentElement.firstElementChild.style.display = 'block';\n pwd1.closest(\"fieldset\").classList.add(\"error\");\n pwd2.closest(\"fieldset\").classList.add(\"error\");\n }\n else if (this.partnerLoginId.length < 5) {\n this.click = false\n this.loader.hide();\n var el = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n this.errMsg = \"Please enter minimum 5 characters for Login ID\";\n el.classList.remove(\"hide\");\n var userId = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[2].childNodes[0].childNodes[5];\n userId.value = \"\";\n userId.parentElement.firstElementChild.style.display = 'block';\n userId.closest(\"fieldset\").classList.add(\"error\");\n }\n else if (pass1.length < 4 || pass1.length > 8) {\n this.click = false\n this.loader.hide();\n var el = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n this.errMsg = \"Please enter password between 4 to 8 characters\";\n el.classList.remove(\"hide\");\n var pwd1 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[3].childNodes[0].childNodes[5];\n var pwd2 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[4].childNodes[0].childNodes[5];\n pwd1.value = \"\";\n pwd2.value = \"\";\n pwd1.parentElement.firstElementChild.style.display = 'block';\n pwd2.parentElement.firstElementChild.style.display = 'block';\n pwd1.closest(\"fieldset\").classList.add(\"error\");\n pwd2.closest(\"fieldset\").classList.add(\"error\");\n }\n else if (count == 3) {\n this.click = true\n this.loader.show();\n var url = \"/service/admin/\" + environment.userid + \"/partners\"\n // var data = {\n // \"partner_id\": this.partnerId, \"partner_logo\": this.partnerLogo, \"partner_name\": this.partnerName,\n // \"partner_address\": this.partnerAddress, \"status\": 1, \"b2cEmail\": this.partnerLoginId,\n // \"b2cPassword\": this.partnerLoginPwd\n // };\n var data = {\n \"partner_id\": this.partnerId, \"partner_logo\": this.partnerLogo, \"partner_name\": this.partnerName,\n \"partner_address\": this.partnerAddress, \"status\": 1, \"b2cEmail\": '0',\n \"b2cPassword\": '0'\n };\n console.log(\"3 data\");\n console.log(data);\n this.config.httpService('post', url, data).subscribe(\n res => {\n var details;\n details = res;\n environment.partnerDetails = [];\n environment.partnerDetails.push(details);\n this.b2cModal.close(event);\n if (environment.editDetails == true) {\n let url = \"/service/admin/\" + environment.userid + \"/lpartners/\" + this.partnerId;\n environment.currentPartnerDetails = [];\n\n environment.partnerDetails = [];\n\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n var data = res;\n environment.editDetails = true;\n environment.currentPartnerDetails.push(data);\n environment.partnerDetails.push(data);\n if (environment.editDetails == true) {\n this.loader.hide();\n Swal({\n title: \"Partner configuration updated successfully.\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.loader.hide();\n this.routes.navigate([\"partnerListing\"]);\n })\n\n }\n else {\n this.loader.hide();\n this.routes.navigate([\"product-mapping\"]);\n console.log(res);\n }\n },\n err => {\n this.loader.hide();\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n // this.routes.navigate([\"login\"]);\n })\n }\n )\n }\n else {\n this.loader.hide();\n Swal({\n title: \"Partner configuration created successfully.\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.loader.hide();\n this.routes.navigate([\"product-mapping\"]);\n console.log(res);\n })\n }\n },\n err => {\n this.loader.hide();\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.routes.navigate([\"partnerListing\"]);\n })\n }\n )\n }\n }\n\n closeModel(event) {\n // Swal({\n // title: \"Are you sure, all changes are discard\",\n // type: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#eb1826',\n // cancelButtonColor: '#F4F1F1',\n // confirmButtonText: 'OK'\n // }).then((result) => {\n // if(result.value){\n // this.b2cModal.close(event);\n // }\n // else{\n\n // }\n // });\n this.b2cModal.close(event);\n\n }\n\n storeValue(event) {\n var savedb2cemail\n var __self = this;\n var userid = event.target.value;\n savedb2cemail = this.config.getValues(environment.partnerListing, \"b2cEmail\");\n savedb2cemail.forEach(function (email) {\n if (email.toLowerCase().trim() == userid.toLowerCase().trim() && email.toLowerCase().trim() != __self.currId.toLowerCase().trim()) {\n event.target.value = \"\";\n __self.errMsg = \"Login ID already exists. Try again using a different ID\";\n var ell = event.target.parentElement.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n ell.classList.remove(\"hide\");\n }\n })\n }\n}\n","module.exports = \"
\\n
\\n
\\n \\n Back\\n
\\n
\\n \\n FSC\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
ASSIGN FSC - Product Mapping
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n FSC CodeFSC EmailFSC Address
\\n \\n {{ fsc[1] }}{{ fsc[2] }}{{ fsc[5] }}
\\n
\\n
\\n
UPDATE
\\n
ASSIGN
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n\"","module.exports = \".fullWidth {\\n cursor: pointer; }\\n\\n.center {\\n margin: 3% !important; }\\n\\n.showErr {\\n color: #f00; }\\n\\n.modal-body {\\n text-align: center !important; }\\n\\n.fieldset {\\n width: 100% !important; }\\n\\n.checkbox {\\n min-width: 4rem; }\\n\\n.checkbox input {\\n margin-left: 0px; }\\n\\n.modalFooter {\\n display: flex !important;\\n bottom: -1.5rem; }\\n\\n.modalFooter .button {\\n font-size: 20px;\\n font-weight: 600;\\n padding: 1rem 1rem;\\n width: 10rem;\\n margin-left: 1rem; }\\n\\n.modalFooter .cancelbtn {\\n color: #e57518;\\n border: 1.5px solid #e57518;\\n background: #fff; }\\n\\n.logoAdd {\\n width: 6rem !important;\\n height: 6rem !important;\\n border-radius: 50%;\\n border: 1px solid #d2c7c7;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: #eee; }\\n\\n.logoAdd img {\\n width: 5rem !important; }\\n\\n.table {\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Oxygen,\\r Ubuntu, Cantarell, \\\"Open Sans\\\", \\\"Helvetica Neue\\\", sans-serif;\\n border-collapse: collapse;\\n width: 100%; }\\n\\n.table td,\\n.table th {\\n border: 1px solid #ddd;\\n padding: 8px;\\n width: auto; }\\n\\ntable.table tbody tr.selected {\\n background-color: #f2f2f2; }\\n\\n.table tr:hover {\\n background-color: #ddd !important; }\\n\\n.table th {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n text-align: center;\\n background-color: #e57518;\\n color: white; }\\n\\n.partnerDetails-header {\\n width: 100%;\\n height: 50px;\\n margin: 0px; }\\n\\n.partnerDetails-header .back-button {\\n float: left;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%);\\n position: relative;\\n cursor: pointer;\\n margin: 0px; }\\n\\n.partnerDetails-header .back-button img {\\n width: 1.5rem; }\\n\\n.partnerDetails-header .back-button span {\\n margin-left: 10px;\\n font-size: 18px;\\n font-weight: bold;\\n color: #201c1c; }\\n\\n.partnerDetails-header .partner-name {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin: 0px; }\\n\\n.partnerDetails-header .partner-name img {\\n width: 3rem;\\n height: 3rem;\\n border-radius: 100%; }\\n\\n.partnerDetails-header .partner-name span {\\n font-size: 20px;\\n text-transform: uppercase;\\n font-weight: 600;\\n margin-left: 10px;\\n color: #000000; }\\n\\n.partnerDetails-page {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: calc(100% - 85px);\\n border-radius: 0.5rem;\\n padding: 10px;\\n margin-bottom: 0px;\\n padding-bottom: 0px;\\n margin-top: 1rem;\\n overflow: auto; }\\n\\n.partnerDetails-page .product-menu {\\n width: 90%;\\n margin: 0 auto;\\n text-align: center; }\\n\\n.partnerDetails-page .product-menu ::-webkit-scrollbar {\\n display: none !important; }\\n\\n.partnerDetails-page .product-menu .drag-scroll-content {\\n justify-content: center !important; }\\n\\n.partnerDetails-page .product-menu .menuTabItem {\\n margin: 0 5px;\\n display: flex;\\n font-size: 20px;\\n transition: border-bottom 0.2s linear;\\n -webkit-transition: border-bottom 0.2s linear;\\n cursor: pointer;\\n text-transform: capitalize;\\n /* border-right: 1px solid; */\\n margin-right: 5px;\\n padding-right: 15px;\\n justify-content: center;\\n align-items: center;\\n /* padding-bottom: 10px; */\\n color: #5d5757;\\n font-weight: 600; }\\n\\n.partnerDetails-page .product-menu .activeTab {\\n border-bottom: 3px solid #e57518;\\n padding-bottom: 0.6rem; }\\n\\n.partnerDetails-page .page-container {\\n overflow-y: scroll; }\\n\\n.partnerDetails-page .page-container .scroll {\\n overflow-y: auto;\\n overflow-x: auto;\\n width: 100%;\\n display: contents;\\n align-items: center;\\n border-bottom: 1px solid #b3bbbc3b;\\n padding-bottom: 10px; }\\n\\n.partnerDetails-page .page-container .scroll .form-container {\\n width: 100% !important; }\\n\\n.partnerDetails-page .page-container .partner {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n border-bottom: 1px solid #b3bbbc3b;\\n padding-bottom: 10px; }\\n\\n.partnerDetails-page .page-container .partner:last-child {\\n border-bottom: 0px; }\\n\\n.partnerDetails-page .page-container .partner .header {\\n padding: 5px;\\n display: flex;\\n justify-content: center;\\n margin: 0px; }\\n\\n.partnerDetails-page .page-container .partner .header div {\\n width: 45px;\\n height: 45px;\\n border-radius: 50%;\\n border: 1px solid #004681;\\n margin-right: 10px;\\n background: #004681;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n\\n.partnerDetails-page .page-container .partner .header div img {\\n width: 20px; }\\n\\n.partnerDetails-page .page-container .partner .header span {\\n font-size: 17px; }\\n\\n.partnerDetails-page .page-container .partner .partnerName {\\n width: 100%;\\n display: flex; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerLogo {\\n width: 10%; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerLogo img {\\n width: 5rem; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails {\\n width: 90%;\\n margin: 0px;\\n margin-left: 15px; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails h1 {\\n font-size: 18px;\\n text-transform: uppercase;\\n margin-bottom: 0px;\\n font-weight: 600;\\n color: #000000;\\n margin-top: 1.8rem; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails {\\n width: 100%;\\n margin: 0px;\\n margin-top: 0.2rem; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .product-body {\\n text-align: center;\\n height: calc(100% - 136px);\\n overflow-y: auto;\\n margin-top: 1rem; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .product-body .product-row {\\n display: flex;\\n justify-content: space-evenly;\\n align-items: center;\\n margin: 0 auto;\\n border: 1px solid #d8d5d5;\\n border-bottom: none;\\n font-size: 12px !important;\\n font-weight: 600 !important; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .product-body .product-row:last-child {\\n border-bottom: 1px solid #d8d5d5; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column {\\n width: 50%;\\n padding: 10px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n height: 40px;\\n margin: 0px; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column:not(:last-child) {\\n border-right: 1px solid #d8d5d5; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column:not(:first-child) {\\n max-width: 8vw; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column:first-child {\\n justify-content: left;\\n text-align: left;\\n padding-left: 25px;\\n min-width: 150px; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column input {\\n padding-bottom: 0px;\\n font-size: 14px;\\n text-align: center;\\n margin-left: 0px !important;\\n min-width: 1em;\\n width: 100%; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .details {\\n width: 30%;\\n margin: 0px;\\n float: left;\\n margin-right: 10px; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .details.benefits {\\n border: 1px solid #d8d5d5;\\n width: auto;\\n text-align: center;\\n padding: 10px;\\n border-radius: 15px;\\n margin-top: 10px;\\n margin-right: 20px;\\n height: auto; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .details.benefits h6 {\\n margin-top: 0px; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .details .showRow {\\n display: flex; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .details h3 {\\n margin-bottom: 0px;\\n font-size: 15px;\\n font-weight: 600;\\n color: #b2aaaa;\\n text-transform: capitalize; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .details h6 {\\n margin: 10px 0px 0px 0px;\\n font-size: 15px;\\n color: #000000;\\n font-weight: 600;\\n text-transform: none; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .details .key {\\n margin-bottom: 0px;\\n font-size: 15px;\\n font-weight: 600;\\n color: #8f8383;\\n text-transform: capitalize;\\n margin-left: 0.3rem; }\\n\\n.partnerDetails-page .page-container .partner .partnerName .partnerDetails .productDetails .details .value {\\n margin: 10px 0px 0px 0px;\\n font-size: 15px;\\n color: #133451;\\n font-weight: 600;\\n text-transform: capitalize; }\\n\\n.no-list {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: 100%;\\n border-radius: 0.5rem;\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n justify-content: center;\\n margin-top: 1rem; }\\n\\n.no-list img {\\n width: 6rem;\\n margin: 0 auto; }\\n\\n.no-list h5 {\\n color: #4d4f58;\\n font-size: 1.3rem;\\n font-weight: 100;\\n line-height: 1.7;\\n letter-spacing: 1px; }\\n\\n.no-list .button {\\n padding: 1rem 2rem; }\\n\\n.no-list .button img {\\n width: 0.9rem;\\n margin-right: 0.2rem; }\\n\"","import { Component, NgModule, ElementRef, NgZone, OnInit, ViewChild, Input, ChangeDetectorRef } from '@angular/core';\nimport { RouterModule, Router, ActivatedRoute } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { DragScrollModule } from 'ngx-drag-scroll';\nimport { DragScrollComponent } from 'ngx-drag-scroll';\nimport { ConfigService } from '../../services/config.service';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { DataShareService } from '../../services/data-share.service';\nimport SwalLib from 'sweetalert2';\nimport Swal from 'sweetalert2';\n//let Swals: any = require(\"sweetalert2\");\nimport { HttpHeaders } from '@angular/common/http';\nimport { switchMap } from 'rxjs/operators';\n\n@NgModule({\n imports: [\n // ... other imports\n DragScrollModule,\n ],\n declarations: [\n // ... other declarations\n DragScrollComponent,\n ],\n})\n\n@Component({\n selector: 'app-assign-fsc',\n templateUrl: './assign-fsc.component.html',\n styleUrls: ['./assign-fsc.component.scss']\n})\nexport class AssignFscComponent implements OnInit {\n @ViewChild('nav', { read: DragScrollComponent }) ds: DragScrollComponent;\n \n b2cModal;\n partnerName: string = \"\";\n partnerAddress: string = \"\";\n fileData;\n partnerLogo;\n partnerLoginId;\n partnerLoginPwd;\n partnerLoginCPwd;\n fileName = \"assets/images/add_icon.svg\";\n id;\n errMsg = \"\";\n editDetails = false;\n configEmail = \"\";\n configPassword = \"\";\n uniquePartner = true;\n currName = \"\";\n currId = \"\";\n partnerId = 0;\n click = false;\n http: any;\n products: any[] = [];\n selectedFsc: any[] = [];\n partnerEmail: any;\n product_id: any ;\n partner_id: any;\n user_id: any;\n selectedIds: string[] = []; \n // renderHtml = false;\n @ViewChild(\"b2cModal\") set content(content: ElementRef) {\n this.b2cModal = content;\n }\n \n //@ViewChild(\"b2cModal\") ModalElementRef: ElementRef;\n constructor(private routes: Router, public config: ConfigService, public loader: Ng4LoadingSpinnerService, public route: ActivatedRoute,\n public el: ElementRef, public cdr: ChangeDetectorRef, public change: DataShareService) {\n if (environment.loginSuccessfully == true) {\n this.change.setPartnerConfig(false);\n if (environment.editDetails == true) {\n this.editDetails = environment.editDetails;\n if (environment.currentPartnerDetails.length > 0) {\n console.log(environment.currentPartnerDetails);\n this.fileName = environment.currentPartnerDetails[0].partner_logo;\n this.partnerName = environment.currentPartnerDetails[0].partner_name;\n this.partnerAddress = environment.currentPartnerDetails[0].partner_address;\n this.partnerId = environment.currentPartnerDetails[0].partner_id;\n this.configPassword = environment.currentPartnerDetails[0].b2cPassword;\n this.configEmail = environment.currentPartnerDetails[0].b2cEmail;\n this.currName = this.partnerName;\n this.currId = this.configEmail\n }\n }\n } else {\n this.routes.navigate([\"login\"]);\n }\n\n\n }\n ngAfterViewInit() {\n if (environment.editDetails == true) {\n const substring = \"add_icon.svg\";\n if (this.fileName.includes(substring) == false) {\n var imgDiv = document.querySelectorAll(\".blue-back.circle\");\n imgDiv[0].classList.remove(\"blue-back\", \"circle\");\n imgDiv[0].firstElementChild.classList.add(\"fullWidth\");\n }\n }\n }\n // ngOnInit(): void {\n // //debugger\n \n // this.route.queryParams.subscribe(params => {\n // this.product_id = JSON.parse(params['product_id']);\n // this.partner_id = JSON.parse(params['partner_id']);\n // });\n // var url = \"/service/fsc/all/\";\n // this.config.httpService(\"get\", url, \"\").subscribe(\n // res => {\n // var data;\n // data = res;\n // this.products = data;\n // },\n // err => {\n // console.log(err);\n // }\n // );\n\n // var url = \"/service/fsc/byPartnerAndProduct?productId=\" + this.product_id + \"&partnerId=\" + this.partner_id;\n // var data ={};\n // this.config.httpService(\"get\", url, data).subscribe(\n // res => {\n // var data;\n // data = res;\n // this.selectedIds = data;\n // var dataInnum = data.map((num=>Number(num)))\n // this.products = this.products.map(elm=>{\n // if(dataInnum.includes(elm.partner_id)){\n // elm[\"isSelected\"] = true;\n // }\n // return elm\n // })\n // },\n // err => {\n // console.log(err);\n // }\n // );\n // }\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n this.product_id = JSON.parse(params['product_id']);\n this.partner_id = JSON.parse(params['partner_id']);\n });\n \n const getAllFscUrl = \"/service/fsc/all/\";\n this.config.httpService(\"get\", getAllFscUrl, \"\").pipe(\n switchMap((allFscData: any) => {\n this.products = allFscData;\n \n const getByPartnerAndProductUrl = \"/service/fsc/byPartnerAndProduct?productId=\" + this.product_id + \"&partnerId=\" + this.partner_id;\n return this.config.httpService(\"get\", getByPartnerAndProductUrl, {});\n })\n // ).subscribe(\n // (selectedIdsData: any) => {\n // this.selectedIds = selectedIdsData;\n // const selectedIdsInnum = this.selectedIds.map(num => Number(num));\n // this.products = this.products.map(elm => {\n // if (selectedIdsInnum.includes(elm.partner_id)) {\n // elm[\"isSelected\"] = true;\n // }\n // return elm;\n // });\n // },\n // err => {\n // console.log(err);\n // }\n // );\n ).subscribe(\n (selectedIdsData: any) => {\n this.selectedIds = selectedIdsData;\n \n // Convert string IDs to numbers\n const selectedIdsInnum = this.selectedIds.map(num => Number(num));\n \n this.products = this.products.map(elm => {\n // Check if the ID is present in the selected IDs array\n elm[\"isSelected\"] = selectedIdsInnum.includes(Number(elm[0]));\n return elm;\n });\n },\n err => {\n console.log(err);\n }\n );\n }\n \n onCheckboxChange(partnerId: string, event: any) {\n if (event.target.checked) {\n // Checkbox is checked, add the partnerId to selectedIds\n this.selectedIds.push(partnerId);\n } else {\n // Checkbox is unchecked, remove the partnerId from selectedIds\n this.selectedIds = this.selectedIds.filter(id => id !== partnerId);\n }\n } \n\n onCheckboxChangeForall(fsc: any, event: any) {\n const checkboxes = document.querySelectorAll(\".checkbox_patner_table\") as NodeListOf;\n \n if (event.target.checked) {\n Array.from(checkboxes).forEach(function (element: HTMLInputElement) {\n element.checked = true;\n });\n } else {\n Array.from(checkboxes).forEach(function (element: HTMLInputElement) {\n element.checked = false;\n });\n }\n }\n \n \n backNavigation() {\n this.routes.navigate([\"partnerListing\"]);\n }\n\n onChange(event) {\n this.loader.show();\n var url = \"/uploadFile\";\n event.target.parentElement.childNodes[1].classList.remove('blue-back', 'circle')\n event.target.parentElement.childNodes[1].childNodes[0].classList.add('fullWidth');\n if (event.target.files.length != 0) {\n var file = event.target.files[0];\n const uploadData = new FormData();\n uploadData.append('file', file);\n const headers = new HttpHeaders({\n 'Accept': 'application/json',\n });\n //headers.append('Content-Type', 'multipart/form-data');\n\n // this.config.httpService(\"post\", url, uploadData).subscribe(\n // res => {\n // this.fileData = res;\n // this.fileName = this.fileData.fileDownloadUri;\n // event.target.parentElement.childNodes[0].style.display = 'none';\n // this.loader.hide();\n // },\n // err => {\n // console.log(err);\n // this.loader.hide();\n // event.target.parentElement.childNodes[1].classList.add('blue-back', 'circle')\n // event.target.parentElement.childNodes[1].childNodes[0].classList.remove('fullWidth')\n // Swal({\n // title: \"Something went wrong.\\nPlease try after some time.\",\n // type: 'warning',\n // showCancelButton: false,\n // confirmButtonColor: '#eb1826',\n // cancelButtonColor: '#F4F1F1',\n // confirmButtonText: 'OK'\n // }).then((result) => {\n // event.target.value = \"\"\n // })\n // }\n // )\n\n this.http.post(url, uploadData, { headers: headers }).subscribe(\n res => {\n this.fileData = res;\n this.fileName = this.fileData.fileDownloadUri;\n event.target.parentElement.childNodes[0].style.display = 'none';\n this.loader.hide();\n },\n err => {\n console.log(err);\n this.loader.hide();\n event.target.parentElement.childNodes[1].classList.add('blue-back', 'circle')\n event.target.parentElement.childNodes[1].childNodes[0].classList.remove('fullWidth')\n SwalLib({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\"\n })\n }\n )\n }\n\n console.log(file);\n }\n\n onClickOutside(event) {\n console.log(event);\n }\n keypressConfig(event) {\n var keycode = (event.keyCode ? event.keyCode : event.which);\n if (keycode == '13') {\n this.configNewPartner(event);\n }\n }\n configNewPartner(event) {\n console.log(event);\n let inputElements = document.getElementsByClassName('checkbox_patner_table') as any as HTMLInputElement[];\n var selectedFscIdList = Array.from(inputElements)\n .map(e => {\n if (e.checked) {\n return Number(e.getAttribute(\"id\"));\n }\n })\n .filter(Boolean);\n this.product_id;\n this.partner_id;\n var count = 0;\n \n var url = \"/service/fsc/mapFsc\";\n var data = {\n \"user_id\": selectedFscIdList,\n \"partner_id\": this.partner_id,\n \"product_id\": this.product_id\n };\n\n this.config.httpService(\"post\", url, data).subscribe(\n res => {\n var data;\n data = res;\n this.loader.hide();\n Swal({\n title: \"Fsc Assigned Successfully.\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.loader.hide();\n this.routes.navigate([\"partnerListing\"]);\n })\n },\n err => {\n console.log(err);\n }\n );\n\n let inputs = this.el.nativeElement.querySelectorAll(\"input:not(.notNecessary)\");\n inputs.forEach(function (item) {\n var text = \"fieldset\";\n if (item.value.trim() == \"\") {\n item.parentElement.firstElementChild.style.display = 'block';\n if (item.parentElement.nodeName == text.toUpperCase()) {\n item.closest(\"fieldset\").classList.add(\"error\");\n }\n\n }\n else {\n item.parentElement.firstElementChild.style.display = 'none';\n if (item.parentElement.nodeName == text.toUpperCase()) {\n item.closest(\"fieldset\").classList.remove(\"error\");\n }\n count = count + 1;\n\n }\n });\n var savedPartners;\n this.uniquePartner = true;\n var __self = this;\n savedPartners = this.config.getValues(environment.partnerListing, \"partner_name\");\n savedPartners.forEach(function (partner) {\n if (__self.partnerName.toLowerCase().trim() == partner.toLowerCase().trim() && __self.partnerName.toLowerCase().trim() != __self.currName.toLowerCase().trim()) {\n __self.uniquePartner = false;\n SwalLib({\n title: \"Partner name already exists. Try again using a different name.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.parentElement.childNodes[1].childNodes[6].childNodes[0].childNodes[5].value = \"\"\n });\n }\n })\n if (count == inputs.length && this.uniquePartner) {\n let el = event.target.parentElement.childNodes[1].childNodes[2];\n el.type = \"file\";\n this.b2cModal.open();\n }\n\n }\n\n toggleInput(event) {\n console.log(event.target);\n if (event.target.classList.contains('icon-eye')) {\n var sibling = event.target.previousElementSibling;\n if (sibling.type == \"text\") {\n sibling.type = \"password\";\n event.target.classList.remove(\"changeColor\");\n }\n\n else if (sibling.type == \"password\") {\n sibling.type = \"text\";\n event.target.classList.add(\"changeColor\");\n }\n }\n }\n\n keypreeLogin(event) {\n this.click = true\n this.loader.show();\n var keycode = (event.keyCode ? event.keyCode : event.which);\n if (keycode == '13') {\n this.validateLogin(event);\n }\n }\n\n validateLogin(event) {\n this.partnerLoginId = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[2].childNodes[0].childNodes[5].value;\n this.partnerLoginPwd = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[3].childNodes[0].childNodes[5].value;\n this.partnerLoginCPwd = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[4].childNodes[0].childNodes[5].value;\n console.log(event.target);\n let count = 0;\n let pass1 = this.partnerLoginPwd;\n let pass2 = this.partnerLoginCPwd;\n event.target.parentElement.parentElement.parentElement.querySelectorAll('input').forEach(function (item) {\n\n console.log(item.value);\n if (item.value.trim() == \"\") {\n item.parentElement.firstElementChild.style.display = 'block';\n item.closest(\"fieldset\").classList.add(\"error\");\n console.log(\"Blank\");\n }\n else {\n item.parentElement.firstElementChild.style.display = 'none';\n item.closest(\"fieldset\").classList.remove(\"error\");\n count = count + 1;\n\n }\n });\n if (pass1 != pass2) {\n this.click = false\n this.loader.hide();\n var el = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n this.errMsg = \"Passwords did not match, please try again\";\n el.classList.remove(\"hide\");\n var pwd1 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[3].childNodes[0].childNodes[5];\n var pwd2 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[4].childNodes[0].childNodes[5];\n pwd1.value = \"\";\n pwd2.value = \"\";\n pwd1.parentElement.firstElementChild.style.display = 'block';\n pwd2.parentElement.firstElementChild.style.display = 'block';\n pwd1.closest(\"fieldset\").classList.add(\"error\");\n pwd2.closest(\"fieldset\").classList.add(\"error\");\n }\n else if (this.partnerLoginId.length < 5) {\n this.click = false\n this.loader.hide();\n var el = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n this.errMsg = \"Please enter minimum 5 characters for Login ID\";\n el.classList.remove(\"hide\");\n var userId = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[2].childNodes[0].childNodes[5];\n userId.value = \"\";\n userId.parentElement.firstElementChild.style.display = 'block';\n userId.closest(\"fieldset\").classList.add(\"error\");\n }\n else if (pass1.length < 4 || pass1.length > 8) {\n this.click = false\n this.loader.hide();\n var el = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n this.errMsg = \"Please enter password between 4 to 8 characters\";\n el.classList.remove(\"hide\");\n var pwd1 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[3].childNodes[0].childNodes[5];\n var pwd2 = event.target.parentElement.parentElement.parentElement.childNodes[1].childNodes[4].childNodes[0].childNodes[5];\n pwd1.value = \"\";\n pwd2.value = \"\";\n pwd1.parentElement.firstElementChild.style.display = 'block';\n pwd2.parentElement.firstElementChild.style.display = 'block';\n pwd1.closest(\"fieldset\").classList.add(\"error\");\n pwd2.closest(\"fieldset\").classList.add(\"error\");\n }\n else if (count == 3) {\n this.click = true\n this.loader.show();\n var url = \"/service/admin/\" + environment.userid + \"/partners\"\n var data = {\n \"partner_id\": this.partnerId, \"partner_logo\": this.partnerLogo, \"partner_name\": this.partnerName,\n \"partner_address\": this.partnerAddress, \"status\": 1, \"b2cEmail\": this.partnerLoginId,\n \"b2cPassword\": this.partnerLoginPwd\n };\n console.log(\"3 data\");\n console.log(data);\n this.config.httpService('post', url, data).subscribe(\n res => {\n var details;\n details = res;\n environment.partnerDetails = [];\n environment.partnerDetails.push(details);\n this.b2cModal.close(event);\n if (environment.editDetails == true) {\n let url = \"/service/admin/\" + environment.userid + \"/lpartners/\" + this.partnerId;\n environment.currentPartnerDetails = [];\n\n environment.partnerDetails = [];\n\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n var data = res;\n environment.editDetails = true;\n environment.currentPartnerDetails.push(data);\n environment.partnerDetails.push(data);\n if (environment.editDetails == true) {\n this.loader.hide();\n SwalLib({\n title: \"Partner configuration updated successfully.\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.loader.hide();\n this.routes.navigate([\"partnerListing\"]);\n })\n\n }\n else {\n this.loader.hide();\n this.routes.navigate([\"product-mapping\"]);\n console.log(res);\n }\n },\n err => {\n this.loader.hide();\n SwalLib({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n // this.routes.navigate([\"login\"]);\n })\n }\n )\n }\n else {\n this.loader.hide();\n SwalLib({\n title: \"Partner configuration created successfully.\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.loader.hide();\n this.routes.navigate([\"product-mapping\"]);\n console.log(res);\n })\n }\n },\n err => {\n this.loader.hide();\n SwalLib({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.routes.navigate([\"partnerListing\"]);\n })\n }\n )\n }\n }\n\n closeModel(event) {\n // Swals({\n // title: \"Are you sure, all changes are discard\",\n // type: 'warning',\n // showCancelButton: true,\n // confirmButtonColor: '#eb1826',\n // cancelButtonColor: '#F4F1F1',\n // confirmButtonText: 'OK'\n // }).then((result) => {\n // if(result.value){\n // this.b2cModal.close(event);\n // }\n // else{\n\n // }\n // });\n this.b2cModal.close(event);\n\n }\n\n storeValue(event) {\n var savedb2cemail\n var __self = this;\n var userid = event.target.value;\n savedb2cemail = this.config.getValues(environment.partnerListing, \"b2cEmail\");\n savedb2cemail.forEach(function (email) {\n if (email.toLowerCase().trim() == userid.toLowerCase().trim() && email.toLowerCase().trim() != __self.currId.toLowerCase().trim()) {\n event.target.value = \"\";\n __self.errMsg = \"Login ID already exists. Try again using a different ID\";\n var ell = event.target.parentElement.parentElement.parentElement.parentElement.childNodes[1].childNodes[1];\n ell.classList.remove(\"hide\");\n }\n })\n }\n}\nfunction Swals(arg0: { title: string; type: string; showCancelButton: boolean; confirmButtonColor: string; cancelButtonColor: string; confirmButtonText: string; }) {\n throw new Error('Function not implemented.');\n}\n\n","module.exports = \"
\\n * required\\n {{legendText}}\\n \\n \\n \\n
\\n \\n \\n
{{placeholder}}
\\n
{{selected}}
\\n
\\n
\\n
\\n {{placeholder}}\\n
\\n
\\n {{item.item_name}}\\n
\\n
\\n
\\n
\\n
\\n
\\n * required\\n {{legendText}}\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n * required\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n * required\\n {{legendText}}\\n \\n \\n \\n
\\n\\n
\\n\\n {{column}}\\n \\n
\\n\\n 1\\\" (click)=\\\"deleteOne(i)\\\">\\n
\\n
\\n \\n

ADD MORE

\\n
\\n
\\n\\n\\n
\\n * required\\n {{legendText}}\\n \\n
\\n\\n \\n\\n\\n\\n
\\n\\n {{column}}\\n \\n
\\n\\n\\n\\n\\n\\n 1\\\" (click)=\\\"deleteOne_aci(i)\\\">\\n
\\n
\\n \\n

ADD MORE

\\n
\\n
\"","module.exports = \".custom-range.common-field-set {\\n margin: 0.5rem;\\n text-align: left;\\n width: 75%;\\n display: flex;\\n flex-direction: column; }\\n\\n.close {\\n position: relative;\\n margin: 0px;\\n border: 0px;\\n padding: 6px; }\\n\\nfieldset.custom-range .row div, fieldset.custom-range .row input {\\n padding: 10px; }\\n\\n.tab input {\\n width: -webkit-fill-available;\\n padding: 4px !important;\\n margin-left: 4px !important;\\n min-width: auto;\\n display: flex;\\n border-bottom: 1px solid black; }\\n\\n.row-format {\\n display: flex;\\n flex-direction: column;\\n align-items: center; }\\n\\n.tab {\\n margin: unset !important;\\n display: flex;\\n align-items: center;\\n text-align: unset !important;\\n border-right: unset !important;\\n /* width: 100%; */\\n padding: 4px 6px; }\\n\\n.tab input {\\n width: -webkit-fill-available;\\n padding: 4px !important;\\n margin-left: 4px !important;\\n min-width: auto;\\n display: flex; }\\n\\n.tab span {\\n color: black !important;\\n font-weight: 400;\\n min-width: 90px;\\n font-size: 14px; }\\n\\n.row-format {\\n display: flex;\\n flex-direction: column;\\n align-items: center; }\\n\\n.tab {\\n margin: unset !important;\\n display: flex;\\n align-items: center;\\n text-align: unset !important;\\n border-right: unset !important;\\n /* width: 100%; */\\n padding: 4px 6px; }\\n\\n.tab input {\\n width: -webkit-fill-available;\\n padding: 4px !important;\\n margin-left: 4px !important;\\n min-width: auto;\\n display: flex; }\\n\\n.tab span {\\n min-width: 90px; }\\n\\n.row {\\n min-width: inherit !important; }\\n\\n.row input {\\n padding: unset !important; }\\n\"","import { Component, EventEmitter, Output, OnInit, Input, ChangeDetectorRef, HostListener, ElementRef } from '@angular/core';\nimport { RouterModule, Router, ActivatedRoute } from '@angular/router';\nimport { AppComponent } from '../../app.component';\nimport { DataShareService } from '../../services/data-share.service';\nimport { environment } from '../../../environments/environment';\nimport swal from 'sweetalert2';\n\n@Component({\n selector: 'app-custom-group',\n templateUrl: './custom-group.component.html',\n styleUrls: ['./custom-group.component.scss']\n})\nexport class CustomGroupComponent implements OnInit {\n\n\n @Input() type: string;\n @Input() legendText: string;\n @Input() inputType: string; //number , text , product\n @Input() placeholder: string;\n @Input() icon: string;\n @Input() position: string;\n @Input() svg: string;\n @Input() items: any = {};\n @Input() max_limit: number = 0;\n @Input() columns: any = [];\n @Input() mappingId: string;\n @Input() selected: string;\n @Input() closeOnOutsideClick = true;\n\n dropDownEnable: boolean = false;\n //selected = '';\n selectedProduct = '';\n selectedLoan = '';\n selectedMortality = '';\n selectedValue = [];\n ss = [];\n custom_group_values: any = [];\n custom_group_values_aci: any = [];\n custom_single_object = {};\n selectedRadio: string;\n schemeProduct = [];\n selectedreductionSchedule = \"\";\n\n\n constructor(public app: AppComponent, public change: DataShareService, public routes: Router, public el: ElementRef) {\n this.selectedRadio = this.change.getSelectedCoverageOption();\n this.change.newselectedCoverageOptionSubject.subscribe((data) => {\n this.selectedRadio = data;\n var coverageOpt = document.querySelectorAll(\".radio #coverageRadio\");\n for (var i = 0; i < coverageOpt.length; i++) {\n if (coverageOpt[i].previousElementSibling.innerHTML == this.selectedRadio) {\n coverageOpt[i].parentElement.classList.add(\"checked\");\n }\n }\n\n });\n this.selectedRadio = this.change.getSelectedPaymentTerm();\n this.change.newselectedPaymentTermSubject.subscribe((data) => {\n this.selectedRadio = data;\n var paymetOpt = document.querySelectorAll(\".radio #coverageRadio\");\n for (var i = 0; i < paymetOpt.length; i++) {\n if (paymetOpt[i].previousElementSibling.innerHTML == this.selectedRadio) {\n paymetOpt[i].parentElement.classList.add(\"checked\");\n }\n }\n });\n this.selectedRadio = this.change.getSelectedFrequency();\n this.change.newselectedFrequencySubject.subscribe((data) => {\n this.selectedRadio = data;\n var frequecyOpt = document.querySelectorAll(\".radio #coverageRadio\");\n for (var i = 0; i < frequecyOpt.length; i++) {\n if (frequecyOpt[i].previousElementSibling.innerHTML == this.selectedRadio) {\n frequecyOpt[i].parentElement.classList.add(\"checked\");\n }\n }\n })\n\n // this.selected = this.change.getSelectedProduct();\n // this.change.newselectedProductSubject.subscribe((data) => {\n // this.selected = data;\n // })\n }\n ngOnInit() {\n console.log(this.items);\n switch (this.type) {\n case 'simple-dropdown':\n case 'plain-dropdown':\n case 'checked-dropdown':\n this.svg = \"assets/images/drop_down.svg\";\n this.position = \"right\";\n break;\n case 'radio-group':\n\n break;\n case 'radio-group2':\n\n break;\n case 'custom-range':\n\n break;\n }\n if (environment.savedProductScheme.length > 0 && this.routes.url == \"/product-scheme\") {\n if (environment.savedProductScheme[0].non_medical_limit_values.length > 0) {\n this.custom_group_values = this.change.getSelectedNonMedicalRate();\n this.change.newselectedNonMedicalRateSubject.subscribe((data) => {\n this.custom_group_values = data;\n })\n }\n // else {\n // var custom_single_object = this.custom_single_object;\n // Object.entries(this.columns).forEach(function ([key, value]) {\n // custom_single_object[value] = \" \"\n // });\n // console.log(custom_single_object);\n // console.log(this.custom_single_object);\n // this.custom_group_values.push(this.custom_single_object);\n // }\n if (environment.savedProductScheme[0].acici_non_medical_limit_values != undefined) {\n if (environment.savedProductScheme[0].acici_non_medical_limit_values.length > 0) {\n this.custom_group_values_aci = this.change.getSelectedNonMedicalRateCI();\n this.change.newselectedNonMedicalRateSubjectCI.subscribe((data) => {\n this.custom_group_values_aci = data;\n })\n }\n }\n // else {\n // var custom_single_object = this.custom_single_object;\n // Object.entries(this.columns).forEach(function ([key, value]) {\n // custom_single_object[value] = \" \"\n // });\n // console.log(custom_single_object);\n // console.log(this.custom_single_object);\n // this.custom_group_values.push(this.custom_single_object);\n // }\n if (this.custom_group_values.length == 0) {\n var custom_single_object = this.custom_single_object;\n Object.entries(this.columns).forEach(function ([key, value]) {\n custom_single_object[value] = \" \"\n });\n console.log(custom_single_object);\n console.log(this.custom_single_object);\n this.custom_group_values.push(this.custom_single_object);\n }\n if (this.custom_group_values_aci.length == 0) {\n var custom_single_object = this.custom_single_object;\n Object.entries(this.columns).forEach(function ([key, value]) {\n custom_single_object[value] = \" \"\n });\n console.log(custom_single_object);\n console.log(this.custom_single_object);\n this.custom_group_values_aci.push(this.custom_single_object);\n }\n }\n else {\n var custom_single_object = this.custom_single_object;\n Object.entries(this.columns).forEach(function ([key, value]) {\n custom_single_object[value] = \" \"\n });\n console.log(custom_single_object);\n console.log(this.custom_single_object);\n this.custom_group_values.push(this.custom_single_object);\n this.custom_group_values_aci.push(this.custom_single_object);\n }\n }\n @Output() valueChange = new EventEmitter();\n\n performSelection(event, item) {\n if (event.target.closest('fieldset').attributes.id.value == \"productMapping\") {\n if (item == 'none') {\n this.selected = \"\";\n environment.selectedProduct_Id = \"\";\n this.change.setSelectedProduct(this.selected);\n }\n else {\n this.selected = item.item_name;\n var previousProduct = this.change.getSelectedProduct()\n if (previousProduct != \"\" && previousProduct != this.selected) {\n environment.savedProductMapping = []\n environment.savedProductBenefit = []\n environment.savedProductOtherBenefit = []\n environment.savedTillProductBoundryCondition = []\n environment.savedProductBoundryCondition = {}\n environment.savedProductScheme = []\n }\n environment.selectedProduct_Id = item.item_id;\n this.change.setSelectedProduct(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"loanMapping\") {\n if (item == 'none') {\n this.selected = \"\";\n environment.selectedLoan_Id = \"\";\n this.change.setSelectedLoan(this.selected);\n }\n else {\n this.selected = item.item_name;\n environment.selectedLoan_Id = item.item_id;\n this.change.setSelectedLoan(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"mortalityMapping\") {\n if (item == 'none') {\n this.change.setSelectedMortalityRate(\"\");\n this.selected = \"\";\n environment.selectedMortality_Id = \"\";\n this.change.setSelectedMortality(this.selected);\n }\n else {\n this.change.setSelectedMortalityRate(\"\");\n this.selected = item.item_name;\n environment.selectedMortality_Id = item.item_id;\n this.change.setSelectedMortality(this.selected);\n }\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"criticalIllnessMapping\") {\n if (item == 'none') {\n this.selected = \"\";\n environment.selectedCriticalIllness_Id = \"\";\n this.change.setSelectedCriticalIllness(this.selected);\n } else {\n this.selected = item.item_name;\n environment.selectedCriticalIllness_Id = item.item_id;\n this.change.setSelectedCriticalIllness(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"nonMedicalLimits\") {\n if (item == 'none') {\n this.selected = \"\";\n environment.selectedNonMedicalLimits_Id = \"\";\n this.change.setSelectedNonMedical(this.selected);\n }\n else {\n this.selected = item.item_name;\n environment.selectedNonMedicalLimits_Id = item.item_id;\n this.change.setSelectedNonMedical(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"reductionScheduleMapping\") {\n if (item == 'none') {\n this.selected = \"\";\n environment.selectedReductionSchedule_Id = \"\";\n this.change.setReductionSchedule(this.selected);\n } else {\n this.selected = item.item_name;\n environment.selectedReductionSchedule_Id = item.item_name;\n environment.selectedReductionScheduleCode = item.item_code;\n // environment.selectedReductionSchedule_Id = item.item_id;\n this.change.setReductionSchedule(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"entityTypeMapping\") {\n if (item == 'none') {\n this.selected = \"\";\n environment.selectedEntityId = \"\";\n this.change.setEntityType(this.selected);\n } else {\n this.selected = item.item_name;\n environment.selectedEntityId = item.item_name;\n environment.selectedEntityName = item.item_id;\n // environment.selectedReductionSchedule_Id = item.item_id;\n this.change.setEntityType(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"asseleratedCIBenefit\") {\n if (item == 'none') {\n this.selected = \"\";\n // environment.selectedProduct_Id = \"\";\n this.change.setAsseleratedCI(this.selected);\n }\n else {\n this.selected = item.item_name;\n this.change.setAsseleratedCI(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"additionalCIBenefit\") {\n if (item == 'none') {\n this.selected = \"\";\n //environment.selectedProduct_Id = \"\";\n this.change.setAdditionalCI(this.selected);\n }\n else {\n this.selected = item.item_name;\n this.change.setAdditionalCI(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"interestRates\") {\n if (item == 'none') {\n this.selected = \"\";\n //environment.selectedProduct_Id = \"\";\n this.change.setInterestRate(this.selected);\n }\n else {\n this.selected = item.item_name;\n this.change.setInterestRate(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"hospitalWaiverBenefit\") {\n if (item == 'none') {\n this.selected = \"\";\n //environment.selectedProduct_Id = \"\";\n this.change.setWaiverHospital(this.selected);\n }\n else {\n this.selected = item.item_name;\n this.change.setWaiverHospital(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"emiWaiver7\") {\n if (item == 'none') {\n this.selected = \"\";\n //environment.selectedProduct_Id = \"\";\n this.change.setemi7(this.selected);\n }\n else {\n this.selected = item.item_name;\n this.change.setemi7(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"emiWaiver15\") {\n if (item == 'none') {\n this.selected = \"\";\n //environment.selectedProduct_Id = \"\";\n this.change.setemi15(this.selected);\n }\n else {\n this.selected = item.item_name;\n this.change.setemi15(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"singleJointLife\") {\n if (item == 'none') {\n this.selected = \"\";\n // environment.selectedProduct_Id = \"\";\n this.change.setsingleJointLife(this.selected);\n }\n else {\n this.selected = item.item_name;\n this.change.setsingleJointLife(this.selected);\n }\n\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"coverageOptionBenefit\") {\n if (item == 'none') {\n this.selected = \"\";\n // environment.selectedProduct_Id = \"\";\n this.change.setcoverageOptions(this.selected);\n }\n else {\n this.selected = item.item_name;\n this.change.setcoverageOptions(this.selected);\n }\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"moratoriumPeriod\") {\n if (item == 'none') {\n this.selected = \"\";\n // environment.selectedProduct_Id = \"\";\n this.change.setmoratoriumPeriod(this.selected);\n }\n else {\n this.selected = item.item_name;\n this.change.setmoratoriumPeriod(this.selected);\n }\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"moratoriumTerm\") {\n if (item == 'none') {\n this.selected = \"\";\n // environment.selectedProduct_Id = \"\";\n this.change.setmoratoriumTerm(this.selected);\n } else {\n this.selected = item.item_name;\n this.change.setmoratoriumTerm(this.selected);\n }\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"flexible\") {\n if (item == 'none') {\n this.selected = \"\";\n // environment.selectedProduct_Id = \"\";\n this.change.setSelectedFlexibility(this.selected);\n } else {\n this.selected = item.item_name;\n this.change.setSelectedFlexibility(this.selected);\n }\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"channel\") {\n if (item == 'none') {\n this.selected = \"\";\n // environment.selectedProduct_Id = \"\";\n this.change.setSelectedChannel(this.selected);\n } else {\n this.selected = item.item_name;\n this.change.setSelectedChannel(this.selected);\n }\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"aci_ci\") {\n if (item == 'none') {\n this.selected = \"\";\n // environment.selectedProduct_Id = \"\";\n this.change.setSelectedAcici(this.selected);\n } else {\n this.selected = item.item_name;\n this.change.setSelectedAcici(this.selected);\n }\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"tableRefMapping\") {\n environment.selectedTableReference = \"\"\n if (item == 'none') {\n this.selected = \"\";\n this.valueChange.emit(this.selected)\n } else {\n this.selected = item.item_name;\n this.valueChange.emit(this.selected)\n }\n }\n //else if(event.target.closest('fieldset').attriutes.id.value == \"\")\n\n\n // console.log(item);\n // this.selected = item.title;\n // this.change.setData(this.selected);\n // console.log(this.selected);\n }\n\n getSiblings(el) {\n //Returns all siblings of current element\n var siblings = [];\n el = el.parentNode.firstElementChild;\n do {\n siblings.push(el);\n } while (el = el.nextElementSibling);\n return siblings;\n }\n\n checkedDropDown(event) {\n var target;\n target = event.target.classList.contains('checkboxLegend') ? event.target : event.target.parentElement;\n console.log(target.nextElementSibling);\n if (target.classList.contains('checked')) {\n target.classList.remove('checked');\n target.nextElementSibling.classList.add('disabled');\n }\n else {\n target.classList.add('checked');\n target.nextElementSibling.classList.remove('disabled');\n }\n }\n\n toggleDropDown(event) {\n var target;\n target = event.target.classList.contains('dropdown') ? event.target : this.app.getAncestorByClassName(event.target, 'dropdown');\n if (this.dropDownEnable)\n target.querySelector('img').classList.remove('flip-horizontal');\n\n else\n target.querySelector('img').classList.add('flip-horizontal');\n this.dropDownEnable = !this.dropDownEnable;\n }\n\n @Output() valueSelected = new EventEmitter();\n\n toggleRadio(event, item, code) {\n var target;\n var data = [];\n target = event.target.classList.contains('radio') ? event.target : this.app.getAncestorByClassName(event.target, 'radio');\n var siblingsList = this.getSiblings(target);\n siblingsList.forEach(function (sibling) {\n if (sibling.classList.contains('checked'))\n sibling.classList.remove('checked');\n });\n\n if (target.classList.contains('checked')) {\n if (event.target.closest('fieldset').attributes.id.value == \"paymentTermRadio\") {\n target.classList.remove('checked');\n this.selectedRadio = \"\";\n data.push({ \"name\": this.selectedRadio, \"code\": \"\" });\n this.change.setSelectedPaymentTerm(data);\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"frequency-radio\") {\n target.classList.remove('checked');\n this.selectedRadio = \"\";\n data.push({ \"name\": this.selectedRadio, \"code\": \"\" });\n this.change.setSelectedFrequency(data);\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"coverageRadio\") {\n target.classList.remove('checked');\n this.selectedRadio = \"\";\n data.push({ \"name\": this.selectedRadio, \"code\": \"\" });\n this.change.setSelectedCoverageOption(data);\n } else if (event.target.closest('fieldset').attributes.id.value == \"benefitRadio\") {\n target.classList.remove('checked');\n this.valueSelected.emit(item.item_name)\n }\n }\n\n else {\n if (event.target.closest('fieldset').attributes.id.value == \"paymentTermRadio\") {\n target.classList.add('checked');\n this.selectedRadio = item.item_name;\n data.push({ \"name\": item.item_name, \"code\": code });\n this.change.setSelectedPaymentTerm(data);\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"frequency-radio\") {\n target.classList.add('checked');\n this.selectedRadio = item.item_name;\n data.push({ \"name\": item.item_name, \"code\": code });\n this.change.setSelectedFrequency(data);\n }\n else if (event.target.closest('fieldset').attributes.id.value == \"coverageRadio\") {\n target.classList.add('checked');\n this.selectedRadio = item.item_name;\n data.push({ \"name\": item.item_name, \"code\": code });\n this.change.setSelectedCoverageOption(data);\n } else if (event.target.closest('fieldset').attributes.id.value == \"benefitRadio\") {\n target.classList.add('checked');\n this.valueSelected.emit(item.item_name)\n }\n }\n\n }\n\n addMore(event) {\n var dataCheck = this.custom_group_values.length;\n //var dd = this.custom_group_values[0]\n var count = 0;\n for (var i = 0; i < dataCheck; i++) {\n if (this.custom_group_values[i][\"Age Band\"] == \" \" || this.custom_group_values[i][\"Age Band\"] == undefined || this.custom_group_values[i][\"Amount\"] == \" \") {\n event.target.parentElement.parentElement.classList.add(\"error\");\n swal({\n title: \"Please fill the above fields before adding more\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n // this.routes.navigate([\"login\"]);\n })\n }\n else {\n count++;\n }\n }\n if (count == dataCheck) {\n event.target.parentElement.parentElement.classList.remove(\"error\");\n if (this.custom_group_values.length < this.max_limit) this.custom_group_values.push(this.custom_single_object);\n }\n //if (this.custom_group_values.length < this.max_limit) this.custom_group_values.push(this.custom_single_object);\n }\n\n addMoreCI(event) {\n var dataCheck = this.custom_group_values_aci.length;\n var count = 0;\n for (var i = 0; i < dataCheck; i++) {\n if (this.custom_group_values_aci[i][\"ACI/CI Age Band\"] == \" \" || this.custom_group_values_aci[i][\"ACI/CI Age Band\"] == undefined || this.custom_group_values_aci[i][\"ACI/CI Amount\"] == \" \") {\n event.target.parentElement.parentElement.classList.add(\"error\");\n swal({\n title: \"Please fill the above fields before adding more\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n })\n }\n else {\n count++;\n }\n }\n if (count == dataCheck) {\n event.target.parentElement.parentElement.classList.remove(\"error\");\n if (this.custom_group_values_aci.length < this.max_limit) this.custom_group_values_aci.push(this.custom_single_object);\n }\n //if (this.custom_group_values.length < this.max_limit) this.custom_group_values.push(this.custom_single_object);\n }\n addValue(index, value1, value2) {\n\n }\n\n deleteOne(index) {\n console.log(index);\n this.custom_group_values.splice(index, 1);\n }\n\n deleteOne_aci(index) {\n console.log(index);\n this.custom_group_values_aci.splice(index, 1);\n }\n\n focus(event) {\n event.target.focus();\n }\n\n checkAgeBand(event) {\n if (event.target.id.includes(\"Age Band\")) {\n var value = event.target.value;\n var splitdata = value.split(\"-\");\n if (splitdata[0] != \" \") {\n if (splitdata.length == 1) {\n if (splitdata[0] < environment.fixedData[0].min_age_at_entry || splitdata[0] > environment.fixedData[0].max_age_at_entry) {\n // this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + environment.fixedData[0].min_age_at_entry + \" \" + 'and' + \" \" + 'max age' + \" \" + environment.fixedData[0].max_age_at_entry + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n else {\n }\n }\n else if (splitdata.length > 1) {\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n // this.correctVal = false\n event.target.value = \"\";\n swal({\n title: \"Value is incorrect.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n else {\n }\n if ((splitdata[0] < environment.fixedData[0].min_age_at_entry || splitdata[0] > environment.fixedData[0].max_age_at_entry ||\n splitdata[1] < environment.fixedData[0].min_age_at_entry || splitdata[1] > environment.fixedData[0].max_age_at_entry)) {\n // this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + environment.fixedData[0].min_age_at_entry + \" \" + 'and' + \" \" + 'max age' + \" \" + environment.fixedData[0].max_age_at_entry + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n } else {\n }\n }\n }\n }\n }\n\n storeValue(event, i, column) {\n this.checkAgeBand(event);\n if (event.target.value != \"\") {\n var name = event.target.parentElement.parentElement.querySelector('#Age\\\\ Band').id\n var legend = event.target.parentElement.parentElement.parentElement.querySelector('legend').innerText\n if (name == \"Age Band\" && legend == \"AGE WISE\") {\n this.ss[i] = ({ \"Age Band\": event.target.parentElement.parentElement.childNodes[1].querySelector(\"input\").value.trim(), 'Amount': event.target.parentElement.parentElement.childNodes[2].querySelector(\"input\").value.trim() });\n this.custom_group_values[i] = this.ss[i];\n this.change.setSelectedNonMedicalRate(this.custom_group_values);\n }\n }\n else\n console.log(event.target.id);\n }\n\n storeValueCI(event, i, column) {\n this.checkAgeBand(event);\n if (event.target.value != \"\") {\n var name = event.target.parentElement.parentElement.querySelector('#ACI\\\\/CI\\\\ Age\\\\ Band').id\n var legend = event.target.parentElement.parentElement.parentElement.querySelector('legend').innerText\n if (name == \"ACI/CI Age Band\" && legend == \"ACI/CI AGE WISE\") {\n this.ss[i] = ({ \"ACI/CI Age Band\": event.target.parentElement.parentElement.childNodes[1].querySelector(\"input\").value.trim(), 'ACI/CI Amount':event.target.parentElement.parentElement.childNodes[2].querySelector(\"input\").value.trim() });\n this.custom_group_values_aci[i] = this.ss[i];\n this.change.setSelectedNonMedicalRateCI(this.custom_group_values_aci);\n }\n }\n else\n console.log(event.target.id);\n }\n\n @HostListener('document:click', ['$event'])\n @HostListener('document:touchstart', ['$event'])\n handleOutsideClick(event) {\n // Some kind of logic to exclude clicks in Component.\n // This example is borrowed Kamil's answer\n if (!this.el.nativeElement.contains(event.target)) {\n var target = this.el.nativeElement.querySelectorAll('.dropdown');\n for (var i = 0; i < target.length; i++) {\n if (this.dropDownEnable) {\n target[i].querySelector('img').classList.remove('flip-horizontal');\n this.dropDownEnable = !this.dropDownEnable;\n }\n\n }\n }\n }\n}\n","module.exports = \"
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\"","module.exports = \".modal {\\n display: flex;\\n flex: 1;\\n align-items: center;\\n justify-content: center;\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n min-height: 100%;\\n z-index: 9999;\\n opacity: 0;\\n background-color: black;\\n background-color: rgba(0, 0, 0, 0.4);\\n transition: all 0.3s linear;\\n height: 100%; }\\n\\n.modal.in {\\n opacity: 1; }\\n\\n.modal-dialog {\\n max-width: 640px;\\n width: 100%;\\n padding: 5rem; }\\n\\n.modal-content {\\n color: #333;\\n background-color: #fff;\\n padding: 3rem 2rem 4rem;\\n width: 100%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n background-color: #fefefe;\\n border-radius: 0.5rem;\\n margin: auto;\\n max-height: 14rem;\\n position: relative; }\\n\\n.modal-footer {\\n position: absolute;\\n bottom: -1.5rem;\\n text-align: center; }\\n\\n.modal-body {\\n min-width: 60%;\\n text-align: center;\\n width: 100%; }\\n\"","import { Component, OnInit, OnDestroy, ContentChild, TemplateRef, Input, ElementRef, ChangeDetectorRef, HostListener } from '@angular/core';\n\n@Component({\n selector: 'app-custom-modal',\n templateUrl: './custom-modal.component.html',\n styleUrls: ['./custom-modal.component.scss']\n})\nexport class CustomModalComponent implements OnDestroy {\n\n @ContentChild('modalHeader') header: TemplateRef;\n @ContentChild('modalBody') body: TemplateRef;\n @ContentChild('modalFooter') footer: TemplateRef;\n @Input() closeOnOutsideClick = false;\n\n visible = false;\n visibleAnimate = false;\n\n constructor(\n private elementRef: ElementRef,\n private changeDetectorRef: ChangeDetectorRef\n ) { }\n\n ngOnDestroy() {\n // Prevent modal from not executing its closing actions if the user navigated away (for example,\n // through a link).\n this.close(\"\");\n }\n\n open(): void {\n document.body.classList.add('modal-open');\n document.getElementsByClassName('parentDiv')[0].classList.add('blur');\n\n this.visible = true;\n setTimeout(() => {\n this.visibleAnimate = true;\n });\n }\n\n close(event): void {\n console.log(event.target);\n // // if(event.target.innerHTML.trim() == \"DONE\" && (location.pathname == \"\" || location.pathname == \"add-partner\"))\n // if (event.target == undefined) {\n // document.body.classList.remove('modal-open');\n // document.getElementsByClassName('parentDiv')[0].classList.remove('blur');\n // this.visibleAnimate = false;\n // setTimeout(() => {\n // this.visible = false;\n // this.changeDetectorRef.markForCheck();\n // }, 200);\n // }\n // else {\n document.body.classList.remove('modal-open');\n if (event.target)\n document.getElementsByClassName('parentDiv')[0].classList.remove('blur');\n\n this.visibleAnimate = false;\n setTimeout(() => {\n this.visible = false;\n this.changeDetectorRef.markForCheck();\n }, 200);\n\n\n }\n\n onClickOutside(event) {\n console.log(event);\n }\n\n @HostListener('click', ['$event'])\n onContainerClicked(event: MouseEvent): void {\n var keycode = event.which;\n if ((event.target).classList.contains('modal') && this.isTopMost() && this.closeOnOutsideClick ) {\n this.close(\"\");\n document.getElementsByClassName('parentDiv')[0].classList.remove('blur');\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n onKeyDownHandler(event: KeyboardEvent) {\n // If ESC key and TOP MOST modal, close it.\n if (event.key === 'Escape' && this.isTopMost()) {\n this.close(\"\");\n\n }\n }\n\n /**\n * Returns true if this modal is the top most modal.\n */\n isTopMost(): boolean {\n return !this.elementRef.nativeElement.querySelector(':scope modal > .modal');\n }\n}\n","module.exports = \"
\\n
\\n
\\n \\n Back\\n
\\n
\\n \\n {{products[0]?.userName }}\\n
\\n
\\n\\n
\\n \\n\\n \\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n \\n

FSC Partner Details

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

Partner Name

\\n
{{ products[0]?.userName }}
\\n
\\n
\\n

Partner's Email

\\n
{{ products[0]?.userEmail }}
\\n
\\n
\\n

Partner Address

\\n
{{ products[0]?.userAddress }}
\\n
\\n
\\n \\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n

FSC Details

\\n
\\n
\\n
\\n
\\n Policy Name\\n
\\n
\\n Partner Name\\n
\\n
\\n Partner Address\\n
\\n \\n
\\n
\\n
\\n {{products.masterPolicyName}}\\n
\\n
\\n {{products.partnerName}}\\n
\\n
\\n {{products.partnerAddress}}\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n \\n
\\n\\n
\\n\\n\\n \\n

Deactivate Product\\n

\\n
\\n \\n
\\n Are you sure you want to deactivate\\n
{{productMappingDetails.policy_name}} ?\\n
\\n
\\n \\n
\\n
Cancel
\\n
Yes
\\n
\\n
\\n
\\n\\n \\n

Activate Product\\n

\\n
\\n \\n
\\n Are you sure you want to activate\\n
{{productMappingDetails.policy_name}} ?\\n
\\n
\\n \\n
\\n
Cancel
\\n
Yes
\\n
\\n
\\n
\\n\\n\\n\"","module.exports = \".page-container {\\n padding: 0px;\\n padding: 0rem 1rem !important;\\n justify-content: start; }\\n .page-container .partnerDetails-header {\\n width: 100%;\\n height: 50px;\\n margin: 0px; }\\n .page-container .partnerDetails-header .back-button {\\n float: left;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%);\\n position: relative;\\n cursor: pointer;\\n margin: 0px; }\\n .page-container .partnerDetails-header .back-button img {\\n width: 1rem; }\\n .page-container .partnerDetails-header .back-button span {\\n margin-left: 10px;\\n font-size: 18px;\\n font-weight: bold;\\n color: #201c1c; }\\n .page-container .partnerDetails-header .partner-name {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin: 0px; }\\n .page-container .partnerDetails-header .partner-name img {\\n width: 3rem;\\n height: 3rem;\\n border-radius: 100%; }\\n .page-container .partnerDetails-header .partner-name span {\\n font-size: 20px;\\n text-transform: uppercase;\\n font-weight: 600;\\n margin-left: 10px;\\n color: #000000; }\\n .page-container .partnerDetails-page {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: calc(100% - 85px);\\n border-radius: 0.5rem;\\n padding: 10px;\\n margin-bottom: 0px;\\n padding-bottom: 0px;\\n margin-top: 1rem; }\\n .page-container .partnerDetails-page .product-menu {\\n width: 90%;\\n margin: 0 auto;\\n text-align: center; }\\n .page-container .partnerDetails-page .product-menu ::-webkit-scrollbar {\\n display: none !important; }\\n .page-container .partnerDetails-page .product-menu .drag-scroll-content {\\n justify-content: center !important; }\\n .page-container .partnerDetails-page .product-menu .menuTabItem {\\n margin: 0 5px;\\n display: flex;\\n font-size: 20px;\\n transition: border-bottom 0.2s linear;\\n -webkit-transition: border-bottom 0.2s linear;\\n cursor: pointer;\\n text-transform: capitalize;\\n /* border-right: 1px solid; */\\n margin-right: 5px;\\n padding-right: 15px;\\n justify-content: center;\\n align-items: center;\\n /* padding-bottom: 10px; */\\n color: #5d5757;\\n font-weight: 600; }\\n .page-container .partnerDetails-page .product-menu .activeTab {\\n border-bottom: 3px solid #e57518;\\n padding-bottom: 0.6rem; }\\n .page-container .partnerDetails-page .product-categories {\\n overflow-y: scroll;\\n height: calc(100% - 60px); }\\n .page-container .partnerDetails-page .product-categories .setButton {\\n float: right;\\n margin-right: 0.5rem; }\\n .page-container .partnerDetails-page .product-categories .setButton .button {\\n padding: 0.5rem 2rem;\\n margin-right: 1rem;\\n border: 1px solid;\\n font-weight: 600;\\n font-size: 12px !important; }\\n .page-container .partnerDetails-page .product-categories .partner {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n border-bottom: 1px solid #b3bbbc3b;\\n padding-bottom: 10px; }\\n .page-container .partnerDetails-page .product-categories .partner:last-child {\\n border-bottom: 0px; }\\n .page-container .partnerDetails-page .product-categories .partner .header {\\n padding: 5px;\\n display: flex;\\n justify-content: center;\\n margin: 0px; }\\n .page-container .partnerDetails-page .product-categories .partner .header div {\\n width: 45px;\\n height: 45px;\\n border-radius: 50%;\\n border: 1px solid #004681;\\n margin-right: 10px;\\n background: #004681;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .page-container .partnerDetails-page .product-categories .partner .header div img {\\n width: 20px; }\\n .page-container .partnerDetails-page .product-categories .partner .header span {\\n font-size: 17px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName {\\n width: 100%;\\n display: flex; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerLogo {\\n width: 10%; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerLogo img {\\n width: 5rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails {\\n width: 90%;\\n margin: 0px;\\n margin-left: 15px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails h1 {\\n font-size: 18px;\\n text-transform: uppercase;\\n margin-bottom: 0px;\\n font-weight: 600;\\n color: #000000;\\n margin-top: 1.8rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails {\\n width: 100%;\\n margin: 0px;\\n margin-top: 0.2rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body {\\n text-align: center;\\n height: calc(100% - 136px);\\n overflow-y: auto;\\n margin-top: 1rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row {\\n display: flex;\\n justify-content: space-evenly;\\n align-items: center;\\n margin: 0 auto;\\n border: 1px solid #d8d5d5;\\n border-bottom: none;\\n font-size: 12px !important;\\n font-weight: 600 !important; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row:last-child {\\n border-bottom: 1px solid #d8d5d5; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column {\\n width: 50%;\\n padding: 10px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n height: 40px;\\n margin: 0px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column:not(:last-child) {\\n border-right: 1px solid #d8d5d5; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column:not(:first-child) {\\n max-width: 8vw; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column:first-child {\\n justify-content: left;\\n text-align: left;\\n padding-left: 25px;\\n min-width: 150px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column input {\\n padding-bottom: 0px;\\n font-size: 14px;\\n text-align: center;\\n margin-left: 0px !important;\\n min-width: 1em;\\n width: 100%; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details {\\n width: 30%;\\n margin: 0px;\\n float: left;\\n margin-right: 10px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details.benefits {\\n border: 1px solid #d8d5d5;\\n width: auto;\\n text-align: center;\\n padding: 10px;\\n border-radius: 15px;\\n margin-top: 10px;\\n margin-right: 20px;\\n height: auto; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details.benefits h6 {\\n margin-top: 0px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details .showRow {\\n display: flex; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details h3 {\\n margin-bottom: 0px;\\n font-size: 15px;\\n font-weight: 600;\\n color: #b2aaaa;\\n text-transform: capitalize; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details h6 {\\n margin: 10px 0px 0px 0px;\\n font-size: 15px;\\n color: #000000;\\n font-weight: 600;\\n text-transform: none; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details .key {\\n margin-bottom: 0px;\\n font-size: 15px;\\n font-weight: 600;\\n color: #8f8383;\\n text-transform: capitalize;\\n margin-left: 0.3rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details .value {\\n margin: 10px 0px 0px 0px;\\n font-size: 15px;\\n color: #133451;\\n font-weight: 600;\\n text-transform: capitalize; }\\n .page-container .no-list {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: 100%;\\n border-radius: 0.5rem;\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n justify-content: center;\\n margin-top: 1rem; }\\n .page-container .no-list img {\\n width: 6rem;\\n margin: 0 auto; }\\n .page-container .no-list h5 {\\n color: #4d4f58;\\n font-size: 1.3rem;\\n font-weight: 100;\\n line-height: 1.7;\\n letter-spacing: 1px; }\\n .page-container .no-list .button {\\n padding: 1rem 2rem; }\\n .page-container .no-list .button img {\\n width: 0.9rem;\\n margin-right: 0.2rem; }\\n .modalBody {\\n margin: 3rem 0rem;\\n font-size: 20px;\\n font-weight: 400;\\n font-weight: 600;\\n font-size: 20px !important; }\\n .modal-dialog {\\n width: 90% !important; }\\n h2.center {\\n font-size: 26px !important;\\n font-weight: 600 !important; }\\n .modalFooter {\\n display: flex !important;\\n bottom: -1.5rem; }\\n .modalFooter .button {\\n font-size: 20px;\\n font-weight: 600;\\n padding: 1rem 1rem;\\n width: 10rem;\\n margin-left: 1rem; }\\n .modalFooter .cancelbtn {\\n color: #e57518;\\n border: 1.5px solid #e57518;\\n background: #fff; }\\n\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { DragScrollComponent } from 'ngx-drag-scroll';\nimport { RouterModule, Router, ActivatedRoute } from '@angular/router';\nimport { environment } from \"../../../environments/environment\";\nimport { ConfigService } from \"../../services/config.service\";\nimport { DataShareService } from \"../../services/data-share.service\";\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport Swal from 'sweetalert2';\nimport { toInteger } from '@ng-bootstrap/ng-bootstrap/util/util';\nimport * as jsPdf from 'jspdf';\nimport { HttpHeaders } from '@angular/common/http';\n\nimport html2canvas from 'html2canvas';\n\nimport * as XLSX from 'xlsx';\n\n\nb2cModal1: ElementRef;\nb2cModal2: ElementRef;\n\n@Component({\n selector: 'app-fsc-details',\n templateUrl: './fsc-details.component.html',\n styleUrls: ['./fsc-details.component.scss']\n})\nexport class FscDetailsComponent implements OnInit {\n\n @ViewChild('nav', { read: DragScrollComponent }) ds: DragScrollComponent;\n @ViewChild('downloadSoftCopy') pdfcontent : ElementRef;\n\n @ViewChild('TABLE') TABLE: ElementRef;\n\n //object keys\n objectEntries = Object.entries;\n b2cModal1;\n b2cModal2;\n sub;\n partner_id;\n partner_name;\n partner_logo;\n policyList;\n showPolicy = false;\n masterPolicy: any;\n renderHtml = false;\n policyId;\n policyDetails;\n policyHeader: any = [];\n policy: any = [];\n productMappingDetails: any = [];\n productBenifitsDetails: any = [];\n productBoundryConditionsDetails: any = [];\n productSchemeDetails: any = [];\n child: any;\n productName: any = [];\n name: any;\n benefitData: any;\n benefitDataFlat: any;\n benefitDataAge: any;\n benefitDataTerm: any;\n showData: any;\n status: any;\n schemesection;\n groupLoanSecure;\n superProductCredit;\n additionalCIopt;\n acceleratedCIopt;\n coverageTerm: any = [];\n coverageOption: any = [];\n selectedLife: any = [];\n moratoriumTerm: any = [];\n moratoriumPeriod: any = [];\n interestRate: any = [];\n indexCovTerm;\n id: any = []; \n indexMorTerm;\n benefits: any = [];\n selectedBenefit = \"\";\n products = \"\";\n @ViewChild(\"b2cModal1\") set content(content: ElementRef) {\n this.b2cModal1 = content;\n }\n @ViewChild(\"b2cModal2\") set contents(contents: ElementRef) {\n this.b2cModal2 = contents;\n }\n // productData = this.data;\n constructor(public routes: Router, public route: ActivatedRoute, public config: ConfigService,\n public change: DataShareService, public loader: Ng4LoadingSpinnerService) {\n // console.log(this.data);\n this.policyHeader.push({ \"header_name\": \"Product Mapping\", \"header_logo\": \"assets/images/product_mapping.svg\" },\n { \"header_name\": \"Benefits\", \"header_logo\": \"assets/images/Benefits.svg\" },\n { \"header_name\": \"Boundry Condition\", \"header_logo\": \"assets/images/boundary_condition.svg\" },\n { \"header_name\": \"Schema Section\", \"header_logo\": \"assets/images/scheme_section.svg\" });\n this.change.setPartnerConfig(false);\n \n }\n ngOnChanges() {\n console.log(\"working now\");\n }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => {\n this.id = JSON.parse(params['fsc']);\n \n });\n var url = \"/service/fsc/GetDetails/\" + this.id;\n this.config.httpService(\"post\", url, \"\").subscribe(\n (res: any) => {\n console.log('API Response:', res); // Log entire response for debugging\n \n this.partner_logo = res.partner_logo;\n this.partner_name = res.partner_name;\n this.products = res; // Ensure 'products' is correctly assigned\n \n console.log('Fetched Products:', this.products);\n },\n (err: any) => {\n console.error(err);\n }\n );\n }\n\n\n//CREATING EXCEL\n downloadPdf() {\n \n this.loader.show();\n\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n wb.Props = {\n Title: \"Policy Premium\",\n Subject: \"Policy\",\n Author: \"Himanshu Singh\",\n //CreatedDate: new Date(2017,12,19)\n };\n \n\n var productMap=this.productMappingDetails;\n\n var productInfo=[ ['PRODUCT DETAILS'],\n ['Policy name', productMap[\"policy_name\"]], ['Loan Type', productMap[\"loan_type\"] ] ,[ 'Reduction Schedule', productMap[\"reduction_schedule\"] ] , ['Channel',productMap[\"channel\"]],\n ['Selected Life', productMap[\"selected_life\"][0][\"name\"] ], [ 'Interest Rate' , productMap[\"interest_rate\"][0][\"name\"] ] ,['Coverage Option', productMap[\"coverage_option\"][0][\"name\"] ],\n ['Coverage Term', productMap[\"coverage_term\"][0][\"name\"]],\n [' '],\n [' '],\n ['BOUNDARY CONDITIONS']\n ];\n\n\n\n var boundaryJson=this.productBoundryConditionsDetails;\n var flatBound=boundaryJson[\"FlatWise\"];\n var ageBound=boundaryJson[\"AgeBandWise\"];\n var termBound=boundaryJson[\"TermWise\"];\n var flatkey=Object.keys(flatBound);\n var agekey=Object.keys(ageBound);\n var termkey=Object.keys(termBound);\n\n var boundContainer=[];\n var boundaryHeader=[\"Benefit Name\",\"Minimum age\", \"Maximum age\", \"Minimum cover ceasing age\", \"Maximum cover ceasing age\", \"Minimum sum assured\", \"Maximum sum assured\", \"Minimum policy term\", \"Maximum policy term\"];\n boundContainer.push(boundaryHeader);\n\n flatkey.forEach(e=>{\n var arr=Object.values(flatBound[e][\"flat\"]);\n arr.unshift(e);\n boundContainer.push(arr);\n\n });\n\n agekey.forEach(e=>{\n\n var ageband=Object.keys(ageBound[e]);\n ageband.forEach(item=>{\n var arr=Object.values(ageBound[e][item]);\n arr.unshift(e+\" (\"+item+\")\");\n console.log(arr);\n boundContainer.push(arr);\n });\n });\n\n termkey.forEach(e=>{\n var termband=Object.keys(termBound[e]);\n termband.forEach(item=>{\n var arr=Object.values(termBound[e][item]);\n arr.unshift(e+\" (\"+item+\")\");\n console.log(arr);\n boundContainer.push(arr);\n\n });\n\n });\n \n var scheme=this.productSchemeDetails;\n\n var schemeKeys=Object.keys(scheme);\n\n var schemeInfo=[[''],[''],['SCHEME SECTION']];\n\n schemeKeys.forEach(e=>{\n\n if(!Array.isArray(scheme[e])){\n var str=e.replace(\"_\",\" \");\n schemeInfo.push([str,scheme[e]]);\n }\n\n })\n\n\n\n\n wb.SheetNames.push(\"Super Protect\");\n //USING AOA\n \n \n var ws =XLSX.utils.aoa_to_sheet(productInfo);\n\n XLSX.utils.sheet_add_aoa(ws,boundContainer, {origin:-1});\n XLSX.utils.sheet_add_aoa(ws,schemeInfo, {origin:-1});\n\n wb.Sheets[\"Super Protect\"] = ws;\n\n XLSX.writeFile(wb, this.selectedBenefit+ '.xlsx');\n this.loader.hide();\n\n\n }\n\n //CREATING PDF\n ExportTOExceldownloadPdaf(){\n this.loader.show();\n console.log(\"downloading pdf\");\n // let doc= new jsPdf('p', 'mm', 'a4');\n\n // let specialElementHandlers={\n\n // '#editor':function (element,renderer) {\n // return true;\n // }\n // };\n\n // let content =this.pdfcontent.nativeElement;\n\n // doc.fromHTML(content.innerHTML, 15,15,{\n\n // 'width':190,\n // 'elementHandlers':specialElementHandlers\n\n // });\n\n // doc.save('test.pdf');\n\n /************new method */\n var data = document.getElementById('downloadSoftCopy');\n html2canvas(data).then(canvas => {\n // Few necessary setting options\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jsPdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save(this.selectedBenefit+ '_softcopy.pdf'); // Generated PDF\n this.loader.show();\n });\n\n\n\n\n\n }\ncounter=0;\n ngAfterViewInit() {\n var row = document.querySelectorAll(\"div.product-row\");\n if (this.groupLoanSecure) {\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var band;\n var benName;\n var covType;\n var column = row[i].querySelectorAll('.product-column');\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value == \"product-column product-name\") {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n for (var k = 0; k < this.benefits.length; k++) {\n if (this.name.includes(this.benefits[k].title) && !(this.name.includes(\"Accidental Death Benefit\"))) {\n if (this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].bands == '999') {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n }\n } else if (this.name.includes(this.benefits[k].title) && (this.benefits[k].title == (\"Accidental Death Benefit\"))) {\n if (this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].bands == '999') {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n }\n }\n }\n if (this.showData[covType][benName] != undefined) {\n if (this.showData[covType][benName][band] != undefined) {\n this.benefitData = this.showData[covType][benName][band];\n } else {\n this.benefitData = []\n }\n }\n else {\n this.benefitData = []\n }\n console.log(this.benefitData);\n }\n else if (this.child.classList.value == \"product-column product-min-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-cover-ceasing-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-cover-ceasing-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-sum-assured\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-sum-assured\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-policy-term\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-policy-term\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-policy-term\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-policy-term\");\n this.child.querySelector('input').value = value;\n }\n }\n }\n }\n } else if (this.superProductCredit) {\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var band;\n var benName;\n var covType;\n var column = row[i].querySelectorAll('.product-column');\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value == \"product-column product-name\") {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n for (var k = 0; k < this.benefits.length; k++) {\n if (this.name.includes(this.benefits[k].title) && !(this.name.includes(\"Accidental Death Benefit\"))) {\n if (this.benefits[k].type != \"Flat\" && this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].type == \"Flat\" && this.benefits[k].title == this.name || this.benefits[k].type == \"FlatWise\" && this.benefits[k].title == this.name) {\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n }\n } else if (this.name.includes(this.benefits[k].title) && (this.benefits[k].title == (\"Accidental Death Benefit\"))) {\n if (this.benefits[k].type != \"Flat\" && this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].type == \"Flat\" && this.benefits[k].title == this.name || this.benefits[k].type == \"FlatWise\" && this.benefits[k].title == this.name) {\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n }\n }\n }\n\n if (covType != \"FlatWise\") {\n if (this.showData[covType][benName] != undefined) {\n if (this.showData[covType][benName][band] != undefined) {\n this.benefitData = this.showData[covType][benName][band];\n } else {\n this.benefitData = []\n }\n }\n else {\n this.benefitData = []\n }\n } else {\n if (this.showData[covType][benName] != undefined) {\n this.benefitData = this.showData[covType][benName];\n } else {\n this.benefitData = []\n }\n }\n console.log(this.counter++ +\" \"+ this.benefitData);\n }\n else if (this.child.classList.value == \"product-column product-min-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-cover-ceasing-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-cover-ceasing-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-sum-assured\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-sum-assured\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-policy-term\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-policy-term\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-policy-term\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-policy-term\");\n this.child.querySelector('input').value = value;\n }\n }\n }\n }\n }\n }\n goToAddProduct(id) {\n var url = \"/service/admin/\" + environment.userid + \"/lpartners/\" + id;\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n environment.partnerDetails = [];\n environment.currentPartnerDetails = [];\n var data = res;\n environment.editDetails = true;\n environment.currentPartnerDetails.push(data);\n environment.partnerDetails.push(data);\n this.routes.navigate(['product-mapping']);\n\n },\n err => {\n console.log(err);\n }\n )\n }\n\n isArray(ads) {\n return Object.prototype.toString.call(ads) == \"[object Array]\";\n }\n isObject(ads) {\n return Object.prototype.toString.call(ads) == \"[object Object]\";\n }\n\n backNavigation() {\n this.routes.navigate([\"fscListing\"]);\n }\n\n deactivate(policyId, method) {\n var activateValue;\n if (method == 'active') {\n activateValue = 1;\n }\n else {\n activateValue = 0;\n }\n console.log(policyId);\n console.log(environment.partnerDetails);\n var url = \"/service/admin/\" + environment.userid + \"/partners/\" + environment.partnerDetails[0].partner_id + \"/policies/\" + policyId + \"/active/\" + activateValue;\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n // this.b2cModal1.close(e)\n Swal({\n title: \"Product is now\" + \" \" + method + \"!\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n\n });\n this.routes.navigate([\"/partnerListing\"]);\n },\n err => {\n\n }\n )\n }\n openModal1() {\n this.b2cModal1.open();\n }\n closeModel1(event) {\n this.b2cModal1.close(event);\n }\n openModal2() {\n this.b2cModal2.open();\n }\n\n \n\n closeModel2(event) {\n this.b2cModal2.close(event);\n }\n\n \n findIndexValue(arraytosearch, key, valuetosearch) {\n\n for (var i = 0; i < arraytosearch.length; i++) {\n\n if (arraytosearch[i][key] == valuetosearch) {\n return i;\n }\n }\n return null;\n }\n\n findProduct(arraytosearch, key, valuetosearch) {\n\n for (var i = 0; i < arraytosearch.length; i++) {\n var name = arraytosearch[i][key]\n name = name.toLowerCase();\n valuetosearch = valuetosearch.toLowerCase();\n if (name == valuetosearch) {\n return i;\n }\n }\n return null;\n }\n\n editPolicy(policyId) {\n environment.editPolicy = true;\n environment.editPolicyId = policyId;\n if (this.groupLoanSecure) {\n environment.savedProductMapping.push(this.policyDetails[\"Product Mapping\"]);\n environment.savedProductBenefit.push({ \"benefits\": this.policyDetails[\"Benefits\"] });\n environment.savedProductBoundryCondition = this.policyDetails[\"Boundary Conditions\"];\n environment.savedProductScheme.push(this.policyDetails[\"SchemeSection\"]);\n this.routes.navigate([\"/product-mapping\"]);\n }\n else if (this.superProductCredit) {\n environment.savedProductMapping.push(this.policyDetails[\"Product Mapping\"]);\n environment.savedProductBenefit.push({ \"benefits\": this.policyDetails[\"Benefits\"] });\n environment.savedProductOtherBenefit.push({ \"other_benefits\": this.policyDetails[\"Other-Benefits\"] });\n environment.savedProductBoundryCondition = this.policyDetails[\"Boundary Conditions\"];\n environment.savedProductScheme.push(this.policyDetails[\"SchemeSection\"]);\n this.routes.navigate([\"/product-mapping\"]);\n }\n\n }\n}\n","module.exports = \"
\\n
\\n

FSC List\\n ({{totalPartners}})\\n

\\n
\\n
\\n ADD FSC\\n
\\n \\n
\\n
\\n
\\n \\n
We couldn't find any FSC on this page.\\n
Add FSc by clicking on the below button
\\n
\\n ADD FSC
\\n
\\n\\n
\\n \\n
\\n \\n
We couldn't find any FSC
\\n
\\n
\\n \\n
0\\\">\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
{{partner[1]}}
\\n
\\n {{partner[2]}}\\n
\\n \\n
\\n \\n
\\n \\n
\\n DETAILS\\n
\\n
\\n EDIT\\n
\\n
\\n DELETE\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
{{partner.partner_name}}
\\n \\n \\n
\\n
\\n \\n
\\n DETAILS\\n
\\n
\\n EDIT\\n
\\n
\\n DELETE\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n\"","module.exports = \".page-container {\\n padding: 0rem 1rem !important;\\n justify-content: start; }\\n .page-container .addSearchPartner {\\n width: 100%;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin: 0rem 0; }\\n .page-container .addSearchPartner input {\\n margin-left: 0.5rem !important; }\\n .page-container .addSearchPartner h4 {\\n margin: 0px;\\n font-size: 1.8rem;\\n margin-top: 1rem;\\n margin-left: -1rem;\\n font-weight: 600; }\\n .page-container .addSearchPartner .sidebuttons {\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .page-container .addSearchPartner .sidebuttons div, .page-container .addSearchPartner .sidebuttons span {\\n margin: 0 0rem; }\\n .page-container .addSearchPartner .sidebuttons span {\\n width: 20rem;\\n margin-right: -3.5rem; }\\n .page-container .addSearchPartner .sidebuttons span fieldset input {\\n margin-left: 2rem; }\\n .page-container .addSearchPartner .sidebuttons span fieldset input .searchIcon {\\n top: 30%;\\n left: 1.2rem;\\n margin-right: 2rem; }\\n .page-container .addSearchPartner .sidebuttons .button {\\n padding: 0.7rem 1rem; }\\n .page-container .addSearchPartner .sidebuttons .button img {\\n width: 0.7rem;\\n margin-right: 0.2rem; }\\n .page-container .no-list {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: 100%;\\n border-radius: 0.5rem;\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n justify-content: center; }\\n .page-container .no-list img {\\n width: 6rem;\\n margin: 0 auto; }\\n .page-container .no-list h5 {\\n color: #4d4f58;\\n font-size: 1.3rem;\\n font-weight: 100;\\n line-height: 1.7;\\n letter-spacing: 1px; }\\n .page-container .no-list .button {\\n padding: 1rem 2rem; }\\n .page-container .no-list .button img {\\n width: 0.8rem;\\n margin-right: 0.2rem; }\\n .page-container .listing {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: 100%;\\n border-radius: 0.5rem;\\n align-items: center;\\n overflow-y: auto;\\n overflow-x: hidden;\\n margin-top: 1rem;\\n padding-left: 1rem;\\n padding-right: 1rem; }\\n .page-container .listing .partner-noFound {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n border-bottom: 1px solid #b3bbbc3b;\\n height: 420px;\\n justify-content: center;\\n flex-direction: column; }\\n .page-container .listing .partner-noFound img {\\n width: 6rem;\\n margin: 0 auto; }\\n .page-container .listing .partner-noFound h5 {\\n color: #4d4f58;\\n font-size: 1.3rem;\\n font-weight: 100;\\n line-height: 1.7;\\n letter-spacing: 1px; }\\n .page-container .listing .partner {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n margin-top: 0;\\n margin-bottom: 0; }\\n .page-container .listing .partner .partnerName {\\n width: 100%;\\n justify-content: center;\\n margin-bottom: 0;\\n margin-top: 0; }\\n .page-container .listing .partner .partnerName .productDetails {\\n border-bottom: 1px solid #b3bbbc3b;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-top: 0;\\n margin-bottom: 0;\\n padding: 5px; }\\n .page-container .listing .partner .partnerName .partnerLogo {\\n width: 4rem !important;\\n height: 3rem !important;\\n border-radius: 50%;\\n overflow: hidden;\\n border: 1px solid #d2c7c7;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: #eee; }\\n .page-container .listing .partner .partnerName .partnerLogo img {\\n width: 2rem; }\\n .page-container .listing .partner .partnerName .partnerDetails {\\n width: 90%;\\n margin: 0px;\\n margin-left: 15px; }\\n .page-container .listing .partner .partnerName .partnerDetails .partner-name {\\n font-weight: 600;\\n font-size: 11px !important;\\n text-transform: uppercase; }\\n .page-container .listing .partner .partnerName .partnerDetails .policy-type {\\n font-weight: 600;\\n font-size: 11px !important; }\\n .page-container .listing .partner .partnerName .partnerDetails .policy-name {\\n text-transform: capitalize;\\n font-weight: 600;\\n color: #8d8888;\\n font-size: 11px !important; }\\n .page-container .listing .partner .partnerName .partnerDetails .loan-type {\\n font-weight: 100;\\n color: #514e4e;\\n text-transform: capitalize;\\n font-size: 11px !important; }\\n .page-container .listing .partner .partnerName .partnerDetails h1 {\\n font-size: 15px;\\n text-transform: uppercase;\\n margin-bottom: 0px;\\n font-weight: 600;\\n letter-spacing: 1px; }\\n .page-container .listing .partner .partnerName .partnerDetails .productDetails {\\n width: 100%;\\n margin: 0px; }\\n .page-container .listing .partner .partnerName .partnerDetails .productDetails .details {\\n width: 50%;\\n margin: 0px;\\n float: left; }\\n .page-container .listing .partner .partnerName .partnerDetails .productDetails .details h3 {\\n margin-bottom: 0px;\\n font-size: 16px;\\n text-transform: capitalize;\\n font-weight: 600;\\n color: #8d8888; }\\n .page-container .listing .partner .partnerName .partnerDetails .productDetails .details h6 {\\n margin: 10px 0px 0px 0px;\\n font-size: 15px;\\n font-weight: 100;\\n color: #514e4e;\\n text-transform: capitalize; }\\n .page-container .listing .partner .partnerOptions {\\n width: 40%;\\n display: flex;\\n justify-content: space-evenly; }\\n .page-container .listing .partner .partnerOptions .rigthMenu {\\n width: 40%;\\n text-align: center;\\n /* border-right: 1px solid; */\\n border-left: 1px solid #e57518;\\n text-align: center; }\\n .page-container .listing .partner .partnerOptions .rigthMenu.addProduct {\\n border-left: none;\\n text-align: center; }\\n .page-container .listing .partner .partnerOptions .rigthMenu a {\\n text-decoration: none;\\n color: #e57518;\\n font-weight: 600;\\n font-size: 11px;\\n border-right: 1px solid #e5e5e5;\\n line-height: 25px;\\n cursor: pointer; }\\n .page-container .listing .partner .partnerOptions .rigthMenu a:last-child {\\n border-right: none; }\\n @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\n .no-list {\\n box-shadow: 0px 3px 5px 4px rgba(212, 193, 212, 0.79) !important; }\\n .no-list .button img {\\n height: 1rem; } }\\n input {\\n margin-left: 0.5rem !important; }\\n fieldset .icon.right {\\n top: 32%;\\n left: 1rem;\\n margin-right: 2rem; }\\n\"","import { Component, OnInit, ElementRef, AfterViewInit, ViewChild, NgModule } from '@angular/core';\nimport { RouterModule, Router, NavigationEnd, NavigationExtras } from '@angular/router';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { ConfigService } from '../../services/config.service';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { DataShareService } from '../../services/data-share.service';\nimport swal from 'sweetalert2';\n\n@Component({\n selector: 'app-fsc-listing-page',\n templateUrl: './fsc-listing-page.component.html',\n styleUrls: ['./fsc-listing-page.component.scss']\n})\nexport class FscListingPageComponent implements OnInit {\n @ViewChild('input') input: ElementRef;\n partnerListing;\n navigationSubscription;\n showPartnerList = false;\n renderHtml = false;\n searchText = \"\";\n searchValue = \"\";\n noPolicies = false\n totalPartners;\n http: any;\n partner_logo: any;\n partner_name: any;\n products: any;\n id: string;\n partner_email: any;\n partner_address: any;\n page: string;\n constructor(public routes: Router, public config: ConfigService, public loader: Ng4LoadingSpinnerService,\n public change: DataShareService, public el: ElementRef) {\n this.change.setPartnerConfig(false);\n if (environment.loginSuccessfully == true) {\n this.loader.show();\n this.clearData();\n this.showList();\n console.log(this.partnerListing);\n } else {\n this.routes.navigate([\"login\"]);\n }\n\n \n // this.navigationSubscription = this.routes.events.subscribe((e: any) => {\n // // If it is a NavigationEnd event re-initalise the component\n // console.log(e);\n // if (e instanceof NavigationEnd) {\n // this.searchValue = \"\";\n // this.searchText = \"\";\n // this.showList();\n // }\n // });\n\n }\n \n\n showList() {\n var url = \"/service/fsc/all\";\n this.config.httpService('get', url, \"\").subscribe(\n res => {\n //debugger;\n this.partnerListing = res;\n environment.partnerListing = this.partnerListing;\n this.totalPartners = this.partnerListing.length\n if (this.partnerListing.length > 0) {\n this.showPartnerList = true;\n this.renderHtml = true;\n this.loader.hide();\n }\n else {\n this.showPartnerList = false;\n this.renderHtml = true;\n this.loader.hide();\n }\n this.loader.hide();\n },\n err => {\n debugger;\n console.error('Error:', err);\n this.loader.hide();\n swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.routes.navigate([\"login\"]);\n })\n }\n );\n }\n\n \n\n clearData() {\n environment.savedProductMapping = []\n environment.savedProductBenefit = []\n environment.savedProductOtherBenefit = []\n environment.savedTillProductBoundryCondition = []\n environment.savedProductBoundryCondition = {}\n environment.savedProductScheme = []\n environment.groupLoanSecure = true\n environment.superProductCredit = false\n }\n\n check(event) {\n if (event.target.classList.contains('right')) {\n console.log(event.target);\n this.searchText = \"\";\n event.target.parentElement.childNodes[1].value = \"\";\n var partnerList = this.el.nativeElement.querySelectorAll('.productDetails')\n for (var i = 0; i < partnerList.length; i++) {\n partnerList[i].style.display = \"\"\n this.noPolicies = false\n }\n }\n this.totalPartners = this.partnerListing.length\n }\n ngOnInit() {\n //this.showList();\n this.searchText = '';\n //this.showList();\n\n\n }\n\n ngAfterViewInit() {\n //this.showList();\n var input = this.el.nativeElement.querySelectorAll(\"input\");\n if (input.length > 1) {\n alert(\"got it!!\");\n input[0].value = \"\";\n }\n }\n\n goToAddPartner() {\n environment.editDetails = false;\n this.routes.navigate([\"addPartner\"]);\n }\n\n goToAddPartnerFsc() {\n environment.editDetails = false;\n this.routes.navigate([\"addPartnerFsc\"]);\n }\n\n\n searchPartner(event) {\n this.searchText = event.target.parentElement.childNodes[1].value;\n }\n\n onKeydown(event) {\n this.searchText = event.target.parentElement.childNodes[1].value.toLowerCase();\n console.log(this.searchPartner);\n var partnerList = this.el.nativeElement.querySelectorAll('.productDetails')\n var count = 0\n var partners\n var totalPolicies = []\n for (var i = 0; i < partnerList.length; i++) {\n if (partnerList[i].querySelector('.policy-name') != null) {\n var partnerName = partnerList[i].querySelector('.partner-name').innerText.toLowerCase()\n var policyName = partnerList[i].querySelector('.policy-name').innerText.toLowerCase()\n var loanType = partnerList[i].querySelector('.loan-type').innerText.toLowerCase()\n var policyType = partnerList[i].querySelector('.policy-type').innerText.toLowerCase()\n if (policyName.indexOf(this.searchText) == -1 && policyType.indexOf(this.searchText) == -1 && partnerName.indexOf(this.searchText) == -1 && loanType.indexOf(this.searchText) == -1) {\n partnerList[i].style.display = \"none\"\n }\n else {\n partnerList[i].style.display = \"\"\n var data = partnerList[i].querySelector('.partner-name').innerText.toLowerCase();\n if (!totalPolicies.includes(data)) {\n totalPolicies.push(data)\n }\n }\n }\n else {\n var partnerName = partnerList[i].querySelector('.partner-name').innerText.toLowerCase()\n if (partnerName.indexOf(this.searchText) == -1) {\n partnerList[i].style.display = \"none\"\n }\n else {\n partnerList[i].style.display = \"\"\n var data = partnerList[i].querySelector('.partner-name').innerText.toLowerCase();\n if (!totalPolicies.includes(data)) {\n totalPolicies.push(data)\n }\n }\n }\n if (partnerList[i].style.display == \"none\") {\n count++\n }\n }\n this.totalPartners = totalPolicies.length\n if (count == partnerList.length) {\n this.noPolicies = true\n }\n else {\n this.noPolicies = false\n }\n\n }\n\n getPartnerDetails(event, id, page) {\n this.loader.show();\n\n if (page == \"fsc-details\") {\n this.loader.hide();\n\n const navigationExtras: NavigationExtras = {\n queryParams: {\n fsc: id\n // Add more properties as needed\n },\n }; \n this.routes.navigate(['fscDetails'], navigationExtras);\n // swal({\n // title: \"FSC details listing not available now.\\nPlease try after some time.\",\n // type: 'warning',\n // showCancelButton: false,\n // confirmButtonColor: '#eb1826',\n // cancelButtonColor: '#F4F1F1',\n // confirmButtonText: 'OK'\n // }).then((result) => {\n \n // })\n }\n else if (page == \"fsc-edit\") {\n this.loader.hide();\n\n // var url = \"/service/fsc/GetDetails/\" + id;\n // this.config.httpService(\"post\", url, \"\").subscribe(\n // (res: any) => {\n // console.log('API Response:', res); // Log entire response for debugging\n \n // if(res && res.length > 0){\n // this.partner_email = res[0].userEmail;\n // this.partner_name = res[0].userName;\n // this.partner_address = res[0].userAddress,\n // this.products = res[0]; // Ensure 'products' is correctly assigned\n \n // console.log('Fetched Products:', this.products);\n \n // const navigationExtras: NavigationExtras = {\n // queryParams: {\n // fsc: id,\n // email:this.partner_email,\n // name:this.partner_name,\n // address: this.partner_address,\n // page: \"fsc-edit\"\n // // Add more properties as needed\n // },\n // }; \n // this.routes.navigate(['addPartnerFsc'], navigationExtras);\n // }\n \n \n // },\n // (err: any) => {\n // console.error(err);\n // }\n // );\n\n //working \n\n // const navigationExtras: NavigationExtras = {\n // queryParams: {\n // fsc: id,\n // page: \"fsc-edit\"\n // // Add more properties as needed\n // },\n // }; \n // this.routes.navigate(['addPartnerFsc'], navigationExtras);\n\n this.loader.hide();\n swal({\n title: \"FSC Edit is not available now.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n \n })\n \n\n\n // swal({\n // title: \"FSC edit is not available now.\\nPlease try after some time.\",\n // type: 'warning',\n // showCancelButton: false,\n // confirmButtonColor: '#eb1826',\n // cancelButtonColor: '#F4F1F1',\n // confirmButtonText: 'OK'\n // }).then((result) => {\n \n // })\n }\n else if (page == \"fsc-delete\") {\n\n \n this.loader.hide();\n swal({\n title: \"FSC delete is not available now.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n \n })\n }\n\n \n // if (event.target.parentElement.parentElement.parentElement.querySelector('.policy-name') != null) {\n // environment.currentBenefit = event.target.parentElement.parentElement.parentElement.querySelector('.policy-name').dataset.policyname\n // }\n // var url = \"/service/admin/\" + environment.userid + \"/lpartners/\" + id;\n // this.config.httpService(\"post\", url, \"\").subscribe(\n // res => {\n // environment.partnerDetails = [];\n // environment.currentPartnerDetails = [];\n // var data = res;\n // environment.editDetails = true;\n // environment.currentPartnerDetails.push(data);\n // environment.partnerDetails.push(data);\n // if (page == \"product-mapping\") {\n // this.routes.navigate(['product-mapping']);\n // }\n // else if (page == \"addPartner\") {\n // this.routes.navigate([\"addPartner\"]);\n // }\n // else if (page == \"partner-details\") {\n // this.routes.navigate([\"partner-details\"]);\n // }\n // this.loader.hide();\n // },\n // err => {\n // this.loader.hide();\n // swal({\n // title: \"Something went wrong.\\nPlease try after some time.\",\n // type: 'warning',\n // showCancelButton: false,\n // confirmButtonColor: '#eb1826',\n // cancelButtonColor: '#F4F1F1',\n // confirmButtonText: 'OK'\n // }).then((result) => {\n // this.routes.navigate([\"login\"]);\n // })\n // }\n // )\n }\n\n}\n","module.exports = \"
\\n
\\n \\n
\\n
\\n Fsc\\n Partners\\n \\n Logout\\n
\\n
\\n
\\n
\\n
\\n \\\"add\\\"\\n
\\n
\\n
\\n
EDIT
\\n
\\n
\"","module.exports = \".header {\\n /* width: 100%; */\\n height: 50px;\\n padding: 0px 7%;\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n /* border-bottom: 1px solid; */\\n box-shadow: 0px 3px 5px 0px #f3eeee;\\n background: #fff; }\\n\\n.menu-item {\\n padding: 0.8rem 1rem;\\n text-decoration: none;\\n color: #000;\\n font-size: 1.1em;\\n font-weight: bold;\\n margin-left: 3rem; }\\n\\n.active {\\n border-bottom: 3px solid #e57518; }\\n\\n.logout-btn {\\n border: 1.2px solid #e57518;\\n border-radius: 30px;\\n padding: 7px 25px;\\n color: #747171; }\\n\\n.subHeader {\\n box-shadow: 0px 3px 5px 0px #f3eeee;\\n -webkit-box-pack: space-evenly;\\n background-color: white; }\\n\\n.subHeader .displayFlex {\\n justify-content: space-around;\\n width: 55%;\\n margin: 0 auto; }\\n\\n.subHeader .displayFlex div {\\n margin: 0px; }\\n\\n.fullWidth {\\n width: 5rem !important;\\n height: 5rem !important;\\n border-radius: 50%; }\\n\\n.header-menu a {\\n cursor: pointer; }\\n\\n.inputBox fieldset input {\\n padding: 0.1rem; }\\n\"","import { Component, OnInit } from '@angular/core';\nimport { environment } from '../../../environments/environment';\nimport { DataShareService } from '../../services/data-share.service';\nimport { ConfigService } from '../../services/config.service';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { RouterModule, Router, ActivatedRoute } from '@angular/router';\nimport swal from 'sweetalert2';\nconst partnerConfig = environment.partner_config;\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n\n isPartnerActive: boolean = true;\n isFscActive: boolean = false;\n partnerConfig = false;\n fileName: any = \"\";\n patnerAddress: any = \"\";\n partnerName: any = \"\";\n loginSuccessfully = false;\n constructor(public change: DataShareService, public route: Router, public config: ConfigService, public loader: Ng4LoadingSpinnerService) {\n this.loginSuccessfully = this.change.getHeader();\n this.change.newHeaderSubject.subscribe((data) => {\n this.loginSuccessfully = data;\n });\n this.partnerConfig = this.change.getPartnerConfig();\n this.change.newPartnerConfigSubject.subscribe((data) => {\n this.partnerConfig = data;\n console.log(this.partnerConfig);\n if (environment.partnerDetails.length > 0) {\n this.fileName = environment.partnerDetails[0].partner_logo;\n this.partnerName = environment.partnerDetails[0].partner_name;\n this.patnerAddress = environment.partnerDetails[0].partner_address;\n }\n });\n\n\n\n\n }\n\n ngOnInit() {\n if (environment.partnerDetails.length > 0) {\n this.fileName = environment.partnerDetails[0].partner_logo;\n this.partnerName = environment.partnerDetails[0].partner_name;\n this.patnerAddress = environment.partnerDetails[0].partner_address;\n }\n }\n\n ngAfterViewInit() {\n if (environment.partnerDetails.length > 0) {\n this.fileName = environment.partnerDetails[0].partner_logo;\n this.partnerName = environment.partnerDetails[0].partner_name;\n this.patnerAddress = environment.partnerDetails[0].partner_name;\n }\n }\n editPartner() {\n this.change.setPartnerConfig(false);\n environment.editDetails = true;\n this.route.navigate([\"addPartner\"]);\n }\n goToPartners(event) {\n if (this.route.url == \"/partnerListing\" || this.route.url == \"/partner-details\") {\n this.route.navigate([\"partnerListing\"]);\n }\n else if(this.route.url == \"/fscListing\") {\n this.route.navigate([\"partnerListing\"]);\n }\n else {\n swal({\n title: \"All changes will be discarded!
Are you sure?\",\n type: 'warning',\n showCancelButton: true,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n if (result.value) {\n environment.savedProductMapping = [];\n environment.savedProductBoundryCondition = {};\n environment.savedProductBenefit = [];\n environment.savedProductOtherBenefit = [];\n environment.savedTillProductBoundryCondition = [];\n environment.savedProductScheme = [];\n environment.selectedReductionSchedule_Id = \"\";\n environment.selectedReductionScheduleCode = \"\";\n environment.reduction_sched = \"\";\n environment.groupLoanSecure = true;\n environment.superProductCredit = false;\n environment.shubhRakshaCredit = false;\n this.change.setAsseleratedCI(\"\");\n this.change.setAdditionalCI(\"\");\n this.change.setWaiverHospital(\"\");\n this.change.setSelectedProduct(\"\");\n this.change.setSelectedLoan(\"\");\n this.change.setSelectedMortality(\"\");\n this.change.setSelectedMortalityRate(\"\");\n this.change.setSelectedCoverageOption(\"\");\n this.change.setSelectedCriticalIllness(\"\");\n this.change.setSelectedFrequency(\"\");\n this.change.setSelectedPaymentTerm(\"\");\n this.change.setSelectedNonMedicalRate(\"\");\n this.change.setSelectedNonMedicalRateCI(\"\");\n this.change.setSelectedNonMedical(\"\");\n this.change.setReductionSchedule(\"\");\n this.change.setInterestRate(\"\");\n this.change.setsingleJointLife(\"\");\n this.change.setCoverageTerm(\"\");\n this.change.setcoverageOptions(\"\");\n this.change.setmoratoriumPeriod(\"\");\n this.change.setmoratoriumTerm(\"\");\n this.change.setsingleJointLife(\"\");\n this.change.setSelectedFlexibility(\"\");\n this.change.setSelectedAcici(\"\");\n this.change.setSelectedAcici(\"\");\n this.change.setSelectedChannel(\"\");\n this.change.setWaiverHospital(\"\")\n this.change.setAdditionalCI(\"\")\n this.change.setAsseleratedCI(\"\")\n environment.editPolicy = false;\n if (this.route.url == \"/partnerListing\") {\n this.route.navigate([\"/partnerListing\",]);\n }\n else {\n this.route.navigate([\"partnerListing\"]);\n }\n }\n else {\n // alert(\"no\");\n }\n })\n }\n\n }\n goToFsc(event) {\n if (event.currentTarget.getAttribute(\"data-type\") == 'fsc') {\n this.route.navigate([\"fscListing\"]);\n }\n else if(this.route.url == \"/partnerListing\") {\n this.route.navigate([\"fscListing\"]);\n }\n else {\n // Handle the case when changes are unsaved in the current route\n // This part might be similar to the logic in goToPartners()\n // ...\n }\n }\n\n \n activateButton(button: string) {\n if (button === 'A') {\n this.isPartnerActive = true;\n this.isFscActive = false;\n } else if (button === 'B') {\n this.isPartnerActive = false;\n this.isFscActive = true;\n }\n }\n\n\n\n logout() {\n this.loader.show();\n environment.loginToken = \"\";\n environment.loginSuccessfully = false;\n this.change.setHeader(false);\n this.change.setPartnerConfig(false);\n this.loader.hide();\n this.route.navigate([\"login\"]);\n }\n}\n","module.exports = \"
\\n \\n
\\n {{errorMessage}}\\n \\n \\n
\\n
LOGIN
\\n
\"","module.exports = \".login-page {\\n display: flex;\\n align-items: center;\\n justify-content: center; }\\n\\n.wrapper {\\n width: 100% !important; }\\n\\n.page-container img {\\n margin: 2em; }\\n\\nfieldset {\\n width: 100% !important; }\\n\\n.showErr {\\n color: red; }\\n\"","import { Component, OnInit, NgModule, ElementRef, NgZone, ViewChild, Input, ChangeDetectorRef } from '@angular/core';\nimport { ConfigService } from '../../services/config.service';\nimport { RouterModule, Router } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { DataShareService } from '../../services/data-share.service';\nimport Swal from 'sweetalert2';\n@Component({\n selector: 'app-login-page',\n templateUrl: './login-page.component.html',\n styleUrls: ['./login-page.component.scss']\n})\nexport class LoginPageComponent implements OnInit {\n\n errorMessage = \"\";\n constructor(private routes: Router, public config: ConfigService, public loader: Ng4LoadingSpinnerService, public el: ElementRef,\n public change: DataShareService) {\n environment.loginToken = \"\";\n environment.loginSuccessfully = false;\n }\n\n ngOnInit() {\n }\n\n storeValue(event) {\n if (event.target.closest('span').attributes.id.value == 'userName') {\n environment.username = event.target.value;\n }\n else if (event.target.closest('span').attributes.id.value == 'password') {\n environment.password = event.target.value;\n }\n\n }\n\n loginEnter(event) {\n var keycode = (event.keyCode ? event.keyCode : event.which);\n if (keycode == '13') {\n this.login(event);\n }\n\n\n }\n\n login(event) {\n environment.username = event.target.parentElement.childNodes[1].childNodes[1].childNodes[0].childNodes[5].value;\n environment.password = event.target.parentElement.childNodes[1].childNodes[2].childNodes[0].childNodes[5].value;\n var inputs = document.querySelectorAll(\"input\");\n var count = 0;\n this.el.nativeElement.querySelectorAll('input').forEach(function (item) {\n\n console.log(item.value);\n if (item.value.trim() == \"\") {\n item.parentElement.firstElementChild.classList.remove(\"hide\");\n item.closest(\"fieldset\").classList.add(\"error\");\n console.log(\"Blank\");\n }\n else {\n item.parentElement.firstElementChild.classList.add(\"hide\");\n item.closest(\"fieldset\").classList.remove(\"error\");\n count = count + 1;\n\n }\n });\n if (count == inputs.length) {\n this.loader.show();\n //var url = \"/service/login?username=\" + environment.username + \"&password=\" + environment.password;\n let url = \"/token/generate-token\";\n let data = ({ \"username\": environment.username, \"password\": environment.password });\n // let encryted_data = btoa(environment.username) + \":\" + btoa(environment.password);\n this.config.httpService('post', url, data).subscribe(\n res => {\n //environment.loginSuccessfully = true;\n console.log(res);\n var data;\n data = res;\n environment.loginToken = data.token;\n let url = \"/service/admins\";\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n environment.loginSuccessfully = true;\n this.change.setHeader(true);\n var loginUserDetails = this.config.icici(res, \"admin_email\", environment.username);\n let loginUserId = this.config.getValues(loginUserDetails, \"admin_id\");\n environment.userid = loginUserId[0];\n environment.logingInUserId = loginUserDetails[0].admin_id;\n environment.logedInUserEmail = loginUserDetails[0].admin_email;\n environment.logedInUserName = loginUserDetails[0].admin_name;\n console.log(environment.userid);\n this.routes.navigate([\"partnerListing\"]);\n },\n err => {\n this.loader.hide();\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.routes.navigate([\"login\"]);\n })\n }\n )\n\n },\n err => {\n this.loader.hide();\n var el = event.target.parentElement.childNodes[1].childNodes[0];\n this.errorMessage = err.message;\n if (this.errorMessage != \"Username and / or password is invalid\") {\n Swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.routes.navigate([\"login\"]);\n })\n }\n else {\n environment.username = \"\";\n event.target.parentElement.childNodes[1].childNodes[1].childNodes[0].childNodes[5].value = \"\";\n environment.password = \"\";\n event.target.parentElement.childNodes[1].childNodes[2].childNodes[0].childNodes[5].value = \"\";\n el.classList.remove(\"hide\");\n }\n }\n );\n }\n }\n toggleInput(event) {\n console.log(event.target);\n if (event.target.classList.contains('icon-eye')) {\n var sibling = event.target.previousElementSibling;\n if (sibling.type == \"text\") {\n sibling.type = \"password\";\n event.target.classList.remove(\"changeColor\");\n }\n else if (sibling.type == \"password\") {\n sibling.type = \"text\";\n event.target.classList.add(\"changeColor\");\n }\n }\n }\n\n}\n","module.exports = \"
\\n
\\n
\\n \\n Back\\n
\\n
\\n \\n {{partner_name}}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
{{selectedBenefit}}
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n

Product Mapping

\\n
\\n
\\n

Product

\\n
{{productMappingDetails.product_name}}
\\n
\\n
\\n

Partner's Product Name

\\n
{{productMappingDetails.policy_name}}
\\n
\\n
\\n

Loan

\\n
{{productMappingDetails.loan_type}}
\\n
\\n
\\n

Minimum Group

\\n
{{productMappingDetails.minimum_group}}
\\n
\\n
\\n

Floor Rate

\\n
{{productMappingDetails.floor_rate}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n

Benefits

\\n
\\n
\\n
Age Band Wise - {{benefitName.name}}
\\n
\\n
\\n
Age Band - ({{obj[0]}}) : Mortality Rate - {{obj[1]}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\\n
\\n

Boundary Condition

\\n
\\n
\\n
\\n
\\n Benefits\\n
\\n
\\n Min. Age\\n
at Entry\\n
\\n
\\n Max. Age\\n
at Entry\\n
\\n
\\n Min. cover\\n
ceasing age\\n
\\n
\\n Max. cover\\n
ceasing age\\n
\\n
\\n Min. sum\\n
assured\\n
\\n
\\n Max. sum\\n
assured\\n
\\n
\\n Min. policy\\n
term\\n
\\n
\\n Max. policy\\n
term\\n
\\n
\\n
\\n
\\n {{benefit.title}} ({{benefit.bands}})\\n
\\n
\\n {{benefit.title}}\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n

SCHEME SECTION

\\n
\\n
\\n

Premium Payment Term

\\n
{{scheme.name}}
\\n
\\n
\\n

Coverage Option

\\n
{{coverage.name}}
\\n
\\n
\\n

Frequency

\\n
{{frequency.name}}
\\n
\\n
\\n

Non-Medical Limits

\\n
{{productSchemeDetails.non_medical_limit}}
\\n
\\n \\n \\n
0\\\">\\n

Non-Medical Limits Value

\\n
\\n
\\n {{ss.key}}: \\n {{ss.value}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n \\n\\n \\n
\\n
\\n \\n \\n \\n \\n \\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n\\n
\\n

Product Mapping

\\n
\\n
\\n

Product

\\n
{{productMappingDetails.product_name}}
\\n
\\n
\\n

Partner's Product Name

\\n
{{productMappingDetails.policy_name}}
\\n
\\n
\\n

Loan

\\n
{{productMappingDetails.loan_type}}
\\n
\\n
\\n

Minimum Group

\\n
{{productMappingDetails.minimum_group}}
\\n
\\n
\\n

Reduction Schedule

\\n
{{productMappingDetails.reduction_schedule}}
\\n
\\n
\\n

Reduction Schedule (in Months)

\\n
{{productMappingDetails.reduction_schedule_value}}
\\n
\\n
\\n

Channel

\\n
{{productMappingDetails.channel}}
\\n
\\n
\\n

Interest Rate

\\n
{{interestRate}}
\\n
\\n
\\n

Selected Life

\\n
{{selectedLife}}
\\n
\\n
\\n

Coverage Option

\\n
{{coverageOption}}
\\n
\\n
\\n

Max Coverage Term

\\n
{{coverageTerm}}
\\n
\\n
\\n

Master Code

\\n
{{selectedMasterCode}}
\\n
\\n \\n
\\n

Moratorium Term

\\n
{{moratoriumTerm}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n

Benefits

\\n
\\n
\\n
Flat - {{benefitName.name}} (Mortality Rate: {{benefitName.Band[\\\"table_reference\\\"]}})
\\n
Flat - {{benefitName.name}} (Table Reference: {{benefitName.Band[\\\"table_reference\\\"]}})
\\n
\\n
\\n
Age Band Wise - {{benefitName.name}}
\\n
\\n
Age Band - ({{obj[0]}}) : Mortality Rate - {{obj[1]}}
\\n
\\n
\\n
Age Band - ({{obj[0]}}) : Table Ref - {{obj[1]}}
\\n
\\n
\\n
\\n
Term Wise - {{benefitName.name}}
\\n
\\n
Term Band - ({{obj[0]}}) : Mortality Rate - {{obj[1]}}
\\n
\\n
\\n
Term Band - ({{obj[0]}}) : Table Ref - {{obj[1]}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n

Boundary Condition

\\n
\\n
\\n
\\n
\\n Benefits\\n
\\n
\\n Min. Age\\n
at Entry\\n
\\n
\\n Max. Age\\n
at Entry\\n
\\n
\\n Min. cover\\n
ceasing age\\n
\\n
\\n Max. cover\\n
ceasing age\\n
\\n
\\n Min. sum\\n
assured\\n
\\n
\\n Max. sum\\n
assured\\n
\\n
\\n Min. policy\\n
term\\n
\\n
\\n Max. policy\\n
term\\n
\\n
\\n
\\n
\\n {{benefit.title}} ({{benefit.bands}})\\n
\\n
\\n {{benefit.title}}\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n

SCHEME SECTION

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

Non-Medical Limits

\\n
{{productSchemeDetails.non_medical_limit}}
\\n
\\n
\\n

ACI/CI Non-Medical Limits

\\n
{{productSchemeDetails.acici_non_medical_limit}}
\\n
\\n
\\n

Cancer NML

\\n
{{productSchemeDetails.cancer_non_medical_limit}}
\\n
\\n
\\n

Hospitalization NML

\\n
{{productSchemeDetails.hosp_non_medical_limit}}
\\n
\\n
0\\\">\\n

Non-Medical Limits Value

\\n
\\n
\\n {{ss.key}}: \\n {{ss.value}}\\n
\\n
\\n
\\n
0\\\">\\n

ACI/CI Non-Medical Limits Value

\\n
\\n
\\n {{ss.key}}: \\n {{ss.value}}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n \\n
We couldn't find any Loan for this partner.\\n
Add Loan by clicking on the below button
\\n
\\n ADD LOAN TYPE\\n
\\n
\\n
\\n\\n\\n \\n

Deactivate Product\\n

\\n
\\n \\n
\\n Are you sure you want to deactivate\\n
{{productMappingDetails.policy_name}} ?\\n
\\n
\\n \\n
\\n
Cancel
\\n
Yes
\\n
\\n
\\n
\\n\\n \\n

Activate Product\\n

\\n
\\n \\n
\\n Are you sure you want to activate\\n
{{productMappingDetails.policy_name}} ?\\n
\\n
\\n \\n
\\n
Cancel
\\n
Yes
\\n
\\n
\\n
\\n\\n\\n \\n

Delete Product\\n

\\n
\\n \\n
\\n Are you sure you want to delete\\n
{{productMappingDetails.policy_name}} ?\\n
\\n
\\n \\n
\\n
Cancel
\\n
Yes
\\n
\\n
\\n
\\n\\n\\n\\n\\n\"","module.exports = \".page-container {\\n padding: 0px;\\n padding: 0rem 1rem !important;\\n justify-content: start; }\\n .page-container .partnerDetails-header {\\n width: 100%;\\n height: 50px;\\n margin: 0px; }\\n .page-container .partnerDetails-header .back-button {\\n float: left;\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%);\\n position: relative;\\n cursor: pointer;\\n margin: 0px; }\\n .page-container .partnerDetails-header .back-button img {\\n width: 1rem; }\\n .page-container .partnerDetails-header .back-button span {\\n margin-left: 10px;\\n font-size: 18px;\\n font-weight: bold;\\n color: #201c1c; }\\n .page-container .partnerDetails-header .partner-name {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin: 0px; }\\n .page-container .partnerDetails-header .partner-name img {\\n width: 3rem;\\n height: 3rem;\\n border-radius: 100%; }\\n .page-container .partnerDetails-header .partner-name span {\\n font-size: 20px;\\n text-transform: uppercase;\\n font-weight: 600;\\n margin-left: 10px;\\n color: #000000; }\\n .page-container .partnerDetails-page {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: calc(100% - 85px);\\n border-radius: 0.5rem;\\n padding: 10px;\\n margin-bottom: 0px;\\n padding-bottom: 0px;\\n margin-top: 1rem; }\\n .page-container .partnerDetails-page .product-menu {\\n width: 90%;\\n margin: 0 auto;\\n text-align: center; }\\n .page-container .partnerDetails-page .product-menu ::-webkit-scrollbar {\\n display: none !important; }\\n .page-container .partnerDetails-page .product-menu .drag-scroll-content {\\n justify-content: center !important; }\\n .page-container .partnerDetails-page .product-menu .menuTabItem {\\n margin: 0 5px;\\n display: flex;\\n font-size: 20px;\\n transition: border-bottom 0.2s linear;\\n -webkit-transition: border-bottom 0.2s linear;\\n cursor: pointer;\\n text-transform: capitalize;\\n /* border-right: 1px solid; */\\n margin-right: 5px;\\n padding-right: 15px;\\n justify-content: center;\\n align-items: center;\\n /* padding-bottom: 10px; */\\n color: #5d5757;\\n font-weight: 600; }\\n .page-container .partnerDetails-page .product-menu .activeTab {\\n border-bottom: 3px solid #e57518;\\n padding-bottom: 0.6rem; }\\n .page-container .partnerDetails-page .product-categories {\\n overflow-y: scroll;\\n height: calc(100% - 60px); }\\n .page-container .partnerDetails-page .product-categories .setButton {\\n float: right;\\n margin-right: 0.5rem; }\\n .page-container .partnerDetails-page .product-categories .setButton .button {\\n padding: 0.5rem 2rem;\\n margin-right: 1rem;\\n border: 1px solid;\\n font-weight: 600;\\n font-size: 12px !important; }\\n .page-container .partnerDetails-page .product-categories .partner {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n border-bottom: 1px solid #b3bbbc3b;\\n padding-bottom: 10px; }\\n .page-container .partnerDetails-page .product-categories .partner:last-child {\\n border-bottom: 0px; }\\n .page-container .partnerDetails-page .product-categories .partner .header {\\n padding: 5px;\\n display: flex;\\n justify-content: center;\\n margin: 0px; }\\n .page-container .partnerDetails-page .product-categories .partner .header div {\\n width: 45px;\\n height: 45px;\\n border-radius: 50%;\\n border: 1px solid #004681;\\n margin-right: 10px;\\n background: #004681;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .page-container .partnerDetails-page .product-categories .partner .header div img {\\n width: 20px; }\\n .page-container .partnerDetails-page .product-categories .partner .header span {\\n font-size: 17px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName {\\n width: 100%;\\n display: flex; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerLogo {\\n width: 10%; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerLogo img {\\n width: 5rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails {\\n width: 90%;\\n margin: 0px;\\n margin-left: 15px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails h1 {\\n font-size: 18px;\\n text-transform: uppercase;\\n margin-bottom: 0px;\\n font-weight: 600;\\n color: #000000;\\n margin-top: 1.8rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails {\\n width: 100%;\\n margin: 0px;\\n margin-top: 0.2rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body {\\n text-align: center;\\n height: calc(100% - 136px);\\n overflow-y: auto;\\n margin-top: 1rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row {\\n display: flex;\\n justify-content: space-evenly;\\n align-items: center;\\n margin: 0 auto;\\n border: 1px solid #d8d5d5;\\n border-bottom: none;\\n font-size: 12px !important;\\n font-weight: 600 !important; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row:last-child {\\n border-bottom: 1px solid #d8d5d5; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column {\\n width: 50%;\\n padding: 10px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n height: 40px;\\n margin: 0px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column:not(:last-child) {\\n border-right: 1px solid #d8d5d5; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column:not(:first-child) {\\n max-width: 8vw; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column:first-child {\\n justify-content: left;\\n text-align: left;\\n padding-left: 25px;\\n min-width: 150px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .product-body .product-row .product-column input {\\n padding-bottom: 0px;\\n font-size: 14px;\\n text-align: center;\\n margin-left: 0px !important;\\n min-width: 1em;\\n width: 100%; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details {\\n width: 30%;\\n margin: 0px;\\n float: left;\\n margin-right: 10px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details.benefits {\\n border: 1px solid #d8d5d5;\\n width: auto;\\n text-align: center;\\n padding: 10px;\\n border-radius: 15px;\\n margin-top: 10px;\\n margin-right: 20px;\\n height: auto; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details.benefits h6 {\\n margin-top: 0px; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details .showRow {\\n display: flex; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details h3 {\\n margin-bottom: 0px;\\n font-size: 15px;\\n font-weight: 600;\\n color: #b2aaaa;\\n text-transform: capitalize; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details h6 {\\n margin: 10px 0px 0px 0px;\\n font-size: 15px;\\n color: #000000;\\n font-weight: 600;\\n text-transform: none; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details .key {\\n margin-bottom: 0px;\\n font-size: 15px;\\n font-weight: 600;\\n color: #8f8383;\\n text-transform: capitalize;\\n margin-left: 0.3rem; }\\n .page-container .partnerDetails-page .product-categories .partner .partnerName .partnerDetails .productDetails .details .value {\\n margin: 10px 0px 0px 0px;\\n font-size: 15px;\\n color: #133451;\\n font-weight: 600;\\n text-transform: capitalize; }\\n .page-container .no-list {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: 100%;\\n border-radius: 0.5rem;\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n justify-content: center;\\n margin-top: 1rem; }\\n .page-container .no-list img {\\n width: 6rem;\\n margin: 0 auto; }\\n .page-container .no-list h5 {\\n color: #4d4f58;\\n font-size: 1.3rem;\\n font-weight: 100;\\n line-height: 1.7;\\n letter-spacing: 1px; }\\n .page-container .no-list .button {\\n padding: 1rem 2rem; }\\n .page-container .no-list .button img {\\n width: 0.9rem;\\n margin-right: 0.2rem; }\\n .modalBody {\\n margin: 3rem 0rem;\\n font-size: 20px;\\n font-weight: 400;\\n font-weight: 600;\\n font-size: 20px !important; }\\n .modal-dialog {\\n width: 90% !important; }\\n h2.center {\\n font-size: 26px !important;\\n font-weight: 600 !important; }\\n .modalFooter {\\n display: flex !important;\\n bottom: -1.5rem; }\\n .modalFooter .button {\\n font-size: 20px;\\n font-weight: 600;\\n padding: 1rem 1rem;\\n width: 10rem;\\n margin-left: 1rem; }\\n .modalFooter .cancelbtn {\\n color: #e57518;\\n border: 1.5px solid #e57518;\\n background: #fff; }\\n\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { DragScrollComponent } from 'ngx-drag-scroll';\nimport { RouterModule, Router, ActivatedRoute } from '@angular/router';\nimport { environment } from \"../../../environments/environment\";\nimport { ConfigService } from \"../../services/config.service\";\nimport { DataShareService } from \"../../services/data-share.service\";\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport Swal from 'sweetalert2';\nimport { toInteger } from '@ng-bootstrap/ng-bootstrap/util/util';\nimport * as jsPdf from 'jspdf';\n\nimport html2canvas from 'html2canvas';\n\nimport * as XLSX from 'xlsx';\n\n\nb2cModal1: ElementRef;\nb2cModal2: ElementRef;\nb2cModal3: ElementRef;\n\n@Component({\n selector: 'app-partner-details',\n templateUrl: './partner-details.component.html',\n styleUrls: ['./partner-details.component.scss']\n})\n\nexport class PartnerDetailsComponent implements OnInit {\n @ViewChild('nav', { read: DragScrollComponent }) ds: DragScrollComponent;\n @ViewChild('downloadSoftCopy') pdfcontent : ElementRef;\n\n @ViewChild('TABLE') TABLE: ElementRef;\n\n //object keys\n objectEntries = Object.entries;\n b2cModal1;\n b2cModal2;\n b2cModal3;\n sub;\n partner_id;\n partner_name;\n partner_logo;\n policyList;\n showPolicy = false;\n masterPolicy: any;\n renderHtml = false;\n policyId;\n policyDetails;\n policyHeader: any = [];\n policy: any = [];\n productMappingDetails: any = [];\n productBenifitsDetails: any = [];\n productBoundryConditionsDetails: any = [];\n productSchemeDetails: any = [];\n child: any;\n productName: any = [];\n name: any;\n benefitData: any;\n benefitDataFlat: any;\n benefitDataAge: any;\n benefitDataTerm: any;\n showData: any;\n status: any;\n schemesection;\n groupLoanSecure;\n superProductCredit;\n additionalCIopt;\n acceleratedCIopt;\n coverageTerm: any = [];\n coverageOption: any = [];\n selectedLife: any = [];\n moratoriumTerm: any = [];\n moratoriumPeriod: any = [];\n interestRate: any = [];\n indexCovTerm;\n indexMorTerm;\n benefits: any = [];\n selectedBenefit = \"\";\n selectedMasterCode: any;\n @ViewChild(\"b2cModal1\") set content(content: ElementRef) {\n this.b2cModal1 = content;\n }\n @ViewChild(\"b2cModal2\") set contents(contents: ElementRef) {\n this.b2cModal2 = contents;\n }\n @ViewChild(\"b2cModal3\") set content3(contents: ElementRef) {\n this.b2cModal3 = contents;\n }\n // productData = this.data;\n constructor(public routes: Router, public route: ActivatedRoute, public config: ConfigService,\n public change: DataShareService, public loader: Ng4LoadingSpinnerService) {\n // console.log(this.data);\n this.policyHeader.push({ \"header_name\": \"Product Mapping\", \"header_logo\": \"assets/images/product_mapping.svg\" },\n { \"header_name\": \"Benefits\", \"header_logo\": \"assets/images/Benefits.svg\" },\n { \"header_name\": \"Boundry Condition\", \"header_logo\": \"assets/images/boundary_condition.svg\" },\n { \"header_name\": \"Schema Section\", \"header_logo\": \"assets/images/scheme_section.svg\" });\n this.change.setPartnerConfig(false);\n environment.editPolicy = false;\n // this.policy.push(this.data.masterPolicies[0].policy_config[0].master_configuration_b2b);\n if (environment.loginSuccessfully == true) {\n this.policyList = environment.partnerDetails;\n console.log(this.policyList)\n this.selectedBenefit = environment.currentBenefit\n this.partner_id = this.policyList[0].partner_id;\n this.partner_name = this.policyList[0].partner_name;\n this.partner_logo = this.policyList[0].partner_logo;\n if (this.policyList[0].masterPolicies.length > 0) {\n this.showPolicy = true;\n this.masterPolicy = this.policyList[0].masterPolicies;\n var index = this.findProduct(this.policyList[0].masterPolicies, \"policy_name\", environment.currentBenefit)\n this.status = this.masterPolicy[index].status;\n this.policyId = this.policyList[0].masterPolicies[index].master_policy_id;\n this.policyDetails = this.policyList[0].masterPolicies[index].policy_config.master_configuration_b2b;\n this.productMappingDetails = this.policyDetails[\"Product Mapping\"];\n this.productBoundryConditionsDetails = this.policyDetails[\"Boundary Conditions\"];\n this.productSchemeDetails = this.policyDetails[\"SchemeSection\"];\n this.showData = this.productBoundryConditionsDetails\n if (this.productMappingDetails.product_id == 1) {\n environment.groupLoanSecure = true;\n environment.superProductCredit = false;\n }\n else if (this.productMappingDetails.product_id == 5) {\n environment.superProductCredit = true;\n environment.groupLoanSecure = false;\n }\n this.groupLoanSecure = environment.groupLoanSecure;\n this.superProductCredit = environment.superProductCredit;\n if (this.groupLoanSecure) {\n this.productBenifitsDetails = this.policyDetails[\"Benefits\"];\n }\n else if (this.superProductCredit) {\n this.productBenifitsDetails = this.policyDetails[\"Benefits\"];\n console.log(this.productSchemeDetails);\n this.selectedLife = this.productMappingDetails[\"selected_life\"][0].name;\n this.selectedMasterCode = this.productMappingDetails[\"master_code\"];\n this.interestRate = this.productMappingDetails[\"interest_rate\"][0].name;\n this.coverageOption = this.productMappingDetails[\"coverage_option\"][0].name;\n // this.moratoriumPeriod = this.productMappingDetails[\"moratorium_period\"][0].name;\n this.indexCovTerm = this.productMappingDetails[\"coverage_term\"];\n if (this.indexCovTerm != undefined) {\n this.coverageTerm = this.productMappingDetails[\"coverage_term\"][0].name;\n }\n this.indexMorTerm = this.productMappingDetails[\"moratorium_term\"];\n if (this.indexMorTerm != undefined) {\n this.moratoriumTerm = this.productMappingDetails[\"moratorium_term\"][0].name;\n }\n }\n this.renderHtml = true;\n var data = [];\n data = this.productBenifitsDetails\n if (this.groupLoanSecure) {\n if (data[\"AgeBandWise\"].length) {\n for (var i = 0; i < data[\"AgeBandWise\"].length; i++) {\n var bands = Object.keys(data[\"AgeBandWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var age = bands[j].split(\"-\");\n var allAge = []\n for (var k = 0; k < age.length; k++) {\n allAge.push(parseInt(age[k]))\n }\n this.benefits.push({ \"title\": data[\"AgeBandWise\"][i].name, \"type\": \"AgeBandWise\", \"bands\": bands[j], \"minAge\": Math.min(...allAge), \"maxAge\": Math.max(...allAge) })\n }\n }\n\n }\n } else {\n if (data[\"Flat\"].length > 0 || data[\"AgeBandWise\"].length || data[\"TermWise\"].length) {\n //push db first\n for (var i = 0; i < data[\"Flat\"].length; i++) {\n if (data[\"Flat\"][i].name.startsWith(\"Death Benefit\"))\n this.benefits.push({ \"title\": data[\"Flat\"][i].name, \"type\": \"FlatWise\" })\n }\n for (var i = 0; i < data[\"AgeBandWise\"].length; i++) {\n var bands = Object.keys(data[\"AgeBandWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var age = bands[j].split(\"-\");\n var allAge = []\n for (var k = 0; k < age.length; k++) {\n allAge.push(parseInt(age[k]))\n }\n if (data[\"AgeBandWise\"][i].name.startsWith(\"Death Benefit\"))\n this.benefits.push({ \"title\": data[\"AgeBandWise\"][i].name, \"type\": \"AgeBandWise\", \"bands\": bands[j], \"minAge\": Math.min(...allAge), \"maxAge\": Math.max(...allAge) })\n }\n }\n for (var i = 0; i < data[\"TermWise\"].length; i++) {\n var bands = Object.keys(data[\"TermWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var term = bands[j].split(\"-\");\n var allTerm = []\n for (var k = 0; k < term.length; k++) {\n allTerm.push(parseInt(term[k]))\n }\n if (data[\"TermWise\"][i].name.startsWith(\"Death Benefit\"))\n this.benefits.push({ \"title\": data[\"TermWise\"][i].name, \"type\": \"TermWise\", \"bands\": bands[j], \"minTerm\": Math.min(...allTerm), \"maxTerm\": Math.max(...allTerm) })\n }\n }\n //push everything else\n for (var i = 0; i < data[\"Flat\"].length; i++) {\n if (!(data[\"Flat\"][i].name.startsWith(\"Death Benefit\")))\n this.benefits.push({ \"title\": data[\"Flat\"][i].name, \"type\": \"FlatWise\" })\n }\n for (var i = 0; i < data[\"AgeBandWise\"].length; i++) {\n var bands = Object.keys(data[\"AgeBandWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var age = bands[j].split(\"-\");\n var allAge = []\n for (var k = 0; k < age.length; k++) {\n allAge.push(parseInt(age[k]))\n }\n if (!(data[\"AgeBandWise\"][i].name.startsWith(\"Death Benefit\")))\n this.benefits.push({ \"title\": data[\"AgeBandWise\"][i].name, \"type\": \"AgeBandWise\", \"bands\": bands[j], \"minAge\": Math.min(...allAge), \"maxAge\": Math.max(...allAge) })\n }\n }\n for (var i = 0; i < data[\"TermWise\"].length; i++) {\n var bands = Object.keys(data[\"TermWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var term = bands[j].split(\"-\");\n var allTerm = []\n for (var k = 0; k < term.length; k++) {\n allTerm.push(parseInt(term[k]))\n }\n if (!(data[\"TermWise\"][i].name.startsWith(\"Death Benefit\")))\n this.benefits.push({ \"title\": data[\"TermWise\"][i].name, \"type\": \"TermWise\", \"bands\": bands[j], \"minTerm\": Math.min(...allTerm), \"maxTerm\": Math.max(...allTerm) })\n }\n }\n }\n }\n\n }\n else {\n this.showPolicy = false;\n console.log(this.policyList);\n this.renderHtml = true;\n }\n }\n else {\n this.routes.navigate([\"login\"]);\n }\n }\n ngOnChanges() {\n console.log(\"working now\");\n }\n\n ngOnInit() {\n\n }\n\n\n//CREATING EXCEL\n downloadPdf() {\n \n this.loader.show();\n\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n wb.Props = {\n Title: \"Policy Premium\",\n Subject: \"Policy\",\n Author: \"Himanshu Singh\",\n //CreatedDate: new Date(2017,12,19)\n };\n \n\n var productMap=this.productMappingDetails;\n\n var productInfo=[ ['PRODUCT DETAILS'],\n ['Policy name', productMap[\"policy_name\"]], ['Loan Type', productMap[\"loan_type\"] ] ,[ 'Reduction Schedule', productMap[\"reduction_schedule\"] ] , ['Channel',productMap[\"channel\"]],\n ['Selected Life', productMap[\"selected_life\"][0][\"name\"] ], [ 'Interest Rate' , productMap[\"interest_rate\"][0][\"name\"] ] ,['Coverage Option', productMap[\"coverage_option\"][0][\"name\"] ],\n ['Coverage Term', productMap[\"coverage_term\"][0][\"name\"]],\n [' '],\n [' '],\n ['BOUNDARY CONDITIONS']\n ];\n\n\n\n var boundaryJson=this.productBoundryConditionsDetails;\n var flatBound=boundaryJson[\"FlatWise\"];\n var ageBound=boundaryJson[\"AgeBandWise\"];\n var termBound=boundaryJson[\"TermWise\"];\n var flatkey=Object.keys(flatBound);\n var agekey=Object.keys(ageBound);\n var termkey=Object.keys(termBound);\n\n var boundContainer=[];\n var boundaryHeader=[\"Benefit Name\",\"Minimum age\", \"Maximum age\", \"Minimum cover ceasing age\", \"Maximum cover ceasing age\", \"Minimum sum assured\", \"Maximum sum assured\", \"Minimum policy term\", \"Maximum policy term\"];\n boundContainer.push(boundaryHeader);\n\n flatkey.forEach(e=>{\n var arr=Object.values(flatBound[e][\"flat\"]);\n arr.unshift(e);\n boundContainer.push(arr);\n\n });\n\n agekey.forEach(e=>{\n\n var ageband=Object.keys(ageBound[e]);\n ageband.forEach(item=>{\n var arr=Object.values(ageBound[e][item]);\n arr.unshift(e+\" (\"+item+\")\");\n console.log(arr);\n boundContainer.push(arr);\n });\n });\n\n termkey.forEach(e=>{\n var termband=Object.keys(termBound[e]);\n termband.forEach(item=>{\n var arr=Object.values(termBound[e][item]);\n arr.unshift(e+\" (\"+item+\")\");\n console.log(arr);\n boundContainer.push(arr);\n\n });\n\n });\n \n var scheme=this.productSchemeDetails;\n\n var schemeKeys=Object.keys(scheme);\n\n var schemeInfo=[[''],[''],['SCHEME SECTION']];\n\n schemeKeys.forEach(e=>{\n\n if(!Array.isArray(scheme[e])){\n var str=e.replace(\"_\",\" \");\n schemeInfo.push([str,scheme[e]]);\n }\n\n })\n\n\n\n\n wb.SheetNames.push(\"Super Protect\");\n //USING AOA\n \n \n var ws =XLSX.utils.aoa_to_sheet(productInfo);\n\n XLSX.utils.sheet_add_aoa(ws,boundContainer, {origin:-1});\n XLSX.utils.sheet_add_aoa(ws,schemeInfo, {origin:-1});\n\n wb.Sheets[\"Super Protect\"] = ws;\n\n XLSX.writeFile(wb, this.selectedBenefit+ '.xlsx');\n this.loader.hide();\n\n\n }\n\n //CREATING PDF\n ExportTOExceldownloadPdaf(){\n this.loader.show();\n console.log(\"downloading pdf\");\n // let doc= new jsPdf('p', 'mm', 'a4');\n\n // let specialElementHandlers={\n\n // '#editor':function (element,renderer) {\n // return true;\n // }\n // };\n\n // let content =this.pdfcontent.nativeElement;\n\n // doc.fromHTML(content.innerHTML, 15,15,{\n\n // 'width':190,\n // 'elementHandlers':specialElementHandlers\n\n // });\n\n // doc.save('test.pdf');\n\n /************new method */\n var data = document.getElementById('downloadSoftCopy');\n html2canvas(data).then(canvas => {\n // Few necessary setting options\n var imgWidth = 208;\n var pageHeight = 295;\n var imgHeight = canvas.height * imgWidth / canvas.width;\n var heightLeft = imgHeight;\n\n const contentDataURL = canvas.toDataURL('image/png')\n let pdf = new jsPdf('p', 'mm', 'a4'); // A4 size page of PDF\n var position = 0;\n pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n pdf.save(this.selectedBenefit+ '_softcopy.pdf'); // Generated PDF\n this.loader.show();\n });\n\n\n\n\n\n }\ncounter=0;\n ngAfterViewInit() {\n var row = document.querySelectorAll(\"div.product-row\");\n if (this.groupLoanSecure) {\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var band;\n var benName;\n var covType;\n var column = row[i].querySelectorAll('.product-column');\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value == \"product-column product-name\") {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n for (var k = 0; k < this.benefits.length; k++) {\n if (this.name.includes(this.benefits[k].title) && !(this.name.includes(\"Accidental Death Benefit\"))) {\n if (this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].bands == '999') {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n }\n } else if (this.name.includes(this.benefits[k].title) && (this.benefits[k].title == (\"Accidental Death Benefit\"))) {\n if (this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].bands == '999') {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n }\n }\n }\n if (this.showData[covType][benName] != undefined) {\n if (this.showData[covType][benName][band] != undefined) {\n this.benefitData = this.showData[covType][benName][band];\n } else {\n this.benefitData = []\n }\n }\n else {\n this.benefitData = []\n }\n console.log(this.benefitData);\n }\n else if (this.child.classList.value == \"product-column product-min-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-cover-ceasing-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-cover-ceasing-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-sum-assured\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-sum-assured\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-policy-term\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-policy-term\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-policy-term\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-policy-term\");\n this.child.querySelector('input').value = value;\n }\n }\n }\n }\n } else if (this.superProductCredit) {\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var band;\n var benName;\n var covType;\n var column = row[i].querySelectorAll('.product-column');\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value == \"product-column product-name\") {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n for (var k = 0; k < this.benefits.length; k++) {\n if (this.name.includes(this.benefits[k].title) && !(this.name.includes(\"Accidental Death Benefit\"))) {\n if (this.benefits[k].type != \"Flat\" && this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].type == \"Flat\" && this.benefits[k].title == this.name || this.benefits[k].type == \"FlatWise\" && this.benefits[k].title == this.name) {\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n }\n } else if (this.name.includes(this.benefits[k].title) && (this.benefits[k].title == (\"Accidental Death Benefit\"))) {\n if (this.benefits[k].type != \"Flat\" && this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].type == \"Flat\" && this.benefits[k].title == this.name || this.benefits[k].type == \"FlatWise\" && this.benefits[k].title == this.name) {\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n }\n }\n }\n\n if (covType != \"FlatWise\") {\n if (this.showData[covType][benName] != undefined) {\n if (this.showData[covType][benName][band] != undefined) {\n this.benefitData = this.showData[covType][benName][band];\n } else {\n this.benefitData = []\n }\n }\n else {\n this.benefitData = []\n }\n } else {\n if (this.showData[covType][benName] != undefined) {\n this.benefitData = this.showData[covType][benName];\n } else {\n this.benefitData = []\n }\n }\n console.log(this.counter++ +\" \"+ this.benefitData);\n }\n else if (this.child.classList.value == \"product-column product-min-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-cover-ceasing-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-cover-ceasing-age\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-sum-assured\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-sum-assured\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-min-policy-term\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-policy-term\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value == \"product-column product-max-policy-term\" && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-policy-term\");\n this.child.querySelector('input').value = value;\n }\n }\n }\n }\n }\n }\n goToAddProduct(id) {\n var url = \"/service/admin/\" + environment.userid + \"/lpartners/\" + id;\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n environment.partnerDetails = [];\n environment.currentPartnerDetails = [];\n var data = res;\n environment.editDetails = true;\n environment.currentPartnerDetails.push(data);\n environment.partnerDetails.push(data);\n this.routes.navigate(['product-mapping']);\n\n },\n err => {\n console.log(err);\n }\n )\n }\n\n isArray(ads) {\n return Object.prototype.toString.call(ads) == \"[object Array]\";\n }\n isObject(ads) {\n return Object.prototype.toString.call(ads) == \"[object Object]\";\n }\n\n backNavigation() {\n this.routes.navigate([\"partnerListing\"]);\n }\n\n deactivate(policyId, method) {\n var activateValue;\n if (method == 'active') {\n activateValue = 1;\n }\n else {\n activateValue = 0;\n }\n console.log(policyId);\n console.log(environment.partnerDetails);\n var url = \"/service/admin/\" + environment.userid + \"/partners/\" + environment.partnerDetails[0].partner_id + \"/policies/\" + policyId + \"/active/\" + activateValue;\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n // this.b2cModal1.close(e)\n Swal({\n title: \"Product is now\" + \" \" + method + \"!\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n\n });\n this.routes.navigate([\"/partnerListing\"]);\n },\n err => {\n\n }\n )\n }\n\n deletePolicy(policyId){\n console.log(policyId);\n console.log(environment.partnerDetails);\n var url = \"/service/admin/\" + environment.userid + \"/partners/\" + environment.partnerDetails[0].partner_id + \"/policies_delete/\" + policyId ;\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n // this.b2cModal1.close(e)\n Swal({\n title: \"Product is deleted!\",\n type: 'success',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n\n });\n this.routes.navigate([\"/partnerListing\"]);\n },\n err => {\n\n }\n )\n }\n openModal1() {\n this.b2cModal1.open();\n }\n closeModel1(event) {\n this.b2cModal1.close(event);\n }\n openModal2() {\n this.b2cModal2.open();\n }\n openModal3() {\n this.b2cModal3.open();\n }\n closeModel2(event) {\n this.b2cModal2.close(event);\n }\n closeModel3(event) {\n this.b2cModal3.close(event);\n }\n\n findIndexValue(arraytosearch, key, valuetosearch) {\n\n for (var i = 0; i < arraytosearch.length; i++) {\n\n if (arraytosearch[i][key] == valuetosearch) {\n return i;\n }\n }\n return null;\n }\n\n findProduct(arraytosearch, key, valuetosearch) {\n\n for (var i = 0; i < arraytosearch.length; i++) {\n var name = arraytosearch[i][key]\n name = name.toLowerCase();\n valuetosearch = valuetosearch.toLowerCase();\n if (name == valuetosearch) {\n return i;\n }\n }\n return null;\n }\n\n editPolicy(policyId) {\n environment.editPolicy = true;\n environment.editPolicyId = policyId;\n if (this.groupLoanSecure) {\n environment.savedProductMapping.push(this.policyDetails[\"Product Mapping\"]);\n environment.savedProductBenefit.push({ \"benefits\": this.policyDetails[\"Benefits\"] });\n environment.savedProductBoundryCondition = this.policyDetails[\"Boundary Conditions\"];\n environment.savedProductScheme.push(this.policyDetails[\"SchemeSection\"]);\n this.routes.navigate([\"/product-mapping\"]);\n }\n else if (this.superProductCredit) {\n environment.savedProductMapping.push(this.policyDetails[\"Product Mapping\"]);\n environment.savedProductBenefit.push({ \"benefits\": this.policyDetails[\"Benefits\"] });\n environment.savedProductOtherBenefit.push({ \"other_benefits\": this.policyDetails[\"Other-Benefits\"] });\n environment.savedProductBoundryCondition = this.policyDetails[\"Boundary Conditions\"];\n environment.savedProductScheme.push(this.policyDetails[\"SchemeSection\"]);\n this.routes.navigate([\"/product-mapping\"]);\n }\n\n }\n\n}\n","module.exports = \"
\\n
\\n

Partner List\\n ({{totalPartners}})\\n

\\n
\\n
\\n ADD PARTNER\\n
\\n \\n \\n
\\n
\\n
\\n \\n
We couldn't find any Partners on this page.\\n
Add Partner by clicking on the below button
\\n
\\n ADD PARTNER
\\n
\\n\\n
\\n \\n
\\n \\n
We couldn't find any Partners
\\n
\\n
\\n \\n
0 \\\">\\n
\\n
\\n \\n
\\n
\\n
{{partner.partner_name}}
\\n \\n
\\n {{partnerDetails.policy_config.master_configuration_b2b[\\\"Product Mapping\\\"].product_name}}\\n
\\n
\\n {{partnerDetails.policy_config.master_configuration_b2b[\\\"Product Mapping\\\"].policy_name}}\\n
\\n
\\n {{partnerDetails.policy_config.master_configuration_b2b[\\\"Product Mapping\\\"].loan_type}}\\n
\\n \\n
\\n
\\n
\\n ASSIGN FSC\\n
\\n \\n
\\n DETAILS\\n
\\n
\\n EDIT\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
{{partner.partner_name}}
\\n \\n \\n
\\n
\\n \\n
\\n DETAILS\\n
\\n
\\n EDIT\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n\"","module.exports = \".page-container {\\n padding: 0rem 1rem !important;\\n justify-content: start; }\\n .page-container .addSearchPartner {\\n width: 100%;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin: 0rem 0; }\\n .page-container .addSearchPartner input {\\n margin-left: 0.5rem !important; }\\n .page-container .addSearchPartner h4 {\\n margin: 0px;\\n font-size: 1.8rem;\\n margin-top: 1rem;\\n margin-left: -1rem;\\n font-weight: 600; }\\n .page-container .addSearchPartner .sidebuttons {\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .page-container .addSearchPartner .sidebuttons div, .page-container .addSearchPartner .sidebuttons span {\\n margin: 0 0rem; }\\n .page-container .addSearchPartner .sidebuttons span {\\n width: 20rem;\\n margin-right: -3.5rem; }\\n .page-container .addSearchPartner .sidebuttons span fieldset input {\\n margin-left: 2rem; }\\n .page-container .addSearchPartner .sidebuttons span fieldset input .searchIcon {\\n top: 30%;\\n left: 1.2rem;\\n margin-right: 2rem; }\\n .page-container .addSearchPartner .sidebuttons .button {\\n padding: 0.7rem 1rem; }\\n .page-container .addSearchPartner .sidebuttons .button img {\\n width: 0.7rem;\\n margin-right: 0.2rem; }\\n .page-container .no-list {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: 100%;\\n border-radius: 0.5rem;\\n display: flex;\\n align-items: center;\\n flex-direction: column;\\n justify-content: center; }\\n .page-container .no-list img {\\n width: 6rem;\\n margin: 0 auto; }\\n .page-container .no-list h5 {\\n color: #4d4f58;\\n font-size: 1.3rem;\\n font-weight: 100;\\n line-height: 1.7;\\n letter-spacing: 1px; }\\n .page-container .no-list .button {\\n padding: 1rem 2rem; }\\n .page-container .no-list .button img {\\n width: 0.8rem;\\n margin-right: 0.2rem; }\\n .page-container .listing {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n width: 100%;\\n height: 100%;\\n border-radius: 0.5rem;\\n align-items: center;\\n overflow-y: auto;\\n overflow-x: hidden;\\n margin-top: 1rem;\\n padding-left: 1rem;\\n padding-right: 1rem; }\\n .page-container .listing .partner-noFound {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n border-bottom: 1px solid #b3bbbc3b;\\n height: 420px;\\n justify-content: center;\\n flex-direction: column; }\\n .page-container .listing .partner-noFound img {\\n width: 6rem;\\n margin: 0 auto; }\\n .page-container .listing .partner-noFound h5 {\\n color: #4d4f58;\\n font-size: 1.3rem;\\n font-weight: 100;\\n line-height: 1.7;\\n letter-spacing: 1px; }\\n .page-container .listing .partner {\\n width: 100%;\\n display: flex;\\n align-items: center;\\n margin-top: 0;\\n margin-bottom: 0; }\\n .page-container .listing .partner .partnerName {\\n width: 100%;\\n justify-content: center;\\n margin-bottom: 0;\\n margin-top: 0; }\\n .page-container .listing .partner .partnerName .productDetails {\\n border-bottom: 1px solid #b3bbbc3b;\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-top: 0;\\n margin-bottom: 0;\\n padding: 5px; }\\n .page-container .listing .partner .partnerName .partnerLogo {\\n width: 4rem !important;\\n height: 3rem !important;\\n border-radius: 50%;\\n overflow: hidden;\\n border: 1px solid #d2c7c7;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: #eee; }\\n .page-container .listing .partner .partnerName .partnerLogo img {\\n width: 2rem; }\\n .page-container .listing .partner .partnerName .partnerDetails {\\n width: 90%;\\n margin: 0px;\\n margin-left: 15px; }\\n .page-container .listing .partner .partnerName .partnerDetails .partner-name {\\n font-weight: 600;\\n font-size: 11px !important;\\n text-transform: uppercase; }\\n .page-container .listing .partner .partnerName .partnerDetails .policy-type {\\n font-weight: 600;\\n font-size: 11px !important; }\\n .page-container .listing .partner .partnerName .partnerDetails .policy-name {\\n text-transform: capitalize;\\n font-weight: 600;\\n color: #8d8888;\\n font-size: 11px !important; }\\n .page-container .listing .partner .partnerName .partnerDetails .loan-type {\\n font-weight: 100;\\n color: #514e4e;\\n text-transform: capitalize;\\n font-size: 11px !important; }\\n .page-container .listing .partner .partnerName .partnerDetails h1 {\\n font-size: 15px;\\n text-transform: uppercase;\\n margin-bottom: 0px;\\n font-weight: 600;\\n letter-spacing: 1px; }\\n .page-container .listing .partner .partnerName .partnerDetails .productDetails {\\n width: 100%;\\n margin: 0px; }\\n .page-container .listing .partner .partnerName .partnerDetails .productDetails .details {\\n width: 50%;\\n margin: 0px;\\n float: left; }\\n .page-container .listing .partner .partnerName .partnerDetails .productDetails .details h3 {\\n margin-bottom: 0px;\\n font-size: 16px;\\n text-transform: capitalize;\\n font-weight: 600;\\n color: #8d8888; }\\n .page-container .listing .partner .partnerName .partnerDetails .productDetails .details h6 {\\n margin: 10px 0px 0px 0px;\\n font-size: 15px;\\n font-weight: 100;\\n color: #514e4e;\\n text-transform: capitalize; }\\n .page-container .listing .partner .partnerOptions {\\n /* width: 60%; */\\n display: flex;\\n justify-content: center;\\n min-width: -webkit-max-content;\\n min-width: -moz-max-content;\\n min-width: max-content; }\\n .page-container .listing .partner .partnerOptions .rigthMenu {\\n /* width: 40%; */\\n text-align: center;\\n border-left: 1px solid #e57518;\\n text-align: center;\\n padding: 0px 10px; }\\n .page-container .listing .partner .partnerOptions .rigthMenu.addProduct {\\n border-left: none;\\n text-align: center; }\\n .page-container .listing .partner .partnerOptions .rigthMenu a {\\n text-decoration: none;\\n color: #e57518;\\n font-weight: 600;\\n font-size: 11px;\\n border-right: 1px solid #e5e5e5;\\n line-height: 25px;\\n cursor: pointer; }\\n .page-container .listing .partner .partnerOptions .rigthMenu a:last-child {\\n border-right: none; }\\n @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\n .no-list {\\n box-shadow: 0px 3px 5px 4px rgba(212, 193, 212, 0.79) !important; }\\n .no-list .button img {\\n height: 1rem; } }\\n input {\\n margin-left: 0.5rem !important; }\\n fieldset .icon.right {\\n top: 32%;\\n left: 1rem;\\n margin-right: 2rem; }\\n\"","import { Component, OnInit, ElementRef, AfterViewInit, ViewChild, NgModule } from '@angular/core';\nimport { RouterModule, Router, NavigationEnd, NavigationExtras } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { ConfigService } from '../../services/config.service';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { DataShareService } from '../../services/data-share.service';\nimport swal from 'sweetalert2';\n\n@Component({\n selector: 'app-partner-page',\n templateUrl: './partner-page.component.html',\n styleUrls: ['./partner-page.component.scss']\n})\n\nexport class PartnerPageComponent implements OnInit, AfterViewInit {\n @ViewChild('input') input: ElementRef;\n partnerListing;\n navigationSubscription;\n showPartnerList = false;\n renderHtml = false;\n searchText = \"\";\n searchValue = \"\";\n noPolicies = false\n totalPartners;\n products: any[] = [];\n selectedFsc: any[] = [];\n isPartnerActive = true;\n isFscActive = false;\n\n constructor(public routes: Router, public config: ConfigService, public loader: Ng4LoadingSpinnerService,\n public change: DataShareService, public el: ElementRef) {\n this.change.setPartnerConfig(false);\n if (environment.loginSuccessfully == true) {\n this.loader.show();\n this.clearData();\n this.showList();\n console.log(this.partnerListing);\n } else {\n this.routes.navigate([\"login\"]);\n }\n\n // this.navigationSubscription = this.routes.events.subscribe((e: any) => {\n // // If it is a NavigationEnd event re-initalise the component\n // console.log(e);\n // if (e instanceof NavigationEnd) {\n // this.searchValue = \"\";\n // this.searchText = \"\";\n // this.showList();\n // }\n // });\n\n }\n \n\n showList() {\n var url = \"/service/admin/\" + environment.userid + \"/lpartners\";\n this.config.httpService('post', url, \"\").subscribe(\n res => {\n //debugger;\n this.partnerListing = res;\n environment.partnerListing = this.partnerListing;\n this.totalPartners = this.partnerListing.length\n if (this.partnerListing.length > 0) {\n this.showPartnerList = true;\n this.renderHtml = true;\n this.loader.hide();\n }\n else {\n this.showPartnerList = false;\n this.renderHtml = true;\n this.loader.hide();\n }\n this.loader.hide();\n },\n err => {\n debugger;\n this.loader.hide();\n swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.routes.navigate([\"login\"]);\n })\n }\n );\n }\n\n clearData() {\n environment.savedProductMapping = []\n environment.savedProductBenefit = []\n environment.savedProductOtherBenefit = []\n environment.savedTillProductBoundryCondition = []\n environment.savedProductBoundryCondition = {}\n environment.savedProductScheme = []\n environment.groupLoanSecure = true\n environment.superProductCredit = false\n }\n\n check(event) {\n if (event.target.classList.contains('right')) {\n console.log(event.target);\n this.searchText = \"\";\n event.target.parentElement.childNodes[1].value = \"\";\n var partnerList = this.el.nativeElement.querySelectorAll('.productDetails')\n for (var i = 0; i < partnerList.length; i++) {\n partnerList[i].style.display = \"\"\n this.noPolicies = false\n }\n }\n this.totalPartners = this.partnerListing.length\n }\n // ngOnInit() {\n // //this.showList();\n // this.searchText = '';\n // //this.showList();\n\n\n // }\n\n ngOnInit(): void {\n this.isPartnerActive = true;\n this.isFscActive = false;\n var url = \"/service/fsc/all/\";\n this.config.httpService(\"get\", url, \"\").subscribe(\n res => {\n var data;\n data = res;\n this.products = data.products;\n },\n err => {\n console.log(err);\n }\n );\n }\n\n onCheckboxChange(fsc: any, event: any) {\n if (event.target.checked) {\n this.selectedFsc.push(fsc);\n } else {\n this.selectedFsc = this.selectedFsc.filter(selected => selected !== fsc);\n }\n }\n\n ngAfterViewInit() {\n //this.showList();\n var input = this.el.nativeElement.querySelectorAll(\"input\");\n if (input.length > 1) {\n alert(\"got it!!\");\n input[0].value = \"\";\n }\n }\n\n goToAddPartner() {\n environment.editDetails = false;\n this.routes.navigate([\"addPartner\"]);\n }\n\n goToAddPartnerFsc() {\n environment.editDetails = false;\n this.routes.navigate([\"addPartnerFsc\"]);\n }\n\n\n searchPartner(event) {\n this.searchText = event.target.parentElement.childNodes[1].value;\n }\n\n onKeydown(event) {\n this.searchText = event.target.parentElement.childNodes[1].value.toLowerCase();\n console.log(this.searchPartner);\n var partnerList = this.el.nativeElement.querySelectorAll('.productDetails')\n var count = 0\n var partners\n var totalPolicies = []\n for (var i = 0; i < partnerList.length; i++) {\n if (partnerList[i].querySelector('.policy-name') != null) {\n var partnerName = partnerList[i].querySelector('.partner-name').innerText.toLowerCase()\n var policyName = partnerList[i].querySelector('.policy-name').innerText.toLowerCase()\n var loanType = partnerList[i].querySelector('.loan-type').innerText.toLowerCase()\n var policyType = partnerList[i].querySelector('.policy-type').innerText.toLowerCase()\n if (policyName.indexOf(this.searchText) == -1 && policyType.indexOf(this.searchText) == -1 && partnerName.indexOf(this.searchText) == -1 && loanType.indexOf(this.searchText) == -1) {\n partnerList[i].style.display = \"none\"\n }\n else {\n partnerList[i].style.display = \"\"\n var data = partnerList[i].querySelector('.partner-name').innerText.toLowerCase();\n if (!totalPolicies.includes(data)) {\n totalPolicies.push(data)\n }\n }\n }\n else {\n var partnerName = partnerList[i].querySelector('.partner-name').innerText.toLowerCase()\n if (partnerName.indexOf(this.searchText) == -1) {\n partnerList[i].style.display = \"none\"\n }\n else {\n partnerList[i].style.display = \"\"\n var data = partnerList[i].querySelector('.partner-name').innerText.toLowerCase();\n if (!totalPolicies.includes(data)) {\n totalPolicies.push(data)\n }\n }\n }\n if (partnerList[i].style.display == \"none\") {\n count++\n }\n }\n this.totalPartners = totalPolicies.length\n if (count == partnerList.length) {\n this.noPolicies = true\n }\n else {\n this.noPolicies = false\n }\n\n }\n\n getPartnerDetails(event, id, page) {\n this.loader.show();\n if (event.target.parentElement.parentElement.parentElement.querySelector('.policy-name') != null) {\n environment.currentBenefit = event.target.parentElement.parentElement.parentElement.querySelector('.policy-name').dataset.policyname\n }\n if(event.target.childNodes[0].textContent == \"ASSIGN FSC\"){\n var partner_id = id.partner;\n var product_id = id.master_policy_id; \n \n const navigationExtras: NavigationExtras = {\n queryParams: {\n partner_id: partner_id, \n product_id: product_id,\n // Add more properties as needed\n },\n }; \n this.routes.navigate(['fscMapping'], navigationExtras);\n }\n else{\n var url = \"/service/admin/\" + environment.userid + \"/lpartners/\" + id;\n this.config.httpService(\"post\", url, \"\").subscribe(\n res => {\n environment.partnerDetails = [];\n environment.currentPartnerDetails = [];\n var data = res;\n environment.editDetails = true;\n environment.currentPartnerDetails.push(data);\n environment.partnerDetails.push(data);\n if (page == \"product-mapping\") {\n this.routes.navigate(['product-mapping']);\n }\n else if (page == \"addPartner\") {\n this.routes.navigate([\"addPartner\"]);\n }\n else if (page == \"partner-details\") {\n this.routes.navigate([\"partner-details\"]);\n }\n this.loader.hide();\n },\n err => {\n this.loader.hide();\n swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n this.routes.navigate([\"login\"]);\n })\n }\n )\n }\n }\n}\n","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n PRODUCT BENEFITS\\n
\\n \\n \\n \\n
\\n
BACK
\\n
NEXT
\\n
\\n\\n
\\n\"","module.exports = \".product-benifit {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n border-radius: 9px;\\n height: calc(100% - 175px);\\n margin-top: 1rem;\\n margin-bottom: 1rem; }\\n .product-benifit .progress-bar {\\n width: 100%;\\n height: 5px;\\n background: #d9e8f4;\\n border-radius: 5px; }\\n .product-benifit .progress-bar div {\\n width: 50%;\\n height: 5px;\\n background: #004681;\\n border-radius: 5px; }\\n .product-benifit .progress-bar.sp div {\\n width: 75%;\\n height: 8px;\\n background: #004681;\\n border-radius: 5px; }\\n .product-benifit .product-header {\\n padding: 11px;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .product-benifit .product-header div {\\n width: 40px;\\n height: 40px;\\n border-radius: 50%;\\n border: 1px solid #004681;\\n margin-right: 10px;\\n background: #004681;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .product-benifit .product-header div img {\\n width: 28px; }\\n .product-benifit .product-header span {\\n font-size: 15px !important;\\n font-weight: 600; }\\n .product-benifit .products {\\n height: calc(100% - 100px);\\n overflow: hidden; }\\n .product-benifit .products .product-body {\\n margin: 10px;\\n text-align: center;\\n height: calc(100% - 2px);\\n overflow-y: auto;\\n overflow-x: hidden; }\\n .product-benifit .products .product-body .product-row {\\n width: 98%;\\n display: flex;\\n justify-content: center;\\n align-items: stretch;\\n margin: 0 auto;\\n min-height: 46px; }\\n .product-benifit .products .product-body .product-row .product-column {\\n width: 100%; }\\n .product-benifit .products .product-body .product-row .product-column .benefitDropdown {\\n max-width: 14em;\\n padding-bottom: 15px; }\\n .product-benifit .products .product-body .product-row .product-column input.val {\\n width: 7.5rem;\\n text-align: center; }\\n .product-benifit .products .product-body .product-row .product-column .inputemi {\\n position: relative;\\n top: -20px;\\n display: flex;\\n margin-bottom: 15px;\\n margin-top: 20px; }\\n .product-benifit .products .product-body .product-row .product-column .inputemi .value2 {\\n margin-left: 30px; }\\n .product-benifit .products .product-body .product-row .product-column .sameText {\\n font-size: 15px !important;\\n color: #000;\\n font-weight: 501;\\n text-align: center; }\\n .product-benifit .products .product-body .product-row .product-column .sameText.x {\\n position: relative;\\n top: 20px; }\\n .product-benifit .products .product-body .product-row .product-column:not(.benefitValue) {\\n align-items: center; }\\n .product-benifit .products .product-body .product-row .product-column.border {\\n border-left: 1px solid #dadada;\\n justify-content: center;\\n border-right: 1px solid #dadada; }\\n .product-benifit .products .product-body .product-row fieldset {\\n margin: 1rem;\\n color: #999a9f;\\n position: relative;\\n align-items: center;\\n display: inline-flex;\\n background: #fff;\\n width: 40%;\\n text-align: left;\\n width: 45%;\\n border: none;\\n border-bottom: 1px solid #000;\\n max-width: -3em; }\\n .product-benifit .products .product-body .product-row .table-column {\\n width: 30%;\\n font-weight: 600; }\\n .product-benifit .products .product-body .product-row .mortality-rate {\\n display: flex;\\n justify-content: center; }\\n .product-benifit .products .product-body .product-row .mortality-rate .button {\\n color: #000;\\n white-space: nowrap;\\n background: #fff !important;\\n padding: 0.4rem 1.7rem;\\n margin: 7px;\\n font-weight: 600;\\n font-size: 12px !important;\\n max-width: 82%;\\n border: 1px solid #d5d5d5; }\\n .product-benifit .products .product-body .product-row .mortality-rate .isSelected {\\n color: #ffffff;\\n background: #004681 !important; }\\n .product-benifit .products .product-body .product-row input {\\n border-bottom: 1px solid #000 !important;\\n border: none;\\n min-width: 6em;\\n margin-left: 2px;\\n margin-bottom: 8px; }\\n .product-benifit .products .product-body .product-row .hideBand {\\n visibility: hidden; }\\n .product-benifit .products .product-body .product-row .add-more:not(.death) {\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n color: #e57518;\\n white-space: nowrap;\\n position: relative;\\n justify-content: center;\\n width: 52px;\\n top: -18px;\\n max-height: 0px;\\n left: 20vw;\\n margin: 0px; }\\n .product-benifit .products .product-body .product-row .add-more:not(.death) .icon {\\n left: 0rem; }\\n .product-benifit .products .product-body .product-row .add-more:not(.death) p {\\n margin: 0 !important;\\n font-size: 9px !important;\\n font-weight: 600; }\\n .product-benifit .products .product-body .product-row .add-more.death {\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n color: #e57518;\\n white-space: nowrap;\\n position: relative;\\n justify-content: center;\\n width: 52px;\\n top: -18px;\\n max-height: 0px;\\n left: 20vw;\\n margin: 0px; }\\n .product-benifit .products .product-body .product-row .add-more.death .icon {\\n left: 0rem; }\\n .product-benifit .products .product-body .product-row .add-more.death p {\\n margin: 0 !important;\\n font-size: 9px !important;\\n font-weight: 600; }\\n .product-benifit .products .product-body .product-row i.icon.icon-close.close {\\n position: relative;\\n left: 90px;\\n top: -40px; }\\n .product-benifit .products .product-body .product-row .noShow {\\n visibility: hidden; }\\n .product-benifit .products .product-body .product-row.head {\\n border-bottom: 1px solid #dadada;\\n font-size: 49px !important;\\n max-height: 6px;\\n min-height: 2.3rem;\\n justify-content: center;\\n text-align: center;\\n position: relative;\\n top: -0.3rem;\\n /* display: flex; */\\n align-items: center;\\n width: 94%; }\\n .product-benifit .products .product-body .product-row.head .product-column {\\n text-align: center;\\n font-size: 12px !important;\\n color: #9a9a9a;\\n font-weight: 600;\\n justify-content: center;\\n max-height: 23px;\\n margin-top: 18px; }\\n .product-benifit .products .product-body .product-row:last-child {\\n margin-bottom: 2rem; }\\n .product-benifit .footer {\\n margin: 0 auto;\\n width: 50%;\\n display: flex;\\n justify-content: space-evenly; }\\n .product-benifit .footer .button {\\n width: 10%;\\n margin: 0 auto;\\n top: 5px;\\n position: relative; }\\n .product-benifit .footer .white-back.button {\\n background: #fff;\\n border: 1px solid #e57518;\\n color: #000; }\\n .product-benifit fieldset {\\n margin: 1rem;\\n color: #999a9f;\\n position: relative;\\n align-items: center;\\n display: inline-flex;\\n background: #fff;\\n width: 40%;\\n text-align: left;\\n width: 45%;\\n border: none;\\n border-bottom: 1px solid #000;\\n max-width: -3em; }\\n .checkbox, .checkboxLegend, .radio {\\n top: 7px !important; }\\n\"","import { Component, OnInit, ElementRef, ChangeDetectorRef, AfterContentChecked } from '@angular/core';\nimport { RouterModule, Router, ActivatedRoute } from '@angular/router';\nimport { AppComponent } from '../../app.component';\nimport { environment } from '../../../environments/environment';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { ConfigService } from '../../services/config.service';\nimport { DataShareService } from '../../services/data-share.service';\nimport swal from 'sweetalert2';\nimport { findIndex } from '../../../../node_modules/rxjs/operators';\nimport { TRANSITION_ID } from '../../../../node_modules/@angular/platform-browser/src/browser/server-transition';\nimport { empty } from '../../../../node_modules/rxjs';\n\n@Component({\n selector: 'app-product-benifits',\n templateUrl: './product-benifits.component.html',\n styleUrls: ['./product-benifits.component.scss']\n})\nexport class ProductBenifitsComponent implements OnInit {\n sub;\n id;\n DeathBenefitValue = true;\n criticalIllnessList: any;\n productData: any;\n benefitList: any;\n interestRates: any = [];\n otherBenifitsList: any;\n superProtectBenefitList: any;\n selectedCriticalIllness: any;\n adbBenefit = false;\n tpdBenefit = false;\n terminalIllnessBenefit = false;\n enchancedAdbBenefit = false;\n accidentalTpdBenefit = false;\n cancerProtectBenefit = false;\n accidentalCIBenefit = false;\n additionalCIBenefit = false;\n emiWaiverBenefit = false;\n jointLifeBenefit = false;\n saveData: any = [];\n newBenefitsData: any = [];\n newOtherBenefitsData: any = [];\n productMappingData: any;\n benefit: any = {};\n otherBenefit: any = [];\n selectedFloorRate: any = \"\";\n storeData: any = [];\n bandRange: any = [];\n groupLoanSecure = environment.groupLoanSecure;\n superProductCredit = environment.superProductCredit;\n shubhRakshaCredit = environment.shubhRakshaCredit;\n asseleratedCI: any;\n additionalCI: any;\n waiverHospital: any;\n selectedAcceleratedCI: any;\n selectedAdditionalCI: any;\n selectedADBValue: any;\n selectedwaiverHospitalDays: any;\n selectedCancerProtect: any;\n bandTableData: any = [];\n bandTableObject: any = [];\n benefitCoverageType: any = [];\n tableReference: any = []\n selectedMortality = \"\";\n selectedBandDB = [];\n selectedBandTI = [];\n selectedBandADB = [];\n selectedBandEADB = [];\n selectedBandAATPD = [];\n selectedBandCP = [];\n selectedBandACI = [];\n selectedBandCI = [];\n selectedBandEMI = [];\n selectedBandTPD = []\n selectedBandCRI = []\n selectedRateCRI = []\n selectedRateTPD = [];\n selectedRateADB = []\n selectedRateDB = [];\n selectedRateTI = [];\n selectedTableADB = [];\n selectedTableEADB = [];\n selectedTableAATPD = [];\n selectedTableCP = [];\n selectedTableACI = [];\n selectedTableCI = [];\n selectedTableEMI = [];\n index = \"\";\n event = \"\";\n value = \"\";\n addmore = [];\n copyDB = false;\n copyADB = false;\n adbcheck = false;\n correctVal = true;\n valuefinal = \"\";\n checkcheck = \"\"\n copytblADB = \"\"\n checked = []\n empty = \"\"\n emi7 = \"\"\n emi15 = \"\"\n emi = []\n constructor(public routes: Router, public route: ActivatedRoute, public app: AppComponent, public config: ConfigService,\n public change: DataShareService, public el: ElementRef, public loader: Ng4LoadingSpinnerService, private cdref: ChangeDetectorRef) {\n\n if (environment.loginSuccessfully == true) {\n //this.benefit = [];\n // this.benefit.push({ \"name\": \"Death Benefit\", \"code\": \"Base\" });\n this.sub = this.route.queryParams.subscribe(params => {\n console.log(params);\n this.id = params['id'];\n console.log(this.id);\n });\n if (environment.savedProductBenefit.length > 0) {\n var savedJson = environment.savedProductBenefit;\n var savedBenefits = [];\n savedBenefits = savedJson[0].benefits;\n this.benefit = savedBenefits;\n if (environment.superProductCredit == true) {\n var index = this.findIndexValue(this.benefit[\"Flat\"], \"name\", \"Death Benefit\")\n if (index != null) {\n var value = this.benefit[\"Flat\"][index][\"Band\"][\"table_reference\"]\n this.selectedMortality = value\n this.change.setDbMortality(this.selectedMortality)\n }\n else {\n this.selectedMortality = \"\"\n this.change.setDbMortality(this.selectedMortality)\n }\n }\n }\n\n this.productMappingData = environment.savedProductMapping;\n if (this.productMappingData[0].mortality_rate_type == \"Age Band Wise\" || this.productMappingData[0].mortality_rate_type == \"Term Wise\") {\n for (var i = 0; i < this.productMappingData[0].mortality_rate.length; i++) {\n var range = this.productMappingData[0].mortality_rate[i].Age.trim();\n this.bandRange.push(range)\n }\n }\n this.productData = environment.productData;\n if (environment.groupLoanSecure == true) {\n if (environment.savedProductBenefit.length == 0) {\n this.benefit[\"AgeBandWise\"] = [];\n }\n var code;\n this.benefitList = this.productData.item_json.benefits.items;\n var criticalIllness = this.config.icici(this.benefitList, \"item_name\", \"Critical Illness\");\n this.criticalIllnessList = criticalIllness[0].sub_items;\n this.selectedCriticalIllness = this.change.getSelectedCriticalIllness();\n this.change.newselectedCriticalIllnessSubject.subscribe((data) => {\n console.log(data);\n this.selectedCriticalIllness = data;\n console.log(this.benefit);\n for (var i = 0; i < this.criticalIllnessList.length; i++) {\n if (this.criticalIllnessList[i].item_name == this.selectedCriticalIllness) {\n code = this.criticalIllnessList[i].item_code;\n console.log(this.benefit);\n break;\n }\n }\n var index = this.includeIndexValue(this.benefit[\"AgeBandWise\"], \"name\", \"Critical Illness\")\n if (index != null) {\n var temp = this.benefit[\"AgeBandWise\"][index]\n this.benefit[\"AgeBandWise\"][index] = ({ \"name\": \"Critical Illness \" + this.selectedCriticalIllness, \"code\": code, \"Band\": temp.Band })\n }\n });\n //gls new\n this.bandTableData[\"Death Benefit\"] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n this.bandTableData[\"Accidental Death Benefit\"] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n this.bandTableData[\"Total and Permanent Disability\"] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n this.bandTableData[\"Critical Illness\"] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n this.selectedBandDB[0] = \"\"\n this.selectedRateDB[0] = \"\"\n this.selectedBandADB[0] = \"\"\n this.selectedRateADB[0] = \"\"\n this.selectedBandTPD[0] = \"\"\n this.selectedRateTPD[0] = \"\"\n this.selectedBandCRI[0] = \"\"\n this.selectedRateCRI[0] = \"\"\n } else if (environment.superProductCredit == true) {\n if (environment.savedProductBenefit.length == 0) {\n this.benefit[\"Flat\"] = []\n this.benefit[\"AgeBandWise\"] = [];\n this.benefit[\"TermWise\"] = []\n }\n this.superProtectBenefitList = this.productData.item_json.benefits.benefit_items;\n this.benefitList = this.productData.item_json.benefits.benefit_items;\n this.otherBenifitsList = this.productData.item_json.benefits.other_items;\n this.tableReference = this.productData.item_json.table_reference.items;\n //this.interestRates = this.productData.item_json.benefits.other_items[1].sub_items;\n var asseleratedCI = this.config.icici(this.benefitList, \"item_name\", \"Accelerated CI\");\n this.asseleratedCI = asseleratedCI[0].sub_items;\n var additionalCI = this.config.icici(this.benefitList, \"item_name\", \"Additional CI\");\n this.additionalCI = additionalCI[0].sub_items;\n var waiverHospital = this.config.icici(this.benefitList, \"item_name\", \"EMI Waiver(Hosp)\");\n this.waiverHospital = waiverHospital[0].sub_items;\n this.emi = [\n {\n \"item_name\": \"1\",\n \"item_id\": 1\n },\n {\n \"item_name\": \"2\",\n \"item_id\": 2\n },\n {\n \"item_name\": \"3\",\n \"item_id\": 3\n },\n {\n \"item_name\": \"4\",\n \"item_id\": 4\n },\n {\n \"item_name\": \"5\",\n \"item_id\": 5\n },\n {\n \"item_name\": \"6\",\n \"item_id\": 6\n }\n ];\n this.selectedAcceleratedCI = this.change.getAsseleratedCI();\n this.change.newAsseleratedCISubject.subscribe((data) => {\n this.selectedAcceleratedCI = data;\n if (this.selectedAcceleratedCI != \"\") {\n var name = \"Accelerated CI \" + this.selectedAcceleratedCI\n for (var i = 0; i < this.benefit[\"Flat\"].length; i++) {\n if (this.benefit[\"Flat\"][i].name.includes(\"Accelerated CI\")) {\n this.benefit[\"Flat\"][i].name = name\n }\n }\n for (var i = 0; i < this.benefit[\"AgeBandWise\"].length; i++) {\n if (this.benefit[\"AgeBandWise\"][i].name.includes(\"Accelerated CI\")) {\n this.benefit[\"AgeBandWise\"][i].name = name\n }\n }\n for (var i = 0; i < this.benefit[\"TermWise\"].length; i++) {\n if (this.benefit[\"TermWise\"][i].name.includes(\"Accelerated CI\")) {\n this.benefit[\"TermWise\"][i].name = name\n }\n }\n }\n })\n\n this.selectedAdditionalCI = this.change.getAdditionalCI();\n this.change.newAdditionalCISubject.subscribe((data) => {\n this.selectedAdditionalCI = data;\n if (this.selectedAdditionalCI != \"\") {\n var name = \"Additional CI \" + this.selectedAdditionalCI\n for (var i = 0; i < this.benefit[\"Flat\"].length; i++) {\n if (this.benefit[\"Flat\"][i].name.includes(\"Additional CI\")) {\n this.benefit[\"Flat\"][i].name = name\n }\n }\n for (var i = 0; i < this.benefit[\"AgeBandWise\"].length; i++) {\n if (this.benefit[\"AgeBandWise\"][i].name.includes(\"Additional CI\")) {\n this.benefit[\"AgeBandWise\"][i].name = name\n }\n }\n for (var i = 0; i < this.benefit[\"TermWise\"].length; i++) {\n if (this.benefit[\"TermWise\"][i].name.includes(\"Additional CI\")) {\n this.benefit[\"TermWise\"][i].name = name\n }\n }\n }\n });\n\n this.selectedwaiverHospitalDays = this.change.getWaiverHospital();\n this.change.newWaiverHospitalSubject.subscribe((data) => {\n this.selectedwaiverHospitalDays = data;\n this.emi7 = \"\"\n this.emi15 = \"\"\n if (this.selectedwaiverHospitalDays != \"\") {\n for (var i = 0; i < this.benefit[\"Flat\"].length; i++) {\n if (this.benefit[\"Flat\"][i].name.includes(\"EMI Waiver(Hosp)\")) {\n this.benefit[\"Flat\"][i].name = \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays\n }\n }\n for (var i = 0; i < this.benefit[\"AgeBandWise\"].length; i++) {\n if (this.benefit[\"AgeBandWise\"][i].name.includes(\"EMI Waiver(Hosp)\")) {\n this.benefit[\"AgeBandWise\"][i].name = \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays\n }\n }\n for (var i = 0; i < this.benefit[\"TermWise\"].length; i++) {\n if (this.benefit[\"TermWise\"][i].name.includes(\"EMI Waiver(Hosp)\")) {\n this.benefit[\"TermWise\"][i].name = \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays\n }\n }\n }\n })\n\n this.selectedMortality = this.change.getDbMortality();\n this.change.newDbMortalitySubject.subscribe((data) => {\n this.selectedMortality = data;\n });\n\n this.emi7 = this.change.getemi7();\n this.change.newEmi7Subject.subscribe((data) => {\n this.emi7 = data;\n this.saveEmiValue();\n });\n this.emi15 = this.change.getemi15();\n this.change.newEmi15Subject.subscribe((data) => {\n this.emi15 = data;\n this.saveEmiValue();\n });\n\n }\n if (environment.savedProductBenefit.length == 0) {\n this.selectedMortality = \"\"\n this.selectedwaiverHospitalDays = \"\"\n this.selectedAcceleratedCI = \"\"\n this.selectedAdditionalCI = \"\"\n }\n } else {\n this.routes.navigate([\"login\"]);\n }\n\n\n }\n ngOnInit() {\n\n }\n ngAfterViewInit() {\n var __self = this;\n setInterval(function () {\n __self.el.nativeElement.querySelectorAll('input').forEach(function (input) {\n input.onpaste = function (e) {\n e.preventDefault();\n }\n })\n }, 500)\n if (environment.savedProductBenefit.length > 0) {\n var savedJson = environment.savedProductBenefit;\n var savedBenefits = [];\n var ageBandBenefits = [];\n var termBenefits = [];\n var flatBenefits = [];\n var benefitAge = [];\n var benefitTerm = [];\n var benefitFlat = [];\n //put condition\n savedJson = environment.savedProductBenefit\n if (environment.groupLoanSecure == true) {\n var __self = this\n savedBenefits = savedJson[0].benefits;\n this.benefit = savedBenefits;\n ageBandBenefits = savedBenefits[\"AgeBandWise\"];\n console.log(this.benefit);\n benefitAge = this.config.getValues(ageBandBenefits, \"name\")\n benefitAge.forEach(function (ben) {\n if (ben.includes(\"Critical Illness\")) {\n for (var i = 0; i < __self.criticalIllnessList.length; i++) {\n if (ben.includes(__self.criticalIllnessList[i].item_name)) {\n __self.selectedCriticalIllness = __self.criticalIllnessList[i].item_name\n __self.change.setSelectedCriticalIllness(__self.selectedCriticalIllness)\n }\n }\n }\n })\n savedBenefits = savedJson[0].benefits;\n this.benefit = savedBenefits;\n ageBandBenefits = savedBenefits[\"AgeBandWise\"];\n var __self = this;\n console.log(this.benefit);\n benefitAge = this.config.getValues(ageBandBenefits, \"name\")\n this.selectedBandDB = []\n this.selectedRateDB = []\n this.selectedBandADB = []\n this.selectedRateADB = []\n this.selectedBandTPD = []\n this.selectedRateTPD = []\n this.selectedBandCRI = []\n this.selectedRateCRI = []\n this.el.nativeElement.querySelectorAll('.table-column.checkbox').forEach(function (benefit) {\n benefitAge.forEach(function (ben) {\n ben = ben.trim();\n if (ben.includes(benefit.innerText.trim()) && ben != \"Accidental Death Benefit\") {\n ben = benefit.innerText.trim()\n benefit.classList.add('checked')\n __self.benefitCoverageType[ben] = 'Age Band'\n __self.addmore[ben] = true;\n var main = benefit.parentElement.parentElement;\n main.querySelector('.product-column.border').classList.remove('disabled');\n if (ben == 'Death Benefit') {\n main.querySelector('.button.isSelected').classList.remove('isSelected');\n }\n main.querySelectorAll('.button')[0].classList.add('isSelected');\n main.querySelector('.benefitValue').classList.remove('disabled')\n var index = __self.includeIndexValue(ageBandBenefits, \"name\", ben)\n var band = Object.keys(ageBandBenefits[index].Band)\n var tblref = Object.values(ageBandBenefits[index].Band);\n __self.bandTableData[ben] = [{ \"Band\": band[0], \"TableRef\": tblref[0] }]\n __self.checked[ben] = true\n for (var k = 0; k < band.length; k++) {\n if (ben == 'Death Benefit') {\n __self.selectedBandDB[k] = (band[k])\n __self.selectedRateDB[k] = (tblref[k])\n } else if (ben == 'Total and Permanent Disability') {\n __self.selectedBandTPD[k] = (band[k])\n __self.selectedRateTPD[k] = (tblref[k])\n } else if (ben.includes('Critical Illness')) {\n __self.selectedBandCRI[k] = (band[k])\n __self.selectedRateCRI[k] = (tblref[k])\n }\n }\n for (var k = 1; k < band.length; k++) {\n __self.bandTableData[ben].push({ \"Band\": band[k], \"TableRef\": tblref[k] })\n }\n } else if (ben == \"Accidental Death Benefit\" && benefit.innerText.trim() == \"Accidental Death Benefit\") {\n ben = benefit.innerText.trim()\n benefit.classList.add('checked')\n __self.benefitCoverageType[ben] = 'Age Band'\n __self.addmore[ben] = true;\n var main = benefit.parentElement.parentElement;\n main.querySelector('.product-column.border').classList.remove('disabled');\n main.querySelectorAll('.button')[0].classList.add('isSelected');\n main.querySelector('.benefitValue').classList.remove('disabled')\n var index = __self.includeIndexValue(ageBandBenefits, \"name\", ben)\n var band = Object.keys(ageBandBenefits[index].Band)\n var tblref = Object.values(ageBandBenefits[index].Band);\n __self.bandTableData[ben] = [{ \"Band\": band[0], \"TableRef\": tblref[0] }]\n __self.checked[ben] = true\n for (var k = 0; k < band.length; k++) {\n __self.selectedBandADB[k] = (band[k])\n __self.selectedRateADB[k] = (tblref[k])\n }\n for (var k = 1; k < band.length; k++) {\n __self.bandTableData[ben].push({ \"Band\": band[k], \"TableRef\": tblref[k] })\n }\n }\n })\n })\n if (this.selectedBandADB.length == 0) {\n this.selectedBandADB[0] = \"\"\n this.selectedRateADB[0] = \"\"\n }\n if (this.selectedBandTPD.length == 0) {\n this.selectedBandTPD[0] = \"\"\n this.selectedRateTPD[0] = \"\"\n }\n if (this.selectedBandCRI.length == 0) {\n this.selectedBandCRI[0] = \"\"\n this.selectedRateCRI[0] = \"\"\n }\n }\n else if (environment.superProductCredit == true) {\n savedBenefits = savedJson[0].benefits;\n this.benefit = savedBenefits;\n ageBandBenefits = savedBenefits[\"AgeBandWise\"];\n termBenefits = savedBenefits[\"TermWise\"];\n flatBenefits = savedBenefits[\"Flat\"];\n var __self = this;\n console.log(this.benefit);\n benefitAge = this.config.getValues(ageBandBenefits, \"name\")\n benefitTerm = this.config.getValues(termBenefits, \"name\")\n benefitFlat = this.config.getValues(flatBenefits, \"name\")\n benefitFlat.forEach(function (ben) {\n if (ben.includes(\"Accelerated CI\")) {\n for (var i = 0; i < __self.asseleratedCI.length; i++) {\n if (ben.includes(__self.asseleratedCI[i].item_name)) {\n __self.selectedAcceleratedCI = __self.asseleratedCI[i].item_name\n __self.change.setAsseleratedCI(__self.selectedAcceleratedCI)\n }\n }\n }\n if (ben.includes(\"Additional CI\")) {\n for (var i = 0; i < __self.additionalCI.length; i++) {\n if (ben.includes(__self.additionalCI[i].item_name)) {\n __self.selectedAdditionalCI = __self.additionalCI[i].item_name\n __self.change.setAdditionalCI(__self.selectedAdditionalCI)\n }\n }\n }\n for (var i = 0; i < __self.waiverHospital.length; i++) {\n if (ben.includes(__self.waiverHospital[i].item_name)) {\n __self.selectedwaiverHospitalDays = __self.waiverHospital[i].item_name\n __self.change.setWaiverHospital(__self.selectedwaiverHospitalDays)\n }\n }\n })\n benefitTerm.forEach(function (ben) {\n if (ben.includes(\"Accelerated CI\")) {\n for (var i = 0; i < __self.asseleratedCI.length; i++) {\n if (ben.includes(__self.asseleratedCI[i].item_name)) {\n __self.selectedAcceleratedCI = __self.asseleratedCI[i].item_name\n __self.change.setAsseleratedCI(__self.selectedAcceleratedCI)\n }\n }\n }\n if (ben.includes(\"Additional CI\")) {\n for (var i = 0; i < __self.additionalCI.length; i++) {\n if (ben.includes(__self.additionalCI[i].item_name)) {\n __self.selectedAdditionalCI = __self.additionalCI[i].item_name\n __self.change.setAdditionalCI(__self.selectedAdditionalCI)\n }\n }\n }\n for (var i = 0; i < __self.waiverHospital.length; i++) {\n if (ben.includes(__self.waiverHospital[i].item_name)) {\n __self.selectedwaiverHospitalDays = __self.waiverHospital[i].item_name\n __self.change.setWaiverHospital(__self.selectedwaiverHospitalDays)\n }\n }\n })\n benefitAge.forEach(function (ben) {\n if (ben.includes(\"Accelerated CI\")) {\n for (var i = 0; i < __self.asseleratedCI.length; i++) {\n if (ben.includes(__self.asseleratedCI[i].item_name)) {\n __self.selectedAcceleratedCI = __self.asseleratedCI[i].item_name\n __self.change.setAsseleratedCI(__self.selectedAcceleratedCI)\n }\n }\n }\n if (ben.includes(\"Additional CI\")) {\n for (var i = 0; i < __self.additionalCI.length; i++) {\n if (ben.includes(__self.additionalCI[i].item_name)) {\n __self.selectedAdditionalCI = __self.additionalCI[i].item_name\n __self.change.setAdditionalCI(__self.selectedAdditionalCI)\n }\n }\n }\n for (var i = 0; i < __self.waiverHospital.length; i++) {\n if (ben.includes(__self.waiverHospital[i].item_name)) {\n __self.selectedwaiverHospitalDays = __self.waiverHospital[i].item_name\n __self.change.setWaiverHospital(__self.selectedwaiverHospitalDays)\n }\n }\n })\n var emindexF = this.findIndexValue(savedJson[0].benefits[\"Flat\"], \"name\", \"\")\n var emindexT = this.findIndexValue(savedJson[0].benefits[\"TermWise\"], \"name\", \"\")\n var emindexA = this.findIndexValue(savedJson[0].benefits[\"AgeBandWise\"], \"name\", \"\")\n if (emindexF != null) {\n savedJson[0].benefits[\"Flat\"][emindexF].name = \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays\n } else if (emindexT != null) {\n savedJson[0].benefits[\"TermWise\"][emindexT].name = \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays\n }\n else if (emindexA != null) {\n savedJson[0].benefits[\"AgeBandWise\"][emindexA].name = \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays\n }\n savedBenefits = savedJson[0].benefits;\n this.benefit = savedBenefits;\n ageBandBenefits = savedBenefits[\"AgeBandWise\"];\n termBenefits = savedBenefits[\"TermWise\"];\n flatBenefits = savedBenefits[\"Flat\"];\n var __self = this;\n console.log(this.benefit);\n benefitAge = this.config.getValues(ageBandBenefits, \"name\")\n benefitTerm = this.config.getValues(termBenefits, \"name\")\n benefitFlat = this.config.getValues(flatBenefits, \"name\")\n\n this.el.nativeElement.querySelectorAll('.table-column.checkbox').forEach(function (benefit) {\n benefitAge.forEach(function (ben) {\n ben = ben.trim();\n if (ben.includes(benefit.innerText.trim()) && ben != \"Accidental Death Benefit\") {\n ben = benefit.innerText.trim()\n benefit.classList.add('checked')\n __self.benefitCoverageType[ben] = 'Age Band'\n __self.addmore[ben] = true;\n var main = benefit.parentElement.parentElement;\n main.querySelector('.product-column.border').classList.remove('disabled');\n if (ben == 'Death Benefit') {\n main.querySelector('.button.isSelected').classList.remove('isSelected');\n }\n main.querySelectorAll('.button')[1].classList.add('isSelected');\n var index = __self.includeIndexValue(ageBandBenefits, \"name\", ben)\n var band = Object.keys(ageBandBenefits[index].Band)\n var tblref = Object.values(ageBandBenefits[index].Band);\n __self.bandTableData[ben] = [{ \"Band\": band[0], \"TableRef\": tblref[0] }]\n for (var k = 0; k < band.length; k++) {\n if (ben == 'Death Benefit') {\n __self.selectedBandDB.push(band[k])\n __self.selectedRateDB.push(tblref[k])\n } else if (ben == 'Terminal Illness') {\n __self.copyDB = true\n // __self.selectedBandTI.push(band[k])\n // __self.selectedRateTI.push(tblref[k])\n } else if (ben == 'Accidental Death Benefit') {\n __self.selectedBandADB.push(band[k])\n __self.selectedTableADB.push(tblref[k])\n __self.adbcheck = true\n } else if (ben == 'Enhanced ADB') {\n __self.copyADB = true\n __self.selectedBandEADB.push(band[k])\n __self.selectedTableEADB.push(tblref[k])\n } else if (ben == 'Accelerated Accidental Total and Permanent Disability') {\n __self.selectedBandAATPD.push(band[k])\n __self.selectedTableAATPD.push(tblref[k])\n } else if (ben == 'Cancer Protect') {\n __self.selectedBandCP.push(band[k])\n __self.selectedTableCP.push(tblref[k])\n } else if (ben.includes('Accelerated CI')) {\n __self.selectedBandACI.push(band[k])\n __self.selectedTableACI.push(tblref[k])\n } else if (ben.includes('Additional CI')) {\n __self.selectedBandCI.push(band[k])\n __self.selectedTableCI.push(tblref[k])\n } else if (ben.includes('EMI Waiver(Hosp)')) {\n __self.selectedBandEMI.push(band[k])\n __self.selectedTableEMI.push(tblref[k])\n var indexx = __self.includeIndexValue(ageBandBenefits, \"name\", \"EMI Waiver(Hosp)\")\n if (__self.selectedwaiverHospitalDays == \"7Days\") {\n __self.emi7 = ageBandBenefits[indexx].value1\n } else if (__self.selectedwaiverHospitalDays == \"15Days\") {\n __self.emi15 = ageBandBenefits[indexx].value2\n } else if (__self.selectedwaiverHospitalDays == \"7and15Days\") {\n __self.emi7 = ageBandBenefits[indexx].value1\n __self.emi15 = ageBandBenefits[indexx].value2\n }\n }\n }\n for (var k = 1; k < band.length; k++) {\n __self.bandTableData[ben].push({ \"Band\": band[k], \"TableRef\": tblref[k] })\n }\n } else if (ben == \"Accidental Death Benefit\" && benefit.innerText.trim() == \"Accidental Death Benefit\") {\n benefit.classList.add('checked')\n __self.benefitCoverageType[ben] = 'Age Band'\n __self.addmore[ben] = true;\n __self.adbcheck = true\n var main = benefit.parentElement.parentElement;\n main.querySelector('.product-column.border').classList.remove('disabled');\n if (ben == 'Death Benefit') {\n main.querySelector('.button.isSelected').classList.remove('isSelected');\n }\n main.querySelectorAll('.button')[1].classList.add('isSelected');\n var index = __self.includeIndexValue(ageBandBenefits, \"name\", ben)\n var band = Object.keys(ageBandBenefits[index].Band)\n var tblref = Object.values(ageBandBenefits[index].Band);\n __self.bandTableData[ben] = [{ \"Band\": band[0], \"TableRef\": tblref[0] }]\n for (var k = 0; k < band.length; k++) {\n __self.selectedBandADB.push(band[k])\n __self.selectedTableADB.push(tblref[k])\n }\n for (var k = 1; k < band.length; k++) {\n __self.bandTableData[ben].push({ \"Band\": band[k], \"TableRef\": tblref[k] })\n }\n }\n })\n benefitTerm.forEach(function (ben) {\n ben = ben.trim();\n if (ben.includes(benefit.innerText.trim()) && ben != \"Accidental Death Benefit\") {\n ben = benefit.innerText.trim()\n benefit.classList.add('checked')\n __self.benefitCoverageType[ben] = 'Term'\n __self.addmore[ben] = true;\n var main = benefit.parentElement.parentElement;\n main.querySelector('.product-column.border').classList.remove('disabled');\n if (ben == 'Death Benefit') {\n main.querySelector('.button.isSelected').classList.remove('isSelected');\n }\n main.querySelectorAll('.button')[2].classList.add('isSelected');\n var index = __self.includeIndexValue(termBenefits, \"name\", ben)\n var band = Object.keys(termBenefits[index].Band)\n var tblref = Object.values(termBenefits[index].Band);\n __self.bandTableData[ben] = [{ \"Band\": band[0], \"TableRef\": tblref[0] }]\n for (var k = 0; k < band.length; k++) {\n if (ben == 'Death Benefit') {\n __self.selectedBandDB.push(band[k])\n __self.selectedRateDB.push(tblref[k])\n } else if (ben == 'Terminal Illness') {\n __self.copyDB = true\n // __self.selectedBandTI.push(band[k])\n // __self.selectedRateTI.push(tblref[k])\n } else if (ben == 'Accidental Death Benefit') {\n __self.selectedBandADB.push(band[k])\n __self.selectedTableADB.push(tblref[k])\n __self.adbcheck = true\n } else if (ben == 'Enhanced ADB') {\n __self.copyADB = true\n __self.selectedBandEADB.push(band[k])\n __self.selectedTableEADB.push(tblref[k])\n } else if (ben == 'Accelerated Accidental Total and Permanent Disability') {\n __self.selectedBandAATPD.push(band[k])\n __self.selectedTableAATPD.push(tblref[k])\n } else if (ben == 'Cancer Protect') {\n __self.selectedBandCP.push(band[k])\n __self.selectedTableCP.push(tblref[k])\n } else if (ben.includes('Accelerated CI')) {\n __self.selectedBandACI.push(band[k])\n __self.selectedTableACI.push(tblref[k])\n } else if (ben.includes('Additional CI')) {\n __self.selectedBandCI.push(band[k])\n __self.selectedTableCI.push(tblref[k])\n } else if (ben.includes('EMI Waiver(Hosp)')) {\n __self.selectedBandEMI.push(band[k])\n __self.selectedTableEMI.push(tblref[k])\n var indexx = __self.includeIndexValue(termBenefits, \"name\", \"EMI Waiver(Hosp)\")\n if (__self.selectedwaiverHospitalDays == \"7Days\") {\n __self.emi7 = termBenefits[indexx].value1\n } else if (__self.selectedwaiverHospitalDays == \"15Days\") {\n __self.emi15 = termBenefits[indexx].value2\n } else if (__self.selectedwaiverHospitalDays == \"7and15Days\") {\n __self.emi7 = termBenefits[indexx].value1\n __self.emi15 = termBenefits[indexx].value2\n }\n }\n }\n for (var k = 1; k < band.length; k++) {\n __self.bandTableData[ben].push({ \"Band\": band[k], \"TableRef\": tblref[k] })\n }\n } else if (ben == \"Accidental Death Benefit\" && benefit.innerText.trim() == \"Accidental Death Benefit\") {\n benefit.classList.add('checked')\n __self.adbcheck = true\n __self.benefitCoverageType[ben] = 'Term'\n __self.addmore[ben] = true;\n var main = benefit.parentElement.parentElement;\n main.querySelector('.product-column.border').classList.remove('disabled');\n if (ben == 'Death Benefit') {\n main.querySelector('.button.isSelected').classList.remove('isSelected');\n }\n main.querySelectorAll('.button')[2].classList.add('isSelected');\n var index = __self.includeIndexValue(termBenefits, \"name\", ben)\n var band = Object.keys(termBenefits[index].Band)\n var tblref = Object.values(termBenefits[index].Band);\n __self.bandTableData[ben] = [{ \"Band\": band[0], \"TableRef\": tblref[0] }]\n for (var k = 0; k < band.length; k++) {\n __self.selectedBandADB.push(band[k])\n __self.selectedTableADB.push(tblref[k])\n }\n for (var k = 1; k < band.length; k++) {\n __self.bandTableData[ben].push({ \"Band\": band[k], \"TableRef\": tblref[k] })\n }\n }\n })\n benefitFlat.forEach(function (ben) {\n ben = ben.trim();\n if (ben.includes(benefit.innerText.trim()) && ben != \"Accidental Death Benefit\") {\n ben = benefit.innerText.trim()\n benefit.classList.add('checked')\n __self.benefitCoverageType[ben] = 'Flat'\n __self.addmore[ben] = true;\n var main = benefit.parentElement.parentElement;\n main.querySelector('.product-column.border').classList.remove('disabled');\n main.querySelectorAll('.button')[0].classList.add('isSelected');\n var index = __self.includeIndexValue(flatBenefits, \"name\", ben)\n var rate = flatBenefits[index].Band[\"table_reference\"]\n var tblref = flatBenefits[index].Band[\"table_reference\"]\n if (ben == 'Death Benefit') {\n // __self.selectedMortality = rate\n // __self.change.setDbMortality(__self.selectedMortality)\n } else if (ben == 'Terminal Illness') {\n __self.copyDB = true\n // __self.selectedRateTI.push(rate)\n } else if (ben == 'Accidental Death Benefit') {\n __self.selectedTableADB.push(tblref)\n __self.adbcheck = true\n if (__self.copyADB) {\n __self.copytblADB = tblref\n }\n } else if (ben == 'Enhanced ADB') {\n __self.copyADB = true\n __self.selectedTableEADB = []\n __self.selectedTableEADB.push(tblref)\n __self.copytblADB = tblref\n } else if (ben == 'Accelerated Accidental Total and Permanent Disability') {\n __self.selectedTableAATPD = []\n __self.selectedTableAATPD.push(tblref)\n } else if (ben == 'Cancer Protect') {\n __self.selectedTableCP = []\n __self.selectedTableCP.push(tblref)\n } else if (ben.includes('Accelerated CI')) {\n __self.selectedTableACI = []\n __self.selectedTableACI.push(tblref)\n } else if (ben.includes('Additional CI')) {\n __self.selectedTableCI = []\n __self.selectedTableCI.push(tblref)\n } else if (ben.includes('EMI Waiver(Hosp)')) {\n __self.selectedTableEMI = []\n __self.selectedTableEMI.push(tblref)\n var indexx = __self.includeIndexValue(flatBenefits, \"name\", \"EMI Waiver(Hosp)\")\n if (__self.selectedwaiverHospitalDays == \"7Days\") {\n __self.emi7 = flatBenefits[indexx].value1\n } else if (__self.selectedwaiverHospitalDays == \"15Days\") {\n __self.emi15 = flatBenefits[indexx].value2\n } else if (__self.selectedwaiverHospitalDays == \"7and15Days\") {\n __self.emi7 = flatBenefits[indexx].value1\n __self.emi15 = flatBenefits[indexx].value2\n }\n }\n } else if (ben == \"Accidental Death Benefit\" && benefit.innerText.trim() == \"Accidental Death Benefit\") {\n benefit.classList.add('checked')\n __self.benefitCoverageType[ben] = 'Flat'\n __self.addmore[ben] = true;\n __self.adbcheck = true\n var main = benefit.parentElement.parentElement;\n main.querySelector('.product-column.border').classList.remove('disabled');\n main.querySelectorAll('.button')[0].classList.add('isSelected');\n var index = __self.includeIndexValue(flatBenefits, \"name\", ben)\n var rate = flatBenefits[index].Band[\"table_reference\"]\n var tblref = flatBenefits[index].Band[\"table_reference\"]\n __self.selectedTableADB = []\n __self.selectedTableADB.push(tblref)\n if (__self.copyADB) {\n __self.copytblADB = tblref\n }\n }\n })\n })\n var __self = this\n }\n }\n\n }\n\n checknumber(e) {\n var str = e.target.value;\n if (e.keyCode < 48 || e.keyCode > 57) {\n return false;\n }\n }\n\n checkrange(e) {\n var re = /^[0-9\\ _.-]+$/;\n var str = e.target.value;\n if (e.keyCode != 45 && (e.keyCode < 48 || e.keyCode > 57)) {\n return false;\n }\n }\n\n checkdigits(e) {\n var re = /^[0-9\\ _.-]+$/;\n var str = e.target.value;\n if (e.keyCode != 45 && (e.keyCode < 48 || e.keyCode > 57)) {\n return false;\n }\n }\n\n checkedInput(event) {\n var target;\n var code;\n console.log(event.target.value);\n var allCheckBox = this.el.nativeElement.querySelectorAll(\"div.checkbox\");\n var index;\n target = (event.target.classList.contains('checkbox')) ? event.target : this.app.getAncestorByClassName(event.target, 'checkbox');\n if (event.target.nodeName != 'INPUT' && event.target.nodeName != 'FIELDSET')\n if (target.classList.contains('checked')) {\n target.classList.remove('checked');\n if (target.childNodes[1].innerText == \"Accidental Death Benefit\") {\n index = this.findIndexValue(this.benefit, \"name\", target.childNodes[1].innerText);\n this.benefit.splice(index, 1)\n this.adbBenefit = false;\n console.log(this.benefit);\n // allCheckBox.forEach(checkbox => {\n // if (checkbox.childNodes[1].innerHTML == \"Enhanced ADB\") {\n // checkbox.classList.remove(\"disabled\");\n // }\n // })\n }\n else if (target.childNodes[1].innerText == \"Total and Permanent Disability\") {\n index = this.findIndexValue(this.benefit, \"name\", target.childNodes[1].innerText);\n this.benefit.splice(index, 1)\n this.tpdBenefit = false;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Terminal Illness\") {\n index = this.findIndexValue(this.benefit, \"name\", target.childNodes[1].innerText);\n this.benefit.splice(index, 1)\n this.terminalIllnessBenefit = false;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Enhanced ADB\") {\n index = this.findIndexValue(this.benefit, \"name\", target.childNodes[1].innerText);\n this.benefit.splice(index, 1)\n this.enchancedAdbBenefit = false;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Accelerated Accidental Total and Permanent Disability\") {\n index = this.findIndexValue(this.benefit, \"name\", target.childNodes[1].innerText);\n this.benefit.splice(index, 1)\n this.accidentalTpdBenefit = false;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Cancer Protect\") {\n index = this.findIndexValue(this.benefit, \"name\", target.childNodes[1].innerText);\n this.benefit.splice(index, 1)\n this.cancerProtectBenefit = false;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"EMI Waiver(Hosp)\") {\n index = this.findIndexValue(this.benefit, \"name\", target.childNodes[1].innerText);\n this.benefit.splice(index, 1)\n this.emiWaiverBenefit = false;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Additional CI\") {\n index = this.findIndexValue(this.benefit, \"name\", target.childNodes[1].innerText);\n this.benefit.splice(index, 1)\n this.additionalCIBenefit = false;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Accelerated CI\") {\n index = this.findIndexValue(this.benefit, \"name\", target.childNodes[1].innerText);\n this.benefit.splice(index, 1)\n this.accidentalCIBenefit = false;\n console.log(this.benefit);\n }\n }\n else {\n if (environment.groupLoanSecure) {\n for (var i = 0; i < this.benefitList.length; i++) {\n if (this.benefitList[i].item_name == target.childNodes[1].innerText) {\n code = this.benefitList[i].item_code;\n break;\n }\n }\n }\n else if (environment.superProductCredit) {\n for (var i = 0; i < this.superProtectBenefitList.length; i++) {\n if (this.superProtectBenefitList[i].item_name == target.childNodes[1].innerText) {\n code = this.superProtectBenefitList[i].item_code;\n break;\n }\n }\n }\n else if (environment.shubhRakshaCredit) {\n for (var i = 0; i < this.benefitList.length; i++) {\n if (this.benefitList[i].item_name == target.childNodes[1].innerText) {\n code = this.benefitList[i].item_code;\n break;\n }\n }\n }\n\n if (target.childNodes[1].innerText == \"Accidental Death Benefit\") {\n this.benefit.push({ \"name\": target.childNodes[1].innerText, \"code\": code })\n this.adbBenefit = true;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Total and Permanent Disability\") {\n this.benefit.push({ \"name\": target.childNodes[1].innerText, \"code\": code })\n this.tpdBenefit = true;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Terminal Illness\") {\n this.benefit.push({ \"name\": target.childNodes[1].innerText, \"code\": code })\n this.terminalIllnessBenefit = true;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Enhanced ADB\") {\n this.benefit.push({ \"name\": target.childNodes[1].innerText, \"code\": code })\n this.enchancedAdbBenefit = true;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Accelerated Accidental Total and Permanent Disability\") {\n this.benefit.push({ \"name\": target.childNodes[1].innerText, \"code\": code })\n this.accidentalTpdBenefit = true;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Cancer Protect\") {\n this.benefit.push({ \"name\": target.childNodes[1].innerText, \"code\": code })\n this.cancerProtectBenefit = true;\n console.log(this.benefit);\n }\n else if (target.childNodes[1].innerText == \"Accidental Death Benefit\") {\n this.benefit.push({ \"name\": target.childNodes[1].innerText, \"code\": code })\n this.adbBenefit = true;\n console.log(this.benefit);\n }\n target.classList.add('checked');\n }\n }\n\n\n\n checkedInputDropDown(event) {\n var target;\n var code;\n\n var dropDownCheckbox = this.el.nativeElement.querySelectorAll(\".checkboxLegend\");\n console.log(event.target.value);\n var index;\n target = (event.target.classList.contains('checkboxLabel')) ? event.target : this.app.getAncestorByClassName(event.target, 'checkboxLabel');\n if (event.target.nodeName != 'INPUT' && event.target.nodeName != 'FIELDSET' && event.target.nodeName != 'SPAN' && event.target.nodeName != 'IMG' && event.target.nodeName != 'DIV')\n if (target.parentElement.classList.contains('checked')) {\n target.parentElement.classList.remove('checked');\n target.parentElement.nextElementSibling.classList.add('disabled');\n if (event.target.childNodes[0].data == \"Accelerated CI\") {\n for (var i = 0; i < this.benefit.length; i++) {\n var name = this.benefit[i].name;\n if (name.includes(event.target.childNodes[0].data)) {\n var temp = name;\n }\n }\n index = this.findIndexValue(this.benefit, \"name\", temp);\n this.benefit.splice(index, 1);\n this.selectedAcceleratedCI = \"\";\n this.change.setAsseleratedCI(this.selectedAcceleratedCI);\n dropDownCheckbox.forEach(checkbox => {\n if (checkbox.childNodes[0].innerHTML == \"Additional CI\") {\n checkbox.classList.remove(\"disabled\");\n }\n });\n }\n else if (event.target.childNodes[0].data == \"Additional CI\") {\n for (var i = 0; i < this.benefit.length; i++) {\n var name = this.benefit[i].name;\n if (name.includes(event.target.childNodes[0].data)) {\n var temp = name;\n }\n }\n this.selectedAdditionalCI = \"\";\n\n this.change.setAdditionalCI(this.selectedAdditionalCI);\n dropDownCheckbox.forEach(checkbox => {\n if (checkbox.childNodes[0].innerHTML == \"Accelerated CI\") {\n checkbox.classList.remove(\"disabled\");\n }\n });\n }\n else if (event.target.childNodes[0].data == \"EMI Waiver(Hosp)\") {\n for (var i = 0; i < this.benefit.length; i++) {\n var name = this.benefit[i].name;\n if (name.includes(event.target.childNodes[0].data)) {\n var temp = name;\n }\n }\n index = this.findIndexValue(this.benefit, \"name\", temp);\n this.benefit.splice(index, 1);\n this.selectedwaiverHospitalDays = \"\";\n this.change.setWaiverHospital(this.selectedwaiverHospitalDays);\n }\n }\n else {\n if (environment.groupLoanSecure) {\n for (var i = 0; i < this.benefitList.length; i++) {\n if ((this.benefitList[i].item_name).toUpperCase() == (event.target.childNodes[0].data).toUpperCase()) {\n code = this.benefitList[i].item_code;\n break;\n }\n }\n }\n else if (environment.superProductCredit) {\n for (var i = 0; i < this.superProtectBenefitList.length; i++) {\n if ((this.superProtectBenefitList[i].item_name).toUpperCase() == (event.target.childNodes[0].data).toUpperCase()) {\n code = this.superProtectBenefitList[i].item_code;\n break;\n }\n }\n for (var i = 0; i < this.otherBenifitsList.length; i++) {\n if ((this.otherBenifitsList[i].item_name).toUpperCase() == (event.target.childNodes[0].data).toUpperCase()) {\n code = this.otherBenifitsList[i].item_code;\n break;\n }\n }\n }\n else if (environment.shubhRakshaCredit) {\n for (var i = 0; i < this.otherBenifitsList.length; i++) {\n if ((this.otherBenifitsList[i].item_name).toUpperCase() == (event.target.childNodes[0].data).toUpperCase()) {\n code = this.otherBenifitsList[i].item_code;\n break;\n }\n }\n }\n\n if (event.target.childNodes[0].data == \"Accelerated CI\") {\n this.benefit.push({ \"name\": event.target.childNodes[0].data, \"code\": code });\n if (this.selectedAcceleratedCI != \"\") {\n this.change.setAsseleratedCI(this.selectedAcceleratedCI);\n }\n }\n else if (event.target.childNodes[0].data == \"Additional CI\") {\n this.benefit.push({ \"name\": event.target.childNodes[0].data, \"code\": code });\n if (this.selectedAdditionalCI != \"\") {\n this.change.setAdditionalCI(this.selectedAdditionalCI);\n }\n }\n else if (event.target.childNodes[0].data == \"EMI Waiver(Hosp)\") {\n this.benefit.push({ \"name\": event.target.childNodes[0].data, \"code\": code })\n if (this.selectedwaiverHospitalDays != \"\") {\n this.change.setWaiverHospital(this.selectedwaiverHospitalDays);\n }\n }\n target.parentElement.classList.add('checked');\n target.parentElement.nextElementSibling.classList.remove('disabled');\n }\n }\n\n saveDataOnNext() {\n //validating input field\n var __self = this\n this.el.nativeElement.querySelectorAll('.isSelected').forEach(function (item) {\n var main = item.parentElement.parentElement.parentElement;\n var dbRow = __self.el.nativeElement.querySelector('.product-row:not(.head)')\n var dbCovg = dbRow.querySelector('.isSelected').innerText\n var dbValues = []\n var dbMinAge = environment.fixedData[0].min_age_at_entry\n var dbMaxAge = environment.fixedData[0].max_age_at_entry\n var dbMinTerm = environment.fixedData[0].min_policy_term\n var dbMaxTerm = environment.fixedData[0].max_policy_term\n dbRow.querySelectorAll('input:not(.hidden)').forEach(function (input) {\n if (input.placeholder == \"Band\") {\n dbValues.push(input.value)\n }\n })\n for (var j = 0; j < dbValues.length; j++) {\n if (dbValues[j].includes(\"-\")) {\n dbValues.push(dbValues[j].split(\"-\")[0])\n dbValues.push(dbValues[j].split(\"-\")[1])\n }\n }\n for (var j = 0; j < dbValues.length; j++) {\n dbValues[j] = parseInt(dbValues[j])\n }\n if (dbCovg == \"Age Band\") {\n dbMinAge = Math.min(...dbValues)\n dbMaxAge = Math.max(...dbValues)\n } else if (dbCovg == \"Term\") {\n dbMinTerm = Math.min(...dbValues)\n dbMaxTerm = Math.max(...dbValues)\n }\n main.querySelectorAll('.product-column:not(.disabled) >.testModal:not(.disabled) span:not([style*=\"visibility: hidden\"]) input:not(.hidden)').forEach(function (input) {\n if (input.placeholder == \"Band\") {\n var value = input.value;\n // var splitdata = [];\n var ben = input.closest('.product-row').querySelector('label').innerText\n var splitdata = value.split(\"-\");\n for (var k = 0; k < splitdata.length; k++) {\n splitdata[k] = parseInt(splitdata[k])\n }\n if (item.innerText == \"Age Band\") {\n if (splitdata[0] != \" \" && ben.startsWith(\"Death Benefit\")) {\n for (var l = 0; l < splitdata.length; l++) {\n splitdata[l] = parseInt(splitdata[l])\n }\n if (splitdata.length == 1) {\n if (splitdata[0] < environment.fixedData[0].min_age_at_entry || splitdata[0] > environment.fixedData[0].max_age_at_entry) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + environment.fixedData[0].min_age_at_entry + \" \" + 'and' + \" \" + 'max age' + \" \" + environment.fixedData[0].max_age_at_entry + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n } else {\n }\n }\n else if (splitdata.length > 1) {\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: \"Min age cannot be greater than max age!\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n // else 4\n if ((splitdata[0] < environment.fixedData[0].min_age_at_entry || splitdata[0] > environment.fixedData[0].max_age_at_entry ||\n splitdata[1] < environment.fixedData[0].min_age_at_entry || splitdata[1] > environment.fixedData[0].max_age_at_entry)) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + environment.fixedData[0].min_age_at_entry + \" \" + 'and' + \" \" + 'max age' + \" \" + environment.fixedData[0].max_age_at_entry + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n }\n } else if (splitdata[0] != \" \") {\n for (var l = 0; l < splitdata.length; l++) {\n splitdata[l] = parseInt(splitdata[l])\n }\n if (splitdata.length == 1) {\n if (splitdata[0] < dbMinAge || splitdata[0] > dbMaxAge) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + dbMinAge + \" \" + 'and' + \" \" + 'max age' + \" \" + dbMaxAge + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n } else {\n }\n }\n else if (splitdata.length > 1) {\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: \"Min age cannot be greater than max age!\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n // else 4\n if ((splitdata[0] < dbMinAge || splitdata[0] > dbMaxAge ||\n splitdata[1] < dbMinAge || splitdata[1] > dbMaxAge)) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + dbMinAge + \" \" + 'and' + \" \" + 'max age' + \" \" + dbMaxAge + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n }\n }\n } else if (item.innerText == \"Term\") {\n if (splitdata[0] != \" \" && ben.startsWith(\"Death Benefit\")) {\n if (splitdata.length == 1) {\n if (splitdata[0] < environment.fixedData[0].min_policy_term || splitdata[0] > environment.fixedData[0].max_policy_term) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + environment.fixedData[0].min_policy_term + \" \" + 'and' + \" \" + 'max term' + \" \" + environment.fixedData[0].max_policy_term + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n }\n else if (splitdata.length > 1) {\n if ((splitdata[0] < environment.fixedData[0].min_policy_term || splitdata[0] > environment.fixedData[0].max_policy_term ||\n splitdata[1] < environment.fixedData[0].min_policy_term || splitdata[1] > environment.fixedData[0].max_policy_term)) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + environment.fixedData[0].min_policy_term + \" \" + 'and' + \" \" + 'max term' + \" \" + environment.fixedData[0].max_policy_term + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: \"Min term cannot be greater than max term.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n }\n } else if (splitdata[0] != \" \" && (ben.startsWith(\"EMI Waiver(Hosp)\")) || (ben.startsWith(\"Cancer Protect\"))) {\n if (dbMaxTerm > environment.canceremimaxPolicyTerm) {\n dbMaxTerm = environment.canceremimaxPolicyTerm\n }\n if (splitdata.length == 1) {\n if (splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n }\n else if (splitdata.length > 1) {\n if ((splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm ||\n splitdata[1] < dbMinTerm || splitdata[1] > dbMaxTerm)) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: \"Min term cannot be greater than max term.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n }\n } else if (splitdata[0] != \" \" && (ben.startsWith(\"Accelerated CI\")) || (ben.startsWith(\"Additional CI\"))) {\n if (dbMaxTerm > environment.acimaxPolicyTerm) {\n dbMaxTerm = environment.acimaxPolicyTerm\n }\n if (splitdata.length == 1) {\n if (splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n }\n else if (splitdata.length > 1) {\n if ((splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm ||\n splitdata[1] < dbMinTerm || splitdata[1] > dbMaxTerm)) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n __self.correctVal = false\n input.value = \"\";\n swal({\n title: \"Min term cannot be greater than max term.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n input.value = \"\";\n })\n }\n }\n }\n }\n }\n });\n });\n if (environment.groupLoanSecure) {\n var count = 0;\n var inputs = this.el.nativeElement.querySelectorAll('.product-column:not(.disabled):not([style*=\"visibility: hidden\"]) >.testModal:not(.disabled) span:not([style*=\"visibility: hidden\"]) input:not(.hidden)')\n var dropdown1 = this.el.nativeElement.querySelectorAll('.product-column:not(.disabled) >:not(.benefitDropdown) .dropdown');\n var dropdown2 = this.el.nativeElement.querySelectorAll('.benefitDropdown:not(.disabled) .dropdown');\n this.el.nativeElement.querySelectorAll('.product-column:not(.disabled) >:not(.benefitDropdown) .dropdown').forEach(function (item) {\n if (item.querySelector('.text.default-dropdown')) {\n item.parentNode.classList.add(\"error\");\n var ss = item.parentNode;\n // ss.firstElementChild['style'].display = \"block\";\n }\n else {\n var ss = item.parentNode;\n item.parentNode.classList.remove(\"error\");\n ss.firstElementChild['style'].display = \"none\";\n count++;\n }\n });\n this.el.nativeElement.querySelectorAll('.product-column:not(.disabled):not([style*=\"visibility: hidden\"]) >.testModal:not(.disabled) span:not([style*=\"visibility: hidden\"]) input:not(.hidden)').forEach(function (item) {\n console.log(item.value);\n if (item.value.trim() == \"\") {\n var ss = item.closest(\"fieldset\");\n // ss.firstElementChild['style'].display = \"block\";\n item.closest(\"fieldset\").classList.add(\"error\");\n console.log(\"Blank\");\n swal({\n title: 'Please Fill all the details',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n // event.target.value = \"\";\n // this.selectedFloorRate = \"\";\n })\n }\n else {\n var ss = item.closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"none\";\n item.closest(\"fieldset\").classList.remove(\"error\");\n count++;\n }\n });\n this.el.nativeElement.querySelectorAll('.benefitDropdown:not(.disabled) .dropdown').forEach(function (item) {\n if (item.querySelector('.text.default-dropdown')) {\n item.parentNode.classList.add(\"error\");\n var ss = item.parentNode;\n ss.firstElementChild['style'].display = \"block\";\n }\n else {\n var ss = item.parentNode;\n item.parentNode.classList.remove(\"error\");\n ss.firstElementChild['style'].display = \"none\";\n count++;\n }\n });\n if (count == inputs[\"length\"] + dropdown1[\"length\"] + dropdown2[\"length\"]) {\n this.saveBenefitData();\n this.routes.navigate(['product-conditions']);\n }\n } else if (environment.superProductCredit) {\n var count = 0;\n var inputs = this.el.nativeElement.querySelectorAll('.product-column:not(.disabled) >.testModal:not(.disabled) span:not([style*=\"visibility: hidden\"]) input:not(.hidden)')\n var dropdown1 = this.el.nativeElement.querySelectorAll('.product-column:not(.disabled) >:not(.benefitDropdown) .dropdown');\n var dropdown2 = this.el.nativeElement.querySelectorAll('.benefitDropdown:not(.disabled) .dropdown');\n var eminput = this.el.nativeElement.querySelectorAll('.inputemi:not(.hidden) :not(.hidden)>input.val')\n this.el.nativeElement.querySelectorAll('.benefitDropdown:not(.disabled) .dropdown').forEach(function (item) {\n if (item.querySelector('.text.default-dropdown')) {\n item.parentNode.classList.add(\"error\");\n var ss = item.parentNode;\n ss.firstElementChild['style'].display = \"block\";\n }\n else {\n var ss = item.parentNode;\n item.parentNode.classList.remove(\"error\");\n ss.firstElementChild['style'].display = \"none\";\n count++;\n }\n });\n this.el.nativeElement.querySelectorAll('.product-column:not(.disabled) >:not(.benefitDropdown) .dropdown').forEach(function (item) {\n if (item.querySelector('.text.default-dropdown')) {\n item.parentNode.classList.add(\"error\");\n var ss = item.parentNode;\n // ss.firstElementChild['style'].display = \"block\";\n }\n else {\n var ss = item.parentNode;\n item.parentNode.classList.remove(\"error\");\n ss.firstElementChild['style'].display = \"none\";\n count++;\n }\n });\n this.el.nativeElement.querySelectorAll('.product-column:not(.disabled) >.testModal:not(.disabled) span:not([style*=\"visibility: hidden\"]) input:not(.hidden)').forEach(function (item) {\n console.log(item.value);\n if (item.value.trim() == \"\") {\n var ss = item.closest(\"fieldset\");\n // ss.firstElementChild['style'].display = \"block\";\n item.closest(\"fieldset\").classList.add(\"error\");\n console.log(\"Blank\");\n }\n else {\n var ss = item.closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"none\";\n item.closest(\"fieldset\").classList.remove(\"error\");\n count++;\n }\n });\n this.el.nativeElement.querySelectorAll('.inputemi:not(.hidden) :not(.hidden)>input.val').forEach(function (input) {\n if (input.value == \"\") {\n input.classList.add(\"error\")\n } else {\n input.classList.remove(\"error\")\n count++\n }\n })\n if (count == inputs[\"length\"] + dropdown1[\"length\"] + dropdown2[\"length\"] + eminput[\"length\"]) {\n this.saveBenefitData();\n this.routes.navigate(['product-conditions']);\n }\n }\n else {\n this.saveBenefitData();\n this.routes.navigate(['product-conditions']);\n }\n\n }\n\n backbutton() {\n // this.loader.show();\n this.saveBenefitData();\n this.routes.navigate(['product-mapping']);\n }\n\n saveBenefitData() {\n if (environment.groupLoanSecure) {\n \n if(environment.savedProductMapping[0].loan_type == \"Other Loan\"){\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": environment.savedProductMapping[0].product_name, \"product_id\": environment.savedProductMapping[0].product_id,\n \"loan_type\": environment.savedProductMapping[0].loan_type,\n \"other_loan_details\":environment.savedProductMapping[0].other_loan_details,\n \"policy_name\": environment.savedProductMapping[0].policy_name,\n \"minimum_group\": environment.savedProductMapping[0].minimum_group,\n \"mortality_rate_type\": environment.savedProductMapping[0].mortality_rate_type,\n \"mortality_rate\": environment.savedProductMapping[0].mortality_rate, \"benefits\": this.benefit,\n \"floor-rate\": this.selectedFloorRate\n });\n }\n else{\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": environment.savedProductMapping[0].product_name, \"product_id\": environment.savedProductMapping[0].product_id,\n \"loan_type\": environment.savedProductMapping[0].loan_type, \"policy_name\": environment.savedProductMapping[0].policy_name,\n \"minimum_group\": environment.savedProductMapping[0].minimum_group,\n \"mortality_rate_type\": environment.savedProductMapping[0].mortality_rate_type,\n \"mortality_rate\": environment.savedProductMapping[0].mortality_rate, \"benefits\": this.benefit,\n \"floor-rate\": this.selectedFloorRate\n });\n }\n\n } else if (environment.superProductCredit) {\n this.saveTerminalIllness()\n //this.saveEadb()\n if(environment.savedProductMapping[0].loan_type == \"Other Loan\"){\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": environment.savedProductMapping[0].product_name, \"product_id\": environment.savedProductMapping[0].product_id,\n \"loan_type\": environment.savedProductMapping[0].loan_type, \"other_loan_details\":environment.savedProductMapping[0].other_loan_details,\n \"policy_name\": environment.savedProductMapping[0].policy_name,\n \"minimum_group\": environment.savedProductMapping[0].minimum_group,\n \"mortality_rate_type\": environment.savedProductMapping[0].mortality_rate_type,\n \"mortality_rate\": environment.savedProductMapping[0].mortality_rate, \"benefits\": this.benefit\n });\n }\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": environment.savedProductMapping[0].product_name, \"product_id\": environment.savedProductMapping[0].product_id,\n \"loan_type\": environment.savedProductMapping[0].loan_type, \"policy_name\": environment.savedProductMapping[0].policy_name,\n \"minimum_group\": environment.savedProductMapping[0].minimum_group,\n \"mortality_rate_type\": environment.savedProductMapping[0].mortality_rate_type,\n \"mortality_rate\": environment.savedProductMapping[0].mortality_rate, \"benefits\": this.benefit\n });\n } else if (environment.shubhRakshaCredit) {\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": environment.savedProductMapping[0].product_name, \"product_id\": environment.savedProductMapping[0].product_id,\n \"loan_type\": environment.savedProductMapping[0].loan_type, \"policy_name\": environment.savedProductMapping[0].policy_name,\n \"minimum_group\": environment.savedProductMapping[0].minimum_group,\n \"mortality_rate_type\": environment.savedProductMapping[0].mortality_rate_type,\n \"mortality_rate\": environment.savedProductMapping[0].mortality_rate, \"benefits\": this.benefit,\n });\n }\n\n\n console.log(this.saveData);\n environment.savedProductBenefit = this.saveData;\n console.log(this.saveData);\n }\n\n saveTerminalIllness() {\n var dbcovgtype\n var index\n var indexF = this.findIndexValue(this.benefit[\"Flat\"], \"name\", \"Terminal Illness\")\n var indexA = this.findIndexValue(this.benefit[\"AgeBandWise\"], \"name\", \"Terminal Illness\")\n var indexT = this.findIndexValue(this.benefit[\"TermWise\"], \"name\", \"Terminal Illness\")\n if (indexF != null) {\n index = indexF\n dbcovgtype = \"Flat\"\n } else if (indexA != null) {\n index = indexA\n dbcovgtype = \"AgeBandWise\"\n } else if (indexT != null) {\n index = indexT\n dbcovgtype = \"TermWise\"\n }\n if (index != null) {\n this.benefit[dbcovgtype].splice(index, 1)\n }\n if (this.copyDB == true) {\n var dbcovgtype\n var index\n var indexF = this.findIndexValue(this.benefit[\"Flat\"], \"name\", \"Death Benefit\")\n var indexA = this.findIndexValue(this.benefit[\"AgeBandWise\"], \"name\", \"Death Benefit\")\n var indexT = this.findIndexValue(this.benefit[\"TermWise\"], \"name\", \"Death Benefit\")\n if (indexF != null) {\n index = indexF\n dbcovgtype = \"Flat\"\n } else if (indexA != null) {\n index = indexA\n dbcovgtype = \"AgeBandWise\"\n } else if (indexT != null) {\n index = indexT\n dbcovgtype = \"TermWise\"\n }\n var code\n for (var c = 0; c < this.superProtectBenefitList.length; c++) {\n if (this.superProtectBenefitList[c].item_name.includes(\"Terminal Illness\")) {\n code = this.superProtectBenefitList[c].item_code;\n break;\n }\n }\n if (dbcovgtype != undefined && index != undefined) {\n var term = this.benefit[dbcovgtype][index]\n this.benefit[dbcovgtype].push({ \"name\": \"Terminal Illness\", \"code\": code, \"Band\": term.Band })\n }\n }\n }\n\n saveEadb() {\n var dbcovgtype\n var index\n var indexF = this.findIndexValue(this.benefit[\"Flat\"], \"name\", \"Enhanced ADB\")\n var indexA = this.findIndexValue(this.benefit[\"AgeBandWise\"], \"name\", \"Enhanced ADB\")\n var indexT = this.findIndexValue(this.benefit[\"TermWise\"], \"name\", \"Enhanced ADB\")\n if (indexF != null) {\n index = indexF\n dbcovgtype = \"Flat\"\n } else if (indexA != null) {\n index = indexA\n dbcovgtype = \"AgeBandWise\"\n } else if (indexT != null) {\n index = indexT\n dbcovgtype = \"TermWise\"\n }\n if (index != null) {\n this.benefit[dbcovgtype].splice(index, 1)\n }\n //if (this.copyADB == true) {\n var dbcovgtype\n var index\n var indexF = this.findIndexValue(this.benefit[\"Flat\"], \"name\", \"Accidental Death Benefit\")\n var indexA = this.findIndexValue(this.benefit[\"AgeBandWise\"], \"name\", \"Accidental Death Benefit\")\n var indexT = this.findIndexValue(this.benefit[\"TermWise\"], \"name\", \"Accidental Death Benefit\")\n if (indexF != null) {\n index = indexF\n dbcovgtype = \"Flat\"\n } else if (indexA != null) {\n index = indexA\n dbcovgtype = \"AgeBandWise\"\n } else if (indexT != null) {\n index = indexT\n dbcovgtype = \"TermWise\"\n }\n var code\n for (var c = 0; c < this.superProtectBenefitList.length; c++) {\n if (this.superProtectBenefitList[c].item_name.includes(\"Enhanced ADB\")) {\n code = this.superProtectBenefitList[c].item_code;\n break;\n }\n }\n if (dbcovgtype != undefined && index != undefined)\n var term = this.benefit[dbcovgtype][index]\n if (this.benefit[dbcovgtype])\n this.benefit[dbcovgtype].push({ \"name\": \"Enhanced ADB\", \"code\": code, \"Band\": term.Band })\n }\n // }\n\n findIndexValue(arraytosearch, key, valuetosearch) {\n\n for (var i = 0; i < arraytosearch.length; i++) {\n\n if (arraytosearch[i][key] == valuetosearch) {\n return i;\n }\n }\n return null;\n }\n\n includeIndexValue(arraytosearch, key, valuetosearch) {\n\n for (var i = 0; i < arraytosearch.length; i++) {\n\n if (arraytosearch[i][key].startsWith(valuetosearch)) {\n return i;\n }\n }\n return null;\n }\n\n checkbox(event) {\n var main = event.target.parentElement.parentElement.parentElement\n var benefitName = main.querySelector('.table-column.checkbox').innerText\n var covgType\n if (event.target.parentElement.classList.contains('checked')) {\n if (main.querySelectorAll('.isSelected').length > 0) {\n var covgType = main.querySelector('.isSelected').innerText\n }\n if (environment.groupLoanSecure) {\n covgType = \"Age Band\"\n }\n event.target.parentElement.classList.remove('checked')\n if (covgType == \"Flat\") {\n covgType = 'Flat'\n } else if (covgType == \"Age Band\") {\n covgType = 'AgeBandWise'\n } else if (covgType == \"Term\") {\n covgType = 'TermWise'\n }\n var indexn = this.includeIndexValue(this.benefit[covgType], \"name\", benefitName)\n if (indexn != null) {\n this.benefit[covgType].splice(indexn, 1)\n }\n if (this.superProductCredit) {\n if (benefitName == \"Death Benefit\") {\n this.selectedBandDB = []\n this.selectedRateDB = []\n } else if (benefitName == \"Accidental Death Benefit\") {\n this.selectedBandADB = []\n this.selectedTableADB = []\n this.copytblADB = \"\"\n if (this.copyADB) {\n // var eadbmain = main.nextElementSibling\n // if (eadbmain.querySelector('.checkbox').classList.contains('checked')) {\n // eadbmain.querySelector('.checkbox').classList.remove('checked')\n // }\n // eadbmain.querySelector('.benefitValue').classList.add('disabled')\n // eadbmain.querySelector('.isSelected').classList.remove('isSelected')\n }\n this.adbcheck = false\n this.copyADB = false\n } else if (benefitName == \"Enhanced ADB\") {\n this.copyADB = false\n this.selectedTableEADB = [];\n this.selectedBandEADB = [];\n this.copytblADB = ''\n this.empty = ''\n this.value = '';\n this.selectedTableADB = [];\n main.querySelector('.product-column.benefitValue').classList.add(\"disabled\")\n } else if (benefitName == \"Accelerated Accidental Total and Permanent Disability\") {\n this.selectedBandAATPD = []\n this.selectedTableAATPD = []\n } else if (benefitName == \"Cancer Protect\") {\n this.selectedBandCP = []\n this.selectedTableCP = []\n } else if (benefitName.includes(\"Additional CI\")) {\n this.selectedAdditionalCI = \"\"\n this.change.setAdditionalCI(this.selectedAdditionalCI)\n this.selectedTableCI = [];\n this.selectedBandCI = [];\n } else if (benefitName.includes(\"Accelerated CI\")) {\n this.selectedAcceleratedCI = \"\"\n this.change.setAsseleratedCI(this.selectedAcceleratedCI)\n this.selectedBandACI = [];\n this.selectedTableACI = [];\n } else if (benefitName.includes(\"EMI Waiver(Hosp)\")) {\n this.selectedwaiverHospitalDays = \"\"\n this.change.setWaiverHospital(this.selectedwaiverHospitalDays)\n this.selectedBandEMI = [];\n this.selectedTableEMI = [];\n }\n\n if (benefitName == 'Terminal Illness') {\n this.copyDB = false\n main.querySelector('.isSelected').classList.remove('isSelected')\n } else {\n event.target.parentElement.classList.remove('checked')\n main.querySelector('.isSelected').classList.remove('isSelected')\n delete this.benefitCoverageType[event.target.innerText];\n main.querySelector('.product-column.border').classList.add('disabled');\n\n if (benefitName == 'Accelerated CI') {\n main.firstElementChild.querySelector('.dropdown').classList.add('disabled')\n }\n }\n if (benefitName == \"Accelerated CI\") {\n this.selectedAcceleratedCI = \"\"\n this.change.setAsseleratedCI(this.selectedAcceleratedCI)\n }\n else if (benefitName == \"Additional CI\") {\n this.selectedAdditionalCI = \"\"\n this.change.setAdditionalCI(this.selectedAdditionalCI)\n }\n else if (benefitName == \"EMI Waiver(Hosp)\") {\n this.selectedwaiverHospitalDays = \"\"\n this.change.setWaiverHospital(this.selectedwaiverHospitalDays)\n }\n } else if (this.groupLoanSecure) {\n main.querySelector('.benefitValue').classList.add('disabled')\n main.querySelector('.isSelected').classList.remove('isSelected')\n if (benefitName.includes(\"Accidental Death Benefit\")) {\n this.selectedRateADB = [];\n this.selectedBandADB = [];\n this.selectedRateADB.push(\"\")\n this.selectedBandADB.push(\"\")\n } else if (benefitName.includes(\"Total and Permanent Disability\")) {\n this.selectedRateTPD = [];\n this.selectedBandTPD = [];\n this.selectedRateTPD.push(\"\")\n this.selectedBandTPD.push(\"\")\n } else if (benefitName.includes(\"Critical Illness\")) {\n this.selectedCriticalIllness = \"\"\n this.change.setSelectedCriticalIllness(this.selectedCriticalIllness)\n this.selectedRateCRI = [];\n this.selectedBandCRI = [];\n this.selectedRateCRI.push(\"\")\n this.selectedBandCRI.push(\"\")\n }\n }\n this.checked[benefitName] = false\n this.bandTableData[benefitName] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n\n } else {\n event.target.parentElement.classList.add('checked')\n if (this.superProductCredit) {\n if (benefitName == 'Terminal Illness') {\n var main = event.target.parentElement.parentElement.parentElement.querySelector('.border')\n this.copyDB = true\n if (!this.benefitCoverageType.hasOwnProperty(\"Death Benefit\")) {\n main.querySelectorAll('.button')[0].classList.add('isSelected')\n }\n else if (this.benefitCoverageType[\"Death Benefit\"] == \"\" || this.benefitCoverageType[\"Death Benefit\"] == \"Flat\") {\n main.querySelectorAll('.button')[0].classList.add('isSelected')\n } else if (this.benefitCoverageType[\"Death Benefit\"] == \"Age Band\") {\n main.querySelectorAll('.button')[1].classList.add('isSelected')\n } else if (this.benefitCoverageType[\"Death Benefit\"] == \"Term\") {\n main.querySelectorAll('.button')[2].classList.add('isSelected')\n }\n }\n else if (benefitName == \"Enhanced ADB\") {\n main.querySelectorAll('.product-column')[1].classList.remove(\"disabled\")\n main.querySelectorAll('.product-column')[2].classList.remove(\"disabled\")\n main.querySelectorAll('.product-column .mortality-rate')[0].classList.remove(\"disabled\")\n this.copytblADB = \"\"\n this.selectedBandADB = []\n this.selectedTableADB = []\n this.adbcheck = false\n this.copyADB = false\n delete this.benefitCoverageType[\"Accidental Death Benefit\"];\n this.checked[\"Accidental Death Benefit\"] = false\n this.bandTableData[\"Accidental Death Benefit\"] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n //this.copyADB = true;\n // if (this.selectedTableEADB[0] != undefined) {\n // this.copytblADB = this.selectedTableEADB[0]\n // }\n //if (!this.benefitCoverageType.hasOwnProperty(\"Accidental Death Benefit\")) {\n main.querySelectorAll('.button')[0].classList.add('isSelected')\n //}\n // else if (this.benefitCoverageType[\"Accidental Death Benefit\"] == \"\" || this.benefitCoverageType[\"Accidental Death Benefit\"] == \"Flat\") {\n // main.querySelectorAll('.button')[0].classList.add('isSelected')\n // } else if (this.benefitCoverageType[\"Accidental Death Benefit\"] == \"Age Band\") {\n // main.querySelectorAll('.button')[1].classList.add('isSelected')\n // } else if (this.benefitCoverageType[\"Accidental Death Benefit\"] == \"Term\") {\n // main.querySelectorAll('.button')[2].classList.add('isSelected')\n // if (main.querySelector('.button.isSelected').innerText == \"Flat\") {\n // this.copytblADB = this.selectedTableADB[0]\n // }\n // }\n var adbmain = main.previousElementSibling;\n try {\n var covgType = adbmain.querySelector('.isSelected').innerText\n var indexn = this.includeIndexValue(this.benefit[covgType], \"name\", \"Accidental Death Benefit\")\n if (indexn != null) {\n this.benefit[covgType].splice(indexn, 1)\n }\n }\n catch (e) { }\n if (adbmain.querySelector('.checkbox').classList.contains('checked')) {\n adbmain.querySelector('.checkbox').classList.remove('checked')\n }\n adbmain.querySelector('.benefitValue').classList.add('disabled')\n if (adbmain.querySelector('.isSelected'))\n adbmain.querySelector('.isSelected').classList.remove('isSelected')\n main.querySelector('.benefitValue').classList.remove('disabled')\n\n }\n else {\n if (benefitName == \"Accidental Death Benefit\") {\n this.adbcheck = true\n var eadbmain = main.nextElementSibling\n try {\n var covgType = eadbmain.querySelector('.isSelected').innerText\n var indexn = this.includeIndexValue(this.benefit[covgType], \"name\", \"Enhanced ADB\")\n if (indexn != null) {\n this.benefit[covgType].splice(indexn, 1)\n }\n this.copyADB = false\n this.selectedTableEADB = [];\n this.selectedBandEADB = [];\n this.copytblADB = ''\n this.empty = ''\n this.value = '';\n this.selectedTableADB = [];\n }\n catch (e) { }\n // Ali & Himanshu Commented\n // if (eadbmain.querySelector('.checkbox').classList.contains('checked')) {\n // eadbmain.querySelector('.checkbox').classList.remove('checked')\n // }\n delete this.benefitCoverageType[\"Enhanced ADB\"];\n this.benefitCoverageType[\"Enhanced ADB\"] = undefined;\n main.querySelector('.benefitValue').classList.remove('disabled')\n // eadbmain.querySelector('.benefitValue').classList.add('disabled')\n // if (eadbmain.querySelector('.isSelected'))\n // eadbmain.querySelector('.isSelected').classList.remove('isSelected')\n // if (eadbmain.querySelector('.benefitValue .benefitValue'))\n // eadbmain.querySelector('.benefitValue .benefitValue').classList.add('disabled')\n\n }\n if (benefitName == 'Additional CI') {\n // un-selecting accelrating ci\n try {\n let covg_type = '';\n let aci_target = event.target.parentElement.parentElement.parentElement.previousElementSibling.firstElementChild.firstElementChild.firstElementChild;\n let aci_main = event.target.parentElement.parentElement.parentElement.previousElementSibling;\n aci_target.parentElement.classList.remove('checked')\n let ben_name = aci_main.firstElementChild.firstElementChild.innerText;\n if (aci_main.querySelectorAll('.isSelected').length > 0) {\n covg_type = aci_main.querySelector('.isSelected').innerText\n }\n try {\n var indexn = this.includeIndexValue(this.benefit[covg_type], \"name\", ben_name)\n if (indexn != null) {\n this.benefit[covg_type].splice(indexn, 1)\n }\n }\n catch (e) { }\n this.selectedAcceleratedCI = \"\"\n this.change.setAsseleratedCI(this.selectedAcceleratedCI)\n this.selectedBandACI = [];\n this.selectedTableACI = [];\n aci_target.parentElement.classList.remove('checked')\n aci_main.querySelector('.isSelected').classList.remove('isSelected')\n delete this.benefitCoverageType[aci_target.innerText];\n aci_main.querySelector('.product-column.border').classList.add('disabled');\n //aci_main.firstElementChild.querySelector('.dropdown').classList.add('disabled')\n this.selectedAcceleratedCI = \"\"\n this.change.setAsseleratedCI(this.selectedAcceleratedCI)\n this.checked[ben_name] = false\n this.bandTableData[ben_name] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n }\n catch (e) { console.log(e) }\n }\n if (benefitName == 'Accelerated CI') {\n // un-selecting Additional CI\n try {\n let covg_type = '';\n let aaci_target = event.target.parentElement.parentElement.parentElement.nextElementSibling.firstElementChild.firstElementChild.firstElementChild;\n let aaci_main = event.target.parentElement.parentElement.parentElement.nextElementSibling;\n let ben_name = aaci_main.firstElementChild.firstElementChild.innerText;\n if (aaci_main.querySelectorAll('.isSelected').length > 0) {\n covg_type = aaci_main.querySelector('.isSelected').innerText\n }\n aaci_target.parentElement.classList.remove('checked')\n try {\n var indexn = this.includeIndexValue(this.benefit[covg_type], \"name\", ben_name)\n if (indexn != null) {\n this.benefit[covg_type].splice(indexn, 1)\n }\n }\n catch (e) { }\n this.checked[ben_name] = false\n this.bandTableData[ben_name] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n this.change.setAdditionalCI(this.selectedAdditionalCI)\n this.selectedTableCI = [];\n this.selectedBandCI = [];\n aaci_target.parentElement.classList.remove('checked')\n aaci_main.querySelector('.isSelected').classList.remove('isSelected')\n delete this.benefitCoverageType[aaci_target.innerText];\n aaci_main.querySelector('.product-column.border').classList.add('disabled');\n this.selectedAdditionalCI = \"\"\n this.change.setAdditionalCI(this.selectedAdditionalCI)\n }\n catch (e) { console.log(e) }\n }\n main.querySelector('.mortality-rate').firstElementChild.classList.add('isSelected')\n this.benefitCoverageType[event.target.innerText] = 'Flat';\n main.querySelector('.product-column.border').classList.remove('disabled');\n }\n } else if (this.groupLoanSecure) {\n var code\n for (var c = 0; c < this.benefitList.length; c++) {\n if (this.benefitList[c].item_name.includes(benefitName)) {\n code = this.benefitList[c].item_code;\n break;\n }\n }\n main.querySelector('.mortality-rate').firstElementChild.classList.add('isSelected')\n this.benefitCoverageType[event.target.innerText] = 'Age Band Wise';\n main.querySelector('.product-column.border').classList.remove('disabled');\n main.querySelector('.benefitValue').classList.remove('disabled')\n this.checked[benefitName] = true\n var bandData\n bandData = ({ \"999\": \"NA\" })\n if (benefitName == \"Accidental Death Benefit\") {\n this.benefit[\"AgeBandWise\"].push({ \"name\": benefitName, \"code\": code, \"Band\": bandData })\n } else if (benefitName == \"Total and Permanent Disability\") {\n this.benefit[\"AgeBandWise\"].push({ \"name\": benefitName, \"code\": code, \"Band\": bandData })\n }\n }\n }\n }\n\n selectType(event) {\n var benefitName = event.target.parentElement.parentElement.parentElement.firstElementChild.firstElementChild.innerText;\n var main = event.target.parentElement\n if (event.target.parentElement.querySelector('.isSelected') != null) {\n var prevType = main.querySelector('.isSelected').innerText;\n main.querySelector('.isSelected').classList.remove('isSelected');\n if (prevType == \"Flat\") {\n prevType = 'Flat'\n } else if (prevType == \"Age Band\") {\n prevType = 'AgeBandWise'\n } else if (prevType == \"Term\") {\n prevType = 'TermWise'\n }\n if (environment.savedProductBoundryCondition.hasOwnProperty(prevType)) {\n if (environment.savedProductBoundryCondition[prevType].hasOwnProperty(benefitName)) {\n delete environment.savedProductBoundryCondition[prevType][benefitName]\n }\n }\n var idx = this.findIndexValue(this.benefit[prevType], \"name\", benefitName)\n if (idx != null) {\n this.benefit[prevType].splice(idx, 1)\n }\n event.target.classList.add('isSelected')\n if (this.benefitCoverageType[benefitName] != event.target.innerText) {\n this.benefitCoverageType[benefitName] = event.target.innerText;\n if (benefitName == 'Death Benefit') {\n this.selectedBandDB = []\n this.selectedRateDB = []\n this.selectedMortality = \"\"\n //reset min and max values\n\n } else if (benefitName == 'Terminal Illness') {\n this.selectedBandTI = []\n this.selectedRateTI = []\n environment.dbMaxAge = environment.fixedData[\"min_age_at_entry\"]\n environment.dbMinAge = environment.fixedData[\"max_age_at_entry\"]\n environment.dbMinTerm = environment.fixedData[\"min_policy_term\"]\n environment.dbMaxTerm = environment.fixedData[\"max_policy_term\"]\n } else if (benefitName == 'Accidental Death Benefit') {\n this.selectedBandADB = []\n this.selectedTableADB = []\n this.copytblADB = \"\"\n } else if (benefitName == 'Enhanced ADB') {\n this.selectedBandEADB = []\n this.selectedTableEADB = []\n } else if (benefitName == 'Accelerated Accidental Total and Permanent Disability') {\n this.selectedBandAATPD = []\n this.selectedTableAATPD = []\n } else if (benefitName == 'Cancer Protect') {\n this.selectedBandCP = []\n this.selectedTableCP = []\n } else if (benefitName == 'Accelerated CI') {\n this.selectedBandACI = []\n this.selectedTableACI = []\n } else if (benefitName == 'Additional CI') {\n this.selectedBandCI = []\n this.selectedTableCI = []\n } else if (benefitName == 'EMI Waiver(Hosp)') {\n this.selectedBandEMI = []\n this.selectedTableEMI = []\n }\n if (this.benefitCoverageType[benefitName] == 'Flat') {\n delete this.bandTableData[benefitName];\n this.addmore[benefitName] = true;\n } else if (this.benefitCoverageType[benefitName] == 'Age Band') {\n this.bandTableData[benefitName] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n this.addmore[benefitName] = true;\n if (benefitName == 'Death Benefit') {\n this.selectedBandDB.push(\"\")\n this.selectedRateDB.push(\"\")\n } else if (benefitName == 'Terminal Illness') {\n this.selectedBandTI.push(\"\")\n this.selectedRateTI.push(\"\")\n } else if (benefitName == 'Accidental Death Benefit') {\n this.selectedBandADB.push(\"\")\n this.selectedTableADB.push(\"\")\n } else if (benefitName == 'Enhanced ADB') {\n this.selectedBandEADB.push(\"\")\n this.selectedTableEADB.push(\"\")\n } else if (benefitName == 'Accelerated Accidental Total and Permanent Disability') {\n this.selectedBandAATPD.push(\"\")\n this.selectedTableAATPD.push(\"\")\n } else if (benefitName == 'Cancer Protect') {\n this.selectedBandCP.push(\"\")\n this.selectedTableCP.push(\"\")\n } else if (benefitName == 'Accelerated CI') {\n this.selectedBandACI.push(\"\")\n this.selectedTableACI.push(\"\")\n } else if (benefitName == 'Additional CI') {\n this.selectedBandCI.push(\"\")\n this.selectedTableCI.push(\"\")\n } else if (benefitName == 'EMI Waiver(Hosp)') {\n this.selectedBandEMI.push(\"\")\n this.selectedTableEMI.push(\"\")\n } else if (benefitName == 'Critical Illness') {\n this.selectedBandCRI.push(\"\")\n this.selectedRateCRI.push(\"\")\n } else if (benefitName == 'Total and Permanant Disability') {\n this.selectedBandTPD.push(\"\")\n this.selectedRateTPD.push(\"\")\n }\n } else if (this.benefitCoverageType[benefitName] == 'Term') {\n this.bandTableData[benefitName] = [{ \"Band\": \"\", \"TableRef\": \"\" }]\n this.addmore[benefitName] = true;\n if (benefitName == 'Death Benefit') {\n this.selectedBandDB.push(\"\")\n this.selectedRateDB.push(\"\")\n } else if (benefitName == 'Terminal Illness') {\n this.selectedBandTI.push(\"\")\n this.selectedRateTI.push(\"\")\n } else if (benefitName == 'Accidental Death Benefit') {\n this.selectedBandADB.push(\"\")\n this.selectedTableADB.push(\"\")\n } else if (benefitName == 'Enhanced ADB') {\n this.selectedBandEADB.push(\"\")\n this.selectedTableEADB.push(\"\")\n } else if (benefitName == 'Accelerated Accidental Total and Permanent Disability') {\n this.selectedBandAATPD.push(\"\")\n this.selectedTableAATPD.push(\"\")\n } else if (benefitName == 'Cancer Protect') {\n this.selectedBandCP.push(\"\")\n this.selectedTableCP.push(\"\")\n } else if (benefitName == 'Accelerated CI') {\n this.selectedBandACI.push(\"\")\n this.selectedTableACI.push(\"\")\n } else if (benefitName == 'Additional CI') {\n this.selectedBandCI.push(\"\")\n this.selectedTableCI.push(\"\")\n } else if (benefitName == 'EMI Waiver(Hosp)') {\n this.selectedBandEMI.push(\"\")\n this.selectedTableEMI.push(\"\")\n }\n }\n }\n }\n if (benefitName == \"Death Benefit\" && this.copyDB == true) {\n // var covType = main.querySelector('.isSelected').innerText;\n main = main.parentElement.parentElement.parentElement.querySelector('.product-row.Terminal')\n if (main.querySelector('.isSelected') != null) {\n main.querySelector('.isSelected').classList.remove('isSelected');\n }\n if (event.target.innerText == \"Flat\") {\n main.querySelectorAll('.button')[0].classList.add('isSelected');\n } else if (event.target.innerText == \"Age Band\") {\n main.querySelectorAll('.button')[1].classList.add('isSelected');\n } else if (event.target.innerText == \"Term\") {\n main.querySelectorAll('.button')[2].classList.add('isSelected');\n }\n }\n if (benefitName == \"Accidental Death Benefit\" && this.copyADB == true) {\n // var covType = main.querySelector('.isSelected').innerText;\n main = main.parentElement.parentElement.parentElement.querySelector('.product-row.EADB')\n if (main.querySelector('.isSelected') != null) {\n main.querySelector('.isSelected').classList.remove('isSelected');\n }\n if (event.target.innerText == \"Flat\") {\n main.querySelectorAll('.button')[0].classList.add('isSelected');\n } else if (event.target.innerText == \"Age Band\") {\n main.querySelectorAll('.button')[1].classList.add('isSelected');\n } else if (event.target.innerText == \"Term\") {\n main.querySelectorAll('.button')[2].classList.add('isSelected');\n }\n }\n if (environment.savedProductBenefit.length > 0) {\n var indexfind = this.includeIndexValue(environment.savedProductBenefit[0].benefits[prevType], \"name\", benefitName)\n if (indexfind != null) {\n environment.savedProductBenefit[0].benefits[prevType].splice(indexfind, 1)\n }\n }\n }\n\n addMore(event) {\n var valuesFilled = true\n var checkfields = event.target.parentElement.parentElement;\n checkfields.querySelectorAll('input').forEach(function (input) {\n if (input.value == \"\") {\n valuesFilled = false\n input.closest(\"fieldset\").classList.add(\"error\");\n }\n })\n if (valuesFilled) {\n var benefitName\n if (event.target.parentElement.parentElement.parentElement.parentElement.classList.contains(\"product-row\"))\n benefitName = event.target.parentElement.parentElement.parentElement.parentElement.firstElementChild.firstElementChild.innerText\n else\n benefitName = event.target.parentElement.parentElement.parentElement.firstElementChild.firstElementChild.innerText;\n this.bandTableData[benefitName].push({ \"Band\": \"\", \"TableRef\": \"\" })\n if (this.bandTableData[benefitName].length == 5) {\n this.addmore[benefitName] = false;\n }\n if (this.superProductCredit) {\n if (benefitName == 'Death Benefit') {\n console.log(this.selectedBandDB);\n this.selectedBandDB.push(\"\")\n this.selectedRateDB.push(\"\")\n // }\n } else if (benefitName == 'Terminal Illness') {\n this.selectedBandTI.push(\"\")\n this.selectedRateTI.push(\"\")\n } else if (benefitName == 'Accidental Death Benefit') {\n this.selectedBandADB.push(\"\")\n this.selectedTableADB.push(\"\")\n } else if (benefitName == 'Enhanced ADB') {\n this.selectedBandEADB.push(\"\")\n this.selectedTableEADB.push(\"\")\n } else if (benefitName == 'Accelerated Accidental Total and Permanent Disability') {\n this.selectedBandAATPD.push(\"\")\n this.selectedTableAATPD.push(\"\")\n } else if (benefitName == 'Cancer Protect') {\n this.selectedBandCP.push(\"\")\n this.selectedTableCP.push(\"\")\n } else if (benefitName == 'Accelerated CI') {\n this.selectedBandACI.push(\"\")\n this.selectedTableACI.push(\"\")\n } else if (benefitName == 'Additional CI') {\n this.selectedBandCI.push(\"\")\n this.selectedTableCI.push(\"\")\n } else if (benefitName == 'EMI Waiver(Hosp)') {\n this.selectedBandEMI.push(\"\")\n this.selectedTableEMI.push(\"\")\n }\n } else if (this.groupLoanSecure) {\n if (benefitName == 'Death Benefit') {\n this.selectedBandDB.push(\"\")\n this.selectedRateDB.push(\"\")\n } else if (benefitName == 'Accidental Death Benefit') {\n this.selectedBandADB.push(\"\")\n this.selectedRateADB.push(\"\")\n } else if (benefitName == 'Total and Permanent Disability') {\n this.selectedBandTPD.push(\"\")\n this.selectedRateTPD.push(\"\")\n } else if (benefitName == 'Critical Illness') {\n this.selectedBandCRI.push(\"\")\n this.selectedRateCRI.push(\"\")\n }\n\n }\n if (benefitName == 'Death Benefit') {\n var selectedCoverageType\n selectedCoverageType = this.el.nativeElement.querySelector('.isSelected').innerText\n if (selectedCoverageType == \"Flat\") {\n selectedCoverageType = 'Flat'\n } else if (selectedCoverageType == \"Age Band\") {\n selectedCoverageType = 'AgeBandWise'\n } else if (selectedCoverageType == \"Term\") {\n selectedCoverageType = 'TermWise'\n }\n }\n } else {\n swal({\n title: 'Please fill existing fields before adding more',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n // event.target.value = \"\";\n })\n }\n }\n\n deleteOne(event) {\n var benefitName;\n var main;\n if (event.target.parentElement.parentElement.parentElement.classList.contains(\"product-row\")) {\n benefitName = event.target.parentElement.parentElement.parentElement.firstElementChild.firstElementChild.innerText\n main = event.target.parentElement.parentElement.parentElement\n }\n else {\n benefitName = event.target.parentElement.parentElement.firstElementChild.firstElementChild.innerText\n main = event.target.parentElement.parentElement\n }\n\n var covType = main.querySelector('.isSelected').innerText;\n var code;\n var benName = benefitName;\n if (covType == \"Age Band\") {\n covType = 'AgeBandWise'\n } else if (covType == \"Term\") {\n covType = 'TermWise'\n }\n if (this.bandTableData[benefitName].length == 1) {\n //hide button\n\n } else if (this.bandTableData[benefitName].length > 1) {\n this.addmore[benefitName] = true;\n this.bandTableData[benefitName].splice(-1);\n this.bandTableObject = {}\n for (var k = 0; k < this.bandTableData[benefitName].length; k++) {\n var key = this.bandTableData[benefitName][k].Band\n var value = this.bandTableData[benefitName][k].TableRef\n this.bandTableObject[key] = value\n }\n if (benefitName == \"Critical Illness\") {\n if (this.selectedCriticalIllness != \"\") {\n benName = benefitName + ' ' + this.selectedCriticalIllness\n }\n } else if (benefitName == \"Accelerated CI\") {\n if (this.selectedAcceleratedCI != \"\") {\n benName = benefitName + ' ' + this.selectedAcceleratedCI\n }\n } else if (benefitName == \"Additional CI\") {\n if (this.selectedAdditionalCI != \"\") {\n benName = benefitName + ' ' + this.selectedAdditionalCI\n }\n } else if (benefitName == \"EMI Waiver(Hosp)\") {\n if (this.selectedwaiverHospitalDays != \"\") {\n benName = benefitName + ' ' + this.selectedwaiverHospitalDays\n }\n }\n var indexfn = this.findIndexValue(this.benefit[covType], \"name\", benName)\n if (indexfn != null) {\n this.benefit[covType][indexfn] = ({ \"name\": benName, \"code\": code, \"Band\": this.bandTableObject })\n } else {\n this.benefit[covType].push({ \"name\": benName, \"code\": code, \"Band\": this.bandTableObject })\n }\n if (benefitName == 'Death Benefit') {\n this.selectedBandDB.splice(-1);\n this.selectedRateDB.splice(-1);\n } else if (benefitName == 'Terminal Illness') {\n this.selectedBandTI.splice(-1);\n this.selectedRateTI.splice(-1);\n } else if (benefitName == 'Accidental Death Benefit') {\n this.selectedBandADB.splice(-1);\n this.selectedTableADB.splice(-1);\n } else if (benefitName == 'Enhanced ADB') {\n this.selectedBandEADB.splice(-1);\n this.selectedTableEADB.splice(-1);\n } else if (benefitName == 'Accelerated Accidental Total and Permanent Disability') {\n this.selectedBandAATPD.splice(-1);\n this.selectedTableAATPD.splice(-1);\n } else if (benefitName == 'Cancer Protect') {\n this.selectedBandCP.splice(-1);\n this.selectedTableCP.splice(-1);\n } else if (benefitName == 'Accelerated CI') {\n this.selectedBandACI.splice(-1);\n this.selectedTableACI.splice(-1);\n } else if (benefitName == 'Additional CI') {\n this.selectedBandCI.splice(-1);\n this.selectedTableCI.splice(-1);\n } else if (benefitName == 'EMI Waiver(Hosp)') {\n this.selectedBandEMI.splice(-1);\n this.selectedTableEMI.splice(-1);\n }\n }\n if (benefitName == 'Death Benefit') {\n var selectedCoverageType\n selectedCoverageType = this.el.nativeElement.querySelector('.isSelected').innerText\n if (selectedCoverageType == \"Flat\") {\n selectedCoverageType = 'Flat'\n } else if (selectedCoverageType == \"Age Band\") {\n selectedCoverageType = 'AgeBandWise'\n } else if (selectedCoverageType == \"Term\") {\n selectedCoverageType = 'TermWise'\n }\n }\n }\n\n storeValue(event, i) {\n this.correctVal = true\n var currentRow;\n var benefitName;\n if (event.target.parentElement.parentElement.parentElement.parentElement.parentElement.classList.contains(\"benefitValue\")) {\n benefitName = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.firstElementChild.firstElementChild.innerText;\n currentRow = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;\n } else {\n benefitName = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.firstElementChild.firstElementChild.innerText\n currentRow = event.target.parentElement.parentElement.parentElement.parentElement.parentElement;\n }\n var code;\n var selectedCoverageType = currentRow.querySelector('.isSelected').innerText;\n this.checkAgeBandLimit(event, selectedCoverageType, benefitName, i);\n if (this.correctVal == true) {\n var code;\n if (selectedCoverageType == \"Flat\") {\n selectedCoverageType = 'Flat'\n } else if (selectedCoverageType == \"Age Band\") {\n selectedCoverageType = 'AgeBandWise'\n } else if (selectedCoverageType == \"Term\") {\n selectedCoverageType = 'TermWise'\n }\n if (this.superProductCredit) {\n if (benefitName == 'Accidental Death Benefit') {\n this.selectedBandADB[i] = event.target.value\n this.selectedTableADB[i] = \"\"\n this.copytblADB = \"\"\n if (this.copyADB == true) {\n var mainEA = this.el.nativeElement.querySelector('.product-row.EADB')\n setTimeout(function () {\n mainEA.querySelector('.checkbox').firstElementChild.click()\n }, 500)\n setTimeout(function () {\n mainEA.querySelector('.checkbox').firstElementChild.click()\n }, 500)\n }\n } else if (benefitName == 'Enhanced ADB') {\n this.selectedBandEADB[i] = event.target.value\n this.selectedTableEADB[i] = \"\"\n } else if (benefitName == 'Accelerated Accidental Total and Permanent Disability') {\n this.selectedBandAATPD[i] = event.target.value\n this.selectedTableAATPD[i] = \"\"\n } else if (benefitName == 'Cancer Protect') {\n this.selectedBandCP[i] = event.target.value\n this.selectedTableCP[i] = \"\"\n } else if (benefitName == 'Accelerated CI') {\n this.selectedBandACI[i] = event.target.value\n this.selectedTableACI[i] = \"\"\n } else if (benefitName == 'Additional CI') {\n this.selectedBandCI[i] = event.target.value\n this.selectedTableCI[i] = \"\"\n } else if (benefitName == 'EMI Waiver(Hosp)') {\n this.selectedBandEMI[i] = event.target.value\n this.selectedTableEMI[i] = \"\"\n }\n if (i != undefined && event.target.placeholder == \"Band\") {\n this.bandTableData[benefitName][i].Band = event.target.value;\n }\n if (selectedCoverageType == 'Flat') {\n var rate = ({ \"table_reference\": event.target.value })\n var index = this.findIndexValue(this.benefit['Flat'], \"name\", benefitName)\n if (index != null) {\n this.benefit['Flat'].splice(index, 1)\n }\n this.selectedMortality = event.target.value;\n this.benefit['Flat'].push({ \"name\": benefitName, \"code\": \"Base\", \"Band\": rate })\n } else if (benefitName == 'Death Benefit' && selectedCoverageType != 'Flat') {\n if (event.target.placeholder == \"Band\") {\n // this.selectedRateDB[i] = \"\"\n this.selectedBandDB[i] = event.target.value;\n if (i == undefined) {\n } else {\n this.bandTableData[benefitName][i].Band = event.target.value;\n }\n } else if (event.target.placeholder == \"Rate\") {\n this.selectedRateDB[i] = event.target.value;\n this.bandTableData[benefitName][i][\"TableRef\"] = event.target.value;\n }\n this.bandTableObject = {}\n for (var k = 0; k < this.bandTableData[benefitName].length; k++) {\n var key = this.bandTableData[benefitName][k].Band\n var value = this.bandTableData[benefitName][k].TableRef\n this.bandTableObject[key] = value\n }\n var indexfn = this.findIndexValue(this.benefit[selectedCoverageType], \"name\", benefitName)\n if (indexfn != null) {\n this.benefit[selectedCoverageType][indexfn] = ({ \"name\": benefitName, \"code\": \"Base\", \"Band\": this.bandTableObject })\n } else {\n this.benefit[selectedCoverageType].push({ \"name\": benefitName, \"code\": code, \"Band\": this.bandTableObject })\n }\n if (this.copyDB == true) {\n var mainTI = this.el.nativeElement.querySelector('.product-row.Terminal')\n mainTI.querySelector('.checkbox').firstElementChild.click()\n mainTI.querySelector('.checkbox').firstElementChild.click()\n }\n }\n if (benefitName == 'Death Benefit') {\n if (this.copyDB == true) {\n var mainTI = this.el.nativeElement.querySelector('.product-row.Terminal')\n setTimeout(function () {\n mainTI.querySelector('.checkbox').firstElementChild.click()\n }, 500)\n setTimeout(function () {\n mainTI.querySelector('.checkbox').firstElementChild.click()\n }, 500)\n }\n }\n for (var c = 0; c < this.superProtectBenefitList.length; c++) {\n if (this.superProtectBenefitList[c].item_name.includes(benefitName)) {\n code = this.superProtectBenefitList[c].item_code;\n break;\n }\n }\n } else if (this.groupLoanSecure) {\n for (var c = 0; c < this.benefitList.length; c++) {\n if (this.benefitList[c].item_name.includes(benefitName)) {\n code = this.benefitList[c].item_code;\n break;\n }\n }\n if (benefitName == 'Death Benefit') {\n if (event.target.placeholder == \"Band\") {\n // this.selectedRateADB[i] = \"\"\n this.selectedBandDB[i] = event.target.value;\n this.bandTableData[benefitName][i].Band = event.target.value;\n } else if (event.target.placeholder == \"Rate\") {\n this.selectedRateDB[i] = event.target.value;\n this.bandTableData[benefitName][i][\"TableRef\"] = event.target.value;\n }\n } else if (benefitName == 'Accidental Death Benefit') {\n if (event.target.placeholder == \"Band\") {\n // this.selectedRateDB[i] = \"\"\n this.selectedBandADB[i] = event.target.value;\n this.bandTableData[benefitName][i].Band = event.target.value;\n } else if (event.target.placeholder == \"Rate\") {\n this.selectedRateADB[i] = event.target.value;\n this.bandTableData[benefitName][i][\"TableRef\"] = event.target.value;\n }\n } else if (benefitName == 'Critical Illness') {\n for (var c = 0; c < this.criticalIllnessList.length; c++) {\n if (this.criticalIllnessList[c].item_name == this.selectedCriticalIllness) {\n code = this.criticalIllnessList[c].item_code;\n break;\n }\n }\n if (event.target.placeholder == \"Band\") {\n // this.selectedRateDB[i] = \"\"\n this.selectedBandCRI[i] = event.target.value;\n this.bandTableData[benefitName][i].Band = event.target.value;\n } else if (event.target.placeholder == \"Rate\") {\n this.selectedRateCRI[i] = event.target.value;\n this.bandTableData[benefitName][i][\"TableRef\"] = event.target.value;\n }\n } else if (benefitName == 'Total and Permanent Disability') {\n if (event.target.placeholder == \"Band\") {\n // this.selectedRateDB[i] = \"\"\n this.selectedBandTPD[i] = event.target.value;\n this.bandTableData[benefitName][i].Band = event.target.value;\n } else if (event.target.placeholder == \"Rate\") {\n this.selectedRateTPD[i] = event.target.value;\n this.bandTableData[benefitName][i][\"TableRef\"] = event.target.value;\n }\n }\n }\n\n if (selectedCoverageType != 'Flat') {\n this.bandTableObject = {}\n for (var k = 0; k < this.bandTableData[benefitName].length; k++) {\n var key = this.bandTableData[benefitName][k].Band\n var value = this.bandTableData[benefitName][k].TableRef\n this.bandTableObject[key] = value\n }\n var indexfn = this.includeIndexValue(this.benefit[selectedCoverageType], \"name\", benefitName)\n if (benefitName == \"Critical Illness\") {\n benefitName = benefitName + \" \" + this.selectedCriticalIllness\n }\n if (indexfn != null) {\n this.benefit[selectedCoverageType][indexfn] = ({ \"name\": benefitName, \"code\": code, \"Band\": this.bandTableObject })\n } else {\n this.benefit[selectedCoverageType].push({ \"name\": benefitName, \"code\": code, \"Band\": this.bandTableObject })\n }\n }\n }\n }\n\n checkAgeBandLimit(event, covg, ben, i) {\n if (event.target.value != \"\") {\n var dbRow = this.el.nativeElement.querySelector('.product-row:not(.head)')\n var dbCovg = dbRow.querySelector('.isSelected').innerText\n var dbValues = []\n var dbMinAge = environment.fixedData[0].min_age_at_entry\n var dbMaxAge = environment.fixedData[0].max_age_at_entry\n var dbMinTerm = environment.fixedData[0].min_policy_term\n var dbMaxTerm = environment.fixedData[0].max_policy_term\n dbRow.querySelectorAll('input:not(.hidden)').forEach(function (input) {\n if (input.placeholder == \"Band\") {\n dbValues.push(input.value)\n }\n })\n for (var j = 0; j < dbValues.length; j++) {\n if (dbValues[j].includes(\"-\")) {\n dbValues.push(dbValues[j].split(\"-\")[0])\n dbValues.push(dbValues[j].split(\"-\")[1])\n }\n }\n for (var j = 0; j < dbValues.length; j++) {\n dbValues[j] = parseInt(dbValues[j])\n }\n if (dbCovg == \"Age Band\") {\n dbMinAge = Math.min(...dbValues)\n dbMaxAge = Math.max(...dbValues)\n } else if (dbCovg == \"Term\") {\n dbMinTerm = Math.min(...dbValues)\n dbMaxTerm = Math.max(...dbValues)\n }\n if (event.target.placeholder == \"Rate\") {\n if (environment.groupLoanSecure) {\n if (event.target.value > environment.fixedData[0][\"max_mortality_rate\"] || event.target.value < environment.fixedData[0][\"min_mortality_rate\"]) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter mortality rate between ' + environment.fixedData[0][\"min_mortality_rate\"] + \" \" + 'to' + \" \" + environment.fixedData[0][\"max_mortality_rate\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n else if (event.target.value < 100 && ((event.target.value % 5) != 0)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter mortality rate in multiple of 5, when mortality rate is below 100',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n else if (event.target.value > 100 && event.target.value < 200 && ((event.target.value % 10) != 0)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter mortality rate in multiple of 10, when mortality rate ranges from 100 to 200',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n else if (event.target.value > 200 && event.target.value < 300 && ((event.target.value % 25) != 0)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter mortality rate in multiple of 25, when mortality rate ranges from 200 to 300',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n } else if (environment.superProductCredit) {\n if (event.target.value > environment.fixedData[0][\"max_mortality_rate\"] || event.target.value < environment.fixedData[0][\"min_mortality_rate\"]) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter mortality rate between ' + environment.fixedData[0][\"min_mortality_rate\"] + \" \" + 'to' + \" \" + environment.fixedData[0][\"max_mortality_rate\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n else if (event.target.value < 100 && ((event.target.value % 5) != 0)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter mortality rate in multiple of 5, when mortality rate is below 100',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n else if (event.target.value > 100 && event.target.value < 500 && ((event.target.value % 10) != 0)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter mortality rate in multiple of 10, when mortality rate ranges from 100 to 500',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n } else if (event.target.placeholder == \"Band\") {\n var value = event.target.value;\n var splitdata = value.split(\"-\");\n if (covg == \"Age Band\") {\n if (splitdata[0] != \" \" && ben.startsWith(\"Death Benefit\")) {\n for (var l = 0; l < splitdata.length; l++) {\n splitdata[l] = parseInt(splitdata[l])\n }\n if (splitdata.length == 1) {\n if (splitdata[0] < environment.fixedData[0].min_age_at_entry || splitdata[0] > environment.fixedData[0].max_age_at_entry) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + environment.fixedData[0].min_age_at_entry + \" \" + 'and' + \" \" + 'max age' + \" \" + environment.fixedData[0].max_age_at_entry + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n } else {\n }\n }\n else if (splitdata.length > 1) {\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: \"Min age cannot be greater than max age!\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n // else 4\n if ((splitdata[0] < environment.fixedData[0].min_age_at_entry || splitdata[0] > environment.fixedData[0].max_age_at_entry ||\n splitdata[1] < environment.fixedData[0].min_age_at_entry || splitdata[1] > environment.fixedData[0].max_age_at_entry)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + environment.fixedData[0].min_age_at_entry + \" \" + 'and' + \" \" + 'max age' + \" \" + environment.fixedData[0].max_age_at_entry + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n } else if (splitdata[0] != \" \") {\n for (var l = 0; l < splitdata.length; l++) {\n splitdata[l] = parseInt(splitdata[l])\n }\n if (splitdata.length == 1) {\n if (splitdata[0] < dbMinAge || splitdata[0] > dbMaxAge) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + dbMinAge + \" \" + 'and' + \" \" + 'max age' + \" \" + dbMaxAge + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n } else {\n }\n }\n else if (splitdata.length > 1) {\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: \"Min age cannot be greater than max age!\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n // else 4\n if ((splitdata[0] < dbMinAge || splitdata[0] > dbMaxAge ||\n splitdata[1] < dbMinAge || splitdata[1] > dbMaxAge)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min age' + \" \" + dbMinAge + \" \" + 'and' + \" \" + 'max age' + \" \" + dbMaxAge + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n }\n } else if (covg == \"Term\") {\n if (splitdata[0] != \" \" && ben.startsWith(\"Death Benefit\")) {\n if (splitdata.length == 1) {\n if (splitdata[0] < environment.fixedData[0].min_policy_term || splitdata[0] > environment.fixedData[0].max_policy_term) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + environment.fixedData[0].min_policy_term + \" \" + 'and' + \" \" + 'max term' + \" \" + environment.fixedData[0].max_policy_term + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n else if (splitdata.length > 1) {\n if ((splitdata[0] < environment.fixedData[0].min_policy_term || splitdata[0] > environment.fixedData[0].max_policy_term ||\n splitdata[1] < environment.fixedData[0].min_policy_term || splitdata[1] > environment.fixedData[0].max_policy_term)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + environment.fixedData[0].min_policy_term + \" \" + 'and' + \" \" + 'max term' + \" \" + environment.fixedData[0].max_policy_term + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: \"Min term cannot be greater than max term.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n } else if (splitdata[0] != \" \" && (ben.startsWith(\"EMI Waiver(Hosp)\")) || (ben.startsWith(\"Cancer Protect\"))) {\n if (dbMaxTerm > environment.canceremimaxPolicyTerm) {\n dbMaxTerm = environment.canceremimaxPolicyTerm\n }\n if (splitdata.length == 1) {\n if (splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n else if (splitdata.length > 1) {\n if ((splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm ||\n splitdata[1] < dbMinTerm || splitdata[1] > dbMaxTerm)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: \"Min term cannot be greater than max term.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n } else if (splitdata[0] != \" \" && (ben.startsWith(\"Accelerated CI\")) || (ben.startsWith(\"Additional CI\"))) {\n if (dbMaxTerm > environment.acimaxPolicyTerm) {\n dbMaxTerm = environment.acimaxPolicyTerm\n }\n if (splitdata.length == 1) {\n if (splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n else if (splitdata.length > 1) {\n if ((splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm ||\n splitdata[1] < dbMinTerm || splitdata[1] > dbMaxTerm)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: \"Min term cannot be greater than max term.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n } else {\n if (splitdata.length == 1) {\n if (splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n else if (splitdata.length > 1) {\n if ((splitdata[0] < dbMinTerm || splitdata[0] > dbMaxTerm ||\n splitdata[1] < dbMinTerm || splitdata[1] > dbMaxTerm)) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: 'Please enter value between min term' + \" \" + dbMinTerm + \" \" + 'and' + \" \" + 'max term' + \" \" + dbMaxTerm + \"\" + ' of the product.',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n\n if (parseInt(splitdata[0]) > parseInt(splitdata[1])) {\n this.correctVal = false\n event.target.value = \"\";\n swal({\n title: \"Min term cannot be greater than max term.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n }\n }\n\n //overlap check\n var inputRange = event.target.parentElement.parentElement.parentElement.parentElement\n var ranges = []\n var values = []\n inputRange.querySelectorAll('input').forEach(function (input) {\n if (input != event.target && input.placeholder == \"Band\") {\n if (input.value.includes(\"-\")) {\n ranges.push(input.value)\n }\n }\n })\n inputRange.querySelectorAll('input').forEach(function (input) {\n if (input != event.target && input.placeholder == \"Band\") {\n if (!(input.value.includes(\"-\"))) {\n values.push(input.value)\n }\n }\n })\n if (event.target.value.includes(\"-\")) {\n var currRange = event.target.value.split(\"-\")\n currRange[0] = parseInt(currRange[0])\n currRange[1] = parseInt(currRange[1])\n for (var j = 0; j < ranges.length; j++) {\n var splitRange = ranges[j].split(\"-\")\n splitRange[0] = parseInt(splitRange[0])\n splitRange[1] = parseInt(splitRange[1])\n if (splitRange[0] <= currRange[0] && splitRange[1] >= currRange[0] ||\n splitRange[0] <= currRange[1] && splitRange[1] >= currRange[1]) {\n event.target.value = \"\"\n swal({\n title: 'Range cannot overlap!',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n for (var k = 0; k < values.length; k++) {\n values[k] = parseInt(values[k])\n if (currRange[0] <= values[k] && currRange[1] >= values[k]) {\n event.target.value = \"\"\n swal({\n title: 'Range cannot overlap!',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n } else {\n var currValue = parseInt(event.target.value);\n for (var j = 0; j < ranges.length; j++) {\n var splitRange = ranges[j].split(\"-\")\n splitRange[0] = parseInt(splitRange[0])\n splitRange[1] = parseInt(splitRange[1])\n if (splitRange[0] <= currValue && splitRange[1] >= currValue) {\n event.target.value = \"\"\n swal({\n title: 'Value cannot lie between already defined range!',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n for (var k = 0; k < values.length; k++) {\n if (values[k] == currValue) {\n values[k] = parseInt(values[k])\n event.target.value = \"\"\n swal({\n title: 'Duplicate value. Please select a different range!',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n })\n }\n }\n }\n }\n }\n }\n\n getIndex(event, i) {\n if (event.target.parentElement.parentElement.parentElement != null &&\n event.target.parentElement.parentElement.parentElement.parentElement != null) {\n this.index = i\n if (event.target.parentElement.parentElement.parentElement.parentElement.classList.contains('product-row')) {\n this.event = event.target.parentElement.parentElement.parentElement.parentElement\n } else if (event.target.parentElement.parentElement.parentElement.parentElement.parentElement.classList.contains('product-row')) {\n this.event = event.target.parentElement.parentElement.parentElement.parentElement.parentElement\n }\n else if (event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.classList.contains(\"product-row\")) {\n this.event = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;\n }\n else if (event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.classList.contains(\"product-row\")) {\n this.event = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement;\n }\n else\n this.event = event.target.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement\n }\n }\n\n getDropdownValue(value) {\n this.value = value\n this.saveDropdownValue(this.event, this.index, this.value)\n }\n\n saveEmiValue() {\n var ben = \"EMI Waiver(Hosp)\"\n var indexF = this.includeIndexValue(this.benefit[\"Flat\"], \"name\", ben)\n var indexA = this.includeIndexValue(this.benefit[\"AgeBandWise\"], \"name\", ben)\n var indexT = this.includeIndexValue(this.benefit[\"TermWise\"], \"name\", ben)\n var covgType\n var index\n var tempData\n if (indexF != null) {\n covgType = \"Flat\"\n index = indexF\n } else if (indexA != null) {\n covgType = \"AgeBandWise\"\n index = indexA\n } else if (indexT != null) {\n covgType = \"TermWise\"\n index = indexT\n }\n if (index != undefined) {\n var code;\n for (var i = 0; i < this.superProtectBenefitList.length; i++) {\n if (this.superProtectBenefitList[i].item_name.includes(ben)) {\n code = this.superProtectBenefitList[i].item_code;\n break;\n }\n }\n tempData = this.benefit[covgType][index]\n var mixValue\n var indicator\n if (this.selectedwaiverHospitalDays == \"7Days\") {\n indicator = \"1\"\n this.emi15 = \"\"\n mixValue = indicator + this.emi7\n } else if (this.selectedwaiverHospitalDays == \"15Days\") {\n indicator = \"2\"\n this.emi7 = \"\"\n mixValue = indicator + this.emi15\n } else if (this.selectedwaiverHospitalDays == \"7and15Days\") {\n indicator = \"3\"\n mixValue = indicator + this.emi7 + this.emi15\n }\n this.benefit[covgType][index] = ({ \"name\": ben + \" \" + this.selectedwaiverHospitalDays, \"value1\": this.emi7, \"value2\": this.emi15, \"value\": mixValue, \"code\": code, \"Band\": tempData.Band })\n }\n }\n\n saveDropdownValue(event, index, value) {\n var benefitName = event.firstElementChild.firstElementChild.innerText;\n if (value != \"\") {\n var code;\n for (var i = 0; i < this.superProtectBenefitList.length; i++) {\n if (this.superProtectBenefitList[i].item_name.includes(benefitName)) {\n code = this.superProtectBenefitList[i].item_code;\n break;\n }\n }\n var selectedCoverageType = event.querySelector('.isSelected').innerText;\n if (selectedCoverageType == \"Flat\") {\n selectedCoverageType = 'Flat'\n } else if (selectedCoverageType == \"Age Band\") {\n selectedCoverageType = 'AgeBandWise'\n } else if (selectedCoverageType == \"Term\") {\n selectedCoverageType = 'TermWise'\n }\n var indexfn = this.includeIndexValue(this.benefit[selectedCoverageType], \"name\", benefitName)\n if (selectedCoverageType == \"Flat\") {\n var tableref = ({ \"table_reference\": value })\n if (benefitName == 'Accelerated CI') {\n benefitName = benefitName + \" \" + this.selectedAcceleratedCI\n } else if (benefitName == 'Additional CI') {\n benefitName = benefitName + \" \" + this.selectedAdditionalCI\n } else if (benefitName == 'EMI Waiver(Hosp)') {\n benefitName = benefitName + \" \" + this.selectedwaiverHospitalDays\n }\n if (benefitName.includes(\"EMI Waiver(Hosp)\")) {\n var mixValue\n var indicator\n if (this.selectedwaiverHospitalDays == \"7Days\") {\n indicator = \"1\"\n this.emi15 = \"\"\n mixValue = indicator + this.emi7\n } else if (this.selectedwaiverHospitalDays == \"15Days\") {\n indicator = \"2\"\n this.emi15 = \"\"\n mixValue = indicator + this.emi7\n } else if (this.selectedwaiverHospitalDays == \"7and15Days\") {\n indicator = \"3\"\n mixValue = indicator + this.emi7 + this.emi15\n }\n if (indexfn != null) {\n this.benefit[selectedCoverageType][indexfn] = ({ \"name\": \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays, \"value1\": this.emi7, \"value2\": this.emi15, \"value\": mixValue, \"code\": code, \"Band\": tableref })\n } else {\n this.benefit[selectedCoverageType].push({ \"name\": \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays, \"value1\": this.emi7, \"value2\": this.emi15, \"value\": mixValue, \"code\": code, \"Band\": tableref })\n }\n } else {\n if (indexfn != null) {\n this.benefit[selectedCoverageType][indexfn] = ({ \"name\": benefitName, \"code\": code, \"Band\": tableref })\n } else {\n this.benefit[selectedCoverageType].push({ \"name\": benefitName, \"code\": code, \"Band\": tableref })\n }\n }\n if (benefitName == 'Accidental Death Benefit') {\n if (index == undefined) {\n // this.copytblADB = value\n //this.selectedTableEADB[0] = value\n }\n }\n } else {\n if (benefitName == 'Accidental Death Benefit') {\n this.selectedTableADB[index] = value\n } else if (benefitName == 'Enhanced ADB') {\n this.selectedTableEADB[index] = value\n } else if (benefitName == 'Accelerated Accidental Total and Permanent Disability') {\n this.selectedTableAATPD[index] = value\n } else if (benefitName == 'Cancer Protect') {\n this.selectedTableCP[index] = value\n } else if (benefitName == 'Accelerated CI') {\n this.selectedTableACI[index] = value\n } else if (benefitName == 'Additional CI') {\n this.selectedTableCI[index] = value\n } else if (benefitName == 'EMI Waiver(Hosp)') {\n this.selectedTableEMI[index] = value\n }\n this.bandTableData[benefitName][index].TableRef = value\n this.bandTableObject = {}\n for (var k = 0; k < this.bandTableData[benefitName].length; k++) {\n var key = this.bandTableData[benefitName][k].Band\n var value = this.bandTableData[benefitName][k].TableRef\n this.bandTableObject[key] = value\n }\n if (benefitName == 'Accelerated CI') {\n benefitName = benefitName + \" \" + this.selectedAcceleratedCI\n } else if (benefitName == 'Additional CI') {\n benefitName = benefitName + \" \" + this.selectedAdditionalCI\n } else if (benefitName == 'EMI Waiver(Hosp)') {\n benefitName = benefitName + \" \" + this.selectedwaiverHospitalDays\n }\n if ((benefitName.includes(\"EMI Waiver(Hosp)\"))) {\n var mixValue\n var indicator\n if (this.selectedwaiverHospitalDays == \"7Days\") {\n indicator = \"1\"\n this.emi15 = \"\"\n mixValue = indicator + this.emi7\n } else if (this.selectedwaiverHospitalDays == \"15Days\") {\n indicator = \"2\"\n this.emi7 = \"\"\n mixValue = indicator + this.emi15\n } else if (this.selectedwaiverHospitalDays == \"7and15Days\") {\n indicator = \"3\"\n mixValue = indicator + this.emi7 + this.emi15\n }\n if (indexfn != null) {\n this.benefit[selectedCoverageType][indexfn] = ({ \"name\": \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays, \"value1\": this.emi7, \"value2\": this.emi15, \"value\": mixValue, \"code\": code, \"Band\": this.bandTableObject })\n } else {\n this.benefit[selectedCoverageType].push({ \"name\": \"EMI Waiver(Hosp) \" + this.selectedwaiverHospitalDays, \"value1\": this.emi7, \"value2\": this.emi15, \"value\": mixValue, \"code\": code, \"Band\": this.bandTableObject })\n }\n } else {\n if (indexfn != null) {\n this.benefit[selectedCoverageType][indexfn] = ({ \"name\": benefitName, \"code\": code, \"Band\": this.bandTableObject })\n } else {\n this.benefit[selectedCoverageType].push({ \"name\": benefitName, \"code\": code, \"Band\": this.bandTableObject })\n }\n }\n }\n } else if (value == \"\" && benefitName == 'Accidental Death Benefit') {\n this.selectedTableEADB[0] = value\n this.copytblADB = value\n }\n }\n}\n","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n BOUNDARY CONDITION\\n
\\n
\\n
\\n
\\n Benefits\\n
\\n
\\n Min. Age\\n
at Entry\\n
\\n
\\n Max. Age\\n
at Entry\\n
\\n
\\n Min. cover\\n
ceasing age\\n
\\n
\\n Max. cover\\n
ceasing age\\n
\\n
\\n Min. sum\\n
assured\\n
\\n
\\n Max. sum\\n
assured\\n
\\n
\\n Min. policy\\n
term\\n
\\n
\\n Max. policy\\n
term\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
=18)\\\">\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n Benefits\\n
\\n
\\n Min. Age\\n
at Entry\\n
\\n
\\n Max. Age\\n
at Entry\\n
\\n
\\n Min. cover\\n
ceasing age\\n
\\n
\\n Max. cover\\n
ceasing age\\n
\\n
\\n Min. sum\\n
assured\\n
\\n
\\n Max. sum\\n
assured\\n
\\n
\\n Min. policy\\n
term\\n
\\n
\\n Max. policy\\n
term\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
80)\\\"\\n [ngClass]=\\\"{'disabled' : (benefit.title == 'Terminal Illness' )}\\\">\\n \\n
\\n
\\n \\n
\\n
80)\\\"\\n [ngClass]=\\\"{'disabled' : (benefit.title == 'Terminal Illness' )}\\\">\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
BACK
\\n
NEXT
\\n
\\n
\\n\\n\\n \\n

Which row do you want to copy for \\\"{{currBenefit}}\\\" field?

\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n Cancel
\\n
DONE
\\n
\\n
\\n
\\n\"","module.exports = \".product-conditions {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n border-radius: 9px;\\n height: calc(100% - 174px);\\n margin-top: 1rem;\\n margin-bottom: 1rem; }\\n .product-conditions .modalBody {\\n display: flex !important;\\n justify-content: space-around !important;\\n width: 100% !important; }\\n .product-conditions .progress-bar {\\n width: 100%;\\n height: 5px;\\n background: #d9e8f4;\\n border-radius: 5px; }\\n .product-conditions .progress-bar div {\\n width: 75%;\\n height: 5px;\\n background: #004681;\\n border-radius: 5px; }\\n .product-conditions .progress-bar.sp div {\\n width: 100%;\\n height: 8px;\\n background: #004681;\\n border-radius: 5px; }\\n .product-conditions .product-header {\\n padding: 11px;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .product-conditions .product-header div {\\n width: 40px;\\n height: 40px;\\n border-radius: 50%;\\n border: 1px solid #004681;\\n margin-right: 10px;\\n background: #004681;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .product-conditions .product-header div img {\\n width: 18px; }\\n .product-conditions .product-header span {\\n font-size: 15px !important;\\n font-weight: 600; }\\n .product-conditions .product-body {\\n margin: 10px;\\n text-align: center;\\n height: calc(100% - 115px);\\n overflow-y: auto; }\\n .product-conditions .product-body .product-row {\\n font-size: 12px !important;\\n font-weight: 600;\\n display: flex;\\n justify-content: space-evenly;\\n align-items: center;\\n margin: 0 auto;\\n border: 1px solid #d8d5d5;\\n border-bottom: none; }\\n .product-conditions .product-body .product-row:last-child {\\n margin-bottom: 5%;\\n border-bottom: 1px solid #d8d5d5; }\\n .product-conditions .product-body .product-row .product-column {\\n width: 50%;\\n padding: 10px;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n height: 40px; }\\n .product-conditions .product-body .product-row .product-column:not(:last-child) {\\n border-right: 1px solid #d8d5d5; }\\n .product-conditions .product-body .product-row .product-column:not(:first-child) {\\n max-width: 8vw; }\\n .product-conditions .product-body .product-row .product-column:first-child {\\n justify-content: left;\\n text-align: left;\\n padding-left: 25px;\\n min-width: 200px; }\\n .product-conditions .product-body .product-row .product-column input {\\n border-bottom: 1px solid #000;\\n padding: 8px;\\n padding-bottom: 0px;\\n font-size: 17px;\\n text-align: center;\\n margin-left: 0px !important;\\n min-width: 5em;\\n width: 50%; }\\n .product-conditions .product-body .product-row .product-column .checkbox, .product-conditions .product-body .product-row .product-column .checkboxLegend, .product-conditions .product-body .product-row .product-column .radio {\\n padding: 0.5rem 0.3rem;\\n display: flex;\\n align-items: center;\\n position: relative;\\n outline: 0;\\n justify-content: space-between;\\n min-width: 14em;\\n width: 99%;\\n top: 5px !important;\\n left: 10px; }\\n .product-conditions .product-body .product-row .product-column .checkboxLegend, .product-conditions .product-body .product-row .product-column .checkboxLegendLegend, .product-conditions .product-body .product-row .product-column .radioLegend {\\n min-width: auto;\\n width: auto;\\n padding: 0.5rem 0.3rem 0 0.3rem; }\\n .product-conditions .product-body .product-row .product-column .checkbox.checked label::after, .product-conditions .product-body .product-row .product-column .checkboxLegend.checked label::after, .product-conditions .product-body .product-row .product-column .radio.checked label::after {\\n content: url(\\\"/../assets/images/right.svg\\\");\\n background: #004681;\\n color: #fff; }\\n .product-conditions .product-body .product-row .product-column .checkbox label, .product-conditions .product-body .product-row .product-column .checkboxLegend label, .product-conditions .product-body .product-row .product-column .radio label {\\n font-size: 11px;\\n color: #000;\\n width: 95%;\\n white-space: normal;\\n text-align: left; }\\n .product-conditions .product-body .product-row .product-column .checkbox label.checkboxLabel, .product-conditions .product-body .product-row .product-column .checkboxLegend label.checkboxLabel, .product-conditions .product-body .product-row .product-column .radio label.checkboxLabel {\\n font-size: 0.8rem;\\n margin-left: 1.4rem;\\n color: #999a9f;\\n font-weight: 400;\\n text-transform: uppercase;\\n font-size: 11px;\\n font-weight: 600; }\\n .product-conditions .product-body .product-row .product-column .checkbox label.checkboxLabel:before, .product-conditions .product-body .product-row .product-column .checkbox label.checkboxLabel:after, .product-conditions .product-body .product-row .product-column .checkboxLegend label.checkboxLabel:before, .product-conditions .product-body .product-row .product-column .checkboxLegend label.checkboxLabel:after, .product-conditions .product-body .product-row .product-column .radio label.checkboxLabel:before, .product-conditions .product-body .product-row .product-column .radio label.checkboxLabel:after {\\n left: 0.25rem !important;\\n right: auto !important; }\\n .product-conditions .product-body .product-row .product-column .checkbox label::before, .product-conditions .product-body .product-row .product-column .checkbox label::after, .product-conditions .product-body .product-row .product-column .checkboxLegend label::before, .product-conditions .product-body .product-row .product-column .checkboxLegend label::after, .product-conditions .product-body .product-row .product-column .radio label::before, .product-conditions .product-body .product-row .product-column .radio label::after {\\n top: 22%;\\n z-index: 1;\\n left: -1.5vw;\\n position: absolute;\\n width: 0.8rem;\\n height: 0.8rem;\\n content: '';\\n background: #fff;\\n border-radius: .21428571rem;\\n padding: 0.125rem;\\n transition: border .1s ease,opacity .1s ease,box-shadow .1s ease,-webkit-transform .1s ease;\\n transition: border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease;\\n transition: border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease,-webkit-transform .1s ease;\\n border: 1px solid #004681; }\\n .product-conditions .footer {\\n margin: 0 auto;\\n width: 50%;\\n display: flex;\\n justify-content: space-evenly; }\\n .product-conditions .footer .button {\\n width: 10%;\\n margin: 0 auto;\\n top: 0px;\\n position: relative; }\\n .product-conditions .footer .white-back.button {\\n background: #fff;\\n border: 1px solid #e57518;\\n color: #000; }\\n .modal-body {\\n text-align: center !important; }\\n .modal-body .product-column.radioGroup {\\n max-height: 13rem; }\\n .modal-body .product-column.radioGroup fieldset#benefitRadio {\\n max-height: 12rem;\\n overflow-x: auto; }\\n .modalFooter {\\n display: flex !important;\\n bottom: -1.5rem; }\\n .modalFooter .button {\\n font-size: 20px;\\n font-weight: 600;\\n padding: 1rem 1rem;\\n width: 10rem;\\n margin-left: 1rem; }\\n .modalFooter .cancelbtn {\\n color: #e57518;\\n border: 1.5px solid #e57518;\\n background: #fff; }\\n .logoAdd {\\n width: 6rem !important;\\n height: 6rem !important;\\n border-radius: 50%;\\n overflow: hidden;\\n border: 1px solid #d2c7c7;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: #eee; }\\n .logoAdd img {\\n width: 5rem !important; }\\n\"","import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\nimport { RouterModule, Router } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { DataShareService } from '../../services/data-share.service';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport { ConfigService } from '../../services/config.service';\nimport swal from 'sweetalert2';\nimport { IfStmt } from '../../../../node_modules/@angular/compiler';\nb2cModalz: ElementRef;\n@Component({\n selector: 'app-product-boundary-condition',\n templateUrl: './product-boundary-condition.component.html',\n styleUrls: ['./product-boundary-condition.component.scss']\n})\nexport class ProductBoundaryConditionComponent implements OnInit {\n b2cModalz;\n benefits: any = [];\n child;\n savingData: any = {};\n childData: any = {};\n productName: any = [];\n name: any;\n showData: any = [];\n benefitData: any = [];\n savedData: any = [];\n policyList: any;\n partner_id: any;\n product_id: any;\n loan_id: any;\n partner_name: any;\n partner_logo: any;\n loanType: any;\n policyName: any;\n finalData: any;\n minAge;\n maxAge;\n minCoverCeasing;\n maxCoverCeasing;\n coverageType;\n bands;\n groupLoanSecure = environment.groupLoanSecure;\n superProductCredit = environment.superProductCredit;\n shubhRakshaCredit = environment.shubhRakshaCredit;\n goNext = false;\n level1 = {}\n level2 = {}\n level3 = {}\n selectedMortality = \"\"\n tempBenefits: any;\n copyFromBenefits: any = {}\n currBenefit = \"\"\n benefitNames: any = []\n copyFromBenefitName = \"\"\n dbMinTerm: any;\n dbMaxTerm: any;\n coverageTerm;\n aciciPresent = false;\n emicanPresent = false;\n benefitMaxAge;\n @ViewChild(\"b2cModalz\") set content(content: ElementRef) {\n this.b2cModalz = content;\n }\n constructor(public routes: Router, public change: DataShareService, public config: ConfigService, public el: ElementRef, public loader: Ng4LoadingSpinnerService) {\n if (environment.loginSuccessfully == true) {\n this.coverageTerm = environment.maxCoverageTerm;\n var data = [];\n data = environment.savedProductBenefit[0].benefits;\n this.benefitMaxAge = environment.fixedData[0].max_age_at_entry\n if (this.groupLoanSecure) {\n //push death benefit first\n for (var i = 0; i < data[\"AgeBandWise\"].length; i++) {\n var bands = Object.keys(data[\"AgeBandWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var age = bands[j].split(\"-\");\n var allAge = []\n for (var k = 0; k < age.length; k++) {\n allAge.push(parseInt(age[k]))\n }\n if (data[\"AgeBandWise\"][i].name.startsWith('Death Benefit')) {\n this.benefits.push({ \"title\": data[\"AgeBandWise\"][i].name, \"type\": \"AgeBandWise\", \"bands\": bands[j], \"minAge\": Math.min(...allAge), \"maxAge\": Math.max(...allAge) })\n }\n }\n }\n //push everything else\n for (var i = 0; i < data[\"AgeBandWise\"].length; i++) {\n var bands = Object.keys(data[\"AgeBandWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var age = bands[j].split(\"-\");\n var allAge = []\n for (var k = 0; k < age.length; k++) {\n allAge.push(parseInt(age[k]))\n }\n if (!(data[\"AgeBandWise\"][i].name.startsWith('Death Benefit'))) {\n this.benefits.push({ \"title\": data[\"AgeBandWise\"][i].name, \"type\": \"AgeBandWise\", \"bands\": bands[j], \"minAge\": Math.min(...allAge), \"maxAge\": Math.max(...allAge) })\n }\n }\n }\n } else {\n var dbCovg\n //push death benefit first\n for (var i = 0; i < data[\"Flat\"].length; i++) {\n if (data[\"Flat\"][i].name.startsWith('Death Benefit')) {\n this.benefits.push({ \"title\": data[\"Flat\"][i].name, \"type\": \"Flat\" })\n dbCovg = \"Flat\"\n }\n }\n for (var i = 0; i < data[\"TermWise\"].length; i++) {\n var bands = Object.keys(data[\"TermWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var term = bands[j].split(\"-\");\n var allTerm = []\n for (var k = 0; k < term.length; k++) {\n allTerm.push(parseInt(term[k]))\n }\n if (data[\"TermWise\"][i].name.startsWith(\"Death Benefit\")) {\n dbCovg = \"TermWise\"\n this.benefits.push({ \"title\": data[\"TermWise\"][i].name, \"type\": \"TermWise\", \"bands\": bands[j], \"minTerm\": Math.min(...allTerm), \"maxTerm\": Math.max(...allTerm) })\n }\n }\n }\n for (var i = 0; i < data[\"AgeBandWise\"].length; i++) {\n var bands = Object.keys(data[\"AgeBandWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var age = bands[j].split(\"-\");\n var allAge = []\n for (var k = 0; k < age.length; k++) {\n allAge.push(parseInt(age[k]))\n }\n if (data[\"AgeBandWise\"][i].name.startsWith('Death Benefit')) {\n dbCovg = \"AgeBandWise\"\n this.benefits.push({ \"title\": data[\"AgeBandWise\"][i].name, \"type\": \"AgeBandWise\", \"bands\": bands[j], \"minAge\": Math.min(...allAge), \"maxAge\": Math.max(...allAge) })\n }\n }\n }\n //push everything else now\n if (dbCovg == \"Flat\") {\n for (var i = 0; i < data[\"Flat\"].length; i++) {\n if (!(data[\"Flat\"][i].name.startsWith('Death Benefit'))) {\n this.benefits.push({ \"title\": data[\"Flat\"][i].name, \"type\": \"Flat\" })\n }\n }\n } else if (dbCovg == \"TermWise\") {\n for (var i = 0; i < data[\"TermWise\"].length; i++) {\n var bands = Object.keys(data[\"TermWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var term = bands[j].split(\"-\");\n var allTerm = []\n for (var k = 0; k < term.length; k++) {\n allTerm.push(parseInt(term[k]))\n }\n if (!(data[\"TermWise\"][i].name.startsWith(\"Death Benefit\"))) {\n this.benefits.push({ \"title\": data[\"TermWise\"][i].name, \"type\": \"TermWise\", \"bands\": bands[j], \"minTerm\": Math.min(...allTerm), \"maxTerm\": Math.max(...allTerm) })\n }\n }\n }\n } else if (dbCovg == \"AgeBandWise\") {\n for (var i = 0; i < data[\"AgeBandWise\"].length; i++) {\n var bands = Object.keys(data[\"AgeBandWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var age = bands[j].split(\"-\");\n var allAge = []\n for (var k = 0; k < age.length; k++) {\n allAge.push(parseInt(age[k]))\n }\n if (!(data[\"AgeBandWise\"][i].name.startsWith('Death Benefit'))) {\n this.benefits.push({ \"title\": data[\"AgeBandWise\"][i].name, \"type\": \"AgeBandWise\", \"bands\": bands[j], \"minAge\": Math.min(...allAge), \"maxAge\": Math.max(...allAge) })\n }\n }\n }\n }\n if (dbCovg != \"Flat\") {\n for (var i = 0; i < data[\"Flat\"].length; i++) {\n if (!(data[\"Flat\"][i].name.startsWith('Death Benefit'))) {\n this.benefits.push({ \"title\": data[\"Flat\"][i].name, \"type\": \"Flat\" })\n }\n }\n }\n if (dbCovg != \"TermWise\") {\n for (var i = 0; i < data[\"TermWise\"].length; i++) {\n var bands = Object.keys(data[\"TermWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var term = bands[j].split(\"-\");\n var allTerm = []\n for (var k = 0; k < term.length; k++) {\n allTerm.push(parseInt(term[k]))\n }\n if (!(data[\"TermWise\"][i].name.startsWith(\"Death Benefit\"))) {\n this.benefits.push({ \"title\": data[\"TermWise\"][i].name, \"type\": \"TermWise\", \"bands\": bands[j], \"minTerm\": Math.min(...allTerm), \"maxTerm\": Math.max(...allTerm) })\n }\n }\n }\n }\n if (dbCovg != \"AgeBandWise\") {\n for (var i = 0; i < data[\"AgeBandWise\"].length; i++) {\n var bands = Object.keys(data[\"AgeBandWise\"][i][\"Band\"])\n for (var j = 0; j < bands.length; j++) {\n var age = bands[j].split(\"-\");\n var allAge = []\n for (var k = 0; k < age.length; k++) {\n allAge.push(parseInt(age[k]))\n }\n if (!(data[\"AgeBandWise\"][i].name.startsWith('Death Benefit'))) {\n this.benefits.push({ \"title\": data[\"AgeBandWise\"][i].name, \"type\": \"AgeBandWise\", \"bands\": bands[j], \"minAge\": Math.min(...allAge), \"maxAge\": Math.max(...allAge) })\n }\n }\n }\n }\n }\n if (this.groupLoanSecure) {\n this.level3[\"AgeBandWise\"] = {}\n } else {\n for (var i = 0; i < this.benefits.length; i++) {\n if (this.benefits[i].title.startsWith('EMI Waiver(Hosp)') || this.benefits[i].title == ('Cancer Protect')) {\n this.emicanPresent = true\n break;\n }\n }\n if (this.emicanPresent == false) {\n for (var i = 0; i < this.benefits.length; i++) {\n if (this.benefits[i].title.startsWith('Additional CI') || this.benefits[i].title.startsWith('Accelerated CI')) {\n this.aciciPresent = true\n break;\n }\n }\n }\n this.level3[\"FlatWise\"] = {}\n this.level3[\"AgeBandWise\"] = {}\n this.level3[\"TermWise\"] = {}\n }\n console.log(this.benefits);\n\n var productMapping = environment.savedProductMapping[0];\n }\n else {\n this.routes.navigate([\"login\"]);\n }\n\n }\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n var __self = this;\n setInterval(function () {\n __self.el.nativeElement.querySelectorAll('input').forEach(function (input) {\n input.onpaste = function (e) {\n e.preventDefault();\n }\n })\n }, 500)\n if (Object.keys(environment.savedProductBoundryCondition).length > 0) {\n this.showData = environment.savedProductBoundryCondition;\n var row = document.querySelectorAll(\"div.product-row\");\n console.log(this.showData);\n if (this.groupLoanSecure) {\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var band;\n var benName;\n var covType;\n var column = row[i].querySelectorAll('.product-column');\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value.includes(\"product-column product-name\")) {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n for (var k = 0; k < this.benefits.length; k++) {\n if (this.name.startsWith(this.benefits[k].title)) {\n if (this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].bands == '999') {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n }\n }\n }\n if (this.showData[covType][benName] != undefined) {\n if (this.showData[covType][benName][band] != undefined) {\n this.benefitData = this.showData[covType][benName][band];\n } else {\n this.benefitData = []\n }\n }\n else {\n this.benefitData = []\n }\n console.log(this.benefitData);\n }\n else if (this.child.classList.value.includes(\"product-column product-min-age\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-max-age\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-min-cover-ceasing-age\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-cover-ceasing-age\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-min-sum-assured\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-max-sum-assured\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-min-policy-term\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-policy-term\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-max-policy-term\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-policy-term\");\n this.child.querySelector('input').value = value;\n }\n }\n }\n }\n } else if (this.superProductCredit) {\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var band;\n var benName;\n var covType;\n var column = row[i].querySelectorAll('.product-column');\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value.includes(\"product-column product-name\")) {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n for (var k = 0; k < this.benefits.length; k++) {\n if (this.name.startsWith(this.benefits[k].title)) {\n if (this.benefits[k].type != \"Flat\" && this.name.includes(this.benefits[k].bands)) {\n band = this.benefits[k].bands\n benName = this.benefits[k].title\n covType = this.benefits[k].type\n } else if (this.benefits[k].type == \"Flat\") {\n benName = this.benefits[k].title\n covType = \"FlatWise\"\n }\n }\n }\n if (covType != \"FlatWise\") {\n if (this.showData[covType][benName] != undefined) {\n if (this.showData[covType][benName][band] != undefined) {\n this.benefitData = this.showData[covType][benName][band];\n } else {\n this.benefitData = []\n }\n }\n else {\n this.benefitData = []\n }\n } else {\n if (this.showData[covType][benName] != undefined) {\n this.benefitData = this.showData[covType][benName];\n } else {\n this.benefitData = []\n }\n }\n console.log(this.benefitData);\n }\n else if (this.child.classList.value.includes(\"product-column product-min-age\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-max-age\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-min-cover-ceasing-age\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-cover-ceasing-age\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-cover-ceasing-age\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-min-sum-assured\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-max-sum-assured\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-sum-assured\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-min-policy-term\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-min-policy-term\");\n this.child.querySelector('input').value = value;\n }\n else if (this.child.classList.value.includes(\"product-column product-max-policy-term\") && Object.keys(this.benefitData).length > 0) {\n var value = this.config.getValues(this.benefitData, \"product-max-policy-term\");\n this.child.querySelector('input').value = value;\n }\n }\n }\n }\n }\n }\n }\n\n saveDataOnNext() {\n this.saveData();\n if (this.goNext == true) {\n this.routes.navigate(['product-scheme']);\n }\n\n }\n checknumber(e, data) {\n var re = /^[0-9\\ _.-]+$/;\n var str = e.target.value;\n if (e.keyCode != 45 && (e.keyCode < 48 || e.keyCode > 57)) {\n return false;\n }\n }\n\n checkbox(event) {\n var benefitName = event.target.innerText\n this.copyFromBenefits = {}\n this.benefitNames = []\n event.target.parentElement.classList.add('checked')\n this.saveDataForCopy()\n var pushBen = true\n for (var key in this.savingData) {\n pushBen = true\n if (this.savingData.hasOwnProperty(key)) {\n for (var innerKey in this.savingData[key]) {\n if (this.savingData[key][innerKey] == \"\") {\n pushBen = false\n }\n }\n }\n if (pushBen == true) {\n this.copyFromBenefits[key] = this.savingData[key]\n }\n }\n this.currBenefit = event.target.innerText\n var benName = Object.keys(this.copyFromBenefits)\n for (var q = 0; q < benName.length; q++) {\n if (benName[q] != this.currBenefit) {\n if (benefitName.startsWith(\"Terminal Illness\")) {\n if (benName[q].startsWith(\"Death Benefit\")) {\n var band = benefitName.replace(\"Terminal Illness\", \"\")\n if (band != \"\") {\n if (benName[q].includes(band)) {\n this.benefitNames.push({ \"item_name\": benName[q] })\n }\n } else {\n this.benefitNames.push({ \"item_name\": benName[q] })\n }\n }\n }\n // commented by ramji\n // else if (benefitName.startsWith(\"Enhanced ADB\")) {\n // if (benName[q].startsWith(\"Accidental Death Benefit\")) {\n // var band = benefitName.replace(\"Enhanced ADB\", \"\")\n // if (band != \"\") {\n // if (benName[q].includes(band)) {\n // this.benefitNames.push({ \"item_name\": benName[q] })\n // }\n // } else {\n // this.benefitNames.push({ \"item_name\": benName[q] })\n // }\n // }\n // }\n else {\n this.benefitNames.push({ \"item_name\": benName[q] })\n }\n }\n }\n if (this.benefitNames.length > 0) {\n this.b2cModalz.open();\n } else {\n swal({\n title: 'Please fill at least one row before attempting to copy',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n })\n }\n this.el.nativeElement.querySelector('.checked').classList.remove('checked')\n }\n\n selectRadioValue(value) {\n this.copyFromBenefitName = value\n }\n // submitDataOnSave() {\n // this.saveData();\n // }\n validationCheck(e, data) {\n //ancient code. Do not blame the previous developer for not using switch case.\n var value = parseInt(e.target.value);\n var benefitName = e.target.parentElement.parentElement.firstElementChild.innerText;\n var min_age = e.target.parentElement.parentElement.querySelector('.product-min-age').firstElementChild.value\n var max_age = e.target.parentElement.parentElement.querySelector('.product-max-age').firstElementChild.value\n var min_cover = e.target.parentElement.parentElement.querySelector('.product-min-cover-ceasing-age').firstElementChild.value\n var max_cover = e.target.parentElement.parentElement.querySelector('.product-cover-ceasing-age').firstElementChild.value\n var min_sum = e.target.parentElement.parentElement.querySelector('.product-min-sum-assured').firstElementChild.value\n var max_sum = e.target.parentElement.parentElement.querySelector('.product-max-sum-assured').firstElementChild.value\n var min_term = e.target.parentElement.parentElement.querySelector('.product-min-policy-term').firstElementChild.value\n var max_term = e.target.parentElement.parentElement.querySelector('.product-max-policy-term').firstElementChild.value\n var min_cover_limit\n var max_cover_limit\n min_age = parseInt(min_age)\n max_age = parseInt(max_age)\n min_cover = parseInt(min_cover)\n max_cover = parseInt(max_cover)\n min_sum = parseInt(min_sum)\n max_sum = parseInt(max_sum)\n min_term = parseInt(min_term)\n max_term = parseInt(max_term)\n var minTerm = []\n var maxTerm = []\n var minSum = []\n var maxSum = []\n var minAge = []\n var maxAge = []\n var minCoverCeasing = []\n var maxCoverCeasing = []\n environment.minPolicyTerm = 2\n environment.maxPolicyTerm = environment.maxCoverageTerm\n this.el.nativeElement.querySelectorAll('.product-row:not(:first-child)').forEach(function (rows) {\n var benefit = rows.querySelector('#benefitName').innerText\n if (benefit.startsWith(\"Death Benefit\")) {\n if (rows.querySelector('#minAge').value != \"\") {\n minAge.push(parseInt(rows.querySelector('#minAge').value))\n environment.minAge = Math.min(...minAge)\n }\n if (rows.querySelector('#maxAge').value != \"\") {\n maxAge.push(parseInt(rows.querySelector('#maxAge').value))\n environment.maxAge = Math.max(...maxAge)\n }\n if (rows.querySelector('#mincoverCeasingAge').value != \"\") {\n minCoverCeasing.push(parseInt(rows.querySelector('#mincoverCeasingAge').value))\n environment.minCoverCeasing = Math.min(...minCoverCeasing)\n }\n if (rows.querySelector('#coverCeasingAge').value != \"\") {\n maxCoverCeasing.push(parseInt(rows.querySelector('#coverCeasingAge').value))\n environment.maxCoverCeasing = Math.max(...maxCoverCeasing)\n }\n if (rows.querySelector('#minSumAssured').value != \"\") {\n minSum.push(parseInt(rows.querySelector('#minSumAssured').value))\n environment.minSumAssured = Math.min(...minSum)\n }\n if (rows.querySelector('#maxSumAssured').value != \"\") {\n maxSum.push(parseInt(rows.querySelector('#maxSumAssured').value))\n environment.maxSumAssured = Math.max(...maxSum)\n }\n if (rows.querySelector('#minPolicyTerm').value != \"\") {\n minTerm.push(parseInt(rows.querySelector('#minPolicyTerm').value))\n environment.minPolicyTerm = Math.min(...minTerm)\n }\n if (rows.querySelector('#maxPolicyTerm').value != \"\") {\n maxTerm.push(parseInt(rows.querySelector('#maxPolicyTerm').value))\n environment.maxPolicyTerm = Math.max(...maxTerm)\n }\n }\n })\n //conflict check\n if (data == \"minAge\") {\n if (value > max_age && max_age != NaN) {\n e.target.value = \"\"\n swal({\n title: 'Min age cannot be greater than max age',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n else if (data == \"maxAge\") {\n if (value < min_age && min_age != NaN) {\n e.target.value = \"\"\n swal({\n title: 'Max age cannot be less than min age',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n else if (data == \"mincoverCeasingAge\") {\n if (value > max_cover && max_cover != NaN) {\n e.target.value = \"\"\n swal({\n title: 'Min cover ceasing age cannot be greater than max cover ceasing age',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n else if (data == \"coverCeasingAge\") {\n if (value < min_cover && min_cover != NaN) {\n e.target.value = \"\"\n swal({\n title: 'Max cover ceasing age cannot be less than min cover ceasing age',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n else if (data == \"minSumAssured\") {\n if (value > max_sum && max_sum != NaN) {\n e.target.value = \"\"\n swal({\n title: 'Min sum assured cannot be greater than max sum assured',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n else if (data == \"maxSumAssured\") {\n if (value < min_sum && min_sum != NaN) {\n e.target.value = \"\"\n swal({\n title: 'Max sum assured cannot be less than min sum assured',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n else if (data == \"minPolicyTerm\") {\n if (value > max_term && max_term != NaN) {\n e.target.value = \"\"\n swal({\n title: 'Min policy term cannot be greater than max policy term',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n else if (data == \"maxPolicyTerm\") {\n if (value < min_term && min_term != NaN) {\n e.target.value = \"\"\n swal({\n title: 'Max policy term cannot be less than min policy term',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n if (isNaN(min_age)) {\n min_cover_limit = environment.fixedData[0].min_cover_ceasing_age\n } else {\n if (environment.groupLoanSecure) {\n min_cover_limit = min_age + 2;\n if (min_cover_limit > environment.fixedData[0].max_cover_ceasing_age) {\n min_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n }\n } else if (environment.superProductCredit) {\n // min_cover_limit = min_age + this.coverageTerm;\n min_cover_limit = min_age + 2;\n if (min_cover_limit > environment.fixedData[0].max_cover_ceasing_age) {\n min_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n }\n }\n }\n if (isNaN(max_age)) {\n max_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n } else {\n if (environment.groupLoanSecure) {\n max_cover_limit = max_age + 5;\n if (max_cover_limit > environment.fixedData[0].max_cover_ceasing_age) {\n max_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n }\n } else if (environment.superProductCredit) {\n max_cover_limit = max_age + this.coverageTerm;\n if (max_cover_limit > environment.fixedData[0].max_cover_ceasing_age) {\n max_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n }\n }\n }\n if (data == \"minAge\" || data == \"maxAge\") {\n if (benefitName.startsWith(\"Death Benefit\")) {\n if (value < environment.fixedData[0].min_age_at_entry || value > environment.fixedData[0].max_age_at_entry) {\n e.target.value = \"\"\n swal({\n title: 'Please enter age between' + ' ' + environment.fixedData[0][\"min_age_at_entry\"] + ' to' + ' ' + environment.fixedData[0][\"max_age_at_entry\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n if (data == \"minAge\" && !(isNaN(value))) {\n var a = e.target.parentElement.parentElement.querySelector('input#mincoverCeasingAge')\n if (environment.groupLoanSecure) {\n a.value = value + 2\n if (a.value < 18) {\n a.value = 18\n }\n }\n else if (environment.superProductCredit) {\n a.value = value + 2; //min ceasing age spc\n if (a.value > 80) {\n a.value = 80\n }\n }\n } else if (data == \"maxAge\" && !(isNaN(value))) {\n var a = e.target.parentElement.parentElement.querySelector('input#coverCeasingAge')\n if (environment.groupLoanSecure) {\n a.value = value + 5\n if (a.value < 18) {\n a.value = 18\n }\n }\n else if (environment.superProductCredit) {\n a.value = value + this.coverageTerm;\n if (a.value > 80) {\n a.value = 80\n }\n }\n }\n }\n } else {\n if (value < environment.minAge || value > environment.maxAge) {\n e.target.value = \"\"\n swal({\n title: 'Please enter age between' + ' ' + environment.minAge + ' to' + ' ' + environment.maxAge,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n if (data == \"minAge\" && !(isNaN(value))) {\n var a = e.target.parentElement.parentElement.querySelector('input#mincoverCeasingAge')\n if (environment.groupLoanSecure) {\n a.value = value + 2\n if (a.value < 18) {\n a.value = 18\n }\n }\n else if (environment.superProductCredit) {\n a.value = value + this.coverageTerm;\n if (a.value > 80) {\n a.value = 80\n }\n }\n } else if (data == \"maxAge\" && !(isNaN(value))) {\n var a = e.target.parentElement.parentElement.querySelector('input#coverCeasingAge')\n if (environment.groupLoanSecure) {\n a.value = value + 5\n if (a.value < 18) {\n a.value = 18\n }\n }\n else if (environment.superProductCredit) {\n a.value = value + this.coverageTerm;\n if (a.value > 80) {\n a.value = 80\n }\n }\n }\n }\n }\n }\n else if (data == \"coverCeasingAge\" || data == \"mincoverCeasingAge\") {\n if (benefitName.startsWith(\"Death Benefit\")) {\n if (value < min_cover_limit || value > max_cover_limit) {\n e.target.value = \"\"\n swal({\n title: 'Please enter cover ceasing age between' + ' ' + min_cover_limit + ' to' + ' ' + max_cover_limit,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n } else {\n if (environment.minCoverCeasing > min_cover_limit) {\n min_cover_limit = environment.minCoverCeasing\n }\n if (environment.maxCoverCeasing < max_cover_limit) {\n max_cover_limit = environment.maxCoverCeasing\n }\n if (value < min_cover_limit || value > max_cover_limit) {\n e.target.value = \"\"\n swal({\n title: 'Please enter cover ceasing age between' + ' ' + min_cover_limit + ' to' + ' ' + max_cover_limit,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n }\n else if (data == \"minSumAssured\" || data == \"maxSumAssured\") {\n if (benefitName.startsWith(\"Death Benefit\")) {\n if (value < environment.fixedData[0].min_sum_assured) {\n e.target.value = \"\"\n swal({\n title: 'Minimum sum assured starts from ' + ' ' + environment.fixedData[0][\"min_sum_assured\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n } else if (environment.maxSumAssured == 0) {\n if (benefitName.includes(\"EMI Waiver(Hosp)\")) {\n if (value < environment.minSumAssured || value > environment.fixedData[0][\"max_sum_assured_emi\"]) {\n e.target.value = \"\"\n swal({\n title: 'Sum assured limit should be between ' + environment.minSumAssured + ' to ' + environment.fixedData[0][\"max_sum_assured_emi\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n } else if (benefitName.includes(\"Cancer Protect\")) {\n if (value < environment.minSumAssured || value > environment.fixedData[0][\"max_sum_assured_cancer\"]) {\n e.target.value = \"\"\n swal({\n title: 'Sum assured limit should be between ' + environment.minSumAssured + ' to ' + environment.fixedData[0][\"max_sum_assured_cancer\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n } else {\n if (value < environment.minSumAssured) {\n e.target.value = \"\"\n swal({\n title: 'Minimum sum assured starts from ' + ' ' + environment.minSumAssured,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n } else {\n if (benefitName.includes(\"EMI Waiver(Hosp)\")) {\n var max_sum_emi = environment.fixedData[0][\"max_sum_assured_emi\"]\n if (environment.maxSumAssured < max_sum_emi) {\n max_sum_emi = environment.maxSumAssured\n }\n if (value < environment.minSumAssured || value > max_sum_emi) {\n e.target.value = \"\"\n swal({\n title: 'Sum assured limit should be between ' + environment.minSumAssured + ' to ' + max_sum_emi,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n } else if (benefitName.includes(\"Cancer Protect\")) {\n var max_sum_can = environment.fixedData[0][\"max_sum_assured_cancer\"]\n if (environment.maxSumAssured < max_sum_can) {\n max_sum_can = environment.maxSumAssured\n }\n if (value < environment.minSumAssured || value > max_sum_can) {\n e.target.value = \"\"\n swal({\n title: 'Sum assured limit should be between ' + environment.minSumAssured + ' to ' + max_sum_can,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n } else {\n if (value < environment.minSumAssured || value > environment.maxSumAssured) {\n e.target.value = \"\"\n swal({\n title: 'Sum assured ranges from ' + environment.minSumAssured + ' to ' + environment.maxSumAssured,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n }\n }\n else if (data == \"minPolicyTerm\" || data == \"maxPolicyTerm\") {\n if (benefitName.startsWith(\"Death Benefit\")) {\n if (value < environment.fixedMinPolicyTerm || value > environment.maxCoverageTerm) {\n e.target.value = \"\"\n swal({\n title: 'Please enter Policy Term between' + ' ' + environment.fixedMinPolicyTerm + ' to' + ' ' + environment.maxCoverageTerm,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n } else if (benefitName.includes(\"Accelerated CI\") || benefitName.includes(\"Additional CI\")) {\n var aci\n environment.maxPolicyTerm > environment.acimaxPolicyTerm ? aci = environment.acimaxPolicyTerm : aci = environment.maxPolicyTerm;\n if (value < environment.minPolicyTerm || value > aci) {\n e.target.value = \"\"\n swal({\n title: 'Please enter Policy Term between' + ' ' + environment.minPolicyTerm + ' to' + ' ' + aci,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n } else if (benefitName.includes(\"EMI Waiver(Hosp)\") || benefitName.includes(\"Cancer Protect\")) {\n var canceremi\n environment.maxPolicyTerm > environment.canceremimaxPolicyTerm ? canceremi = environment.canceremimaxPolicyTerm : canceremi = environment.maxPolicyTerm;\n if (value < environment.minPolicyTerm || value > canceremi) {\n e.target.value = \"\"\n swal({\n title: 'Please enter Policy Term between' + ' ' + environment.minPolicyTerm + ' to' + ' ' + canceremi,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n } else {\n if (value < environment.minPolicyTerm || value > environment.maxPolicyTerm) {\n swal({\n title: 'Please enter Policy Term between' + ' ' + environment.minPolicyTerm + ' to' + ' ' + environment.maxPolicyTerm,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n e.target.classList.add(\"error\");\n })\n }\n else {\n e.target.classList.remove(\"error\");\n }\n }\n }\n\n if (e.target.value != \"\") {\n if (benefitName.startsWith(\"Death Benefit\")) {\n var band = benefitName.replace(\"Death Benefit\", \"\")\n this.saveDataForCopy();\n var copyData = {}\n copyData = this.savingData[benefitName]\n this.el.nativeElement.querySelectorAll('.product-column.product-name').forEach(function (benefit) {\n if (benefit.innerText.startsWith(\"Terminal Illness\")) {\n if (band != \"\" && benefit.innerText.includes(band)) {\n var main = benefit.parentElement\n main.querySelector('.product-column.product-min-age').firstElementChild.value = copyData[\"product-min-age\"]\n main.querySelector('.product-column.product-max-age').firstElementChild.value = copyData[\"product-max-age\"]\n main.querySelector('.product-column.product-min-cover-ceasing-age').firstElementChild.value = copyData[\"product-min-cover-ceasing-age\"]\n main.querySelector('.product-column.product-cover-ceasing-age').firstElementChild.value = copyData[\"product-cover-ceasing-age\"]\n main.querySelector('.product-column.product-min-sum-assured').firstElementChild.value = copyData[\"product-min-sum-assured\"]\n main.querySelector('.product-column.product-max-sum-assured').firstElementChild.value = copyData[\"product-max-sum-assured\"]\n main.querySelector('.product-column.product-min-policy-term').firstElementChild.value = copyData[\"product-min-policy-term\"]\n main.querySelector('.product-column.product-max-policy-term').firstElementChild.value = copyData[\"product-max-policy-term\"]\n } else if (band == \"\") {\n var main = benefit.parentElement\n main.querySelector('.product-column.product-min-age').firstElementChild.value = copyData[\"product-min-age\"]\n main.querySelector('.product-column.product-max-age').firstElementChild.value = copyData[\"product-max-age\"]\n main.querySelector('.product-column.product-min-cover-ceasing-age').firstElementChild.value = copyData[\"product-min-cover-ceasing-age\"]\n main.querySelector('.product-column.product-cover-ceasing-age').firstElementChild.value = copyData[\"product-cover-ceasing-age\"]\n main.querySelector('.product-column.product-min-sum-assured').firstElementChild.value = copyData[\"product-min-sum-assured\"]\n main.querySelector('.product-column.product-max-sum-assured').firstElementChild.value = copyData[\"product-max-sum-assured\"]\n main.querySelector('.product-column.product-min-policy-term').firstElementChild.value = copyData[\"product-min-policy-term\"]\n main.querySelector('.product-column.product-max-policy-term').firstElementChild.value = copyData[\"product-max-policy-term\"]\n }\n }\n })\n } else if (benefitName.startsWith(\"Accidental Death Benefit\")) {\n var band = benefitName.replace(\"Accidental Death Benefit\", \"\")\n this.saveDataForCopy();\n var copyData = {}\n copyData = this.savingData[benefitName]\n this.el.nativeElement.querySelectorAll('.product-column.product-name').forEach(function (benefit) {\n if (benefit.innerText.startsWith(\"Enhanced ADB\")) {\n if (band != \"\" && benefit.innerText.includes(band)) {\n var main = benefit.parentElement\n main.querySelector('.product-column.product-min-age').firstElementChild.value = copyData[\"product-min-age\"]\n main.querySelector('.product-column.product-max-age').firstElementChild.value = copyData[\"product-max-age\"]\n main.querySelector('.product-column.product-min-cover-ceasing-age').firstElementChild.value = copyData[\"product-min-cover-ceasing-age\"]\n main.querySelector('.product-column.product-cover-ceasing-age').firstElementChild.value = copyData[\"product-cover-ceasing-age\"]\n main.querySelector('.product-column.product-min-sum-assured').firstElementChild.value = copyData[\"product-min-sum-assured\"]\n main.querySelector('.product-column.product-max-sum-assured').firstElementChild.value = copyData[\"product-max-sum-assured\"]\n main.querySelector('.product-column.product-min-policy-term').firstElementChild.value = copyData[\"product-min-policy-term\"]\n main.querySelector('.product-column.product-max-policy-term').firstElementChild.value = copyData[\"product-max-policy-term\"]\n } else if (band == \"\") {\n var main = benefit.parentElement\n main.querySelector('.product-column.product-min-age').firstElementChild.value = copyData[\"product-min-age\"]\n main.querySelector('.product-column.product-max-age').firstElementChild.value = copyData[\"product-max-age\"]\n main.querySelector('.product-column.product-min-cover-ceasing-age').firstElementChild.value = copyData[\"product-min-cover-ceasing-age\"]\n main.querySelector('.product-column.product-cover-ceasing-age').firstElementChild.value = copyData[\"product-cover-ceasing-age\"]\n main.querySelector('.product-column.product-min-sum-assured').firstElementChild.value = copyData[\"product-min-sum-assured\"]\n main.querySelector('.product-column.product-max-sum-assured').firstElementChild.value = copyData[\"product-max-sum-assured\"]\n main.querySelector('.product-column.product-min-policy-term').firstElementChild.value = copyData[\"product-min-policy-term\"]\n main.querySelector('.product-column.product-max-policy-term').firstElementChild.value = copyData[\"product-max-policy-term\"]\n }\n }\n })\n }\n }\n }\n\n backbutton() {\n this.savingData = {}\n var row = document.querySelectorAll(\"div.product-row\");\n this.productName = [];\n var check = 0\n var clear = false;\n if (this.groupLoanSecure) {\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var column = row[i].querySelectorAll('.product-column');\n if (Object.keys(this.childData).length > 0) {\n console.log(this.name);\n this.savingData[this.name] = this.childData;\n this.productName = [];\n this.childData = {};\n }\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value.includes(\"product-column product-name\")) {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n for (var n = 0; n < this.benefits.length; n++) {\n if (this.name.startsWith(this.benefits[n].title)) {\n if (this.benefits[n].bands != undefined && this.name.includes(this.benefits[n].bands)) {\n this.name = this.benefits[n].title;\n if (this.coverageType != undefined && this.coverageType != this.benefits[n].type) {\n clear = true\n }\n this.coverageType = this.benefits[n].type;\n this.bands = this.benefits[n].bands;\n break;\n } else if (this.benefits[n].bands == '999') {\n this.name = this.benefits[n].title;\n if (this.coverageType != undefined && this.coverageType != this.benefits[n].type) {\n clear = true\n }\n this.coverageType = this.benefits[n].type;\n this.bands = this.benefits[n].bands;\n }\n }\n }\n\n console.log(this.name);\n }\n else if (this.child.classList.value.includes(\"product-column product-min-age\")) {\n this.childData[\"product-min-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-max-age\")) {\n this.childData[\"product-max-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-min-cover-ceasing-age\")) {\n this.childData[\"product-min-cover-ceasing-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-cover-ceasing-age\")) {\n this.childData[\"product-cover-ceasing-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-min-sum-assured\")) {\n this.childData[\"product-min-sum-assured\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-max-sum-assured\")) {\n this.childData[\"product-max-sum-assured\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-min-policy-term\")) {\n this.childData[\"product-min-policy-term\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-max-policy-term\")) {\n this.childData[\"product-max-policy-term\"] = this.child.querySelector('input').value;\n check++\n }\n }\n if (check == 8 && this.coverageType != undefined) {\n if (!(this.level3[this.coverageType].hasOwnProperty(this.name))) {\n this.level1 = {}\n }\n if (clear) {\n this.level2 = {}\n }\n this.level1[this.bands] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n check = 0\n clear = false\n }\n }\n }\n this.savingData[this.name] = this.childData;\n console.log(this.name);\n console.log(this.savingData);\n if (this.coverageType == 'FlatWise') {\n this.level1['flat'] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n } else {\n this.level1[this.bands] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n }\n this.productName = [];\n this.childData = {};\n environment.savedProductBoundryCondition = [];\n environment.savedProductBoundryCondition = this.level3;\n console.log(environment.savedProductBenefit[0].benefit);\n this.savedData.push({\n \"partner_id\": 1, \"partner_name\": \"Indiabull\", \"product_name\": environment.savedProductMapping[0].product_name, \"loan_type\": environment.savedProductMapping[0].loan_type,\n \"policy_name\": environment.savedProductMapping[0].policy_name, \"minimum_group\": environment.savedProductMapping[0].minimum_group, \"mortality_rate_type\": environment.savedProductMapping[0].mortality_rate_type,\n \"mortality_rate\": environment.savedProductMapping[0].mortality_rate, \"benefits\": environment.savedProductBenefit[0].benefits, \"floor-rate\": environment.savedProductBenefit[0][\"floor-rate\"],\n \"boundary_condition\": environment.savedProductBoundryCondition\n });\n environment.savedTillProductBoundryCondition = this.savedData;\n } else {\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var column = row[i].querySelectorAll('.product-column');\n if (Object.keys(this.childData).length > 0) {\n console.log(this.name);\n this.savingData[this.name] = this.childData;\n this.productName = [];\n this.childData = {};\n }\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value.includes(\"product-column product-name\")) {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n for (var n = 0; n < this.benefits.length; n++) {\n if (this.name.startsWith(this.benefits[n].title)) {\n if (this.benefits[n].bands != undefined && this.name.includes(this.benefits[n].bands)) {\n this.name = this.benefits[n].title;\n if (this.coverageType != undefined && this.coverageType != this.benefits[n].type) {\n clear = true\n }\n this.coverageType = this.benefits[n].type;\n this.bands = this.benefits[n].bands;\n break;\n } else if (this.benefits[n].type == 'Flat') {\n this.name = this.benefits[n].title;\n if (this.coverageType != undefined && this.coverageType != 'FlatWise') {\n clear = true\n }\n this.coverageType = \"FlatWise\";\n break;\n }\n }\n }\n console.log(this.name);\n }\n else if (this.child.classList.value.includes(\"product-column product-min-age\")) {\n this.childData[\"product-min-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-max-age\")) {\n this.childData[\"product-max-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-min-cover-ceasing-age\")) {\n this.childData[\"product-min-cover-ceasing-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-cover-ceasing-age\")) {\n this.childData[\"product-cover-ceasing-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-min-sum-assured\")) {\n this.childData[\"product-min-sum-assured\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-max-sum-assured\")) {\n this.childData[\"product-max-sum-assured\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-min-policy-term\")) {\n this.childData[\"product-min-policy-term\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-max-policy-term\")) {\n this.childData[\"product-max-policy-term\"] = this.child.querySelector('input').value;\n check++\n }\n }\n if (check == 8 && this.coverageType != undefined) {\n if (!(this.level3[this.coverageType].hasOwnProperty(this.name))) {\n this.level1 = {}\n }\n if (clear) {\n this.level2 = {}\n }\n if (this.coverageType == 'FlatWise') {\n this.level1['flat'] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n } else {\n this.level1[this.bands] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n }\n check = 0\n clear = false\n }\n }\n }\n this.savingData[this.name] = this.childData;\n console.log(this.name);\n console.log(this.savingData);\n if (this.coverageType == 'FlatWise') {\n this.level1['flat'] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n } else {\n this.level1[this.bands] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n }\n this.productName = [];\n this.childData = {};\n environment.savedProductBoundryCondition = [];\n environment.savedProductBoundryCondition = this.level3;\n console.log(environment.savedProductBenefit[0].benefit);\n this.savedData.push({\n \"partner_id\": 1, \"partner_name\": \"Indiabull\", \"product_name\": environment.savedProductMapping[0].product_name, \"loan_type\": environment.savedProductMapping[0].loan_type,\n \"policy_name\": environment.savedProductMapping[0].policy_name, \"minimum_group\": environment.savedProductMapping[0].minimum_group, \"mortality_rate_type\": environment.savedProductMapping[0].mortality_rate_type,\n \"mortality_rate\": environment.savedProductMapping[0].mortality_rate, \"benefits\": environment.savedProductBenefit[0].benefits, \"floor-rate\": environment.savedProductBenefit[0][\"floor-rate\"],\n \"boundary_condition\": environment.savedProductBoundryCondition\n });\n environment.savedTillProductBoundryCondition = this.savedData;\n var index = this.findIndexValue(this.savedData[0][\"benefits\"][\"Flat\"], \"name\", \"Death Benefit\")\n if (index != null) {\n var value = this.savedData[0][\"benefits\"][\"Flat\"][index][\"Band\"][\"table_reference\"]\n this.selectedMortality = value\n this.change.setDbMortality(this.selectedMortality)\n }\n }\n\n this.routes.navigate(['product-benefits']);\n }\n\n saveDataForCopy() {\n this.savingData = {}\n var row = document.querySelectorAll(\"div.product-row\");\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var column = row[i].querySelectorAll('.product-column');\n if (Object.keys(this.childData).length > 0) {\n this.productName = [];\n this.savingData[this.name] = this.childData;\n console.log(this.name);\n console.log(this.savingData);\n this.productName = [];\n this.childData = {};\n }\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.productName = [];\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value.includes(\"product-column product-name\")) {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n this.savingData[this.name] = new Array();\n }\n else if (this.child.classList.value.includes(\"product-column product-min-age\")) {\n this.childData[\"product-min-age\"] = this.child.querySelector('input').value;\n }\n else if (this.child.classList.value.includes(\"product-column product-max-age\")) {\n this.childData[\"product-max-age\"] = this.child.querySelector('input').value;\n }\n else if (this.child.classList.value.includes(\"product-column product-min-cover-ceasing-age\")) {\n this.childData[\"product-min-cover-ceasing-age\"] = this.child.querySelector('input').value;\n }\n else if (this.child.classList.value.includes(\"product-column product-cover-ceasing-age\")) {\n this.childData[\"product-cover-ceasing-age\"] = this.child.querySelector('input').value;\n }\n else if (this.child.classList.value.includes(\"product-column product-min-sum-assured\")) {\n this.childData[\"product-min-sum-assured\"] = this.child.querySelector('input').value;\n }\n else if (this.child.classList.value.includes(\"product-column product-max-sum-assured\")) {\n this.childData[\"product-max-sum-assured\"] = this.child.querySelector('input').value;\n }\n else if (this.child.classList.value.includes(\"product-column product-min-policy-term\")) {\n this.childData[\"product-min-policy-term\"] = this.child.querySelector('input').value;\n }\n else if (this.child.classList.value.includes(\"product-column product-max-policy-term\")) {\n this.childData[\"product-max-policy-term\"] = this.child.querySelector('input').value;\n }\n }\n }\n }\n this.savingData[this.name] = this.childData;\n console.log(this.name);\n console.log(this.savingData);\n this.productName = [];\n this.childData = {};\n }\n\n closeModel(event) {\n this.b2cModalz.close(event);\n }\n\n copyRow(event) {\n this.closeModel(event)\n this.el.nativeElement.querySelector('.checked').classList.remove('checked')\n var copyData = {}\n for (var key in this.copyFromBenefits) {\n if (key == (this.copyFromBenefitName)) {\n copyData = this.copyFromBenefits[key]\n }\n }\n var __self = this\n this.el.nativeElement.querySelectorAll('.product-column.product-name').forEach(function (benefit) {\n if (benefit.innerText == __self.currBenefit) {\n var main = benefit.parentElement\n if (!(main.querySelector('.product-column.product-min-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-age').firstElementChild.value = copyData[\"product-min-age\"]\n }\n if (!(main.querySelector('.product-column.product-max-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-age').firstElementChild.value = copyData[\"product-max-age\"]\n }\n main.querySelector('.product-column.product-min-cover-ceasing-age').firstElementChild.value = copyData[\"product-min-cover-ceasing-age\"]\n main.querySelector('.product-column.product-cover-ceasing-age').firstElementChild.value = copyData[\"product-cover-ceasing-age\"]\n main.querySelector('.product-column.product-min-sum-assured').firstElementChild.value = copyData[\"product-min-sum-assured\"]\n main.querySelector('.product-column.product-max-sum-assured').firstElementChild.value = copyData[\"product-max-sum-assured\"]\n if (!(main.querySelector('.product-column.product-min-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-policy-term').firstElementChild.value = copyData[\"product-min-policy-term\"]\n }\n if (!(main.querySelector('.product-column.product-max-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-policy-term').firstElementChild.value = copyData[\"product-max-policy-term\"]\n }\n }\n //for eadb and ti to auto copy if db or adb is selected\n if (__self.currBenefit.startsWith(\"Death Benefit\")) {\n if (benefit.innerText.startsWith(\"Terminal Illness\")) {\n var band = __self.currBenefit.replace(\"Death Benefit\", \"\")\n if (band == \"\") {\n var main = benefit.parentElement\n if (!(main.querySelector('.product-column.product-min-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-age').firstElementChild.value = copyData[\"product-min-age\"]\n }\n if (!(main.querySelector('.product-column.product-max-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-age').firstElementChild.value = copyData[\"product-max-age\"]\n }\n main.querySelector('.product-column.product-min-cover-ceasing-age').firstElementChild.value = copyData[\"product-min-cover-ceasing-age\"]\n main.querySelector('.product-column.product-cover-ceasing-age').firstElementChild.value = copyData[\"product-cover-ceasing-age\"]\n main.querySelector('.product-column.product-min-sum-assured').firstElementChild.value = copyData[\"product-min-sum-assured\"]\n main.querySelector('.product-column.product-max-sum-assured').firstElementChild.value = copyData[\"product-max-sum-assured\"]\n if (!(main.querySelector('.product-column.product-min-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-policy-term').firstElementChild.value = copyData[\"product-min-policy-term\"]\n }\n if (!(main.querySelector('.product-column.product-max-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-policy-term').firstElementChild.value = copyData[\"product-max-policy-term\"]\n }\n } else if (benefit.innerText.includes(band)) {\n var main = benefit.parentElement\n if (!(main.querySelector('.product-column.product-min-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-age').firstElementChild.value = copyData[\"product-min-age\"]\n }\n if (!(main.querySelector('.product-column.product-max-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-age').firstElementChild.value = copyData[\"product-max-age\"]\n }\n main.querySelector('.product-column.product-min-cover-ceasing-age').firstElementChild.value = copyData[\"product-min-cover-ceasing-age\"]\n main.querySelector('.product-column.product-cover-ceasing-age').firstElementChild.value = copyData[\"product-cover-ceasing-age\"]\n main.querySelector('.product-column.product-min-sum-assured').firstElementChild.value = copyData[\"product-min-sum-assured\"]\n main.querySelector('.product-column.product-max-sum-assured').firstElementChild.value = copyData[\"product-max-sum-assured\"]\n if (!(main.querySelector('.product-column.product-min-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-policy-term').firstElementChild.value = copyData[\"product-min-policy-term\"]\n }\n if (!(main.querySelector('.product-column.product-max-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-policy-term').firstElementChild.value = copyData[\"product-max-policy-term\"]\n }\n }\n }\n } else if (__self.currBenefit.startsWith(\"Accidental Death Benefit\")) {\n if (benefit.innerText.startsWith(\"Enhanced ADB\")) {\n var band = __self.currBenefit.replace(\"Accidental Death Benefit\", \"\")\n if (band == \"\") {\n var main = benefit.parentElement\n if (!(main.querySelector('.product-column.product-min-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-age').firstElementChild.value = copyData[\"product-min-age\"]\n }\n if (!(main.querySelector('.product-column.product-max-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-age').firstElementChild.value = copyData[\"product-max-age\"]\n }\n main.querySelector('.product-column.product-min-cover-ceasing-age').firstElementChild.value = copyData[\"product-min-cover-ceasing-age\"]\n main.querySelector('.product-column.product-cover-ceasing-age').firstElementChild.value = copyData[\"product-cover-ceasing-age\"]\n main.querySelector('.product-column.product-min-sum-assured').firstElementChild.value = copyData[\"product-min-sum-assured\"]\n main.querySelector('.product-column.product-max-sum-assured').firstElementChild.value = copyData[\"product-max-sum-assured\"]\n if (!(main.querySelector('.product-column.product-min-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-policy-term').firstElementChild.value = copyData[\"product-min-policy-term\"]\n }\n if (!(main.querySelector('.product-column.product-max-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-policy-term').firstElementChild.value = copyData[\"product-max-policy-term\"]\n }\n } else if (benefit.innerText.includes(band)) {\n var main = benefit.parentElement\n if (!(main.querySelector('.product-column.product-min-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-age').firstElementChild.value = copyData[\"product-min-age\"]\n }\n if (!(main.querySelector('.product-column.product-max-age').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-age').firstElementChild.value = copyData[\"product-max-age\"]\n }\n main.querySelector('.product-column.product-min-cover-ceasing-age').firstElementChild.value = copyData[\"product-min-cover-ceasing-age\"]\n main.querySelector('.product-column.product-cover-ceasing-age').firstElementChild.value = copyData[\"product-cover-ceasing-age\"]\n main.querySelector('.product-column.product-min-sum-assured').firstElementChild.value = copyData[\"product-min-sum-assured\"]\n main.querySelector('.product-column.product-max-sum-assured').firstElementChild.value = copyData[\"product-max-sum-assured\"]\n if (!(main.querySelector('.product-column.product-min-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-min-policy-term').firstElementChild.value = copyData[\"product-min-policy-term\"]\n }\n if (!(main.querySelector('.product-column.product-max-policy-term').firstElementChild.classList.contains('disabled'))) {\n main.querySelector('.product-column.product-max-policy-term').firstElementChild.value = copyData[\"product-max-policy-term\"]\n }\n }\n }\n }\n })\n\n }\n\n saveData() {\n this.policyList = environment.partnerDetails;\n this.partner_id = this.policyList[0].partner_id;\n this.partner_name = this.policyList[0].partner_name;\n this.partner_logo = this.policyList[0].partner_logo;\n var count = 0;\n var count2 = 0;\n var inputs = this.el.nativeElement.querySelectorAll('input');\n var minTerm = []\n var maxTerm = []\n var minSum = []\n var maxSum = []\n var minAge = []\n var maxAge = []\n var minCoverCeasing = []\n var maxCoverCeasing = []\n environment.minPolicyTerm = 2\n environment.maxPolicyTerm = environment.maxCoverageTerm\n this.el.nativeElement.querySelectorAll('.product-row:not(:first-child)').forEach(function (rows) {\n var benefit = rows.querySelector('#benefitName').innerText\n if (benefit.startsWith(\"Death Benefit\")) {\n if (rows.querySelector('#minAge').value != \"\") {\n minAge.push(parseInt(rows.querySelector('#minAge').value))\n environment.minAge = Math.min(...minAge)\n }\n if (rows.querySelector('#maxAge').value != \"\") {\n maxAge.push(parseInt(rows.querySelector('#maxAge').value))\n environment.maxAge = Math.max(...maxAge)\n }\n if (rows.querySelector('#mincoverCeasingAge').value != \"\") {\n minCoverCeasing.push(parseInt(rows.querySelector('#mincoverCeasingAge').value))\n environment.minCoverCeasing = Math.min(...minCoverCeasing)\n }\n if (rows.querySelector('#coverCeasingAge').value != \"\") {\n maxCoverCeasing.push(parseInt(rows.querySelector('#coverCeasingAge').value))\n environment.maxCoverCeasing = Math.max(...maxCoverCeasing)\n }\n if (rows.querySelector('#minSumAssured').value != \"\") {\n minSum.push(parseInt(rows.querySelector('#minSumAssured').value))\n environment.minSumAssured = Math.min(...minSum)\n }\n if (rows.querySelector('#maxSumAssured').value != \"\") {\n maxSum.push(parseInt(rows.querySelector('#maxSumAssured').value))\n environment.maxSumAssured = Math.max(...maxSum)\n }\n if (rows.querySelector('#minPolicyTerm').value != \"\") {\n minTerm.push(parseInt(rows.querySelector('#minPolicyTerm').value))\n environment.minPolicyTerm = Math.min(...minTerm)\n }\n if (rows.querySelector('#maxPolicyTerm').value != \"\") {\n maxTerm.push(parseInt(rows.querySelector('#maxPolicyTerm').value))\n environment.maxPolicyTerm = Math.max(...maxTerm)\n }\n }\n })\n var __self = this\n this.el.nativeElement.querySelectorAll('input').forEach(function (item) {\n console.log(item);\n if (item.value != \"\") {\n item.value = parseInt(item.value)\n }\n if (item.parentElement.parentElement.classList.contains('product-row')) {\n var benefitName = item.parentElement.parentElement.firstElementChild.innerText;\n var min_age = parseInt(item.parentElement.parentElement.querySelector('.product-min-age').firstElementChild.value)\n var max_age = parseInt(item.parentElement.parentElement.querySelector('.product-max-age').firstElementChild.value)\n var min_cover = parseInt(item.parentElement.parentElement.querySelector('.product-min-cover-ceasing-age').firstElementChild.value)\n var max_cover = parseInt(item.parentElement.parentElement.querySelector('.product-cover-ceasing-age').firstElementChild.value)\n var min_sum = parseInt(item.parentElement.parentElement.querySelector('.product-min-sum-assured').firstElementChild.value)\n var max_sum = parseInt(item.parentElement.parentElement.querySelector('.product-min-sum-assured').firstElementChild.value)\n var min_term = parseInt(item.parentElement.parentElement.querySelector('.product-min-policy-term').firstElementChild.value)\n var max_term = parseInt(item.parentElement.parentElement.querySelector('.product-max-policy-term').firstElementChild.value)\n var min_cover_limit\n var max_cover_limit\n } else {\n var benefitName = item.parentElement.parentElement.firstElementChild.innerText;\n var min_age = parseInt(item.parentElement.parentElement.parentElement.querySelector('.product-min-age').firstElementChild.value)\n var max_age = parseInt(item.parentElement.parentElement.parentElement.querySelector('.product-max-age').firstElementChild.value)\n var min_cover = parseInt(item.parentElement.parentElement.parentElement.querySelector('.product-min-cover-ceasing-age').firstElementChild.value)\n var max_cover = parseInt(item.parentElement.parentElement.parentElement.querySelector('.product-cover-ceasing-age').firstElementChild.value)\n var min_sum = parseInt(item.parentElement.parentElement.parentElement.querySelector('.product-min-sum-assured').firstElementChild.value)\n var max_sum = parseInt(item.parentElement.parentElement.parentElement.querySelector('.product-min-sum-assured').firstElementChild.value)\n var min_term = parseInt(item.parentElement.parentElement.parentElement.querySelector('.product-min-policy-term').firstElementChild.value)\n var max_term = parseInt(item.parentElement.parentElement.parentElement.querySelector('.product-max-policy-term').firstElementChild.value)\n var min_cover_limit\n var max_cover_limit\n }\n if (isNaN(min_age)) {\n min_cover_limit = environment.fixedData[0].min_cover_ceasing_age\n } else {\n if (environment.groupLoanSecure) {\n min_cover_limit = min_age + 2;\n if (min_cover_limit > environment.fixedData[0].max_cover_ceasing_age) {\n min_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n }\n } else if (environment.superProductCredit) {\n // min_cover_limit = min_age + __self.coverageTerm;\n min_cover_limit = min_age + 2;\n if (min_cover_limit > environment.fixedData[0].max_cover_ceasing_age) {\n min_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n }\n }\n }\n if (isNaN(max_age)) {\n max_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n } else {\n if (environment.groupLoanSecure) {\n max_cover_limit = max_age + 5;\n if (max_cover_limit > environment.fixedData[0].max_cover_ceasing_age) {\n max_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n }\n } else if (environment.superProductCredit) {\n max_cover_limit = max_age + __self.coverageTerm;\n if (max_cover_limit > environment.fixedData[0].max_cover_ceasing_age) {\n max_cover_limit = environment.fixedData[0].max_cover_ceasing_age\n }\n }\n }\n if (item.value.trim() == \"\") {\n item.classList.add(\"error\");\n swal({\n title: 'Please Fill all details',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else if (item.id == \"minAge\" || item.id == \"maxAge\") {\n if (benefitName.startsWith(\"Death Benefit\")) {\n if (item.value < environment.fixedData[0].min_age_at_entry || item.value > environment.fixedData[0].max_age_at_entry) {\n swal({\n title: 'Please enter age between' + ' ' + environment.fixedData[0][\"min_age_at_entry\"] + ' to' + ' ' + environment.fixedData[0][\"max_age_at_entry\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else {\n if (item.value < environment.minAge || item.value > environment.maxAge) {\n swal({\n title: 'Please enter age between' + ' ' + environment.minAge + ' to' + ' ' + environment.maxAge,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n }\n }\n else if (item.id == \"coverCeasingAge\" || item.id == \"mincoverCeasingAge\") {\n if (benefitName.startsWith(\"Death Benefit\")) {\n if (item.value < min_cover_limit || item.value > max_cover_limit) {\n swal({\n title: 'Please enter cover ceasing age between' + ' ' + min_cover_limit + ' to' + ' ' + max_cover_limit,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else {\n if (environment.minCoverCeasing > min_cover_limit) {\n min_cover_limit = environment.minCoverCeasing\n }\n if (environment.maxCoverCeasing < max_cover_limit) {\n max_cover_limit = environment.maxCoverCeasing\n }\n if (item.value < min_cover_limit || item.value > max_cover_limit) {\n swal({\n title: 'Please enter cover ceasing age between' + ' ' + min_cover_limit + ' to' + ' ' + max_cover_limit,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n }\n }\n else if (item.id == \"minSumAssured\" || item.id == \"maxSumAssured\") {\n if (benefitName.startsWith(\"Death Benefit\")) {\n if (item.value < environment.fixedData[0].min_sum_assured) {\n swal({\n title: 'Minimum sum assured start from ' + ' ' + environment.fixedData[0][\"min_sum_assured\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else if (environment.maxSumAssured == 0) {\n if (benefitName.includes(\"EMI Waiver(Hosp)\")) {\n if (item.value < environment.minSumAssured || item.value > environment.fixedData[0][\"max_sum_assured_emi\"]) {\n swal({\n title: 'Sum assured limit should be between ' + environment.minSumAssured + ' to ' + environment.fixedData[0][\"max_sum_assured_emi\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else if (benefitName.includes(\"Cancer Protect\")) {\n if (item.value < environment.minSumAssured || item.value > environment.fixedData[0][\"max_sum_assured_cancer\"]) {\n swal({\n title: 'Sum assured limit should be between ' + environment.minSumAssured + ' to ' + environment.fixedData[0][\"max_sum_assured_cancer\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else {\n if (item.value < environment.minSumAssured) {\n swal({\n title: 'Minimum sum assured start from ' + ' ' + environment.minSumAssured,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n }\n } else {\n if (benefitName.includes(\"EMI Waiver(Hosp)\")) {\n var max_sum_emi = environment.fixedData[0][\"max_sum_assured_emi\"]\n if (environment.maxSumAssured < max_sum_emi) {\n max_sum_emi = environment.maxSumAssured\n }\n if (item.value < environment.minSumAssured || item.value > max_sum_emi) {\n swal({\n title: 'Sum assured limit should be between ' + environment.minSumAssured + ' to ' + max_sum_emi,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else if (benefitName.includes(\"Cancer Protect\")) {\n var max_sum_can = environment.fixedData[0][\"max_sum_assured_cancer\"]\n if (environment.maxSumAssured < max_sum_can) {\n max_sum_can = environment.maxSumAssured\n }\n if (item.value < environment.minSumAssured || item.value > max_sum_can) {\n swal({\n title: 'Sum assured limit should be between ' + environment.minSumAssured + ' to ' + max_sum_can,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else {\n if (item.value < environment.minSumAssured || item.value > environment.maxSumAssured) {\n swal({\n title: 'Sum assured limit should be between ' + environment.minSumAssured + ' to ' + environment.maxSumAssured,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n }\n }\n }\n else if (item.id == \"minPolicyTerm\" || item.id == \"maxPolicyTerm\") {\n item.value = parseInt(item.value);\n if (benefitName.startsWith(\"Death Benefit\")) {\n if (item.value < environment.minPolicyTerm || item.value > environment.maxCoverageTerm) {\n swal({\n title: 'Please enter Policy Term between' + ' ' + environment.minPolicyTerm + ' to' + ' ' + environment.maxCoverageTerm,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else if ((benefitName.includes(\"Accelerated CI\") || benefitName.includes(\"Additional CI\"))) {\n var acimax\n environment.maxPolicyTerm > environment.acimaxPolicyTerm ? acimax = environment.acimaxPolicyTerm : acimax = environment.maxPolicyTerm;\n if (item.value < environment.minPolicyTerm || item.value > acimax) {\n swal({\n title: 'Please enter Policy Term between' + ' ' + environment.minPolicyTerm + ' to' + ' ' + acimax,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else if ((benefitName.includes(\"EMI Waiver(Hosp)\") || benefitName.includes(\"Cancer Protect\"))) {\n var canceremimax;\n environment.maxPolicyTerm > environment.canceremimaxPolicyTerm ? canceremimax = environment.canceremimaxPolicyTerm : canceremimax = environment.maxPolicyTerm;\n if (item.value < environment.minPolicyTerm || item.value > canceremimax) {\n swal({\n title: 'Please enter Policy Term between' + ' ' + environment.minPolicyTerm + ' to' + ' ' + canceremimax,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n } else {\n if (item.value < environment.minPolicyTerm || item.value > environment.maxPolicyTerm) {\n swal({\n title: 'Please enter Policy Term between' + ' ' + environment.minPolicyTerm + ' to' + ' ' + environment.maxPolicyTerm,\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n }\n }\n else {\n item.classList.remove(\"error\");\n count++;\n }\n });\n if (count == inputs.length) {\n this.el.nativeElement.querySelectorAll('input').forEach(function (item) {\n console.log(item);\n var benefitName = item.parentElement.parentElement.firstElementChild.innerText;\n if (item.parentElement.classList.contains('checkbox')) {\n var min_age = item.parentElement.parentElement.parentElement.querySelector('.product-min-age').firstElementChild.value\n var max_age = item.parentElement.parentElement.parentElement.querySelector('.product-max-age').firstElementChild.value\n var min_cover = item.parentElement.parentElement.parentElement.querySelector('.product-min-cover-ceasing-age').firstElementChild.value\n var max_cover = item.parentElement.parentElement.parentElement.querySelector('.product-cover-ceasing-age').firstElementChild.value\n var min_sum = item.parentElement.parentElement.parentElement.querySelector('.product-min-sum-assured').firstElementChild.value\n var max_sum = item.parentElement.parentElement.parentElement.querySelector('.product-max-sum-assured').firstElementChild.value\n var min_term = item.parentElement.parentElement.parentElement.querySelector('.product-min-policy-term').firstElementChild.value\n var max_term = item.parentElement.parentElement.parentElement.querySelector('.product-max-policy-term').firstElementChild.value\n } else {\n var min_age = item.parentElement.parentElement.querySelector('.product-min-age').firstElementChild.value\n var max_age = item.parentElement.parentElement.querySelector('.product-max-age').firstElementChild.value\n var min_cover = item.parentElement.parentElement.querySelector('.product-min-cover-ceasing-age').firstElementChild.value\n var max_cover = item.parentElement.parentElement.querySelector('.product-cover-ceasing-age').firstElementChild.value\n var min_sum = item.parentElement.parentElement.querySelector('.product-min-sum-assured').firstElementChild.value\n var max_sum = item.parentElement.parentElement.querySelector('.product-max-sum-assured').firstElementChild.value\n var min_term = item.parentElement.parentElement.querySelector('.product-min-policy-term').firstElementChild.value\n var max_term = item.parentElement.parentElement.querySelector('.product-max-policy-term').firstElementChild.value\n }\n min_age = parseInt(min_age)\n max_age = parseInt(max_age)\n min_cover = parseInt(min_cover)\n max_cover = parseInt(max_cover)\n min_sum = parseInt(min_sum)\n max_sum = parseInt(max_sum)\n min_term = parseInt(min_term)\n max_term = parseInt(max_term)\n //conflict check\n\n if (item.id == \"minAge\") {\n if (item.value > max_age && max_age != NaN) {\n swal({\n title: 'Min age cannot be greater than max age',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count2++;\n }\n }\n else if (item.id == \"maxAge\") {\n if (item.value < min_age && min_age != NaN) {\n swal({\n title: 'Max age cannot be less than min age',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\");\n count2++;\n }\n }\n else if (item.id == \"mincoverCeasingAge\") {\n if (item.value > max_cover && max_cover != NaN) {\n swal({\n title: 'Min cover ceasing age cannot be greater than max cover ceasing age',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\"); count2++;\n }\n }\n else if (item.id == \"coverCeasingAge\") {\n if (item.value < min_cover && min_cover != NaN) {\n swal({\n title: 'Max cover ceasing age cannot be less than min cover ceasing age',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\"); count2++;\n }\n }\n else if (item.id == \"minSumAssured\") {\n if (item.value > max_sum && max_sum != NaN) {\n swal({\n title: 'Min sum assured cannot be greater than max sum assured',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\"); count2++;\n }\n }\n else if (item.id == \"maxSumAssured\") {\n if (item.value < min_sum && min_sum != NaN) {\n swal({\n title: 'Max sum assured cannot be less than min sum assured',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\"); count2++;\n }\n }\n else if (item.id == \"minPolicyTerm\") {\n if (item.value > max_term && max_term != NaN) {\n swal({\n title: 'Min policy term cannot be greater than max policy term',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\"); count2++;\n }\n }\n else if (item.id == \"maxPolicyTerm\") {\n if (item.value < min_term && min_term != NaN) {\n swal({\n title: 'Max policy term cannot be less than min policy term',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n item.classList.add(\"error\");\n })\n }\n else {\n item.classList.remove(\"error\"); count2++;\n }\n }\n else {\n item.classList.remove(\"error\");\n count2++;\n }\n\n\n });\n }\n if (count == inputs.length && count2 == inputs.length) {\n this.savingData = {}\n this.goNext = true;\n var row = document.querySelectorAll(\"div.product-row\");\n this.productName = [];\n var check = 0\n var clear = false;\n for (var i = 0; i < row.length; i++) {\n this.productName = [];\n var column = row[i].querySelectorAll('.product-column');\n if (Object.keys(this.childData).length > 0) {\n console.log(this.name);\n this.savingData[this.name] = this.childData;\n this.productName = [];\n this.childData = {};\n }\n for (var j = 0; j < column.length; j++) {\n if (i > 0) {\n this.child = row[i].querySelectorAll('.product-column')[j];\n if (this.child.classList.value.includes(\"product-column product-name\")) {\n this.productName.push({ \"product_name\": this.child.innerText });\n this.name = (this.productName[0].product_name).trim();\n for (var n = 0; n < this.benefits.length; n++) {\n if (this.name.startsWith(this.benefits[n].title)) {\n if (this.benefits[n].bands != undefined && this.name.includes(this.benefits[n].bands)) {\n this.name = this.benefits[n].title;\n if (this.coverageType != undefined && this.coverageType != this.benefits[n].type) {\n clear = true\n }\n this.coverageType = this.benefits[n].type;\n this.bands = this.benefits[n].bands;\n break;\n } else if (this.benefits[n].type == 'Flat') {\n this.name = this.benefits[n].title;\n if (this.coverageType != undefined && this.coverageType != 'FlatWise') {\n clear = true\n }\n this.coverageType = \"FlatWise\";\n this.bands = this.benefits[n].bands;\n break;\n } else if (this.benefits[n].bands == '999') {\n this.name = this.benefits[n].title;\n if (this.coverageType != undefined && this.coverageType != this.benefits[n].type) {\n clear = true\n }\n this.coverageType = this.benefits[n].type;\n this.bands = this.benefits[n].bands;\n }\n }\n }\n\n console.log(this.name);\n }\n else if (this.child.classList.value.includes(\"product-column product-min-age\")) {\n this.childData[\"product-min-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-max-age\")) {\n this.childData[\"product-max-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-min-cover-ceasing-age\")) {\n this.childData[\"product-min-cover-ceasing-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-cover-ceasing-age\")) {\n this.childData[\"product-cover-ceasing-age\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-min-sum-assured\")) {\n this.childData[\"product-min-sum-assured\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-max-sum-assured\")) {\n this.childData[\"product-max-sum-assured\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-min-policy-term\")) {\n this.childData[\"product-min-policy-term\"] = this.child.querySelector('input').value;\n check++\n }\n else if (this.child.classList.value.includes(\"product-column product-max-policy-term\")) {\n this.childData[\"product-max-policy-term\"] = this.child.querySelector('input').value;\n check++\n }\n }\n if (check == 8 && this.coverageType != undefined) {\n if (!(this.level3[this.coverageType].hasOwnProperty(this.name))) {\n this.level1 = {}\n }\n if (clear) {\n this.level2 = {}\n }\n if (this.coverageType == 'FlatWise') {\n this.level1['flat'] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n } else {\n this.level1[this.bands] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n }\n check = 0\n clear = false\n }\n }\n }\n this.savingData[this.name] = this.childData;\n console.log(this.name);\n console.log(this.savingData);\n if (this.coverageType == 'FlatWise') {\n this.level1['flat'] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n } else {\n this.level1[this.bands] = this.childData\n this.level2[this.name] = this.level1\n this.level3[this.coverageType] = this.level2\n }\n this.productName = [];\n this.childData = {};\n environment.savedProductBoundryCondition = [];\n environment.savedProductBoundryCondition = this.level3;\n console.log(environment.savedProductBenefit[0].benefit);\n this.savedData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": environment.savedProductMapping[0].product_name, \"product_id\": environment.savedProductMapping[0].product_id,\n \"loan_type\": environment.savedProductMapping[0].loan_type, \"policy_name\": environment.savedProductMapping[0].policy_name,\n \"minimum_group\": environment.savedProductMapping[0].minimum_group,\n \"mortality_rate_type\": environment.savedProductMapping[0].mortality_rate_type,\n \"mortality_rate\": environment.savedProductMapping[0].mortality_rate, \"benefits\": environment.savedProductBenefit[0].benefits,\n \"boundary_condition\": environment.savedProductBoundryCondition[0]\n });\n environment.savedTillProductBoundryCondition = this.savedData;\n }\n if (this.el.nativeElement.querySelectorAll('.disabled.error').length > 0) {\n swal({\n title: 'Please edit the \"Death Benefit\" according to the benefit boundaries to proceed further',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n })\n }\n }\n\n changeRoute() {\n // this.loader.show();\n this.routes.navigate([\"partnerListing\"]);\n }\n\n findIndexValue(arraytosearch, key, valuetosearch) {\n\n for (var i = 0; i < arraytosearch.length; i++) {\n\n if (arraytosearch[i][key] == valuetosearch) {\n return i;\n }\n }\n return null;\n }\n\n}\n\n","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n PRODUCT MAPPING\\n
\\n \\n \\n \\n
NEXT
\\n
\\n \"","module.exports = \".product-mapping {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n border-radius: 9px;\\n margin-top: 1rem;\\n margin-bottom: 1rem;\\n height: calc(100% - 175px); }\\n .product-mapping .progress-bar {\\n width: 100%;\\n height: 5px;\\n background: #d9e8f4;\\n border-radius: 5px; }\\n .product-mapping .progress-bar div {\\n width: 25%;\\n height: 5px;\\n background: #004681;\\n border-radius: 5px; }\\n .product-mapping .product-header {\\n padding: 11px;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .product-mapping .product-header div {\\n width: 40px;\\n height: 40px;\\n border-radius: 50%;\\n border: 1px solid #004681;\\n margin-right: 10px;\\n background: #004681;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .product-mapping .product-header div img {\\n width: 18px; }\\n .product-mapping .product-header span {\\n font-size: 15px !important;\\n font-weight: 600; }\\n .product-mapping .products {\\n height: calc(100% - 120px); }\\n .product-mapping .products .product-body {\\n margin: 0 6px;\\n text-align: center;\\n height: calc(100% - -30px);\\n overflow-y: auto; }\\n .product-mapping .products .product-body .product-row {\\n width: 100%;\\n /*display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;*/ }\\n .product-mapping .products .product-body .product-row .product-column {\\n width: 30%;\\n display: inline-block;\\n margin: 0 auto; }\\n .product-mapping .orange-back.button {\\n width: 5%;\\n margin: 0 auto;\\n top: 26px;\\n position: relative; }\\n fieldset {\\n position: relative;\\n top: 50%;\\n -webkit-transform: translateY(-50%);\\n transform: translateY(-50%); }\\n .fullWidth {\\n width: 8rem !important;\\n border-radius: 50%; }\\n .fadeSelection {\\n opacity: 0.5;\\n pointer-events: none; }\\n\"","import { Component, NgModule, ElementRef, NgZone, OnInit, ViewChild, Input, ChangeDetectorRef } from '@angular/core';\nimport { AppComponent } from '../../app.component';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { DataShareService } from '../../services/data-share.service';\nimport { RouterModule, Router, ActivatedRoute } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { ConfigService } from '../../services/config.service';\nimport { Subscriber } from 'rxjs';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport Swal from 'sweetalert2';\nimport swal from 'sweetalert2';\nimport { resolve } from '../../../../node_modules/@types/q';\nimport { reject } from '../../../../node_modules/@types/q';\nimport { load } from '../../../../node_modules/@angular/core/src/render3/instructions';\n\n@Component({\n selector: 'app-product-mapping',\n templateUrl: './product-mapping.component.html',\n styleUrls: ['./product-mapping.component.scss']\n})\nexport class ProductMappingComponent implements OnInit {\n dropDownEnable: boolean = false;\n products: any = [];\n payment_term: any = [];\n coverage_option: any = [];\n pay_frequency: any = [];\n loanType: any = [];\n entityTypes: any = [];\n selectedEntityType = \"\";\n selectedProduct = \"\";\n selectedLoan = \"\";\n selectedOtherLoanDetails = \"\";\n selectedProductName = \"\";\n selectedMasterCode:String = \"\";\n selectedSchedule = \"\"\n selectedMinimumGroup = \"\";\n selectedNonMedicalLimit = \"\";\n selectedreductionSchedule = \"\";\n selectedreductionScheduleCode = \"\";\n otherBen: any = [];\n reductionSchedule: \"\";\n coverageOptions: any;\n singleJointLife: any;\n coverageTerm: any;\n interestRates: any;\n // moratoriumPeriod: any;\n moratoriumTerm: any;\n coverageType: any = [];\n saveData: any = [];\n hideLoanType: any = [];\n configuredPolicys: any = [];\n partnerDetails = environment.partnerDetails;\n processFuther = false;\n selectedFlatRate: any = \"\";\n shubhRakshaCredit = environment.shubhRakshaCredit;\n groupLoanSecure = environment.groupLoanSecure;\n superProductCredit = environment.superProductCredit;\n goNext = true;\n otherBenifitsList: any;\n productData: any;\n selectedInterestRate: any = \"\";\n selectedChooseLife: any = \"\";\n selectedCoverageTerm: any;\n // selectedmoratoriumPeriod: any = \"\";\n selectedMoratoriumTerm: any = \"\";\n selectedMoratoriumTermValue: any;\n selectedCoverageOption: any = \"\";\n others: any;\n selectedChannel: any = \"\";\n channel: any = [];\n selectedFloorRate = \"\"\n checkTerms = false\n \n constructor(public app: AppComponent, public change: DataShareService, public routes: Router, public readData: ActivatedRoute,\n public config: ConfigService, public loader: Ng4LoadingSpinnerService, public el: ElementRef) {\n console.log(this.routes.url);\n if (environment.loginSuccessfully == true) {\n this.loader.show();\n var url = \"/service/master\";\n \n \n this.config.httpService(\"get\", url, \"\").subscribe(\n res => {\n var data;\n data = res;\n this.products = data.products;\n // this.loanType = data.loanTypes;\n console.log(res);\n },\n err => {\n console.log(err);\n }\n )\n this.channel = [\n {\n \"item_name\": \"Direct\",\n \"item_id\": 1\n },\n {\n \"item_name\": \"Broker\",\n \"item_id\": 2\n },\n {\n \"item_name\": \"CA\",\n \"item_id\": 3\n }\n ];\n this.selectedInterestRate = this.change.getInterestRate();\n this.change.newInterestRateSubject.subscribe((data) => {\n this.selectedInterestRate = data;\n if (this.selectedInterestRate != \"\") {\n var code;\n for (var i = 0; i < this.interestRates.length; i++) {\n if (this.interestRates[i].item_name == this.selectedInterestRate) {\n code = this.interestRates[i].item_code;\n break;\n }\n }\n this.others[\"interest_rate\"] = ([{ \"name\": this.selectedInterestRate, \"code\": code }]);\n console.log(this.others);\n }\n });\n\n this.selectedreductionSchedule = this.change.getReductionSchedule();\n this.change.newselectedReductionSchedule.subscribe((data) => {\n this.selectedreductionSchedule = data;\n console.log(this.selectedreductionSchedule);\n });\n\n this.selectedCoverageTerm = this.change.getCoverageTerm();\n this.change.newCoverageTermSubject.subscribe((data) => {\n this.selectedCoverageTerm = data;\n if (this.selectedCoverageTerm != \"\") {\n var parentCode;\n for (var i = 0; i < this.otherBenifitsList.length; i++) {\n if (this.otherBenifitsList[i].item_name == \"CoverageTerm\") {\n parentCode = this.otherBenifitsList[i].item_code;\n break;\n }\n }\n this.others[\"coverage_term\"] = ([{ \"name\": this.selectedCoverageTerm, \"code\": this.selectedCoverageTerm }]);\n console.log(this.others);\n } else {\n this.others[\"coverage_term\"] = ([{ \"name\": \"\", \"code\": \"\" }]);\n }\n });\n\n this.selectedCoverageOption = this.change.getcoverageOptions();\n this.change.newCoverageOptionsSubject.subscribe((data) => {\n this.selectedCoverageOption = data;\n if (this.selectedCoverageOption != \"\") {\n var code;\n for (var i = 0; i < this.coverageOptions.length; i++) {\n if (this.coverageOptions[i].item_name == this.selectedCoverageOption) {\n code = this.coverageOptions[i].item_code;\n break;\n }\n }\n this.others[\"coverage_option\"] = ([{ \"name\": this.selectedCoverageOption, \"code\": code }]);\n console.log(this.others);\n }\n });\n\n this.selectedChooseLife = this.change.getsingleJointLife();\n this.change.newSingleJointLifeSubject.subscribe((data) => {\n this.selectedChooseLife = data;\n if (this.selectedChooseLife != \"\") {\n var code;\n for (var i = 0; i < this.singleJointLife.length; i++) {\n if (this.singleJointLife[i].item_name == this.selectedChooseLife) {\n code = this.singleJointLife[i].item_code;\n break;\n }\n }\n this.others[\"selected_life\"] = ([{ \"name\": this.selectedChooseLife, \"code\": code }]);\n console.log(this.others)\n }\n });\n\n // this.selectedmoratoriumPeriod = this.change.getmoratoriumPeriod();\n // this.change.newMoratoriumPeriodSubject.subscribe((data) => {\n // this.selectedmoratoriumPeriod = data;\n // if (this.selectedmoratoriumPeriod != \"\") {\n // var code;\n // for (var i = 0; i < this.moratoriumPeriod.length; i++) {\n // if (this.moratoriumPeriod[i].item_name == this.selectedmoratoriumPeriod) {\n // code = this.moratoriumPeriod[i].item_code;\n // break;\n // }\n // }\n // this.others[\"moratorium_period\"] = ([{ \"name\": this.selectedmoratoriumPeriod, \"code\": code }]);\n // console.log(this.others);\n // }\n // });\n\n this.selectedMoratoriumTerm = this.change.getmoratoriumTerm();\n this.change.newMoratoriumTermSubject.subscribe((data) => {\n this.selectedMoratoriumTerm = data;\n if (this.selectedMoratoriumTerm != \"\") {\n var code;\n for (var i = 0; i < this.moratoriumTerm.length; i++) {\n if (this.moratoriumTerm[i].item_name == this.selectedMoratoriumTerm) {\n code = this.moratoriumTerm[i].item_code;\n break;\n }\n }\n this.others[\"moratorium_term\"] = ([{ \"name\": this.selectedMoratoriumTerm, \"code\": code }]);\n console.log(this.others);\n }\n });\n this.change.setPartnerConfig(true);\n if (environment.savedProductMapping.length > 0) {\n\n if (environment.editPolicy == true) {\n this.selectedProductName = environment.savedProductMapping[0].partner_product_name;\n if (this.selectedProductName == \"\" || this.selectedProductName == undefined) {\n this.selectedProductName = environment.savedProductMapping[0].policy_name;\n }\n\n environment.selectedProduct_Id = environment.savedProductMapping[0].product_id;\n this.selectedProduct = environment.savedProductMapping[0].product_name;\n this.selectedLoan = environment.savedProductMapping[0].loan_type;\n this.selectedOtherLoanDetails = environment.savedProductMapping[0].other_loan_details;\n this.selectedChannel = environment.savedProductMapping[0].channel\n if (environment.groupLoanSecure) {\n this.selectedFloorRate = environment.savedProductMapping[0]['floor_rate']\n }\n else if (this.superProductCredit) {\n var savedJson = environment.savedProductBenefit\n this.selectedSchedule = environment.savedProductMapping[0].reduction_schedule_value\n this.selectedCoverageTerm = environment.savedProductMapping[0].coverage_term[0].name\n this.selectedChooseLife = environment.savedProductMapping[0].selected_life[0].name;\n this.selectedCoverageOption = environment.savedProductMapping[0].coverage_option[0].name;\n this.selectedCoverageTerm = environment.savedProductMapping[0].coverage_term[0].name;\n this.selectedInterestRate = environment.savedProductMapping[0].interest_rate[0].name;\n // this.selectedmoratoriumPeriod = environment.savedProductMapping[0].moratorium_period[0].name;\n this.selectedMoratoriumTerm = environment.savedProductMapping[0].moratorium_term[0].name;\n this.selectedreductionSchedule = environment.savedProductMapping[0].reduction_schedule;\n if (savedJson[0].benefits[\"TermWise\"] != \"\" && savedJson[0].benefits[\"TermWise\"] != undefined && this.selectedCoverageTerm == \"\") {\n this.checkTerms = true\n }\n this.change.setReductionSchedule(this.selectedreductionSchedule);\n this.change.setSelectedChannel(this.selectedChannel)\n }\n this.change.setSelectedProduct(this.selectedProduct);\n this.change.setSelectedLoan(this.selectedLoan);\n // this.change.setSelectedOtherLoanDetails(this.selectedOtherLoanDetails);\n var code\n // this.others = {\n // \"interest_rate\": [{ \"name\": this.selectedInterestRate, \"code\": code }],\n // \"selected_life\": [{ \"name\": this.selectedChooseLife, \"code\": code }],\n // \"coverage_option\": [{ \"name\": this.selectedCoverageOption, \"code\": code }],\n // \"moratorium_period\": [{ \"name\": this.selectedmoratoriumPeriod, \"code\": code }],\n // \"coverage_term\": [{ \"name\": this.selectedCoverageTerm, \"code\": this.selectedCoverageTerm }],\n // \"moratorium_term\": [{ \"name\": this.selectedMoratoriumTerm, \"code\": code }]\n // };\n var __self = this;\n __self.recallMasterData().then(function () {\n __self.loader.show()\n if (environment.superProductCredit) {\n __self.selectedChooseLife = environment.savedProductMapping[0].selected_life[0].name;\n __self.selectedCoverageOption = environment.savedProductMapping[0].coverage_option[0].name;\n __self.selectedCoverageTerm = environment.savedProductMapping[0].coverage_term[0].name;\n __self.selectedInterestRate = environment.savedProductMapping[0].interest_rate[0].name;\n // __self.selectedmoratoriumPeriod = environment.savedProductMapping[0].moratorium_period[0].name;\n __self.selectedMoratoriumTerm = environment.savedProductMapping[0].moratorium_term[0].name;\n __self.productData = environment.productData;\n __self.otherBenifitsList = __self.productData.item_json.benefits.other_items;\n var interestrate = __self.config.icici(__self.otherBenifitsList, \"item_name\", \"Interest Rate\");\n __self.interestRates = interestrate[0].sub_items;\n var coverageOptions = __self.config.icici(__self.otherBenifitsList, \"item_name\", \"Coverage Option\");\n __self.coverageOptions = coverageOptions[0].sub_items;\n var singleJointLife = __self.config.icici(__self.otherBenifitsList, \"item_name\", \"Single/JointLife\");\n __self.singleJointLife = singleJointLife[0].sub_items;\n // var moratoriumPeriod = __self.config.icici(__self.otherBenifitsList, \"item_name\", \"Moratorium Period\");\n // __self.moratoriumPeriod = moratoriumPeriod[0].sub_items;\n var moratoriumTerm = __self.config.icici(__self.otherBenifitsList, \"item_name\", \"Moratorium Term\");\n __self.moratoriumTerm = moratoriumTerm[0].sub_items;\n var coverageTerm = __self.config.icici(__self.otherBenifitsList, \"item_name\", \"Coverage Term\");\n __self.coverageTerm = coverageTerm[0].sub_items;\n __self.selectedreductionSchedule = environment.savedProductMapping[0].reduction_schedule;\n __self.change.setReductionSchedule(__self.selectedreductionSchedule);\n var index = environment.savedProductOtherBenefit.length - 1;\n\n if (__self.selectedInterestRate != \"\") {\n var code;\n for (var i = 0; i < __self.interestRates.length; i++) {\n if (__self.interestRates[i].item_name == __self.selectedInterestRate) {\n code = __self.interestRates[i].item_code;\n break;\n }\n }\n __self.others[\"interest_rate\"] = ([{ \"name\": __self.selectedInterestRate, \"code\": code }]);\n console.log(__self.others);\n }\n\n if (__self.selectedCoverageTerm != \"\") {\n var parentCode;\n for (var i = 0; i < __self.otherBenifitsList.length; i++) {\n if (__self.otherBenifitsList[i].item_name == \"CoverageTerm\") {\n parentCode = __self.otherBenifitsList[i].item_code;\n break;\n }\n }\n __self.others[\"coverage_term\"] = ([{ \"name\": __self.selectedCoverageTerm, \"code\": __self.selectedCoverageTerm }]);\n console.log(__self.others);\n } else {\n __self.others[\"coverage_term\"] = ([{ \"name\": \"\", \"code\": \"\" }]);\n }\n\n\n if (__self.selectedCoverageOption != \"\") {\n var code;\n for (var i = 0; i < __self.coverageOptions.length; i++) {\n if (__self.coverageOptions[i].item_name == __self.selectedCoverageOption) {\n code = __self.coverageOptions[i].item_code;\n break;\n }\n }\n __self.others[\"coverage_option\"] = ([{ \"name\": __self.selectedCoverageOption, \"code\": code }]);\n console.log(__self.others);\n }\n\n if (__self.selectedChooseLife != \"\") {\n var code;\n for (var i = 0; i < __self.singleJointLife.length; i++) {\n if (__self.singleJointLife[i].item_name == __self.selectedChooseLife) {\n code = __self.singleJointLife[i].item_code;\n break;\n }\n }\n __self.others[\"selected_life\"] = ([{ \"name\": __self.selectedChooseLife, \"code\": code }]);\n console.log(__self.others)\n }\n\n // if (__self.selectedmoratoriumPeriod != \"\") {\n // var code;\n // for (var i = 0; i < __self.moratoriumPeriod.length; i++) {\n // if (__self.moratoriumPeriod[i].item_name == __self.selectedmoratoriumPeriod) {\n // code = __self.moratoriumPeriod[i].item_code;\n // break;\n // }\n // }\n // __self.others[\"moratorium_period\"] = ([{ \"name\": __self.selectedmoratoriumPeriod, \"code\": code }]);\n // console.log(__self.others);\n // }\n\n if (__self.selectedMoratoriumTerm != \"\") {\n var code;\n for (var i = 0; i < __self.moratoriumTerm.length; i++) {\n if (__self.moratoriumTerm[i].item_name == __self.selectedMoratoriumTerm) {\n code = __self.moratoriumTerm[i].item_code;\n break;\n }\n }\n __self.others[\"moratorium_term\"] = ([{ \"name\": __self.selectedMoratoriumTerm, \"code\": code }]);\n console.log(__self.others);\n }\n __self.channel = [\n {\n \"item_name\": \"Direct\",\n \"item_id\": 1\n },\n {\n \"item_name\": \"Broker\",\n \"item_id\": 2\n },\n {\n \"item_name\": \"CA\",\n \"item_id\": 3\n }\n ];\n }\n else if (environment.shubhRakshaCredit) {\n __self.change.setEntityType(__self.selectedEntityType);\n }\n __self.loader.hide()\n });\n\n }\n else if (environment.superProductCredit && environment.editPolicy == false) {\n this.others = environment.savedProductOtherBenefit;\n this.productData = environment.productData;\n this.reductionSchedule = this.productData.item_json.reduction_schedule.items;\n this.otherBenifitsList = this.productData.item_json.benefits.other_items;\n //this.interestRates = this.productData.item_json.benefits.other_items[1].sub_items;\n var interestrate = this.config.icici(this.otherBenifitsList, \"item_name\", \"Interest Rate\");\n this.interestRates = interestrate[0].sub_items;\n var coverageOptions = this.config.icici(this.otherBenifitsList, \"item_name\", \"Coverage Option\");\n this.coverageOptions = coverageOptions[0].sub_items;\n var singleJointLife = this.config.icici(this.otherBenifitsList, \"item_name\", \"Single/JointLife\");\n this.singleJointLife = singleJointLife[0].sub_items;\n // var moratoriumPeriod = this.config.icici(this.otherBenifitsList, \"item_name\", \"Moratorium Period\");\n // this.moratoriumPeriod = moratoriumPeriod[0].sub_items;\n var moratoriumTerm = this.config.icici(this.otherBenifitsList, \"item_name\", \"Moratorium Term\");\n this.moratoriumTerm = moratoriumTerm[0].sub_items;\n var coverageTerm = this.config.icici(this.otherBenifitsList, \"item_name\", \"Coverage Term\");\n this.coverageTerm = coverageTerm[0].sub_items;\n // if (this.others.hasOwnProperty('coverage_term')) {\n // if (this.others[\"coverage_term\"][0].name != \"\") {\n // setTimeout(function () {\n // document.querySelector('.checkbox').classList.add('checked');\n // document.querySelector('.checkbox').parentElement.lastElementChild.classList.remove('disabled');\n // }, 10)\n // }\n // }\n }\n this.selectedProduct = environment.savedProductMapping[0].product_name;\n this.selectedLoan = environment.savedProductMapping[0].loan_type;\n this.selectedOtherLoanDetails = environment.savedProductMapping[0].other_loan_details;\n this.selectedProductName = environment.savedProductMapping[0].policy_name;\n this.selectedMinimumGroup = environment.savedProductMapping[0].minimum_group;\n this.selectedSchedule = environment.savedProductMapping[0].reduction_schedule_value\n this.selectedFloorRate = environment.savedProductMapping[0]['floor_rate']\n }\n this.selectedProduct = this.change.getSelectedProduct();\n this.change.newselectedProductSubject.subscribe((data) => {\n\n this.selectedProduct = data;\n if (this.selectedProduct != \"\") {\n // this.loader.show();\n this.callMasterData();\n }\n\n });\n this.selectedChannel = this.change.getSelectedChannel();\n this.change.newselectedChannelSubject.subscribe((data) => {\n this.selectedChannel = data;\n console.log(this.selectedChannel);\n });\n this.selectedLoan = this.change.getSelectedLoan();\n // this.selectedOtherLoanDetails = this.change.getSelectedOtherLoanDetails();\n this.change.newselectedLoanSubject.subscribe((data) => {\n this.selectedLoan = data;\n console.log(this.selectedLoan);\n });\n // this.change.newSelectedOtherLoanDetails.subscribe((data) => {\n // this.selectedOtherLoanDetails = data;\n // console.log(this.selectedOtherLoanDetails);\n // });\n if (environment.superProductCredit) {\n this.selectedreductionSchedule = this.change.getReductionSchedule();\n this.change.newselectedReductionSchedule.subscribe((data) => {\n this.selectedreductionSchedule = data;\n console.log(this.selectedreductionSchedule);\n });\n var savedJson = environment.savedProductBenefit\n if (savedJson[0].benefits[\"TermWise\"] != \"\" && savedJson[0].benefits[\"TermWise\"] != undefined && this.selectedCoverageTerm == \"\") {\n this.checkTerms = true\n }\n } else if (environment.shubhRakshaCredit) {\n this.selectedEntityType = this.change.getEntityType();\n this.change.newselectedEntityType.subscribe((data) => {\n this.selectedEntityType = data;\n console.log(this.selectedEntityType);\n });\n }\n\n if (environment.savedProductMapping.length == 0) {\n this.selectedProduct = \"\";\n this.selectedProductName = \"\";\n this.selectedLoan = \"\";\n this.selectedMinimumGroup = \"\";\n this.selectedCoverageOption = \"\";\n this.selectedChooseLife = \"\";\n this.selectedCoverageTerm = \"\"\n this.selectedSchedule = \"\";\n this.selectedreductionSchedule = \"\";\n this.selectedreductionScheduleCode = \"\";\n this.selectedChannel = \"\";\n // this.selectedmoratoriumPeriod = \"\";\n this.selectedMoratoriumTerm = \"\";\n this.selectedMoratoriumTermValue = \"\";\n this.selectedInterestRate = \"\";\n this.selectedOtherLoanDetails = \"\";\n }\n\n }\n\n else {\n this.routes.navigate([\"login\"]);\n }\n\n }\n\n recallMasterData() {\n var url = \"/service/products/\" + environment.selectedProduct_Id;\n\n function storeOtherLoanDetails(event) {\n this.selectedOtherLoanDetails = event.target.value;\n }\n const promise = new Promise((resolve, reject) => {\n this.config.httpService(\"get\", url, \"\").subscribe(\n res => {\n var data;\n data = res;\n if (this.selectedProduct == \"Group Loan Secure\") {\n environment.glSData = data;\n environment.productData = data;\n environment.fixedData = environment.glsFixedData\n var glsData: any;\n glsData = environment.productData;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n this.loanType = glsData.item_json.loan_types\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Shubh Raksha One\") {\n environment.sroData = data;\n environment.productData = data;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Shubh Raksha Life\") {\n environment.srlData = data;\n environment.productData = data;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Shubh Raksha Credit\") {\n environment.srcData = data;\n environment.productData = data;\n var srcData: any;\n srcData = environment.productData;\n this.entityTypes = srcData.item_json.entity_type.items;\n environment.groupLoanSecure = false;\n environment.superProductCredit = false;\n environment.shubhRakshaCredit = true;\n this.groupLoanSecure = false;\n this.superProductCredit = false;\n this.shubhRakshaCredit = true;\n\n // this.loader.hide();\n\n }\n else if (this.selectedProduct == \"Super Protect Credit\") {\n environment.spcData = data;\n environment.productData = data;\n environment.fixedData = environment.spcFixedData\n var spcData: any;\n spcData = environment.productData;\n this.reductionSchedule = spcData.item_json.reduction_schedule.items;\n this.productData = environment.productData;\n this.loanType = spcData.item_json.loan_types\n this.otherBenifitsList = this.productData.item_json.benefits.other_items;\n //this.interestRates = this.productData.item_json.benefits.other_items[1].sub_items;\n var interestrate = this.config.icici(this.otherBenifitsList, \"item_name\", \"Interest Rate\");\n this.interestRates = interestrate[0].sub_items;\n var coverageOptions = this.config.icici(this.otherBenifitsList, \"item_name\", \"Coverage Option\");\n this.coverageOptions = coverageOptions[0].sub_items;\n var singleJointLife = this.config.icici(this.otherBenifitsList, \"item_name\", \"Single/JointLife\");\n this.singleJointLife = singleJointLife[0].sub_items;\n // var moratoriumPeriod = this.config.icici(this.otherBenifitsList, \"item_name\", \"Moratorium Period\");\n // this.moratoriumPeriod = moratoriumPeriod[0].sub_items;\n var moratoriumTerm = this.config.icici(this.otherBenifitsList, \"item_name\", \"Moratorium Term\");\n this.moratoriumTerm = moratoriumTerm[0].sub_items;\n var coverageTerm = this.config.icici(this.otherBenifitsList, \"item_name\", \"Coverage Term\");\n this.coverageTerm = coverageTerm[0].sub_items;\n var code;\n this.others = {\n \"interest_rate\": [{ \"name\": this.selectedInterestRate, \"code\": code }],\n \"selected_life\": [{ \"name\": this.selectedChooseLife, \"code\": code }],\n \"coverage_option\": [{ \"name\": this.selectedCoverageOption, \"code\": code }],\n // \"moratorium_period\": [{ \"name\": this.selectedmoratoriumPeriod, \"code\": code }],\n \"coverage_term\": [{ \"name\": this.selectedCoverageTerm, \"code\": this.selectedCoverageTerm }],\n \"moratorium_term\": [{ \"name\": this.selectedMoratoriumTerm, \"code\": code }]\n };\n environment.groupLoanSecure = false;\n environment.superProductCredit = true;\n environment.shubhRakshaCredit = false;\n this.groupLoanSecure = false;\n this.superProductCredit = true;\n this.shubhRakshaCredit = false;\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Super Protect Life\") {\n environment.splData = data;\n environment.productData = data;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Super Protect OYRT\") {\n environment.spoData = data;\n environment.productData = data;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n // this.loader.hide();\n }\n\n //to reset the data\n if (environment.savedProductMapping.length > 0 && environment.savedProductMapping[0].product_name != this.selectedProduct) {\n environment.savedProductMapping = [];\n environment.savedProductBenefit = [];\n for (let el of Array.from(document.querySelectorAll('input'))) {\n el.value = '';\n }\n }\n //end\n\n var url = \"/service/partner/\" + this.partnerDetails[0].partner_id + \"/configured\";\n this.config.httpService(\"get\", url, \"\").subscribe(\n res => {\n console.log(res[\"loanTypes\"]);\n var data = [];\n data = res[\"policies\"];\n this.configuredPolicys = data;\n },\n err => {\n console.log(err);\n }\n )\n return resolve();\n },\n err => {\n console.log(\"err\");\n // this.loader.hide();\n return reject();\n }\n )\n })\n return promise;\n }\n\n callMasterData() {\n var url = \"/service/products/\" + environment.selectedProduct_Id;\n function storeOtherLoanDetails(event) {\n this.selectedOtherLoanDetails = event.target.value;\n }\n this.config.httpService(\"get\", url, \"\").subscribe(\n res => {\n var data;\n data = res;\n if (this.selectedProduct == \"Group Loan Secure\") {\n environment.glSData = data;\n environment.productData = data;\n var glsData: any;\n glsData = environment.productData;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n this.loanType = glsData.item_json.loan_types\n environment.fixedData = environment.glsFixedData\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Shubh Raksha One\") {\n environment.sroData = data;\n environment.productData = data;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Shubh Raksha Life\") {\n environment.srlData = data;\n environment.productData = data;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Shubh Raksha Credit\") {\n environment.srcData = data;\n environment.productData = data;\n var srcData: any;\n srcData = environment.productData;\n this.entityTypes = srcData.item_json.entity_type.items;\n environment.groupLoanSecure = false;\n environment.superProductCredit = false;\n environment.shubhRakshaCredit = true;\n this.groupLoanSecure = false;\n this.superProductCredit = false;\n this.shubhRakshaCredit = true;\n // this.loader.hide();\n\n }\n else if (this.selectedProduct == \"Super Protect Credit\") {\n environment.spcData = data;\n environment.productData = data;\n environment.fixedData = environment.spcFixedData\n var spcData: any;\n spcData = environment.productData;\n this.reductionSchedule = spcData.item_json.reduction_schedule.items;\n this.productData = environment.productData;\n this.loanType = data.item_json.loan_types\n this.otherBenifitsList = this.productData.item_json.benefits.other_items;\n //this.interestRates = this.productData.item_json.benefits.other_items[1].sub_items;\n var interestrate = this.config.icici(this.otherBenifitsList, \"item_name\", \"Interest Rate\");\n this.interestRates = interestrate[0].sub_items;\n var coverageOptions = this.config.icici(this.otherBenifitsList, \"item_name\", \"Coverage Option\");\n this.coverageOptions = coverageOptions[0].sub_items;\n var singleJointLife = this.config.icici(this.otherBenifitsList, \"item_name\", \"Single/JointLife\");\n this.singleJointLife = singleJointLife[0].sub_items;\n // var moratoriumPeriod = this.config.icici(this.otherBenifitsList, \"item_name\", \"Moratorium Period\");\n // this.moratoriumPeriod = moratoriumPeriod[0].sub_items;\n var moratoriumTerm = this.config.icici(this.otherBenifitsList, \"item_name\", \"Moratorium Term\");\n this.moratoriumTerm = moratoriumTerm[0].sub_items;\n var coverageTerm = this.config.icici(this.otherBenifitsList, \"item_name\", \"Coverage Term\");\n this.coverageTerm = coverageTerm[0].sub_items;\n var code;\n this.others = {\n \"interest_rate\": [{ \"name\": this.selectedInterestRate, \"code\": code }],\n \"selected_life\": [{ \"name\": this.selectedChooseLife, \"code\": code }],\n \"coverage_option\": [{ \"name\": this.selectedCoverageOption, \"code\": code }],\n // \"moratorium_period\": [{ \"name\": this.selectedmoratoriumPeriod, \"code\": code }],\n \"coverage_term\": [{ \"name\": this.selectedCoverageTerm, \"code\": this.selectedCoverageTerm }],\n \"moratorium_term\": [{ \"name\": this.selectedMoratoriumTerm, \"code\": code }]\n };\n environment.groupLoanSecure = false;\n environment.superProductCredit = true;\n environment.shubhRakshaCredit = false;\n this.groupLoanSecure = false;\n this.superProductCredit = true;\n this.shubhRakshaCredit = false;\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Super Protect Life\") {\n environment.splData = data;\n environment.productData = data;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n // this.loader.hide();\n }\n else if (this.selectedProduct == \"Super Protect OYRT\") {\n environment.spoData = data;\n environment.productData = data;\n environment.groupLoanSecure = true;\n environment.shubhRakshaCredit = false;\n environment.superProductCredit = false;\n this.groupLoanSecure = true;\n this.superProductCredit = false;\n this.shubhRakshaCredit = false;\n // this.loader.hide();\n }\n\n //to reset the data\n if (environment.savedProductMapping.length > 0 && environment.savedProductMapping[0].product_name != this.selectedProduct) {\n environment.savedProductMapping = [];\n environment.savedProductBenefit = [];\n for (let el of Array.from(document.querySelectorAll('input'))) {\n el.value = '';\n }\n }\n //end\n\n var url = \"/service/partner/\" + this.partnerDetails[0].partner_id + \"/configured\";\n this.config.httpService(\"get\", url, \"\").subscribe(\n res => {\n console.log(res[\"loanTypes\"]);\n var data = [];\n data = res[\"policies\"];\n this.configuredPolicys = data;\n },\n err => {\n console.log(err);\n }\n )\n\n },\n err => {\n console.log(\"err\");\n // this.loader.hide();\n }\n )\n }\n\n checknumber(e) {\n var re = /^[0-9\\ _.-]+$/;\n var str = e.target.value;\n if (e.keyCode != 45 && (e.keyCode < 48 || e.keyCode > 57)) {\n return false;\n }\n }\n ngOnInit() {\n }\n\n ngAfterViewInit() {\n // this.loader.show();\n var __self = this;\n setInterval(function () {\n __self.el.nativeElement.querySelectorAll('input').forEach(function (input) {\n input.onpaste = function (e) {\n e.preventDefault();\n }\n })\n }, 500)\n\n setTimeout(function () {\n __self.loader.hide();\n }, 1000)\n // if (this.selectedCoverageTerm != \"\") {\n // var tt = this.el.nativeElement.querySelector('.checkbox.textbox');\n // tt.classList.add('checked');\n // tt.parentElement.lastElementChild.classList.remove('disabled');\n // this.change.setCoverageTerm(this.selectedCoverageTerm);\n // }\n\n }\n\n checkedInput(event) {\n var target;\n console.log(event.target);\n target = (event.target.classList.contains('checkbox')) ? event.target : this.app.getAncestorByClassName(event.target, 'checkbox');\n if (event.target.nodeName != 'INPUT' && event.target.nodeName != 'FIELDSET')\n if (target.classList.contains('checked')) {\n target.classList.remove('checked');\n target.nextElementSibling.classList.add('disabled');\n }\n else {\n target.classList.add('checked');\n target.nextElementSibling.classList.remove('disabled');\n }\n }\n\n storeValue(event) {\n if (event.target.closest('span').attributes.id.value == 'productNameMapping') {\n if (this.configuredPolicys.length > 0 && event.target.value != this.selectedProductName) {\n for (var i = 0; i < this.configuredPolicys.length; i++) {\n if (this.configuredPolicys[i].toLowerCase().trim() == event.target.value.toLowerCase().trim()) {\n event.target.value = \"\";\n Swal({\n title: \"This product name is already configured. Please use a different name\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n\n })\n\n }\n else {\n this.selectedProductName = event.target.value;\n }\n }\n\n }\n else {\n this.selectedProductName = event.target.value;\n }\n }\n else if (event.target.closest('span').attributes.id.value == 'minimumGroupMapping') {\n this.selectedMinimumGroup = event.target.value;\n if ((event.target.value > 50 || event.target.value < 20) && event.target.value != \"\") {\n Swal({\n title: \"Please enter value between 20 to 50\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n this.selectedMinimumGroup = \"\";\n })\n }\n }\n else if (event.target.closest('span').attributes.id.value == 'otherLoanMapping') {\n this.selectedOtherLoanDetails = event.target.value;\n if (event.target.value == \"\") {\n Swal({\n title: \"Please enter value\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n this.selectedOtherLoanDetails = \"\";\n })\n }\n }\n else if (event.target.closest(\"span\").attributes.id.value == \"coverageTerm\") {\n this.selectedCoverageTerm = event.target.value;\n if (this.selectedCoverageTerm > environment.fixedData[0][\"max_coverage_term\"] ||\n this.selectedCoverageTerm < environment.fixedData[0][\"min_coverage_term\"]) {\n swal({\n title: 'Please enter coverage term between ' + environment.fixedData[0][\"min_coverage_term\"] + ' to ' + environment.fixedData[0][\"max_coverage_term\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n this.selectedCoverageTerm = \"\";\n })\n }\n this.others[\"coverage_term\"] = ([{ \"name\": this.selectedCoverageTerm, \"code\": this.selectedCoverageTerm }]);\n this.change.setCoverageTerm(this.selectedCoverageTerm);\n }\n else if (event.target.closest(\"span\").attributes.id.value == \"scheduleMapping\") {\n this.selectedSchedule = event.target.value;\n this.change.setCoverageTerm(this.selectedCoverageTerm);\n } else if (event.target.closest(\"span\").attributes.id.value == \"floorRateMapping\") {\n this.selectedFloorRate = event.target.value\n var floor_rate = parseInt(event.target.value);\n if (floor_rate > environment.fixedData[0][\"max_mortality_rate\"]) {\n swal({\n title: 'Please enter mortality rate between 1 to ' + environment.fixedData[0][\"max_mortality_rate\"],\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n event.target.value = \"\";\n this.selectedFloorRate = \"\";\n })\n }\n }\n else if (event.target.closest(\"span\").attributes.id.value == \"masterCode\") {\n //this.selectedMasterCode = event.target.value;\n if (this.configuredPolicys.length > 0 && event.target.value != this.selectedMasterCode) {\n for (var i = 0; i < this.configuredPolicys.length; i++) {\n if (this.configuredPolicys[i].toLowerCase().trim() == event.target.value.toLowerCase().trim()) {\n event.target.value = \"\";\n Swal({\n title: \"This Master Code is already configured. Please use a different code\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n\n })\n\n }\n else {\n this.selectedMasterCode = event.target.value;\n }\n }\n\n }\n else {\n this.selectedMasterCode = event.target.value;\n }\n }\n }\n\n saveDataOnNext() {\n if (this.goNext == true) {\n var count = 0;\n // var inputs = this.el.nativeElement.querySelectorAll('input:not(.disabled)');\n var inputs = this.el.nativeElement.querySelectorAll('div.product-column:not(.optional) input:not(.disabled)');\n var dropdowns = this.el.nativeElement.querySelectorAll('.dropdown:not(.disabled)')\n this.el.nativeElement.querySelectorAll('div.product-column:not(.optional) input:not(.disabled)').forEach(function (item) {\n console.log(item.value);\n if (item.value.trim() == \"\") {\n var ss = item.closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"block\";\n item.closest(\"fieldset\").classList.add(\"error\");\n console.log(\"Blank\");\n swal({\n title: 'Please Fill all the details',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n // event.target.value = \"\";\n // this.selectedFloorRate = \"\";\n })\n }\n else {\n var ss = item.closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"none\";\n item.closest(\"fieldset\").classList.remove(\"error\");\n count++;\n }\n });\n this.el.nativeElement.querySelectorAll('.dropdown:not(.disabled)').forEach(function (item) {\n if (item.querySelector('.text.default-dropdown')) {\n item.parentNode.classList.add(\"error\");\n var ss = item.parentNode;\n ss.firstElementChild['style'].display = \"block\";\n }\n else {\n var ss = item.parentNode;\n item.parentNode.classList.remove(\"error\");\n ss.firstElementChild['style'].display = \"none\";\n count++;\n }\n\n });\n if (count == inputs.length + dropdowns.length) {\n // if (count > 3) {\n environment.maxCoverageTerm = 30\n environment.minAge = environment.fixedData[0].min_age_at_entry\n environment.maxAge = environment.fixedData[0].max_age_at_entry\n environment.minCoverCeasing = environment.fixedData[0].max_cover_ceasing_age\n environment.maxCoverCeasing = environment.fixedData[0].min_cover_ceasing_age\n environment.minSumAssured = environment.fixedData[0].min_sum_assured\n if (environment.groupLoanSecure) {\n if(this.selectedLoan == \"Other Loan\"){\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": this.selectedProduct, \"product_id\": environment.selectedProduct_Id, \n \"loan_type\": this.selectedLoan,\n \"policy_name\": this.selectedProductName, \"minimum_group\": this.selectedMinimumGroup,\n \"floor_rate\": this.selectedFloorRate,\n \"other_loan_details\":this.selectedOtherLoanDetails\n });\n }\n else{\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": this.selectedProduct, \"product_id\": environment.selectedProduct_Id, \"loan_type\": this.selectedLoan,\n \"policy_name\": this.selectedProductName, \"minimum_group\": this.selectedMinimumGroup, \"floor_rate\": this.selectedFloorRate\n });\n }\n environment.maxCoverageTerm = 30\n } else if (environment.superProductCredit) {\n if (this.selectedCoverageOption != 'Reducing with Moratorium: 1-7 years') {\n this.others[\"moratorium_term\"] = ([{ \"name\": \"\", \"code\": \"\" }]);\n }\n if (this.selectedCoverageOption == 'Level') {\n this.others[\"moratorium_period\"] = ([{ \"name\": \"\", \"code\": \"\" }]);\n } else if (this.selectedCoverageOption == 'Reducing') {\n this.others[\"moratorium_period\"] = ([{ \"name\": \"No\", \"code\": \"N\" }]);\n } else if (this.selectedCoverageOption == 'Reducing with Moratorium: 1-7 years') {\n this.others[\"moratorium_period\"] = ([{ \"name\": \"Yes\", \"code\": \"Y\" }]);\n }\n if (this.selectedreductionSchedule != \"Other\") {\n this.selectedSchedule = \"\"\n }\n var index = this.findIndexValue(this.reductionSchedule, \"item_code\", environment.selectedReductionScheduleCode);\n if (index != null) {\n this.selectedreductionSchedule = this.reductionSchedule[index]['item_name'];\n }\n var index = this.findIndexValue(this.reductionSchedule, \"item_name\", this.selectedreductionSchedule);\n if (index != null) {\n environment.selectedReductionScheduleCode = this.reductionSchedule[index]['item_code'];\n }\n environment.reduction_sched = this.selectedreductionSchedule;\n if(this.selectedLoan == \"Other Loan\"){\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": this.selectedProduct, \"product_id\": environment.selectedProduct_Id, \"loan_type\": this.selectedLoan,\n \"policy_name\": this.selectedProductName, \"minimum_group\": this.selectedMinimumGroup,\"other_loan_details\":this.selectedOtherLoanDetails,\n \"reduction_schedule\": this.selectedreductionSchedule,\n \"reduction_schedule_id\": environment.selectedReductionScheduleCode,\n \"reduction_schedule_value\": this.selectedSchedule,\n \"selected_life\": this.others[\"selected_life\"], \"moratorium_period\": this.others[\"moratorium_period\"],\n \"interest_rate\": this.others[\"interest_rate\"], \"coverage_option\": this.others[\"coverage_option\"],\n \"coverage_term\": this.others[\"coverage_term\"], \n \"moratorium_term\": this.others[\"moratorium_term\"], \"channel\": this.selectedChannel\n });\n }\n else{\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": this.selectedProduct, \"product_id\": environment.selectedProduct_Id, \"loan_type\": this.selectedLoan,\n \"policy_name\": this.selectedProductName, \"minimum_group\": this.selectedMinimumGroup,\n \"master_code\": this.selectedMasterCode,\n \"reduction_schedule\": this.selectedreductionSchedule,\n \"reduction_schedule_id\": environment.selectedReductionScheduleCode,\n \"reduction_schedule_value\": this.selectedSchedule,\n \"selected_life\": this.others[\"selected_life\"], \"moratorium_period\": this.others[\"moratorium_period\"],\n \"interest_rate\": this.others[\"interest_rate\"], \"coverage_option\": this.others[\"coverage_option\"],\n \"coverage_term\": this.others[\"coverage_term\"],\n \"moratorium_term\": this.others[\"moratorium_term\"], \"channel\": this.selectedChannel\n });\n }\n if (this.others[\"coverage_term\"][0].name != \"\") {\n environment.fixedData[0][\"max_policy_term\"] = parseInt(this.others[\"coverage_term\"][0].name)\n environment.maxCoverageTerm = parseInt(this.others[\"coverage_term\"][0].name)\n environment.dbMaxTerm = parseInt(this.others[\"coverage_term\"][0].name)\n } else {\n environment.fixedData[0][\"max_policy_term\"] = 30\n environment.maxCoverageTerm = 30\n }\n }\n else if (environment.shubhRakshaCredit) {\n\n this.saveData.push({\n \"partner_id\": environment.partnerDetails[0].partner_id, \"partner_name\": environment.partnerDetails[0].partner_name,\n \"product_name\": this.selectedProduct, \"product_id\": environment.selectedProduct_Id, \"loan_type\": this.selectedLoan,\n \"policy_name\": this.selectedProductName, \"minimum_group\": this.selectedMinimumGroup,\n \"entity_type\": environment.selectedEntityId, \"entity_type_id\": environment.selectedEntityName\n });\n }\n console.log(this.saveData);\n environment.savedProductMapping = this.saveData;\n environment.savedProductOtherBenefit = this.others;\n console.log(environment.savedProductMapping);\n this.processFuther = false;\n this.routes.navigate(['product-benefits']);\n\n }\n }\n }\n\n findIndexValue(arraytosearch, key, valuetosearch) {\n\n for (var i = 0; i < arraytosearch.length; i++) {\n\n if (arraytosearch[i][key] == valuetosearch) {\n return i;\n }\n }\n return null;\n }\n\n checkedInputDropDown(event) {\n var target;\n var code;\n\n var dropDownCheckbox = this.el.nativeElement.querySelectorAll(\".checkboxLegend\");\n console.log(event.target.value);\n var index;\n target = (event.target.classList.contains('checkboxLabel')) ? event.target : this.app.getAncestorByClassName(event.target, 'checkboxLabel');\n if (event.target.nodeName != 'INPUT' && event.target.nodeName != 'FIELDSET' && event.target.nodeName != 'SPAN' && event.target.nodeName != 'IMG' && event.target.nodeName != 'DIV')\n if (target.parentElement.classList.contains('checked')) {\n target.parentElement.classList.remove('checked');\n target.parentElement.nextElementSibling.classList.add('disabled');\n if (event.target.childNodes[0].data == \"Coverage Term\") {\n index = this.findIndexValue(this.others, \"name\", event.target.childNodes[0].data);\n event.target.parentElement.parentElement.lastElementChild.value = \"\"\n this.selectedCoverageTerm = \"\";\n this.others[\"coverage_term\"] = ([{ \"name\": \"\", \"code\": \"\" }]);\n var savedJson = environment.savedProductBenefit\n if (savedJson[0].benefits[\"TermWise\"] != \"\" && savedJson[0].benefits[\"TermWise\"] != undefined && this.selectedCoverageTerm == \"\") {\n this.checkTerms = true\n }\n this.change.setCoverageTerm(this.selectedCoverageTerm);\n }\n }\n else {\n if (event.target.childNodes[0].data == \"Coverage Term\") {\n this.change.setCoverageTerm(this.selectedCoverageTerm);\n }\n target.parentElement.classList.add('checked');\n target.parentElement.nextElementSibling.classList.remove('disabled');\n }\n }\n\n}\n","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n SCHEME SECTION\\n
\\n\\n \\n\\n \\n\\n \\n
\\n
BACK
\\n
SAVE
\\n
\\n\\n
\\n\\n\\n \\n

You have successfully configured {{(policyName).toUpperCase()}} - {{loanType}} for {{partner_name}}\\n

\\n
\\n \\n
\\n
\\n \\\"add\\\"\\n
\\n
\\n
\\n
\\n
\\n \\\"add\\\"\\n
\\n
\\n
\\n
\\n
\\n \\\"add\\\"\\n
\\n
\\n
\\n \\n
DONE
\\n
\\n
\"","module.exports = \".product-scheme {\\n box-shadow: 1px 1px 6px 1px rgba(212, 193, 212, 0.79);\\n border-radius: 9px;\\n height: calc(100% - 175px);\\n margin-top: 1rem;\\n margin-bottom: 1rem; }\\n .product-scheme .modalBody {\\n display: flex !important;\\n justify-content: space-around !important;\\n width: 100% !important; }\\n .product-scheme .progress-bar {\\n width: 100%;\\n height: 5px;\\n background: #d9e8f4;\\n border-radius: 5px; }\\n .product-scheme .progress-bar div {\\n width: 100%;\\n height: 5px;\\n background: #004681;\\n border-radius: 5px; }\\n .product-scheme .product-header {\\n padding: 11px;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .product-scheme .product-header div {\\n width: 40px;\\n height: 40px;\\n border-radius: 50%;\\n border: 1px solid #004681;\\n margin-right: 10px;\\n background: #004681;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .product-scheme .product-header div img {\\n width: 18px; }\\n .product-scheme .product-header span {\\n font-weight: 600; }\\n .product-scheme .product-body {\\n margin: 20px;\\n text-align: center;\\n height: calc(100% - 136px);\\n overflow: hidden;\\n overflow-y: auto; }\\n .product-scheme .product-body .product-row {\\n width: 100%;\\n display: flex;\\n margin: 0 auto; }\\n .product-scheme .product-body .product-row .product-column.dropdownGroup {\\n display: flex; }\\n .product-scheme .product-body .product-row .product-column.dropdownGroup2 {\\n display: block; }\\n .product-scheme .product-body .product-row .product-column.radioGroup {\\n width: 70%;\\n display: flex;\\n justify-content: center; }\\n .product-scheme .product-body .product-row .product-column.radioGroup .product-column {\\n width: 100%; }\\n .product-scheme .product-body .product-row .product-column.radioGroup .product-column .product-column {\\n width: 600px; }\\n .product-scheme .product-body .product-row .product-column.dropdownGroup {\\n width: 30%; }\\n .product-scheme .product-body .product-row .product-column.dropdownGroup .product-column {\\n width: 100%; }\\n .product-scheme .products {\\n height: calc(100% - 120px); }\\n .product-scheme .products .product-body {\\n margin: 20px;\\n text-align: center;\\n height: calc(100% - 30px);\\n overflow-y: auto; }\\n .product-scheme .products .product-body .product-row {\\n width: 100%;\\n display: flex;\\n display: flex;\\n /* align-items: center; */\\n justify-content: center; }\\n .product-scheme .products .product-body .product-row .product-column {\\n width: 100%; }\\n .product-scheme .footer {\\n margin: 0 auto;\\n width: 50%;\\n display: flex;\\n justify-content: space-evenly; }\\n .product-scheme .footer .button {\\n width: 10%;\\n margin: 0 auto;\\n top: 7px;\\n position: relative;\\n z-index: 99; }\\n .product-scheme .footer .white-back.button {\\n background: #fff;\\n border: 1px solid #e57518;\\n color: #000; }\\n .parentDiv .modalBody {\\n display: flex !important;\\n justify-content: space-around !important;\\n width: 100% !important; }\\n .add-more {\\n left: 7rem !important; }\\n .row {\\n min-width: inherit !important; }\\n\"","import { Component, NgModule, ElementRef, NgZone, OnInit, ViewChild, Input, ChangeDetectorRef } from '@angular/core';\nimport { RouterModule, Router } from '@angular/router';\nimport { environment } from '../../../environments/environment';\nimport { DataShareService } from '../../services/data-share.service';\nimport { ConfigService } from '../../services/config.service';\nimport { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\nimport swal from 'sweetalert2';\nb2cModal1: ElementRef;\n@Component({\n selector: 'app-product-scheme',\n templateUrl: './product-scheme.component.html',\n styleUrls: ['./product-scheme.component.scss']\n})\nexport class ProductSchemeComponent implements OnInit {\n b2cModal1;\n payment_term: any = [];\n coverage_option: any = [];\n pay_frequency: any = [];\n productData: any = [];\n nonMedicalLimit: any = [];\n acicinonMedicalLimit: any = [];\n channel: any = [];\n selectedAcici = \"\";\n selectedNonMedicalLimit: any = \"\";\n selectedPaymentTerm: string = \"Single Pay\";\n selectedCoverageOption: string;\n selectedPayFrequency: string;\n savedData: any = [];\n savedPaymentTerm: any = [];\n savedCoverageOption: any = [];\n savedPayFrequency: any = [];\n policyList: any;\n partner_id: any;\n product_id: any;\n loan_id: any;\n partner_name: any;\n partner_logo: any;\n loanType: any;\n policyName: any;\n finalData: any;\n selectedNonMedicalRate: any = [];\n selectedNonMedicalRateCI: any = [];\n selectedAcicicRate: any = [];\n nonMedicalLimitData: any;\n acicinonMedicalLimitData: any;\n masterPolicyId: any;\n acici = false;\n hospi = false;\n cancer = false;\n groupLoanSecure = environment.groupLoanSecure;\n superProductCredit = environment.superProductCredit;\n shubhRakshaCredit = environment.shubhRakshaCredit;\n selectedCancer = \"\"\n selectedHospital = \"\"\n correctVal = true\n disableSave = false\n\n @ViewChild(\"b2cModal1\") set content(content: ElementRef) {\n this.b2cModal1 = content;\n }\n constructor(public routes: Router, public change: DataShareService, public el: ElementRef, public config: ConfigService, public loader: Ng4LoadingSpinnerService) {\n if (environment.loginSuccessfully == true) {\n if (environment.groupLoanSecure) {\n\n this.productData = environment.productData;\n console.log(this.productData);\n this.payment_term = this.productData.item_json.premium_payment_term.items;\n this.coverage_option = this.productData.item_json.coverage_option.items;\n this.pay_frequency = this.productData.item_json.frequency.items;\n this.nonMedicalLimit = this.productData.item_json.non_medical_limit.items;\n this.selectedPaymentTerm = this.change.getSelectedPaymentTerm();\n this.change.newselectedPaymentTermSubject.subscribe((data) => {\n this.selectedPaymentTerm = data[0].name;\n this.savedPaymentTerm = data;\n console.log(this.selectedPaymentTerm);\n });\n if (environment.savedProductScheme.length > 0) {\n if (environment.savedProductScheme[0].premium_payment_term.length > 0) {\n this.selectedPaymentTerm = environment.savedProductScheme[0].premium_payment_term[0].name;\n }\n }\n this.selectedCoverageOption = this.change.getSelectedCoverageOption();\n this.change.newselectedCoverageOptionSubject.subscribe((data) => {\n this.selectedCoverageOption = data[0].name;\n this.savedCoverageOption = data;\n console.log(this.selectedCoverageOption);\n });\n this.selectedPayFrequency = this.change.getSelectedFrequency();\n this.change.newselectedFrequencySubject.subscribe((data) => {\n this.selectedPayFrequency = data[0].name;\n this.savedPayFrequency = data;\n console.log(this.selectedPayFrequency);\n });\n this.selectedNonMedicalLimit = this.change.getSelectedNonMedical();\n this.change.newselectedNonMedicalSubject.subscribe((data) => {\n this.selectedNonMedicalLimit = data;\n console.log(this.selectedNonMedicalLimit);\n });\n\n this.selectedNonMedicalRate = this.change.getSelectedNonMedicalRate();\n this.change.newselectedNonMedicalRateSubject.subscribe((data) => {\n this.selectedNonMedicalRate = data;\n console.log(this.selectedNonMedicalRate);\n });\n this.selectedNonMedicalRateCI = this.change.getSelectedNonMedicalRateCI();\n this.change.newselectedNonMedicalRateSubjectCI.subscribe((data) => {\n this.selectedNonMedicalRateCI = data;\n console.log(this.selectedNonMedicalRateCI);\n });\n }\n else if (environment.superProductCredit) {\n var benefits = [];\n // var aci_ci = false;\n // benefits = environment.savedProductBenefit[0].benefits;\n // benefits.forEach(function (benefit) {\n // if (benefit.name.includes(\"Accelerated CI\") || benefit.name.includes(\"Additional CI\")) {\n // aci_ci = true;\n // }\n // });\n // this.acici = aci_ci;\n this.checkacici();\n this.checkCancer();\n this.checkHospi();\n this.productData = environment.productData;\n this.nonMedicalLimit = this.productData.item_json.non_medical_limit.items;\n this.acicinonMedicalLimit = this.productData.item_json.acici_non_medical_limit.items;\n if (environment.savedProductScheme.length > 0) {\n var data = environment.savedProductScheme[0]\n this.selectedHospital = data.hosp_non_medical_limit;\n this.selectedCancer = data.cancer_non_medical_limit;\n this.selectedNonMedicalLimit = data.non_medical_limit\n this.selectedAcici = data.acici_non_medical_limit\n if (parseInt(this.selectedHospital) == 0) {\n this.selectedHospital = \"\"\n }\n if (parseInt(this.selectedCancer) == 0) {\n this.selectedCancer = \"\"\n }\n this.change.setSelectedNonMedicalRate(data.non_medical_limit_values)\n if (this.selectedAcici == \"not_selected\") {\n this.selectedAcici = \"\"\n }\n this.change.setSelectedNonMedicalRateCI(data.acici_non_medical_limit_values)\n this.change.setSelectedNonMedical(this.selectedNonMedicalLimit)\n this.change.setSelectedAcici(this.selectedAcici);\n }\n this.channel = [\n {\n \"item_name\": \"Direct\",\n \"item_id\": 1\n },\n {\n \"item_name\": \"Broker\",\n \"item_id\": 2\n },\n {\n \"item_name\": \"CA\",\n \"item_id\": 3\n }\n ];\n this.selectedNonMedicalLimit = this.change.getSelectedNonMedical();\n this.change.newselectedNonMedicalSubject.subscribe((data) => {\n this.selectedNonMedicalLimit = data;\n console.log(this.selectedNonMedicalLimit);\n });\n this.selectedNonMedicalRate = this.change.getSelectedNonMedicalRate();\n this.change.newselectedNonMedicalRateSubject.subscribe((data) => {\n this.selectedNonMedicalRate = data;\n console.log(this.selectedNonMedicalRate);\n });\n if (this.acici) {\n this.selectedAcici = this.change.getSelectedAcici();\n this.change.newselectedAciciSubject.subscribe((data) => {\n this.selectedAcici = data;\n console.log(this.selectedAcici);\n });\n this.selectedAcicicRate = this.change.getSelectedAciciRate();\n this.change.newselectedAciciRateSubject.subscribe((data) => {\n this.selectedAcicicRate = data;\n console.log(this.selectedAcicicRate);\n });\n this.selectedNonMedicalRateCI = this.change.getSelectedNonMedicalRateCI();\n this.change.newselectedNonMedicalRateSubjectCI.subscribe((data) => {\n this.selectedNonMedicalRateCI = data;\n console.log(this.selectedNonMedicalRateCI);\n });\n }\n if (this.selectedAcici == undefined) {\n this.selectedAcici = \"\";\n this.selectedAcicicRate = \"\";\n }\n if (this.selectedAcici == \"not_selected\") {\n this.selectedAcici = \"\"\n }\n this.change.setSelectedAcici(this.selectedAcici)\n this.change.setSelectedAciciRate(this.selectedAcicicRate)\n } else if (environment.shubhRakshaCredit) {\n this.selectedPaymentTerm = \"Single Pay\";\n this.productData = environment.productData;\n console.log(this.productData);\n this.payment_term = this.productData.item_json.premium_payment_term.items;\n this.coverage_option = this.productData.item_json.coverage_option.items;\n this.pay_frequency = this.productData.item_json.frequency.items;\n this.nonMedicalLimit = this.productData.item_json.non_medical_limit.items;\n\n this.selectedPaymentTerm = this.change.getSelectedPaymentTerm();\n this.change.newselectedPaymentTermSubject.subscribe((data) => {\n this.selectedPaymentTerm = data[0].name;\n this.savedPaymentTerm = data;\n console.log(this.selectedPaymentTerm);\n });\n this.selectedCoverageOption = this.change.getSelectedCoverageOption();\n this.change.newselectedCoverageOptionSubject.subscribe((data) => {\n this.selectedCoverageOption = data[0].name;\n this.savedCoverageOption = data;\n console.log(this.selectedCoverageOption);\n });\n this.selectedPayFrequency = this.change.getSelectedFrequency();\n this.change.newselectedFrequencySubject.subscribe((data) => {\n this.selectedPayFrequency = data[0].name;\n this.savedPayFrequency = data;\n console.log(this.selectedPayFrequency);\n });\n this.selectedNonMedicalLimit = this.change.getSelectedNonMedical();\n this.change.newselectedNonMedicalSubject.subscribe((data) => {\n this.selectedNonMedicalLimit = data;\n console.log(this.selectedNonMedicalLimit);\n });\n\n this.selectedNonMedicalRate = this.change.getSelectedNonMedicalRate();\n this.change.newselectedNonMedicalRateSubject.subscribe((data) => {\n this.selectedNonMedicalRate = data;\n console.log(this.selectedNonMedicalRate);\n })\n this.selectedNonMedicalRateCI = this.change.getSelectedNonMedicalRateCI();\n this.change.newselectedNonMedicalRateSubjectCI.subscribe((data) => {\n this.selectedNonMedicalRateCI = data;\n console.log(this.selectedNonMedicalRateCI);\n });\n }\n if (environment.savedProductScheme.length == 0) {\n this.selectedPaymentTerm = \"\"\n this.selectedPayFrequency = \"\"\n this.selectedAcici = \"\"\n this.selectedAcicicRate = []\n this.selectedCancer = \"\"\n this.selectedHospital = \"\"\n this.selectedCoverageOption = \"\"\n this.selectedNonMedicalRate = []\n this.selectedNonMedicalLimit = \"\"\n this.selectedNonMedicalRateCI = []\n }\n } else {\n this.routes.navigate([\"login\"]);\n }\n\n }\n ngOnInit() {\n }\n ngAfterViewInit() {\n var __self = this;\n setInterval(function () {\n __self.el.nativeElement.querySelectorAll('input').forEach(function (input) {\n input.onpaste = function (e) {\n e.preventDefault();\n }\n })\n }, 500)\n if (environment.savedProductScheme.length > 0) {\n if (environment.groupLoanSecure) {\n var data = environment.savedProductScheme[0];\n if (data.premium_payment_term.length > 0) {\n this.savedPaymentTerm = data.premium_payment_term;\n this.selectedPaymentTerm = data.premium_payment_term[0].name;\n //this.change.setSelectedPaymentTerm(this.selectedPaymentTerm);\n }\n else {\n this.selectedPaymentTerm = \"\";\n }\n if (data.coverage_option.length > 0) {\n this.savedCoverageOption = data.coverage_option;\n this.selectedCoverageOption = data.coverage_option[0].name;\n //this.change.setSelectedCoverageOption(this.selectedCoverageOption);\n }\n else {\n this.selectedCoverageOption = \"\";\n }\n if (data.frequency.length > 0) {\n // setTimeout(() => {\n this.savedPayFrequency = data.frequency;\n this.selectedPayFrequency = data.frequency[0].name;\n // }, 500);\n // this.change.setSelectedFrequency(this.selectedPayFrequency);\n }\n else {\n this.selectedPayFrequency = \"\";\n }\n this.selectedNonMedicalLimit = data.non_medical_limit;\n var paymentpay = document.querySelectorAll(\".radio #paymentTermRadio\");\n var coverageOpt = document.querySelectorAll(\".radio #coverageRadio\");\n var frequency = document.querySelectorAll(\".radio #frequency-radio\");\n\n for (var i = 0; i < paymentpay.length; i++) {\n // var paymentpayParent = paymentpay[i].parentElement;\n if (paymentpay[i].previousElementSibling.innerHTML == this.selectedPaymentTerm) {\n paymentpay[i].parentElement.classList.add(\"checked\");\n // return;\n }\n }\n for (var i = 0; i < coverageOpt.length; i++) {\n if (coverageOpt[i].previousElementSibling.innerHTML == this.selectedCoverageOption) {\n coverageOpt[i].parentElement.classList.add(\"checked\");\n // return;\n }\n }\n // setTimeout(() => {\n var frequency = document.querySelectorAll(\".radio #frequency-radio\");\n for (var i = 0; i < frequency.length; i++) {\n if (frequency[i].previousElementSibling.innerHTML == this.selectedPayFrequency) {\n frequency[i].parentElement.classList.add(\"checked\");\n // return;\n }\n }\n this.change.setSelectedNonMedicalRate(data.non_medical_limit_values);\n this.change.setSelectedNonMedicalRateCI(data.non_medical_limit_values_ci)\n this.change.setSelectedNonMedical(this.selectedNonMedicalLimit);\n if (this.selectedAcici == \"not_selected\") {\n this.selectedAcici = \"\"\n }\n this.change.setSelectedAcici(this.selectedAcici);\n this.change.setSelectedAciciRate(data.non_medical_limit_values);\n }\n else if (environment.superProductCredit) {\n var data = environment.savedProductScheme[0];\n // this.selectedFlexibility = data.flexibility;\n this.selectedCancer = data.cancer_non_medical_limit;\n this.selectedHospital = data.hosp_non_medical_limit;\n if (parseInt(this.selectedHospital) == 0) {\n this.selectedHospital = \"\"\n }\n if (parseInt(this.selectedCancer) == 0) {\n this.selectedCancer = \"\"\n }\n this.change.setSelectedNonMedical(data.non_medical_limit);\n // this.change.setSelectedFlexibility(this.selectedFlexibility);\n if (this.selectedAcici == \"not_selected\") {\n this.selectedAcici = \"\"\n }\n this.change.setSelectedAcici(this.selectedAcici);\n }\n }\n }\n saveDataOnNext() {\n this.disableSave = true\n this.saveData();\n if (environment.groupLoanSecure) {\n var nonMediaclaCount;\n var matchCount;\n var count = 0;\n //this.routes.navigate(['product-scheme']);\n var paymentpay = document.querySelectorAll(\".radio #paymentTermRadio\");\n var coverageOpt = document.querySelectorAll(\".radio #coverageRadio\");\n var frequency = document.querySelectorAll(\".radio #frequency-radio\");\n for (var i = 0; i < paymentpay.length; i++) {\n // var paymentpayParent = paymentpay[i].parentElement;\n if (paymentpay[i].parentElement.classList.contains(\"checked\") == true) {\n var ss = paymentpay[i].closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"none\";\n paymentpay[i].parentElement.closest(\"fieldset\").classList.remove(\"error\");\n count++;\n break;\n //return;\n }\n else {\n var ss = paymentpay[i].closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"block\";\n paymentpay[i].parentElement.closest(\"fieldset\").classList.add(\"error\");\n }\n }\n for (var i = 0; i < coverageOpt.length; i++) {\n if (coverageOpt[i].parentElement.classList.contains(\"checked\") == true) {\n var ss = coverageOpt[i].closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"none\";\n coverageOpt[i].parentElement.closest(\"fieldset\").classList.remove(\"error\");\n count++;\n break;\n //return;\n }\n else {\n var ss = coverageOpt[i].closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"block\";\n coverageOpt[i].parentElement.closest(\"fieldset\").classList.add(\"error\");\n }\n }\n for (var i = 0; i < frequency.length; i++) {\n if (frequency[i].parentElement.classList.contains(\"checked\") == true) {\n var ss = frequency[i].closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"none\";\n frequency[i].parentElement.closest(\"fieldset\").classList.remove(\"error\");\n count++;\n break;\n //return;\n }\n else {\n var ss = frequency[i].closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"block\";\n frequency[i].parentElement.closest(\"fieldset\").classList.add(\"error\");\n }\n }\n\n var inputs = this.el.nativeElement.querySelectorAll('input:not(.hidden)').length;\n var covRadio = this.el.nativeElement.querySelectorAll(\"fieldset#coverageRadio\").length\n var payRadio = this.el.nativeElement.querySelectorAll(\"fieldset#paymentTermRadio\").length\n var freqRadio = this.el.nativeElement.querySelectorAll(\"fieldset#frequency-radio\").length\n this.el.nativeElement.querySelectorAll('input:not(.hidden)').forEach(function (item) {\n console.log(item.value);\n if (item.value.trim() == \"\") {\n // item.parentElement.firstElementChild.style.display = 'block';\n var ss = item.closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"block\";\n item.closest(\"fieldset\").classList.add(\"error\");\n console.log(\"Blank\");\n }\n else {\n var ss = item.closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"none\";\n item.closest(\"fieldset\").classList.remove(\"error\");\n count++;\n\n }\n });\n if (count == inputs + covRadio + payRadio + freqRadio) {\n this.saveData()\n this.loader.show();\n this.policyList = environment.partnerDetails[0];\n this.partner_id = this.policyList.partner_id;\n var url = \"/service/admin/\" + environment.userid + \"/partners/\" + this.partner_id + \"/policies/\" + environment.selectedProduct_Id;\n this.config.httpService(\"post\", url, this.finalData).subscribe(\n res => {\n environment.savedProductMapping = [];\n environment.savedProductBoundryCondition = {};\n environment.savedProductBenefit = [];\n environment.savedProductOtherBenefit = [];\n environment.savedTillProductBoundryCondition = [];\n environment.savedProductScheme = [];\n environment.selectedReductionSchedule_Id = \"\";\n environment.selectedReductionScheduleCode = \"\";\n environment.reduction_sched = \"\";\n environment.groupLoanSecure = true;\n environment.superProductCredit = false;\n environment.shubhRakshaCredit = false;\n this.change.setAsseleratedCI(\"\");\n this.change.setAdditionalCI(\"\");\n this.change.setWaiverHospital(\"\");\n this.change.setSelectedProduct(\"\");\n this.change.setSelectedLoan(\"\");\n this.change.setSelectedMortality(\"\");\n this.change.setSelectedMortalityRate(\"\");\n this.change.setSelectedCoverageOption(\"\");\n this.change.setSelectedCriticalIllness(\"\");\n this.change.setSelectedFrequency(\"\");\n this.change.setSelectedPaymentTerm(\"\");\n this.change.setSelectedNonMedicalRate(\"\");\n this.change.setSelectedNonMedicalRateCI(\"\");\n this.change.setSelectedNonMedical(\"\");\n this.change.setReductionSchedule(\"\");\n this.change.setInterestRate(\"\");\n this.change.setsingleJointLife(\"\");\n this.change.setCoverageTerm(\"\");\n this.change.setcoverageOptions(\"\");\n this.change.setmoratoriumPeriod(\"\");\n this.change.setmoratoriumTerm(\"\");\n this.change.setsingleJointLife(\"\");\n this.change.setSelectedFlexibility(\"\");\n this.change.setSelectedAcici(\"\");\n this.change.setSelectedAcici(\"\");\n this.change.setSelectedChannel(\"\");\n this.change.setWaiverHospital(\"\")\n this.change.setAdditionalCI(\"\")\n this.change.setAsseleratedCI(\"\")\n environment.editPolicy = false;\n this.loader.hide();\n this.b2cModal1.open();\n },\n err => {\n this.loader.hide();\n this.disableSave = false;\n swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n //this.routes.navigate([\"product-mapping\"]);\n })\n }\n )\n } else {\n this.disableSave = false;\n swal({\n title: \"Please fill all fields before saving.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n //this.routes.navigate([\"product-mapping\"]);\n })\n }\n }\n else if (environment.superProductCredit) {\n var count = 0;\n var inputl = this.el.nativeElement.querySelectorAll('input:not(.hidden)').length\n this.el.nativeElement.querySelectorAll('input:not(.hidden)').forEach(function (item) {\n if (item.value.trim() == \"\") {\n // item.parentElement.firstElementChild.style.display = 'block';\n var ss = item.closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"block\";\n item.closest(\"fieldset\").classList.add(\"error\");\n console.log(\"Blank\");\n }\n else {\n var ss = item.closest(\"fieldset\");\n ss.firstElementChild['style'].display = \"none\";\n item.closest(\"fieldset\").classList.remove(\"error\");\n count++;\n }\n })\n if (count == inputl) {\n this.loader.show();\n this.policyList = environment.partnerDetails[0];\n this.partner_id = this.policyList.partner_id;\n if (this.partner_id == undefined) {\n this.partner_id = this.policyList[0].partner_id\n }\n // var url = \"/service/admin/\" + environment.userid + \"/partners/\" + this.partner_id + \"/policies/\" + environment.selectedProduct_Id;\n var url = \"/service/admin/\" + environment.userid + \"/partners/\" + this.partner_id + \"/policies/\" + environment.selectedProduct_Id;\n this.config.httpService(\"post\", url, this.finalData).subscribe(\n res => {\n environment.savedProductMapping = [];\n environment.savedProductBoundryCondition = {};\n environment.savedProductBenefit = [];\n environment.savedProductOtherBenefit = [];\n environment.savedTillProductBoundryCondition = [];\n environment.savedProductScheme = [];\n environment.selectedReductionSchedule_Id = \"\";\n environment.selectedReductionScheduleCode = \"\";\n environment.reduction_sched = \"\";\n environment.groupLoanSecure = true;\n environment.superProductCredit = false;\n environment.shubhRakshaCredit = false;\n this.change.setAsseleratedCI(\"\");\n this.change.setAdditionalCI(\"\");\n this.change.setWaiverHospital(\"\");\n this.change.setSelectedProduct(\"\");\n this.change.setSelectedLoan(\"\");\n this.change.setSelectedMortality(\"\");\n this.change.setSelectedMortalityRate(\"\");\n this.change.setSelectedCoverageOption(\"\");\n this.change.setSelectedCriticalIllness(\"\");\n this.change.setSelectedFrequency(\"\");\n this.change.setSelectedPaymentTerm(\"\");\n this.change.setSelectedNonMedicalRate(\"\");\n this.change.setSelectedNonMedicalRateCI(\"\");\n this.change.setSelectedNonMedical(\"\");\n this.change.setReductionSchedule(\"\");\n this.change.setInterestRate(\"\");\n this.change.setsingleJointLife(\"\");\n this.change.setCoverageTerm(\"\");\n this.change.setcoverageOptions(\"\");\n this.change.setmoratoriumPeriod(\"\");\n this.change.setmoratoriumTerm(\"\");\n this.change.setsingleJointLife(\"\");\n this.change.setSelectedFlexibility(\"\");\n this.change.setSelectedAcici(\"\");\n this.change.setSelectedAcici(\"\");\n this.change.setSelectedChannel(\"\");\n environment.editPolicy = false;\n this.loader.hide();\n this.b2cModal1.open();\n\n },\n err => {\n this.disableSave = false;\n this.loader.hide();\n swal({\n title: \"Something went wrong.\\nPlease try after some time.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n //this.routes.navigate([\"product-mapping\"]);\n })\n }\n )\n } else {\n this.disableSave = false;\n swal({\n title: \"Please fill all fields before saving.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n //this.routes.navigate([\"product-mapping\"]);\n })\n }\n }\n }\n\n backbutton() {\n this.saveData();\n this.routes.navigate(['product-conditions']);\n }\n\n saveData() {\n this.policyList = environment.partnerDetails;\n this.partner_id = this.policyList[0].partner_id;\n this.partner_name = this.policyList[0].partner_name;\n this.partner_logo = this.policyList[0].partner_logo;\n this.loanType = (environment.savedProductMapping[0].loan_type).trim();\n this.loanType = this.loanType.toLowerCase();\n this.policyName = (environment.savedProductMapping[0].policy_name).toUpperCase();\n if (environment.editPolicy == true) {\n this.masterPolicyId = environment.editPolicyId;\n }\n else {\n this.masterPolicyId = 0;\n }\n if (this.selectedNonMedicalLimit != \"Other\") {\n this.selectedNonMedicalRate = [];\n }\n if (this.selectedAcici != \"Other\") {\n this.selectedNonMedicalRateCI = [];\n }\n var product: any;\n product = environment.productData;\n console.log(product);\n this.nonMedicalLimitData = this.config.icici(product.item_json.non_medical_limit.items, \"item_name\", this.selectedNonMedicalLimit);\n if (this.superProductCredit) {\n this.acicinonMedicalLimitData = this.config.icici(product.item_json.acici_non_medical_limit.items, \"item_name\", this.selectedAcici);\n }\n\n if (this.acici == false) {\n this.selectedAcici = \"not_selected\"\n this.acicinonMedicalLimitData = [{\n \"item_name\": \"not_selected\",\n \"item_id\": 5,\n \"sub_items\": [\n {\n \"age_band\": \"not_selected\",\n \"sum_assured\": \"not_selected\",\n \"item_id\": 1\n }\n ]\n }]\n }\n var hospiCash\n var cancerCash\n if (this.hospi == false) {\n hospiCash = 0\n }\n else { hospiCash = parseInt(this.selectedHospital) }\n if (this.cancer == false) {\n cancerCash = 0\n } else { cancerCash = parseInt(this.selectedCancer) }\n if (environment.groupLoanSecure) {\n this.finalData = {\n \"product_name\": environment.selectedProduct_Id,\n \"product_id\": environment.savedProductMapping[0].product_name,\n \"loan_type\": environment.selectedLoan_Id,\n \"loan_id\": environment.savedProductMapping[0].loan_type,\n \"policy_name\": environment.savedProductMapping[0].policy_name,\n \"status\": 1,\n \"master_policy_id\": this.masterPolicyId,\n \"policy_config\":\n {\n \"master_configuration_b2b\": {\n \"Product Mapping\": environment.savedProductMapping[0],\n \"Benefits\": environment.savedProductBenefit[0].benefits,\n \"Boundary Conditions\": environment.savedProductBoundryCondition,\n \"SchemeSection\": {\n \"premium_payment_term\": this.savedPaymentTerm,\n \"frequency\": this.savedPayFrequency,\n \"coverage_option\": this.savedCoverageOption,\n \"non_medical_limit\": this.selectedNonMedicalLimit,\n \"non_medical_limit_data\": this.nonMedicalLimitData,\n \"non_medical_limit_values\": this.selectedNonMedicalRate\n }\n }\n }\n }\n }\n else if (environment.superProductCredit) {\n this.finalData = {\n \"product_name\": environment.selectedProduct_Id,\n \"product_id\": environment.savedProductMapping[0].product_name,\n \"loan_type\": environment.selectedLoan_Id,\n \"loan_id\": environment.savedProductMapping[0].loan_type,\n \"policy_name\": environment.savedProductMapping[0].policy_name,\n \"status\": 1,\n \"master_policy_id\": this.masterPolicyId,\n \"policy_config\":\n {\n \"master_configuration_b2b\": {\n \"Product Mapping\": environment.savedProductMapping[0],\n \"Benefits\": environment.savedProductBenefit[0].benefits,\n \"Boundary Conditions\": environment.savedProductBoundryCondition,\n \"SchemeSection\": {\n \"cancer_non_medical_limit\": cancerCash,\n \"hosp_non_medical_limit\": hospiCash,\n \"non_medical_limit\": this.selectedNonMedicalLimit,\n \"non_medical_limit_data\": this.nonMedicalLimitData,\n \"non_medical_limit_values\": this.selectedNonMedicalRate,\n \"acici_non_medical_limit\": this.selectedAcici,\n \"acici_non_medical_limit_data\": this.acicinonMedicalLimitData,\n \"acici_non_medical_limit_values\": this.selectedNonMedicalRateCI\n }\n }\n }\n }\n // delete this.finalData[\"policy_config\"][\"master_configuration_b2b\"][\"Boundary Conditions\"][\"FlatWise\"][\"flat\"][\"Flat\"]\n }\n this.savedData = []\n if (environment.groupLoanSecure) {\n this.savedData.push({\n \"premium_payment_term\": this.savedPaymentTerm, \"frequency\": this.savedPayFrequency,\n \"coverage_option\": this.savedCoverageOption, \"non_medical_limit\": this.selectedNonMedicalLimit,\n \"non_medical_limit_values\": this.selectedNonMedicalRate\n });\n } else if (environment.superProductCredit && this.acici) {\n this.savedData.push({\n \"cancer_non_medical_limit\": this.selectedCancer,\n \"hosp_non_medical_limit\": this.selectedHospital,\n // \"flexibility\": this.selectedFlexibility,\n \"non_medical_limit\": this.selectedNonMedicalLimit,\n \"non_medical_limit_values\": this.selectedNonMedicalRate,\n \"acici_non_medical_limit\": this.selectedAcici,\n \"acici_non_medical_limit_values\": this.selectedNonMedicalRateCI\n });\n } else if (environment.superProductCredit) {\n this.savedData.push({\n \"cancer_non_medical_limit\": (this.selectedCancer),\n \"hosp_non_medical_limit\": (this.selectedHospital),\n // \"flexibility\": this.selectedFlexibility,\n \"non_medical_limit\": this.selectedNonMedicalLimit,\n \"non_medical_limit_values\": this.selectedNonMedicalRate\n });\n }\n this.partner_name = this.partner_name.toUpperCase();\n environment.savedProductScheme = this.savedData;\n\n }\n changeRoute() {\n // this.loader.show();\n this.routes.navigate([\"partnerListing\"]);\n }\n checknumber(e) {\n var re = /^[0-9\\ _.-]+$/;\n var str = e.target.value;\n if (e.keyCode != 45 && (e.keyCode < 48 || e.keyCode > 57)) {\n return false;\n }\n }\n storeValue(event) {\n if (event.target.closest('span').attributes.id.value == 'productHospitilization') {\n if (parseInt(event.target.value) < 5000 || parseInt(event.target.value) > 500000) {\n event.target.value = \"\"\n swal({\n title: \"Hospitalization NML should be between 5000 and 500000.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n //this.routes.navigate([\"product-mapping\"]);\n })\n }\n this.selectedHospital = event.target.value;\n } else if (event.target.closest('span').attributes.id.value == 'productCancer') {\n if (parseInt(event.target.value) < 5000 || parseInt(event.target.value) > 5000000) {\n event.target.value = \"\"\n swal({\n title: \"Cancer NML should be between 5000 and 5000000.\",\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#eb1826',\n cancelButtonColor: '#F4F1F1',\n confirmButtonText: 'OK'\n }).then((result) => {\n //this.routes.navigate([\"product-mapping\"]);\n })\n }\n this.selectedCancer = event.target.value;\n }\n }\n\n includeIndexValue(arraytosearch, key, valuetosearch) {\n for (var i = 0; i < arraytosearch.length; i++) {\n if (arraytosearch[i][key].includes(valuetosearch)) {\n return i;\n }\n }\n return null;\n }\n\n checkacici() {\n var savedJson = environment.savedProductBenefit;\n var savedBenefits = savedJson[0].benefits\n var dbcovgtype\n var index\n var indexF = this.includeIndexValue(savedBenefits[\"Flat\"], \"name\", \"Accelerated CI\")\n var indexA = this.includeIndexValue(savedBenefits[\"AgeBandWise\"], \"name\", \"Accelerated CI\")\n var indexT = this.includeIndexValue(savedBenefits[\"TermWise\"], \"name\", \"Accelerated CI\")\n if (indexF != null) {\n index = indexF\n dbcovgtype = \"Flat\"\n } else if (indexA != null) {\n index = indexA\n dbcovgtype = \"AgeBandWise\"\n } else if (indexT != null) {\n index = indexT\n dbcovgtype = \"TermWise\"\n }\n if (index != null) {\n this.acici = true\n } else {\n var indexF = this.includeIndexValue(savedBenefits[\"Flat\"], \"name\", \"Additional CI\")\n var indexA = this.includeIndexValue(savedBenefits[\"AgeBandWise\"], \"name\", \"Additional CI\")\n var indexT = this.includeIndexValue(savedBenefits[\"TermWise\"], \"name\", \"Additional CI\")\n if (indexF != null) {\n index = indexF\n dbcovgtype = \"Flat\"\n } else if (indexA != null) {\n index = indexA\n dbcovgtype = \"AgeBandWise\"\n } else if (indexT != null) {\n index = indexT\n dbcovgtype = \"TermWise\"\n }\n if (index != null) {\n this.acici = true\n }\n }\n }\n\n checkCancer() {\n var savedJson = environment.savedProductBenefit;\n var savedBenefits = savedJson[0].benefits\n var dbcovgtype\n var index\n var indexF = this.includeIndexValue(savedBenefits[\"Flat\"], \"name\", \"Cancer Protect\")\n var indexA = this.includeIndexValue(savedBenefits[\"AgeBandWise\"], \"name\", \"Cancer Protect\")\n var indexT = this.includeIndexValue(savedBenefits[\"TermWise\"], \"name\", \"Cancer Protect\")\n if (indexF != null) {\n index = indexF\n dbcovgtype = \"Flat\"\n } else if (indexA != null) {\n index = indexA\n dbcovgtype = \"AgeBandWise\"\n } else if (indexT != null) {\n index = indexT\n dbcovgtype = \"TermWise\"\n }\n if (index != null) {\n this.cancer = true\n }\n }\n\n checkHospi() {\n var savedJson = environment.savedProductBenefit;\n var savedBenefits = savedJson[0].benefits\n var dbcovgtype\n var index\n var indexF = this.includeIndexValue(savedBenefits[\"Flat\"], \"name\", \"EMI Waiver(Hosp)\")\n var indexA = this.includeIndexValue(savedBenefits[\"AgeBandWise\"], \"name\", \"EMI Waiver(Hosp)\")\n var indexT = this.includeIndexValue(savedBenefits[\"TermWise\"], \"name\", \"EMI Waiver(Hosp)\")\n if (indexF != null) {\n index = indexF\n dbcovgtype = \"Flat\"\n } else if (indexA != null) {\n index = indexA\n dbcovgtype = \"AgeBandWise\"\n } else if (indexT != null) {\n index = indexT\n dbcovgtype = \"TermWise\"\n }\n if (index != null) {\n this.hospi = true\n }\n }\n}\n","import { Directive, OnInit, Input, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appCustomInput]'\n})\nexport class CustomInputDirective implements OnInit {\n\n @Input() type: string;\n @Input() legendText: string;\n @Input() inputType: string; //number , text , product\n @Input() placeholder: string;\n @Input() icon: string;\n @Input() position: string;\n @Input() svg: string;\n @Input() value: string = \"\";\n @Input() maxlength: any;\n @Input() tabIndex: any;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n console.log(\"Hello Custom Input Directive\");\n console.log(this.type);\n console.log(this.value);\n switch (this.type) {\n case 'legend-input':\n this.el.nativeElement.innerHTML = `
\n * required\n ${this.legendText}\n \n
`\n break;\n case 'normal-input':\n this.el.nativeElement.innerHTML = `
\n * required\n \n
`\n break;\n case 'legend-icon-input':\n this.position = \"simple right\";\n this.el.nativeElement.innerHTML = `
\n * required\n ${this.legendText}\n \n \n
`\n break;\n case 'search-input':\n this.svg = \"assets/images/search_icon.svg\";\n this.position = \"left\";\n this.el.nativeElement.innerHTML = `
\n \n \n \n
`\n break;\n case 'checked':\n this.el.nativeElement.innerHTML = `
\n
\n \n \n
\n
`\n break;\n case 'default-checked':\n this.el.nativeElement.innerHTML = `
\n
\n \n \n
\n
`\n break;\n case 'checked-input':\n this.el.nativeElement.innerHTML = `
\n * required\n \n \n
`\n break;\n default:\n this.el.nativeElement.innerHTML = '

Default input

';\n break;\n }\n\n }\n}\n","import { KeyValueChangeRecord, KeyValueChanges, KeyValueDiffer, KeyValueDiffers, Pipe, PipeTransform } from '@angular/core';\n\nfunction makeKeyValuePair(key: K, value: V): KeyValue {\n return { key: key, value: value };\n}\n\n/**\n * A key value pair.\n * Usually used to represent the key value pairs from a Map or Object.\n */\nexport interface KeyValue {\n key: K;\n value: V;\n}\n\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * ## Examples\n *\n * This examples show how an Object or a Map and be iterated by ngFor with the use of this keyvalue\n * pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n */\n@Pipe({ name: 'keyvalue', pure: false })\nexport class KeyValuePipe implements PipeTransform {\n constructor(private readonly differs: KeyValueDiffers) { }\n\n private differ: KeyValueDiffer;\n private keyValues: Array>;\n\n transform(input: null, compareFn?: (a: KeyValue, b: KeyValue) => number): null;\n transform(\n input: { [key: string]: V } | Map,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>;\n transform(\n input: { [key: number]: V } | Map,\n compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>;\n transform(input: Map, compareFn?: (a: KeyValue, b: KeyValue) => number):\n Array>;\n transform(\n input: null | { [key: string]: V, [key: number]: V } | Map,\n compareFn: (a: KeyValue, b: KeyValue) => number = defaultComparator):\n Array> | null {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n\n const differChanges: KeyValueChanges | null = this.differ.diff(input as any);\n\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r: KeyValueChangeRecord) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue!));\n });\n this.keyValues.sort(compareFn);\n }\n return this.keyValues;\n }\n\n\n}\n\nexport function defaultComparator(\n keyValueA: KeyValue, keyValueB: KeyValue): number {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b) return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined) return 1;\n if (b === undefined) return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null) return 1;\n if (b === null) return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -1 : 1;\n}\n\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'search'\n})\nexport class SearchPipe implements PipeTransform {\n\n transform(items: any[], searchText: any): any[] {\n if (!items) return [];\n if (!searchText) return items;\n searchText = searchText.toLowerCase();\n\n return items.filter(it => {\n if (it.partner_name != undefined) {\n // return (it.partner_name.toLowerCase().includes(searchText));\n return (it.partner_name.toLowerCase());\n }\n // else if (it.MandatorySkill != undefined) {\n // return (it.MandatorySkill.toLowerCase().includes(searchText) || it.RRID.toLowerCase().includes(searchText) || it.ClientLocation.toLowerCase().includes(searchText));\n // }\n // else if (it.mandatory_skill != undefined) {\n // return (it.mandatory_skill.toLowerCase().includes(searchText) || it.rr_id.toLowerCase().includes(searchText) || it.client_location.toLowerCase().includes(searchText));\n // }\n //return null;\n });\n }\n // transform(items, searchText) {\n // if (!items) return [];\n // if (!searchText) return items;\n // var filteredList = [];\n // searchText = searchText.toLowerCase();\n // console.log(items);\n // return items.filter(it => {\n // if (it.partner_name != undefined) {\n // it.masterPolicies.forEach(function (element, index) {\n // if (!element.product_name.toLowerCase().includes(searchText)) {\n // it.masterPolicies = it.masterPolicies.splice(index, 1);\n // }\n // });\n // if (it.partner_name.toLowerCase().includes(searchText) || it.masterPolicies.length > 0)\n // return it;\n // }\n // });\n // }\n}\n","import { Injectable } from '@angular/core';\nimport { map, catchError } from \"rxjs/operators\";\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { resolve, reject } from 'q';\nimport { Options } from 'selenium-webdriver/chrome';\nimport { environment } from '../../environments/environment';\nimport { Observable, Subject } from 'rxjs';\nimport { RouterModule, Router } from '@angular/router';\n\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ConfigService {\n // URL = 'http://192.168.3.76:8000';\n // URL = 'http://dm-staging.cloudapp.net:8089/b2btest/';\n //URL = \"http://192.168.2.27:9090/b2btest\";\n //URL = \"http://192.168.2.27:9090/b2btest\";// --dev\n // URL = \"http://192.168.2.251:9090/spcgls_v7\"; // --editByShefali\n // URL = \"http://192.168.2.27:8001\";\n // URL = \"http://192.168.2.116:7000\";\n // URL = \"http://192.168.2.116:5959\";\n //URL = \"https://10.54.16.24:9443/b2btest\";\n //URL = \"https://10.54.12.19:9443/b2btest\";\n\n //URL = \"https://groupapprds.uat.cloud.iciciprulife.com\";//-UAT\n\n //URL = \"http://103.26.54.78:9090/b2btest\";\n // URL = \"http://192.168.2.27:1521\";\n //URL = \"http://dm-ishiva.cloudapp.net:9080/b2btest\"\n \n //URL = \"http://localhost:8080\"\n \n //URL = \"https://icici-pru.purplestone-06f04859.eastasia.azurecontainerapps.io/\";\n //URL = \"https://icici-pru-oracle.purplestone-06f04859.eastasia.azurecontainerapps.io/\";\n //URL = \"https://icici-pru-oracle.purplestone-06f04859.eastasia.azurecontainerapps.io/\";\n \n // URL = \"https://primary:sxDO1rUhQTfKVH98X48YAygHoApbRcV9kxrxEB0fOxfI2GJELFuLyfL27iZp3aJ3@ipru-spring-app.test.azuremicroservices.io/icici-api/default/\";\n // URL = \"https://thumbs.dreamstime.com/z/happy-smile-button-badge-10990933.jpg\"\n\n //Latest Prod URL\n URL = \"https://ipru-spring-app-icici-api.azuremicroservices.io\";\n \n httpHeaders;\n constructor(public http: HttpClient, public routes: Router) {\n this.httpHeaders = new HttpHeaders()\n .set('Authorization', 'Bearer' + \" \" + environment.loginToken)\n }\n httpService(method, service, data) {\n //var headers = new HttpHeaders({ 'Content-Type': 'application/json; charset=utf-8' });\n this.httpHeaders = new HttpHeaders()\n .set(\"Content-Type\", 'application/json')\n .set('Authorization', 'Bearer' + \" \" + environment.loginToken)\n\n var reqOpts = {\n headers: this.httpHeaders\n }\n //debugger;\n console.log(reqOpts);\n if (method == 'get') {\n return this.http.get(this.URL + service, reqOpts)\n\n .pipe(map(this.extractData), catchError(this.handleError))\n } else if (method == 'post') {\n return this.http.post(this.URL + service, data, reqOpts)\n .pipe(map(this.extractData), catchError(this.handleError))\n }\n else {\n console.log(method);\n }\n\n }\n\n private extractData(res: Response) {\n if (res != null) {\n if (String(res) == \"Success\")\n return res;\n else {\n try {\n // res = JSON.parse(String(res));\n return res;\n }\n catch (e) {\n return res;\n }\n\n // return (res[\"Output\"] == \"Success\" || res[\"Output\"] == \"No records found.\") ? res || {} : {};\n }\n }\n else\n return null;\n }\n\n private handleError(error: Response | any) {\n console.log(error);\n let errMsg: string;\n console.log(\"Api error: \" + error);\n // return Observable.throw(error.error);\n return Promise.reject(error.error);\n //return error;\n }\n\n icici(obj, key, val) {\n var objects = [];\n for (var i in obj) {\n if (!obj.hasOwnProperty(i)) continue;\n if (typeof obj[i] == 'object') {\n objects = objects.concat(this.icici(obj[i], key, val));\n } else\n //if key matches and value matches or if key matches and value is not passed (eliminating the case where key matches but passed value does not)\n if (i == key && obj[i] == val || i == key && val == '') { //\n objects.push(obj);\n } else if (obj[i] == val && key == '') {\n //only add if the object is not already in the array\n if (objects.lastIndexOf(obj) == -1) {\n objects.push(obj);\n }\n }\n }\n return objects;\n }\n getValues(obj, key) {\n var objects = [];\n for (var i in obj) {\n if (!obj.hasOwnProperty(i)) continue;\n if (typeof obj[i] == 'object') {\n objects = objects.concat(this.getValues(obj[i], key));\n } else if (i == key) {\n objects.push(obj[i]);\n }\n }\n return objects;\n }\n\n checkUser() {\n if (environment.logedInUserName == \"\" || environment.logedInUserEmail == \"\" || environment.logingInUserId == \"\") {\n this.routes.navigate([\"login\"]);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { environment } from '../../environments/environment';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DataShareService {\n public selectedProduct = \"\";\n public newselectedProductSubject = new Subject();\n public selectedLoan = \"\";\n public selectedOtherLoanDetails = \"\";\n public newSelectedOtherLoanDetails = new Subject();\n public newselectedLoanSubject = new Subject();\n public selectedreductionSchedule = \"\";\n public newselectedReductionSchedule = new Subject();\n public selectedEntityType = \"\";\n public newselectedEntityType = new Subject();\n public selectedMortality = \"\";\n public newselectedMortalitySubject = new Subject();\n public selectedMortalityRate = [];\n public newselectedMortalityRateSubject = new Subject();\n public selectedCriticalIllness = [];\n public newselectedCriticalIllnessSubject = new Subject();\n public selectedPaymentTerm = \"\";\n public newselectedPaymentTermSubject = new Subject();\n public selectedCoverageOption = \"\";\n public newselectedCoverageOptionSubject = new Subject();\n public selectedFrequency = \"\";\n public newselectedFrequencySubject = new Subject();\n public selectedNonMedicalLimit = \"\";\n public newselectedNonMedicalSubject = new Subject();\n public selectedFlexibility = \"\";\n public newselectedFlexibilitySubject = new Subject();\n public selectedChannel = \"\";\n public newselectedChannelSubject = new Subject();\n public selectedAcici = \"\";\n public newselectedAciciSubject = new Subject();\n public selectedNonMedicalRate = \"\";\n public newselectedNonMedicalRateSubject = new Subject();\n public selectedNonMedicalRateCI = \"\";\n public newselectedNonMedicalRateSubjectCI = new Subject();\n public selectedAciciRate = \"\";\n public newselectedAciciRateSubject = new Subject();\n public partnerConfig = false;\n public newPartnerConfigSubject = new Subject();\n public header = false;\n public newHeaderSubject = new Subject();\n public asseleratedCI = false;\n public newAsseleratedCISubject = new Subject();\n public additionalCI = false;\n public newAdditionalCISubject = new Subject();\n public coverageOptions = false;\n public newCoverageOptionsSubject = new Subject();\n public singleJointLife = false;\n public newSingleJointLifeSubject = new Subject();\n public waiverHospital = false;\n public newWaiverHospitalSubject = new Subject();\n public moratoriumPeriod = false;\n public newMoratoriumPeriodSubject = new Subject();\n public moratoriumTerm = false;\n public newMoratoriumTermSubject = new Subject();\n public interestRates = false;\n public newInterestRateSubject = new Subject();\n public coverageTerm = \"\";\n public newCoverageTermSubject = new Subject();\n public ADBValue = \"\";\n public newADBValueSubject = new Subject();\n public DbMortality = \"\";\n public newDbMortalitySubject = new Subject();\n public emi7 = \"\";\n public newEmi7Subject = new Subject();\n public emi15 = \"\";\n public newEmi15Subject = new Subject();\n\n\n constructor() { }\n setSelectedProduct(data) {\n this.selectedProduct = data;\n this.newselectedProductSubject.next(data);\n }\n\n getSelectedProduct() {\n return this.selectedProduct;\n }\n\n setSelectedLoan(data) {\n this.selectedLoan = data;\n this.newselectedLoanSubject.next(data);\n }\n // setSelectedOtherLoanDetails(data) {\n // this.selectedOtherLoanDetails = data;\n // this.newselectedLoanSubject.next(data);\n // }\n\n getSelectedLoan() {\n return this.selectedLoan;\n }\n // getSelectedOtherLoanDetails() {\n // return this.selectedOtherLoanDetails;\n // }\n\n setReductionSchedule(data) {\n this.selectedreductionSchedule = data;\n this.newselectedReductionSchedule.next(data);\n }\n\n getReductionSchedule() {\n return this.selectedreductionSchedule;\n }\n\n setEntityType(data) {\n this.selectedEntityType = data;\n this.newselectedEntityType.next(data);\n }\n\n getEntityType() {\n return this.selectedEntityType;\n }\n\n setSelectedMortality(data) {\n this.selectedMortality = data;\n this.newselectedMortalitySubject.next(data);\n }\n\n getSelectedMortality() {\n return this.selectedMortality;\n }\n\n setSelectedMortalityRate(data) {\n this.selectedMortalityRate = data;\n this.newselectedMortalityRateSubject.next(data);\n }\n\n getSelectedMortalityRate() {\n return this.selectedMortalityRate;\n }\n\n setSelectedCriticalIllness(data) {\n this.selectedCriticalIllness = data;\n this.newselectedCriticalIllnessSubject.next(data);\n }\n\n getSelectedCriticalIllness() {\n return this.selectedCriticalIllness;\n }\n\n setSelectedPaymentTerm(data) {\n this.selectedPaymentTerm = data;\n this.newselectedPaymentTermSubject.next(data);\n }\n\n getSelectedPaymentTerm() {\n return this.selectedPaymentTerm;\n }\n setSelectedCoverageOption(data) {\n this.selectedCoverageOption = data;\n this.newselectedCoverageOptionSubject.next(data);\n }\n\n getSelectedCoverageOption() {\n return this.selectedCoverageOption;\n }\n setSelectedFrequency(data) {\n this.selectedFrequency = data;\n this.newselectedFrequencySubject.next(data);\n }\n\n getSelectedFrequency() {\n return this.selectedFrequency;\n }\n\n setSelectedNonMedical(data) {\n this.selectedNonMedicalLimit = data;\n this.newselectedNonMedicalSubject.next(data);\n }\n\n getSelectedNonMedical() {\n return this.selectedNonMedicalLimit;\n }\n\n setSelectedFlexibility(data) {\n this.selectedFlexibility = data;\n this.newselectedFlexibilitySubject.next(data);\n }\n\n getSelectedFlexibility() {\n return this.selectedFlexibility;\n }\n\n setSelectedChannel(data) {\n this.selectedChannel = data;\n this.newselectedChannelSubject.next(data);\n }\n\n getSelectedChannel() {\n return this.selectedChannel;\n }\n\n setSelectedAcici(data) {\n this.selectedAcici = data;\n this.newselectedAciciSubject.next(data);\n }\n\n getSelectedAcici() {\n return this.selectedAcici;\n }\n\n setSelectedNonMedicalRate(data) {\n this.selectedNonMedicalRate = data;\n this.newselectedNonMedicalRateSubject.next(data);\n }\n\n getSelectedNonMedicalRate() {\n return this.selectedNonMedicalRate;\n }\n\n setSelectedNonMedicalRateCI(data) {\n this.selectedNonMedicalRateCI = data;\n this.newselectedNonMedicalRateSubjectCI.next(data);\n }\n\n getSelectedNonMedicalRateCI() {\n return this.selectedNonMedicalRateCI;\n }\n\n setSelectedAciciRate(data) {\n this.selectedAciciRate = data;\n this.newselectedAciciRateSubject.next(data);\n }\n\n getSelectedAciciRate() {\n return this.selectedAciciRate;\n }\n setPartnerConfig(data) {\n this.partnerConfig = data;\n this.newPartnerConfigSubject.next(data);\n }\n\n getPartnerConfig() {\n return this.partnerConfig;\n }\n\n setHeader(data) {\n this.header = data;\n this.newHeaderSubject.next(data);\n }\n\n getHeader() {\n return this.header;\n }\n setAsseleratedCI(data) {\n this.asseleratedCI = data;\n this.newAsseleratedCISubject.next(data);\n }\n\n getAsseleratedCI() {\n return this.asseleratedCI;\n }\n setAdditionalCI(data) {\n this.additionalCI = data;\n this.newAdditionalCISubject.next(data);\n }\n\n getAdditionalCI() {\n return this.additionalCI;\n }\n setcoverageOptions(data) {\n this.coverageOptions = data;\n this.newCoverageOptionsSubject.next(data);\n }\n\n getcoverageOptions() {\n return this.coverageOptions;\n }\n setsingleJointLife(data) {\n this.singleJointLife = data;\n this.newSingleJointLifeSubject.next(data);\n }\n\n getsingleJointLife() {\n return this.singleJointLife;\n }\n setWaiverHospital(data) {\n this.waiverHospital = data;\n this.newWaiverHospitalSubject.next(data);\n }\n\n setemi7(data) {\n this.emi7 = data;\n this.newEmi7Subject.next(data);\n }\n\n getemi7() {\n return this.emi7\n }\n\n setemi15(data) {\n this.emi15 = data;\n this.newEmi15Subject.next(data);\n }\n\n getemi15() {\n return this.emi15\n }\n\n getWaiverHospital() {\n return this.waiverHospital;\n }\n setmoratoriumPeriod(data) {\n this.moratoriumPeriod = data;\n this.newMoratoriumPeriodSubject.next(data);\n }\n\n getmoratoriumPeriod() {\n return this.moratoriumPeriod;\n }\n setmoratoriumTerm(data) {\n this.moratoriumTerm = data;\n this.newMoratoriumTermSubject.next(data);\n }\n\n getmoratoriumTerm() {\n return this.moratoriumTerm;\n }\n\n setInterestRate(data) {\n this.interestRates = data;\n this.newInterestRateSubject.next(data);\n }\n\n getInterestRate() {\n return this.interestRates;\n }\n\n setCoverageTerm(data) {\n this.coverageTerm = data;\n this.newCoverageTermSubject.next(data);\n }\n\n getCoverageTerm() {\n return this.coverageTerm;\n }\n\n setADBValue(data) {\n this.ADBValue = data;\n this.newADBValueSubject.next(data);\n }\n\n getADBValue() {\n return this.ADBValue;\n }\n\n setDbMortality(data) {\n this.DbMortality = data;\n this.newDbMortalitySubject.next(data);\n }\n\n getDbMortality() {\n return this.DbMortality;\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\nexport const environment = {\n maxCoverageTerm: 30,\n loginToken: '',\n production: false,\n partner_config: false,\n savedProductMapping: [],\n reduction_sched: \"\",\n savedProductBenefit: [],\n savedProductOtherBenefit: [],\n savedProductBoundryCondition: {},\n savedTillProductBoundryCondition: [],\n savedProductScheme: [],\n username: \"\",\n password: \"\",\n userid: 0,\n partnerListing: [],\n partnerDetails: [],\n selectedProduct_Id: \"\",\n selectedLoan_Id: \"\",\n selectedMortality_Id: \"\",\n selectedNonMedicalLimits_Id: \"\",\n selectedReductionSchedule_Id: \"\",\n selectedReductionScheduleCode: \"\",\n selectedEntityName: \"\",\n selectedEntityId: \"\",\n minAge: 14,\n maxAge: 0,\n minCoverCeasing: 0,\n maxCoverCeasing: 0,\n minSumAssured: 2000,\n maxSumAssured: 0,\n minPolicyTerm: 2,\n maxPolicyTerm: 30,\n acimaxPolicyTerm: 15,\n canceremimaxPolicyTerm: 5,\n glSData: [],\n sroData: [],\n srlData: [],\n srcData: [],\n spcData: [],\n splData: [],\n spoData: [],\n productData: [],\n glsMinAge: 14,\n glsMaxAge: 70,\n glsMaxCeasingAge: 60,\n fixedMinPolicyTerm: 2,\n glsMaxPolicyTerm: 30,\n selectedCriticalIllness_Id: \"\",\n logedInUserName: \"\",\n logedInUserEmail: \"\",\n logingInUserId: \"\",\n currentPartnerDetails: [],\n editDetails: false,\n loginSuccessfully: false,\n editPolicy: false,\n editPolicyId: 0,\n selectedTableReference: \"\",\n currentBenefit: \"\",\n dbMinAge: 14,\n dbMaxAge: 0,\n dbMinCover: 0,\n dbMaxCover: 0,\n dbMinSum: 5000,\n dbMaxSum: 0,\n dbMinTerm: 2,\n dbMaxTerm: 0,\n fixedData: [{\n \"min_age_at_entry\": 14,\n \"max_age_at_entry\": 70,\n \"min_cover_ceasing_age\": 18,\n \"max_cover_ceasing_age\": 75,\n \"min_sum_assured\": 2000,\n \"min_policy_term\": 2,\n \"max_policy_term\": 30,\n \"min_mortality_rate\": 35,\n \"max_mortality_rate\": 300\n }],\n glsFixedData: [{\n \"min_age_at_entry\": 14,\n \"max_age_at_entry\": 70,\n \"min_cover_ceasing_age\": 18,\n \"max_cover_ceasing_age\": 75,\n \"min_sum_assured\": 2000,\n \"min_policy_term\": 2,\n \"max_policy_term\": 30,\n \"min_mortality_rate\": 35,\n \"max_mortality_rate\": 300\n }],\n spcFixedData: [{\n \"min_age_at_entry\": 14,\n \"max_age_at_entry\": 75,\n \"min_cover_ceasing_age\": 16,\n \"max_cover_ceasing_age\": 80,\n \"min_sum_assured\": 2000,\n \"max_sum_assured_emi\": 100000,\n \"max_sum_assured_cancer\": 10000000,\n \"min_policy_term\": 2,\n \"max_policy_term\": 30,\n \"min_mortality_rate\": 15,\n \"max_mortality_rate\": 500,\n \"min_coverage_term\": 2,\n \"max_coverage_term\": 30\n }],\n groupLoanSecure: true,\n superProductCredit: false,\n shubhRakshaCredit: false\n}\n\n/*\n * In development mode, for easier debugging, you can ignore zone related error\n * stack frames such as `zone.run`/`zoneDelegate.invokeTask` by importing the\n * below file. Don't forget to comment it out in production mode\n * because it will have a performance impact when errors are thrown\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.","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\n\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n\n\n\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}