{"version":3,"sources":["Areas/TypeScript/ajax-helper.ts","Areas/TypeScript/button-utilities.ts","Areas/TypeScript/constants.ts","Areas/TypeScript/dialog.ts","Areas/TypeScript/form-crud.ts","Areas/TypeScript/form-lookup.ts","Areas/TypeScript/reports.ts","Areas/TypeScript/tabs.ts","Areas/TypeScript/user-lookup.ts","Areas/TypeScript/utilities.ts","Areas/TypeScript/custom/favorite.ts","Areas/TypeScript/custom/goto.ts","Areas/TypeScript/custom/lookup-item-template.ts","Areas/TypeScript/grid/column-grid.ts","Areas/TypeScript/grid/download-zip.ts","Areas/TypeScript/grid/edit-batch-button-configuration.ts","Areas/TypeScript/grid/edit-buttons-builder.ts","Areas/TypeScript/grid/export-grid.ts","Areas/TypeScript/grid/filter-builder.ts","Areas/TypeScript/grid/filter.ts","Areas/TypeScript/grid/grid-edit-buttons.ts","Areas/TypeScript/grid/grid-utilities.ts","Areas/TypeScript/grid/reset-layout.ts","Areas/TypeScript/grid/toolbar.ts","Areas/TypeScript/tree-list/column-grid.ts","Areas/TypeScript/tree-list/reset-layout.ts","Areas/TypeScript/tree-list/toolbar.ts","Areas/Analysis/Views/Shared/analysis.ts","Areas/Attachment/Views/Attachment/attachment-upload.ts","Areas/Custom/Views/Shared/report-goto.ts","Areas/CustomQuery/Views/Main/custom-query-parameters.ts","Areas/CustomQuery/Views/Main/custom-query-result.ts","Areas/CustomQuery/Views/Main/custom-query.ts","Areas/Dialog/Views/CreateEIC/dialog-create-eic.ts","Areas/Dialog/Views/CreateRequest/dialog-create-request.ts","Areas/Dialog/Views/FilterBuilder/dialog-filter-builder.ts","Areas/Eic/Views/List/eic-list.ts","Areas/Eic/Views/Review/eic-review.ts","Areas/Eic/Views/Shared/eic-lookup.ts","Areas/Eic/Views/Shared/eic-shared.ts","Areas/Maintenance/Views/CustomQuery/custom-query-maintenance.ts","Areas/Maintenance/Views/Shared/maintenance-shared.ts","Areas/Maintenance/Views/Shared/maintenance-tabs.ts","Areas/Requests/Views/List/requests-list.ts","Areas/Requests/Views/Review/requests-review.ts","Areas/Requests/Views/Shared/requests-lookup.ts","Areas/Requests/Views/Shared/requests-shared.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,IAAU,KAAK,CAwDd;AAxDD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,IAAY,WAA0B;IAAtC,WAAY,WAAW;QAAG,6CAAI,CAAA;QAAE,6CAAI,CAAA;IAAC,CAAC,EAA1B,WAAW,GAAX,iBAAW,KAAX,iBAAW,QAAe;IAEtC,SAAgB,WAAW,CAAC,GAAW,EAAE,IAAY,EAAE,MAAc,EACjE,QAA8B,EAAE,WAA2C;QAA3E,yBAAA,EAAA,eAA8B;QAAE,4BAAA,EAAA,cAA2B,WAAW,CAAC,IAAI;QAE3E,IAAM,YAAY,GAAG,0CAA0C,CAAC;QAEhE,IAAI,OAAO,GAAG,kBAAkB,CAAC;QACjC,IAAI,WAAW,KAAK,WAAW,CAAC,IAAI,EAAE;YAClC,OAAO,GAAG,kDAAkD,CAAC;SAChE;QACD,IAAM,cAAc,GAAG,IAAI,CAAC;QAC5B,IAAM,eAAe,GAAG,IAAI,CAAC;QAE7B,IAAM,aAAa,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAEhH,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QAEhD,OAAO,CAAC,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,GAAG;YACR,SAAS,EAAE;gBACP,eAAe,EAAE,IAAI;aACxB;YACD,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,UAAC,QAAa;gBAEnB,IAAI,MAAM,KAAK,QAAQ,EAAE;oBACrB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;iBACnD;qBAAM;oBACH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;iBACnD;gBAED,IAAI,QAAQ,EAAE;oBACV,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAC3B;gBAED,IAAI,QAAQ,CAAC,GAAG,EAAE;oBACd,UAAU,CAAC,cAAQ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;iBAC/E;YAEL,CAAC;YACD,KAAK,EAAE,UAAC,QAAQ;gBACZ,IAAI,QAAQ,CAAC,YAAY,EAAE;oBACvB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;iBAC/D;qBAAM;oBACH,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;iBACtD;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAjDe,iBAAW,cAiD1B,CAAA;AAEL,CAAC,EAxDS,KAAK,KAAL,KAAK,QAwDd;ACxDD,IAAU,KAAK,CAmCd;AAnCD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,UAAU,CAAC,EAAU;QACjC,IAAM,MAAM,GAA2B,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SAClC;IACL,CAAC;IANe,gBAAU,aAMzB,CAAA;IAED,SAAgB,UAAU,CAAC,EAAU;QACjC,IAAM,MAAM,GAA2B,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SACnC;IACL,CAAC;IANe,gBAAU,aAMzB,CAAA;IAED,SAAgB,YAAY,CAAC,EAAU;QACnC,IAAM,MAAM,GAA2B,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SACpC;IACL,CAAC;IANe,kBAAY,eAM3B,CAAA;IAED,SAAgB,aAAa,CAAC,EAAU;QACpC,IAAM,MAAM,GAA2B,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACnC;IACL,CAAC;IANe,mBAAa,gBAM5B,CAAA;AAEL,CAAC,EAnCS,KAAK,KAAL,KAAK,QAmCd;ACnCD,IAAU,KAAK,CA2Bd;AA3BD,WAAU,KAAK;IAAC,IAAA,SAAS,CA2BxB;IA3Be,WAAA,SAAS;QACrB,YAAY,CAAC;QAEb;YAAA;YAOA,CAAC;YAN0B,0BAAQ,GAAG,UAAU,CAAC;YACtB,yBAAO,GAAG,SAAS,CAAC;YACpB,2BAAS,GAAG,WAAW,CAAC;YACxB,uBAAK,GAAG,OAAO,CAAC;YAChB,2BAAS,GAAG,WAAW,CAAC;YACxB,2BAAS,GAAG,WAAW,CAAC;YACnD,wBAAC;SAPD,AAOC,IAAA;QAPY,2BAAiB,oBAO7B,CAAA;QAGY,qCAA2B,GAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAClE,uCAA6B,GAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS;YACxG,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE1F;YAAA;YAMA,CAAC;YAL0B,iBAAO,GAAG,SAAS,CAAC;YACpB,mBAAS,GAAG,WAAW,CAAC;YACxB,eAAK,GAAG,OAAO,CAAC;YAChB,mBAAS,GAAG,WAAW,CAAC;YACxB,mBAAS,GAAG,WAAW,CAAC;YACnD,gBAAC;SAND,AAMC,IAAA;QANY,mBAAS,YAMrB,CAAA;QAEY,6BAAmB,GAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClD,+BAAqB,GAAa,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/G,CAAC,EA3Be,SAAS,GAAT,eAAS,KAAT,eAAS,QA2BxB;AAAD,CAAC,EA3BS,KAAK,KAAL,KAAK,QA2Bd;AC3BD,IAAU,KAAK,CA0Ed;AA1ED,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,IAAY,YAA2B;IAAvC,WAAY,YAAY;QAAG,2CAAE,CAAA;QAAE,mDAAM,CAAA;IAAC,CAAC,EAA3B,YAAY,GAAZ,kBAAY,KAAZ,kBAAY,QAAe;IAEvC;QAeI,oBAAY,UAAkB,EAAE,YAA6D,EACzF,UAAsB,EAAE,mBAAqC,EAAE,aAAgC;YADnG,iBAWC;YAVG,2BAAA,EAAA,iBAAsB;YAAE,oCAAA,EAAA,0BAAqC;YAAE,8BAAA,EAAA,wBAAgC;YAf1F,mBAAc,GAAW,cAAc,CAAC;YACxC,eAAU,GAAW,UAAU,CAAC;YAmD/B,WAAM,GAAG,UAAC,CAAM;gBACtB,KAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC,CAAA;YAEkB,OAAE,GAAG,UAAC,CAAM,IAAY,CAAC,CAAC;YAxCzC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;YAC/C,IAAI,CAAC,GAAG,GAAG,aAAW,IAAI,CAAC,UAAU,WAAQ,CAAC;YAC9C,IAAI,CAAC,OAAO,GAAG,MAAI,IAAI,CAAC,UAAU,UAAO,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAE7B,IAAI,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;QAEO,+BAAU,GAAlB;YAAA,iBAuBC;YAtBG,CAAC,CAAC,MAAI,IAAI,CAAC,aAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAC,QAAQ,EAAE,MAAM;gBAExD,CAAC,CAAC,MAAI,KAAI,CAAC,aAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE3C,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAEjD,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAElB,IAAI,YAAY,GAAG,CAAC,CAAC,MAAI,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,cAAgB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACvF,IAAI,YAAY,EAAE;oBACd,YAAY,CAAC,EAAE,CAAC,EAAC,KAAK,EAAE,KAAI,CAAC,MAAM,EAAC,CAAC,CAAC;iBACzC;gBAED,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAI,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAY,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC/E,IAAI,QAAQ,EAAE;oBACV,QAAQ,CAAC,EAAE,CAAC,EAAC,KAAK,EAAE,KAAI,CAAC,EAAE,EAAC,CAAC,CAAC;iBACjC;gBAED,IAAI,KAAI,CAAC,mBAAmB,EAAE;oBAC1B,KAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC9B;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAQM,0BAAK,GAAZ,UAAa,YAA0B,EAAE,IAAS;YAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAEO,0BAAK,GAAb;YACI,CAAC,CAAC,MAAI,IAAI,CAAC,aAAe,CAAC,CAAC,KAAK,EAAE,CAAC;QACxC,CAAC;QACL,iBAAC;IAAD,CApEA,AAoEC,IAAA;IApEqB,gBAAU,aAoE/B,CAAA;AACL,CAAC,EA1ES,KAAK,KAAL,KAAK,QA0Ed;AC1ED,IAAU,KAAK,CAmEd;AAnED,WAAU,KAAK;IACX,YAAY,CAAC;IAEb;QAMI,4BAAY,IAAY,EAAE,WAA2B;YACjD,IAAM,MAAM,GAAG,MAAI,IAAI,SAAM,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;aAClC;QACL,CAAC;QAED,yCAAY,GAAZ;YACI,IAAM,OAAO,GAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAElD,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC7B;YAED,IAAM,MAAM,GAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEzC,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,MAAA,WAAW,CAAC,MAAI,IAAI,CAAC,IAAI,iBAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;aAC7E;QACL,CAAC;QAED,yCAAY,GAAZ;YACI,IAAM,OAAO,GAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAElD,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC7B;YAED,IAAM,MAAM,GAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAM,KAAK,GAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE7C,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjC,MAAA,WAAW,CAAC,MAAI,IAAI,CAAC,IAAI,kBAAa,KAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;aAClF;QACL,CAAC;QAED,yCAAY,GAAZ;YACI,IAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;YAEtF,IAAI,UAAU,EAAE;gBACZ,IAAM,KAAK,GAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,KAAK,IAAI,IAAI,EAAE;oBACf,MAAA,WAAW,CAAC,MAAI,IAAI,CAAC,IAAI,qBAAgB,KAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;iBACnE;aACJ;QACL,CAAC;QACL,yBAAC;IAAD,CAvDA,AAuDC,IAAA;IAvDY,wBAAkB,qBAuD9B,CAAA;AASL,CAAC,EAnES,KAAK,KAAL,KAAK,QAmEd;ACnED,IAAU,KAAK,CAgBd;AAhBD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,oBAAoB,CAAC,WAA4B;QAC7D,OAAO,UAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;YAEnD,IAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEnC,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACnB,WAAW,CAAC,MAAM,CAAC,qCAAqC,GAAG,IAAI,GAAG,eAAe,CAAC,CAAC;aACtF;iBAAM;gBACH,WAAW,CAAC,MAAM,CAAC,wDAAwD,GAAG,IAAI,GAAG,SAAS;oBAC1F,kBAAkB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;aAClF;QACL,CAAC,CAAA;IACL,CAAC;IAZe,0BAAoB,uBAYnC,CAAA;AACL,CAAC,EAhBS,KAAK,KAAL,KAAK,QAgBd;AChBD,IAAU,KAAK,CAyEd;AAzED,WAAU,KAAK;IACX,YAAY,CAAC;IAGb,IAAM,OAAO,GAAG,gBAAgB,CAAC;IACjC,IAAM,SAAS,GAAG,cAAc,CAAC;IACjC,IAAM,WAAW,GAAG,kBAAkB,CAAC;IACvC,IAAM,KAAK,GAAG,kBAAkB,CAAC;IACjC,IAAM,YAAY,GAAG,iBAAiB,CAAC;IAavC,SAAgB,UAAU,CAAC,UAAkB,EAAE,aAAwB,EAAE,SAAoB;QACzF,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;QACjC,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;QAEzB,IAAI,MAAA,UAAU,CAAC,UAAU,CAAC,IAAI,MAAA,UAAU,CAAC,MAAM,CAAC,EAAE;YAE9C,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CACrB;gBACI,YAAY,EAAE,UAAU;gBACxB,YAAY,EAAE,UAAU;gBACxB,QAAQ,EAAE,MAAM;aACnB,CAAC,CAAC;YAEP,aAAa,CAAC,IAAI,CAAC,CAAC;SACvB;IACL,CAAC;IAfe,gBAAU,aAezB,CAAA;IAED,SAAS,aAAa,CAAC,IAAY;QAC/B,IAAM,YAAY,GAAG,0CAA0C,CAAC;QAEhE,IAAM,MAAM,GAAG,MAAM,CAAC;QACtB,IAAI,OAAO,GAAW,kDAAkD,CAAC;QAEzE,IAAI,aAAa,GAAG,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC;QAEpD,CAAC,CAAC,IAAI,CAAC;YACH,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,IAAI;YACjB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,UAAC,QAAQ;gBACd,IAAI,QAAQ,CAAC,QAAQ,EAAE;oBACnB,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;iBAC1D;qBAAM;oBACH,IAAI,WAAW,GAAW,SAAS,CAAC;oBAEpC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;oBACtD,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBAC3B;YACL,CAAC;YACD,KAAK,EAAE;gBACH,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,SAAS,UAAU,CAAC,EAAO;QACvB,IAAM,GAAG,GAAG,QAAQ,CAAC,YAAY,GAAG,SAAS,GAAG,EAAE,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AAEL,CAAC,EAzES,KAAK,KAAL,KAAK,QAyEd;ACzED,IAAU,KAAK,CA6Ed;AA7ED,WAAU,KAAK;IACX,YAAY,CAAC;IAEb;QAII,aAAY,EAAU,EAAE,GAAW;YAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACnB,CAAC;QACL,UAAC;IAAD,CARA,AAQC,IAAA;IARY,SAAG,MAQf,CAAA;IACD,SAAgB,yCAAyC,CAAC,MAAc,EAAE,mBAA6B;QACnG,OAAO,mBAAmB,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,IAAI,GAAG,CAAC,KAAK,EAAE,MAAI,KAAK,SAAI,MAAQ,CAAC,EAArC,CAAqC,CAAC,CAAC;IAC5F,CAAC;IAFe,+CAAyC,4CAExD,CAAA;IAGD,SAAgB,wBAAwB,CAAC,IAAY,EAAE,MAAc,EAAE,WAAqB;QACxF,OAAO,WAAW,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,IAAI,GAAG,CAAC,KAAK,EAAE,MAAI,IAAI,SAAI,KAAK,SAAI,MAAQ,CAAC,EAA7C,CAA6C,CAAC,CAAC;IAC5F,CAAC;IAFe,8BAAwB,2BAEvC,CAAA;IAED,SAAgB,4BAA4B,CAAC,IAAY,EAAE,OAAiB,EAAE,UAAkB;QAC5F,OAAO,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,IAAI,GAAG,CAAC,KAAK,EAAE,MAAI,IAAI,SAAI,UAAU,SAAI,KAAO,CAAC,EAAjD,CAAiD,CAAC,CAAC;IAC5F,CAAC;IAFe,kCAA4B,+BAE3C,CAAA;IAED,SAAgB,cAAc,CAAC,QAAe;QAC1C,OAAO,kBAAkB,CAAC,QAAQ,EAAE,UAAA,CAAC,IAAI,OAAA,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAApB,CAAoB,CAAC,CAAC;IACnE,CAAC;IAFe,oBAAc,iBAE7B,CAAA;IAED,SAAgB,YAAY,CAAC,MAAW;QACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC/C,CAAC;IAFe,kBAAY,eAE3B,CAAA;IAED,SAAgB,oBAAoB,CAAC,QAAe;QAChD,OAAO,kBAAkB,CAAC,QAAQ,EAAE,UAAC,CAAC,EAAE,UAAU,IAAK,OAAA,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAK,CAAC,CAAC,GAAG,SAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAG,CAAC,EAApD,CAAoD,CAAC,CAAC;IACjH,CAAC;IAFe,0BAAoB,uBAEnC,CAAA;IAED,SAAgB,kBAAkB,CAAC,MAAW;QAC1C,IAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;IAC/B,CAAC;IAHe,wBAAkB,qBAGjC,CAAA;IAED,SAAS,kBAAkB,CAAC,QAAe,EAAE,SAA4D;QACrG,OAAO,UAAC,MAAW;YACf,IAAM,UAAU,GAAyB,MAAM,CAAC,SAAS,CAAC;YAC1D,IAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAE5C,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAClE,eAAe,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,eAAe,CAAC,UAAgC;QACrD,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrD,IAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAErE,IAAI,MAAA,UAAU,CAAC,WAAW,CAAC,IAAI,MAAA,UAAU,CAAC,mBAAmB,CAAC,EAAE;YAC5D,IAAM,SAAS,GAAyB,CAAC,CAAC,MAAI,WAAa,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAEhF,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;aAC1D;SACJ;IACL,CAAC;IAED,SAAS,oBAAoB,CAAC,QAAe,EAAE,SAA4D,EACvG,UAA+B,EAAE,UAAkB;QAEnD,IAAM,WAAW,GAAG,QAAQ;aAC3B,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,EAAxB,CAAwB,CAAC;aAClC,MAAM,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,KAAK,OAAO,CAAC,GAAG,EAA1B,CAA0B,CAAC,CAAC;QAEjD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACzD;IACL,CAAC;AAEL,CAAC,EA7ES,KAAK,KAAL,KAAK,QA6Ed;AC7ED,IAAU,KAAK,CAgFd;AAhFD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb;QAAA;QAEA,CAAC;QAAD,eAAC;IAAD,CAFA,AAEC,IAAA;IAFY,cAAQ,WAEpB,CAAA;IAED,SAAgB,gBAAgB,CAAC,QAAkB;QAC/C,OAAO,UAAC,OAAO,EAAE,KAAK;YAClB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBACvC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;gBACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,OAAO;aACV;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACzB,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,wEAAwE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC9G,OAAO;aACV;YAED,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YACxC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,CAAC,CAAA;IACL,CAAC;IAlBe,sBAAgB,mBAkB/B,CAAA;IAED,SAAgB,kBAAkB,CAAC,OAAe,EAAE,QAAkB;QAClE,OAAO,UAAC,WAAW,EAAE,QAAQ;YACzB,IAAI,kBAAkB,GAAG;gBACrB,YAAY,EAAE,EAAE;gBAChB,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,EAAE;aAClB,CAAC;YAEF,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YAEnE,IAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;gBACZ,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE,QAAQ;gBACnB,WAAW,EAAE,aAAa;gBAC1B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAC3B,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;gBAGpC,kBAAkB,YAAC,CAAC;oBAChB,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC;gBACnC,CAAC;gBAED,cAAc,YAAC,CAAC;oBACZ,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC;aACJ,CAAC,CAAC;YAEH,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACvE,CAAC,CAAA;IACL,CAAC;IAvCe,wBAAkB,qBAuCjC,CAAA;IAED,SAAgB,kBAAkB,CAAC,WAAgB,EAAE,QAAa;QAC9D,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAFe,wBAAkB,qBAEjC,CAAA;IAED,SAAS,cAAc,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;QACnE,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACnB,WAAW,CAAC,MAAM,CAAC,wCAAoC,QAAQ,CAAC,WAAW,eAAU,QAAQ,CAAC,KAAK,WAAQ,CAAC,CAAC;SAChH;aAAM;YACH,WAAW,CAAC,MAAM,CAAC,4EAAwE,QAAQ,CAAC,WAAW,eAAU,QAAQ,CAAC,KAAK,qBAAkB,CAAC,CAAC;SAC9J;IACL,CAAC;AAEL,CAAC,EAhFS,KAAK,KAAL,KAAK,QAgFd;AChFD,IAAU,KAAK,CA6Ld;AA7LD,WAAU,KAAK;IACX,YAAY,CAAC;IAMb,SAAgB,0BAA0B,CAAC,GAAQ,EAAE,GAAQ,EAAE,KAAU;QACrE,IAAM,EAAE,GAAG,IAAI,MAAM,CAAC,WAAS,GAAG,cAAW,EAAE,GAAG,CAAC,CAAC;QACpD,IAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACtD,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YACf,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAK,GAAG,SAAI,KAAK,OAAI,CAAC,CAAC;SACjD;aAAM;YACH,OAAO,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;SAC9C;IACL,CAAC;IARe,gCAA0B,6BAQzC,CAAA;IAED,SAAgB,0BAA0B,CAAC,GAAW,EAAE,SAAiB;QAErE,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;YAEtB,IAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;YACnD,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAGxC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG;gBAEhC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;oBACvC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACrB;aACJ;YAED,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClE,OAAO,GAAG,CAAC;SACd;aAAM;YACH,OAAO,GAAG,CAAC;SACd;IACL,CAAC;IArBe,gCAA0B,6BAqBzC,CAAA;IAED,SAAgB,uBAAuB,CAAC,GAAQ,EAAE,GAAQ;QACtD,IAAM,EAAE,GAAG,IAAI,MAAM,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YACf,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAPe,6BAAuB,0BAOtC,CAAA;IAED,SAAgB,UAAU,CAAC,QAAa;QACpC,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,EAAE,CAAC;IACzE,CAAC;IAFe,gBAAU,aAEzB,CAAA;IAED,SAAgB,OAAO,CAAC,QAAa;QACjC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAFe,aAAO,UAEtB,CAAA;IAED,SAAgB,gBAAgB,CAAC,CAAM;QACnC,IAAI,OAAO,GAAG,CAAC,CAAC,SAAoC,CAAC;QACrD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAHe,sBAAgB,mBAG/B,CAAA;IAED,SAAgB,SAAS,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,UAAS,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IALe,eAAS,YAKxB,CAAA;IAED,SAAgB,KAAK,CAAC,MAAW;QAC7B,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAHe,WAAK,QAGpB,CAAA;IAED,SAAgB,eAAe,CAAC,SAAiB;QAC7C,OAAO,OAAO,CAAC,CAAC,CAAC,MAAI,SAAW,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAFe,qBAAe,kBAE9B,CAAA;IAID,SAAgB,QAAQ;QACpB,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAFe,cAAQ,WAEvB,CAAA;IAED,SAAgB,QAAQ;QACpB,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAFe,cAAQ,WAEvB,CAAA;IAED,SAAgB,UAAU;QACtB,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAClC,CAAC;IAFe,gBAAU,aAEzB,CAAA;IAED,SAAgB,4BAA4B,CAAC,CAAM;QAC/C,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAFe,kCAA4B,+BAE3C,CAAA;IAED,SAAgB,sBAAsB,CAAC,CAAM;QACzC,IAAM,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;QAEpD,IAAI,WAAW,EAAE;YACb,MAAA,YAAY,CAAC,YAAY,CAAC,CAAC;SAC9B;aAAM;YACH,MAAA,aAAa,CAAC,YAAY,CAAC,CAAC;SAC/B;IACL,CAAC;IARe,4BAAsB,yBAQrC,CAAA;IAED,SAAgB,uBAAuB,CAAC,CAAM;QAC1C,IAAM,SAAS,GAAG,CAAC,CAAC,SAAsC,CAAC;QAC3D,SAAS,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAHe,6BAAuB,0BAGtC,CAAA;IAED,SAAgB,cAAc,CAAC,IAAU;QACrC,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAFe,oBAAc,iBAE7B,CAAA;IAED,SAAgB,MAAM;QAClB,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAFe,YAAM,SAErB,CAAA;IAED,SAAS,UAAU,CAAC,IAAU;QAC1B,IAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,IAAM,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAM,aAAa,GAAM,KAAK,SAAI,GAAG,SAAI,IAAM,CAAC;QAChD,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,SAAS,UAAU,CAAC,IAAU;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;QACnB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,IAAM,OAAO,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,IAAM,aAAa,GAAG,KAAK,GAAG,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC;QACzD,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,SAAgB,mBAAmB,CAAC,IAAU;QAE1C,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAE9B,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClC,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAE3B,OAAO,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IAC1C,CAAC;IATe,yBAAmB,sBASlC,CAAA;IAED,SAAgB,mBAAmB;QAC/B,OAAO,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAFe,yBAAmB,sBAElC,CAAA;IAED,SAAgB,uBAAuB,CAAC,IAAU;QAC9C,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;YAC/B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACnC;QAED,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IARe,6BAAuB,0BAQtC,CAAA;IAED,SAAgB,qBAAqB;QACjC,OAAO,yBAAyB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAFe,2BAAqB,wBAEpC,CAAA;IAED,SAAgB,yBAAyB,CAAC,IAAU;QAChD,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;YAC/B,OAAO,UAAU,CAAC;SACrB;QAED,OAAO,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IARe,+BAAyB,4BAQxC,CAAA;IAED,SAAgB,OAAO,CAAC,QAAgB;QACpC,OAAO,CAAC,CAAC,MAAI,QAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAFe,aAAO,UAEtB,CAAA;IAED,SAAgB,YAAY,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;YACvC,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IALe,kBAAY,eAK3B,CAAA;AAEL,CAAC,EA7LS,KAAK,KAAL,KAAK,QA6Ld;AC7LD,IAAU,KAAK,CAQd;AARD,WAAU,KAAK;IACX,YAAY,CAAC;AAOjB,CAAC,EARS,KAAK,KAAL,KAAK,QAQd;ACRD,IAAU,KAAK,CAqFd;AArFD,WAAU,KAAK;IACX,YAAY,CAAC;IAsBb,SAAgB,cAAc,CAAC,CAAM;QACjC,IAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,0DAA0D,GAAG,EAAE,GAAG,eAAe,CAAC;QACjG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAJe,oBAAc,iBAI7B,CAAA;IAED,SAAgB,UAAU,CAAC,CAAM;QAC7B,IAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,QAAQ,GAAG,gEAAgE,GAAG,EAAE,GAAG,EAAE,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAJe,gBAAU,aAIzB,CAAA;IAED,SAAgB,WAAW,CAAC,CAAM;QAC9B,IAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,QAAQ,GAAG,wBAAwB,GAAG,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC;IAJe,iBAAW,cAI1B,CAAA;IAGD,SAAgB,iBAAiB,CAAC,cAAsB;QACpD,IAAI,UAAU,GAAG,sEAAsE,CAAC;QACxF,IAAI,MAAA,UAAU,CAAC,cAAc,CAAC,EAAE;YAC5B,UAAU,GAAG,0DAA0D;gBACnE,cAAc,GAAG,2CAA2C,CAAC;SACpE;QACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IAPe,uBAAiB,oBAOhC,CAAA;IAeD,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,GAAW;QAC5D,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAI,QAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtD,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,MAAM,IAAI,IAAI,EAAE;YAChB,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;SAChC;aACI;YACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SAC5E;IACL,CAAC;IATe,wBAAkB,qBASjC,CAAA;AAYL,CAAC,EArFS,KAAK,KAAL,KAAK,QAqFd;ACrFD,IAAU,KAAK,CA0Bd;AA1BD,WAAU,KAAK;IACX,YAAY,CAAC;IAGb,SAAgB,kBAAkB,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;QAC9E,WAAW,CAAC,MAAM,CACd,0CAAsC,QAAQ,CAAC,sBAAsB,kBAAe,CAAC,CAAC;IAC9F,CAAC;IAHe,wBAAkB,qBAGjC,CAAA;IAID,SAAgB,iBAAiB,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;QAC7E,WAAW,CAAC,MAAM,CACd,0CAAsC,QAAQ,CAAC,0BAA0B,kBAAe,CAAC,CAAC;IAClG,CAAC;IAHe,uBAAiB,oBAGhC,CAAA;IAGD,SAAgB,iBAAiB,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;QAC7E,WAAW,CAAC,MAAM,CAAC,mDAA+C,QAAQ,CAAC,mBAAmB,kBAAe,CAAC,CAAC;IACnH,CAAC;IAFe,uBAAiB,oBAEhC,CAAA;IAGD,SAAgB,iBAAiB,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;QAC7E,WAAW,CAAC,MAAM,CAAC,mDAA+C,QAAQ,CAAC,iBAAiB,kBAAe,CAAC,CAAC;IACjH,CAAC;IAFe,uBAAiB,oBAEhC,CAAA;AAEL,CAAC,EA1BS,KAAK,KAAL,KAAK,QA0Bd;AC1BD,IAAU,KAAK,CAiCd;AAjCD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,IAAM,uBAAuB,GAAG,qBAAqB,CAAC;IAEtD,SAAgB,gBAAgB,CAAC,CAAM;QACnC,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QACnD,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE9B,MAAA,kBAAkB,CAAC,CAAC,CAAC,cAAc,EAAE;YACjC,WAAW,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,OAAO,EAAE,mCAAmC,EAAE;YAC1F,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC;SACnC,EAAE,OAAO,CAAC,CAAC;IAEhB,CAAC;IAbe,sBAAgB,mBAa/B,CAAA;IAED,SAAS,uBAAuB,CAAC,IAA8B;QAI3D,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,SAAS,iBAAiB,CAAC,IAA8B;QACrD,OAAO,UAAC,CAAM;YACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAA;IACL,CAAC;AAEL,CAAC,EAjCS,KAAK,KAAL,KAAK,QAiCd;ACjCD,IAAU,KAAK,CAwCd;AAxCD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,IAAM,qBAAqB,GAAG,mBAAmB,CAAC;IAElD,SAAgB,cAAc,CAAC,CAAM;QACjC,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QAEnD,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;QAErD,MAAA,kBAAkB,CAAC,CAAC,CAAC,cAAc,EAAE;YACjC,WAAW,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE;YAC1C,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;SAC7B,EAAE,QAAQ,CAAC,CAAC;IACjB,CAAC;IAbe,oBAAc,iBAa7B,CAAA;IAED,SAAgB,uBAAuB,CAAC,CAAM;QAC1C,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE;YAC1B,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;SAC7C;aAAM;YACH,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;SAC9C;IACL,CAAC;IANe,6BAAuB,0BAMtC,CAAA;IAED,SAAS,WAAW,CAAC,QAAkC;QACnD,OAAO,UAAC,CAAM;YACV,IAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,iCAA+B,WAAa,CAAC;YAEvD,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QACxB,CAAC,CAAA;IACL,CAAC;IAED,SAAS,cAAc,CAAC,QAAkC;QACtD,OAAO,QAAQ,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,YAAY,EAAd,CAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7E,CAAC;AACL,CAAC,EAxCS,KAAK,KAAL,KAAK,QAwCd;ACxCD,IAAU,KAAK,CAyCd;AAzCD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb;QAGI,sCAAY,cAAmB;YAC3B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACzC,CAAC;QAED,gEAAyB,GAAzB;YACI,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,YAAY,EAA1B,CAA0B,CAAC,CAAC;YAEvF,IAAI,WAAW,EAAE;gBACb,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAChC,WAAW,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBAClC,WAAW,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBACrC,WAAW,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;aACrC;YAED,IAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,cAAc,EAA5B,CAA4B,CAAC,CAAC;YAE3F,IAAI,aAAa,EAAE;gBACf,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAClC,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACtC,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBACvC,aAAa,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBACxD,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;aACzC;YAED,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,cAAc,EAA5B,CAA4B,CAAC,CAAC;YAExF,IAAI,UAAU,EAAE;gBACZ,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC/B,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;gBACjC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBACpC,UAAU,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAClD,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;aACnC;QACL,CAAC;QACL,mCAAC;IAAD,CArCA,AAqCC,IAAA;IArCY,kCAA4B,+BAqCxC,CAAA;AACL,CAAC,EAzCS,KAAK,KAAL,KAAK,QAyCd;ACzCD,IAAU,KAAK,CAiNd;AAjND,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,IAAK,QAAyB;IAA9B,WAAK,QAAQ;QAAG,2CAAM,CAAA;QAAE,uCAAI,CAAA;IAAC,CAAC,EAAzB,QAAQ,KAAR,QAAQ,QAAiB;IAE9B;QAWI,4BAAY,IAA8B,EAAE,cAAmB;YAV9C,kBAAa,GAAG,YAAY,GAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YACpE,mBAAc,GAAG,aAAa,GAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YACtE,qBAAgB,GAAG,eAAe,GAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC1E,mBAAc,GAAG,aAAa,GAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YACtE,qBAAgB,GAAG,eAAe,GAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YAInF,aAAQ,GAAa,QAAQ,CAAC,MAAM,CAAC;YAGzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACzC,CAAC;QAED,uCAAU,GAAV,UAAW,aAA4B;YAEnC,IAAI,mBAAmB,GAAY,KAAK,CAAC;YACzC,IAAI,kBAAkB,GAAY,KAAK,CAAC;YAExC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,mBAAmB,GAAG,IAAI,CAAC;aAC9B;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE;gBACnC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,kBAAkB,GAAG,IAAI,CAAC;aAC7B;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;gBACrC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,kBAAkB,GAAG,IAAI,CAAC;aAC7B;YAED,IAAI,mBAAmB,EAAE;gBACrB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,eAAe,EAAE,CAAC;aAC1B;YAED,IAAI,kBAAkB,EAAE;gBACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAChC;QACL,CAAC;QAEO,kDAAqB,GAA7B;YACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAChE,CAAC;QAEO,+CAAkB,GAA1B;YAAA,iBAYC;YAXG,OAAO,UAAC,CAAM;gBACV,IAAM,mBAAmB,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC;gBAE3D,IAAI,mBAAmB,EAAE;oBACrB,KAAK,CAAC,YAAY,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;oBACxC,KAAK,CAAC,YAAY,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;iBAC7C;qBAAM;oBACH,KAAK,CAAC,aAAa,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;oBACzC,KAAK,CAAC,aAAa,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;iBAC9C;YACL,CAAC,CAAA;QACL,CAAC;QAEO,0CAAa,GAArB;YACI,MAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACpC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;gBACxD,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aAC1B,CAAC,CAAC;QACP,CAAC;QAEO,4CAAe,GAAvB;YACI,MAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACpC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC9D,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;aAC7B,CAAC,CAAC;QACP,CAAC;QAEO,yCAAY,GAApB;YACI,MAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACpC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE;gBAC3D,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;aACzB,CAAC,CAAC;QACP,CAAC;QAEO,0CAAa,GAArB;YACI,MAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACpC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE;gBAC7D,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;aAC1B,CAAC,CAAC;QACP,CAAC;QAEO,4CAAe,GAAvB;YACI,MAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACpC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE;gBACxD,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE;aAC5B,CAAC,CAAC;QACP,CAAC;QAEO,oCAAO,GAAf;YAAA,iBAmBC;YAlBG,OAAO,UAAC,CAAM;gBACV,IAAM,OAAO,GAAG,KAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAE/C,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;oBACpB,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,gCAAgC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBACxE,OAAO;iBACV;gBAED,IAAM,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExD,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE;oBACf,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAE5B,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC9B,KAAI,CAAC,oBAAoB,EAAE,CAAC;iBAC/B;YAEL,CAAC,CAAA;QACL,CAAC;QAEO,sCAAS,GAAjB;YAAA,iBAeC;YAdG,OAAO,UAAC,CAAM;gBACV,IAAM,OAAO,GAAG,KAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAE/C,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;oBACpB,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,gCAAgC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBACxE,OAAO;iBACV;gBAED,IAAM,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExD,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE;oBACf,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBACjC;YACL,CAAC,CAAA;QACL,CAAC;QAEO,oCAAO,GAAf;YAAA,iBAWC;YAVG,OAAO,UAAC,CAAM;gBACV,KAAI,CAAC,IAAI,CAAC,YAAY,EAAE;qBACvB,IAAI,CAAC;oBACF,IAAM,WAAW,GAAG,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC5C,IAAI,CAAC,WAAW,EAAE;wBACd,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;wBAChC,KAAI,CAAC,oBAAoB,EAAE,CAAC;qBAC/B;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAA;QACL,CAAC;QAEO,mCAAM,GAAd;YAAA,iBAMC;YALG,OAAO,UAAC,CAAM;gBACV,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC9B,KAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,CAAC,CAAA;QACL,CAAC;QAEO,uCAAU,GAAlB;YAAA,iBAMC;YALG,OAAO,UAAC,CAAM;gBACV,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAChC,KAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,KAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/B,CAAC,CAAA;QACL,CAAC;QAEO,iDAAoB,GAA5B;YACI,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,EAAE;gBACnC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACrC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACxC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC3C;iBAAM;gBACH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACrC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACxC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACtC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC3C;QACL,CAAC;QAEL,yBAAC;IAAD,CA3MA,AA2MC,IAAA;IA3MY,wBAAkB,qBA2M9B,CAAA;AACL,CAAC,EAjNS,KAAK,KAAL,KAAK,QAiNd;ACjND,IAAU,KAAK,CAiCd;AAjCD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,IAAM,gBAAgB,GAAG,cAAc,CAAC;IAExC,SAAgB,SAAS,CAAC,CAAM;QAC5B,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QAEnD,MAAA,kBAAkB,CAAC,CAAC,CAAC,cAAc,EAAE;YACjC,WAAW,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,2BAA2B,EAAE;YAC3E,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,0BAA0B;YAChC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;SAC5B,EAAE,OAAO,CAAC,CAAC;QAEZ,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEtC,CAAC;IAde,eAAS,YAcxB,CAAA;IAED,SAAS,UAAU,CAAC,IAA8B;QAC9C,OAAO,UAAC,CAAM;YACV,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAA;IACL,CAAC;IAED,SAAS,WAAW,CAAE,CAAM;QACxB,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QAEnD,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;AAEL,CAAC,EAjCS,KAAK,KAAL,KAAK,QAiCd;ACjCD,IAAU,KAAK,CA0Gd;AA1GD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb;QAQI,uBAAY,IAA8B,EAAE,cAAmB;YANtD,qBAAgB,GAAG,eAAe,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3E,0BAAqB,GAAG,oBAAoB,GAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YAMzF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACzC,CAAC;QAED,kCAAU,GAAV;YACI,MAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACpC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE;gBAC1C,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;aACnC,EAAE,OAAO,CAAC,CAAC;YAEZ,MAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE;gBACpC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,qBAAqB,EAAE;gBAC/C,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;aAC9B,EAAE,OAAO,CAAC,CAAC;QAChB,CAAC;QAEO,wCAAgB,GAAxB;YAAA,iBAWC;YAVG,OAAO,UAAC,CAAM;gBACV,IAAI,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;gBAE9B,IAAM,UAAU,GAAG;oBACf,WAAW,EAAE,KAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,MAAM;iBACjB,CAAC;gBAEF,IAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,EAAE,UAAU,CAAC,CAAC;YACnH,CAAC,CAAA;QACL,CAAC;QAEO,iCAAS,GAAjB;YACI,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAE/C,IAAI,YAAY,CAAC,SAAS,EAAE;oBACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;iBAC9C;aACJ;YAED,OAAO,MAAM,CAAC;QAClB,CAAC;QAEO,kCAAU,GAAlB,UAAmB,YAAiB;YAChC,IAAI,YAAY,CAAC,YAAY,EAAE;gBAC3B,OAAO;oBACH,SAAS,EAAE,YAAY,CAAC,YAAY;oBACpC,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;iBAC9B,CAAC;aACL;YAED,OAAO;gBACH,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;aAC9B,CAAC;QACN,CAAC;QAEO,mCAAW,GAAnB;YAAA,iBAOC;YANG,OAAO,UAAC,CAAM;gBACV,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACxB,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,CAAC,MAAI,KAAI,CAAC,gBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAClF,CAAC,CAAC;QACN,CAAC;QAEO,2CAAmB,GAA3B,UAA6B,aAA4B;YACrD,OAAO,UAAC,MAA0B,EAAE,IAAS;gBACzC,IAAI,MAAM,KAAK,MAAA,YAAY,CAAC,MAAM;oBAAE,OAAO;gBAE3C,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;gBAExC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEvC,CAAC,CAAC,MAAI,aAAa,CAAC,gBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;qBACvD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAEzD,CAAC,CAAC,MAAI,aAAa,CAAC,qBAAuB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;qBAC5D,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC,CAAA;QACL,CAAC;QACL,oBAAC;IAAD,CAtGA,AAsGC,IAAA;IAtGY,mBAAa,gBAsGzB,CAAA;AACL,CAAC,EA1GS,KAAK,KAAL,KAAK,QA0Gd;AC1GD,IAAU,KAAK,CAUd;AAVD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,gBAAgB,CAAC,CAAM;QACnC,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QAEnD,IAAI,aAAa,GAAG,IAAI,MAAA,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;QAC9D,aAAa,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IALe,sBAAgB,mBAK/B,CAAA;AAEL,CAAC,EAVS,KAAK,KAAL,KAAK,QAUd;ACVD,IAAU,KAAK,CAgBd;AAhBD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,iBAAiB,CAAC,CAAM,EAAE,aAA4B;QAClE,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QAEnD,IAAM,kBAAkB,GAAG,IAAI,MAAA,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC;QAC1E,kBAAkB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IALe,uBAAiB,oBAKhC,CAAA;IAED,SAAgB,kBAAkB,CAAC,CAAM;QACrC,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QACnD,IAAM,4BAA4B,GAAG,IAAI,MAAA,4BAA4B,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACxF,4BAA4B,CAAC,yBAAyB,EAAE,CAAC;IAC7D,CAAC;IAJe,wBAAkB,qBAIjC,CAAA;AAEL,CAAC,EAhBS,KAAK,KAAL,KAAK,QAgBd;AChBD,IAAU,KAAK,CAiCd;AAjCD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,gBAAgB,CAAC,WAAgB,EAAE,OAAqB,EAAE,eAAuB;QAC7F,IAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAM,EAAE,GAAG,iBAAiB,CAAC;QAC7B,IAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IALe,sBAAgB,mBAK/B,CAAA;IAED,SAAgB,YAAY,CAAC,QAAgB,EAAE,GAAW;QACtD,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAI,QAAU,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,MAAM,IAAI,IAAI,EAAE;YAChB,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;SAChC;aACI;YACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;SAC5E;IACL,CAAC;IATe,kBAAY,eAS3B,CAAA;IAED,SAAgB,WAAW,CAAC,EAAU;QAClC,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IACjD,CAAC;IAFe,iBAAW,cAE1B,CAAA;IAED,SAAgB,WAAW,CAAC,QAAkC;QAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzD,CAAC;IAHe,iBAAW,cAG1B,CAAA;IAED,SAAgB,OAAO,CAAC,QAAgB;QACpC,OAAO,CAAC,CAAC,MAAI,QAAU,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAFe,aAAO,UAEtB,CAAA;AACL,CAAC,EAjCS,KAAK,KAAL,KAAK,QAiCd;ACjCD,IAAU,KAAK,CAoBd;AApBD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,cAAc,CAAC,CAAM;QACjC,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QAEnD,MAAA,kBAAkB,CAAC,CAAC,CAAC,cAAc,EAAE;YACjC,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;SACvB,EAAE,OAAO,CAAC,CAAC;IAChB,CAAC;IAVe,oBAAc,iBAU7B,CAAA;IAED,SAAS,KAAK,CAAC,IAA8B;QACzC,OAAO,UAAC,CAAM;YACV,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC,CAAA;IACL,CAAC;AACL,CAAC,EApBS,KAAK,KAAL,KAAK,QAoBd;ACpBD,IAAU,KAAK,CAgDd;AAhDD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,mBAAmB,CAAC,aAA4B,EAAE,eAAwC;QAAxC,gCAAA,EAAA,sBAAwC;QACtG,OAAO,UAAC,CAAM;YACV,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;gBACrC,MAAA,SAAS,CAAC,CAAC,CAAC,CAAC;aAChB;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE;gBAC5C,MAAA,gBAAgB,CAAC,CAAC,CAAC,CAAC;aACvB;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;gBAC1C,MAAA,cAAc,CAAC,CAAC,CAAC,CAAC;aACrB;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE;gBAC5C,MAAA,gBAAgB,CAAC,CAAC,CAAC,CAAC;aACvB;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;gBAC1C,MAAA,cAAc,CAAC,CAAC,CAAC,CAAC;aACrB;YAED,IAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE9C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC1B,MAAA,kBAAkB,CAAC,CAAC,CAAC,CAAC;aACzB;iBAAM;gBACH,MAAA,iBAAiB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;aACvC;YAED,IAAI,eAAe,EAAE;gBACjB,eAAe,CAAC,CAAC,CAAC,CAAC;aACtB;QACL,CAAC,CAAA;IACL,CAAC;IAlCe,yBAAmB,sBAkClC,CAAA;IAED,SAAgB,kBAAkB,CAAC,cAAmB,EAAE,OAAY,EAAE,QAA2B;QAA3B,yBAAA,EAAA,mBAA2B;QAC7F,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;YACtB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC;IAPe,wBAAkB,qBAOjC,CAAA;AAEL,CAAC,EAhDS,KAAK,KAAL,KAAK,QAgDd;AChDD,IAAU,KAAK,CAyBd;AAzBD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAyBvB;IAzBe,WAAA,QAAQ;QACpB,YAAY,CAAC;QAEb,IAAM,uBAAuB,GAAG,qBAAqB,CAAC;QAEtD,SAAgB,gBAAgB,CAAC,CAAM;YACnC,IAAM,QAAQ,GAA6B,CAAC,CAAC,SAAS,CAAC;YAEvD,MAAA,kBAAkB,CAAC,CAAC,CAAC,cAAc,EAAE;gBACjC,WAAW,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,OAAO,EAAE,mCAAmC,EAAE;gBAC1F,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,6BAA6B;gBACnC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC;aACvC,EAAE,OAAO,CAAC,CAAC;QAEhB,CAAC;QAZe,yBAAgB,mBAY/B,CAAA;QAED,SAAS,iBAAiB,CAAC,QAAkC;YACzD,OAAO,UAAC,CAAM;gBACV,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACjC,CAAC,CAAA;QACL,CAAC;IAEL,CAAC,EAzBe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAyBvB;AAAD,CAAC,EAzBS,KAAK,KAAL,KAAK,QAyBd;ACzBD,IAAU,KAAK,CAoBd;AApBD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAoBvB;IApBe,WAAA,QAAQ;QACpB,YAAY,CAAC;QAEb,SAAgB,cAAc,CAAC,CAAM;YACjC,IAAM,QAAQ,GAA6B,CAAC,CAAC,SAAS,CAAC;YAEvD,MAAA,kBAAkB,CAAC,CAAC,CAAC,cAAc,EAAE;gBACjC,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;aAC3B,EAAE,OAAO,CAAC,CAAC;QAChB,CAAC;QAVe,uBAAc,iBAU7B,CAAA;QAED,SAAS,KAAK,CAAC,QAAkC;YAC7C,OAAO,UAAC,CAAM;gBACV,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAA;QACL,CAAC;IACL,CAAC,EApBe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAoBvB;AAAD,CAAC,EApBS,KAAK,KAAL,KAAK,QAoBd;ACpBD,IAAU,KAAK,CAwBd;AAxBD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,2BAA2B,CAAC,aAA4B,EAAE,eAAwC;QAAxC,gCAAA,EAAA,sBAAwC;QAC9G,OAAO,UAAC,CAAM;YACV,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE;gBAC5C,MAAA,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;aAChC;YAED,IAAI,MAAA,MAAM,EAAE,EAAE;gBACV,mBAAmB,CAAC,CAAC,CAAC,CAAC;aAC1B;YAED,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;gBAC1C,MAAA,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC9B;QAEL,CAAC,CAAA;IACL,CAAC;IAfe,iCAA2B,8BAe1C,CAAA;IAED,SAAS,mBAAmB,CAAC,CAAM;QAC/B,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACL,CAAC,EAxBS,KAAK,KAAL,KAAK,QAwBd;ACxBD,IAAU,KAAK,CAyBd;AAzBD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAyBvB;IAzBe,WAAA,QAAQ;QACpB,YAAY,CAAC;QAEb,SAAgB,YAAY,CAAC,WAAW,EAAE,QAAQ;YAC9C,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACxC,IAAI,QAAQ,GAAG,qCAAqC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;YAC5F,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE/B,CAAC;QALe,qBAAY,eAK3B,CAAA;QAED,SAAgB,UAAU,CAAC,WAAW,EAAE,QAAQ;YAE5C,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,6BAA6B,GAAG,CAAC,EAAE;gBACjD,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;aACpD;QACL,CAAC;QANe,mBAAU,aAMzB,CAAA;QAED,SAAgB,aAAa,CAAC,WAAW,EAAE,QAAQ;YAE/C,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE;gBAC1C,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;aACpD;QACL,CAAC;QANe,sBAAa,gBAM5B,CAAA;IACL,CAAC,EAzBe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAyBvB;AAAD,CAAC,EAzBS,KAAK,KAAL,KAAK,QAyBd;ACzBD,IAAU,KAAK,CA6Cb;AA7CF,WAAU,KAAK;IAAC,IAAA,UAAU,CA6CxB;IA7Cc,WAAA,UAAU;QACtB,YAAY,CAAC;QAEb,SAAgB,cAAc,CAAC,CAAC;YAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;YACvB,IAAI,QAAQ,IAAI,CAAC,CAAC,aAAa,EAAE;gBAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBACpE,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvC,GAAG,GAAG,MAAA,0BAA0B,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;aACrC;QACL,CAAC;QATe,yBAAc,iBAS7B,CAAA;QAED,SAAgB,aAAa,CAAC,CAAC;YAC3B,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QAFe,wBAAa,gBAE5B,CAAA;QAED,SAAgB,YAAY,CAAC,WAAW,EAAE,QAAQ;YAC9C,IAAI,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,IAAI,GAAG,GAAG,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YACpD,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QALe,uBAAY,eAK3B,CAAA;QAED,SAAgB,sBAAsB,CAAC,WAAgB,EAAE,QAAa;YAClE,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAC5C,4DAA4D,CAAC,CAAC;QACtE,CAAC;QAJe,iCAAsB,yBAIrC,CAAA;QAED,SAAgB,sBAAsB,CAAC,CAAC;YACpC,IAAI,UAAU,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACjE,UAAU,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QAHe,iCAAsB,yBAGrC,CAAA;QAED,SAAgB,cAAc,CAAC,CAAC;YAE5B,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE;gBACrD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;oBACnB,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;iBACzB;aACJ;QACL,CAAC;QAPe,yBAAc,iBAO7B,CAAA;IAEJ,CAAC,EA7Cc,UAAU,GAAV,gBAAU,KAAV,gBAAU,QA6CxB;AAAD,CAAC,EA7CQ,KAAK,KAAL,KAAK,QA6Cb;AC7CF,IAAU,KAAK,CAed;AAfD,WAAU,KAAK;IAAC,IAAA,MAAM,CAerB;IAfe,WAAA,MAAM;QAClB,YAAY,CAAC;QAEb,SAAgB,mCAAmC;YAC/C,IAAI,IAAI,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC9C,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAM,GAAG,GAAG,4CAA0C,KAAO,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACpB;iBACI;gBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;aACjE;QACL,CAAC;QAVe,0CAAmC,sCAUlD,CAAA;IAEL,CAAC,EAfe,MAAM,GAAN,YAAM,KAAN,YAAM,QAerB;AAAD,CAAC,EAfS,KAAK,KAAL,KAAK,QAed;ACfD,IAAU,KAAK,CAiJd;AAjJD,WAAU,KAAK;IAAC,IAAA,WAAW,CAiJ1B;IAjJe,WAAA,WAAW;QACvB,YAAY,CAAC;QAEb,IAAI,iBAAiB,GAAY,KAAK,CAAC;QAWvC,SAAgB,0BAA0B;YACtC,OAAO,iBAAiB,CAAC;QAC7B,CAAC;QAFe,sCAA0B,6BAEzC,CAAA;QAED,SAAgB,mBAAmB,CAAC,UAAsC;YACtE,IAAI,iBAAiB,EAAE;gBACnB,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,iBAAiB,GAAG,KAAK,CAAC;aAC7B;YAED,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;gBACxB,OAAO;aACV;YAED,UAAU,EAAE,CAAC;YACb,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAZe,+BAAmB,sBAYlC,CAAA;QAED,SAAS,UAAU;YACf,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;gBACvB,WAAW,EAAE,GAAG;gBAChB,KAAK,EAAE,CAAC;wBACJ,QAAQ,EAAE,OAAO;wBACjB,OAAO,EAAE,GAAG;wBACZ,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE,CAAC;wBACX,KAAK,EAAE,CAAC;gCACJ,QAAQ,EAAE,OAAO;gCACjB,OAAO,EAAE,CAAC;6BACb,CAAC;qBACL,CAAC;gBACF,aAAa,EAAE,UAAS,CAAC,IAAI,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;aAC3D,CAAC,CAAC;QACP,CAAC;QAED,SAAS,gBAAgB,CAAC,UAAsC;YAC5D,IAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpD,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAE/C,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,aAAa,EAAlB,CAAkB,CAAC,CAAC,CAAC;YACzE,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS,IAAI,OAAA,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAxC,CAAwC,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,SAAS,kBAAkB,CAAC,SAAc,EAAE,SAA8B;YACtE,IAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAEnE,IAAI,QAAQ,EAAE;gBACV,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;aACrC;iBAAM;gBACH,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aACrC;QACL,CAAC;QAED,SAAS,WAAW,CAAC,SAAc,EAAE,SAA8B;YAC/D,IAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,SAAS,aAAa,CAAC,aAAqB;YACxC,IAAM,aAAa,GAAG,EAAiB,CAAC;YACxC,aAAa,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;YACtC,aAAa,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC;YACzC,aAAa,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;YAEpC,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;QAED,SAAS,OAAO,CAAC,SAA8B;YAC3C,OAAO;gBACH,KAAK,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,oBAAoB,EAAC;gBAC7C,SAAS,EAAE,SAAS,CAAC,aAAa;gBAClC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC;gBAClD,OAAO,EAAC,CAAC;aACZ,CAAC;QACN,CAAC;QAED,SAAS,YAAY,CAAC,SAAc,EAAE,SAA8B;YAChE,IAAM,IAAI,GAAG;gBACT,KAAK,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,oBAAoB,EAAC;gBAC7C,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE,SAAS,CAAC,aAAa,GAAG,SAAS;gBACzC,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAC,CAAC;aACZ,CAAC;YAEF,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3B,IAAM,MAAM,GAAG;gBACX,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,UAAS,IAAI,EAAE,OAAO;oBAC5B,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAChC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;wBACZ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,UAAS,CAAM;4BACpB,YAAY,CAAC,SAAS,CAAC,CAAC;wBAC5B,CAAC;qBACJ,CAAC,CAAA;gBACN,CAAC;aACJ,CAAC;YAEF,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,SAAS,YAAY,CAAC,SAA8B;YAChD,QAAQ,SAAS,CAAC,qBAAqB,EAAE;gBACrC,KAAK,EAAE;oBACH,MAAM;gBAEV,KAAK,EAAE;oBACH,MAAM;gBAEV;oBACI,MAAM;aACb;QACL,CAAC;QAED,SAAS,YAAY,CAAC,SAA8B;YAChD,OAAO,UAAC,YAA0B,EAAE,IAAS;gBACzC,IAAI,YAAY,KAAK,MAAA,YAAY,CAAC,MAAM;oBAAE,OAAO;gBAEjD,IAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;gBACnE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAE5D,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACzC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC1E,CAAC,CAAA;QACL,CAAC;IACL,CAAC,EAjJe,WAAW,GAAX,iBAAW,KAAX,iBAAW,QAiJ1B;AAAD,CAAC,EAjJS,KAAK,KAAL,KAAK,QAiJd;ACjJD,IAAU,KAAK,CAgGd;AAhGD,WAAU,KAAK;IAAC,IAAA,WAAW,CAgG1B;IAhGe,WAAA,WAAW;QACvB,aAAa,CAAC;QAEd,SAAgB,gBAAgB;YAC5B,CAAC,CAAC,wBAAwB,CAAC,CAAC,UAAU,CAAC;gBACnC,UAAU,EAAE,gBAAgB,EAAE;gBAC9B,gBAAgB,EAAE,IAAI;gBACtB,WAAW,EAAE,IAAI;gBACjB,qBAAqB,EAAE,IAAI;gBAC3B,mBAAmB,EAAE,IAAI;gBACzB,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE;oBACX,IAAI,EAAE,QAAQ;iBACjB;gBACD,YAAY,EAAE;oBACV,OAAO,EAAE,IAAI;iBAChB;gBACD,MAAM,EAAE;oBACJ,QAAQ,EAAE,EAAE;iBACf;gBACD,KAAK,EAAE;oBACH,oBAAoB,EAAE,IAAI;oBAC1B,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC;oBACrC,OAAO,EAAE,IAAI;iBAChB;gBACD,kBAAkB,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBAC1E,gBAAgB,EAAE,gBAAgB;gBAClC,aAAa,EAAE,UAAC,CAAC,IAAK,OAAA,KAAK,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAxC,CAAwC;aACjE,CAAC,CAAC;QACP,CAAC;QA1Be,4BAAgB,mBA0B/B,CAAA;QAED,SAAS,gBAAgB;YACrB,IAAM,kBAAkB,GAAG;gBACvB,YAAY,EAAE;oBACV,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE;oBACnD,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE;oBAC7C,UAAU,EAAE,kBAAkB,EAAE;iBACnC;gBACD,KAAK,EAAE,EAAE;gBACT,SAAS,EAAE,6BAA6B;gBACxC,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,EAAE;aAClB,CAAC;YAEF,IAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YACrE,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,SAAS,kBAAkB;YACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,EAAE;gBACjD,OAAO,IAAI,CAAC;aACf;YAED,IAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACpD,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrC,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACnD,IAAM,aAAa,GAAG,EAAE,CAAC;YAEzB,aAAa,CAAC,OAAO,CAAC,UAAA,aAAa;gBAC/B,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC5E,aAAa,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;QAED,SAAS,gBAAgB,CAAC,IAAS;YAC/B,IAAM,KAAK,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC;YAEzF,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG;gBACb,IAAM,UAAU,GAAG,GAAG,CAAC,SAAmB,CAAC;gBAC3C,IAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAEzC,IAAG,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,EAAC;oBACrC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC;oBACtB,GAAG,CAAC,MAAM,GAAG,oBAAoB,CAAC;iBACrC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;QAED,SAAS,YAAY,CAAC,WAAgB,EAAE,UAAkB;YACtD,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,IAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;gBAC9B,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;aAClE;iBAAM;gBACH,IAAM,sBAAsB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE7E,IAAI,sBAAsB,EAAE;oBACxB,OAAO,GAAG,IAAI,CAAC;iBAClB;aACJ;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC,EAhGe,WAAW,GAAX,iBAAW,KAAX,iBAAW,QAgG1B;AAAD,CAAC,EAhGS,KAAK,KAAL,KAAK,QAgGd;AChGD,IAAU,KAAK,CA0Cd;AA1CD,WAAU,KAAK;IAAC,IAAA,WAAW,CA0C1B;IA1Ce,WAAA,WAAW;QACvB,YAAY,CAAC;QAEb,IAAI,aAAqB,CAAC;QAC1B,IAAI,WAAW,GAAY,KAAK,CAAC;QACjC,IAAI,iBAAiB,GAAY,KAAK,CAAC;QAEvC,SAAgB,gBAAgB;YAC5B,OAAO,aAAa,CAAC;QACzB,CAAC;QAFe,4BAAgB,mBAE/B,CAAA;QAED,SAAgB,oBAAoB;YAChC,iBAAiB,GAAG,IAAI,CAAC;QAC7B,CAAC;QAFe,gCAAoB,uBAEnC,CAAA;QAED,SAAgB,eAAe;YAC3B,OAAO,WAAW,CAAC;QACvB,CAAC;QAFe,2BAAe,kBAE9B,CAAA;QAED,SAAgB,QAAQ,CAAC,CAAM;YAC3B,IAAI,iBAAiB,EAAE;gBACnB,CAAC,CAAC,wBAAwB,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aACrD;YAED,YAAA,gBAAgB,EAAE,CAAC;QACvB,CAAC;QANe,oBAAQ,WAMvB,CAAA;QAED,SAAgB,qBAAqB,CAAC,CAAM;YACxC,IAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;YACvD,IAAM,WAAW,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;YAE9C,IAAI,WAAW,EAAE;gBACb,WAAW,GAAG,IAAI,CAAC;gBACnB,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC9C,YAAA,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;aAC1D;iBAED;gBACI,WAAW,GAAG,KAAK,CAAC;aACvB;QACL,CAAC;QAbe,iCAAqB,wBAapC,CAAA;IAEL,CAAC,EA1Ce,WAAW,GAAX,iBAAW,KAAX,iBAAW,QA0C1B;AAAD,CAAC,EA1CS,KAAK,KAAL,KAAK,QA0Cd;AC1CD,IAAU,KAAK,CAkDd;AAlDD,WAAU,KAAK;IAAC,IAAA,OAAO,CAkDtB;IAlDe,WAAA,OAAO;QAAC,IAAA,SAAS,CAkDhC;QAlDuB,WAAA,SAAS;YAC7B,YAAY,CAAC;YAEb;gBAAqC,mCAAgB;gBAEjD,yBAAY,YAA6D;oBAAzE,YACI,kBAAM,WAAW,EAAE,YAAY,CAAC,SACnC;oBAES,QAAE,GAAG,UAAC,CAAM;wBAClB,IAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBACpD,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAEpC,IAAI,MAAM,CAAC,OAAO,EAAE;4BAEhB,IAAM,OAAO,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAE7C,MAAA,WAAW,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;gCACnE,KAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;4BACtC,CAAC,CAAC,CAAC;yBACN;oBACL,CAAC,CAAA;;gBAdD,CAAC;gBAeL,sBAAC;YAAD,CAnBA,AAmBC,CAnBoC,KAAK,CAAC,UAAU,GAmBpD;YAnBY,yBAAe,kBAmB3B,CAAA;YAED,SAAgB,iBAAiB,CAAC,CAAM;gBACpC,IAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAI,kBAAkB,GAA4B,IAAI,CAAC,SAAS,CAAC,aAAa,CAA2B,CAAC;gBAE1G,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1D,CAAC;YALe,2BAAiB,oBAKhC,CAAA;YAED,SAAgB,kBAAkB,CAAC,CAAM;gBACrC,IAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEpD,IAAI,gBAAgB,GAA2B,IAAI;qBAC9C,SAAS,CAAC,WAAW,CAA2B,CAAC;gBAEtD,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;YAPe,4BAAkB,qBAOjC,CAAA;YAED,SAAgB,YAAY,CAAC,CAAM;gBAC/B,IAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEzC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBAC1E,OAAO,KAAK,CAAC;iBAChB;gBAED,OAAO,IAAI,CAAC;YAChB,CAAC;YATe,sBAAY,eAS3B,CAAA;QACL,CAAC,EAlDuB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAkDhC;IAAD,CAAC,EAlDe,OAAO,GAAP,aAAO,KAAP,aAAO,QAkDtB;AAAD,CAAC,EAlDS,KAAK,KAAL,KAAK,QAkDd;AClDD,IAAU,KAAK,CA+Dd;AA/DD,WAAU,KAAK;IAAC,IAAA,OAAO,CA+DtB;IA/De,WAAA,OAAO;QAAC,IAAA,aAAa,CA+DpC;QA/DuB,WAAA,aAAa;YACjC,YAAY,CAAC;YAEb;gBAAyC,uCAAgB;gBAErD,6BAAY,YAA6D;oBAAzE,YACI,kBAAM,eAAe,EAAE,YAAY,CAAC,SACvC;oBAES,QAAE,GAAG,UAAC,CAAM;wBAClB,IAAM,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBACxD,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAEpC,IAAI,MAAM,CAAC,OAAO,EAAE;4BAEhB,IAAM,OAAO,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC7C,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;4BACrE,MAAA,WAAW,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;gCACvE,KAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;4BACtC,CAAC,CAAC,CAAC;yBACN;oBACL,CAAC,CAAA;;gBAdD,CAAC;gBAeL,0BAAC;YAAD,CAnBA,AAmBC,CAnBwC,KAAK,CAAC,UAAU,GAmBxD;YAnBY,iCAAmB,sBAmB/B,CAAA;YAED,SAAgB,cAAc;gBAC1B,cAAc,EAAE,CAAC;gBACjB,yBAAyB,EAAE,CAAC;gBAC5B,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;gBACzF,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACzF,CAAC;YALe,4BAAc,iBAK7B,CAAA;YAED,SAAgB,OAAO;gBACnB,cAAc,EAAE,CAAC;gBACjB,kBAAkB,EAAE,CAAC;gBACrB,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;gBAClF,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAClF,CAAC;YALe,qBAAO,UAKtB,CAAA;YAED,SAAgB,IAAI;gBAChB,eAAe,EAAE,CAAC;gBAClB,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBAC/E,CAAC,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC9E,CAAC;YAJe,kBAAI,OAInB,CAAA;YAED,SAAS,cAAc;gBACnB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YAED,SAAS,yBAAyB;gBAC9B,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;YAChC,CAAC;YAED,SAAS,kBAAkB;gBACvB,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;YAChC,CAAC;YAED,SAAS,eAAe;gBACpB,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;QACL,CAAC,EA/DuB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QA+DpC;IAAD,CAAC,EA/De,OAAO,GAAP,aAAO,KAAP,aAAO,QA+DtB;AAAD,CAAC,EA/DS,KAAK,KAAL,KAAK,QA+Dd;AC/DD,IAAU,KAAK,CA6Bd;AA7BD,WAAU,KAAK;IAAC,IAAA,OAAO,CA6BtB;IA7Be,WAAA,OAAO;QAAC,IAAA,aAAa,CA6BpC;QA7BuB,WAAA,aAAa;YACjC,YAAY,CAAC;YAEb;gBAAyC,uCAAgB;gBAErD,6BAAY,YAA6D,EAAE,UAAsB;oBAAtB,2BAAA,EAAA,iBAAsB;oBAAjG,YACI,kBAAM,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE;wBAC7C,IAAM,aAAa,GAAG,CAAC,CAAC,MAAI,KAAI,CAAC,UAAU,YAAS,CAAC,CAAC,eAAe,CAAC;4BAClE,MAAM,EAAE,UAAU,CAAC,MAAM;4BACzB,KAAK,EAAE,UAAU,CAAC,WAAW;yBAChC,CAAC,CAAC;oBAEP,CAAC,CAAC,SACL;oBAES,QAAE,GAAG,UAAC,CAAM;wBAElB,IAAM,aAAa,GAAG,CAAC,CAAC,MAAI,KAAI,CAAC,UAAU,YAAS,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;wBAClF,IAAM,IAAI,GAAG;4BACT,QAAQ,EAAE,KAAI,CAAC,UAAU,CAAC,QAAQ;4BAClC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;yBACxC,CAAC;wBAEF,KAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBACtC,CAAC,CAAA;;gBAXD,CAAC;gBAYL,0BAAC;YAAD,CAtBA,AAsBC,CAtBwC,KAAK,CAAC,UAAU,GAsBxD;YAtBY,iCAAmB,sBAsB/B,CAAA;QAIL,CAAC,EA7BuB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QA6BpC;IAAD,CAAC,EA7Be,OAAO,GAAP,aAAO,KAAP,aAAO,QA6BtB;AAAD,CAAC,EA7BS,KAAK,KAAL,KAAK,QA6Bd;AC7BD,IAAU,KAAK,CAoEd;AApED,WAAU,KAAK;IAAC,IAAA,GAAG,CAoElB;IApEe,WAAA,GAAG;QAAC,IAAA,IAAI,CAoEvB;QApEmB,WAAA,IAAI;YACpB,YAAY,CAAC;YAEb,SAAgB,QAAQ,CAAC,WAAW,EAAE,QAAQ;gBAC1C,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAC9B,mDAAmD,CAAC,CAAC;YAC7D,CAAC;YAJe,aAAQ,WAIvB,CAAA;YAED,SAAgB,UAAU;gBACtB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,cAAO,CAAC,CAAC,CAAC;YACvE,CAAC;YAFe,eAAU,aAEzB,CAAA;YAED,SAAgB,MAAM;gBAClB,QAAQ,CAAC,IAAI,GAAG,mBAAmB,CAAC;YACxC,CAAC;YAFe,WAAM,SAErB,CAAA;YAED,SAAgB,IAAI;gBAChB,MAAA,YAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAChD,CAAC;YAFe,SAAI,OAEnB,CAAA;YAED,SAAgB,IAAI;gBAChB,MAAA,YAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAChD,CAAC;YAFe,SAAI,OAEnB,CAAA;YAED,SAAgB,MAAM;gBAClB,MAAA,YAAY,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YAClD,CAAC;YAFe,WAAM,SAErB,CAAA;YAED,SAAgB,sBAAsB,CAAC,CAAC;gBACpC,IAAM,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;gBAEpD,IAAI,WAAW,EAAE;oBACb,IAAM,QAAM,GAAW,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACpD,IAAM,aAAa,GACf,CAAC,QAAM,KAAK,MAAA,SAAS,CAAC,SAAS,CAAC,OAAO;2BACpC,QAAM,KAAK,MAAA,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBAEjD,IAAI,aAAa,EAAE;wBACf,IAAI,UAAU,CAAC,QAAM,CAAC,EAAE;4BACpB,MAAA,YAAY,CAAC,YAAY,CAAC,CAAC;yBAC9B;6BAAM;4BACH,MAAA,aAAa,CAAC,YAAY,CAAC,CAAC;yBAC/B;wBAED,IAAI,YAAY,CAAC,QAAM,CAAC,EAAE;4BACtB,MAAA,YAAY,CAAC,cAAc,CAAC,CAAC;yBAChC;6BAAM;4BACH,MAAA,aAAa,CAAC,cAAc,CAAC,CAAC;yBACjC;qBACJ;iBACJ;YAEL,CAAC;YAxBe,2BAAsB,yBAwBrC,CAAA;YAED,SAAS,UAAU,CAAC,MAAc;gBAC9B,OAAO,MAAA,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;YAED,SAAS,YAAY,CAAC,MAAc;gBAChC,OAAO,MAAA,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,QAAQ,GAAG,KAAK,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;YAExG,SAAgB,cAAc,CAAC,MAAW;gBACtC,OAAO,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YAFe,mBAAc,iBAE7B,CAAA;QACL,CAAC,EApEmB,IAAI,GAAJ,QAAI,KAAJ,QAAI,QAoEvB;IAAD,CAAC,EApEe,GAAG,GAAH,SAAG,KAAH,SAAG,QAoElB;AAAD,CAAC,EApES,KAAK,KAAL,KAAK,QAoEd;ACpED,IAAU,KAAK,CAiCd;AAjCD,WAAU,KAAK;IAAC,IAAA,GAAG,CAiClB;IAjCe,WAAA,GAAG;QAAC,IAAA,MAAM,CAiCzB;QAjCmB,WAAA,MAAM;YACtB,YAAY,CAAC;YAEb,SAAgB,QAAQ;gBACpB,IAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEpC,IAAI,MAAM,CAAC,OAAO,EAAE;oBAChB,IAAM,IAAI,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC1C,IAAM,cAAc,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAEnE,IAAI,YAAY,GAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;oBACnE,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAE1C,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;oBAC7D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;oBAEpB,MAAA,WAAW,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;iBACpE;YACL,CAAC;YAhBe,eAAQ,WAgBvB,CAAA;YAED,SAAgB,iBAAiB;gBAC7B,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;gBAE1F,IAAI,YAAY,EAAE;oBACd,IAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAElD,IAAM,KAAK,GAAQ,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC5C,IAAI,KAAK,IAAI,IAAI,EAAE;wBACf,MAAA,WAAW,CAAC,mCAAiC,KAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;qBACpE;iBACJ;YACL,CAAC;YAXe,wBAAiB,oBAWhC,CAAA;QACL,CAAC,EAjCmB,MAAM,GAAN,UAAM,KAAN,UAAM,QAiCzB;IAAD,CAAC,EAjCe,GAAG,GAAH,SAAG,KAAH,SAAG,QAiClB;AAAD,CAAC,EAjCS,KAAK,KAAL,KAAK,QAiCd;ACjCD,IAAU,KAAK,CAgCd;AAhCD,WAAU,KAAK;IAAC,IAAA,GAAG,CAgClB;IAhCe,WAAA,GAAG;QACf,YAAY,CAAC;QAEb,IAAI,QAAQ,GAAa,IAAI,MAAA,QAAQ,EAAE,CAAC;QAExC,SAAgB,oBAAoB,CAAC,OAAO,EAAE,KAAK;YAC/C,OAAO,MAAA,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QAFe,wBAAoB,uBAEnC,CAAA;QAED,SAAgB,sBAAsB,CAAC,WAAW,EAAE,QAAQ;YACxD,OAAO,MAAA,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAClF,CAAC;QAFe,0BAAsB,yBAErC,CAAA;QAED,SAAgB,sBAAsB,CAAC,WAAW,EAAE,QAAQ;YACxD,OAAO,MAAA,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QAFe,0BAAsB,yBAErC,CAAA;QAED,SAAgB,UAAU,CAAC,CAAC;YAExB,IAAI,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAErC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,CAAC;QANe,cAAU,aAMzB,CAAA;QAED,SAAgB,cAAc,CAAC,CAAC;YAE5B,IAAI,QAAQ,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAErC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,CAAC;QANe,kBAAc,iBAM7B,CAAA;IACL,CAAC,EAhCe,GAAG,GAAH,SAAG,KAAH,SAAG,QAgClB;AAAD,CAAC,EAhCS,KAAK,KAAL,KAAK,QAgCd;AChCD,IAAU,KAAK,CAyHd;AAzHD,WAAU,KAAK;IAAC,IAAA,GAAG,CAyHlB;IAzHe,WAAA,GAAG;QACf,YAAY,CAAC;QAEb,SAAgB,WAAW;YACvB,QAAQ,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAC1C,CAAC;QAFe,eAAW,cAE1B,CAAA;QAID,SAAgB,gBAAgB;YAC5B,IAAI,KAAK,GAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,QAAQ,GAAG,kBAAkB,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAC1D,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;aAC5B;iBACI;gBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,yCAAyC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;aACpF;QACL,CAAC;QATe,oBAAgB,mBAS/B,CAAA;QAED,SAAgB,kBAAkB;YAC9B,IAAI,KAAK,GAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,QAAQ,GAAG,oBAAoB,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAC5D,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;aAC5B;iBACI;gBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,yCAAyC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;aACpF;QACL,CAAC;QATe,sBAAkB,qBASjC,CAAA;QAED,SAAgB,MAAM;YAClB,IAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEpC,IAAI,YAAY,GAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACnE,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE1C,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,IAAM,OAAO,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAM,cAAc,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACnE,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBAChE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;gBACvB,MAAA,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;aACpE;QACL,CAAC;QAde,UAAM,SAcrB,CAAA;QAED,SAAgB,SAAS;YACrB,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;YAE1F,IAAI,YAAY,EAAE;gBACd,IAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAElD,IAAM,KAAK,GAAQ,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,KAAK,IAAI,IAAI,EAAE;oBACf,MAAA,WAAW,CAAC,sBAAoB,KAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;iBAC1D;aACJ;QACL,CAAC;QAXe,aAAS,YAWxB,CAAA;QAED,SAAgB,IAAI;YAChB,IAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEpC,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,IAAM,IAAI,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1C,IAAM,cAAc,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAEnE,IAAI,YAAY,GAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACnE,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAE1C,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBAC7D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBAEpB,MAAA,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;aAC7D;QACL,CAAC;QAhBe,QAAI,OAgBnB,CAAA;QAED,SAAgB,MAAM;YAClB,IAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEpC,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,IAAM,IAAI,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1C,IAAM,cAAc,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAEnE,IAAI,YAAY,GAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACnE,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAE1C,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBAC7D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBAEpB,MAAA,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;aAChE;QACL,CAAC;QAhBe,UAAM,SAgBrB,CAAA;QAED,SAAgB,2BAA2B,CAAC,CAAM;YAC9C,IAAI,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAW,CAAC;YAClD,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAHe,+BAA2B,8BAG1C,CAAA;QAED,SAAgB,yBAAyB,CAAC,CAAM;YAC5C,IAAI,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QAHe,6BAAyB,4BAGxC,CAAA;QAED,SAAgB,uBAAuB,CAAC,KAAa;YACjD,IAAI,cAAc,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAEjE,CAAC,CAAC,IAAI,CAAC;gBACH,GAAG,EAAE,uCAAqC,KAAO;gBACjD,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,kBAAkB;gBAC/B,OAAO,EAAE,UAAC,IAAI;oBACV,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;gBACD,KAAK,EAAE;oBACH,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,mCAAmC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7E,CAAC;aACJ,CAAC,CAAC;QACP,CAAC;QAde,2BAAuB,0BActC,CAAA;IACL,CAAC,EAzHe,GAAG,GAAH,SAAG,KAAH,SAAG,QAyHlB;AAAD,CAAC,EAzHS,KAAK,KAAL,KAAK,QAyHd;ACzHD,IAAU,KAAK,CAgDd;AAhDD,WAAU,KAAK;IAAC,IAAA,WAAW,CAgD1B;IAhDe,WAAA,WAAW;QAAC,IAAA,WAAW,CAgDtC;QAhD2B,WAAA,WAAW;YACnC,YAAY,CAAC;YAEb,IAAI,aAAqB,CAAC;YAC1B,IAAI,QAAQ,GAAY,KAAK,CAAC;YAE9B,SAAgB,gBAAgB;gBAC5B,OAAO,aAAa,CAAC;YACzB,CAAC;YAFe,4BAAgB,mBAE/B,CAAA;YAED,SAAgB,eAAe;gBAC3B,OAAO,QAAQ,CAAC;YACpB,CAAC;YAFe,2BAAe,kBAE9B,CAAA;YAED,SAAgB,qBAAqB,CAAC,CAAM;gBACxC,IAAI,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC;gBAErD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3B,QAAQ,GAAG,IAAI,CAAC;oBAChB,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBAC9C,KAAK,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;oBAC1C,KAAK,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;iBAC5C;YACL,CAAC;YATe,iCAAqB,wBASpC,CAAA;YAED,SAAgB,mBAAmB,CAAC,CAAM;gBACtC,IAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC;gBAC7B,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,gBAAgB,EAAE,CAAC;YAC9C,CAAC;YAHe,+BAAmB,sBAGlC,CAAA;YAED,SAAgB,kBAAkB,CAAC,CAAM;gBACrC,IAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC;gBAC7B,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,gBAAgB,EAAE,CAAC;YAC9C,CAAC;YAHe,8BAAkB,qBAGjC,CAAA;YAED,IAAI,QAAQ,GAAa,IAAI,MAAA,QAAQ,EAAE,CAAC;YAExC,SAAgB,oBAAoB,CAAC,OAAO,EAAE,KAAK;gBAC/C,OAAO,MAAA,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;YAFe,gCAAoB,uBAEnC,CAAA;YAED,SAAgB,sBAAsB,CAAC,WAAW,EAAE,QAAQ;gBACxD,OAAO,MAAA,kBAAkB,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACjG,CAAC;YAFe,kCAAsB,yBAErC,CAAA;YAED,SAAgB,sBAAsB,CAAC,WAAW,EAAE,QAAQ;gBACxD,OAAO,MAAA,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACrD,CAAC;YAFe,kCAAsB,yBAErC,CAAA;QACL,CAAC,EAhD2B,WAAW,GAAX,uBAAW,KAAX,uBAAW,QAgDtC;IAAD,CAAC,EAhDe,WAAW,GAAX,iBAAW,KAAX,iBAAW,QAgD1B;AAAD,CAAC,EAhDS,KAAK,KAAL,KAAK,QAgDd;AChDD,IAAU,KAAK,CA6Bd;AA7BD,WAAU,KAAK;IAAC,IAAA,WAAW,CA6B1B;IA7Be,WAAA,WAAW;QACvB,YAAY,CAAC;QAEb,IAAI,QAAQ,GAAa,IAAI,MAAA,QAAQ,EAAE,CAAC;QAExC,SAAgB,oBAAoB,CAAC,OAAO,EAAE,KAAK;YAC/C,OAAO,MAAA,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QAFe,gCAAoB,uBAEnC,CAAA;QAED,SAAgB,gCAAgC,CAAC,WAAW,EAAE,QAAQ;YAClE,OAAO,MAAA,kBAAkB,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpG,CAAC;QAFe,4CAAgC,mCAE/C,CAAA;QAED,SAAgB,sBAAsB,CAAC,WAAW,EAAE,QAAQ;YACxD,OAAO,MAAA,kBAAkB,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjG,CAAC;QAFe,kCAAsB,yBAErC,CAAA;QAED,SAAgB,sBAAsB,CAAC,WAAW,EAAE,QAAQ;YACxD,OAAO,MAAA,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QAFe,kCAAsB,yBAErC,CAAA;QAED,SAAgB,iBAAiB,CAAC,UAAkB;YAChD,OAAO,UAAU,CAAM;gBACnB,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS;oBACxC,OAAO;gBACX,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ;oBACpD,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC3D,CAAC,CAAA;QACL,CAAC;QAPe,6BAAiB,oBAOhC,CAAA;IACL,CAAC,EA7Be,WAAW,GAAX,iBAAW,KAAX,iBAAW,QA6B1B;AAAD,CAAC,EA7BS,KAAK,KAAL,KAAK,QA6Bd;AC7BD,IAAU,KAAK,CAiCd;AAjCD,WAAU,KAAK;IAAC,IAAA,WAAW,CAiC1B;IAjCe,WAAA,WAAW;QAAC,IAAA,IAAI,CAiC/B;QAjC2B,WAAA,IAAI;YAC5B,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAa,IAAI,MAAA,QAAQ,EAAE,CAAC;YAExC,IAAI,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAC7E,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAA;YAEtC,IAAI,2BAA2B,GAAG,KAAK,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAClF,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAA;YAEnC,IAAI,6BAA6B,GAAG,KAAK,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EACpF,CAAC,YAAY,EAAE,YAAY,EAAE,mBAAmB,CAAC,CAAC,CAAA;YAEtD,IAAI,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAChF,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC,CAAA;YAGnE,SAAgB,4BAA4B,CAAC,MAAW;gBACpD,OAAO,KAAK,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;YAChE,CAAC;YAFe,iCAA4B,+BAE3C,CAAA;YAED,SAAgB,iCAAiC,CAAC,MAAW;gBACzD,OAAO,KAAK,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;YACrE,CAAC;YAFe,sCAAiC,oCAEhD,CAAA;YAED,SAAgB,mCAAmC,CAAC,MAAW;gBAC3D,OAAO,KAAK,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;YAFe,wCAAmC,sCAElD,CAAA;YAED,SAAgB,+BAA+B,CAAC,MAAW;gBACvD,OAAO,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC;YAFe,oCAA+B,kCAE9C,CAAA;QACL,CAAC,EAjC2B,IAAI,GAAJ,gBAAI,KAAJ,gBAAI,QAiC/B;IAAD,CAAC,EAjCe,WAAW,GAAX,iBAAW,KAAX,iBAAW,QAiC1B;AAAD,CAAC,EAjCS,KAAK,KAAL,KAAK,QAiCd;ACjCD,IAAU,KAAK,CA8Fd;AA9FD,WAAU,KAAK;IAAC,IAAA,QAAQ,CA8FvB;IA9Fe,WAAA,QAAQ;QAAC,IAAA,IAAI,CA8F5B;QA9FwB,WAAA,IAAI;YACzB,YAAY,CAAC;YAEb,SAAgB,MAAM;gBAClB,IAAI,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,cAAO,CAAC,CAAC,CAAC;YAC/E,CAAC;YAFe,WAAM,SAErB,CAAA;YAED,SAAgB,QAAQ,CAAC,WAAe,EAAE,QAAY;gBAClD,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAC9B,wDAAwD,CAAC,CAAC;YAClE,CAAC;YAJe,aAAQ,WAIvB,CAAA;YAED,SAAgB,IAAI;gBAChB,MAAA,YAAY,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;YACzD,CAAC;YAFe,SAAI,OAEnB,CAAA;YAED,SAAgB,IAAI;gBAChB,MAAA,YAAY,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;YACzD,CAAC;YAFe,SAAI,OAEnB,CAAA;YAED,SAAgB,MAAM;gBAClB,MAAA,YAAY,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;YAC3D,CAAC;YAFe,WAAM,SAErB,CAAA;YAED,SAAgB,cAAc,CAAC,CAAM;gBACjC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE;oBACtB,OAAO;iBACV;gBAED,2BAA2B,CAAC,CAAC,CAAC,CAAC;gBAC/B,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;YAPe,mBAAc,iBAO7B,CAAA;YAED,SAAS,2BAA2B,CAAC,CAAC;gBAClC,IAAI,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,cAAc,CAAC;gBAEjE,IAAI,oBAAoB,EAAE;oBACtB,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;wBACrB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;qBACpD;iBACJ;YACL,CAAC;YAED,SAAS,uBAAuB,CAAC,CAAC;gBAC9B,IAAI,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;gBAEvD,IAAI,gBAAgB,EAAE;oBAClB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;wBAC9B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;qBACpD;yBAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;wBACjC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;qBACnD;yBAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;wBACpC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;qBAChD;iBACJ;YACL,CAAC;YAED,SAAgB,sBAAsB,CAAC,CAAC;gBACpC,IAAM,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;gBAEpD,IAAI,WAAW,EAAE;oBACb,IAAM,QAAM,GAAW,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACpD,IAAM,aAAa,GACf,CAAC,QAAM,KAAK,MAAA,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBAErD,IAAI,aAAa,EAAE;wBACf,IAAI,SAAA,UAAU,CAAC,QAAM,CAAC,EAAE;4BACpB,MAAA,YAAY,CAAC,YAAY,CAAC,CAAC;yBAC9B;6BAAM;4BACH,MAAA,aAAa,CAAC,YAAY,CAAC,CAAC;yBAC/B;wBAED,IAAI,SAAA,YAAY,CAAC,QAAM,CAAC,EAAE;4BACtB,MAAA,YAAY,CAAC,cAAc,CAAC,CAAC;yBAChC;6BAAM;4BACH,MAAA,aAAa,CAAC,cAAc,CAAC,CAAC;yBACjC;wBAED,IAAI,SAAA,YAAY,CAAC,QAAM,CAAC,EAAE;4BACtB,MAAA,YAAY,CAAC,uBAAuB,CAAC,CAAC;yBACzC;6BAAM;4BACH,MAAA,aAAa,CAAC,uBAAuB,CAAC,CAAC;yBAC1C;qBACJ;iBACJ;YACL,CAAC;YA5Be,2BAAsB,yBA4BrC,CAAA;YAED,IAAI,QAAQ,GAAG,KAAK,CAAC,4BAA4B,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;YAE7G,SAAgB,cAAc,CAAC,MAAW;gBACtC,OAAO,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YAClD,CAAC;YAFe,mBAAc,iBAE7B,CAAA;QAEL,CAAC,EA9FwB,IAAI,GAAJ,aAAI,KAAJ,aAAI,QA8F5B;IAAD,CAAC,EA9Fe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QA8FvB;AAAD,CAAC,EA9FS,KAAK,KAAL,KAAK,QA8Fd;AC9FD,IAAU,KAAK,CAyHd;AAzHD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAyHvB;IAzHe,WAAA,QAAQ;QAAC,IAAA,MAAM,CAyH9B;QAzHwB,WAAA,MAAM;YAC3B,YAAY,CAAC;YAEb,SAAgB,cAAc;gBAC1B,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAM,MAAM,GAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAExC,IAAI,MAAM,CAAC,OAAO,EAAE;oBAChB,IAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;oBAChD,MAAA,WAAW,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;iBACvE;YACL,CAAC;YARe,qBAAc,iBAQ7B,CAAA;YAED,SAAgB,WAAW;gBACvB,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC7B,CAAC;YAFe,kBAAW,cAE1B,CAAA;YAED,SAAgB,WAAW;gBACvB,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC7B,CAAC;YAFe,kBAAW,cAE1B,CAAA;YAED,SAAgB,gBAAgB;gBAC5B,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAM,KAAK,GAAQ,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAEpD,IAAM,yBAAyB,GAAG;oBAC9B,MAAA,UAAU,CAAC,wBAAwB,CAAC,CAAC;oBACrC,MAAA,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC,CAAC;gBAEF,MAAA,WAAW,CAAC,0CAAwC,KAAO,EAAE,EAAE,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC;YACvG,CAAC;YAVe,uBAAgB,mBAU/B,CAAA;YAED,SAAgB,aAAa;gBACzB,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAM,KAAK,GAAQ,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAEpD,MAAA,WAAW,CAAC,oCAAkC,KAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACtE,CAAC;YALe,oBAAa,gBAK5B,CAAA;YAED,SAAgB,cAAc;gBAC1B,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAM,KAAK,GAAQ,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAEpD,MAAA,WAAW,CAAC,qCAAmC,KAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;YALe,qBAAc,iBAK7B,CAAA;YAED,SAAgB,OAAO;gBACnB,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAM,MAAM,GAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAExC,IAAI,MAAM,CAAC,OAAO,EAAE;oBAChB,IAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;oBAChD,MAAA,WAAW,CAAC,0BAA0B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;iBAC3E;YACL,CAAC;YARe,cAAO,UAQtB,CAAA;YAED,SAAgB,QAAQ;gBACpB,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAM,KAAK,GAAQ,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAEpD,MAAA,WAAW,CAAC,+BAA6B,KAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;YALe,eAAQ,WAKvB,CAAA;YAED,SAAgB,WAAW;gBACvB,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChE,IAAM,KAAK,GAAQ,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAEpD,MAAA,WAAW,CAAC,kCAAgC,KAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;YALe,kBAAW,cAK1B,CAAA;YAED,SAAgB,2BAA2B;gBACvC,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;gBAE1F,IAAI,YAAY,EAAE;oBACd,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAEhE,IAAM,KAAK,GAAQ,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBACpD,IAAI,KAAK,IAAI,IAAI,EAAE;wBACf,MAAA,WAAW,CAAC,wCAAsC,KAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;qBACzE;iBACJ;YACL,CAAC;YAXe,kCAA2B,8BAW1C,CAAA;YAED,SAAS,qBAAqB,CAAC,QAA8B;gBACzD,IAAM,YAAY,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3D,IAAM,YAAY,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC3D,IAAM,cAAc,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE/D,IAAM,OAAO,GAAQ,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACjD,IAAM,YAAY,GAAQ,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAM,YAAY,GAAQ,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAM,cAAc,GAAQ,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE9D,IAAM,qBAAqB,GAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACvF,IAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAE9D,IAAM,YAAY,GAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACrE,IAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAE5C,OAAO,CAAC,cAAc,GAAG,eAAe,CAAC;gBACzC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;gBAEvB,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;gBACrD,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;gBAEjD,OAAO,CAAC,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC;gBACrD,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC;gBACzD,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC;gBAC7D,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;gBAE7C,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;gBAC/C,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;gBACnD,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;gBACnD,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;gBACnD,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;gBACnD,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;gBAErD,OAAO,OAAO,CAAC;YACnB,CAAC;QAEL,CAAC,EAzHwB,MAAM,GAAN,eAAM,KAAN,eAAM,QAyH9B;IAAD,CAAC,EAzHe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAyHvB;AAAD,CAAC,EAzHS,KAAK,KAAL,KAAK,QAyHd;ACzHD,IAAU,KAAK,CAgCd;AAhCD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAgCvB;IAhCe,WAAA,QAAQ;QACpB,aAAa,CAAC;QAEd,IAAI,QAAQ,GAAa,IAAI,MAAA,QAAQ,EAAE,CAAC;QAExC,SAAgB,oBAAoB,CAAC,OAAO,EAAE,KAAK;YAC/C,OAAO,MAAA,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QAFe,6BAAoB,uBAEnC,CAAA;QAED,SAAgB,sBAAsB,CAAC,WAAW,EAAE,QAAQ;YACxD,OAAO,MAAA,kBAAkB,CAAC,iCAAiC,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAClG,CAAC;QAFe,+BAAsB,yBAErC,CAAA;QAED,SAAgB,sBAAsB,CAAC,WAAW,EAAE,QAAQ;YACxD,OAAO,MAAA,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QAFe,+BAAsB,yBAErC,CAAA;QAED,SAAgB,kBAAkB,CAAC,CAAC;YAEhC,IAAI,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACzD,IAAI,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAErD,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACzC,CAAC;QANe,2BAAkB,qBAMjC,CAAA;QAED,SAAgB,sBAAsB,CAAC,CAAC;YAEpC,IAAI,QAAQ,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAErD,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACzC,CAAC;QANe,+BAAsB,yBAMrC,CAAA;IACL,CAAC,EAhCe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAgCvB;AAAD,CAAC,EAhCS,KAAK,KAAL,KAAK,QAgCd;AChCD,IAAU,KAAK,CAoLd;AApLD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAoLvB;IApLe,WAAA,QAAQ;QACpB,YAAY,CAAC;QAGb,SAAgB,2BAA2B;YACvC,QAAQ,CAAC,IAAI,GAAG,0BAA0B,CAAC;QAC/C,CAAC;QAFe,oCAA2B,8BAE1C,CAAA;QAED,SAAgB,kBAAkB;YAC9B,IAAI,KAAK,GAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACpF,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,QAAQ,GAAG,mDAAmD,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAC3F,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;aAC5B;iBACI;gBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,wCAAwC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;aACnF;QACL,CAAC;QATe,2BAAkB,qBASjC,CAAA;QAED,SAAgB,gBAAgB;YAC5B,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;YAE1F,IAAI,YAAY,EAAE;gBACd,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEhE,IAAM,KAAK,GAAQ,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACpD,IAAI,KAAK,IAAI,IAAI,EAAE;oBACf,MAAA,WAAW,CAAC,2BAAyB,KAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;iBAC/D;aACJ;QACL,CAAC;QAXe,yBAAgB,mBAW/B,CAAA;QAED,SAAgB,cAAc;YAC1B,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChE,IAAM,YAAY,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAEvD,IAAI,qBAAqB,GAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACrF,IAAI,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAG5D,IAAM,OAAO,GAAQ,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,IAAM,YAAY,GAAQ,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAM,MAAM,GAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAExC,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,OAAO,CAAC,cAAc,GAAG,eAAe,CAAC;gBACzC,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;gBACrD,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;gBAEjD,MAAA,WAAW,CAAC,wBAAsB,aAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;aACtF;QAEL,CAAC;QArBe,uBAAc,iBAqB7B,CAAA;QAED,SAAgB,gBAAgB;YAE5B,IAAI,qBAAqB,GAAQ,CAAC,CAAC,uBAAuB,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACrF,IAAI,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE5D,IAAM,QAAQ,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChE,IAAM,YAAY,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE3D,IAAM,OAAO,GAAQ,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,IAAM,YAAY,GAAQ,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAM,MAAM,GAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAExC,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,OAAO,CAAC,cAAc,GAAG,eAAe,CAAC;gBACzC,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC;gBACrD,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;gBAEjD,MAAA,WAAW,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;aACxE;QACL,CAAC;QAnBe,yBAAgB,mBAmB/B,CAAA;QAED,SAAgB,kCAAkC,CAAC,CAAM;YACrD,IAAI,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;YAChE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QAHe,2CAAkC,qCAGjD,CAAA;QAED,SAAgB,yBAAyB,CAAC,CAAM;YAC5C,IAAI,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QAHe,kCAAyB,4BAGxC,CAAA;QAED,SAAgB,gBAAgB;YAC5B,IAAI,KAAK,GAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACxF,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,QAAQ,GAAG,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAC/D,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;aAC5B;iBACI;gBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,yCAAyC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;aACpF;QACL,CAAC;QATe,yBAAgB,mBAS/B,CAAA;QAED,SAAgB,kBAAkB;YAC9B,IAAI,KAAK,GAAQ,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACxF,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,IAAI,QAAQ,GAAG,yBAAyB,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;gBACjE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;aAC5B;iBACI;gBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,yCAAyC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;aACpF;QACL,CAAC;QATe,2BAAkB,qBASjC,CAAA;QAED,SAAgB,cAAc;YAC1B,IAAI,IAAI,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE1D,KAAK,CAAC,UAAU,CACZ,yBAAyB,EACzB,cAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAC9C,cAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAC,CACzC,CAAC;QACN,CAAC;QARe,uBAAc,iBAQ7B,CAAA;QAED,SAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,QAAQ,EAAE;gBAChB,IAAI,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACjD,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;aACxC;QACL,CAAC;QANe,yBAAgB,mBAM/B,CAAA;QAED,SAAgB,YAAY,CAAC,CAAC;YAC1B,IAAI,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YACxD,MAAA,WAAW,CAAC,mCAAiC,aAAe,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/E,CAAC;QAHe,qBAAY,eAG3B,CAAA;QAED,SAAgB,WAAW,CAAC,WAAW,EAAE,QAAQ;YAC7C,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC,IAAI,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,OAAO,GAAG,wDAAwD,CAAC;YAEvE,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,eAAe,EAAE;gBACzC,OAAO,GAAG,4DAA4D,CAAC;aAC1E;iBAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE;gBAC5C,OAAO,GAAG,wDAAwD,CAAC;aACtE;YAAA,CAAC;YAEF,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAC9B,OAAO,CAAC,CAAC;QACjB,CAAC;QAfe,oBAAW,cAe1B,CAAA;QAED,SAAgB,UAAU,CAAC,MAAc;YACrC,OAAO,MAAA,SAAS,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,CAAC;QAFe,mBAAU,aAEzB,CAAA;QAED,SAAgB,YAAY,CAAC,MAAc;YACvC,OAAO,MAAA,SAAS,CAAC,6BAA6B,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,CAAC;QAFe,qBAAY,eAE3B,CAAA;QAED,SAAgB,WAAW,CAAC,WAAW,EAAE,QAAQ;YAE7C,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC3B,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACnC;YACD,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CAAC;QAEhE,CAAC;QAPe,oBAAW,cAO1B,CAAA;QAED,SAAgB,qBAAqB,CAAC,CAAM;YACxC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE;gBACtB,OAAO;aACV;YAED,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QANe,8BAAqB,wBAMpC,CAAA;QAED,SAAS,gBAAgB,CAAC,CAAM;YAC5B,IAAI,aAAa,GAAW,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAW,CAAC;YAE1E,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,KAAK,aAAa,EAAE;gBACxC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;aACpD;QACL,CAAC;IACL,CAAC,EApLe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAoLvB;AAAD,CAAC,EApLS,KAAK,KAAL,KAAK,QAoLd","file":"compiled.js","sourcesContent":["namespace Areas {\r\n \"use strict\";\r\n\r\n export enum ContentType { Json, Form }\r\n\r\n export function sendRequest(url: string, data: string, method: string,\r\n callback: (any) => void = null, contentType: ContentType = ContentType.Json) : JQueryXHR {\r\n\r\n const errorMessage = \"Error in request - Contact IS department\";\r\n\r\n let content = \"application/json\";\r\n if (contentType === ContentType.Form) {\r\n content = \"application/x-www-form-urlencoded; charset=utf-8\";\r\n }\r\n const defaultTimeOut = 4000;\r\n const redirectTimeOut = 2000;\r\n\r\n const toastrOptions = { timeOut: defaultTimeOut, positionClass: \"toast-bottom-full-width\", showMethod: \"show\" };\r\n\r\n toastr.info(\"Processing...\", \"\", toastrOptions);\r\n\r\n return $.ajax({\r\n url: url,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n method: method,\r\n contentType: content,\r\n data: data,\r\n success: (response: any) => {\r\n \r\n if (method === \"DELETE\") {\r\n toastr.warning(response.msg, \"\", toastrOptions);\r\n } else {\r\n toastr.success(response.msg, \"\", toastrOptions);\r\n }\r\n\r\n if (callback) {\r\n callback(response.data);\r\n }\r\n\r\n if (response.url) {\r\n setTimeout(() => { window.location.href = response.url; }, redirectTimeOut);\r\n }\r\n \r\n },\r\n error: (response) => {\r\n if (response.responseText) {\r\n toastr.error(response.responseText, \"Error\", toastrOptions);\r\n } else {\r\n toastr.error(errorMessage, \"Error\", toastrOptions);\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export function showButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"visible\", true);\r\n }\r\n }\r\n\r\n export function hideButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"visible\", false);\r\n }\r\n }\r\n\r\n export function enableButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"disabled\", false);\r\n }\r\n }\r\n\r\n export function disableButton(id: string) {\r\n const button: DevExpress.ui.dxButton = $(`#${id}`).dxButton(\"instance\");\r\n\r\n if (button) {\r\n button.option(\"disabled\", true);\r\n }\r\n }\r\n\r\n}","namespace Areas.Constants {\r\n \"use strict\";\r\n\r\n export class ProjectInfoStatus {\r\n public static readonly approved = \"Approved\";\r\n public static readonly deleted = \"DELETED\";\r\n public static readonly completed = \"Completed\";\r\n public static readonly draft = \"Draft\";\r\n public static readonly inProcess = \"InProcess\";\r\n public static readonly submitted = \"Submitted\";\r\n }\r\n\r\n\r\n export const projectInfoEditableStatuses: string[] = [ProjectInfoStatus.draft];\r\n export const projectInfoReviewableStatuses: string[] = [ProjectInfoStatus.draft, ProjectInfoStatus.inProcess,\r\n ProjectInfoStatus.submitted, ProjectInfoStatus.approved, ProjectInfoStatus.completed];\r\n\r\n export class EicStatus {\r\n public static readonly deleted = \"DELETED\";\r\n public static readonly completed = \"Completed\";\r\n public static readonly draft = \"Draft\";\r\n public static readonly inProcess = \"InProcess\";\r\n public static readonly submitted = \"Submitted\";\r\n }\r\n\r\n export const eicEditableStatuses: string[] = [EicStatus.draft];\r\n export const eicReviewableStatuses: string[] = [EicStatus.draft, EicStatus.inProcess, EicStatus.submitted];\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export enum DialogResult { Ok, Cancel } \r\n\r\n export abstract class BaseDialog {\r\n readonly cancelButtonId: string = \"CancelDialog\";\r\n readonly okButtonId: string = \"OkDialog\";\r\n \r\n readonly url: string;\r\n readonly popupId: string;\r\n\r\n protected rootElementId: string;\r\n protected dialogName: string;\r\n protected popup: DevExpress.ui.dxPopup;\r\n protected parameters: any;\r\n\r\n protected closeHandler: (dialogResult: DialogResult, data: any) => void;\r\n protected extraInitialization: () => void;\r\n \r\n constructor(dialogName: string, closeHandler: (dialogResult: DialogResult, data: any) => void, \r\n parameters: any = null, extraInitialization: ()=> void = null, rootElementId: string = \"dialog\") {\r\n this.rootElementId = rootElementId;\r\n this.dialogName = dialogName;\r\n this.closeHandler = closeHandler;\r\n this.extraInitialization = extraInitialization;\r\n this.url = `/Dialog/${this.dialogName}/Index`;\r\n this.popupId = `#${this.dialogName}Popup`;\r\n this.parameters = parameters;\r\n\r\n this.initialize();\r\n }\r\n\r\n private initialize() {\r\n $(`#${this.rootElementId}`).load(this.url, (response, status) => {\r\n \r\n $(`#${this.rootElementId}`).html(response);\r\n \r\n this.popup = $(this.popupId).dxPopup(\"instance\");\r\n\r\n this.popup.show();\r\n\r\n var cancelButton = $(`#${this.dialogName}${this.cancelButtonId}`).dxButton(\"instance\");\r\n if (cancelButton) {\r\n cancelButton.on({click: this.cancel});\r\n }\r\n\r\n var okButton = $(`#${this.dialogName}${this.okButtonId}`).dxButton(\"instance\");\r\n if (okButton) {\r\n okButton.on({click: this.ok});\r\n }\r\n \r\n if (this.extraInitialization) {\r\n this.extraInitialization();\r\n }\r\n }); \r\n }\r\n\r\n protected cancel = (e: any) => {\r\n this.close(DialogResult.Cancel, null);\r\n } \r\n\r\n protected abstract ok = (e: any): void => {};\r\n\r\n public close(dialogResult: DialogResult, data: any) {\r\n this.popup.hide();\r\n this.closeHandler(dialogResult, data);\r\n this.clear(); \r\n }\r\n\r\n private clear() {\r\n $(`#${this.rootElementId}`).empty();\r\n } \r\n } \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export class FormCrudOperations {\r\n\r\n form: DevExpress.ui.dxForm;\r\n area: string;\r\n getMoreData: (any) => void;\r\n\r\n constructor(area: string, getMoreData?: (any) => void) {\r\n const formId = `#${area}Form`;\r\n this.form = $(formId).dxForm(\"instance\");\r\n this.area = area;\r\n\r\n if (getMoreData) {\r\n this.getMoreData = getMoreData;\r\n }\r\n }\r\n\r\n insertRecord() {\r\n const newData: any = this.form.option(\"formData\");\r\n\r\n if (this.getMoreData) {\r\n this.getMoreData(newData);\r\n }\r\n\r\n const result: any = this.form.validate();\r\n\r\n if (result.isValid) {\r\n sendRequest(`/${this.area}/Create/Post`, JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n updateRecord() {\r\n const newData: any = this.form.option(\"formData\");\r\n\r\n if (this.getMoreData) {\r\n this.getMoreData(newData);\r\n }\r\n\r\n const result: any = this.form.validate();\r\n const keyId: any = this.form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/${this.area}/Edit/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n deleteRecord() {\r\n const verifyVoid = window.confirm(\"Are you sure you would like to VOID this record?\");\r\n\r\n if (verifyVoid) {\r\n const keyId: any = this.form.option(\"KeyId\");\r\n if (keyId != null) {\r\n sendRequest(`/${this.area}/Edit/Delete/${keyId}`, \"\", \"DELETE\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export function lookupActiveTemplate(getItemText: (any) => string) {\r\n return (itemData: any, itemIndex: any, itemElement: any) => {\r\n\r\n const text = getItemText(itemData);\r\n\r\n if (itemData.isActive) {\r\n itemElement.append(\"
\" + text + \"
\");\r\n } else {\r\n itemElement.append(\"
\" + text + \"\" +\r\n \" - Disabled
\").closest(\".dx-list-item\").css(\"pointer-events\", \"none\");\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\n \r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n declare var settings: any;\r\n const saveUrl = \"/Requests/Save\";\r\n const reportUrl = \"/Home/Index/\";\r\n const mergeExport = \"/DocumentExport/\";\r\n const merge = \"/Merge/Document/\";\r\n const mergeSection = \"/Merge/Section/\";\r\n\r\n //example of a button that fires reportFromForm OnClick\r\n //export function reportFromForm() {\r\n // var form = $('#ProjectInfoUpdateForm').dxForm('instance');\r\n\r\n // Areas.gotoReport(\r\n // \"ProjectInitiationReport\",\r\n // () => { return form.option(\"ProjectInfoId\"); },\r\n // () => { return form.option(\"UserId\") }\r\n // );\r\n //}\r\n \r\n export function gotoReport(reportName: string, getParameters: () => any, getUserId: () => any) {\r\n var parameters = getParameters();\r\n var userId = getUserId();\r\n\r\n if (isNotEmpty(parameters) && isNotEmpty(userId)) {\r\n\r\n var data = JSON.stringify(\r\n {\r\n \"ReportName\": reportName,\r\n \"Parameters\": parameters,\r\n \"UserId\": userId\r\n });\r\n\r\n requestReport(data);\r\n }\r\n }\r\n\r\n function requestReport(data: string) {\r\n const errorMessage = \"Error in request - Contact IS department\";\r\n\r\n const method = \"POST\";\r\n var content: string = \"application/x-www-form-urlencoded; charset=utf-8\";\r\n\r\n var saveReportUrl = settings.reportServer + saveUrl;\r\n\r\n $.ajax({\r\n url: saveReportUrl,\r\n method: method,\r\n contentType: content,\r\n crossDomain: true,\r\n data: data,\r\n success: (response) => {\r\n if (response.errormsg) {\r\n DevExpress.ui.notify(response.errormsg, \"error\", 2000);\r\n } else {\r\n let messageType: string = \"success\";\r\n\r\n DevExpress.ui.notify(response.msg, messageType, 2000);\r\n openReport(response.id);\r\n }\r\n },\r\n error: () => {\r\n DevExpress.ui.notify(errorMessage, \"error\", 2000);\r\n }\r\n });\r\n }\r\n\r\n function openReport(id: any) {\r\n const url = settings.reportServer + reportUrl + id;\r\n window.open(url);\r\n }\r\n\r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export class Tab {\r\n id: number;\r\n url: string;\r\n\r\n constructor(id: number, url: string) {\r\n this.id = id;\r\n this.url = url;\r\n }\r\n }\r\n export function createTabsWithSameActionAndDifferentAreas(action: string, controllersWithArea: string[]): Array {\r\n return controllersWithArea.map((value, index) => new Tab(index, `/${value}/${action}`));\r\n }\r\n\r\n\r\n export function createTabsWithSameAction(area: string, action: string, controllers: string[]): Array {\r\n return controllers.map((value, index) => new Tab(index, `/${area}/${value}/${action}`));\r\n }\r\n\r\n export function createTabsWithSameController(area: string, actions: string[], controller: string): Array {\r\n return actions.map((value, index) => new Tab(index, `/${area}/${controller}/${value}`));\r\n }\r\n\r\n export function tabInitialized(tabItems: Tab[]) {\r\n return tabInitializedBase(tabItems, i => new Tab(i.id, i.url));\r\n } \r\n\r\n export function tabItemClick(params: any) {\r\n window.location.href = params.itemData.url;\r\n } \r\n\r\n export function tabWithIdInitialized(tabItems: Tab[]) {\r\n return tabInitializedBase(tabItems, (i, tabControl) => new Tab(i.id, `${i.url}/${tabControl.option(\"id\")}`));\r\n }\r\n\r\n export function tabWithIdItemClick(params: any) {\r\n const url = params.itemData.url + \"/\" + params.component.option(\"id\");\r\n window.location.href = url;\r\n } \r\n \r\n function tabInitializedBase(tabItems: Tab[], transform: (t: Tab, tabControl: DevExpress.ui.dxTabs) => Tab) {\r\n return (params: any) => {\r\n const tabControl: DevExpress.ui.dxTabs = params.component;\r\n const currentUrl = window.location.pathname;\r\n\r\n matchTabWithExactUrl(tabItems, transform, tabControl, currentUrl);\r\n selectParentTab(tabControl);\r\n }\r\n }\r\n\r\n function selectParentTab(tabControl: DevExpress.ui.dxTabs) {\r\n const parentTabId = tabControl.option(\"parentTabId\");\r\n const parentSelectedIndex = tabControl.option(\"parentSelectedIndex\");\r\n\r\n if (isNotEmpty(parentTabId) && isNotEmpty(parentSelectedIndex)) {\r\n const parentTab: DevExpress.ui.dxTabs = $(`#${parentTabId}`).dxTabs(\"instance\");\r\n\r\n if (parentTab) {\r\n parentTab.option(\"selectedIndex\", parentSelectedIndex);\r\n }\r\n }\r\n }\r\n \r\n function matchTabWithExactUrl(tabItems: Tab[], transform: (t: Tab, tabControl: DevExpress.ui.dxTabs) => Tab,\r\n tabControl:DevExpress.ui.dxTabs, currentUrl: string) {\r\n\r\n const selectedTab = tabItems\r\n .map(i => transform(i, tabControl))\r\n .filter((element) => currentUrl === element.url);\r\n\r\n if (selectedTab.length === 1) {\r\n tabControl.option(\"selectedIndex\", selectedTab[0].id);\r\n }\r\n } \r\n \r\n}\r\n","namespace Areas {\r\n \"use strict\";\r\n\r\n export class Selected {\r\n user: any;\r\n } \r\n //grid user lookup\r\n export function userValueChanged(selected: Selected) {\r\n return (rowData, value) => {\r\n if (value === undefined || value === null) {\r\n rowData.userId = null;\r\n rowData.userEmail = null;\r\n rowData.userName = null;\r\n return;\r\n }\r\n\r\n if (!selected.user.isActive) {\r\n DevExpress.ui.notify(\"The record cannot be updated. The user you selected has been disabled!\", \"error\", 3000);\r\n return;\r\n }\r\n\r\n rowData.userId = selected.user.userId;\r\n rowData.userEmail = selected.user.email;\r\n rowData.userName = selected.user.displayName;\r\n }\r\n }\r\n\r\n export function lookupEditTemplate(loadUrl: string, selected: Selected) {\r\n return (cellElement, cellInfo) => {\r\n var storeConfiguration = {\r\n \"loadParams\": {},\r\n \"key\": \"userId\",\r\n \"loadUrl\": loadUrl,\r\n \"insertUrl\": \"\",\r\n \"updateUrl\": \"\",\r\n \"deleteUrl\": \"\"\r\n };\r\n\r\n var store = DevExpress.data.AspNet.createStore(storeConfiguration);\r\n\r\n const dataSource = new DevExpress.data.DataSource({\r\n store: store\r\n });\r\n\r\n var div = document.createElement(\"div\");\r\n cellElement.get(0).appendChild(div);\r\n $(div).dxLookup({\r\n dataSource: dataSource,\r\n valueExpr: \"userId\",\r\n displayExpr: \"displayName\",\r\n value: cellInfo.data.userId,\r\n popupWidth: 500,\r\n searchExpr: [\"displayName\", \"email\"],\r\n\r\n\r\n onSelectionChanged(e) {\r\n selected.user = e.selectedItem;\r\n },\r\n\r\n onValueChanged(e) {\r\n cellInfo.setValue(e.value);\r\n }\r\n });\r\n\r\n $(div).dxLookup(\"instance\").option(\"itemTemplate\", customTemplate);\r\n }\r\n }\r\n\r\n export function lookupCellTemplate(cellElement: any, cellInfo: any) {\r\n cellElement.text(cellInfo.data.displayName);\r\n }\r\n\r\n function customTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n if (itemData.isActive) {\r\n itemElement.append(`
${itemData.displayName}${itemData.email}
`);\r\n } else {\r\n itemElement.append(`
${itemData.displayName}${itemData.email} - Disabled
`);\r\n }\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export interface IDictionary {\r\n [index: string]: string;\r\n }\r\n\r\n export function updateQueryStringParameter(uri: any, key: any, value: any) {\r\n const re = new RegExp(`([?&])${key}=.*?(&|$)`, \"i\");\r\n const separator = uri.indexOf(\"?\") !== -1 ? \"&\" : \"?\";\r\n if (uri.match(re)) {\r\n return uri.replace(re, `$1${key}=${value}$2`);\r\n } else {\r\n return uri + separator + key + \"=\" + value;\r\n }\r\n }\r\n\r\n export function removeQueryStringParameter(url: string, parameter: string) {\r\n //prefer to use l.search if you have a location/link object\r\n const urlparts = url.split(\"?\");\r\n if (urlparts.length >= 2) {\r\n\r\n const prefix = encodeURIComponent(parameter) + \"=\";\r\n const pars = urlparts[1].split(/[&;]/g);\r\n\r\n //reverse iteration as may be destructive\r\n for (let i = pars.length; i-- > 0;) {\r\n //idiom for string.startsWith\r\n if (pars[i].lastIndexOf(prefix, 0) !== -1) {\r\n pars.splice(i, 1);\r\n }\r\n }\r\n\r\n url = urlparts[0] + (pars.length > 0 ? `?${pars.join(\"&\")}` : \"\");\r\n return url;\r\n } else {\r\n return url;\r\n }\r\n }\r\n\r\n export function getQueryStringParameter(uri: any, key: any) {\r\n const re = new RegExp(\"([?&])start=(.*?)(&|$)\", \"i\");\r\n if (uri.match(re)) {\r\n return uri.match(re)[2];\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n export function isNotEmpty(variable: any) {\r\n return variable !== undefined && variable != null && variable !== \"\";\r\n }\r\n\r\n export function isEmpty(variable: any) {\r\n return !isNotEmpty(variable);\r\n }\r\n\r\n export function trimTextBoxValue(e: any) {\r\n var textBox = e.component as DevExpress.ui.dxTextBox;\r\n textBox.option(\"value\", $.trim(e.value));\r\n }\r\n\r\n export function partition(items, n) {\r\n var result = _.groupBy(items, function(item, i) {\r\n return Math.floor(i % n);\r\n });\r\n return _.values(result);\r\n }\r\n\r\n export function clone(object: any) {\r\n const json = JSON.stringify(object);\r\n return JSON.parse(json);\r\n } \r\n \r\n export function elementIdExists(elementId: string) : boolean {\r\n return Boolean($(`#${elementId}`).length);\r\n }\r\n\r\n\r\n\r\n export function goToEdit() {\r\n location.href = location.href.replace(\"/View\", \"/Edit\");\r\n } \r\n\r\n export function goToView() {\r\n location.href = location.href.replace(\"/Edit\", \"/View\");\r\n } \r\n\r\n export function reloadPage() {\r\n location.href = location.href;\r\n } \r\n\r\n export function onContentReadySelectFirstRow(e: any) {\r\n e.component.selectRowsByIndexes([0], false);\r\n }\r\n\r\n export function onGridSelectionChanged(e: any) {\r\n const rowSelected = e.selectedRowsData.length === 1;\r\n\r\n if (rowSelected) {\r\n enableButton(\"EditButton\");\r\n } else {\r\n disableButton(\"EditButton\");\r\n }\r\n }\r\n\r\n export function clearSelectBoxSelection(e: any) {\r\n const selectBox = e.component as DevExpress.ui.dxSelectBox;\r\n selectBox.reset();\r\n } \r\n\r\n export function formatDateTime(date: Date): string {\r\n return formatDate(date) + \" \" + formatTime(date);\r\n }\r\n\r\n export function isIE11() {\r\n return !!navigator.userAgent.match(/Trident.*rv\\:11\\./);\r\n }\r\n\r\n function formatDate(date: Date): string {\r\n const month = (\"0\" + (date.getMonth() + 1)).slice(-2);\r\n const year = date.getFullYear();\r\n\r\n const day = (\"0\" + date.getDate()).slice(-2);\r\n\r\n const formattedDate = `${month}/${day}/${year}`;\r\n return formattedDate;\r\n }\r\n\r\n function formatTime(date: Date): string {\r\n let hours = date.getHours();\r\n const ampm = hours >= 12 ? \"PM\" : \"AM\";\r\n hours = hours % 12;\r\n hours = hours ? hours : 12;\r\n const minutes = (\"0\" + date.getMinutes()).slice(-2);\r\n const formattedTime = hours + \":\" + minutes + \" \" + ampm;\r\n return formattedTime;\r\n } \r\n \r\n export function FormatDateForUpload(date: Date) {\r\n\r\n if (date == null) return null;\r\n\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n\r\n return year + \"-\" + month + \"-\" + day;\r\n } \r\n\r\n export function getNextSaturdayDate() {\r\n return getNextSaturdayFromDate(new Date());\r\n }\r\n\r\n export function getNextSaturdayFromDate(date: Date) {\r\n const momentDate = moment(date);\r\n\r\n if (momentDate.isoWeekday() === 7) {\r\n return momentDate.add(6, \"day\");\r\n }\r\n\r\n return momentDate.endOf(\"isoWeek\").subtract(1, \"day\");\r\n }\r\n\r\n export function getPreviousSundayDate() {\r\n return getPreviousSundayFromDate(new Date());\r\n }\r\n\r\n export function getPreviousSundayFromDate(date: Date) {\r\n const momentDate = moment(date);\r\n\r\n if (momentDate.isoWeekday() === 7) {\r\n return momentDate;\r\n }\r\n\r\n return momentDate.startOf(\"isoWeek\").subtract(1, \"day\");\r\n }\r\n\r\n export function getForm(formName: string) : DevExpress.ui.dxForm {\r\n return $(`#${formName}`).dxForm(\"instance\");\r\n }\r\n\r\n export function forceIsValid(e) {\r\n if (e.value === true || e.value === false) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n//TODO Check if needed\r\n // export function addToFavorite(e: any) {\r\n // const dialog = new Areas.Dialogs.CreateFavoriteDialog(() => { }, { favoriteName: e.component.option(\"description\") });\r\n // }\r\n\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n //export function gotoContract(id: string) {\r\n // gotoSelected(\"ContractGrid\", \"/Contract/GeneralInfo/View/\");\r\n //}\r\n\r\n //export function gotoProject(e: any, fieldName: string, objectName: string, isGrid: boolean, isOption: boolean) {\r\n // clearSelectBoxSelection(e);\r\n // let linkInfo = \"/Project/Profile/View/\" + id;\r\n\r\n // if (isGrid == true)\r\n // {\r\n // gotoSelectedOnGrid(objectName,)\r\n // }\r\n\r\n // gotoSelected(\"ContractGrid\", \"/Contract/GeneralInfo/View/\");\r\n //}\r\n\r\n //export function gotoCostCenter(id: string) {\r\n // gotoSelected(\"ContractGrid\", \"/Contract/GeneralInfo/View/\");\r\n //}\r\n\r\n export function goToSharePoint(e: any) {\r\n const id = e.component.option(\"SharePointLink\");\r\n let linkInfo = \"https://sharepoint.capnet.ucla.edu/sites/ActiveProjects/\" + id + \"/default.aspx\";\r\n window.open(linkInfo);\r\n }\r\n\r\n export function goToPIFPAF(e: any) {\r\n const id = e.component.option(\"ProjectId\");\r\n let linkInfo = \"https://projectinitiation.capnet.ucla.edu/Requests/View/Index/\" + id + \"\";\r\n window.open(linkInfo);\r\n }\r\n\r\n export function goToProject(e: any) {\r\n const id = e.component.option(\"AccountId\");\r\n let linkInfo = \"/Account/Profile/View/\" + id;\r\n window.open(linkInfo);\r\n }\r\n\r\n\r\n export function websiteSharePoint(sharePointLink: string) {\r\n var returnLink = \"https://sharepoint.capnet.ucla.edu/sites/ActiveProjects/default.aspx\";\r\n if (isNotEmpty(sharePointLink)) {\r\n returnLink = \"https://sharepoint.capnet.ucla.edu/sites/ActiveProjects/\" +\r\n sharePointLink + \"/Documents/7-%20Construction%20Management\";\r\n }\r\n window.open(returnLink);\r\n }\r\n\r\n\r\n\r\n //export function gotoSelectedOnGrid(gridName: string, url: string, ) {\r\n // const dataGrid = $(`#${gridName}`).dxDataGrid(\"instance\");\r\n // const rows = dataGrid.getSelectedRowKeys();\r\n // if (dataId != null) {\r\n // location.href = url + dataId;\r\n // }\r\n // else {\r\n // DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n // }\r\n //}\r\n\r\n export function gotoSelectedOnForm(formName: string, url: string) {\r\n const dataForm = $(`#${formName}`).dxForm(\"instance\");\r\n const dataId = dataForm.option()[0];\r\n if (dataId != null) {\r\n location.href = url + dataId;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n //export function gotoWebsite(url: string, id: string) {\r\n // var returnLink = \"https://sharepoint.capnet.ucla.edu/sites/ActiveProjects/default.aspx\";\r\n // if (isNotEmpty(sharePointLink)) {\r\n // returnLink = \"https://sharepoint.capnet.ucla.edu/sites/ActiveProjects/\" +\r\n // sharePointLink + \"/Documents/7-%20Construction%20Management\";\r\n // }\r\n // window.open(returnLink);\r\n //}\r\n\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n //contract Lookup\r\n export function contractLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(\r\n `
${itemData.contractNameTypeAmount}
`);\r\n }\r\n\r\n\r\n //contractorContact Lookup (from Account Team)\r\n export function contactLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(\r\n `
${itemData.displayNameCompanyNameRole}
`);\r\n } \r\n\r\n //account Lookup\r\n export function accountLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.projectCCNumberName}
`);\r\n }\r\n\r\n //project Lookup\r\n export function projectLookupItem(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.projectNumberName}
`);\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n const columnChooserButtonName = \"columnChooserButton\";\r\n\r\n export function addColumnChooser(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n ignoreColumnOptionNames(grid);\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: columnChooserButtonName, \"class\": \"dx-datagrid-column-chooser-button\" },\r\n text: \"Columns\",\r\n hint: \"Choose columns to show/hide\",\r\n type: \"normal\",\r\n icon: \"column-chooser\",\r\n onClick: showColumnChooser(grid)\r\n }, \"after\");\r\n\r\n }\r\n\r\n function ignoreColumnOptionNames(grid: DevExpress.ui.dxDataGrid) {\r\n // This is necessary since we are not setting columnChoose: { enabled: True } \r\n // for the grid to show the column chooser button but we are taking over that\r\n // functionality, otherwise state storing will not work properly with the column visibility property.\r\n grid.option(\"stateStoring\", { ignoreColumnOptionNames: [] });\r\n }\r\n \r\n function showColumnChooser(grid: DevExpress.ui.dxDataGrid) {\r\n return (e: any) => {\r\n grid.showColumnChooser();\r\n }\r\n } \r\n \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n const downloadZipButtonName = \"downloadZipButton\";\r\n\r\n export function addDownloadZip(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n grid.on(\"selectionChanged\", toggleDownloadZipButton);\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: downloadZipButtonName },\r\n text: \"Download Zip\",\r\n type: \"normal\",\r\n icon: \"arrowdown\",\r\n disabled: true,\r\n onClick: downloadZip(grid)\r\n }, \"before\"); \r\n } \r\n \r\n export function toggleDownloadZipButton(e: any) {\r\n if (e.selectedRowKeys.length) {\r\n Areas.enableButton(downloadZipButtonName);\r\n } else {\r\n Areas.disableButton(downloadZipButtonName);\r\n }\r\n }\r\n\r\n function downloadZip(dataGrid: DevExpress.ui.dxDataGrid) {\r\n return (e: any) => {\r\n const selectedIds = getSelectedIds(dataGrid);\r\n let url = `/File/Get/AttachmentZip?ids=${selectedIds}`; \r\n \r\n location.href = url; \r\n }\r\n }\r\n \r\n function getSelectedIds(dataGrid: DevExpress.ui.dxDataGrid) : string {\r\n return dataGrid.getSelectedRowsData().map(d => d.attachmentId).join(',');\r\n } \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export class EditBatchButtonConfiguration {\r\n private readonly toolbarOptions: any;\r\n\r\n constructor(toolbarOptions: any) {\r\n this.toolbarOptions = toolbarOptions;\r\n }\r\n\r\n configureBatchEditButtons() {\r\n const saveBtnItem = this.toolbarOptions.items.find(item => item.name === \"saveButton\");\r\n \r\n if (saveBtnItem) {\r\n saveBtnItem.showText = \"always\";\r\n saveBtnItem.options.icon = \"save\";\r\n saveBtnItem.options.type = \"success\";\r\n saveBtnItem.options.text = \"Save\";\r\n }\r\n \r\n const revertBtnItem = this.toolbarOptions.items.find(item => item.name === \"revertButton\");\r\n \r\n if (revertBtnItem) {\r\n revertBtnItem.showText = \"always\";\r\n revertBtnItem.options.icon = \"revert\";\r\n revertBtnItem.options.type = \"default\";\r\n revertBtnItem.options.elementAttr = { class: \"cancel\" };\r\n revertBtnItem.options.text = \"Cancel\"; \r\n }\r\n \r\n const addBtnItem = this.toolbarOptions.items.find(item => item.name === \"addRowButton\");\r\n \r\n if (addBtnItem) {\r\n addBtnItem.showText = \"always\";\r\n addBtnItem.options.icon = \"plus\";\r\n addBtnItem.options.type = \"default\";\r\n addBtnItem.options.elementAttr = { class: \"add\" };\r\n addBtnItem.options.text = \"Add\"; \r\n } \r\n }\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n enum GridMode { Normal, Edit } \r\n\r\n export class EditButtonsBuilder {\r\n private readonly addButtonName = \"addButton_\"+ new DevExpress.data.Guid().toString();\r\n private readonly editButtonName = \"editButton_\"+ new DevExpress.data.Guid().toString();\r\n private readonly deleteButtonName = \"deleteButton_\"+ new DevExpress.data.Guid().toString(); \r\n private readonly saveButtonName = \"saveButton_\"+ new DevExpress.data.Guid().toString(); \r\n private readonly cancelButtonName = \"cancelButton_\"+ new DevExpress.data.Guid().toString(); \r\n\r\n private readonly grid: DevExpress.ui.dxDataGrid;\r\n private readonly toolbarOptions: any;\r\n private gridMode: GridMode = GridMode.Normal;\r\n\r\n constructor(grid: DevExpress.ui.dxDataGrid, toolbarOptions: any) {\r\n this.grid = grid;\r\n this.toolbarOptions = toolbarOptions;\r\n }\r\n\r\n addButtons(buttonOptions: Array) {\r\n \r\n let shouldAddSaveButton: boolean = false;\r\n let trackGridSelection: boolean = false;\r\n \r\n if (_.contains(buttonOptions, \"add\")) {\r\n this.addAddButton();\r\n shouldAddSaveButton = true;\r\n } \r\n \r\n if (_.contains(buttonOptions, \"edit\")) {\r\n this.addEditButton();\r\n shouldAddSaveButton = true;\r\n trackGridSelection = true;\r\n }\r\n \r\n if (_.contains(buttonOptions, \"delete\")) {\r\n this.addDeleteButton();\r\n shouldAddSaveButton = true;\r\n trackGridSelection = true;\r\n } \r\n \r\n if (shouldAddSaveButton) {\r\n this.addSaveButton();\r\n this.addCancelButton();\r\n }\r\n \r\n if (trackGridSelection) {\r\n this.addTrackGridSelection();\r\n }\r\n } \r\n\r\n private addTrackGridSelection() {\r\n this.grid.on(\"selectionChanged\", this.onSelectionChanged());\r\n }\r\n \r\n private onSelectionChanged () {\r\n return (e: any) => {\r\n const enableEditAndDelete = e.selectedRowKeys.length === 1;\r\n \r\n if (enableEditAndDelete) {\r\n Areas.enableButton(this.editButtonName);\r\n Areas.enableButton(this.deleteButtonName); \r\n } else {\r\n Areas.disableButton(this.editButtonName);\r\n Areas.disableButton(this.deleteButtonName); \r\n }\r\n }\r\n }\r\n\r\n private addSaveButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.saveButtonName, class: \"green\" },\r\n text: \"Save\",\r\n hint: \"Save changes\",\r\n icon: \"save\",\r\n visible: false,\r\n onClick: this.saveRow()\r\n });\r\n } \r\n \r\n private addCancelButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.cancelButtonName, class: \"lightgold\" },\r\n text: \"Cancel\",\r\n hint: \"Cancel changes\",\r\n icon: \"revert\",\r\n visible: false,\r\n onClick: this.cancelEdit()\r\n });\r\n } \r\n \r\n private addAddButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.addButtonName, class: \"lightblue\" },\r\n text: \"Add\",\r\n hint: \"Add new record\",\r\n icon: \"plus\",\r\n onClick: this.addRow()\r\n }); \r\n } \r\n \r\n private addEditButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.editButtonName, class: \"lightgreen\" },\r\n text: \"Edit\",\r\n hint: \"Edit selected record\",\r\n icon: \"edit\",\r\n disabled: true,\r\n onClick: this.editRow()\r\n }); \r\n } \r\n \r\n private addDeleteButton() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.deleteButtonName, class: \"red\" },\r\n text: \"Delete\",\r\n hint: \"Delete selected record\",\r\n icon: \"remove\",\r\n disabled: true,\r\n onClick: this.deleteRow()\r\n }); \r\n } \r\n \r\n private editRow() {\r\n return (e: any) => {\r\n const rowKeys = this.grid.getSelectedRowKeys();\r\n \r\n if (rowKeys[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n return;\r\n }\r\n \r\n const rowIndex = this.grid.getRowIndexByKey(rowKeys[0]);\r\n \r\n if (rowIndex > -1) {\r\n this.grid.editRow(rowIndex);\r\n \r\n this.gridMode = GridMode.Edit;\r\n this.setButtonsVisibility();\r\n }\r\n \r\n }\r\n }\r\n \r\n private deleteRow() {\r\n return (e: any) => {\r\n const rowKeys = this.grid.getSelectedRowKeys();\r\n \r\n if (rowKeys[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n return;\r\n }\r\n \r\n const rowIndex = this.grid.getRowIndexByKey(rowKeys[0]);\r\n \r\n if (rowIndex > -1) {\r\n this.grid.deleteRow(rowIndex);\r\n }\r\n }\r\n } \r\n \r\n private saveRow() {\r\n return (e: any) => {\r\n this.grid.saveEditData()\r\n .done(() => {\r\n const unsavedData = this.grid.hasEditData();\r\n if (!unsavedData) {\r\n this.gridMode = GridMode.Normal;\r\n this.setButtonsVisibility();\r\n }\r\n });\r\n }\r\n } \r\n \r\n private addRow() {\r\n return (e: any) => {\r\n this.gridMode = GridMode.Edit;\r\n this.setButtonsVisibility();\r\n this.grid.addRow(); \r\n }\r\n } \r\n \r\n private cancelEdit() {\r\n return (e: any) => {\r\n this.gridMode = GridMode.Normal;\r\n this.setButtonsVisibility();\r\n this.grid.cancelEditData();\r\n }\r\n } \r\n \r\n private setButtonsVisibility() {\r\n if (this.gridMode === GridMode.Normal) {\r\n Areas.showButton(this.addButtonName);\r\n Areas.showButton(this.editButtonName);\r\n Areas.showButton(this.deleteButtonName);\r\n Areas.hideButton(this.saveButtonName);\r\n Areas.hideButton(this.cancelButtonName);\r\n } else {\r\n Areas.hideButton(this.addButtonName);\r\n Areas.hideButton(this.editButtonName);\r\n Areas.hideButton(this.deleteButtonName);\r\n Areas.showButton(this.saveButtonName);\r\n Areas.showButton(this.cancelButtonName); \r\n }\r\n }\r\n\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n const exportButtonName = \"exportButton\";\r\n\r\n export function addExport(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n \r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: exportButtonName, \"class\": \"dx-datagrid-export-button\" },\r\n text: \"Export\",\r\n hint: \"Export all rows to Excel\",\r\n type: \"normal\",\r\n icon: \"export-excel-button\",\r\n onClick: exportData(grid)\r\n }, \"after\");\r\n\r\n grid.on(\"exporting\", onExporting);\r\n \r\n } \r\n \r\n function exportData(grid: DevExpress.ui.dxDataGrid) {\r\n return (e: any) => {\r\n grid.exportToExcel(false);\r\n }\r\n }\r\n\r\n function onExporting (e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n e.fileName = grid.option(\"gridName\");\r\n } \r\n \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export class FilterBuilder {\r\n filterValue: any;\r\n readonly filterButtonName = \"filterButton_\" + new DevExpress.data.Guid().toString();\r\n readonly clearFilterButtonName = \"clearFilterButton_\"+ new DevExpress.data.Guid().toString();\r\n\r\n readonly grid: DevExpress.ui.dxDataGrid;\r\n private readonly toolbarOptions: any;\r\n\r\n constructor(grid: DevExpress.ui.dxDataGrid, toolbarOptions: any) {\r\n this.grid = grid;\r\n this.toolbarOptions = toolbarOptions;\r\n }\r\n\r\n addButtons() {\r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.filterButtonName },\r\n text: \"Advanced Filter\",\r\n hint: \"Create an advanced filter\",\r\n type: \"normal\",\r\n icon: \"filter\",\r\n onClick: this.showFilterDialog()\r\n }, \"after\"); \r\n \r\n addButtonToToolbar(this.toolbarOptions, {\r\n elementAttr: { id: this.clearFilterButtonName },\r\n text: \"Clear Filter\",\r\n hint: \"Clear the filter\",\r\n type: \"normal\",\r\n disabled: true,\r\n onClick: this.clearFilter()\r\n }, \"after\"); \r\n }\r\n\r\n private showFilterDialog() {\r\n return (e: any) => {\r\n let fields = this.getFields();\r\n\r\n const parameters = {\r\n filterValue: this.filterValue,\r\n fields: fields\r\n };\r\n\r\n const dialog = new Areas.Dialogs.FilterBuilder.FilterBuilderDialog(this.filterBuilderClosed(this), parameters);\r\n }\r\n }\r\n\r\n private getFields(): any {\r\n let fields = [];\r\n\r\n for (let i = 0; i < this.grid.columnCount(); i++) {\r\n const columnOption = this.grid.columnOption(i);\r\n\r\n if (columnOption.dataField) {\r\n fields.push(this.buildField(columnOption));\r\n }\r\n }\r\n\r\n return fields;\r\n }\r\n\r\n private buildField(columnOption: any): any {\r\n if (columnOption.displayField) {\r\n return {\r\n dataField: columnOption.displayField,\r\n dataType: \"string\",\r\n caption: columnOption.caption,\r\n format: columnOption.format\r\n };\r\n }\r\n\r\n return {\r\n dataField: columnOption.dataField,\r\n dataType: columnOption.dataType,\r\n caption: columnOption.caption,\r\n format: columnOption.format\r\n };\r\n }\r\n\r\n private clearFilter() {\r\n return (e: any) => {\r\n this.grid.clearFilter();\r\n this.filterValue = null;\r\n e.component.option(\"disabled\", true);\r\n $(`#${this.filterButtonName}`).dxButton(\"instance\").option(\"type\", \"default\");\r\n };\r\n }\r\n\r\n private filterBuilderClosed (filterBuilder: FilterBuilder) {\r\n return (result: Areas.DialogResult, data: any) => {\r\n if (result === DialogResult.Cancel) return;\r\n\r\n filterBuilder.filterValue = data.filter;\r\n\r\n filterBuilder.grid.filter(data.filter);\r\n\r\n $(`#${filterBuilder.filterButtonName}`).dxButton(\"instance\")\r\n .option(\"type\", data.filter ? \"success\" : \"default\");\r\n\r\n $(`#${filterBuilder.clearFilterButtonName}`).dxButton(\"instance\")\r\n .option(\"disabled\", !data.filter);\r\n }\r\n }\r\n } \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addFilterBuilder(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n let filterBuilder = new FilterBuilder(grid, e.toolbarOptions);\r\n filterBuilder.addButtons();\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addEditingButtons(e: any, buttonOptions: Array) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n const editButtonsBuilder = new EditButtonsBuilder(grid, e.toolbarOptions);\r\n editButtonsBuilder.addButtons(buttonOptions);\r\n } \r\n\r\n export function addEditBatchButton(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n const editBatchButtonConfiguration = new EditBatchButtonConfiguration(e.toolbarOptions);\r\n editBatchButtonConfiguration.configureBatchEditButtons();\r\n }\r\n \r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function buildCellContent(cellElement: any, getData: () => string, contentTemplate: string) {\r\n const data = getData();\r\n const re = /{placeholder}/gi;\r\n const content = contentTemplate.replace(re, data);\r\n cellElement.html(content);\r\n }\r\n\r\n export function gotoSelected(gridName: string, url: string) {\r\n const dataGrid = $(`#${gridName}`).dxDataGrid(\"instance\");\r\n const dataId = dataGrid.getSelectedRowKeys()[0];\r\n if (dataId != null) {\r\n location.href = url + dataId;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"You need to select a row first!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function refreshGrid(id: string) {\r\n $(`#${id}`).dxDataGrid(\"instance\").refresh();\r\n } \r\n \r\n export function refreshData(dataGrid: DevExpress.ui.dxDataGrid) {\r\n dataGrid.refresh();\r\n dataGrid.deselectRows(dataGrid.getSelectedRowKeys());\r\n } \r\n \r\n export function getGrid(gridName: string) : DevExpress.ui.dxDataGrid {\r\n return $(`#${gridName}`).dxDataGrid(\"instance\");\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addResetLayout(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n text: \"Reset Layout\",\r\n hint: \"Reset grid layout\",\r\n type: \"normal\",\r\n icon: \"revert\",\r\n onClick: reset(grid)\r\n }, \"after\");\r\n }\r\n\r\n function reset(grid: DevExpress.ui.dxDataGrid) {\r\n return (e: any) => {\r\n grid.state({});\r\n }\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addButtonsToToolbar(buttonOptions: Array, addOtherButtons: (e: any) => void = null) {\r\n return (e: any) => {\r\n if (_.contains(buttonOptions, \"export\")) {\r\n addExport(e);\r\n } \r\n\r\n if (_.contains(buttonOptions, \"columnChooser\")) {\r\n addColumnChooser(e); \r\n }\r\n\r\n if (_.contains(buttonOptions, \"resetLayout\")) {\r\n addResetLayout(e);\r\n }\r\n\r\n if (_.contains(buttonOptions, \"filterBuilder\")) {\r\n addFilterBuilder(e);\r\n }\r\n\r\n if (_.contains(buttonOptions, \"downloadZip\")) {\r\n addDownloadZip(e);\r\n } \r\n \r\n const editing = e.component.option(\"editing\");\r\n\r\n if (editing.mode === \"batch\") {\r\n addEditBatchButton(e);\r\n } else {\r\n addEditingButtons(e, buttonOptions);\r\n }\r\n\r\n if (addOtherButtons) {\r\n addOtherButtons(e);\r\n }\r\n }\r\n }\r\n\r\n export function addButtonToToolbar(toolbarOptions: any, options: any, location: string = \"center\") {\r\n toolbarOptions.items.push({\r\n location: location,\r\n locateInMenu: \"auto\", \r\n widget: \"dxButton\",\r\n options: options\r\n }); \r\n } \r\n\r\n}","namespace Areas.TreeList {\r\n \"use strict\";\r\n\r\n const columnChooserButtonName = \"columnChooserButton\";\r\n\r\n export function addColumnChooser(e: any) {\r\n const treeList: DevExpress.ui.dxTreeList = e.component;\r\n \r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: columnChooserButtonName, \"class\": \"dx-datagrid-column-chooser-button\" },\r\n text: \"Columns\",\r\n hint: \"Choose columns to show/hide\",\r\n type: \"normal\",\r\n icon: \"column-chooser\",\r\n onClick: showColumnChooser(treeList)\r\n }, \"after\");\r\n\r\n } \r\n \r\n function showColumnChooser(treeList: DevExpress.ui.dxTreeList) {\r\n return (e: any) => {\r\n treeList.showColumnChooser();\r\n }\r\n } \r\n \r\n}","namespace Areas.TreeList {\r\n \"use strict\";\r\n\r\n export function addResetLayout(e: any) {\r\n const treeList: DevExpress.ui.dxTreeList = e.component;\r\n\r\n addButtonToToolbar(e.toolbarOptions, {\r\n text: \"Reset Layout\",\r\n hint: \"Reset grid layout\",\r\n type: \"normal\",\r\n icon: \"revert\",\r\n onClick: reset(treeList)\r\n }, \"after\");\r\n }\r\n\r\n function reset(treeList: DevExpress.ui.dxTreeList) {\r\n return (e: any) => {\r\n treeList.state({});\r\n }\r\n }\r\n}","namespace Areas {\r\n \"use strict\";\r\n\r\n export function addButtonsToTreeListToolbar(buttonOptions: Array, addOtherButtons: (e: any) => void = null) {\r\n return (e: any) => {\r\n if (_.contains(buttonOptions, \"columnChooser\")) {\r\n TreeList.addColumnChooser(e); \r\n }\r\n\r\n if (isIE11()) {\r\n disableStateStoring(e);\r\n } \r\n \r\n if (_.contains(buttonOptions, \"resetLayout\")) {\r\n TreeList.addResetLayout(e);\r\n }\r\n \r\n }\r\n }\r\n\r\n function disableStateStoring(e: any) {\r\n const grid: DevExpress.ui.dxTreeList = e.component;\r\n grid.option('stateStoring.enabled', false);\r\n }\r\n}","namespace Areas.Analysis {\r\n \"use strict\";\r\n\r\n export function analysisLink(cellElement, cellInfo) {\r\n var projectId = cellInfo.data.projectId;\r\n var linkInfo = \"Analysis\";\r\n cellElement.html(linkInfo);\r\n \r\n }\r\n\r\n export function appPercent(cellElement, cellInfo) {\r\n\r\n cellElement.html(cellInfo.text);\r\n if (cellInfo.data.appropriationCommittedPercent > 1) {\r\n cellElement.css(\"background-color\", \"lightpink\");\r\n }\r\n }\r\n\r\n export function budgetPercent(cellElement, cellInfo) {\r\n\r\n cellElement.html(cellInfo.text);\r\n if (cellInfo.data.budgetCommittedPercent > 1) {\r\n cellElement.css(\"background-color\", \"lightpink\");\r\n }\r\n }\r\n}","namespace Areas.Attachment {\r\n \"use strict\";\r\n\r\n export function onValueChanged(e) {\r\n var newValue = e.value;\r\n if (newValue != e.previousValue) {\r\n var uploader = $(\"#fileUploaderControl\").dxFileUploader(\"instance\");\r\n var url = uploader.option(\"uploadUrl\");\r\n url = updateQueryStringParameter(url, \"fileDescription\", newValue);\r\n console.log(url);\r\n uploader.option(\"uploadUrl\", url);\r\n }\r\n }\r\n\r\n export function onUploadError(e) {\r\n DevExpress.ui.notify(e.error.responseText, \"error\", 2000);\r\n }\r\n\r\n export function addIconImage(cellElement, cellInfo) {\r\n var iconSource = cellInfo.data.icon;\r\n var img = \"\";\r\n cellElement.height(30);\r\n cellElement.html(img);\r\n }\r\n\r\n export function downloadAttachmentLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.attachmentId; },\r\n \"Download\");\r\n } \r\n\r\n export function refreshGridAfterUpload(e) {\r\n var uploadGrid = $(\"#attachmentDataGrid\").dxDataGrid(\"instance\");\r\n uploadGrid.refresh();\r\n }\r\n\r\n export function onCellPrepared(e) {\r\n\r\n if (e.rowType === \"data\" && e.column.command === \"edit\") {\r\n if (e.data.isReadOnly) {\r\n e.cellElement.empty();\r\n }\r\n }\r\n } \r\n\r\n } ","namespace Areas.Report {\r\n \"use strict\";\r\n\r\n export function gotoProjectInitiationReportFromForm() {\r\n var form = $('#ProjectInfoUpdateForm').dxForm('instance');\r\n let keyId: any = form.option('ProjectInfoId');\r\n if (keyId != null) {\r\n const url = `/Custom/Report/ProjectInitiationReport/${keyId}`;\r\n window.open(url);\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected!\", \"warning\", 2000);\r\n }\r\n } \r\n\r\n}\r\n\r\n\r\n\r\n","namespace Areas.CustomQuery {\r\n \"use strict\";\r\n\r\n let formIsInitialized: boolean = false; \r\n\r\n interface ParameterDefinition {\r\n parameterName: string;\r\n parameterDisplayName: string;\r\n parameterType: string;\r\n parameterLookupDialog: string;\r\n propertyValueName: string;\r\n propertyDisplayName: string;\r\n }\r\n\r\n export function parameterFormIsInitialized(): boolean {\r\n return formIsInitialized;\r\n }\r\n\r\n export function createParameterForm(parameters: Array): void {\r\n if (formIsInitialized) {\r\n $(\"#ParameterForm\").dxForm(\"dispose\");\r\n formIsInitialized = false;\r\n }\r\n\r\n if (parameters.length == 0) {\r\n return;\r\n }\r\n\r\n createForm();\r\n createParameters(parameters);\r\n } \r\n\r\n function createForm(): void {\r\n $(\"#ParameterForm\").dxForm({\r\n minColWidth: 100,\r\n items: [{\r\n itemType: \"group\",\r\n caption: \" \",\r\n name: \"MainGroup\",\r\n colCount: 4,\r\n items: [{\r\n itemType: \"empty\", \r\n colSpan: 4\r\n }]\r\n }],\r\n onInitialized: function(e) { formIsInitialized = true; } \r\n });\r\n }\r\n\r\n function createParameters(parameters: Array): void {\r\n const form = $(\"#ParameterForm\").dxForm(\"instance\");\r\n const mainGroup = form.itemOption(\"MainGroup\");\r\n\r\n form.option(\"parameterList\", parameters.map(item => item.parameterName));\r\n parameters.forEach(parameter => addParameterToForm(mainGroup, parameter));\r\n form.repaint();\r\n }\r\n \r\n function addParameterToForm(mainGroup: any, parameter: ParameterDefinition): void {\r\n const isDialog = Areas.isNotEmpty(parameter.parameterLookupDialog);\r\n \r\n if (isDialog) {\r\n addDialogBox(mainGroup, parameter)\r\n } else {\r\n addInputBox(mainGroup, parameter);\r\n }\r\n }\r\n\r\n function addInputBox(mainGroup: any, parameter: ParameterDefinition): void {\r\n const item = getItem(parameter);\r\n mainGroup.items.push(item);\r\n }\r\n\r\n function getEditorType(parameterType: string): string {\r\n const editorTypeMap = {} as IDictionary;\r\n editorTypeMap[\"string\"] = \"dxTextBox\";\r\n editorTypeMap[\"integer\"] = \"dxNumberBox\";\r\n editorTypeMap[\"date\"] = \"dxDateBox\";\r\n\r\n return editorTypeMap[parameterType]; \r\n }\r\n \r\n function getItem(parameter: ParameterDefinition): any {\r\n return {\r\n label: {text: parameter.parameterDisplayName},\r\n dataField: parameter.parameterName,\r\n editorType: getEditorType(parameter.parameterType),\r\n colSpan:4\r\n };\r\n }\r\n\r\n function addDialogBox(mainGroup: any, parameter: ParameterDefinition): void {\r\n const item = {\r\n label: {text: parameter.parameterDisplayName},\r\n editorType: \"dxTextBox\",\r\n name: parameter.parameterName + \"Display\",\r\n disabled: true,\r\n colSpan:3\r\n };\r\n\r\n mainGroup.items.push(item); \r\n \r\n const button = {\r\n colSpan: 1,\r\n template: function(data, element) {\r\n var div = document.createElement(\"div\");\r\n element.get(0).appendChild(div); \r\n $(div).dxButton({\r\n text: \"Select\",\r\n type: \"success\", \r\n onClick: function(e: any) {\r\n createDialog(parameter);\r\n }\r\n })\r\n }\r\n };\r\n\r\n mainGroup.items.push(button); \r\n }\r\n \r\n function createDialog(parameter: ParameterDefinition): void {\r\n switch (parameter.parameterLookupDialog) {\r\n case \"\":\r\n break;\r\n\r\n case \"\":\r\n break;\r\n \r\n default:\r\n break;\r\n }\r\n }\r\n\r\n function closeHandler(parameter: ParameterDefinition) {\r\n return (dialogResult: DialogResult, data: any) => {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n \r\n const form = $(\"#ParameterForm\").dxForm(\"instance\");\r\n const editor = form.getEditor(parameter.parameterName + \"Display\");\r\n editor.option(\"value\", data[parameter.propertyDisplayName]);\r\n\r\n const formData = form.option(\"formData\");\r\n formData[parameter.parameterName] = data[parameter.propertyValueName];\r\n }\r\n }\r\n}","namespace Areas.CustomQuery {\r\n \"user strict\";\r\n\r\n export function createGridResult(): void {\r\n $(\"#CustomQueryResultGrid\").dxDataGrid({\r\n dataSource: createDataSource(),\r\n remoteOperations: true,\r\n showBorders: true,\r\n allowColumnReordering: true,\r\n allowColumnResizing: true,\r\n columnAutoWidth: true,\r\n columnChooser: {\r\n mode: \"select\"\r\n },\r\n columnFixing: { \r\n enabled: true\r\n },\r\n paging: {\r\n pageSize: 10\r\n },\r\n pager: {\r\n showPageSizeSelector: true,\r\n allowedPageSizes: [10, 50, 200, 1000],\r\n visible: true\r\n },\r\n onToolbarPreparing: Areas.addButtonsToToolbar([\"columnChooser\", \"export\"]),\r\n customizeColumns: customizeColumns, \r\n onInitialized: (e) => Areas.CustomQuery.setGridIsInitialized() \r\n }); \r\n }\r\n\r\n function createDataSource(): DevExpress.data.DataSource {\r\n const storeConfiguration = {\r\n \"loadParams\": { \r\n customQueryId: Areas.CustomQuery.getCustomQueryId(), \r\n runQuery: Areas.CustomQuery.canExecuteQuery(), \r\n parameters: getQueryParameters() \r\n },\r\n \"key\": \"\",\r\n \"loadUrl\": \"/CustomQuery/Main/GetResult\",\r\n \"insertUrl\": \"\",\r\n \"updateUrl\": \"\",\r\n \"deleteUrl\": \"\"\r\n };\r\n\r\n const store = DevExpress.data.AspNet.createStore(storeConfiguration);\r\n return new DevExpress.data.DataSource({ store: store }); \r\n } \r\n \r\n function getQueryParameters(): string {\r\n if (!Areas.CustomQuery.parameterFormIsInitialized()) {\r\n return null;\r\n }\r\n \r\n const form = $(\"#ParameterForm\").dxForm(\"instance\");\r\n const data = form.option(\"formData\");\r\n const parameterList = form.option(\"parameterList\");\r\n const parameterData = [];\r\n\r\n parameterList.forEach(parameterName => {\r\n const value = Areas.isEmpty(data[parameterName]) ? \"\" : data[parameterName];\r\n parameterData.push({name: parameterName, value: value});\r\n });\r\n\r\n return JSON.stringify(parameterData);\r\n }\r\n\r\n function customizeColumns(cols: any): void {\r\n const items = $(\"#CustomQueryResultGrid\").dxDataGrid(\"instance\").getDataSource().items();\r\n\r\n cols.forEach((col) => {\r\n const columnName = col.dataField as string;\r\n const columnValue = items[0][columnName];\r\n\r\n if(isAValidDate(columnValue, columnName)){\r\n col.dataType = \"date\";\r\n col.format = \"shortDateShortTime\";\r\n } \r\n })\r\n }\r\n \r\n function isAValidDate(columnValue: any, columnName: string): boolean {\r\n let isValid = false;\r\n\r\n if(Areas.isNotEmpty(columnValue)) {\r\n isValid = moment(columnValue, moment.ISO_8601, true).isValid();\r\n } else {\r\n const columnNameContainsDate = columnName.toLowerCase().indexOf(\"date\") > -1;\r\n\r\n if (columnNameContainsDate) {\r\n isValid = true;\r\n }\r\n } \r\n\r\n return isValid;\r\n }\r\n}","namespace Areas.CustomQuery {\r\n \"use strict\";\r\n\r\n let customQueryId: number;\r\n let canRunQuery: boolean = false;\r\n let gridIsInitialized: boolean = false; \r\n\r\n export function getCustomQueryId(): number {\r\n return customQueryId;\r\n }\r\n\r\n export function setGridIsInitialized(): void {\r\n gridIsInitialized = true;\r\n }\r\n\r\n export function canExecuteQuery(): boolean {\r\n return canRunQuery;\r\n }\r\n\r\n export function runQuery(e: any): void {\r\n if (gridIsInitialized) {\r\n $(\"#CustomQueryResultGrid\").dxDataGrid(\"dispose\");\r\n }\r\n\r\n createGridResult();\r\n }\r\n\r\n export function onCustomQuerySelected(e: any): void {\r\n const selectedRows = e.component.getSelectedRowsData();\r\n const rowSelected = selectedRows.length === 1;\r\n \r\n if (rowSelected) {\r\n canRunQuery = true;\r\n customQueryId = selectedRows[0].customQueryId;\r\n createParameterForm(selectedRows[0].customQueryFields);\r\n }\r\n else\r\n {\r\n canRunQuery = false;\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs.CreateEic {\r\n \"use strict\";\r\n\r\n export class CreateEicDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateEic\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateEicForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(\"/Dialog/CreateEic/Post\", JSON.stringify(newData), \"POST\", () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n }\r\n }\r\n }\r\n\r\n export function projectIdSelected(e: any) {\r\n const form = $(\"#CreateEicForm\").dxForm(\"instance\");\r\n var projectNameControl: DevExpress.ui.dxTextBox = form.getEditor(\"ProjectName\") as DevExpress.ui.dxLookup;\r\n\r\n projectNameControl.option(\"disabled\", e.selectedItem);\r\n }\r\n\r\n export function projectNameChanged(e: any) {\r\n const form = $(\"#CreateEicForm\").dxForm(\"instance\");\r\n\r\n var projectIdControl: DevExpress.ui.dxLookup = form\r\n .getEditor(\"ProjectId\") as DevExpress.ui.dxLookup;\r\n\r\n projectIdControl.option(\"disabled\", e.value);\r\n }\r\n\r\n export function validateForm(e: any) {\r\n const form = $(\"#CreateEicForm\").dxForm(\"instance\");\r\n const formData = form.option(\"formData\");\r\n\r\n if (Areas.isEmpty(formData.ProjectId) && Areas.isEmpty(formData.ProjectName)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}","namespace Areas.Dialogs.CreateRequest {\r\n \"use strict\";\r\n\r\n export class CreateRequestDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"CreateRequest\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateRequestForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n\r\n const newData: any = form.option(\"formData\");\r\n newData.ProjectInitiationType = form.option(\"ProjectInitiationType\");\r\n sendRequest(\"/Dialog/CreateRequest/Post\", JSON.stringify(newData), \"POST\", () => {\r\n this.close(DialogResult.Ok, null);\r\n });\r\n }\r\n }\r\n }\r\n\r\n export function nextHistorical() {\r\n showCreateForm();\r\n showHistoricalExplanation();\r\n $(\"#CreateRequestForm\").dxForm(\"instance\").option(\"ProjectInitiationType\", \"Historical\");\r\n $(\"#CreateRequestOkDialog\").dxButton(\"instance\").option(\"text\", \"Create Historical\");\r\n }\r\n\r\n export function nextNew() {\r\n showCreateForm();\r\n showNewExplanation();\r\n $(\"#CreateRequestForm\").dxForm(\"instance\").option(\"ProjectInitiationType\", \"New\");\r\n $(\"#CreateRequestOkDialog\").dxButton(\"instance\").option(\"text\", \"Create New\");\r\n }\r\n\r\n export function back() {\r\n showInformation();\r\n $(\"#CreateRequestForm\").dxForm(\"instance\").option(\"ProjectInitiationType\", \"\");\r\n $(\"#CreateRequestOkDialog\").dxButton(\"instance\").option(\"text\", \"Create\");\r\n }\r\n\r\n function showCreateForm() {\r\n $(\"#Information\").hide(\"slow\");\r\n $(\"#MainForm\").show(\"slow\");\r\n }\r\n\r\n function showHistoricalExplanation() {\r\n $(\"#HistoricalExplanation\").show();\r\n $(\"#NewExplanation\").hide();\r\n }\r\n\r\n function showNewExplanation() {\r\n $(\"#HistoricalExplanation\").hide();\r\n $(\"#NewExplanation\").show(); \r\n }\r\n\r\n function showInformation() {\r\n $(\"#Information\").show(\"slow\");\r\n $(\"#MainForm\").hide(\"slow\");\r\n }\r\n}","namespace Areas.Dialogs.FilterBuilder {\r\n \"use strict\";\r\n\r\n export class FilterBuilderDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any = null) {\r\n super(\"FilterBuilder\", closeHandler, parameters, () => {\r\n const filterBuilder = $(`#${this.dialogName}Control`).dxFilterBuilder({\r\n fields: parameters.fields,\r\n value: parameters.filterValue\r\n });\r\n\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const filterBuilder = $(`#${this.dialogName}Control`).dxFilterBuilder('instance');\r\n const data = {\r\n gridName: this.parameters.gridName,\r\n filter: filterBuilder.option(\"value\")\r\n };\r\n\r\n this.close(DialogResult.Ok, data);\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","namespace Areas.Eic.List {\r\n \"use strict\";\r\n\r\n export function viewLink(cellElement, cellInfo) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.key; },\r\n \"View\");\r\n }\r\n\r\n export function showCreate() {\r\n var dialog = new Areas.Dialogs.CreateEic.CreateEicDialog(() => {});\r\n }\r\n\r\n export function create() {\r\n location.href = \"/Eic/Create/Index\";\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"EicGrid\", \"/Eic/View/Index/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"EicGrid\", \"/Eic/Edit/Index/\");\r\n }\r\n\r\n export function review() {\r\n gotoSelected(\"EicGrid\", \"/Eic/Review/Index/\");\r\n }\r\n\r\n export function onGridSelectionChanged(e) {\r\n const rowSelected = e.selectedRowsData.length === 1;\r\n\r\n if (rowSelected) {\r\n const status: string = e.selectedRowsData[0].status;\r\n const canBeModified =\r\n (status !== Constants.EicStatus.deleted\r\n && status !== Constants.EicStatus.completed);\r\n\r\n if (canBeModified) {\r\n if (isEditable(status)) {\r\n enableButton(\"EditButton\");\r\n } else {\r\n disableButton(\"EditButton\");\r\n }\r\n\r\n if (isReviewable(status)) {\r\n enableButton(\"ReviewButton\");\r\n } else {\r\n disableButton(\"ReviewButton\");\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n function isEditable(status: string): boolean {\r\n return Constants.eicEditableStatuses.indexOf(status) > -1;\r\n }\r\n\r\n function isReviewable(status: string): boolean {\r\n return Constants.eicReviewableStatuses.indexOf(status) > -1;\r\n }\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Eic\", [\"InProcess\", \"Completed\", \"Deleted\"], \"List\");\r\n \r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n}","namespace Areas.Eic.Review {\r\n \"use strict\";\r\n\r\n export function complete() {\r\n const form = $(\"#EicForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const data: any = form.option(\"formData\");\r\n const componentsGrid = $(\"#ComponentsGrid\").dxDataGrid(\"instance\");\r\n\r\n let iScopeEditor: any = $('#ScopeEditor').dxHtmlEditor('instance');\r\n let iScope = iScopeEditor.option(\"value\");\r\n\r\n data.EICComponentTypes = componentsGrid.getSelectedRowKeys();\r\n data.Scope = iScope;\r\n\r\n sendRequest(\"/Eic/Review/Complete\", JSON.stringify(data), \"PUT\");\r\n }\r\n }\r\n\r\n export function returnToRequestor() {\r\n const verifyReturn = window.confirm(\"Are you sure you would like to RETURN this record?\");\r\n\r\n if (verifyReturn) {\r\n const mainForm = $(\"#EicForm\").dxForm(\"instance\");\r\n\r\n const keyId: any = mainForm.option(\"EicId\");\r\n if (keyId != null) {\r\n sendRequest(`/Eic/Review/ReturnToRequestor/${keyId}`, \"\", \"PUT\");\r\n }\r\n }\r\n }\r\n}","namespace Areas.Eic {\r\n \"use strict\";\r\n\r\n var selected: Selected = new Selected();\r\n\r\n export function onUserIDValueChanged(rowData, value) {\r\n return userValueChanged(selected)(rowData, value);\r\n }\r\n\r\n export function userLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Eic/User/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupCellTemplate(cellElement, cellInfo) {\r\n return lookupCellTemplate(cellElement, cellInfo);\r\n }\r\n\r\n export function newEicUser(e) {\r\n\r\n var dataGrid = $('#UserInfoGrid').dxDataGrid('instance');\r\n var eicId = dataGrid.option('EicId');\r\n\r\n e.data.eicId = eicId;\r\n }\r\n\r\n export function newEICRecharge(e) {\r\n\r\n var dataGrid = $('#EICRechargeInfoGrid').dxDataGrid('instance');\r\n var EicId = dataGrid.option('EicId');\r\n\r\n e.data.EicId = EicId;\r\n }\r\n}","namespace Areas.Eic {\r\n \"use strict\";\r\n\r\n export function gotoEicList() {\r\n location.href = \"/Eic/List/InProcess\";\r\n }\r\n\r\n\r\n\r\n export function gotoEditFromForm() {\r\n var keyId: any = $('#EicForm').dxForm('instance').option('EicId');\r\n if (keyId != null) {\r\n var linkInfo = \"/EIC/Edit/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected. Use List instead!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoReviewFromForm() {\r\n var keyId: any = $('#EicForm').dxForm('instance').option('EicId');\r\n if (keyId != null) {\r\n var linkInfo = \"/EIC/Review/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected. Use List instead!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function create() {\r\n const form = $(\"#EicForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n let iScopeEditor: any = $('#ScopeEditor').dxHtmlEditor('instance');\r\n let iScope = iScopeEditor.option(\"value\");\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n const componentsGrid = $(\"#ComponentsGrid\").dxDataGrid(\"instance\");\r\n newData.EicComponentTypes = componentsGrid.getSelectedRowKeys();\r\n newData.Scope = iScope;\r\n sendRequest(\"/Eic/Create/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n export function deleteEic() {\r\n const verifyDelete = window.confirm(\"Are you sure you would like to DELETE this record?\");\r\n\r\n if (verifyDelete) {\r\n const mainForm = $(\"#EicForm\").dxForm(\"instance\");\r\n\r\n const keyId: any = mainForm.option(\"EicId\");\r\n if (keyId != null) {\r\n sendRequest(`/Eic/Edit/Delete/${keyId}`, \"\", \"DELETE\");\r\n }\r\n }\r\n }\r\n\r\n export function save() {\r\n const form = $(\"#EicForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const data: any = form.option(\"formData\");\r\n const componentsGrid = $(\"#ComponentsGrid\").dxDataGrid(\"instance\");\r\n\r\n let iScopeEditor: any = $('#ScopeEditor').dxHtmlEditor('instance');\r\n let iScope = iScopeEditor.option(\"value\");\r\n\r\n data.EICComponentTypes = componentsGrid.getSelectedRowKeys();\r\n data.Scope = iScope;\r\n\r\n sendRequest(\"/Eic/Edit/Put\", JSON.stringify(data), \"PUT\");\r\n }\r\n }\r\n\r\n export function submit() {\r\n const form = $(\"#EicForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const data: any = form.option(\"formData\");\r\n const componentsGrid = $(\"#ComponentsGrid\").dxDataGrid(\"instance\");\r\n\r\n let iScopeEditor: any = $('#ScopeEditor').dxHtmlEditor('instance');\r\n let iScope = iScopeEditor.option(\"value\");\r\n\r\n data.EICComponentTypes = componentsGrid.getSelectedRowKeys();\r\n data.Scope = iScope;\r\n\r\n sendRequest(\"/Eic/Edit/Submit\", JSON.stringify(data), \"PUT\");\r\n }\r\n }\r\n\r\n export function onComponentGridContentReady(e: any) {\r\n var eicId = e.component.option(\"EicId\") as number;\r\n getEicEicComponentTypes(eicId);\r\n }\r\n\r\n export function onScopeEditorContentReady(e: any) {\r\n var scopeDesc = e.component.option(\"scopeDescription\");\r\n e.component.option(\"value\", scopeDesc);\r\n }\r\n\r\n export function getEicEicComponentTypes(eicId: number) {\r\n var componentsGrid = $(\"#ComponentsGrid\").dxDataGrid(\"instance\");\r\n\r\n $.ajax({\r\n url: `/Eic/Edit/GetEicEicComponentTypes/${eicId}`,\r\n method: \"GET\",\r\n contentType: \"application/json\",\r\n success: (data) => {\r\n componentsGrid.selectRows(data, false);\r\n },\r\n error: () => {\r\n DevExpress.ui.notify(\"Error getting components for EIC.\", \"error\", 2000);\r\n }\r\n });\r\n }\r\n}","namespace Areas.Maintenance.CustomQuery {\r\n \"use strict\";\r\n\r\n let customQueryId: number;\r\n let runQuery: boolean = false; \r\n\r\n export function getCustomQueryId() {\r\n return customQueryId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n } \r\n \r\n export function onCustomQuerySelected(e: any) {\r\n var selectedRows = e.component.getSelectedRowsData();\r\n\r\n if (selectedRows.length === 1) {\r\n runQuery = true;\r\n customQueryId = selectedRows[0].customQueryId;\r\n Areas.refreshGrid(\"CustomQueryFieldGrid\");\r\n Areas.refreshGrid(\"CustomQueryLinkGrid\");\r\n }\r\n } \r\n \r\n export function newCustomQueryField(e: any) {\r\n const dataGrid = e.component;\r\n e.data.customQueryId = getCustomQueryId();\r\n } \r\n \r\n export function newCustomQueryLink(e: any) {\r\n const dataGrid = e.component;\r\n e.data.customQueryId = getCustomQueryId();\r\n } \r\n \r\n var selected: Selected = new Selected();\r\n\r\n export function onUserIDValueChanged(rowData, value) {\r\n return userValueChanged(selected)(rowData, value);\r\n }\r\n\r\n export function userLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Maintenance/CustomQuery/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupCellTemplate(cellElement, cellInfo) {\r\n return lookupCellTemplate(cellElement, cellInfo);\r\n } \r\n}","namespace Areas.Maintenance {\r\n \"use strict\";\r\n\r\n var selected: Selected = new Selected();\r\n\r\n export function onUserIDValueChanged(rowData, value) {\r\n return userValueChanged(selected)(rowData, value);\r\n }\r\n\r\n export function userAuthorizedLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Maintenance/AuthorizedUser/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Maintenance/SystemUsers/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupCellTemplate(cellElement, cellInfo) {\r\n return lookupCellTemplate(cellElement, cellInfo);\r\n }\r\n\r\n export function disableColumnEdit(columnName: string) {\r\n return function (e: any) {\r\n if (e.rowType !== \"data\" || !e.row.isEditing)\r\n return;\r\n if (e.column.dataField === columnName && !e.row.isNewRow)\r\n e.cellElement.find('input').prop('readonly', true);\r\n }\r\n } \r\n}","namespace Areas.Maintenance.List {\r\n \"use strict\";\r\n\r\n var selected: Selected = new Selected();\r\n\r\n var eicMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"EicComponentType\", \"EicStatus\"])\r\n\r\n var importedMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"AuthorizedUser\", \"RoleType\"])\r\n\r\n var initiationMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"BudgetType\", \"Department\", \"ProjectInfoStatus\"])\r\n\r\n var systemMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"SystemConfigSettings\", \"SystemProcessEmails\", \"SystemUsers\"])\r\n\r\n\r\n export function eicMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(eicMaintenanceTabItems)(params);\r\n }\r\n\r\n export function importedMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(importedMaintenanceTabItems)(params);\r\n }\r\n\r\n export function initiationMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(initiationMaintenanceTabItems)(params);\r\n }\r\n\r\n export function systemMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(systemMaintenanceTabItems)(params);\r\n }\r\n}\r\n","namespace Areas.Requests.List {\r\n \"use strict\";\r\n \r\n export function create() {\r\n var dialog = new Areas.Dialogs.CreateRequest.CreateRequestDialog(() => {});\r\n }\r\n\r\n export function viewLink(cellElement:any, cellInfo:any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.key; },\r\n \"View\");\r\n }\r\n\r\n export function view() {\r\n gotoSelected(\"ProjectGrid\", \"/Requests/View/Index/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ProjectGrid\", \"/Requests/Edit/Index/\");\r\n }\r\n\r\n export function review() {\r\n gotoSelected(\"ProjectGrid\", \"/Requests/Review/Index/\");\r\n }\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n\r\n setHistoricalCellBackground(e);\r\n setStatusCellBackground(e);\r\n }\r\n\r\n function setHistoricalCellBackground(e) {\r\n var isHistoricalDataCell = e.column.dataField === \"isHistorical\";\r\n\r\n if (isHistoricalDataCell) {\r\n if (e.data.isHistorical) {\r\n e.cellElement.css(\"background-color\", \"#FFA07A\");\r\n }\r\n }\r\n }\r\n\r\n function setStatusCellBackground(e) {\r\n var isStatusDataCell = e.column.dataField === \"status\";\r\n\r\n if (isStatusDataCell) {\r\n if (e.data.status === 'Approved') {\r\n e.cellElement.css('background-color', '#90EE90');\r\n } else if (e.data.status === 'HOLD') {\r\n e.cellElement.css('background-color', 'yellow');\r\n } else if (e.data.status === 'DELETED') {\r\n e.cellElement.css('background-color', 'red');\r\n } \r\n }\r\n }\r\n\r\n export function onGridSelectionChanged(e) {\r\n const rowSelected = e.selectedRowsData.length === 1;\r\n\r\n if (rowSelected) {\r\n const status: string = e.selectedRowsData[0].status;\r\n const canBeModified =\r\n (status !== Constants.ProjectInfoStatus.deleted);\r\n\r\n if (canBeModified) {\r\n if (isEditable(status)) {\r\n enableButton(\"EditButton\");\r\n } else {\r\n disableButton(\"EditButton\");\r\n }\r\n\r\n if (isReviewable(status)) {\r\n enableButton(\"ReviewButton\");\r\n } else {\r\n disableButton(\"ReviewButton\");\r\n }\r\n\r\n if (isReviewable(status)) {\r\n enableButton(\"CompletedReviewButton\");\r\n } else {\r\n disableButton(\"CompletedReviewButton\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n var tabItems = Areas.createTabsWithSameController(\"Requests\", [\"InProcess\", \"Completed\", \"Deleted\"], \"List\");\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabInitialized(tabItems)(params);\r\n }\r\n\r\n}","namespace Areas.Requests.Review {\r\n \"use strict\";\r\n\r\n export function initiationSave() {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n const result: any = mainForm.validate();\r\n\r\n if (result.isValid) {\r\n const newData = appendProjectInfoData(mainForm);\r\n sendRequest(\"/Requests/Review/Put\", JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function releaseHold() {\r\n alert('not implemented');\r\n }\r\n\r\n export function requestHold() {\r\n alert('not implemented');\r\n }\r\n\r\n export function emailCorpAccount() {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n const keyId: any = mainForm.option(\"ProjectInfoId\");\r\n\r\n const afterSuccessfulCompletion = () => {\r\n hideButton(\"EmailCorpAccountButton\");\r\n refreshGrid(\"EventGrid\");\r\n };\r\n\r\n sendRequest(`/Requests/Review/PlantAccountRequest/${keyId}`, \"\", \"PUT\", afterSuccessfulCompletion);\r\n }\r\n\r\n export function prelimApprove() {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n const keyId: any = mainForm.option(\"ProjectInfoId\");\r\n\r\n sendRequest(`/Requests/Review/PrelimApprove/${keyId}`, \"\", \"PUT\");\r\n }\r\n\r\n export function planningReview() {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n const keyId: any = mainForm.option(\"ProjectInfoId\");\r\n\r\n sendRequest(`/Requests/Review/PlanningReview/${keyId}`, \"\", \"PUT\");\r\n }\r\n\r\n export function approve() {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n const result: any = mainForm.validate();\r\n\r\n if (result.isValid) {\r\n const newData = appendProjectInfoData(mainForm);\r\n sendRequest(\"/Requests/Review/Approve\", JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function complete() {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n const keyId: any = mainForm.option(\"ProjectInfoId\");\r\n\r\n sendRequest(`/Requests/Review/Complete/${keyId}`, \"\", \"PUT\");\r\n }\r\n\r\n export function emailStatus() {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n const keyId: any = mainForm.option(\"ProjectInfoId\");\r\n\r\n sendRequest(`/Requests/Review/EmailStatus/${keyId}`, \"\", \"PUT\");\r\n }\r\n\r\n export function initiationReturnToRequestor() {\r\n const verifyReturn = window.confirm(\"Are you sure you would like to RETURN this record?\");\r\n\r\n if (verifyReturn) {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n\r\n const keyId: any = mainForm.option(\"ProjectInfoId\");\r\n if (keyId != null) {\r\n sendRequest(`/Requests/Review/ReturnToRequestor/${keyId}`, \"\", \"PUT\");\r\n }\r\n } \r\n }\r\n\r\n function appendProjectInfoData(mainForm: DevExpress.ui.dxForm) : any {\r\n const rechargeForm = $(\"#RechargeForm\").dxForm(\"instance\");\r\n const planningForm = $(\"#PlanningForm\").dxForm(\"instance\");\r\n const accountingForm = $(\"#AccountingForm\").dxForm(\"instance\");\r\n\r\n const newData: any = mainForm.option(\"formData\");\r\n const rechargeData: any = rechargeForm.option(\"formData\");\r\n const planningData: any = planningForm.option(\"formData\");\r\n const accountingData: any = accountingForm.option(\"formData\");\r\n\r\n const iRequestorScopeEditor: any = $('#RequestorScopeEditor').dxHtmlEditor('instance');\r\n const iRequestorScope = iRequestorScopeEditor.option(\"value\");\r\n\r\n const iScopeEditor: any = $('#ScopeEditor').dxHtmlEditor('instance');\r\n const iScope = iScopeEditor.option(\"value\");\r\n\r\n newData.RequestorScope = iRequestorScope;\r\n newData.Scope = iScope;\r\n\r\n newData.IsClientFunded = rechargeData.IsClientFunded;\r\n newData.FundingNotes = rechargeData.FundingNotes;\r\n\r\n newData.ProjectNumber = accountingData.ProjectNumber;\r\n newData.ProjectCCNumber = accountingData.ProjectCCNumber;\r\n newData.DurationStartDate = accountingData.DurationStartDate;\r\n newData.AccountId = accountingData.AccountId;\r\n\r\n newData.ProjectName = planningData.ProjectName;\r\n newData.RequestNumber = planningData.RequestNumber;\r\n newData.ProjectCCType = planningData.ProjectCCType;\r\n newData.ProjectCCName = planningData.ProjectCCName;\r\n newData.FundingAmount = planningData.FundingAmount;\r\n newData.DurationMonths = planningData.DurationMonths;\r\n\r\n return newData;\r\n }\r\n\r\n}","namespace Areas.Requests {\r\n \"user strict\";\r\n\r\n var selected: Selected = new Selected();\r\n\r\n export function onUserIDValueChanged(rowData, value) {\r\n return userValueChanged(selected)(rowData, value);\r\n }\r\n\r\n export function userLookupEditTemplate(cellElement, cellInfo) {\r\n return lookupEditTemplate(\"/Requests/ProjectInfoUser/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupCellTemplate(cellElement, cellInfo) {\r\n return lookupCellTemplate(cellElement, cellInfo);\r\n }\r\n\r\n export function newProjectInfoUser(e) {\r\n\r\n var dataGrid = $('#UserInfoGrid').dxDataGrid('instance');\r\n var projectInfoId = dataGrid.option('ProjectInfoId');\r\n\r\n e.data.projectInfoId = projectInfoId;\r\n }\r\n\r\n export function newProjectInfoRecharge(e) {\r\n\r\n var dataGrid = $('#RechargeInfoGrid').dxDataGrid('instance');\r\n var projectInfoId = dataGrid.option('ProjectInfoId');\r\n\r\n e.data.projectInfoId = projectInfoId;\r\n }\r\n}","namespace Areas.Requests {\r\n \"use strict\";\r\n\r\n\r\n export function gotoInspectionInProcessList() {\r\n location.href = \"/Requests/List/InProcess\";\r\n }\r\n\r\n export function gotoProjectWebsite() {\r\n var keyId: any = $('#ProjectInfoUpdateForm').dxForm('instance').option('AccountId');\r\n if (keyId != null) {\r\n var linkInfo = \"https://project.capnet.ucla.edu/Account/CIB/View/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else { \r\n DevExpress.ui.notify(\"Record does not have an Account Link !\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function deleteInitiation() {\r\n const verifyDelete = window.confirm(\"Are you sure you would like to DELETE this record?\");\r\n\r\n if (verifyDelete) {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n\r\n const keyId: any = mainForm.option(\"ProjectInfoId\");\r\n if (keyId != null) {\r\n sendRequest(`/Requests/Edit/Delete/${keyId}`, \"\", \"DELETE\");\r\n }\r\n }\r\n }\r\n\r\n export function saveInitiation() {\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n const rechargeForm = $(\"#RechargeForm\").dxForm(\"instance\");\r\n const projectInfoId = mainForm.option(\"ProjectInfoId\");\r\n\r\n let iRequestorScopeEditor: any = $('#RequestorScopeEditor').dxHtmlEditor('instance');\r\n let iRequestorScope = iRequestorScopeEditor.option(\"value\");\r\n\r\n\r\n const newData: any = mainForm.option(\"formData\");\r\n const rechargeData: any = rechargeForm.option(\"formData\");\r\n const result: any = mainForm.validate();\r\n\r\n if (result.isValid) {\r\n newData.RequestorScope = iRequestorScope;\r\n newData.IsClientFunded = rechargeData.IsClientFunded;\r\n newData.FundingNotes = rechargeData.FundingNotes;\r\n\r\n sendRequest(`/Requests/Edit/Put/${projectInfoId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n\r\n }\r\n\r\n export function submitInitiation() {\r\n\r\n let iRequestorScopeEditor: any = $('#RequestorScopeEditor').dxHtmlEditor('instance');\r\n let iRequestorScope = iRequestorScopeEditor.option(\"value\");\r\n\r\n const mainForm = $(\"#ProjectInfoUpdateForm\").dxForm(\"instance\");\r\n const rechargeForm = $(\"#RechargeForm\").dxForm(\"instance\");\r\n\r\n const newData: any = mainForm.option(\"formData\");\r\n const rechargeData: any = rechargeForm.option(\"formData\");\r\n const result: any = mainForm.validate();\r\n\r\n if (result.isValid) {\r\n newData.RequestorScope = iRequestorScope;\r\n newData.IsClientFunded = rechargeData.IsClientFunded;\r\n newData.FundingNotes = rechargeData.FundingNotes;\r\n\r\n sendRequest(\"/Requests/Edit/Submit\", JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function onRequestorScopeEditorContentReady(e: any) {\r\n var scopeDesc = e.component.option(\"requestorScopeDescription\");\r\n e.component.option(\"value\", scopeDesc);\r\n }\r\n\r\n export function onScopeEditorContentReady(e: any) {\r\n var scopeDesc = e.component.option(\"scopeDescription\");\r\n e.component.option(\"value\", scopeDesc);\r\n }\r\n\r\n export function gotoEditFromForm() {\r\n var keyId: any = $('#ProjectInfoUpdateForm').dxForm('instance').option('ProjectInfoId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Requests/Edit/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected. Use List instead!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function gotoReviewFromForm() {\r\n var keyId: any = $('#ProjectInfoUpdateForm').dxForm('instance').option('ProjectInfoId');\r\n if (keyId != null) {\r\n var linkInfo = \"/Requests/Review/Index/\" + keyId.toString() + \"\";\r\n location.href = linkInfo;\r\n }\r\n else {\r\n DevExpress.ui.notify(\"Record not selected. Use List instead!\", \"warning\", 2000);\r\n }\r\n }\r\n\r\n export function reportFromForm() {\r\n var form = $('#ProjectInfoUpdateForm').dxForm('instance');\r\n\r\n Areas.gotoReport(\r\n \"ProjectInitiationReport\",\r\n () => { return form.option(\"ProjectInfoId\"); },\r\n () => { return form.option(\"UserId\") }\r\n );\r\n }\r\n\r\n export function onBeforeSendSave(e, f) {\r\n if (e === \"update\") {\r\n var grid = $(\"#BudgetGrid\").dxDataGrid(\"instance\");\r\n var projectInfoId = grid.option(\"ProjectInfoId\");\r\n f.data.projectInfoId = projectInfoId;\r\n }\r\n }\r\n\r\n export function addAmendment(b) {\r\n var projectInfoId = b.component.option(\"ProjectInfoId\");\r\n sendRequest(`/Requests/Review/AddAmendment/${projectInfoId}`, null, \"PUT\");\r\n }\r\n\r\n export function versionLink(cellElement, cellInfo) {\r\n var status = cellInfo.data.status;\r\n var userIsEditing = location.href.indexOf(\"Edit\") >= 0;\r\n var userIsReviewing = location.href.lastIndexOf(\"Review\") >= 0;\r\n let urlLink = \"View\";\r\n\r\n if (isReviewable(status) && userIsReviewing) {\r\n urlLink = \"Review\";\r\n } else if (isEditable(status) && userIsEditing) {\r\n urlLink = \"View\";\r\n };\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.key; },\r\n urlLink);\r\n }\r\n\r\n export function isEditable(status: string): boolean {\r\n return Constants.projectInfoEditableStatuses.indexOf(status) > -1;\r\n }\r\n\r\n export function isReviewable(status: string): boolean {\r\n return Constants.projectInfoReviewableStatuses.indexOf(status) > -1;\r\n }\r\n\r\n export function budgetEntry(cellElement, cellInfo) {\r\n\r\n if (cellInfo.data.entryAmount) {\r\n cellElement.html(cellInfo.text);\r\n }\r\n cellElement.css(\"background-color\", \"lightgoldenrodyellow\");\r\n\r\n }\r\n\r\n export function onVersionCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n\r\n setRowBackground(e);\r\n }\r\n\r\n function setRowBackground(e: any) {\r\n var projectInfoId: number = e.component.option(\"ProjectInfoId\") as number;\r\n\r\n if (e.data.projectInfoId === projectInfoId) {\r\n e.cellElement.css(\"background-color\", \"#FFA07A\");\r\n }\r\n }\r\n}"]}