{"version":3,"sources":["Areas/TypeScript/ajax-helper.ts","Areas/TypeScript/button-utilities.ts","Areas/TypeScript/dialog.ts","Areas/TypeScript/form-crud.ts","Areas/TypeScript/form-lookup.ts","Areas/TypeScript/tabs.ts","Areas/TypeScript/user-lookup.ts","Areas/TypeScript/utilities.ts","Areas/TypeScript/custom/favorite.ts","Areas/TypeScript/grid/column-grid.ts","Areas/TypeScript/grid/context-menu-copy-selected.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/Building/analysis-building.ts","Areas/Analysis/Views/DeletedDocuments/analysis-deleteddocuments.ts","Areas/Analysis/Views/DocumentHistory/analysis-documenthistory.ts","Areas/Analysis/Views/DownloadChart/analysis-downloadchart.ts","Areas/Analysis/Views/DrawingHistory/analysis-drawinghistory.ts","Areas/Analysis/Views/MilestonesCrosstab/analysis-milestonescrosstab.ts","Areas/Analysis/Views/MilestonesPivot/analysis-milestones.ts","Areas/Analysis/Views/Project/analysis-project.ts","Areas/Analysis/Views/WeatherChart/analysis-weatherchart.ts","Areas/Building/Views/AllAttachment/building-all-attachment.ts","Areas/Building/Views/BuildingImage/building-image.ts","Areas/Building/Views/Drawing/building-drawing.ts","Areas/Building/Views/List/building-list.ts","Areas/Building/Views/OtherAttachment/building-other-attachment.ts","Areas/Building/Views/Profile/building-profile.ts","Areas/Building/Views/Project/building-project.ts","Areas/Building/Views/Shared/building-edit.ts","Areas/Building/Views/Shared/building-shared.ts","Areas/Building/Views/Shared/building-view.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/BuildingImage/dialog-building-image.ts","Areas/Dialog/Views/CreateFavorite/dialog-create-favorite.ts","Areas/Dialog/Views/FilterBuilder/dialog-filter-builder.ts","Areas/Dialog/Views/Gps/dialog-gps.ts","Areas/Dialog/Views/ImageGallery/dialog-image-gallery.ts","Areas/Dialog/Views/Project/dialog-project.ts","Areas/Drawing/Views/Classify/drawing-classify.ts","Areas/Drawing/Views/Unclassify/drawing-unclassify.ts","Areas/Drawing/Views/Upload/drawing-upload.ts","Areas/Favorite/Views/List/favorite.ts","Areas/Maintenance/Views/CustomQuery/custom-query-maintenance.ts","Areas/Maintenance/Views/Shared/maintenance-shared.ts","Areas/Maintenance/Views/Shared/maintenance-tabs.ts","Areas/Project/Views/AllAttachment/project-All-attachment.ts","Areas/Project/Views/Building/project-building.ts","Areas/Project/Views/Drawing/project-drawing.ts","Areas/Project/Views/List/project-list.ts","Areas/Project/Views/OtherAttachment/project-other-attachment.ts","Areas/Project/Views/Profile/project-profile.ts","Areas/Project/Views/Shared/project-edit.ts","Areas/Project/Views/Shared/project-shared.ts","Areas/Project/Views/Shared/project-upload.ts","Areas/Project/Views/Shared/project-view.ts","Areas/Search/Views/Drawing/search-drawing.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,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,CA8Ed;AA9ED,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;IAED,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,IAAI,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;gBACnE,OAAO;aACV;YAED,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAA;IACL,CAAC;IAED,SAAS,oBAAoB,CAAC,QAAe,EAAE,SAA4D,EACvG,UAA+B,EAAE,UAAkB;QAEnD,IAAI,WAAW,GAAG,QAAQ;aACzB,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;YACtD,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,SAAS,yBAAyB,CAAC,UAAgC;QAE/D,IAAI,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,OAAA,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAzB,CAAyB,CAAC,CAAC;QAEtD,IAAI,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,OAAY,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAjD,CAAiD,CAAC,CAAC;QAExG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACtD;IACL,CAAC;AACL,CAAC,EA9ES,KAAK,KAAL,KAAK,QA8Ed;AC9ED,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,CAgNd;AAhND,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,WAAW,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,UAAS,IAAI,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IALe,iBAAW,cAK1B,CAAA;IAED,SAAS,KAAK,CAAC,CAAS;QACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;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,SAAgB,UAAU,CAAC,IAAU;QACjC,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;IARe,gBAAU,aAQzB,CAAA;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,iBAAiB,CAAC,QAAgB,EAAE,UAAkB;QAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAFe,uBAAiB,oBAEhC,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;IAED,SAAgB,MAAM;QAClB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAFe,YAAM,SAErB,CAAA;AAEL,CAAC,EAhNS,KAAK,KAAL,KAAK,QAgNd;AChND,IAAU,KAAK,CAQd;AARD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,aAAa,CAAC,CAAM;QAChC,IAAM,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC1H,CAAC;IAFe,mBAAa,gBAE5B,CAAA;AAGL,CAAC,EARS,KAAK,KAAL,KAAK,QAQd;ACRD,IAAU,KAAK,CA2Dd;AA3DD,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,SAAgB,gBAAgB,CAAC,CAAM;QAKnC,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;QACnD,IAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAEjD,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC;QAE7B,YAAY,CAAC,UAAU,GAAG;YACtB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;aAC9B;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QAEF,YAAY,CAAC,UAAU,GAAG,UAAC,KAAK;YAC5B,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;YAC3B,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC;IACN,CAAC;IAtBe,sBAAgB,mBAsB/B,CAAA;IAED,SAAS,uBAAuB,CAAC,IAA8B;QAI3D,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC,CAAC;IAEjE,CAAC;IAGD,SAAS,iBAAiB,CAAC,IAA8B;QACrD,OAAO,UAAC,CAAM;YACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAA;IACL,CAAC;AAEL,CAAC,EA3DS,KAAK,KAAL,KAAK,QA2Dd;AC3DD,IAAU,KAAK,CAwBd;AAxBD,WAAU,KAAK;IACX,YAAY,CAAC;IAEb,SAAgB,0BAA0B,CAAC,CAAM;QAC7C,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE;YAC1B,CAAC,CAAC,KAAK,GAAG,CAAC;oBACP,IAAI,EAAE,kBAAkB;oBACxB,WAAW,EAAE;wBACT,IAAM,IAAI,GAAG,CAAC,CAAC,SAAqC,CAAC;wBACrD,IAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;wBAClB,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;wBAExB,IAAI,CAAC,MAAM,CAAC,YAAY;4BAAE,OAAO;wBAEjC,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;wBAEjE,IAAI,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;yBAClF;oBACL,CAAC;iBACJ,CAAC,CAAC;SACN;IACL,CAAC;IApBe,gCAA0B,6BAoBzC,CAAA;AACL,CAAC,EAxBS,KAAK,KAAL,KAAK,QAwBd;ACxBD,IAAU,KAAK,CAoDd;AApDD,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,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,IAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEnD,IAAI,GAAG,GAAG,eAAa,IAAI,gBAAW,WAAa,CAAC;YAEpD,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAEjD,IAAI,UAAU,EAAE;gBACZ,GAAG,GAAM,GAAG,oBAAe,UAAY,CAAC;aAC3C;YAED,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QACxB,CAAC,CAAA;IACL,CAAC;IAED,SAAS,cAAc,CAAC,QAAkC,EAAE,IAAY;QACpE,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,OAAO,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClD;QAED,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,EApDS,KAAK,KAAL,KAAK,QAoDd;ACpDD,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,mBAAmB,CAAC,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,EAAE,UAAU,CAAC,CAAC;YACrG,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,CAyBd;AAzBD,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;IAGD,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;AACL,CAAC,EAzBS,KAAK,KAAL,KAAK,QAyBd;ACzBD,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,CAkDd;AAlDD,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;YAED,MAAA,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAA;IACL,CAAC;IApCe,yBAAmB,sBAoClC,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,EAlDS,KAAK,KAAL,KAAK,QAkDd;AClDD,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,CAed;AAfD,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,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;gBAC1C,MAAA,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC9B;QACL,CAAC,CAAA;IACL,CAAC;IAVe,iCAA2B,8BAU1C,CAAA;AAEL,CAAC,EAfS,KAAK,KAAL,KAAK,QAed;ACfD,IAAU,KAAK,CAqBd;AArBD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAqBvB;IArBe,WAAA,QAAQ;QAAC,IAAA,QAAQ,CAqBhC;QArBwB,WAAA,QAAQ;YAC7B,YAAY,CAAC;YAEb,SAAgB,oBAAoB,CAAC,CAAM;gBACvC,IAAM,QAAQ,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC5D,IAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClB,QAAQ,CAAC,IAAI,GAAG,yBAAyB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;iBAClE;qBACI;oBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;iBAC5E;YACL,CAAC;YATe,6BAAoB,uBASnC,CAAA;YAED,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;gBAC1D,IAAI,QAAQ,GAAG,0DAA0D,CAAC;gBAE1E,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAC1C,QAAQ,CAAC,CAAC;YAClB,CAAC;YANe,uBAAc,iBAM7B,CAAA;QACL,CAAC,EArBwB,QAAQ,GAAR,iBAAQ,KAAR,iBAAQ,QAqBhC;IAAD,CAAC,EArBe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAqBvB;AAAD,CAAC,EArBS,KAAK,KAAL,KAAK,QAqBd;ACrBD,IAAU,KAAK,CAed;AAfD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAevB;IAfe,WAAA,QAAQ;QAAC,IAAA,gBAAgB,CAexC;QAfwB,WAAA,gBAAgB;YACrC,YAAY,CAAC;YAEb,SAAgB,mBAAmB,CAAC,CAAM;gBACtC,IAAM,QAAQ,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACnE,IAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClB,QAAQ,CAAC,IAAI,GAAG,wBAAwB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;iBAChE;qBACI;oBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;iBAC5E;YAEL,CAAC;YAVe,oCAAmB,sBAUlC,CAAA;QAEL,CAAC,EAfwB,gBAAgB,GAAhB,yBAAgB,KAAhB,yBAAgB,QAexC;IAAD,CAAC,EAfe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAevB;AAAD,CAAC,EAfS,KAAK,KAAL,KAAK,QAed;ACfD,IAAU,KAAK,CAed;AAfD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAevB;IAfe,WAAA,QAAQ;QAAC,IAAA,eAAe,CAevC;QAfwB,WAAA,eAAe;YACpC,YAAY,CAAC;YAEb,SAAgB,mBAAmB,CAAC,CAAM;gBACtC,IAAM,QAAQ,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAClE,IAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClB,QAAQ,CAAC,IAAI,GAAG,wBAAwB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;iBAChE;qBACI;oBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;iBAC5E;YAEL,CAAC;YAVe,mCAAmB,sBAUlC,CAAA;QAEL,CAAC,EAfwB,eAAe,GAAf,wBAAe,KAAf,wBAAe,QAevC;IAAD,CAAC,EAfe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAevB;AAAD,CAAC,EAfS,KAAK,KAAL,KAAK,QAed;ACfD,IAAU,KAAK,CAuBd;AAvBD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAuBvB;IAvBe,WAAA,QAAQ;QAAC,IAAA,aAAa,CAuBrC;QAvBwB,WAAA,aAAa;YAClC,YAAY,CAAC;YAGb,IAAI,SAAS,GAAW,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;YACxD,IAAI,OAAO,GAAW,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,CAAC;YAGtD,SAAgB,YAAY;gBACxB,OAAO,SAAS,CAAC;YACrB,CAAC;YAFe,0BAAY,eAE3B,CAAA;YAED,SAAgB,UAAU;gBACtB,OAAO,OAAO,CAAC;YACnB,CAAC;YAFe,wBAAU,aAEzB,CAAA;YAED,SAAgB,YAAY,CAAC,CAAC,EAAE,CAAC;gBAE7B,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,CAAC,YAAY,GAAG,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;YAEtD,CAAC;YALe,0BAAY,eAK3B,CAAA;QAEL,CAAC,EAvBwB,aAAa,GAAb,sBAAa,KAAb,sBAAa,QAuBrC;IAAD,CAAC,EAvBe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAuBvB;AAAD,CAAC,EAvBS,KAAK,KAAL,KAAK,QAuBd;ACvBD,IAAU,KAAK,CAed;AAfD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAevB;IAfe,WAAA,QAAQ;QAAC,IAAA,cAAc,CAetC;QAfwB,WAAA,cAAc;YACnC,YAAY,CAAC;YAEb,SAAgB,mBAAmB,CAAC,CAAM;gBACtC,IAAM,QAAQ,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACjE,IAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClB,QAAQ,CAAC,IAAI,GAAG,wBAAwB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;iBAChE;qBACI;oBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;iBAC5E;YAEL,CAAC;YAVe,kCAAmB,sBAUlC,CAAA;QAEL,CAAC,EAfwB,cAAc,GAAd,uBAAc,KAAd,uBAAc,QAetC;IAAD,CAAC,EAfe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAevB;AAAD,CAAC,EAfS,KAAK,KAAL,KAAK,QAed;ACfD,IAAU,KAAK,CAqId;AArID,WAAU,KAAK;IAAC,IAAA,QAAQ,CAqIvB;IArIe,WAAA,QAAQ;QAAC,IAAA,kBAAkB,CAqI1C;QArIwB,WAAA,kBAAkB;YACvC,YAAY,CAAC;YAEb,SAAgB,mBAAmB,CAAC,CAAM;gBACtC,IAAM,QAAQ,GAAG,CAAC,CAAC,yBAAyB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACrE,IAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClB,QAAQ,CAAC,IAAI,GAAG,wBAAwB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;iBAChE;qBACI;oBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;iBAC5E;YAEL,CAAC;YAVe,sCAAmB,sBAUlC,CAAA;YAGD,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;gBAC1D,IAAI,QAAQ,GAAG,yDAAyD,CAAC;gBAEzE,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,QAAQ,CAAC,CAAC;YAClB,CAAC;YANe,iCAAc,iBAM7B,CAAA;YAGD,SAAgB,cAAc,CAAC,CAAM;gBACjC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE;oBACtB,OAAO;iBACV;gBACD,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YALe,iCAAc,iBAK7B,CAAA;YAED,SAAS,qBAAqB,CAAC,CAAC;gBAC5B,IAAI,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,sBAAsB,CAAC;gBACnE,IAAI,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,uBAAuB,CAAC;gBAErE,IAAI,cAAc,EAAE;oBAChB,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;wBAChE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAC,QAAQ,CAAC,CAAA;qBACjD;yBACI,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;wBACnE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;qBAC/C;iBACJ;gBAED,IAAI,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,YAAY,CAAC;gBACrD,IAAI,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,aAAa,CAAC;gBAEvD,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;wBACxD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;qBAClD;yBACI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE;wBAC3D,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;qBAC/C;iBACJ;gBAED,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;gBAC/C,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC;gBAEjD,IAAI,OAAO,EAAE;oBACT,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;wBAClD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;qBAClD;yBACI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;wBACrD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;qBAC/C;iBACJ;gBAED,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;gBAC7C,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;gBAE/C,IAAI,MAAM,EAAE;oBACR,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBAChD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;qBAClD;yBACI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBACnD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;qBAC/C;iBACJ;gBAGD,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;gBAC7C,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;gBAE/C,IAAI,MAAM,EAAE;oBACR,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBAChD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;qBAClD;yBACI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBACnD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;qBAC/C;iBACJ;gBAED,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;gBAC7C,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;gBAE/C,IAAI,MAAM,EAAE;oBACR,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBAChD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;qBAClD;yBACI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBACnD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;qBAC/C;iBACJ;gBAED,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;gBAC7C,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;gBAE/C,IAAI,MAAM,EAAE;oBACR,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBAChD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;qBAClD;yBACI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBACnD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;qBAC/C;iBACJ;gBAED,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;gBAC7C,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC;gBAE/C,IAAI,MAAM,EAAE;oBACR,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBAChD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;qBAClD;yBACI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;wBACnD,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;qBAC/C;iBACJ;YAGL,CAAC;QAEL,CAAC,EArIwB,kBAAkB,GAAlB,2BAAkB,KAAlB,2BAAkB,QAqI1C;IAAD,CAAC,EArIe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAqIvB;AAAD,CAAC,EArIS,KAAK,KAAL,KAAK,QAqId;ACrID,IAAU,KAAK,CAoBd;AApBD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAoBvB;IApBe,WAAA,QAAQ;QAAC,IAAA,eAAe,CAoBvC;QApBwB,WAAA,eAAe;YACpC,YAAY,CAAC;YAEb,SAAgB,cAAc;gBAC1B,IAAM,SAAS,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACpE,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;YAHe,8BAAc,iBAG7B,CAAA;YAED,SAAgB,mBAAmB,CAAC,CAAM;gBACtC,IAAM,QAAQ,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC7D,IAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClB,QAAQ,CAAC,IAAI,GAAG,wBAAwB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;iBAChE;qBACI;oBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;iBAC5E;YAEL,CAAC;YAVe,mCAAmB,sBAUlC,CAAA;QAEL,CAAC,EApBwB,eAAe,GAAf,wBAAe,KAAf,wBAAe,QAoBvC;IAAD,CAAC,EApBe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAoBvB;AAAD,CAAC,EApBS,KAAK,KAAL,KAAK,QAoBd;ACpBD,IAAU,KAAK,CAqBd;AArBD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAqBvB;IArBe,WAAA,QAAQ;QAAC,IAAA,OAAO,CAqB/B;QArBwB,WAAA,OAAO;YAC5B,YAAY,CAAC;YAEb,SAAgB,mBAAmB,CAAC,CAAM;gBACtC,IAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC3D,IAAM,IAAI,GAAG,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;oBAClB,QAAQ,CAAC,IAAI,GAAG,wBAAwB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;iBAChE;qBACI;oBACD,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;iBAC5E;YACL,CAAC;YATe,2BAAmB,sBASlC,CAAA;YAED,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;gBAC1D,IAAI,QAAQ,GAAG,yDAAyD,CAAC;gBAEzE,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,QAAQ,CAAC,CAAC;YAClB,CAAC;YANe,sBAAc,iBAM7B,CAAA;QACL,CAAC,EArBwB,OAAO,GAAP,gBAAO,KAAP,gBAAO,QAqB/B;IAAD,CAAC,EArBe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAqBvB;AAAD,CAAC,EArBS,KAAK,KAAL,KAAK,QAqBd;ACrBD,IAAU,KAAK,CAUd;AAVD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAUvB;IAVe,WAAA,QAAQ;QAAC,IAAA,YAAY,CAUpC;QAVwB,WAAA,YAAY;YACjC,YAAY,CAAC;YAEb,IAAI,oBAAoB,GAAG,KAAK,CAAC,4BAA4B,CAAC,UAAU,EACpE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;YAEpD,SAAgB,0BAA0B,CAAC,MAAW;gBAClD,OAAO,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;YAC9D,CAAC;YAFe,uCAA0B,6BAEzC,CAAA;QAEL,CAAC,EAVwB,YAAY,GAAZ,qBAAY,KAAZ,qBAAY,QAUpC;IAAD,CAAC,EAVe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAUvB;AAAD,CAAC,EAVS,KAAK,KAAL,KAAK,QAUd;ACVD,IAAU,KAAK,CAoBd;AApBD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAoBvB;IApBe,WAAA,QAAQ;QAAC,IAAA,aAAa,CAoBrC;QApBwB,WAAA,aAAa;YAClC,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAY,KAAK,CAAC;YAC9B,IAAI,cAAsB,CAAC;YAE3B,SAAgB,OAAO,CAAC,CAAM;gBAC1B,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC;gBAChB,CAAC,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7D,CAAC;YAJe,qBAAO,UAItB,CAAA;YAED,SAAgB,iBAAiB;gBAC7B,OAAO,cAAc,CAAC;YAC1B,CAAC;YAFe,+BAAiB,oBAEhC,CAAA;YAED,SAAgB,eAAe;gBAC3B,OAAO,QAAQ,CAAC;YACpB,CAAC;YAFe,6BAAe,kBAE9B,CAAA;QAEL,CAAC,EApBwB,aAAa,GAAb,sBAAa,KAAb,sBAAa,QAoBrC;IAAD,CAAC,EApBe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAoBvB;AAAD,CAAC,EApBS,KAAK,KAAL,KAAK,QAoBd;ACpBD,IAAU,KAAK,CAsDd;AAtDD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAsDvB;IAtDe,WAAA,QAAQ;QAAC,IAAA,aAAa,CAsDrC;QAtDwB,WAAA,aAAa;YAClC,YAAY,CAAC;YAEb,IAAI,gBAAgB,GAAY,KAAK,CAAC;YAEtC,SAAgB,aAAa,CAAC,WAAgB,EAAE,QAAa;gBACzD,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAC/C,2FAA2F,CAAC,CAAC;YACrG,CAAC;YAJe,2BAAa,gBAI5B,CAAA;YAED,SAAgB,IAAI,CAAC,WAAW,EAAE,QAAQ;gBACtC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;oBACZ,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,gBAAgB,CAAC;wBACtB,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;wBACpC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe;wBAC9C,oBAAoB,EAAE,KAAK;qBAC9B,CAAC;iBACL,CAAC,CAAC;YACP,CAAC;YAbe,kBAAI,OAanB,CAAA;YAED,IAAM,mBAAmB,GAAG,iBAAiB,CAAC;YAE9C,SAAgB,SAAS,CAAC,CAAM;gBAC5B,IAAM,IAAI,GAA6B,CAAC,CAAC,SAAS,CAAC;gBACnD,IAAM,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAC,CAAC;gBAEtG,MAAA,kBAAkB,CAAC,CAAC,CAAC,cAAc,EAAE;oBACjC,WAAW,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE;oBACxC,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC;iBAClC,EAAE,QAAQ,CAAC,CAAC;YACjB,CAAC;YAZe,uBAAS,YAYxB,CAAA;YAED,SAAgB,gBAAgB,CAAC,IAAS;gBACtC,OAAO;oBACH,IAAM,mBAAmB,GACrB,IAAI,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAClE,CAAC,CAAA;YACL,CAAC;YALe,8BAAgB,mBAK/B,CAAA;YAED,SAAS,aAAa,CAAC,YAA0B,EAAE,IAAS;gBACxD,IAAI,YAAY,KAAK,MAAA,YAAY,CAAC,MAAM;oBAAE,OAAO;gBAEjD,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,CAAC;QACL,CAAC,EAtDwB,aAAa,GAAb,sBAAa,KAAb,sBAAa,QAsDrC;IAAD,CAAC,EAtDe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAsDvB;AAAD,CAAC,EAtDS,KAAK,KAAL,KAAK,QAsDd;ACtDD,IAAU,KAAK,CAyCd;AAzCD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAyCvB;IAzCe,WAAA,QAAQ;QAAC,IAAA,OAAO,CAyC/B;QAzCwB,WAAA,OAAO;YAC5B,YAAY,CAAC;YAEb,CAAC,CAAC,cAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAErB,SAAS,IAAI;gBACT,IAAM,UAAU,GAAG,CAAC,CAAC,0CAA0C,CAAC,CAAC;gBAEjE,IAAI,UAAU,CAAC,MAAM,EAAE;oBACnB,IAAM,UAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE3C,CAAC,CAAC,GAAG,CAAC,mCAAmC,EAAE,UAAU,IAAI;wBACrD,IAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACzC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC9D,CAAC,CAAC,CAAC;iBACN;YACL,CAAC;YAED,SAAgB,mBAAmB,CAAC,WAAgB,EAAE,QAAa;gBAC/D,IAAI,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACzD,IAAI,OAAO,GAAG,iCAA+B,QAAQ,CAAC,IAAI,CAAC,SAAS,oBAAe,UAAU,mBAAgB,CAAC;gBAC9G,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YAJe,2BAAmB,sBAIlC,CAAA;YAED,SAAgB,WAAW;gBACvB,CAAC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3D,CAAC;YAFe,mBAAW,cAE1B,CAAA;YAED,SAAgB,eAAe;gBAC3B,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,EAAE;oBAC5C,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEH,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YAPe,uBAAe,kBAO9B,CAAA;YAED,SAAgB,aAAa;gBACzB,OAAO,KAAK,CAAC;YACjB,CAAC;YAFe,qBAAa,gBAE5B,CAAA;QAEL,CAAC,EAzCwB,OAAO,GAAP,gBAAO,KAAP,gBAAO,QAyC/B;IAAD,CAAC,EAzCe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAyCvB;AAAD,CAAC,EAzCS,KAAK,KAAL,KAAK,QAyCd;ACzCD,IAAU,KAAK,CAsDd;AAtDD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAsDvB;IAtDe,WAAA,QAAQ;QAAC,IAAA,IAAI,CAsD5B;QAtDwB,WAAA,IAAI;YACzB,YAAY,CAAC;YAEb,SAAgB,sBAAsB,CAAC,CAAM;gBACzC,IAAM,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;gBAEpD,IAAI,WAAW,EAAE;oBACb,MAAA,YAAY,CAAC,YAAY,CAAC,CAAC;iBAC9B;qBAAM;oBACH,MAAA,aAAa,CAAC,YAAY,CAAC,CAAC;iBAC/B;YACL,CAAC;YARe,2BAAsB,yBAQrC,CAAA;YAED,SAAgB,IAAI;gBAChB,MAAA,YAAY,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;YAC7D,CAAC;YAFe,SAAI,OAEnB,CAAA;YAED,SAAgB,IAAI;gBAChB,MAAA,YAAY,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;YAC7D,CAAC;YAFe,SAAI,OAEnB,CAAA;YAED,SAAgB,UAAU;gBACtB,CAAC,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACzD,CAAC;YAFe,eAAU,aAEzB,CAAA;YAED,SAAgB,YAAY,CAAC,CAAM;gBAC/B,IAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEpC,IAAI,MAAM,CAAC,OAAO,EAAE;oBAChB,IAAM,OAAO,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAE7C,MAAA,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;iBACvE;YACL,CAAC;YATe,iBAAY,eAS3B,CAAA;YAED,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;gBAC1D,IAAI,QAAQ,GAAG,0DAA0D,CAAC;gBAE1E,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAC1C,QAAQ,CAAC,CAAC;YAClB,CAAC;YANe,mBAAc,iBAM7B,CAAA;YAED,SAAgB,kBAAkB,CAAC,CAAM;gBACrC,IAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACxD,IAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAEvC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;oBACjB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC3B,IAAI,QAAQ,GAAG,yCAAyC,GAAG,EAAE,CAAC;oBAC9D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACzB;YACL,CAAC;YATe,uBAAkB,qBASjC,CAAA;QACL,CAAC,EAtDwB,IAAI,GAAJ,aAAI,KAAJ,aAAI,QAsD5B;IAAD,CAAC,EAtDe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAsDvB;AAAD,CAAC,EAtDS,KAAK,KAAL,KAAK,QAsDd;ACtDD,IAAU,KAAK,CAoBd;AApBD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAoBvB;IApBe,WAAA,QAAQ;QAAC,IAAA,eAAe,CAoBvC;QApBwB,WAAA,eAAe;YACpC,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAY,KAAK,CAAC;YAC9B,IAAI,cAAsB,CAAC;YAE3B,SAAgB,OAAO,CAAC,CAAM;gBAC1B,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC;gBAChB,CAAC,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/D,CAAC;YAJe,uBAAO,UAItB,CAAA;YAED,SAAgB,iBAAiB;gBAC7B,OAAO,cAAc,CAAC;YAC1B,CAAC;YAFe,iCAAiB,oBAEhC,CAAA;YAED,SAAgB,eAAe;gBAC3B,OAAO,QAAQ,CAAC;YACpB,CAAC;YAFe,+BAAe,kBAE9B,CAAA;QAEL,CAAC,EApBwB,eAAe,GAAf,wBAAe,KAAf,wBAAe,QAoBvC;IAAD,CAAC,EApBe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAoBvB;AAAD,CAAC,EApBS,KAAK,KAAL,KAAK,QAoBd;ACpBD,IAAU,KAAK,CA4Fd;AA5FD,WAAU,KAAK;IAAC,IAAA,QAAQ,CA4FvB;IA5Fe,WAAA,QAAQ;QAAC,IAAA,OAAO,CA4F/B;QA5FwB,WAAA,OAAO;YAC5B,YAAY,CAAC;YAEb,IAAI,SAAS,CAAC;YAEd,CAAC,CAAC;gBACE,IAAI,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAEjD,IAAI,IAAI,EAAE;oBACN,IAAI,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACvE,CAAC,CAAC,GAAG,CAAC,oCAAkC,UAAY,EAAE,UAAC,IAAI;wBACvD,SAAS,GAAG,IAAI,CAAC;wBACjB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;YAEH,SAAgB,YAAY,CAAC,QAAa,EAAE,SAAc,EAAE,WAAe;gBACvE,IAAI,KAAK,GAAG,iIAA+H,QAAQ,CAAC,GAAG,OAAI,CAAC;gBAC5J,WAAW,CAAC,MAAM,CAAC,sCAAoC,KAAK,cAAW,CAAC,CAAC;YAC7E,CAAC;YAHe,oBAAY,eAG3B,CAAA;YAED,SAAgB,sBAAsB,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;gBAClF,OAAO,KAAK,CAAC,oBAAoB,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,EAAZ,CAAY,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC7F,CAAC;YAFe,8BAAsB,yBAErC,CAAA;YAED,SAAgB,WAAW,CAAC,CAAM;gBAC9B,IAAM,kBAAkB,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAClH,CAAC;YAFe,mBAAW,cAE1B,CAAA;YAED,SAAS,mBAAmB;gBACxB,IAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACpD,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK,CAAC,CAAC,CAAC;gBAC9D,OAAO,CAAC,OAAO,EAAE,CAAC;YACtB,CAAC;YAED,SAAgB,cAAc;gBAC1B,IAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAM,OAAO,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,IAAM,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAExC,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjC,MAAA,WAAW,CAAC,2BAAyB,KAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjF;YACL,CAAC;YATe,sBAAc,iBAS7B,CAAA;YAED,SAAgB,aAAa;gBACzB,IAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAM,QAAQ,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAM,SAAS,GAAG,IAAI,MAAA,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7E,CAAC;YAJe,qBAAa,gBAI5B,CAAA;YAED,SAAS,iBAAiB,CAAC,YAA0B,EAAE,IAAS;gBAE5D,IAAI,YAAY,KAAK,MAAA,YAAY,CAAC,MAAM;oBAAE,OAAO;gBAEjD,IAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAM,QAAQ,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE9C,IAAI,IAAI,EAAE;oBACN,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;iBACrC;YACL,CAAC;YAED,SAAgB,kBAAkB;gBAC9B,IAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnD,IAAM,QAAQ,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE9C,IAAI,QAAQ,EAAE;oBACV,IAAI,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC;oBAC7B,IAAI,QAAQ,GAAG,yCAAyC,GAAG,EAAE,CAAC;oBAC9D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACzB;YACL,CAAC;YATe,0BAAkB,qBASjC,CAAA;YAED,SAAS,aAAa,CAAC,YAA0B,EAAE,IAAS;YAC5D,CAAC;YAED,SAAgB,sBAAsB,CAAC,CAAM;gBAEzC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;oBACb,KAAK,CAAC,QAAQ,EAAE,CAAA;iBACnB;gBACD,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;oBACb,KAAK,CAAC,QAAQ,EAAE,CAAA;iBACnB;gBACD,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;oBACb,KAAK,CAAC,QAAQ,EAAE,CAAA;iBACnB;YACL,CAAC;YAXe,8BAAsB,yBAWrC,CAAA;QACL,CAAC,EA5FwB,OAAO,GAAP,gBAAO,KAAP,gBAAO,QA4F/B;IAAD,CAAC,EA5Fe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QA4FvB;AAAD,CAAC,EA5FS,KAAK,KAAL,KAAK,QA4Fd;AC5FD,IAAU,KAAK,CAcd;AAdD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAcvB;IAde,WAAA,QAAQ;QAAC,IAAA,OAAO,CAc/B;QAdwB,WAAA,OAAO;YAC5B,YAAY,CAAC;YAEb,SAAgB,0BAA0B;gBACtC,MAAA,YAAY,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;YAC9D,CAAC;YAFe,kCAA0B,6BAEzC,CAAA;YAED,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;gBAC1D,IAAI,QAAQ,GAAG,yDAAyD,CAAC;gBAEzE,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,QAAQ,CAAC,CAAC;YAClB,CAAC;YANe,sBAAc,iBAM7B,CAAA;QACL,CAAC,EAdwB,OAAO,GAAP,gBAAO,KAAP,gBAAO,QAc/B;IAAD,CAAC,EAde,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAcvB;AAAD,CAAC,EAdS,KAAK,KAAL,KAAK,QAcd;ACdA,IAAU,KAAK,CA2Bf;AA3BA,WAAU,KAAK;IAAC,IAAA,QAAQ,CA2BxB;IA3BgB,WAAA,QAAQ;QAAC,IAAA,IAAI,CA2B7B;QA3ByB,WAAA,IAAI;YAC1B,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAG,KAAK,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAC5D,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS;gBAChD,QAAQ,EAAE,SAAS,EAAE,SAAS;gBAC/B,cAAc,EAAE,iBAAiB,EAAC,eAAe,CAAC,CAAC,CAAC;YAExD,SAAgB,cAAc,CAAC,MAAW;gBACtC,OAAO,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAFe,mBAAc,iBAE7B,CAAA;YAED,SAAgB,gBAAgB,CAAC,CAAM;gBACnC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;YAFe,qBAAgB,mBAE/B,CAAA;YAED,SAAgB,kBAAkB,CAAC,CAAM;gBACrC,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YAFe,uBAAkB,qBAEjC,CAAA;YAED,SAAS,aAAa,CAAC,QAAgB,EAAE,CAAM;gBAC3C,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAI,QAAU,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEjD,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YACnC,CAAC;QAEL,CAAC,EA3ByB,IAAI,GAAJ,aAAI,KAAJ,aAAI,QA2B7B;IAAD,CAAC,EA3BgB,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QA2BxB;AAAD,CAAC,EA3BU,KAAK,KAAL,KAAK,QA2Bf;AC3BD,IAAU,KAAK,CAuEd;AAvED,WAAU,KAAK;IAAC,IAAA,QAAQ,CAuEvB;IAvEe,WAAA,QAAQ;QACpB,YAAY,CAAC;QAEb,IAAM,mBAAmB,GAAG,mBAAmB,CAAC;QAEhD,SAAgB,eAAe,CAAC,WAAgB,EAAE,QAAa;YAC3D,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,yDAAyD,CAAC,CAAC;QACnE,CAAC;QAJe,wBAAe,kBAI9B,CAAA;QAED,SAAgB,sBAAsB,CAAC,WAAgB,EAAE,QAAa;YAClE,IAAI,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,OAAO,GAAG,oCAAkC,QAAQ,CAAC,IAAI,CAAC,YAAY,oBAAe,UAAU,mBAAgB,CAAC;YACpH,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAJe,+BAAsB,yBAIrC,CAAA;QAED,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;YAC1D,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAC5C,yHAAyH,CAAC,CAAC;QACnI,CAAC;QAJe,uBAAc,iBAI7B,CAAA;QAED,SAAgB,mBAAmB;YAC/B,IAAI,QAAQ,GAAG,sBAAsB,CAAC;YACtC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QAE7B,CAAC;QAJe,4BAAmB,sBAIlC,CAAA;QAED,SAAgB,oBAAoB,CAAC,CAAM;YACvC,IAAI,CAAC,CAAC,MAAI,mBAAqB,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1C,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAClD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAE/B,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;oBACZ,WAAW,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE;oBACxC,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,OAAO,YAAC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBAC9C,CAAC,CAAC;aACN;QACL,CAAC;QAfe,6BAAoB,uBAenC,CAAA;QAED,SAAgB,uBAAuB,CAAC,CAAM;YAC1C,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE;gBAC1B,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;aAC3C;iBAAM;gBACH,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;aAC5C;QACL,CAAC;QANe,gCAAuB,0BAMtC,CAAA;QAED,SAAgB,WAAW,CAAC,QAAkC;YAC1D,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjD,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,IAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEnD,IAAM,GAAG,GAAG,eAAa,IAAI,gBAAW,WAAW,oBAAe,UAAY,CAAC;YAC/E,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QACxB,CAAC;QAPe,oBAAW,cAO1B,CAAA;QAED,SAAS,cAAc,CAAC,QAAkC,EAAE,IAAY;YACpE,IAAI,IAAI,KAAK,SAAS,EAAE;gBACpB,OAAO,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClD;YAED,OAAO,QAAQ,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,YAAY,EAAd,CAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;IAEL,CAAC,EAvEe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAuEvB;AAAD,CAAC,EAvES,KAAK,KAAL,KAAK,QAuEd;ACvED,IAAU,KAAK,CAYd;AAZD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAYvB;IAZe,WAAA,QAAQ;QAAC,IAAA,IAAI,CAY5B;QAZwB,WAAA,IAAI;YACzB,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAG,KAAK,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAC5D,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS;gBACjD,QAAQ,EAAE,SAAS,EAAE,SAAS;gBAC1B,cAAc,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;YAE7D,SAAgB,cAAc,CAAC,MAAW;gBACtC,OAAO,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAFe,mBAAc,iBAE7B,CAAA;QAEL,CAAC,EAZwB,IAAI,GAAJ,aAAI,KAAJ,aAAI,QAY5B;IAAD,CAAC,EAZe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAYvB;AAAD,CAAC,EAZS,KAAK,KAAL,KAAK,QAYd;ACZD,IAAU,KAAK,CA0Id;AA1ID,WAAU,KAAK;IAAC,IAAA,WAAW,CA0I1B;IA1Ie,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,OAAO,CAAC,CAAC,MAAM;aAClB;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,EA1Ie,WAAW,GAAX,iBAAW,KAAX,iBAAW,QA0I1B;AAAD,CAAC,EA1IS,KAAK,KAAL,KAAK,QA0Id;AC1ID,IAAU,KAAK,CAiGd;AAjGD,WAAU,KAAK;IAAC,IAAA,WAAW,CAiG1B;IAjGe,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,qBAAqB,EAAE,IAAI;gBAC3B,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;QA3Be,4BAAgB,mBA2B/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,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;gBAC/B,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,EAjGe,WAAW,GAAX,iBAAW,KAAX,iBAAW,QAiG1B;AAAD,CAAC,EAjGS,KAAK,KAAL,KAAK,QAiGd;ACjGD,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,CAgCd;AAhCD,WAAU,KAAK;IAAC,IAAA,MAAM,CAgCrB;IAhCe,WAAA,MAAM;QAClB,YAAY,CAAC;QAEb;YAAyC,uCAAgB;YAErD,6BAAY,YAA6D,EAAE,UAAe;gBAA1F,YACI,kBAAM,eAAe,EAAE,YAAY,EAAE,UAAU,EAC/C;oBACI,IAAM,QAAQ,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBACtE,IAAI,GAAG,GAAQ,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAE5C,GAAG,GAAG,MAAA,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,KAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAChF,GAAG,GAAG,MAAA,0BAA0B,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBAE1F,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;oBAClC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,KAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;oBAElE,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE;wBACvC,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;wBACrD,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;wBACpD,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;wBACnC,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;qBACvC;gBACL,CAAC,CAAC,SACL;gBAES,QAAE,GAAG,UAAC,CAAM;oBAClB,KAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACtC,CAAC,CAAA;;YAJD,CAAC;YAML,0BAAC;QAAD,CA3BA,AA2BC,CA3BwC,KAAK,CAAC,UAAU,GA2BxD;QA3BY,0BAAmB,sBA2B/B,CAAA;IAEL,CAAC,EAhCe,MAAM,GAAN,YAAM,KAAN,YAAM,QAgCrB;AAAD,CAAC,EAhCS,KAAK,KAAL,KAAK,QAgCd;AChCD,IAAU,KAAK,CA4Bd;AA5BD,WAAU,KAAK;IAAC,IAAA,OAAO,CA4BtB;IA5Be,WAAA,OAAO;QACnB,YAAY,CAAC;QAEb;YAA0C,wCAAgB;YAEtD,8BAAY,YAA6D,EAAE,UAAe;gBAA1F,YACI,kBAAM,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE;oBAC9C,IAAM,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACzD,IAAI,CAAC,MAAM,CAAC,UAAU,EAClB,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9E,CAAC,CAAC,SACL;gBAES,QAAE,GAAG,UAAC,CAAM;oBAClB,IAAM,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACzD,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAEpC,IAAI,MAAM,CAAC,OAAO,EAAE;wBAEhB,IAAM,OAAO,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBAE7C,MAAA,WAAW,CAAC,6BAA6B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;6BACtE,IAAI,CAAC,cAAM,OAAA,KAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,EAAE,EAAC,IAAI,CAAC,EAAhC,CAAgC,CAAC,CAAC;qBAErD;gBACL,CAAC,CAAA;;YAdD,CAAC;YAeL,2BAAC;QAAD,CAvBA,AAuBC,CAvByC,KAAK,CAAC,UAAU,GAuBzD;QAvBY,4BAAoB,uBAuBhC,CAAA;IAEL,CAAC,EA5Be,OAAO,GAAP,aAAO,KAAP,aAAO,QA4BtB;AAAD,CAAC,EA5BS,KAAK,KAAL,KAAK,QA4Bd;AC5BD,IAAU,KAAK,CA2BV;AA3BL,WAAU,KAAK;IAAC,IAAA,OAAO,CA2BlB;IA3BW,WAAA,OAAO;QACnB,YAAY,CAAC;QAEb;YAAyC,uCAAgB;YAErD,6BAAY,YAA6D,EAAE,UAAsB;gBAAtB,2BAAA,EAAA,iBAAsB;gBAAjG,YACI,kBAAM,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE;oBAC7C,IAAM,aAAa,GAAG,CAAC,CAAC,MAAI,KAAI,CAAC,UAAU,YAAS,CAAC,CAAC,eAAe,CAAC;wBAClE,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,KAAK,EAAE,UAAU,CAAC,WAAW;qBAChC,CAAC,CAAC;gBAEP,CAAC,CAAC,SACL;gBAES,QAAE,GAAG,UAAC,CAAM;oBAElB,IAAM,aAAa,GAAG,CAAC,CAAC,MAAI,KAAI,CAAC,UAAU,YAAS,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAClF,IAAM,IAAI,GAAG;wBACT,QAAQ,EAAE,KAAI,CAAC,UAAU,CAAC,QAAQ;wBAClC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;qBACxC,CAAC;oBAEF,KAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAClC,CAAC,CAAA;;YAXL,CAAC;YAYD,0BAAC;QAAD,CAtBJ,AAsBK,CAtBoC,KAAK,CAAC,UAAU,GAsBpD;QAtBQ,2BAAmB,sBAsB3B,CAAA;IAEL,CAAC,EA3BW,OAAO,GAAP,aAAO,KAAP,aAAO,QA2BlB;AAAD,CAAC,EA3BK,KAAK,KAAL,KAAK,QA2BV;AC3BL,IAAU,KAAK,CAyDd;AAzDD,WAAU,KAAK;IAAC,IAAA,OAAO,CAyDtB;IAzDe,WAAA,OAAO;QACnB,YAAY,CAAC;QAEb;YAA+B,6BAAgB;YAK3C,mBAAY,YAA6D,EAAE,UAAc;gBAAzF,YACI,kBAAM,KAAK,EAAE,YAAY,EAAE,UAAU,EACrC;oBACI,KAAK,CAAC,aAAa,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;oBAErC,IAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACxC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,KAAI,CAAC,EAAE,CAAC,CAAC;oBACrC,GAAG,CAAC,EAAE,CAAC,EAAE,eAAe,EAAG,aAAa,CAAC,KAAI,CAAC,EAAE,CAAC,CAAC;oBAElD,IAAI,UAAU,EACd;wBACI,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;6BAClC,IAAI,CAAC,UAAC,CAAC;4BAEA,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;4BACzB,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;wBACpC,CAAC,CAAC,CAAC;qBACd;gBACL,CAAC,CAAC,SACL;gBAtBD,kBAAY,GAAY,KAAK,CAAC;gBAwBpB,QAAE,GAAG,UAAC,CAAM;oBAClB,KAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,EAAE,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;gBAC9C,CAAC,CAAA;;YAJD,CAAC;YAML,gBAAC;QAAD,CA9BA,AA8BC,CA9B8B,KAAK,CAAC,UAAU,GA8B9C;QA9BY,iBAAS,YA8BrB,CAAA;QAED,SAAS,aAAa,CAAC,MAAiB;YACpC,OAAO,UAAC,CAAM;gBACV,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;YAChC,CAAC,CAAA;QACL,CAAC;QAED,SAAS,SAAS,CAAC,MAAiB;YAChC,OAAO,UAAC,CAAM;gBACV,MAAM,CAAC,OAAO,GAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAK,CAAC,CAAC,QAAQ,CAAC,GAAK,CAAC;gBACxD,IAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAExC,IAAI,MAAM,CAAC,YAAY,EAAE;oBACrB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;yBACd,IAAI,CAAC,cAAM,OAAA,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;yBAC9C,IAAI,CAAC,UAAC,CAAC,IAAO,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAD5E,CAC4E,CAAC,CAAC;iBACjG;qBAAM;oBACH,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;yBAClC,IAAI,CAAC,UAAC,CAAC,IAAO,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5F;YACL,CAAC,CAAA;QACL,CAAC;IAEL,CAAC,EAzDe,OAAO,GAAP,aAAO,KAAP,aAAO,QAyDtB;AAAD,CAAC,EAzDS,KAAK,KAAL,KAAK,QAyDd;ACzDD,IAAU,KAAK,CAed;AAfD,WAAU,KAAK;IAAC,IAAA,MAAM,CAerB;IAfe,WAAA,MAAM;QAClB,YAAY,CAAC;QAEb;YAAwC,sCAAgB;YAEpD,4BAAY,YAA6D,EAAE,UAAe,EACtF,mBAA+B;gBADnC,YAEI,kBAAM,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,mBAAmB,CAAC,SACvE;gBAES,QAAE,GAAG,UAAC,CAAM;oBAClB,KAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACtC,CAAC,CAAA;;YAJD,CAAC;YAKL,yBAAC;QAAD,CAVA,AAUC,CAVuC,KAAK,CAAC,UAAU,GAUvD;QAVY,yBAAkB,qBAU9B,CAAA;IAEL,CAAC,EAfe,MAAM,GAAN,YAAM,KAAN,YAAM,QAerB;AAAD,CAAC,EAfS,KAAK,KAAL,KAAK,QAed;ACfD,IAAU,KAAK,CAuBd;AAvBD,WAAU,KAAK;IAAC,IAAA,MAAM,CAuBrB;IAvBe,WAAA,MAAM;QAClB,YAAY,CAAC;QAEb;YAAmC,iCAAgB;YAE/C,uBAAY,YAA6D;gBAAzE,YACI,kBAAM,SAAS,EAAE,YAAY,CAAC,SACjC;gBAES,QAAE,GAAG,UAAC,CAAM;oBAElB,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAI,KAAI,CAAC,UAAU,eAAY,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC3E,IAAM,YAAY,GAAQ,QAAQ,CAAC,mBAAmB,EAAE,CAAC;oBAEzD,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;wBACzB,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,gCAAgC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;qBAC3E;yBAAM;wBACH,IAAI,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;wBAC3B,KAAI,CAAC,KAAK,CAAC,MAAA,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;qBACrC;gBACL,CAAC,CAAA;;YAbD,CAAC;YAcL,oBAAC;QAAD,CAlBA,AAkBC,CAlBkC,KAAK,CAAC,UAAU,GAkBlD;QAlBY,oBAAa,gBAkBzB,CAAA;IAEL,CAAC,EAvBe,MAAM,GAAN,YAAM,KAAN,YAAM,QAuBrB;AAAD,CAAC,EAvBS,KAAK,KAAL,KAAK,QAuBd;ACvBD,IAAU,KAAK,CA0Md;AA1MD,WAAU,KAAK;IAAC,IAAA,OAAO,CA0MtB;IA1Me,WAAA,OAAO;QAAC,IAAA,QAAQ,CA0M/B;QA1MuB,WAAA,QAAQ;YAE5B,YAAY,CAAC;YAEb,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,QAAQ,GAAY,KAAK,CAAC;YAE9B,IAAI,WAAqC,CAAC;YAC1C,IAAI,YAAsC,CAAC;YAC3C,IAAI,eAAyC,CAAC;YAC9C,IAAI,gCAA0D,CAAC;YAC/D,IAAM,cAAc,GAAW,YAAY,CAAC;YAC5C,IAAM,gBAAgB,GAAW,cAAc,CAAC;YAChD,IAAM,cAAc,GAAW,oBAAoB,CAAC;YAEpD,CAAC,CAAC,cAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAErB,SAAS,IAAI;gBACT,WAAW,GAAG,CAAC,CAAC,2BAA2B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACpE,YAAY,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC7D,eAAe,GAAG,CAAC,CAAC,4BAA4B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACzE,gCAAgC,GAAG,CAAC,CAAC,6CAA6C,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/G,CAAC;YAED,SAAgB,cAAc,CAAC,CAAM;gBAEjC,IAAI,GAAG,GAAG,CAAC,CAAC,6CAA6C,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClH,IAAI,GAAG,GAAG,CAAC,CAAC,EACZ;oBAAE,OAAO,CAAC,CAAC;iBAAE;qBAEb;oBAAE,OAAO,CAAC,CAAC,CAAC;iBAAE;YAClB,CAAC;YAPe,uBAAc,iBAO7B,CAAA;YAED,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;gBAC1D,IAAI,QAAQ,GAAG,yDAAyD,CAAC;gBAEzE,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,QAAQ,CAAC,CAAC;YAClB,CAAC;YANe,uBAAc,iBAM7B,CAAA;YAED,SAAgB,WAAW,CAAC,CAAM;gBAC9B,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;YAFe,oBAAW,cAE1B,CAAA;YAED,SAAgB,eAAe,CAAC,CAAM;gBAClC,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC;gBAChB,WAAW,EAAE,CAAC;YAClB,CAAC;YAJe,wBAAe,kBAI9B,CAAA;YAED,SAAS,WAAW;gBAChB,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC1B,WAAW,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;gBACrC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC3B,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,eAAe,CAAC,WAAW,EAAE,CAAC;gBAC9B,gCAAgC,CAAC,WAAW,EAAE,CAAC;gBAC/C,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBACpC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YACxC,CAAC;YAED,SAAgB,eAAe,CAAC,CAAM;gBAClC,IAAI,WAAW,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;oBACnC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;oBACrC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;iBACtC;qBAAM;oBACH,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;oBACpC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;oBACtC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;iBACvC;YACL,CAAC;YAVe,wBAAe,kBAU9B,CAAA;YAED,SAAgB,kBAAkB;gBAC9B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,MAAA,WAAW,CAAC,6CAA6C,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EACzF,UAAC,IAAI,IAAK,OAAA,WAAW,CAAC,OAAO,EAAE,EAArB,CAAqB,CAAC,CAAC;YACrC,CAAC;YAJe,2BAAkB,qBAIjC,CAAA;YAED,SAAgB,oBAAoB;gBAChC,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,MAAA,WAAW,CAAC,gDAAgD,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAC5F,UAAC,IAAI,IAAK,OAAA,WAAW,CAAC,OAAO,EAAE,EAArB,CAAqB,CAAC,CAAC;YACrC,CAAC;YAJe,6BAAoB,uBAInC,CAAA;YAED,SAAS,SAAS;gBACd,OAAO;oBACH,QAAQ,EAAE,WAAW,CAAC,kBAAkB,EAAE;oBAC1C,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,EAAE;oBACnD,YAAY,EAAE,eAAe,CAAC,kBAAkB,EAAE;oBAClD,6BAA6B,EAAE,gCAAgC,CAAC,kBAAkB,EAAE;iBACvF,CAAC;YACN,CAAC;YAED,SAAgB,oBAAoB;gBAChC,IAAI,UAAU,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;gBAClD,MAAA,WAAW,CAAC,wCAAwC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,EACpF,cAAQ,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;YAJe,6BAAoB,uBAInC,CAAA;YAED,SAAgB,YAAY;gBACxB,OAAO,SAAS,CAAC;YACrB,CAAC;YAFe,qBAAY,eAE3B,CAAA;YAED,SAAgB,eAAe;gBAC3B,OAAO,QAAQ,CAAC;YACpB,CAAC;YAFe,wBAAe,kBAE9B,CAAA;YAED,SAAgB,mBAAmB,CAAC,WAAgB,EAAE,QAAa;gBAC/D,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,yDAAyD,CAAC,CAAC;YACnE,CAAC;YAJe,4BAAmB,sBAIlC,CAAA;YAED,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,SAAgB,cAAc;gBAC1B,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,CAAC;YACjB,CAAC;YAHe,uBAAc,iBAG7B,CAAA;YAED,SAAgB,cAAc;gBAC1B,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,CAAC;YACjB,CAAC;YAHe,uBAAc,iBAG7B,CAAA;YAED,SAAS,aAAa;gBAClB,WAAW,EAAE,CAAC;gBACd,IAAI,WAAW,GAAG,CAAC,EAAE;oBACjB,WAAW,GAAG,CAAC,CAAC;iBACnB;YACL,CAAC;YAED,SAAS,aAAa;gBAClB,WAAW,EAAE,CAAC;gBACd,IAAI,WAAW,GAAG,CAAC,EAAE;oBACjB,WAAW,GAAG,CAAC,CAAC;iBACnB;YACL,CAAC;YAED,SAAgB,UAAU;gBACtB,QAAQ,WAAW,EAAE;oBACjB,KAAK,CAAC;wBACF,WAAW,CAAC,eAAe,CAAC,CAAC;wBAC7B,WAAW,CAAC,qBAAqB,CAAC,CAAC;wBACnC,WAAW,CAAC,2BAA2B,CAAC,CAAC;wBACzC,iBAAiB,CAAC,uBAAuB,EAAE,+MAA+M,CAAC,CAAC;wBAC5P,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;wBACtC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;wBAC/B,iBAAiB,EAAE,CAAC;wBACpB,MAAM;oBAEV,KAAK,CAAC;wBACF,WAAW,CAAC,eAAe,CAAC,CAAC;wBAC7B,WAAW,CAAC,qBAAqB,CAAC,CAAC;wBACnC,WAAW,CAAC,2BAA2B,CAAC,CAAC;wBACzC,kBAAkB,EAAE,CAAC;wBACrB,iBAAiB,CAAC,uBAAuB,EAAE,+EAA+E,CAAC,CAAC;wBAC5H,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;wBACtC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;wBAC/B,MAAM;oBAEV,KAAK,CAAC;wBACF,WAAW,CAAC,qBAAqB,CAAC,CAAC;wBACnC,WAAW,CAAC,2BAA2B,CAAC,CAAC;wBACzC,iBAAiB,CAAC,uBAAuB,EAAE,6EAA6E,CAAC,CAAC;wBAC1H,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;wBACtC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;wBAC/B,MAAM;oBACV;wBACI,MAAM;iBACb;gBAED,iBAAiB,CAAC,iBAAiB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,CAAC;YAlCe,mBAAU,aAkCzB,CAAA;YAED,IAAI,mBAAwB,CAAC;YAE7B,SAAS,kBAAkB;gBACvB,IAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnD,mBAAmB,GAAG,EAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,aAAa,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC,aAAa,EAAC,CAAC;gBAC7K,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YACrH,CAAC;YAED,SAAS,iBAAiB;gBACtB,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YACvD,CAAC;YAED,SAAS,WAAW,CAAC,EAAU;gBAC3B,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,SAAS,WAAW,CAAC,EAAU;gBAC3B,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACxC,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;YAED,SAAS,iBAAiB,CAAC,EAAU,EAAE,IAAY;gBAC/C,CAAC,CAAC,MAAI,EAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC,EA1MuB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA0M/B;IAAD,CAAC,EA1Me,OAAO,GAAP,aAAO,KAAP,aAAO,QA0MtB;AAAD,CAAC,EA1MS,KAAK,KAAL,KAAK,QA0Md;AC1MD,IAAU,KAAK,CAwDd;AAxDD,WAAU,KAAK;IAAC,IAAA,OAAO,CAwDtB;IAxDe,WAAA,OAAO;QAAC,IAAA,UAAU,CAwDjC;QAxDuB,WAAA,UAAU;YAE9B,YAAY,CAAC;YAEb,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,QAAQ,GAAY,KAAK,CAAC;YAE9B,IAAI,WAAqC,CAAC;YAC1C,IAAM,oBAAoB,GAAW,kBAAkB,CAAC;YAExD,CAAC,CAAC,cAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAErB,SAAS,IAAI;gBACT,WAAW,GAAG,CAAC,CAAC,4BAA4B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACzE,CAAC;YAED,SAAgB,mBAAmB,CAAC,WAAgB,EAAE,QAAa;gBAG/D,IAAI,OAAO,GAAG,iCAA+B,QAAQ,CAAC,IAAI,CAAC,SAAS,mBAAgB,CAAC;gBACrF,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YALe,8BAAmB,sBAKlC,CAAA;YAED,SAAgB,eAAe,CAAC,CAAM;gBAClC,SAAS,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC;gBAChB,WAAW,EAAE,CAAC;YAClB,CAAC;YAJe,0BAAe,kBAI9B,CAAA;YAED,SAAS,WAAW;gBAChB,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC1B,WAAW,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;gBACrC,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC9C,CAAC;YAED,SAAgB,eAAe,CAAC,CAAM;gBAClC,IAAI,WAAW,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;iBAC5C;qBAAM;oBACH,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;iBAC7C;YACL,CAAC;YANe,0BAAe,kBAM9B,CAAA;YAED,SAAgB,kBAAkB;gBAC9B,IAAI,UAAU,GAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;gBAClD,MAAA,WAAW,CAAC,wCAAwC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,EACpF,cAAQ,WAAW,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;YACnC,CAAC;YAJe,6BAAkB,qBAIjC,CAAA;YAED,SAAgB,YAAY;gBACxB,OAAO,SAAS,CAAC;YACrB,CAAC;YAFe,uBAAY,eAE3B,CAAA;YAED,SAAgB,eAAe;gBAC3B,OAAO,QAAQ,CAAC;YACpB,CAAC;YAFe,0BAAe,kBAE9B,CAAA;QACL,CAAC,EAxDuB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAwDjC;IAAD,CAAC,EAxDe,OAAO,GAAP,aAAO,KAAP,aAAO,QAwDtB;AAAD,CAAC,EAxDS,KAAK,KAAL,KAAK,QAwDd;ACxDD,IAAU,KAAK,CAmHd;AAnHD,WAAU,KAAK;IAAC,IAAA,OAAO,CAmHtB;IAnHe,WAAA,OAAO;QAAC,IAAA,MAAM,CAmH7B;QAnHuB,WAAA,MAAM;YAE1B,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,SAAgB,aAAa;gBACzB,IAAM,aAAa,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACxE,CAAC;YAFe,oBAAa,gBAE5B,CAAA;YAED,SAAS,aAAa,CAAC,YAA0B,EAAE,IAAS;gBACxD,IAAI,YAAY,KAAK,MAAA,YAAY,CAAC,MAAM;oBAAE,OAAO;gBAEjD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAE3B,2BAA2B,EAAE,CAAC;gBAC9B,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrC,KAAK,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;YAChD,CAAC;YAGD,SAAgB,oBAAoB;gBAChC,QAAQ,CAAC,IAAI,GAAG,yBAAyB,CAAC;YAC9C,CAAC;YAFe,2BAAoB,uBAEnC,CAAA;YAED,SAAgB,kCAAkC,CAAC,yBAAiC;gBAEhF,IAAM,QAAQ,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBACtE,IAAI,GAAG,GAAQ,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE5C,IAAI,yBAAyB,GAAG,CAAC,EAAE;oBAC/B,GAAG,GAAG,MAAA,0BAA0B,CAAC,GAAG,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;oBACtF,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBACtC;qBAAM;oBACH,GAAG,GAAG,MAAA,0BAA0B,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;oBAC3D,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;iBACrC;gBAED,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACtC,CAAC;YAde,yCAAkC,qCAcjD,CAAA;YAED,SAAS,2BAA2B;gBAEhC,QAAQ,GAAG,IAAI,CAAC;gBAEhB,IAAM,UAAU,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE/D,IAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,mBAAmB,CAA2B,CAAC;gBAE3F,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBACzC,cAAc,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;gBACxC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;YAED,SAAS,wBAAwB,CAAC,KAAa;gBAC3C,IAAM,kBAAkB,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACvE,IAAI,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAQ,CAAC;gBAExD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC;YAED,SAAgB,qBAAqB;gBACjC,IAAM,UAAU,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE/D,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;gBAE7C,IAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAA4B,CAAC;gBAChF,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAEnC,IAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,mBAAmB,CAA2B,CAAC;gBAE3F,cAAc,CAAC,KAAK,EAAE,CAAC;gBACvB,QAAQ,GAAG,KAAK,CAAC;gBACjB,cAAc,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC;gBACxC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;YAde,4BAAqB,wBAcpC,CAAA;YAED,SAAgB,YAAY;gBACxB,OAAO,SAAS,CAAC;YACrB,CAAC;YAFe,mBAAY,eAE3B,CAAA;YAED,SAAgB,eAAe;gBAC3B,OAAO,QAAQ,CAAC;YACpB,CAAC;YAFe,sBAAe,kBAE9B,CAAA;YAED,SAAgB,uBAAuB,CAAC,CAAM;gBAC1C,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,EAAE;oBACzB,kCAAkC,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;iBACxE;qBAAM;oBACH,kCAAkC,CAAC,CAAC,CAAC,CAAC;iBACzC;YACL,CAAC;YANe,8BAAuB,0BAMtC,CAAA;YAED,SAAgB,WAAW,CAAC,CAAM;gBAC9B,IAAM,cAAc,GAAG,IAAI,CAAC;gBAE5B,IAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;gBAE5C,IAAM,aAAa,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;gBAChH,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YACvD,CAAC;YAPe,kBAAW,cAO1B,CAAA;YAED,SAAgB,sBAAsB,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;gBAClF,WAAW,CAAC,MAAM,CAAC,qFAA6E,QAAQ,CAAC,IAAI,eAAU,QAAQ,CAAC,IAAI,WAAQ,CAAC,CAAC;YAClJ,CAAC;YAFe,6BAAsB,yBAErC,CAAA;YAED,SAAgB,yBAAyB,CAAC,IAAS;gBAC/C,IAAI,IAAI,EAAE;oBACN,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;iBACxC;gBAED,OAAO,YAAY,CAAC;YACxB,CAAC;YANe,gCAAyB,4BAMxC,CAAA;QACL,CAAC,EAnHuB,MAAM,GAAN,cAAM,KAAN,cAAM,QAmH7B;IAAD,CAAC,EAnHe,OAAO,GAAP,aAAO,KAAP,aAAO,QAmHtB;AAAD,CAAC,EAnHS,KAAK,KAAL,KAAK,QAmHd;ACnHD,IAAU,KAAK,CAad;AAbD,WAAU,KAAK;IAAC,IAAA,QAAQ,CAavB;IAbe,WAAA,QAAQ;QACpB,YAAY,CAAC;QAEb,SAAgB,YAAY,CAAC,CAAM;YAC/B,IAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACvD,IAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEvC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBACjB,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC3B,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;aACtB;QACL,CAAC;QARe,qBAAY,eAQ3B,CAAA;IAEL,CAAC,EAbe,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAavB;AAAD,CAAC,EAbS,KAAK,KAAL,KAAK,QAad;ACbD,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,GAAG,IAAI,MAAA,QAAQ,EAAE,CAAC;QAE9B,SAAgB,oBAAoB,CAAC,OAAY,EAAE,KAAU;YACzD,OAAO,MAAA,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QAFe,gCAAoB,uBAEnC,CAAA;QAED,SAAgB,gCAAgC,CAAC,WAAgB,EAAE,QAAa;YAC5E,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,WAAgB,EAAE,QAAa;YAClE,OAAO,MAAA,kBAAkB,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjG,CAAC;QAFe,kCAAsB,yBAErC,CAAA;QAED,SAAgB,sBAAsB,CAAC,WAAgB,EAAE,QAAa;YAClE,OAAO,MAAA,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACrD,CAAC;QAFe,kCAAsB,yBAErC,CAAA;QAED,SAAgB,iBAAiB,CAAC,UAAkB;YAChD,OAAO,UAAC,CAAM;gBACV,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,CAwBd;AAxBD,WAAU,KAAK;IAAC,IAAA,WAAW,CAwB1B;IAxBe,WAAA,WAAW;QAAC,IAAA,IAAI,CAwB/B;QAxB2B,WAAA,IAAI;YAC5B,YAAY,CAAC;YAEb,IAAI,6BAA6B,GAAG,KAAK,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EACpF,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,YAAY,EAAE,8BAA8B,CAAC,CAAC,CAAC;YAEhG,IAAI,0BAA0B,GAAG,KAAK,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EACjF,CAAC,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;YAEnF,IAAI,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAChF,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAC,CAAC;YAG/D,SAAgB,mCAAmC,CAAC,MAAW;gBAC3D,OAAO,KAAK,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC;YAFe,wCAAmC,sCAElD,CAAA;YAED,SAAgB,gCAAgC,CAAC,MAAW;gBACxD,OAAO,KAAK,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;YACpE,CAAC;YAFe,qCAAgC,mCAE/C,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,EAxB2B,IAAI,GAAJ,gBAAI,KAAJ,gBAAI,QAwB/B;IAAD,CAAC,EAxBe,WAAW,GAAX,iBAAW,KAAX,iBAAW,QAwB1B;AAAD,CAAC,EAxBS,KAAK,KAAL,KAAK,QAwBd;ACxBD,IAAU,KAAK,CAqBd;AArBD,WAAU,KAAK;IAAC,IAAA,OAAO,CAqBtB;IArBe,WAAA,OAAO;QAAC,IAAA,aAAa,CAqBpC;QArBuB,WAAA,aAAa;YACjC,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAY,KAAK,CAAC;YAC9B,IAAI,cAAsB,CAAC;YAE3B,SAAgB,OAAO,CAAC,CAAM;gBAC1B,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBAChF,CAAC,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7D,CAAC;YALe,qBAAO,UAKtB,CAAA;YAED,SAAgB,iBAAiB;gBAC7B,OAAO,cAAc,CAAC;YAC1B,CAAC;YAFe,+BAAiB,oBAEhC,CAAA;YAED,SAAgB,eAAe;gBAC3B,OAAO,QAAQ,CAAC;YACpB,CAAC;YAFe,6BAAe,kBAE9B,CAAA;QAEL,CAAC,EArBuB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAqBpC;IAAD,CAAC,EArBe,OAAO,GAAP,aAAO,KAAP,aAAO,QAqBtB;AAAD,CAAC,EArBS,KAAK,KAAL,KAAK,QAqBd;ACrBD,IAAU,KAAK,CA+Dd;AA/DD,WAAU,KAAK;IAAC,IAAA,OAAO,CA+DtB;IA/De,WAAA,OAAO;QAAC,IAAA,QAAQ,CA+D/B;QA/DuB,WAAA,QAAQ;YAC5B,YAAY,CAAC;YAEb,SAAgB,4BAA4B;gBACxC,MAAA,YAAY,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;YAChE,CAAC;YAFe,qCAA4B,+BAE3C,CAAA;YAED,SAAgB,kBAAkB,CAAC,CAAM;gBACrC,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YAFe,2BAAkB,qBAEjC,CAAA;YAED,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;gBAC1D,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAC1C,0DAA0D,CAAC,CAAC;YACpE,CAAC;YAJe,uBAAc,iBAI7B,CAAA;YAED,SAAgB,oBAAoB,CAAC,WAAgB,EAAE,QAAa;gBAChE,IAAI,kBAAkB,GAAG;oBACrB,YAAY,EAAE,EAAE;oBAChB,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE,gCAAgC;oBAC3C,WAAW,EAAE,EAAE;oBACf,WAAW,EAAE,EAAE;oBACf,WAAW,EAAE,EAAE;iBAClB,CAAC;gBAEF,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;gBAEnE,IAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC9C,KAAK,EAAE,KAAK;iBACf,CAAC,CAAC;gBAEH,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;oBACZ,UAAU,EAAE,UAAU;oBACtB,SAAS,EAAE,YAAY;oBACvB,WAAW,EAAE,UAAC,IAAQ,IAAK,OAAA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAhD,CAAgD;oBAC3E,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU;oBAC/B,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;oBAE5B,cAAc,YAAC,CAAC;wBACZ,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;iBACJ,CAAC,CAAC;gBAEH,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;YAE/E,CAAC;YAjCe,6BAAoB,uBAiCnC,CAAA;YAED,SAAgB,sBAAsB,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;gBAClF,WAAW,CAAC,MAAM,CAAC,qFAA6E,QAAQ,CAAC,IAAI,eAAU,QAAQ,CAAC,IAAI,WAAQ,CAAC,CAAC;YAClJ,CAAC;YAFe,+BAAsB,yBAErC,CAAA;YAED,SAAS,YAAY,CAAC,QAAgB,EAAE,CAAM;gBAC1C,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAI,QAAU,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE/C,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YACjC,CAAC;QAEL,CAAC,EA/DuB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA+D/B;IAAD,CAAC,EA/De,OAAO,GAAP,aAAO,KAAP,aAAO,QA+DtB;AAAD,CAAC,EA/DS,KAAK,KAAL,KAAK,QA+Dd;AC/DD,IAAU,KAAK,CAyCd;AAzCD,WAAU,KAAK;IAAC,IAAA,OAAO,CAyCtB;IAzCe,WAAA,OAAO;QAAC,IAAA,OAAO,CAyC9B;QAzCuB,WAAA,OAAO;YAC3B,YAAY,CAAC;YAEb,CAAC,CAAC,cAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAErB,SAAS,IAAI;gBACT,IAAM,UAAU,GAAG,CAAC,CAAC,yCAAyC,CAAC,CAAC;gBAEhE,IAAI,UAAU,CAAC,MAAM,EAAE;oBACnB,IAAM,UAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE3C,CAAC,CAAC,GAAG,CAAC,kCAAkC,EAAE,UAAS,IAAI;wBACnD,IAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACzC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC9D,CAAC,CAAC,CAAC;iBACN;YACL,CAAC;YAED,SAAgB,mBAAmB,CAAC,WAAgB,EAAE,QAAa;gBAC/D,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,yDAAyD,CAAC,CAAC;YACnE,CAAC;YAJe,2BAAmB,sBAIlC,CAAA;YAED,SAAgB,WAAW;gBACvB,CAAC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3D,CAAC;YAFe,mBAAW,cAE1B,CAAA;YAED,SAAgB,eAAe;gBAC3B,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,EAAE;oBAC5C,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEH,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YAPe,uBAAe,kBAO9B,CAAA;YAED,SAAgB,aAAa;gBACzB,OAAO,KAAK,CAAC;YACjB,CAAC;YAFe,qBAAa,gBAE5B,CAAA;QAEL,CAAC,EAzCuB,OAAO,GAAP,eAAO,KAAP,eAAO,QAyC9B;IAAD,CAAC,EAzCe,OAAO,GAAP,aAAO,KAAP,aAAO,QAyCtB;AAAD,CAAC,EAzCS,KAAK,KAAL,KAAK,QAyCd;ACzCD,IAAU,KAAK,CA2Cd;AA3CD,WAAU,KAAK;IAAC,IAAA,OAAO,CA2CtB;IA3Ce,WAAA,OAAO;QAAC,IAAA,IAAI,CA2C3B;QA3CuB,WAAA,IAAI;YACxB,YAAY,CAAC;YAEb,SAAgB,sBAAsB,CAAC,CAAM;gBACzC,IAAM,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;gBAEpD,IAAI,WAAW,EAAE;oBACb,MAAA,YAAY,CAAC,YAAY,CAAC,CAAC;iBAC9B;qBAAM;oBACH,MAAA,aAAa,CAAC,YAAY,CAAC,CAAC;iBAC/B;YACL,CAAC;YARe,2BAAsB,yBAQrC,CAAA;YAED,SAAgB,IAAI;gBAChB,MAAA,YAAY,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;YAC3D,CAAC;YAFe,SAAI,OAEnB,CAAA;YAED,SAAgB,IAAI;gBAChB,MAAA,YAAY,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;YAC3D,CAAC;YAFe,SAAI,OAEnB,CAAA;YAED,SAAgB,UAAU;gBACtB,CAAC,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;YACxD,CAAC;YAFe,eAAU,aAEzB,CAAA;YAED,SAAgB,YAAY,CAAC,CAAM;gBAC/B,IAAM,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACxD,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEpC,IAAI,MAAM,CAAC,OAAO,EAAE;oBAChB,IAAM,OAAO,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAE7C,MAAA,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;iBACtE;YACL,CAAC;YATe,iBAAY,eAS3B,CAAA;YAED,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;gBAC1D,IAAI,QAAQ,GAAG,yDAAyD,CAAC;gBAEzE,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,QAAQ,CAAC,CAAC;YAClB,CAAC;YANe,mBAAc,iBAM7B,CAAA;QACL,CAAC,EA3CuB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QA2C3B;IAAD,CAAC,EA3Ce,OAAO,GAAP,aAAO,KAAP,aAAO,QA2CtB;AAAD,CAAC,EA3CS,KAAK,KAAL,KAAK,QA2Cd;AC3CD,IAAU,KAAK,CAqBd;AArBD,WAAU,KAAK;IAAC,IAAA,OAAO,CAqBtB;IArBe,WAAA,OAAO;QAAC,IAAA,eAAe,CAqBtC;QArBuB,WAAA,eAAe;YACnC,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAY,KAAK,CAAC;YAC9B,IAAI,cAAsB,CAAC;YAE3B,SAAgB,OAAO,CAAC,CAAM;gBAC1B,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;gBACzB,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBAChF,CAAC,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/D,CAAC;YALe,uBAAO,UAKtB,CAAA;YAED,SAAgB,iBAAiB;gBAC7B,OAAO,cAAc,CAAC;YAC1B,CAAC;YAFe,iCAAiB,oBAEhC,CAAA;YAED,SAAgB,eAAe;gBAC3B,OAAO,QAAQ,CAAC;YACpB,CAAC;YAFe,+BAAe,kBAE9B,CAAA;QAEL,CAAC,EArBuB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAqBtC;IAAD,CAAC,EArBe,OAAO,GAAP,aAAO,KAAP,aAAO,QAqBtB;AAAD,CAAC,EArBS,KAAK,KAAL,KAAK,QAqBd;ACrBD,IAAU,KAAK,CAiCd;AAjCD,WAAU,KAAK;IAAC,IAAA,OAAO,CAiCtB;IAjCe,WAAA,OAAO;QAAC,IAAA,OAAO,CAiC9B;QAjCuB,WAAA,OAAO;YAC3B,YAAY,CAAC;YAEb,SAAgB,aAAa;gBACzB,IAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAClD,IAAM,OAAO,GAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAM,MAAM,GAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,IAAM,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAExC,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjC,MAAA,WAAW,CAAC,0BAAwB,KAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;iBAChF;YACL,CAAC;YATe,qBAAa,gBAS5B,CAAA;YAED,SAAgB,uBAAuB,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;gBACnF,OAAO,KAAK,CAAC,oBAAoB,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,oBAAoB,EAAtB,CAAsB,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YACvG,CAAC;YAFe,+BAAuB,0BAEtC,CAAA;YAED,SAAgB,qBAAqB,CAAC,QAAa,EAAE,SAAc,EAAE,WAAgB;gBACjF,OAAO,KAAK,CAAC,oBAAoB,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,aAAa,EAAf,CAAe,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAChG,CAAC;YAFe,6BAAqB,wBAEpC,CAAA;YAED,SAAgB,YAAY,CAAC,CAAM;gBAC/B,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YAFe,oBAAY,eAE3B,CAAA;YAED,SAAS,YAAY,CAAC,QAAgB,EAAE,CAAM;gBAC1C,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAI,QAAU,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE/C,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YACjC,CAAC;QAEL,CAAC,EAjCuB,OAAO,GAAP,eAAO,KAAP,eAAO,QAiC9B;IAAD,CAAC,EAjCe,OAAO,GAAP,aAAO,KAAP,aAAO,QAiCtB;AAAD,CAAC,EAjCS,KAAK,KAAL,KAAK,QAiCd;ACjCD,IAAU,KAAK,CAWd;AAXD,WAAU,KAAK;IAAC,IAAA,OAAO,CAWtB;IAXe,WAAA,OAAO;QAAC,IAAA,IAAI,CAW3B;QAXuB,WAAA,IAAI;YACxB,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAG,KAAK,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAC3D,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc;gBAC7E,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;YAE7C,SAAgB,cAAc,CAAC,MAAW;gBACtC,OAAO,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAFe,mBAAc,iBAE7B,CAAA;QAEL,CAAC,EAXuB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAW3B;IAAD,CAAC,EAXe,OAAO,GAAP,aAAO,KAAP,aAAO,QAWtB;AAAD,CAAC,EAXS,KAAK,KAAL,KAAK,QAWd;ACXD,IAAU,KAAK,CAqEd;AArED,WAAU,KAAK;IAAC,IAAA,OAAO,CAqEtB;IArEe,WAAA,OAAO;QACnB,YAAY,CAAC;QAEb,IAAM,mBAAmB,GAAG,mBAAmB,CAAC;QAEhD,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,8BAAsB,yBAIrC,CAAA;QAED,SAAgB,cAAc,CAAC,WAAgB,EAAE,QAAa;YAC1D,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAC5C,yHAAyH,CAAC,CAAC;QACnI,CAAC;QAJe,sBAAc,iBAI7B,CAAA;QAED,SAAgB,mBAAmB;YAC/B,IAAI,QAAQ,GAAG,qBAAqB,CAAC;YACrC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QAE7B,CAAC;QAJe,2BAAmB,sBAIlC,CAAA;QAED,SAAgB,QAAQ;YAEpB,IAAI,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACjC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC7B,CAAC;QALe,gBAAQ,WAKvB,CAAA;QAED,SAAgB,oBAAoB,CAAC,CAAM;YACvC,IAAI,CAAC,CAAC,MAAI,mBAAqB,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC1C,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAClD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAE/B,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;oBACZ,WAAW,EAAE,EAAE,EAAE,EAAE,mBAAmB,EAAE;oBACxC,IAAI,EAAE,6BAA6B;oBACnC,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,OAAO,YAAC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBAC9C,CAAC,CAAC;aACN;QACL,CAAC;QAfe,4BAAoB,uBAenC,CAAA;QAED,SAAgB,uBAAuB,CAAC,CAAM;YAC1C,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE;gBAC1B,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;aAC3C;iBAAM;gBACH,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;aAC5C;QACL,CAAC;QANe,+BAAuB,0BAMtC,CAAA;QAED,SAAgB,WAAW,CAAC,QAAkC;YAC1D,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,IAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACnD,IAAM,GAAG,GAAG,eAAa,IAAI,gBAAW,WAAa,CAAC;YACtD,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QACxB,CAAC;QALe,mBAAW,cAK1B,CAAA;QAED,SAAS,cAAc,CAAC,QAAkC,EAAE,IAAY;YACpE,IAAI,IAAI,KAAK,SAAS,EAAE;gBACpB,OAAO,QAAQ,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClD;YAED,OAAO,QAAQ,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,YAAY,EAAd,CAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC,EArEe,OAAO,GAAP,aAAO,KAAP,aAAO,QAqEtB;AAAD,CAAC,EArES,KAAK,KAAL,KAAK,QAqEd;ACrED,IAAU,KAAK,CAsFd;AAtFD,WAAU,KAAK;IAAC,IAAA,OAAO,CAsFtB;IAtFe,WAAA,OAAO;QAAC,IAAA,MAAM,CAsF7B;QAtFuB,WAAA,MAAM;YAC1B,YAAY,CAAC;YAEb,SAAgB,uBAAuB,CAAC,CAAM;gBAC1C,IAAM,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC;gBACjC,IAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAC3D,IAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACnD,IAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAE7D,IAAM,MAAM,GAAG,aAAa,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAE7F,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAEjD,IAAI,MAAM,EAAE;oBACR,wBAAwB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;iBAC9D;YACL,CAAC;YAbe,8BAAuB,0BAatC,CAAA;YAED,SAAgB,WAAW,CAAC,CAAM;gBAC9B,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;oBAC7C,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;iBACvC;gBAAA,CAAC;gBAEF,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;oBAClD,KAAK,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;iBAC5C;gBAAA,CAAC;YAEN,CAAC;YATe,kBAAW,cAS1B,CAAA;YAED,SAAgB,wBAAwB,CAAC,eAAsB,EAAE,KAAU;gBACvE,IAAM,QAAQ,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBACtE,IAAI,QAAQ,EAAE;oBACV,IAAI,GAAG,GAAQ,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAE5C,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;wBAChB,GAAG,GAAG,MAAA,0BAA0B,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;qBACjE;yBAAM;wBACH,GAAG,GAAG,MAAA,0BAA0B,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;qBAC1D;oBAED,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;iBACjC;YACL,CAAC;YAbe,+BAAwB,2BAavC,CAAA;YAED,SAAS,OAAO,CAAC,KAAU;gBACvB,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;oBACrB,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBAClC;gBAED,OAAO,YAAY,GAAG,CAAC,CAAC;YAC5B,CAAC;YAGD,SAAS,cAAc,CAAC,QAAsC,EAAE,GAAW;gBACvE,IAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACvD,IAAM,SAAS,GAAG,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEvG,IAAI,SAAS,EAAE;oBACX,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBACtC;qBAAM;oBACH,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;iBACrC;gBAED,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACtC,CAAC;YAED,SAAS,aAAa,CAAC,KAAU;gBAC7B,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEjC,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;oBACrB,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;iBAClC;gBAED,OAAO,YAAY,GAAG,CAAC,CAAC;YAC5B,CAAC;YAED,SAAgB,WAAW,CAAC,CAAM;gBAC9B,IAAM,cAAc,GAAG,IAAI,CAAC;gBAE5B,IAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;gBAE5C,IAAM,aAAa,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;gBAChH,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YACvD,CAAC;YAPe,kBAAW,cAO1B,CAAA;QACL,CAAC,EAtFuB,MAAM,GAAN,cAAM,KAAN,cAAM,QAsF7B;IAAD,CAAC,EAtFe,OAAO,GAAP,aAAO,KAAP,aAAO,QAsFtB;AAAD,CAAC,EAtFS,KAAK,KAAL,KAAK,QAsFd;ACtFD,IAAU,KAAK,CAUd;AAVD,WAAU,KAAK;IAAC,IAAA,OAAO,CAUtB;IAVe,WAAA,OAAO;QAAC,IAAA,IAAI,CAU3B;QAVuB,WAAA,IAAI;YACxB,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAG,KAAK,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAC3D,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc;gBAC7E,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;YAE7C,SAAgB,cAAc,CAAC,MAAW;gBACtC,OAAO,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAFe,mBAAc,iBAE7B,CAAA;QACL,CAAC,EAVuB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAU3B;IAAD,CAAC,EAVe,OAAO,GAAP,aAAO,KAAP,aAAO,QAUtB;AAAD,CAAC,EAVS,KAAK,KAAL,KAAK,QAUd;ACVD,IAAU,KAAK,CA+Cd;AA/CD,WAAU,KAAK;IAAC,IAAA,MAAM,CA+CrB;IA/Ce,WAAA,MAAM;QAAC,IAAA,OAAO,CA+C7B;QA/CsB,WAAA,OAAO;YAC1B,YAAY,CAAC;YAEb,IAAI,QAAQ,GAAY,KAAK,CAAC;YAE9B,CAAC,CAAC,cAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAErB,SAAS,IAAI;gBACT,IAAM,UAAU,GAAG,CAAC,CAAC,qCAAqC,CAAC,CAAC;gBAC5D,IAAI,UAAU,CAAC,MAAM,EAAE;oBACnB,IAAM,UAAQ,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE3C,CAAC,CAAC,GAAG,CAAC,iCAAiC,EAAE,UAAS,IAAI;wBAClD,IAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;wBACzC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC9D,CAAC,CAAC,CAAC;iBACN;YACL,CAAC;YAED,SAAgB,mBAAmB,CAAC,WAAgB,EAAE,QAAa;gBAC/D,MAAA,gBAAgB,CAAC,WAAW,EACxB,cAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EACzC,yDAAyD,CAAC,CAAC;YACnE,CAAC;YAJe,2BAAmB,sBAIlC,CAAA;YAED,SAAgB,MAAM;gBAClB,QAAQ,GAAG,IAAI,CAAC;gBAChB,CAAC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC3D,CAAC;YAHe,cAAM,SAGrB,CAAA;YAED,SAAgB,eAAe;gBAC3B,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oCAAoC,CAAC,EAAE;oBAC5C,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEH,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YAPe,uBAAe,kBAO9B,CAAA;YAED,SAAgB,aAAa;gBACzB,OAAO,KAAK,CAAC;YACjB,CAAC;YAFe,qBAAa,gBAE5B,CAAA;YAED,SAAgB,eAAe;gBAC3B,OAAO,QAAQ,CAAC;YACpB,CAAC;YAFe,uBAAe,kBAE9B,CAAA;QAEL,CAAC,EA/CsB,OAAO,GAAP,cAAO,KAAP,cAAO,QA+C7B;IAAD,CAAC,EA/Ce,MAAM,GAAN,YAAM,KAAN,YAAM,QA+CrB;AAAD,CAAC,EA/CS,KAAK,KAAL,KAAK,QA+Cd","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 {\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 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\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 if (matchTabWithExactUrl(tabItems, transform, tabControl, currentUrl)) {\r\n return;\r\n }\r\n\r\n tryToMatchTabBySubTabName(tabControl);\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): boolean {\r\n\r\n var 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 return true;\r\n }\r\n\r\n return false;\r\n } \r\n \r\n function tryToMatchTabBySubTabName(tabControl: DevExpress.ui.dxTabs) {\r\n\r\n var subTabName = tabControl.option(\"subTabName\");\r\n var controlItems = tabControl.option(\"items\")\r\n .map((value, index) => new Tab(index, value.url));\r\n \r\n var tabMatch = controlItems.filter((element: Tab) => element.url.toLowerCase().indexOf(subTabName) > 0);\r\n \r\n if (tabMatch.length > 0) {\r\n tabControl.option(\"selectedIndex\", tabMatch[0].id);\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 partitionBy(items, n) {\r\n var result = _.groupBy(items, function(item, i) {\r\n return trunc(i / n);\r\n });\r\n return _.values(result);\r\n }\r\n\r\n function trunc(n: number) : number {\r\n return n < 0 ? Math.ceil(n) : Math.floor(n);\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 export 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 getOptionFromForm(formName: string, optionName: string) : any {\r\n return getForm(formName).option(optionName);\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 export function goBack() {\r\n window.history.back();\r\n }\r\n\r\n}","namespace Areas {\r\n \"use strict\";\r\n\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 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 export function customStateStore(e: any) {\r\n // The selected rows are removed from the state before storing it and\r\n // if the stored state has selected rows they are removed before \r\n // restoring grid state.\r\n\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n const stateStoring = grid.option(\"stateStoring\");\r\n\r\n stateStoring.type = \"custom\";\r\n\r\n stateStoring.customLoad = () => {\r\n let state = JSON.parse(localStorage.getItem(stateStoring.storageKey));\r\n if (state != null) {\r\n state.selectedRowKeys = [];\r\n }\r\n return state;\r\n };\r\n\r\n stateStoring.customSave = (state) => {\r\n state.selectedRowKeys = [];\r\n localStorage.setItem(stateStoring.storageKey, JSON.stringify(state));\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 \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 export function addCopySelectedContextMenu(e: any) {\r\n if (e.row.rowType === \"data\") {\r\n e.items = [{\r\n text: \"Copy to selected\",\r\n onItemClick: function () {\r\n const grid = e.component as DevExpress.ui.dxDataGrid;\r\n const row = e.row;\r\n const column = e.column;\r\n\r\n if (!column.allowEditing) return;\r\n\r\n const cellValue = grid.cellValue(row.rowIndex, column.dataField);\r\n\r\n var selKeys = grid.getSelectedRowKeys();\r\n for (let i = 0; i < selKeys.length; i++) {\r\n grid.cellValue(grid.getRowIndexByKey(selKeys[i]), column.dataField, cellValue);\r\n }\r\n }\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 type = dataGrid.option(\"type\");\r\n const selectedIds = getSelectedIds(dataGrid, type);\r\n \r\n let url = `/File/Get/${type}Zip?ids=${selectedIds}`; \r\n \r\n const buildingId = dataGrid.option(\"buildingId\");\r\n \r\n if (buildingId) {\r\n url = `${url}&buildingId=${buildingId}`;\r\n }\r\n \r\n location.href = url; \r\n }\r\n }\r\n \r\n function getSelectedIds(dataGrid: DevExpress.ui.dxDataGrid, type: string) : string {\r\n if (type === \"Drawing\") {\r\n return dataGrid.getSelectedRowKeys().join(',');\r\n }\r\n\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.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\r\n export function refreshGrid(id: string) {\r\n $(`#${id}`).dxDataGrid(\"instance\").refresh();\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 customStateStore(e);\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 (_.contains(buttonOptions, \"resetLayout\")) {\r\n TreeList.addResetLayout(e);\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Analysis.Building {\r\n \"use strict\";\r\n\r\n export function goToBuildingFromGrid(e: any) {\r\n const dataGrid = $(\"#BuildingsGrid\").dxDataGrid(\"instance\");\r\n const rows = dataGrid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n location.href = \"/Building/Profile/View/\" + rows[0].buildingId;\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 columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.buildingId; },\r\n linkInfo);\r\n }\r\n}","namespace Areas.Analysis.DeletedDocuments {\r\n \"use strict\";\r\n\r\n export function goToProjectFromGrid(e: any) {\r\n const dataGrid = $(\"#DeletedDocumentsGrid\").dxDataGrid(\"instance\");\r\n const rows = dataGrid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n location.href = \"/Project/Profile/View/\" + rows[0].projectId;\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\r\n}","namespace Areas.Analysis.DocumentHistory {\r\n \"use strict\";\r\n\r\n export function goToProjectFromGrid(e: any) {\r\n const dataGrid = $(\"#DocumentHistoryGrid\").dxDataGrid(\"instance\");\r\n const rows = dataGrid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n location.href = \"/Project/Profile/View/\" + rows[0].projectId;\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\r\n}","namespace Areas.Analysis.DownloadChart {\r\n \"use strict\";\r\n\r\n\r\n let startDate: string = new Date().toLocaleDateString();\r\n let endDate: string = new Date().toLocaleDateString();\r\n\r\n\r\n export function getStartDate() {\r\n return startDate;\r\n }\r\n\r\n export function getEndDate() {\r\n return endDate;\r\n }\r\n\r\n export function setLabelText(a, b) {\r\n\r\n var z = 1;\r\n return a.argumentText + \" ( \" + a.valueText + \")\";\r\n\r\n }\r\n\r\n}","namespace Areas.Analysis.DrawingHistory {\r\n \"use strict\";\r\n\r\n export function goToProjectFromGrid(e: any) {\r\n const dataGrid = $(\"#DrawingHistoryGrid\").dxDataGrid(\"instance\");\r\n const rows = dataGrid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n location.href = \"/Project/Profile/View/\" + rows[0].projectId;\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\r\n}","namespace Areas.Analysis.MilestonesCrosstab {\r\n \"use strict\";\r\n\r\n export function goToProjectFromGrid(e: any) {\r\n const dataGrid = $(\"#MilestonesCrosstabGrid\").dxDataGrid(\"instance\");\r\n const rows = dataGrid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n location.href = \"/Project/Profile/View/\" + rows[0].projectId;\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\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.projectId; },\r\n linkInfo);\r\n }\r\n\r\n\r\n export function onCellPrepared(e: any) {\r\n if (e.rowType !== \"data\") {\r\n return;\r\n }\r\n setDateCellBackground(e);\r\n }\r\n\r\n function setDateCellBackground(e) {\r\n var demoPermitDate = e.column.dataField === \"demolitionPermitDate\";\r\n var demoPermitCount = e.column.dataField === \"demolitionPermitCount\";\r\n\r\n if (demoPermitDate) {\r\n if (e.data.demoPermitCount === 0 && e.data.demoPermitDate !== null) {\r\n e.cellElement.css('background-color','yellow')\r\n }\r\n else if (e.data.demoPermitCount > 0 && e.data.demoPermitDate === null) {\r\n e.cellElement.css('background-color', 'red')\r\n }\r\n }\r\n\r\n var permitDate = e.column.dataField === \"permitDate\";\r\n var permitCount = e.column.dataField === \"permitCount\";\r\n\r\n if (permitDate) {\r\n if (e.data.permitCount === 0 && e.data.permitDate !== null) {\r\n e.cellElement.css('background-color', 'yellow')\r\n }\r\n else if (e.data.permitCount > 0 && e.data.permitDate === null) {\r\n e.cellElement.css('background-color', 'red')\r\n }\r\n }\r\n\r\n var tcoDate = e.column.dataField === \"tcoDate\";\r\n var tcoCount = e.column.dataField === \"tcoCount\";\r\n\r\n if (tcoDate) {\r\n if (e.data.tcoCount === 0 && e.data.tcoDate !== null) {\r\n e.cellElement.css('background-color', 'yellow')\r\n }\r\n else if (e.data.tcoCount > 0 && e.data.tcoDate === null) {\r\n e.cellElement.css('background-color', 'red')\r\n }\r\n }\r\n\r\n var coDate = e.column.dataField === \"coDate\";\r\n var coCount = e.column.dataField === \"coCount\";\r\n\r\n if (coDate) {\r\n if (e.data.coCount === 0 && e.data.coDate !== null) {\r\n e.cellElement.css('background-color', 'yellow')\r\n }\r\n else if (e.data.coCount > 0 && e.data.coDate === null) {\r\n e.cellElement.css('background-color', 'red')\r\n }\r\n }\r\n\r\n\r\n var boDate = e.column.dataField === \"boDate\";\r\n var boCount = e.column.dataField === \"boCount\";\r\n\r\n if (boDate) {\r\n if (e.data.boCount === 0 && e.data.boDate !== null) {\r\n e.cellElement.css('background-color', 'yellow')\r\n }\r\n else if (e.data.boCount > 0 && e.data.boDate === null) {\r\n e.cellElement.css('background-color', 'red')\r\n }\r\n }\r\n\r\n var scDate = e.column.dataField === \"scDate\";\r\n var scCount = e.column.dataField === \"scCount\";\r\n\r\n if (scDate) {\r\n if (e.data.scCount === 0 && e.data.scDate !== null) {\r\n e.cellElement.css('background-color', 'yellow')\r\n }\r\n else if (e.data.scCount > 0 && e.data.scDate === null) {\r\n e.cellElement.css('background-color', 'red')\r\n }\r\n }\r\n\r\n var iaDate = e.column.dataField === \"iaDate\";\r\n var iaCount = e.column.dataField === \"iaCount\";\r\n\r\n if (iaDate) {\r\n if (e.data.iaCount === 0 && e.data.iaDate !== null) {\r\n e.cellElement.css('background-color', 'yellow')\r\n }\r\n else if (e.data.iaCount > 0 && e.data.iaDate === null) {\r\n e.cellElement.css('background-color', 'red')\r\n }\r\n }\r\n\r\n var ncDate = e.column.dataField === \"ncDate\";\r\n var ncCount = e.column.dataField === \"ncCount\";\r\n\r\n if (ncDate) {\r\n if (e.data.ncCount === 0 && e.data.ncDate !== null) {\r\n e.cellElement.css('background-color', 'yellow')\r\n }\r\n else if (e.data.ncCount > 0 && e.data.ncDate === null) {\r\n e.cellElement.css('background-color', 'red')\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n}","namespace Areas.Analysis.MilestonesPivot {\r\n \"use strict\";\r\n\r\n export function resetPivotGrid() {\r\n const dataPivot = $(\"#MilestonesPivotGrid\").dxPivotGrid(\"instance\");\r\n dataPivot.getDataSource().state({});\r\n }\r\n\r\n export function goToProjectFromGrid(e: any) {\r\n const dataGrid = $(\"#MilestonesGrid\").dxDataGrid(\"instance\");\r\n const rows = dataGrid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n location.href = \"/Project/Profile/View/\" + rows[0].projectId;\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\r\n}","namespace Areas.Analysis.Project {\r\n \"use strict\";\r\n\r\n export function goToProjectFromGrid(e: any) {\r\n const dataGrid = $(\"#ProjectsGrid\").dxDataGrid(\"instance\");\r\n const rows = dataGrid.getSelectedRowsData();\r\n if (rows.length == 1) {\r\n location.href = \"/Project/Profile/View/\" + rows[0].projectId;\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 columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.projectId; },\r\n linkInfo);\r\n }\r\n}","namespace Areas.Analysis.WeatherChart{\r\n \"use strict\";\r\n\r\n var weatherChartTabItems = Areas.createTabsWithSameController(\"Analysis\",\r\n [\"Monthly\", \"Daily\", \"Hourly\"], \"WeatherChart\");\r\n\r\n export function weatherChartTabInitialized(params: any) {\r\n return Areas.tabInitialized(weatherChartTabItems)(params);\r\n }\r\n\r\n}","namespace Areas.Building.AllAttachment {\r\n \"use strict\";\r\n\r\n let runQuery: boolean = false;\r\n let attachmentType: string;\r\n \r\n export function getData(e: any) {\r\n attachmentType = e.value;\r\n runQuery = true;\r\n $(\"#AllAttachmentGrid\").dxDataGrid(\"instance\").refresh();\r\n }\r\n\r\n export function getAttachmentType() {\r\n return attachmentType;\r\n } \r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n \r\n}","namespace Areas.Building.BuildingImage {\r\n \"use strict\";\r\n\r\n var isUpdateCanceled: boolean = false;\r\n\r\n export function buildingImage(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.buildingImageId; },\r\n \"image\");\r\n }\r\n\r\n export function edit(cellElement, cellInfo) {\r\n var div = document.createElement(\"div\");\r\n cellElement.get(0).appendChild(div);\r\n $(div).dxButton({\r\n text: \"\",\r\n icon: \"edit\",\r\n type: \"normal\",\r\n onClick: showUploadDialog({ \r\n buildingId: cellInfo.data.buildingId, \r\n buildingImageId: cellInfo.data.buildingImageId, \r\n allowMultipleUploads: false\r\n })\r\n });\r\n }\r\n\r\n const customAddButtonName = \"customAddButton\";\r\n \r\n export function addButton(e: any) {\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n const data = { buildingId: grid.option(\"buildingId\"), buildingImageId: 0, allowMultipleUploads: true};\r\n \r\n addButtonToToolbar(e.toolbarOptions, {\r\n elementAttr: { id: customAddButtonName },\r\n text: \"Add\",\r\n hint: \"Add new building image\",\r\n type: \"success\",\r\n icon: \"plus\",\r\n onClick: showUploadDialog(data)\r\n }, \"center\");\r\n } \r\n\r\n export function showUploadDialog(data: any) {\r\n return () => {\r\n const buildingImageDialog = \r\n new Areas.Dialog.BuildingImageDialog(dialogClosing, data);\r\n }\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n location.href = location.href;\r\n } \r\n}","namespace Areas.Building.Drawing {\r\n \"use strict\";\r\n\r\n $(() => { init(); });\r\n\r\n function init() {\r\n const $container = $(\"#checkboxFilterContainerBuildingDrawings\");\r\n\r\n if ($container.length) {\r\n const template = $(\"#checkboxList\").html();\r\n\r\n $.get(\"/Building/Drawing/GetDrawingTypes\", function (data) {\r\n const items = Areas.partitionBy(data, 4);\r\n $container.append(_.template(template)({ items: items }));\r\n });\r\n }\r\n } \r\n \r\n export function downloadDrawingLink(cellElement: any, cellInfo: any) {\r\n var buildingId = cellInfo.component.option(\"buildingId\");\r\n var content = `Download`;\r\n cellElement.html(content);\r\n } \r\n\r\n export function applyFilter() {\r\n $(\"#DrawingDataGrid\").dxDataGrid(\"instance\").refresh();\r\n }\r\n\r\n export function getDrawingTypes() {\r\n var drawingTypes = [];\r\n $.each($(\"input[name='drawing-type']:checked\"), function(){ \r\n drawingTypes.push($(this).val());\r\n });\r\n\r\n return drawingTypes.join(\"|\");\r\n } \r\n \r\n export function getFilterType() {\r\n return false;\r\n } \r\n \r\n}","namespace Areas.Building.List {\r\n \"use strict\";\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 view() {\r\n gotoSelected(\"BuildingsGrid\", \"/Building/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"BuildingsGrid\", \"/Building/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n $(\"#CreateBuildingPopup\").dxPopup(\"instance\").show();\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n const form = $(\"#BuildingForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(\"/Building/List/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.buildingId; },\r\n linkInfo);\r\n }\r\n\r\n export function goToSpaceInventory(e: any) {\r\n const grid = $(\"#BuildingsGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].locationId;\r\n let linkInfo = \"http://spaceinventory.ucla.edu/#/LocID/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n}","namespace Areas.Building.OtherAttachment {\r\n \"use strict\";\r\n\r\n let runQuery: boolean = false;\r\n let attachmentType: string;\r\n \r\n export function getData(e: any) {\r\n attachmentType = e.value;\r\n runQuery = true;\r\n $(\"#OtherAttachmentGrid\").dxDataGrid(\"instance\").refresh();\r\n }\r\n\r\n export function getAttachmentType() {\r\n return attachmentType;\r\n } \r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n \r\n}","namespace Areas.Building.Profile {\r\n \"use strict\";\r\n\r\n var imageUrls; \r\n\r\n $(() => {\r\n var tile = $(\"#tileView\").dxTileView(\"instance\");\r\n\r\n if (tile) {\r\n var buildingId = $(\"#BuildingForm\").dxForm(\"instance\").option(\"KeyId\");\r\n $.get(`/Building/Profile/GetImageUrls/${buildingId}`, (data) => {\r\n imageUrls = data;\r\n tile.option(\"dataSource\", imageUrls);\r\n });\r\n }\r\n });\r\n\r\n export function itemTemplate(itemData: any, itemIndex: any, itemElement:any) {\r\n var style = `cursor:pointer;height:100%;width:100%;display:block;background-size:cover;background-position:center;background-image: url('${itemData.url}')`;\r\n itemElement.append(`
`);\r\n }\r\n\r\n export function lookupLEEDTypeTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n return Areas.lookupActiveTemplate((i) => i.leedTypeLk)(itemData, itemIndex, itemElement);\r\n }\r\n\r\n export function onItemClick(e: any) {\r\n const imageGalleryDialog = new Areas.Dialog.ImageGalleryDialog(dialogClosing, imageUrls, extraInitialization);\r\n }\r\n\r\n function extraInitialization() {\r\n const gallery = $(\"#gallery\").dxGallery(\"instance\");\r\n gallery.option(\"dataSource\", this.parameters.map(i => i.url));\r\n gallery.repaint();\r\n }\r\n\r\n export function updateBuilding() {\r\n const form = $(\"#BuildingForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Building/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n } \r\n\r\n export function showGpsDialog() {\r\n const form = $(\"#BuildingForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\"); \r\n const dialogGps = new Dialogs.GpsDialog(updateBuildingGps, formData.GPS); \r\n }\r\n\r\n function updateBuildingGps(dialogResult: DialogResult, data: any) {\r\n \r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n const form = $(\"#BuildingForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (data) {\r\n formData.GPS = data;\r\n form.option(\"formData\", formData); \r\n }\r\n }\r\n\r\n export function goToSpaceInventory() {\r\n const form = $(\"#BuildingForm\").dxForm(\"instance\");\r\n const formData: any = form.option(\"formData\");\r\n\r\n if (formData) {\r\n var id = formData.LocationId;\r\n let linkInfo = \"http://spaceinventory.ucla.edu/#/LocID/\" + id;\r\n window.open(linkInfo);\r\n }\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n } \r\n\r\n export function selectBox_valueChanged(e: any)\r\n {\r\n if (e.value = 1) {\r\n Areas.goToEdit()\r\n }\r\n if (e.value = 2) {\r\n Areas.goToView()\r\n }\r\n if (e.value = 3) {\r\n Areas.goToEdit()\r\n }\r\n }\r\n}\r\n","namespace Areas.Building.Project {\r\n \"use strict\";\r\n\r\n export function goToProjectFromProjectGrid() {\r\n gotoSelected(\"ProjectDataGrid\", \"/Project/Profile/View/\");\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.projectId; },\r\n linkInfo);\r\n }\r\n}"," namespace Areas.Building.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Building\", \"Edit\",\r\n [\"Profile\", \"BuildingImage\", \"Project\", \"Drawing\",\r\n \"Permit\", \"AutoCad\", \"Picture\", \r\n \"Presentation\", \"OtherAttachment\",\"AllAttachment\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n export function newBuildingAlias(e: any) {\r\n setBuildingId(\"AliasDataGrid\", e);\r\n }\r\n\r\n export function newBuildingProject(e: any) {\r\n setBuildingId(\"ProjectDataGrid\", e);\r\n }\r\n\r\n function setBuildingId(gridName: string, e: any) {\r\n const dataGrid = $(`#${gridName}`).dxDataGrid(\"instance\");\r\n const buildingId = dataGrid.option(\"buildingId\");\r\n\r\n e.data.buildingId = buildingId; \r\n }\r\n\r\n}","namespace Areas.Building {\r\n \"use strict\";\r\n\r\n const downloadZipButtonId = \"downloadZipButton\";\r\n \r\n export function viewProjectLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.projectId; },\r\n \"View\");\r\n }\r\n\r\n export function downloadAttachmentLink(cellElement: any, cellInfo: any) {\r\n var buildingId = cellInfo.component.option(\"buildingId\");\r\n var content = `Download`;\r\n cellElement.html(content);\r\n }\r\n\r\n export function thumbnailImage(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.attachmentId; },\r\n \"
image
\");\r\n } \r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Building/List/Index\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function addDownloadZipButton(e: any) {\r\n if ($(`#${downloadZipButtonId}`).length == 0) {\r\n var div = document.createElement(\"div\");\r\n var toolbar = e.element.find('.dx-toolbar-after');\r\n $(toolbar.get(0)).prepend(div); \r\n\r\n $(div).dxButton({\r\n elementAttr: { id: downloadZipButtonId },\r\n text: \"Download Zip\",\r\n icon: \"arrowdown\",\r\n type: \"normal\",\r\n disabled: true,\r\n onClick(elem) { downloadZip(e.component); }\r\n });\r\n }\r\n } \r\n\r\n export function toggleDownloadZipButton(e: any) {\r\n if (e.selectedRowKeys.length) {\r\n Areas.enableButton(downloadZipButtonId);\r\n } else {\r\n Areas.disableButton(downloadZipButtonId);\r\n }\r\n }\r\n\r\n export function downloadZip(dataGrid: DevExpress.ui.dxDataGrid) {\r\n const buildingId = dataGrid.option(\"buildingId\");\r\n const type = dataGrid.option(\"type\");\r\n const selectedIds = getSelectedIds(dataGrid, type);\r\n \r\n const url = `/File/Get/${type}Zip?ids=${selectedIds}&buildingId=${buildingId}`; \r\n location.href = url; \r\n }\r\n \r\n function getSelectedIds(dataGrid: DevExpress.ui.dxDataGrid, type: string) : string {\r\n if (type === \"Drawing\") {\r\n return dataGrid.getSelectedRowKeys().join(',');\r\n }\r\n\r\n return dataGrid.getSelectedRowsData().map(d => d.attachmentId).join(',');\r\n }\r\n \r\n}","namespace Areas.Building.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Building\", \"View\",\r\n [\"Profile\", \"BuildingImage\", \"Project\", \"Drawing\",\r\n \"Permit\", \"AutoCad\", \"Picture\",\r\n \"Presentation\", \"OtherAttachment\", \"AllAttachment\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\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 default: 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 rowAlternationEnabled: 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.Dialog {\r\n \"use strict\";\r\n\r\n export class BuildingImageDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"BuildingImage\", closeHandler, parameters, \r\n () => {\r\n const uploader = $(\"#fileUploaderControl\").dxFileUploader(\"instance\");\r\n let url: any = uploader.option(\"uploadUrl\");\r\n \r\n url = updateQueryStringParameter(url, \"buildingId\", this.parameters.buildingId);\r\n url = updateQueryStringParameter(url, \"buildingImageId\", this.parameters.buildingImageId);\r\n \r\n uploader.option(\"uploadUrl\", url); \r\n uploader.option(\"multiple\", this.parameters.allowMultipleUploads);\r\n\r\n if (!this.parameters.allowMultipleUploads) {\r\n this.popup.option(\"title\", \"Replace Building Image\");\r\n uploader.option(\"selectButtonText\", \"Select Image\");\r\n this.popup.option(\"maxWidth\", 400);\r\n this.popup.option(\"maxHeight\", 350);\r\n }\r\n });\r\n }\r\n\r\n protected ok = (e: any) => { \r\n this.close(DialogResult.Ok, null); \r\n } \r\n \r\n }\r\n \r\n}","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class CreateFavoriteDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any) {\r\n super(\"CreateFavorite\", closeHandler, parameters, () => {\r\n const form = $(\"#CreateFavoriteForm\").dxForm(\"instance\");\r\n form.option(\"formData\",\r\n { FavoriteName: parameters.favoriteName, urlAddress: location.href });\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n const form = $(\"#CreateFavoriteForm\").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/CreateFavorite/Post\", JSON.stringify(newData), \"POST\")\r\n .done(() => this.close(DialogResult.Ok,null));\r\n\r\n }\r\n }\r\n }\r\n\r\n}","namespace Areas.Dialogs {\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","namespace Areas.Dialogs {\r\n \"use strict\";\r\n\r\n export class GpsDialog extends Areas.BaseDialog {\r\n\r\n markerExists: boolean = false;\r\n gpsData: any;\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters:any) {\r\n super(\"Gps\", closeHandler, parameters,\r\n () => {\r\n Areas.disableButton(this.okButtonId);\r\n\r\n const map = $(\"#map\").dxMap(\"instance\");\r\n map.on({ \"click\": addMarker(this) });\r\n map.on({ \"markerRemoved\" : markerRemoved(this) });\r\n\r\n if (parameters)\r\n {\r\n map.addMarker({ location: parameters })\r\n .then((e) => \r\n { \r\n this.markerExists = true; \r\n map.option(\"autoAdjust\", false); \r\n });\r\n }\r\n });\r\n }\r\n\r\n protected ok = (e: any) => {\r\n this.close(DialogResult.Ok, this.gpsData);\r\n }\r\n\r\n }\r\n\r\n function markerRemoved(dialog: GpsDialog) {\r\n return (e: any) => {\r\n dialog.markerExists = false;\r\n }\r\n } \r\n\r\n function addMarker(dialog: GpsDialog) {\r\n return (e: any) => {\r\n dialog.gpsData = `${e.location.lat}, ${e.location.lng}`;\r\n const map = $(\"#map\").dxMap(\"instance\");\r\n \r\n if (dialog.markerExists) {\r\n map.removeMarker(0)\r\n .then(() => map.addMarker({ location: e.location })\r\n .then((e) => { dialog.markerExists = true; Areas.enableButton(dialog.okButtonId); }));\r\n } else {\r\n map.addMarker({ location: e.location })\r\n .then((e) => { dialog.markerExists = true; Areas.enableButton(dialog.okButtonId); });\r\n }\r\n }\r\n }\r\n \r\n}","namespace Areas.Dialog {\r\n \"use strict\";\r\n\r\n export class ImageGalleryDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void, parameters: any,\r\n extraInitialization: () => void) {\r\n super(\"ImageGallery\", closeHandler, parameters, extraInitialization);\r\n }\r\n\r\n protected ok = (e: any) => { \r\n this.close(DialogResult.Ok, null); \r\n } \r\n }\r\n \r\n}","namespace Areas.Dialog {\r\n \"use strict\";\r\n\r\n export class ProjectDialog extends Areas.BaseDialog {\r\n\r\n constructor(closeHandler: (dialogResult: DialogResult, data: any) => void) {\r\n super(\"Project\", closeHandler);\r\n }\r\n\r\n protected ok = (e: any) => {\r\n\r\n const dataGrid = $(`#${this.dialogName}LookupGrid`).dxDataGrid('instance');\r\n const selectedRows: any = dataGrid.getSelectedRowsData();\r\n \r\n if (selectedRows[0] == null) {\r\n DevExpress.ui.notify(\"Please make a selection first!\", \"warning\", 2000);\r\n } else {\r\n var data = selectedRows[0];\r\n this.close(DialogResult.Ok, data);\r\n }\r\n } \r\n }\r\n \r\n}","namespace Areas.Drawing.Classify {\r\n\r\n \"use strict\";\r\n\r\n let projectId = 0;\r\n let runQuery: boolean = false;\r\n\r\n var drawingGrid: DevExpress.ui.dxDataGrid;\r\n var buildingGrid: DevExpress.ui.dxDataGrid;\r\n var drawingTypeGrid: DevExpress.ui.dxDataGrid;\r\n var designProfessionalDisciplineGrid: DevExpress.ui.dxDataGrid;\r\n const saveButtonName: string = \"SaveButton\";\r\n const deleteButtonName: string = \"DeleteButton\";\r\n const markButtonName: string = \"MarkCompleteButton\";\r\n\r\n $(() => { init(); });\r\n\r\n function init() {\r\n drawingGrid = $(\"#DataEntryDrawingDataGrid\").dxDataGrid(\"instance\");\r\n buildingGrid = $(\"#BuildingDataGrid\").dxDataGrid(\"instance\");\r\n drawingTypeGrid = $(\"#DataEntryDrawingTypesGrid\").dxDataGrid(\"instance\");\r\n designProfessionalDisciplineGrid = $(\"#DataEntryDesignProfessionalDisciplinesGrid\").dxDataGrid(\"instance\");\r\n }\r\n\r\n export function sortGridColumn(e: any) {\r\n //return 1;\r\n var val = $(\"#DataEntryDesignProfessionalDisciplinesGrid\").dxDataGrid(\"instance\").getSelectedRowKeys().indexOf(e);\r\n if (val > -1)\r\n { return 0; }\r\n else\r\n { return -1; }\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.projectId; },\r\n linkInfo);\r\n }\r\n\r\n export function refreshGrid(e: any) {\r\n e.component.refresh();\r\n }\r\n\r\n export function projectSelected(e: any) {\r\n projectId = e.selectedRowKeys[0];\r\n runQuery = true;\r\n getDrawings();\r\n }\r\n\r\n function getDrawings() { \r\n drawingGrid.deselectAll(); \r\n drawingGrid.getDataSource().reload();\r\n buildingGrid.deselectAll();\r\n buildingGrid.refresh();\r\n drawingTypeGrid.deselectAll();\r\n designProfessionalDisciplineGrid.deselectAll();\r\n Areas.disableButton(saveButtonName);\r\n Areas.disableButton(markButtonName); \r\n }\r\n\r\n export function drawingSelected(e: any) {\r\n if (drawingGrid.getSelectedRowKeys().length > 0) {\r\n Areas.enableButton(saveButtonName);\r\n Areas.enableButton(deleteButtonName);\r\n Areas.enableButton(markButtonName);\r\n } else {\r\n Areas.disableButton(saveButtonName);\r\n Areas.disableButton(deleteButtonName);\r\n Areas.disableButton(markButtonName);\r\n }\r\n }\r\n\r\n export function saveClassification() {\r\n const record = getRecord();\r\n sendRequest(\"/Drawing/Classify/AddDrawingsClassification\", JSON.stringify(record), \"POST\",\r\n (data) => drawingGrid.refresh());\r\n }\r\n\r\n export function removeClassification() {\r\n const record = getRecord();\r\n sendRequest(\"/Drawing/Classify/RemoveDrawingsClassification\", JSON.stringify(record), \"POST\",\r\n (data) => drawingGrid.refresh());\r\n } \r\n \r\n function getRecord() : any {\r\n return {\r\n drawings: drawingGrid.getSelectedRowKeys(),\r\n buildingProjects: buildingGrid.getSelectedRowKeys(),\r\n drawingTypes: drawingTypeGrid.getSelectedRowKeys(),\r\n designProfessionalDisciplines: designProfessionalDisciplineGrid.getSelectedRowKeys()\r\n };\r\n }\r\n\r\n export function markDrawingsComplete() {\r\n var drawingIds = drawingGrid.getSelectedRowKeys();\r\n sendRequest(\"/Drawing/Classify/MarkDrawingsComplete\", JSON.stringify(drawingIds), \"POST\", \r\n () => { getDrawings(); });\r\n } \r\n\r\n export function getProjectId() {\r\n return projectId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function downloadDrawingLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.drawingId; },\r\n \"Download\");\r\n } \r\n \r\n let currentStep = 1;\r\n\r\n export function nextNavigation() {\r\n incrementStep();\r\n updateView();\r\n }\r\n\r\n export function backNavigation() {\r\n decrementStep();\r\n updateView();\r\n } \r\n \r\n function incrementStep() {\r\n currentStep++;\r\n if (currentStep > 3) {\r\n currentStep = 1;\r\n }\r\n } \r\n\r\n function decrementStep() {\r\n currentStep--;\r\n if (currentStep < 0) {\r\n currentStep = 3;\r\n }\r\n } \r\n\r\n export function updateView() {\r\n switch (currentStep) {\r\n case 1:\r\n showElement(\"projects-area\");\r\n hideElement(\"classification-area\");\r\n hideElement(\"classification-areabutton\");\r\n updateElementText(\"navigation-detailtext\", \"Select project for editing.
In Record Drawing Grid select cell for editing. Right click to copy cell information down to multiple cells, that are checked marked and yellow. Click save upon completion.\");\r\n Areas.hideButton(\"MarkCompleteButton\")\r\n Areas.hideButton(\"BackButton\");\r\n enableDrawingGrid();\r\n break;\r\n\r\n case 2:\r\n hideElement(\"projects-area\");\r\n showElement(\"classification-area\");\r\n showElement(\"classification-areabutton\");\r\n disableDrawingGrid();\r\n updateElementText(\"navigation-detailtext\", \"Populates only 3 columns.
Building, Types and Design Professional Columns\");\r\n Areas.hideButton(\"MarkCompleteButton\")\r\n Areas.showButton(\"BackButton\");\r\n break; \r\n \r\n case 3:\r\n hideElement(\"classification-area\");\r\n hideElement(\"classification-areabutton\");\r\n updateElementText(\"navigation-detailtext\", \"Lock records that are completed. They become visible to the general users.\");\r\n Areas.showButton(\"MarkCompleteButton\")\r\n Areas.showButton(\"BackButton\");\r\n break; \r\n default:\r\n break;\r\n }\r\n\r\n updateElementText(\"navigation-text\", currentStep.toString());\r\n }\r\n\r\n let gridEditingSettings: any;\r\n\r\n function disableDrawingGrid() {\r\n const editSettings = drawingGrid.option(\"editing\");\r\n gridEditingSettings = {mode: editSettings.mode, allowUpdating: editSettings.allowUpdating, allowAdding: editSettings.allowAdding, allowDeleting: editSettings.allowDeleting};\r\n drawingGrid.option(\"editing\", { mode: \"batch\", allowUpdating: false, allowAdding: false, allowDeleting: false });\r\n }\r\n\r\n function enableDrawingGrid() {\r\n drawingGrid.option(\"editing\", gridEditingSettings);\r\n }\r\n\r\n function showElement(id: string) {\r\n $(`#${id}`).css(\"visibility\", \"visible\");\r\n $(`#${id}`).css(\"display\", \"block\");\r\n }\r\n\r\n function hideElement(id: string) {\r\n $(`#${id}`).css(\"visibility\", \"hidden\");\r\n $(`#${id}`).css(\"display\", \"none\");\r\n }\r\n\r\n function updateElementText(id: string, text: string) {\r\n $(`#${id}`).html(text);\r\n }\r\n}","namespace Areas.Drawing.Unclassify {\r\n\r\n \"use strict\";\r\n\r\n let projectId = 0;\r\n let runQuery: boolean = false;\r\n\r\n var drawingGrid: DevExpress.ui.dxDataGrid;\r\n const unclassifyButtonName: string = \"UnclassifyButton\";\r\n\r\n $(() => { init(); });\r\n\r\n function init() {\r\n drawingGrid = $(\"#UnclassifyDrawingDataGrid\").dxDataGrid(\"instance\");\r\n }\r\n\r\n export function downloadDrawingLink(cellElement: any, cellInfo: any) {\r\n //var buildingId = cellInfo.component.option(\"buildingId\");\r\n //var content = `Download`;\r\n var content = `Download`;\r\n cellElement.html(content);\r\n } \r\n\r\n export function projectSelected(e: any) {\r\n projectId = e.selectedRowKeys[0];\r\n runQuery = true; \r\n getDrawings();\r\n }\r\n\r\n function getDrawings() {\r\n drawingGrid.deselectAll(); \r\n drawingGrid.getDataSource().reload();\r\n Areas.disableButton(unclassifyButtonName); \r\n }\r\n\r\n export function drawingSelected(e: any) {\r\n if (drawingGrid.getSelectedRowKeys().length > 0) {\r\n Areas.enableButton(unclassifyButtonName);\r\n } else {\r\n Areas.disableButton(unclassifyButtonName);\r\n }\r\n }\r\n\r\n export function unclassifyDrawings() {\r\n var drawingIds = drawingGrid.getSelectedRowKeys();\r\n sendRequest(\"/Drawing/Unclassify/UnclassifyDrawings\", JSON.stringify(drawingIds), \"POST\", \r\n () => { getDrawings(); } );\r\n } \r\n\r\n export function getProjectId() {\r\n return projectId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n}","namespace Areas.Drawing.Upload {\r\n\r\n \"use strict\";\r\n\r\n let runQuery = false;\r\n let projectId = 0;\r\n\r\n export function selectProject() {\r\n const projectDialog = new Areas.Dialog.ProjectDialog(dialogClosing);\r\n }\r\n\r\n function dialogClosing(dialogResult: DialogResult, data: any) {\r\n if (dialogResult === DialogResult.Cancel) return;\r\n\r\n projectId = data.projectId;\r\n\r\n updateBuildingProjectLookup();\r\n updateClassificationForm(data.title); \r\n Areas.enableButton(\"ClearProjectSelection\");\r\n } \r\n\r\n\r\n export function gotoClassifyDrawings() {\r\n location.href = \"/Drawing/Classify/Index\";\r\n }\r\n\r\n export function associateUploadWithBuildingProject(selectedBuildingProjectId: number) {\r\n\r\n const uploader = $(\"#fileUploaderControl\").dxFileUploader(\"instance\");\r\n let url: any = uploader.option(\"uploadUrl\");\r\n\r\n if (selectedBuildingProjectId > 0) {\r\n url = updateQueryStringParameter(url, \"buildingProjectId\", selectedBuildingProjectId);\r\n uploader.option(\"disabled\", false);\r\n } else {\r\n url = removeQueryStringParameter(url, \"buildingProjectId\");\r\n uploader.option(\"disabled\", true);\r\n }\r\n\r\n uploader.option(\"uploadUrl\", url);\r\n }\r\n\r\n function updateBuildingProjectLookup() {\r\n\r\n runQuery = true;\r\n\r\n const lookupForm = $(\"#ClassificationForm\").dxForm(\"instance\");\r\n\r\n const buildingLookup = lookupForm.getEditor(\"BuildingProjectId\") as DevExpress.ui.dxLookup;\r\n\r\n buildingLookup.option(\"disabled\", false);\r\n buildingLookup.getDataSource().reload();\r\n buildingLookup.reset();\r\n }\r\n\r\n function updateClassificationForm(title: string) {\r\n const classificationForm = $(\"#ClassificationForm\").dxForm(\"instance\");\r\n var data = classificationForm.option(\"formData\") as any;\r\n\r\n data.Title = title;\r\n classificationForm.option(\"formData\", data);\r\n }\r\n\r\n export function clearProjectSelection() {\r\n const lookupForm = $(\"#ClassificationForm\").dxForm(\"instance\");\r\n\r\n Areas.disableButton(\"ClearProjectSelection\");\r\n\r\n const luTitleControl = lookupForm.getEditor(\"Title\") as DevExpress.ui.dxTextBox;\r\n luTitleControl.option(\"value\", \"\");\r\n\r\n const buildingLookup = lookupForm.getEditor(\"BuildingProjectId\") as DevExpress.ui.dxLookup;\r\n\r\n buildingLookup.reset();\r\n runQuery = false;\r\n buildingLookup.getDataSource().reload();\r\n buildingLookup.option(\"disabled\", true);\r\n }\r\n\r\n export function getProjectId() {\r\n return projectId;\r\n }\r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n\r\n export function buildingProjectSelected(e: any) {\r\n if (e.selectedItem !== null) {\r\n associateUploadWithBuildingProject(e.selectedItem.buildingProjectId);\r\n } else {\r\n associateUploadWithBuildingProject(0);\r\n }\r\n }\r\n\r\n export function uploadError(e: any) {\r\n const defaultTimeOut = 4000;\r\n\r\n const responseText = e.request.responseText;\r\n\r\n const toastrOptions = { timeOut: defaultTimeOut, positionClass: \"toast-bottom-full-width\", showMethod: \"show\" };\r\n toastr.error(responseText, \"Error\", toastrOptions);\r\n }\r\n\r\n export function buildingLookupTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.caan}${itemData.name}
`);\r\n } \r\n \r\n export function displayBuildingExpression(data: any): string {\r\n if (data) {\r\n return data.caan + \" - \" + data.name; \r\n }\r\n\r\n return \"Select ...\";\r\n } \r\n}","namespace Areas.Favorite {\r\n \"use strict\";\r\n\r\n export function goToFavorite(e: any) {\r\n const grid = $(\"#FavoriteGrid\").dxDataGrid(\"instance\");\r\n const row = grid.getSelectedRowsData();\r\n\r\n if (row.length == 1) {\r\n var id = row[0].urlAddress;\r\n location.href = id;\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 = new Selected();\r\n\r\n export function onUserIdValueChanged(rowData: any, value: any) {\r\n return userValueChanged(selected)(rowData, value);\r\n }\r\n\r\n export function userAuthorizedLookupEditTemplate(cellElement: any, cellInfo: any) {\r\n return lookupEditTemplate(\"/Maintenance/AuthorizedUser/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupEditTemplate(cellElement: any, cellInfo: any) {\r\n return lookupEditTemplate(\"/Maintenance/SystemUsers/Users\", selected)(cellElement, cellInfo);\r\n }\r\n\r\n export function userLookupCellTemplate(cellElement: any, cellInfo: any) {\r\n return lookupCellTemplate(cellElement, cellInfo);\r\n }\r\n\r\n export function disableColumnEdit(columnName: string) {\r\n return (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}\r\n\r\n\r\n\r\n","namespace Areas.Maintenance.List {\r\n \"use strict\";\r\n\r\n var vendorInfoMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"PrincipalArchitect\", \"DesignProfessional\", \"Discipline\", \"DesignProfessionalDiscipline\"]);\r\n\r\n var lookupsMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"AttachmentType\", \"DrawingType\", \"Location\", \"MilestoneType\", \"ProjectType\"]);\r\n\r\n var systemMaintenanceTabItems = Areas.createTabsWithSameAction(\"Maintenance\", \"List\",\r\n [\"AuthorizedUser\", \"SystemConfigSettings\", \"SystemUsers\"]);\r\n\r\n \r\n export function vendorInfoMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(vendorInfoMaintenanceTabItems)(params);\r\n }\r\n\r\n export function lookupsMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(lookupsMaintenanceTabItems)(params);\r\n }\r\n\r\n export function systemMaintenanceTabInitialized(params: any) {\r\n return Areas.tabInitialized(systemMaintenanceTabItems)(params);\r\n }\r\n}","namespace Areas.Project.AllAttachment {\r\n \"use strict\";\r\n\r\n let runQuery: boolean = false;\r\n let attachmentType: string;\r\n \r\n export function getData(e: any) {\r\n attachmentType = e.value;\r\n runQuery = true;\r\n Areas.Project.Upload.associateUploadWithValue(\"attachmentType\", attachmentType);\r\n $(\"#AllAttachmentGrid\").dxDataGrid(\"instance\").refresh();\r\n }\r\n\r\n export function getAttachmentType() {\r\n return attachmentType;\r\n } \r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n \r\n}","namespace Areas.Project.Building {\r\n \"use strict\";\r\n\r\n export function goToBuildingFromBuildingGrid() {\r\n gotoSelected(\"BuildingDataGrid\", \"/Building/Profile/View/\");\r\n }\r\n\r\n export function newBuildingProject(e: any) {\r\n setProjectId(\"BuildingDataGrid\", e);\r\n } \r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.buildingId; },\r\n \"View\");\r\n } \r\n \r\n export function buildingEditTemplate(cellElement: any, cellInfo: any) {\r\n var storeConfiguration = {\r\n \"loadParams\": {},\r\n \"key\": \"buildingId\",\r\n \"loadUrl\": \"/Project/Building/GetBuildings\",\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: \"buildingId\",\r\n displayExpr: (data:any) => data ? data.caan + ' ' + data.name : \"Select...\",\r\n value: cellInfo.data.buildingId,\r\n popupWidth: 500,\r\n searchExpr: [\"caan\", \"name\"],\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\", buildingLookupTemplate);\r\n \r\n }\r\n\r\n export function buildingLookupTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n itemElement.append(`
${itemData.caan}${itemData.name}
`);\r\n }\r\n\r\n function setProjectId(gridName: string, e: any) {\r\n const dataGrid = $(`#${gridName}`).dxDataGrid(\"instance\");\r\n const projectId = dataGrid.option(\"projectId\");\r\n\r\n e.data.projectId = projectId; \r\n } \r\n\r\n}","namespace Areas.Project.Drawing {\r\n \"use strict\";\r\n\r\n $(() => { init(); }); \r\n \r\n function init() {\r\n const $container = $(\"#checkboxFilterContainerProjectDrawings\");\r\n\r\n if ($container.length) {\r\n const template = $(\"#checkboxList\").html();\r\n \r\n $.get(\"/Project/Drawing/GetDrawingTypes\", function(data) {\r\n const items = Areas.partitionBy(data, 4);\r\n $container.append(_.template(template)({ items: items }));\r\n });\r\n }\r\n } \r\n \r\n export function downloadDrawingLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.drawingId; },\r\n \"download\");\r\n } \r\n\r\n export function applyFilter() {\r\n $(\"#DrawingDataGrid\").dxDataGrid(\"instance\").refresh();\r\n }\r\n\r\n export function getDrawingTypes() {\r\n var drawingTypes = [];\r\n $.each($(\"input[name='drawing-type']:checked\"), function(){ \r\n drawingTypes.push($(this).val());\r\n });\r\n\r\n return drawingTypes.join(\"|\");\r\n } \r\n \r\n export function getFilterType() {\r\n return false;\r\n } \r\n \r\n}","namespace Areas.Project.List {\r\n \"use strict\";\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 view() {\r\n gotoSelected(\"ProjectsGrid\", \"/Project/Profile/View/\");\r\n }\r\n\r\n export function edit() {\r\n gotoSelected(\"ProjectsGrid\", \"/Project/Profile/Edit/\");\r\n }\r\n\r\n export function showCreate() {\r\n $(\"#CreateProjectPopup\").dxPopup(\"instance\").show();\r\n }\r\n\r\n export function insertRecord(e: any) {\r\n const form = $(\"#CreateProjectForm\").dxForm(\"instance\");\r\n const result: any = form.validate();\r\n\r\n if (result.isValid) {\r\n const newData: any = form.option(\"formData\");\r\n\r\n sendRequest(\"/Project/List/Post\", JSON.stringify(newData), \"POST\");\r\n }\r\n }\r\n\r\n export function columnViewLink(cellElement: any, cellInfo: any) {\r\n let linkInfo = \"View\";\r\n\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.projectId; },\r\n linkInfo);\r\n }\r\n}","namespace Areas.Project.OtherAttachment {\r\n \"use strict\";\r\n\r\n let runQuery: boolean = false;\r\n let attachmentType: string;\r\n \r\n export function getData(e: any) {\r\n attachmentType = e.value;\r\n runQuery = true;\r\n Areas.Project.Upload.associateUploadWithValue(\"attachmentType\", attachmentType);\r\n $(\"#OtherAttachmentGrid\").dxDataGrid(\"instance\").refresh();\r\n }\r\n\r\n export function getAttachmentType() {\r\n return attachmentType;\r\n } \r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n \r\n}","namespace Areas.Project.Profile {\r\n \"use strict\";\r\n\r\n export function updateProject() {\r\n const form = $(\"#ProjectForm\").dxForm(\"instance\");\r\n const newData: any = form.option(\"formData\");\r\n const result: any = form.validate();\r\n const keyId: any = form.option(\"KeyId\");\r\n\r\n if (result.isValid && keyId != null) {\r\n sendRequest(`/Project/Profile/Put/${keyId}`, JSON.stringify(newData), \"PUT\");\r\n }\r\n }\r\n\r\n export function lookupArchitectTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n return Areas.lookupActiveTemplate((i) => i.principalArchitectLk)(itemData, itemIndex, itemElement);\r\n }\r\n\r\n export function lookupProjectTemplate(itemData: any, itemIndex: any, itemElement: any) {\r\n return Areas.lookupActiveTemplate((i) => i.projectTypeLk)(itemData, itemIndex, itemElement);\r\n }\r\n\r\n export function newMilestone(e: any) {\r\n setProjectId(\"MilestoneDataGrid\", e);\r\n }\r\n\r\n function setProjectId(gridName: string, e: any) {\r\n const dataGrid = $(`#${gridName}`).dxDataGrid(\"instance\");\r\n const projectId = dataGrid.option(\"projectId\");\r\n\r\n e.data.projectId = projectId; \r\n } \r\n \r\n}","namespace Areas.Project.Edit {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Project\", \"Edit\",\r\n [\"Profile\", \"Building\", \"Drawing\", \"Permit\", \"AutoCad\", \"Picture\", \"Presentation\", \r\n \"OtherAttachment\", \"AllAttachment\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n\r\n}","namespace Areas.Project {\r\n \"use strict\";\r\n\r\n const downloadZipButtonId = \"downloadZipButton\";\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 thumbnailImage(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.attachmentId; },\r\n \"
image
\");\r\n } \r\n\r\n export function returnToListFromTab() {\r\n var linkInfo = \"/Project/List/Index\";\r\n location.href = linkInfo;\r\n\r\n }\r\n\r\n export function goToEdit() {\r\n\r\n let viewLink = location.pathname;\r\n let linkInfo = viewLink.replace(/View/gi, \"Edit\");\r\n location.href = linkInfo;\r\n }\r\n\r\n export function addDownloadZipButton(e: any) {\r\n if ($(`#${downloadZipButtonId}`).length == 0) {\r\n var div = document.createElement(\"div\");\r\n var toolbar = e.element.find('.dx-toolbar-after');\r\n $(toolbar.get(0)).prepend(div); \r\n\r\n $(div).dxButton({\r\n elementAttr: { id: downloadZipButtonId },\r\n text: \"Download Zip [<30 per file]\",\r\n icon: \"arrowdown\",\r\n type: \"normal\",\r\n disabled: true,\r\n onClick(elem) { downloadZip(e.component); }\r\n });\r\n }\r\n } \r\n\r\n export function toggleDownloadZipButton(e: any) {\r\n if (e.selectedRowKeys.length) {\r\n Areas.enableButton(downloadZipButtonId);\r\n } else {\r\n Areas.disableButton(downloadZipButtonId);\r\n }\r\n }\r\n\r\n export function downloadZip(dataGrid: DevExpress.ui.dxDataGrid) {\r\n const type = dataGrid.option(\"type\");\r\n const selectedIds = getSelectedIds(dataGrid, type); \r\n const url = `/File/Get/${type}Zip?ids=${selectedIds}`; \r\n location.href = url; \r\n }\r\n\r\n function getSelectedIds(dataGrid: DevExpress.ui.dxDataGrid, type: string) : string {\r\n if (type === \"Drawing\") {\r\n return dataGrid.getSelectedRowKeys().join(',');\r\n }\r\n\r\n return dataGrid.getSelectedRowsData().map(d => d.attachmentId).join(',');\r\n } \r\n}","namespace Areas.Project.Upload {\r\n \"use strict\";\r\n\r\n export function fileUploaderInitialized(e: any) {\r\n const fileUploader = e.component;\r\n const uploadAllowed = fileUploader.option(\"UploadAllowed\");\r\n const projectId = fileUploader.option(\"ProjectId\");\r\n const attachmentType = fileUploader.option(\"AttachmentType\");\r\n\r\n const enable = uploadAllowed && isValidNumber(projectId) && Areas.isNotEmpty(attachmentType);\r\n \r\n associateUploadWithValue(\"projectId\", projectId);\r\n\r\n if (enable) {\r\n associateUploadWithValue(\"attachmentType\", attachmentType);\r\n }\r\n }\r\n\r\n export function refreshGrid(e: any) {\r\n if ($(\"#SharedBaseGrid\").dxDataGrid(\"instance\")) {\r\n Areas.refreshGrid(\"SharedBaseGrid\");\r\n };\r\n \r\n if ($(\"#OtherAttachmentGrid\").dxDataGrid(\"instance\")) {\r\n Areas.refreshGrid(\"OtherAttachmentGrid\");\r\n };\r\n \r\n }\r\n\r\n export function associateUploadWithValue(valueIdentifier:string, value: any) {\r\n const uploader = $(\"#fileUploaderControl\").dxFileUploader(\"instance\");\r\n if (uploader) {\r\n let url: any = uploader.option(\"uploadUrl\");\r\n\r\n if (isValid(value)) {\r\n url = updateQueryStringParameter(url, valueIdentifier, value);\r\n } else {\r\n url = removeQueryStringParameter(url, valueIdentifier);\r\n }\r\n \r\n updateUploader(uploader, url);\r\n }\r\n } \r\n\r\n function isValid(value: any) : boolean {\r\n var numericValue = Number(value);\r\n\r\n if (isNaN(numericValue)) {\r\n return Areas.isNotEmpty(value);\r\n }\r\n\r\n return numericValue > 0;\r\n }\r\n\r\n\r\n function updateUploader(uploader: DevExpress.ui.dxFileUploader, url: string) {\r\n const uploadAllowed = uploader.option(\"UploadAllowed\");\r\n const canEnable = uploadAllowed && url.indexOf(\"projectId\") > -1 && url.indexOf(\"attachmentType\") > -1;\r\n\r\n if (canEnable) {\r\n uploader.option(\"disabled\", false);\r\n } else {\r\n uploader.option(\"disabled\", true);\r\n }\r\n\r\n uploader.option(\"uploadUrl\", url); \r\n }\r\n\r\n function isValidNumber(value: any) : boolean {\r\n var numericValue = Number(value);\r\n\r\n if (isNaN(numericValue)) {\r\n return Areas.isNotEmpty(value);\r\n }\r\n\r\n return numericValue > 0;\r\n }\r\n\r\n export function uploadError(e: any) {\r\n const defaultTimeOut = 4000;\r\n\r\n const responseText = e.request.responseText;\r\n\r\n const toastrOptions = { timeOut: defaultTimeOut, positionClass: \"toast-bottom-full-width\", showMethod: \"show\" };\r\n toastr.error(responseText, \"Error\", toastrOptions);\r\n }\r\n}","namespace Areas.Project.View {\r\n \"use strict\";\r\n\r\n var tabItems = Areas.createTabsWithSameAction(\"Project\", \"View\",\r\n [\"Profile\", \"Building\", \"Drawing\", \"Permit\", \"AutoCad\", \"Picture\", \"Presentation\", \r\n \"OtherAttachment\", \"AllAttachment\"]);\r\n\r\n export function tabInitialized(params: any) {\r\n return Areas.tabWithIdInitialized(tabItems)(params);\r\n }\r\n}","namespace Areas.Search.Drawing {\r\n \"use strict\";\r\n\r\n let runQuery: boolean = false;\r\n\r\n $(() => { init(); }); \r\n \r\n function init() {\r\n const $container = $(\"#checkboxDrawingTypeSearchContainer\");\r\n if ($container.length) {\r\n const template = $(\"#checkboxList\").html();\r\n \r\n $.get(\"/Search/Drawing/GetDrawingTypes\", function(data) {\r\n const items = Areas.partitionBy(data, 4);\r\n $container.append(_.template(template)({ items: items }));\r\n });\r\n }\r\n } \r\n \r\n export function downloadDrawingLink(cellElement: any, cellInfo: any) {\r\n buildCellContent(cellElement,\r\n () => { return cellInfo.data.drawingId; },\r\n \"Download\");\r\n } \r\n\r\n export function search() {\r\n runQuery = true;\r\n $(\"#DrawingDataGrid\").dxDataGrid(\"instance\").refresh();\r\n }\r\n\r\n export function getDrawingTypes() {\r\n var drawingTypes = [];\r\n $.each($(\"input[name='drawing-type']:checked\"), function(){ \r\n drawingTypes.push($(this).val());\r\n });\r\n\r\n return drawingTypes.join(\"|\");\r\n } \r\n \r\n export function getFilterType() {\r\n return false;\r\n } \r\n\r\n export function canExecuteQuery() {\r\n return runQuery;\r\n }\r\n \r\n}"]}