@oneuptime/common 12.0.3 → 12.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/DatabaseModels/CephCluster.ts +14 -0
- package/Models/DatabaseModels/CodeRepository.ts +14 -6
- package/Models/DatabaseModels/DockerHost.ts +14 -0
- package/Models/DatabaseModels/GlobalOidcProject.ts +18 -0
- package/Models/DatabaseModels/GlobalSsoProject.ts +18 -0
- package/Models/DatabaseModels/IoTFleet.ts +14 -0
- package/Models/DatabaseModels/KubernetesCluster.ts +14 -0
- package/Models/DatabaseModels/NetworkDevice.ts +14 -0
- package/Models/DatabaseModels/NetworkInterface.ts +18 -0
- package/Models/DatabaseModels/Project.ts +16 -2
- package/Models/DatabaseModels/ProxmoxCluster.ts +14 -0
- package/Models/DatabaseModels/Service.ts +30 -0
- package/Models/DatabaseModels/StatusPagePrivateUser.ts +30 -0
- package/Models/DatabaseModels/User.ts +30 -0
- package/Server/API/AIAgentDataAPI.ts +31 -0
- package/Server/API/DashboardAPI.ts +419 -12
- package/Server/API/GitHubAPI.ts +119 -283
- package/Server/API/UserAPI.ts +263 -1
- package/Server/EnvironmentConfig.ts +7 -3
- package/Server/Infrastructure/GlobalCache.ts +37 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.ts +21 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.ts +68 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.ts +100 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.ts +214 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.ts +69 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
- package/Server/Services/AnalyticsDatabaseService.ts +72 -1
- package/Server/Services/CodeRepositoryService.ts +105 -2
- package/Server/Services/DatabaseService.ts +185 -2
- package/Server/Services/OpenTelemetryIngestService.ts +230 -26
- package/Server/Services/UserService.ts +184 -0
- package/Server/Utils/AI/Toolbox/CodeTools.ts +45 -4
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +13 -0
- package/Server/Utils/CodeRepository/GitHub/GitHub.ts +157 -4
- package/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.ts +130 -0
- package/Server/Utils/PasswordHash.ts +306 -0
- package/Tests/App/Dashboard/OverviewCustomFields.test.tsx +333 -0
- package/Tests/App/Dashboard/UserCustomFields.test.tsx +392 -0
- package/Tests/Server/API/AIAgentDataRepositoryToken.test.ts +381 -0
- package/Tests/Server/API/DashboardPublicAttributeValuesAPI.test.ts +943 -0
- package/Tests/Server/API/DashboardPublicMetricsAggregateAPI.test.ts +1296 -0
- package/Tests/Server/API/DashboardPublicTemplatePayloads.test.ts +598 -0
- package/Tests/Server/API/GitHubAppInstallationBindingAPI.test.ts +539 -0
- package/Tests/Server/API/Helpers.ts +6 -1
- package/Tests/Server/API/UserProjectsAPI.test.ts +852 -0
- package/Tests/Server/Infrastructure/GlobalCache.test.ts +128 -0
- package/Tests/Server/Infrastructure/SemaphoreMutex.test.ts +215 -0
- package/Tests/Server/Services/AddPerUserPasswordSaltMigration.test.ts +178 -0
- package/Tests/Server/Services/AnalyticsDatabasePaginationStability.test.ts +582 -0
- package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +5 -0
- package/Tests/Server/Services/CodeRepositoryInstallationBinding.test.ts +305 -0
- package/Tests/Server/Services/CodeRepositoryResolutionBinding.test.ts +147 -0
- package/Tests/Server/Services/DatabaseServicePerUserPasswordSalt.test.ts +870 -0
- package/Tests/Server/Services/OpenTelemetryServiceResolutionCache.test.ts +568 -0
- package/Tests/Server/Services/RestoreDroppedUniqueIndexesMigration.test.ts +386 -0
- package/Tests/Server/Services/RestoreServiceLowerNameIndexMigration.test.ts +240 -0
- package/Tests/Server/Services/UserServiceFirstMasterAdminElection.test.ts +885 -0
- package/Tests/Server/Services/WidenHashedStringColumnsForScryptMigration.test.ts +220 -0
- package/Tests/Server/Utils/AI/CodeTools.test.ts +47 -1
- package/Tests/Server/Utils/AI/CodeWriteTools.test.ts +10 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +120 -0
- package/Tests/Server/Utils/CodeRepository/GitHubInstallationBinding.test.ts +292 -0
- package/Tests/Server/Utils/GitHubInstallationOwnershipVerification.test.ts +340 -0
- package/Tests/Server/Utils/GitHubWebhookAndTreeCacheIsolation.test.ts +250 -0
- package/Tests/Server/Utils/PasswordHash.test.ts +555 -0
- package/Tests/Types/Database/ColumnLength.test.ts +7 -1
- package/Tests/Types/HashedStringPerUserSalt.test.ts +476 -0
- package/Tests/Types/Monitor/DockerAlertTemplates.test.ts +293 -0
- package/Tests/Types/Monitor/HostAlertTemplates.test.ts +249 -0
- package/Tests/Types/Monitor/IotAlertTemplates.test.ts +320 -0
- package/Tests/Types/Monitor/PodmanAlertTemplates.test.ts +271 -0
- package/Tests/UI/Components/CustomFields/CustomFieldsDetail.test.tsx +696 -0
- package/Tests/UI/Utils/UserProjectsModelAPI.test.ts +714 -0
- package/Tests/Utils/TeamMembersByProject.test.ts +655 -0
- package/Types/Database/ColumnLength.ts +9 -1
- package/Types/Database/TableColumn.ts +11 -0
- package/Types/Database/UnsynchronizedIndex.ts +48 -0
- package/Types/HashedString.ts +139 -4
- package/UI/Components/CustomFields/CustomFieldsDetail.tsx +85 -11
- package/UI/Components/Navbar/NavBar.tsx +12 -2
- package/UI/Components/Navbar/NavBarMenuModal.tsx +19 -7
- package/UI/Utils/ModelAPI/UserProjectsModelAPI.ts +257 -0
- package/Utils/TeamMembersByProject.ts +237 -0
- package/build/dist/Models/DatabaseModels/CephCluster.js +16 -1
- package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CodeRepository.js +14 -6
- package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DockerHost.js +16 -1
- package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalOidcProject.js +16 -1
- package/build/dist/Models/DatabaseModels/GlobalOidcProject.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalSsoProject.js +16 -1
- package/build/dist/Models/DatabaseModels/GlobalSsoProject.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IoTFleet.js +16 -1
- package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -1
- package/build/dist/Models/DatabaseModels/KubernetesCluster.js +16 -1
- package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +16 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkInterface.js +16 -1
- package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +16 -2
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +16 -1
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Service.js +28 -1
- package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +32 -0
- package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -1
- package/build/dist/Models/DatabaseModels/User.js +32 -0
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +21 -2
- package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +304 -10
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/GitHubAPI.js +94 -167
- package/build/dist/Server/API/GitHubAPI.js.map +1 -1
- package/build/dist/Server/API/UserAPI.js +187 -2
- package/build/dist/Server/API/UserAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +7 -3
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/GlobalCache.js +29 -0
- package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786018109307-AddPerUserPasswordSalt.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js +59 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786023262402-WidenHashedStringColumnsForScrypt.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js +93 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786100000000-RestoreServiceLowerNameIndex.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js +101 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786200000000-RestoreDroppedUniqueIndexes.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js +66 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1786300000000-QuarantineUnboundGitHubInstallations.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +57 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/CodeRepositoryService.js +90 -2
- package/build/dist/Server/Services/CodeRepositoryService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseService.js +160 -2
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +155 -25
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +165 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js +31 -1
- package/build/dist/Server/Utils/AI/Toolbox/CodeTools.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +13 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js +126 -4
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js +136 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubInstallationBinding.js.map +1 -0
- package/build/dist/Server/Utils/PasswordHash.js +237 -0
- package/build/dist/Server/Utils/PasswordHash.js.map +1 -0
- package/build/dist/Types/Database/ColumnLength.js +9 -1
- package/build/dist/Types/Database/ColumnLength.js.map +1 -1
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Types/Database/UnsynchronizedIndex.js +46 -0
- package/build/dist/Types/Database/UnsynchronizedIndex.js.map +1 -0
- package/build/dist/Types/HashedString.js +95 -5
- package/build/dist/Types/HashedString.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js +51 -10
- package/build/dist/UI/Components/CustomFields/CustomFieldsDetail.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBar.js +3 -1
- package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +19 -7
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
- package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js +156 -0
- package/build/dist/UI/Utils/ModelAPI/UserProjectsModelAPI.js.map +1 -0
- package/build/dist/Utils/TeamMembersByProject.js +145 -0
- package/build/dist/Utils/TeamMembersByProject.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIAgentDataAPI.js","sourceRoot":"","sources":["../../../../Server/API/AIAgentDataAPI.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAC9E,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AAEtE,OAAO,6BAA6B,MAAM,2CAA2C,CAAC;AACtF,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAC9D,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,OAKN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,gBAAgB,EAAE,EAEvB,kBAAkB,GACnB,MAAM,sCAAsC,CAAC;AAI9C,OAAO,sBAAsB,MAAM,oDAAoD,CAAC;AAIxF,OAAqB,EACnB,qBAAqB,GACtB,MAAM,0CAA0C,CAAC;AAClD,OAAkB,EAChB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,eAAe,EAAE,EACtB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AACzE,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,kBAEN,MAAM,wCAAwC,CAAC;AAChD,OAAO,sBAEN,MAAM,4CAA4C,CAAC;AAMpD,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAC3D,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AAEtE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,UAEN,MAAM,uCAAuC,CAAC;AAC/C,OAAO,kBAAkB,MAAM,+CAA+C,CAAC;AAC/E,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,MAAM,EAAE,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,CAAC,OAAO,OAAO,cAAc;IAGjC;QACE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,UAAU;QAChB;;;;;;;;;;;;;;WAcG;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+BAA+B,EAC/B,KAAK,EACH,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACH,EAAE;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAe,GAAG,CAAC,IAAI,CAAC;gBAElC,yDAAyD;gBACzD,MAAM,OAAO,GACX,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAEpD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;oBAC5B,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qCAAqC,CAAC,CAC5D,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAC3C,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC,CAAC;gBAEhE;;;;mBAIG;gBACH,MAAM,aAAa,GAAiB,MAAM,YAAY,CAAC,WAAW,CAAC;oBACjE,EAAE,EAAE,MAAM;oBACV,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;qBAChB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,IACE,CAAC,aAAa;oBACd,gBAAgB,CAAC,qBAAqB,CACpC,OAAO,EACP,aAAa,CAAC,SAAS,CACxB,EACD,CAAC;oBACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,CACvC,CAAC;gBACJ,CAAC;gBAED,MAAM,QAAQ,GAAsB,IAAI,CAAC,uBAAuB,CAC9D,IAAI,CAAC,UAAU,CAAC,CACjB,CAAC;gBACF,MAAM,KAAK,GACT,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,MAAM,SAAS,GACb,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;oBAC5D,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;oBACnB,CAAC,CAAC,SAAS,CAAC;gBAEhB,MAAM,MAAM,GACV,MAAM,sBAAsB,CAAC,OAAO,CAAC;oBACnC,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,OAAO,EAAE,MAAM;oBACf,QAAQ;oBACR,KAAK;oBACL,SAAS;iBACV,CAAC,CAAC;gBAEL,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,OAAO,EAAE;wBACP,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B;oBACD,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACG,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,oDAAoD;QACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,EACtC,KAAK,EACH,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACH,EAAE;;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAe,GAAG,CAAC,IAAI,CAAC;gBAElC,yDAAyD;gBACzD,MAAM,OAAO,GACX,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qCAAqC,CAAC,CAC5D,CAAC;gBACJ,CAAC;gBAED,mBAAmB;gBACnB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBACzB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,CAChD,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAa,IAAI,QAAQ,CACxC,IAAI,CAAC,aAAa,CAAW,CAC9B,CAAC;gBAEF,6BAA6B;gBAC7B,MAAM,SAAS,GACb,MAAM,yBAAyB,CAAC,WAAW,CAAC;oBAC1C,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,IAAI;wBAChB,aAAa,EAAE,IAAI;wBACnB,WAAW,EAAE,IAAI;wBACjB,gBAAgB,EAAE,IAAI;wBACtB,eAAe,EAAE,IAAI;wBACrB,iBAAiB,EAAE,IAAI;qBACxB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL;;;mBAGG;gBACH,IACE,CAAC,SAAS;oBACV,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EACpE,CAAC;oBACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;gBACJ,CAAC;gBAED,MAAM,CAAC,KAAK,CACV,8BAA8B,SAAS,CAAC,GAAG,EAAE,EAC7C,2BAA2B,CAAC,GAAU,CAAC,CACxC,CAAC;gBAEF;;;;;;mBAMG;gBACH,MAAM,gBAAgB,GAAmB,SAAS,CAAC,eAAe;oBAChE,CAAC,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC;wBAC/B,EAAE,EAAE,SAAS,CAAC,eAAe;wBAC7B,MAAM,EAAE;4BACN,IAAI,EAAE,IAAI;4BACV,WAAW,EAAE,IAAI;yBAClB;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC;gBAET;;;;;;;;mBAQG;gBACH,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,SAAS,EAAE;wBACT,EAAE,EAAE,MAAA,SAAS,CAAC,GAAG,0CAAE,QAAQ,EAAE;wBAC7B,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;wBAC1D,UAAU,EAAE,kBAAkB,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;wBAC1D,oDAAoD;wBACpD,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;wBAC5C,WAAW,EAAE,SAAS,CAAC,WAAW;wBAClC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,IAAI;qBACrD;oBACD,OAAO,EAAE,SAAS,CAAC,eAAe;wBAChC,CAAC,CAAC;4BACE,EAAE,EAAE,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE;4BACxC,IAAI,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI;4BAC5B,WAAW,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW;yBAC3C;wBACH,CAAC,CAAC,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF;;;;;;WAMG;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,EACtC,KAAK,EACH,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACH,EAAE;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAe,GAAG,CAAC,IAAI,CAAC;gBAElC,yDAAyD;gBACzD,MAAM,OAAO,GACX,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qCAAqC,CAAC,CAC5D,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBACzB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,4FAA4F,CAC7F,CACF,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAa,IAAI,QAAQ,CACxC,IAAI,CAAC,aAAa,CAAW,CAC9B,CAAC;gBAEF,MAAM,SAAS,GACb,MAAM,yBAAyB,CAAC,WAAW,CAAC;oBAC1C,EAAE,EAAE,WAAW;oBACf,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;wBACf,UAAU,EAAE,IAAI;wBAChB,eAAe,EAAE,IAAI;qBACtB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IACE,CAAC,SAAS;oBACV,CAAC,SAAS,CAAC,SAAS;oBACpB,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EACpE,CAAC;oBACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,CAC5C,CAAC;gBACJ,CAAC;gBAED,gEAAgE;gBAChE,MAAM,OAAO,GAAmB,SAAS,CAAC,eAAe;oBACvD,CAAC,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC;wBAC/B,EAAE,EAAE,SAAS,CAAC,eAAe;wBAC7B,MAAM,EAAE;4BACN,IAAI,EAAE,IAAI;yBACX;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC;gBAET,MAAM,UAAU,GACd,MAAM,qBAAqB,CAAC,6BAA6B,CAAC;oBACxD,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI;oBACxC,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,IAAI;iBACnC,CAAC,CAAC;gBAEL,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,CAAC,KAAK,CACV,wCAAwC,WAAW,CAAC,QAAQ,EAAE,EAAE,EAChE,2BAA2B,CAAC,GAAU,CAAC,CACxC,CAAC;oBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;wBAC/C,YAAY,EAAE,EAAE;wBAChB,eAAe,EACb,0PAA0P;qBAC7P,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,UAAU,GACd,MAAM,qBAAqB,CAAC,WAAW,CAAC;oBACtC,EAAE,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAC7C,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE,IAAI;wBACV,kBAAkB,EAAE,IAAI;wBACxB,gBAAgB,EAAE,IAAI;wBACtB,cAAc,EAAE,IAAI;wBACpB,cAAc,EAAE,IAAI;wBACpB,YAAY,EAAE,IAAI;wBAClB,YAAY,EAAE,IAAI;wBAClB,WAAW,EAAE,IAAI;wBACjB,uBAAuB,EAAE,IAAI;qBAC9B;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,sCAAsC,CAAC,CAC7D,CAAC;gBACJ,CAAC;gBAED,MAAM,CAAC,KAAK,CACV,uBAAuB,UAAU,CAAC,gBAAgB,IAAI,UAAU,CAAC,cAAc,kBAAkB,WAAW,CAAC,QAAQ,EAAE,QAAQ,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ,EAAE,EAC1K,2BAA2B,CAAC,GAAU,CAAC,CACxC,CAAC;gBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,YAAY,EAAE;wBACZ;4BACE,EAAE,EAAE,UAAU,CAAC,EAAG,CAAC,QAAQ,EAAE;4BAC7B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE;4BAC3B,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,EAAE;4BACvD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE;4BACnD,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,EAAE;4BAC/C,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,MAAM;4BACnD,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;4BAC7C,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;4BAC7C,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,IAAI;4BAC3C,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;4BAC3D,uBAAuB,EACrB,UAAU,CAAC,uBAAuB,IAAI,IAAI;4BAC5C,gBAAgB,EAAE,UAAU,CAAC,MAAM;4BACnC,kBAAkB,EAAE,UAAU,CAAC,QAAQ;yBACxC;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF;;;;;;;;;;;;;;;;;;;;;;;WAuBG;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iDAAiD,EACjD,KAAK,EACH,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACH,EAAE;;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAe,GAAG,CAAC,IAAI,CAAC;gBAElC,yDAAyD;gBACzD,MAAM,OAAO,GACX,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qCAAqC,CAAC,CAC5D,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAC3C,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC,CAAC;gBAEhE,MAAM,GAAG,GAAiB,MAAM,YAAY,CAAC,WAAW,CAAC;oBACvD,EAAE,EAAE,MAAM;oBACV,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;wBACf,OAAO,EAAE,IAAI;wBACb,eAAe,EAAE,IAAI;wBACrB,qBAAqB,EAAE,IAAI;wBAC3B,kBAAkB,EAAE,IAAI;wBACxB,WAAW,EAAE,IAAI;qBAClB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,IACE,CAAC,GAAG;oBACJ,CAAC,GAAG,CAAC,SAAS;oBACd,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAC9D,CAAC;oBACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,CACvC,CAAC;gBACJ,CAAC;gBAED;;;mBAGG;gBACH,MAAM,QAAQ,GACZ,qBAAqB,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC/D,MAAM,WAAW,GACf,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAEjD,IACE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO;oBACjC,WAAW,KAAK,kBAAkB,CAAC,kBAAkB,EACrD,CAAC;oBACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,kIAAkI,CACnI,CACF,CAAC;gBACJ,CAAC;gBAED;;;;;;mBAMG;gBACH,IACE,QAAQ,KAAK,eAAe,CAAC,cAAc;oBAC3C,QAAQ,KAAK,eAAe,CAAC,cAAc,EAC3C,CAAC;oBACD,MAAM,WAAW,GAAmC,GAAG,CAAC,WAAW,CAAC;oBACpE,MAAM,sBAAsB,GAC1B,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,KAAI,EAAE,CAAC;oBAEjC,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,kBAAkB,CAAA,EAAE,CAAC;wBACrC,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,oGAAoG,CACrG,CACF,CAAC;oBACJ,CAAC;oBAED,MAAM,MAAM,GACV,QAAQ,KAAK,eAAe,CAAC,cAAc;wBACzC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,YAAY,GAAW,sBAAsB;wBACjD,CAAC,CAAC,WAAW,MAAM,QAAQ,sBAAsB,EAAE;wBACnD,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC;oBAExB,MAAM,UAAU,GACd,MAAM,qBAAqB,CAAC,6BAA6B,CAAC;wBACxD,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,UAAU,EAAE,IAAI;wBAChB,WAAW,EAAE,sBAAsB,IAAI,IAAI;qBAC5C,CAAC,CAAC;oBAEL,MAAM,UAAU,GAA0B,UAAU;wBAClD,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,CAAC;4BACtC,EAAE,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;4BAC7C,MAAM,EAAE;gCACN,GAAG,EAAE,IAAI;gCACT,IAAI,EAAE,IAAI;gCACV,kBAAkB,EAAE,IAAI;gCACxB,gBAAgB,EAAE,IAAI;gCACtB,cAAc,EAAE,IAAI;gCACpB,cAAc,EAAE,IAAI;gCACpB,YAAY,EAAE,IAAI;gCAClB,YAAY,EAAE,IAAI;gCAClB,WAAW,EAAE,IAAI;gCACjB,uBAAuB,EAAE,IAAI;6BAC9B;4BACD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;yBACxB,CAAC;wBACJ,CAAC,CAAC,IAAI,CAAC;oBAET,MAAM,WAAW,GAAe;wBAC9B,WAAW,EAAE,SAAS;wBACtB,YAAY;wBACZ,gBAAgB,EAAE,mDAChB,sBAAsB;4BACpB,CAAC,CAAC,IAAI,sBAAsB,GAAG;4BAC/B,CAAC,CAAC,oBACN,0BAA0B,MAAM,mFAAmF;wBACnH,WAAW,EAAE,sBAAsB;wBACnC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;qBACpC,CAAC;oBAEF,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC/B,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,kCAC1C,WAAW,KACd,YAAY,EAAE,EAAE,EAChB,eAAe,EACb,mOAAmO,IACrO,CAAC;oBACL,CAAC;oBAED,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,kCAC1C,WAAW,KACd,YAAY,EAAE;4BACZ;gCACE,EAAE,EAAE,UAAU,CAAC,EAAG,CAAC,QAAQ,EAAE;gCAC7B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE;gCAC3B,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,EAAE;gCACvD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE;gCACnD,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,EAAE;gCAC/C,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,MAAM;gCACnD,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;gCAC7C,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;gCAC7C,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,IAAI;gCAC3C,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;gCAC3D,uBAAuB,EACrB,UAAU,CAAC,uBAAuB,IAAI,IAAI;gCAC5C,gBAAgB,EAAE,UAAU,CAAC,MAAM;gCACnC,kBAAkB,EAAE,UAAU,CAAC,QAAQ;6BACxC;yBACF,IACD,CAAC;gBACL,CAAC;gBAED;;;;mBAIG;gBACH,IAAI,WAAW,KAAK,kBAAkB,CAAC,WAAW,EAAE,CAAC;oBACnD,MAAM,WAAW,GAAmC,GAAG,CAAC,WAAW,CAAC;oBACpE,MAAM,QAAQ,GACZ,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,mBAAmB,KAAI,EAAE,CAAC;oBAEzC,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,6FAA6F,CAC9F,CACF,CAAC;oBACJ,CAAC;oBAED,0DAA0D;oBAC1D,MAAM,aAAa,GAA0B,EAAE,CAAC;oBAChD,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;oBAC3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;4BACjD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gCACxC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gCACnC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACjC,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED;;;;;;;uBAOG;oBACH,MAAM,aAAa,GACjB,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC;oBAClC,MAAM,mBAAmB,GACvB,aAAa,CAAC,MAAM,GAAG,CAAC;wBACtB,CAAC,CAAC,aAAa;6BACV,GAAG,CAAC,CAAC,QAAiC,EAAU,EAAE;;4BACjD,OAAO,UACL,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EACxD,IAAI,QAAQ,CAAC,QAAQ,IAAI,MAAA,QAAQ,CAAC,UAAU,mCAAI,CAAC,GAAG,CAAC;wBACvD,CAAC,CAAC;6BACD,IAAI,CAAC,IAAI,CAAC;wBACf,CAAC,CAAC,IAAI,CAAC;oBAEX,MAAM,WAAW,GAAkB,WAAW,CAAC,WAAW,IAAI,IAAI,CAAC;oBAEnE,MAAM,UAAU,GACd,MAAM,qBAAqB,CAAC,6BAA6B,CAAC;wBACxD,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,UAAU,EAAE,mBAAmB;wBAC/B,WAAW;qBACZ,CAAC,CAAC;oBAEL,MAAM,UAAU,GAA0B,UAAU;wBAClD,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,CAAC;4BACtC,EAAE,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;4BAC7C,MAAM,EAAE;gCACN,GAAG,EAAE,IAAI;gCACT,IAAI,EAAE,IAAI;gCACV,kBAAkB,EAAE,IAAI;gCACxB,gBAAgB,EAAE,IAAI;gCACtB,cAAc,EAAE,IAAI;gCACpB,cAAc,EAAE,IAAI;gCACpB,YAAY,EAAE,IAAI;gCAClB,YAAY,EAAE,IAAI;gCAClB,WAAW,EAAE,IAAI;gCACjB,uBAAuB,EAAE,IAAI;6BAC9B;4BACD,KAAK,EAAE;gCACL,MAAM,EAAE,IAAI;6BACb;yBACF,CAAC;wBACJ,CAAC,CAAC,IAAI,CAAC;oBAET;;;;;uBAKG;oBACH,MAAM,WAAW,GAAe;wBAC9B,WAAW,EAAE,OAAO;wBACpB,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,QAAQ;wBACnC,kDAAkD;wBAClD,gBAAgB,EAAE,oBAAoB,CAAC,MAAM,CAC3C,gBAAgB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAClD,CAAC,IAAI;wBACN,WAAW;wBACX,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;wBACnC,OAAO,EAAE,WAAW,CAAC,OAAO;wBAC5B,QAAQ,EAAE,QAAiB;wBAC3B,aAAa,EAAE,aAAsB;qBACtC,CAAC;oBAEF,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC/B,MAAM,CAAC,KAAK,CACV,8BAA8B,QAAQ,SAAS,MAAM,CAAC,QAAQ,EAAE,EAAE,EAClE,2BAA2B,CAAC,GAAU,CAAC,CACxC,CAAC;wBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,kCAC1C,WAAW,KACd,YAAY,EAAE,EAAE,EAChB,eAAe,EACb,oTAAoT,IACtT,CAAC;oBACL,CAAC;oBAED,MAAM,CAAC,KAAK,CACV,uBAAuB,UAAU,CAAC,gBAAgB,IAAI,UAAU,CAAC,cAAc,QAAQ,QAAQ,SAAS,MAAM,CAAC,QAAQ,EAAE,QAAQ,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ,EAAE,EAC5K,2BAA2B,CAAC,GAAU,CAAC,CACxC,CAAC;oBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,kCAC1C,WAAW,KACd,YAAY,EAAE;4BACZ;gCACE,EAAE,EAAE,UAAU,CAAC,EAAG,CAAC,QAAQ,EAAE;gCAC7B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE;gCAC3B,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,EAAE;gCACvD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE;gCACnD,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,EAAE;gCAC/C,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,MAAM;gCACnD,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;gCAC7C,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;gCAC7C,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,IAAI;gCAC3C,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;gCAC3D,uBAAuB,EACrB,UAAU,CAAC,uBAAuB,IAAI,IAAI;gCAC5C,gBAAgB,EAAE,UAAU,CAAC,MAAM;gCACnC,kBAAkB,EAAE,UAAU,CAAC,QAAQ;6BACxC;yBACF,IACD,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;oBAC1D,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,4CAA4C,CAC7C,CACF,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAyB,GAAG,CAAC,qBAAqB;oBACjE,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,OAAO,CAAC;gBAEZ,IAAI,YAAY,GAAW,EAAE,CAAC;gBAC9B;;;;mBAIG;gBACH,IAAI,WAAW,GAAkB,IAAI,CAAC;gBACtC,IAAI,gBAAgB,GAAkB,IAAI,CAAC;gBAE3C,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAoB,MAAM,eAAe,CAAC,WAAW,CACjE;wBACE,EAAE,EAAE,GAAG,CAAC,qBAAqB;wBAC7B,MAAM,EAAE;4BACN,KAAK,EAAE,IAAI;4BACX,QAAQ,EAAE;gCACR,IAAI,EAAE,IAAI;6BACX;yBACF;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CACF,CAAC;oBAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,yDAAyD,CAC1D,CACF,CAAC;oBACJ,CAAC;oBAED,YAAY,GAAG,QAAQ,CAAC,KAAK,IAAI,mBAAmB,CAAC;oBACrD,WAAW;wBACT,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;6BACtB,GAAG,CAAC,CAAC,OAAsC,EAAE,EAAE;4BAC9C,OAAO,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;wBAC5B,CAAC,CAAC;6BACD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;oBAEhC,MAAM,QAAQ,GACZ,MAAM,mBAAmB,CAAC,SAAS,CAAC;wBAClC,KAAK,EAAE;4BACL,UAAU,EAAE,GAAG,CAAC,qBAAqB;4BACrC,qBAAqB,EAAE,qBAAqB,CAAC,SAAS;yBACvD;wBACD,MAAM,EAAE;4BACN,kBAAkB,EAAE,IAAI;yBACzB;wBACD,IAAI,EAAE;4BACJ,SAAS,EAAE,SAAS,CAAC,UAAU;yBAChC;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBAEL,gBAAgB,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,KAAI,IAAI,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,GAAiB,MAAM,YAAY,CAAC,WAAW,CAAC;wBACzD,EAAE,EAAE,GAAG,CAAC,kBAAmB;wBAC3B,MAAM,EAAE;4BACN,KAAK,EAAE,IAAI;4BACX,OAAO,EAAE;gCACP,IAAI,EAAE,IAAI;6BACX;yBACF;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBAEH,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,sDAAsD,CACvD,CACF,CAAC;oBACJ,CAAC;oBAED,YAAY,GAAG,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC;oBAC/C,WAAW,GAAG,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,KAAI,IAAI,CAAC;oBAE1C,MAAM,QAAQ,GAAqB,MAAM,gBAAgB,CAAC,SAAS,CACjE;wBACE,KAAK,EAAE;4BACL,OAAO,EAAE,GAAG,CAAC,kBAAmB;4BAChC,kBAAkB,EAAE,kBAAkB,CAAC,SAAS;yBACjD;wBACD,MAAM,EAAE;4BACN,kBAAkB,EAAE,IAAI;yBACzB;wBACD,IAAI,EAAE;4BACJ,SAAS,EAAE,SAAS,CAAC,UAAU;yBAChC;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CACF,CAAC;oBAEF,gBAAgB,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,kBAAkB,KAAI,IAAI,CAAC;gBAC1D,CAAC;gBAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,mDAAmD,WAAW,sFAAsF,CACrJ,CACF,CAAC;gBACJ,CAAC;gBAED;;;;;mBAKG;gBACH,gBAAgB,GAAG,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC;gBAEtE;;;;;mBAKG;gBACH,MAAM,UAAU,GACd,MAAM,qBAAqB,CAAC,6BAA6B,CAAC;oBACxD,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,UAAU,EAAE,IAAI;oBAChB,WAAW;iBACZ,CAAC,CAAC;gBAEL,MAAM,UAAU,GAA0B,UAAU;oBAClD,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,CAAC;wBACtC,EAAE,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;wBAC7C,MAAM,EAAE;4BACN,GAAG,EAAE,IAAI;4BACT,IAAI,EAAE,IAAI;4BACV,kBAAkB,EAAE,IAAI;4BACxB,gBAAgB,EAAE,IAAI;4BACtB,cAAc,EAAE,IAAI;4BACpB,cAAc,EAAE,IAAI;4BACpB,YAAY,EAAE,IAAI;4BAClB,YAAY,EAAE,IAAI;4BAClB,WAAW,EAAE,IAAI;4BACjB,uBAAuB,EAAE,IAAI;yBAC9B;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC;gBAET,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CACV,8BAA8B,QAAQ,SAAS,MAAM,CAAC,QAAQ,EAAE,EAAE,EAClE,2BAA2B,CAAC,GAAU,CAAC,CACxC,CAAC;oBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;wBAC/C,WAAW;wBACX,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;wBACnC,YAAY,EAAE,EAAE;wBAChB,eAAe,EACb,oPAAoP;qBACvP,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,KAAK,CACV,uBAAuB,UAAU,CAAC,gBAAgB,IAAI,UAAU,CAAC,cAAc,QAAQ,QAAQ,SAAS,MAAM,CAAC,QAAQ,EAAE,QAAQ,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,QAAQ,EAAE,EAC5K,2BAA2B,CAAC,GAAU,CAAC,CACxC,CAAC;gBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,WAAW;oBACX,YAAY;oBACZ,gBAAgB;oBAChB,WAAW;oBACX,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;oBACnC,YAAY,EAAE;wBACZ;4BACE,EAAE,EAAE,UAAU,CAAC,EAAG,CAAC,QAAQ,EAAE;4BAC7B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE;4BAC3B,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,EAAE;4BACvD,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,IAAI,EAAE;4BACnD,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,EAAE;4BAC/C,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,MAAM;4BACnD,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;4BAC7C,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,IAAI;4BAC7C,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,IAAI;4BAC3C,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;4BAC3D,uBAAuB,EACrB,UAAU,CAAC,uBAAuB,IAAI,IAAI;4BAC5C,gBAAgB,EAAE,UAAU,CAAC,MAAM;4BACnC,kBAAkB,EAAE,UAAU,CAAC,QAAQ;yBACxC;qBACF;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,yCAAyC;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qCAAqC,EACrC,KAAK,EACH,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACH,EAAE;;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAe,GAAG,CAAC,IAAI,CAAC;gBAElC,yDAAyD;gBACzD,MAAM,OAAO,GACX,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qCAAqC,CAAC,CAC5D,CAAC;gBACJ,CAAC;gBAED,yBAAyB;gBACzB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC9B,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,8BAA8B,CAAC,CACrD,CAAC;gBACJ,CAAC;gBAED,MAAM,gBAAgB,GAAa,IAAI,QAAQ,CAC7C,IAAI,CAAC,kBAAkB,CAAW,CACnC,CAAC;gBAEF,sBAAsB;gBACtB,MAAM,cAAc,GAClB,MAAM,qBAAqB,CAAC,WAAW,CAAC;oBACtC,EAAE,EAAE,gBAAgB;oBACpB,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;wBACf,kBAAkB,EAAE,IAAI;wBACxB,gBAAgB,EAAE,IAAI;wBACtB,cAAc,EAAE,IAAI;wBACpB,uBAAuB,EAAE,IAAI;wBAC7B,sBAAsB,EAAE,IAAI;qBAC7B;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL;;;;mBAIG;gBACH,IACE,CAAC,cAAc;oBACf,gBAAgB,CAAC,qBAAqB,CACpC,OAAO,EACP,cAAc,CAAC,SAAS,CACzB,EACD,CAAC;oBACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAClD,CAAC;gBACJ,CAAC;gBAED,mCAAmC;gBACnC,IAAI,cAAc,CAAC,kBAAkB,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBACpE,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,mBAAmB,cAAc,CAAC,kBAAkB,uBAAuB,CAC5E,CACF,CAAC;gBACJ,CAAC;gBAED,gDAAgD;gBAChD,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC;oBAC5C,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,yDAAyD,CAC1D,CACF,CAAC;gBACJ,CAAC;gBAED;;;;;mBAKG;gBACH,MAAM,SAAS,GACb,MAAM,kBAAkB,CAAC,kBAAkB,CAAC;oBAC1C,gBAAgB;oBAChB,eAAe,EAAE,MAAA,cAAc,CAAC,sBAAsB,mCAAI,IAAI;iBAC/D,CAAC,CAAC;gBAEL,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACvB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAClB,kBAAkB,CAAC,iBAAiB,CAAC;wBACnC,QAAQ,EAAE,SAAS;wBACnB,cAAc,EAAE,GAAG,cAAc,CAAC,gBAAgB,IAAI,cAAc,CAAC,cAAc,EAAE;qBACtF,CAAC,CACH,CACF,CAAC;gBACJ,CAAC;gBAED;;;mBAGG;gBACH,MAAM,SAAS,GACb,MAAM,UAAU,CAAC,0BAA0B,CACzC,cAAc,CAAC,uBAAuB,EACtC;oBACE,WAAW,EAAE;wBACX,QAAQ,EAAE,OAAO,EAAE,gCAAgC;wBACnD,aAAa,EAAE,OAAO,EAAE,4BAA4B;wBACpD,QAAQ,EAAE,MAAM,EAAE,2CAA2C;qBAC9D;iBACF,CACF,CAAC;gBAEJ,MAAM,aAAa,GAAW,sBAAsB,cAAc,CAAC,gBAAgB,IAAI,cAAc,CAAC,cAAc,MAAM,CAAC;gBAE3H,MAAM,CAAC,KAAK,CACV,yCAAyC,cAAc,CAAC,gBAAgB,IAAI,cAAc,CAAC,cAAc,EAAE,EAC3G,2BAA2B,CAAC,GAAU,CAAC,CACxC,CAAC;gBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,aAAa,EAAE,aAAa;oBAC5B,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;oBACjD,cAAc,EAAE,cAAc,CAAC,cAAc;iBAC9C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,gDAAgD;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oCAAoC,EACpC,KAAK,EACH,GAAmB,EACnB,GAAoB,EACpB,IAAkB,EACH,EAAE;;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAe,GAAG,CAAC,IAAI,CAAC;gBAElC,yDAAyD;gBACzD,MAAM,OAAO,GACX,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,qCAAqC,CAAC,CAC5D,CAAC;gBACJ,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAC3C,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC9B,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,8BAA8B,CAAC,CACrD,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC5B,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CACnD,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnB,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAC1C,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC,CAAC;gBAChE,MAAM,gBAAgB,GAAa,IAAI,QAAQ,CAC7C,IAAI,CAAC,kBAAkB,CAAW,CACnC,CAAC;gBACF,MAAM,cAAc,GAAW,IAAI,CAAC,gBAAgB,CAAW,CAAC;gBAChE,MAAM,iBAAiB,GAAuB,IAAI,CAChD,mBAAmB,CACE,CAAC;gBACxB,MAAM,aAAa,GAAuB,IAAI,CAAC,eAAe,CAEjD,CAAC;gBACd,MAAM,KAAK,GAAW,IAAI,CAAC,OAAO,CAAW,CAAC;gBAC9C,MAAM,WAAW,GAAuB,IAAI,CAAC,aAAa,CAE7C,CAAC;gBACd,MAAM,WAAW,GAAuB,IAAI,CAAC,aAAa,CAE7C,CAAC;gBACd,MAAM,WAAW,GAAuB,IAAI,CAAC,aAAa,CAE7C,CAAC;gBAEd;;;;;mBAKG;gBACH,MAAM,qBAAqB,GAAuB,IAAI,CACpD,0BAA0B,CACL,CAAC;gBACxB,MAAM,wBAAwB,GAC5B,qBAAqB;oBACrB,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAC3C,qBAA8C,CAC/C;oBACC,CAAC,CAAE,qBAA+C;oBAClD,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,yBAAyB,GAAuB,IAAI,CACxD,2BAA2B,CACN,CAAC;gBAExB;;;mBAGG;gBACH,MAAM,GAAG,GAAiB,MAAM,YAAY,CAAC,WAAW,CAAC;oBACvD,EAAE,EAAE,MAAM;oBACV,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;qBAChB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,IACE,CAAC,GAAG;oBACJ,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAC9D,CAAC;oBACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,gBAAgB,CAAC,CACvC,CAAC;gBACJ,CAAC;gBAED,qDAAqD;gBACrD,MAAM,cAAc,GAClB,MAAM,qBAAqB,CAAC,WAAW,CAAC;oBACtC,EAAE,EAAE,gBAAgB;oBACpB,MAAM,EAAE;wBACN,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,IAAI;wBACf,gBAAgB,EAAE,IAAI;wBACtB,cAAc,EAAE,IAAI;qBACrB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL;;;;;;mBAMG;gBACH,IACE,CAAC,cAAc;oBACf,CAAA,MAAA,cAAc,CAAC,SAAS,0CAAE,QAAQ,EAAE,OAAK,MAAA,GAAG,CAAC,SAAS,0CAAE,QAAQ,EAAE,CAAA,EAClE,CAAC;oBACD,OAAO,QAAQ,CAAC,iBAAiB,CAC/B,GAAG,EACH,GAAG,EACH,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAClD,CAAC;gBACJ,CAAC;gBAED,iCAAiC;gBACjC,MAAM,WAAW,GACf,IAAI,sBAAsB,EAAE,CAAC;gBAE/B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,WAAW,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;gBACxC,CAAC;gBAED,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;gBAE7B;;;;;mBAKG;gBACH,IAAI,OAAO,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;oBAClD,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,EAAG,CAAC;gBACtC,CAAC;gBACD,WAAW,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;gBAChD,WAAW,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAE5D,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACpC,WAAW,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;gBACpD,CAAC;gBAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;gBAC5C,CAAC;gBAED,oEAAoE;gBACpE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAE5C,IAAI,WAAW,EAAE,CAAC;oBAChB;;;uBAGG;oBACH,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC1D,CAAC;gBAED,WAAW,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC;gBAErD,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;gBACxC,CAAC;gBAED,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;gBACxC,CAAC;gBAED,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,gBAAgB,EAAE,CAAC;oBACrC,WAAW,CAAC,oBAAoB,GAAG,cAAc,CAAC,gBAAgB,CAAC;gBACrE,CAAC;gBAED,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,cAAc,EAAE,CAAC;oBACnC,WAAW,CAAC,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC;gBACvD,CAAC;gBAED,IAAI,wBAAwB,EAAE,CAAC;oBAC7B,WAAW,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;gBAClE,CAAC;gBAED,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,uDAAuD;oBACvD,WAAW,CAAC,yBAAyB;wBACnC,yBAAyB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAChD,CAAC;gBAED,MAAM,kBAAkB,GACtB,MAAM,6BAA6B,CAAC,MAAM,CAAC;oBACzC,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEL;;;mBAGG;gBACH,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,MAAM,iBAAiB,CAAC,gBAAgB,CAAC;wBACvC,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,OAAO,EAAE,MAAM;wBACf,SAAS,EAAE,cAAc,CAAC,cAAc;wBACxC,QAAQ,EAAE,mBAAmB;wBAC7B,aAAa,EAAE;4BACb,OAAO,EAAE,wBAAwB,KAAK,MAAM,cAAc,EAAE;yBAC7D;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,KAAK,CACV,yBAAyB,cAAc,YAAY,MAAM,CAAC,QAAQ,EAAE,EAAE,EACtE,2BAA2B,CAAC,GAAU,CAAC,CACxC,CAAC;gBAEF,OAAO,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE;oBAC/C,OAAO,EAAE,IAAI;oBACb,aAAa,EAAE,MAAA,kBAAkB,CAAC,GAAG,0CAAE,QAAQ,EAAE;iBAClD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,uBAAuB,CAAC,GAAY;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,gBAAgB,CAAC,oCAAoC,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,UAAU,GAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAE1E,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,KAAa,EAAc,EAAE;YAC3D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,IAAI,gBAAgB,CAAC,YAAY,KAAK,qBAAqB,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,aAAa,GAAe,KAAmB,CAAC;YACtD,MAAM,IAAI,GAAW,aAAa,CAAC,MAAM,CAAW,CAAC;YAErD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,gBAAgB,CACxB,YAAY,KAAK,0BAA0B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnE,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAe;gBAC1B,IAAI,EAAE,IAA0B;gBAChC,OAAO,EACL,OAAO,aAAa,CAAC,SAAS,CAAC,KAAK,QAAQ;oBAC1C,CAAC,CAAE,aAAa,CAAC,SAAS,CAAY;oBACtC,CAAC,CAAC,EAAE;aACT,CAAC;YAEF,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,SAAS,GACf,aAAa,CAAC,WAAW,CAC1B,CAAC,GAAG,CAAC,CAAC,QAAoB,EAAE,aAAqB,EAAe,EAAE;oBACjE,IACE,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,QAAQ;wBAClC,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,QAAQ,EACpC,CAAC;wBACD,MAAM,IAAI,gBAAgB,CACxB,YAAY,KAAK,eAAe,aAAa,iCAAiC,CAC/E,CAAC;oBACJ,CAAC;oBAED,OAAO;wBACL,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAW;wBAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAW;wBAChC,SAAS,EACP,QAAQ,CAAC,WAAW,CAAC;4BACrB,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,QAAQ;4BACzC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;4BACnC,CAAC,CAAE,QAAQ,CAAC,WAAW,CAAgB;4BACvC,CAAC,CAAC,EAAE;qBACT,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACpD,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC,YAAY,CAAW,CAAC;YAC7D,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IACtD,oBAAoB,CAC1B,GAAY;QAEZ,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CAAC,sCAAsC,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,KAAa,EAAqB,EAAE;YAClE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,IAAI,gBAAgB,CAAC,SAAS,KAAK,qBAAqB,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,UAAU,GAAe,KAAmB,CAAC;YAEnD,IACE,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,QAAQ;gBACtC,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,QAAQ;gBAC7C,CAAC,UAAU,CAAC,aAAa,CAAC;gBAC1B,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,QAAQ,EAC7C,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,SAAS,KAAK,wEAAwE,CACvF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,MAAM,CAAW;gBAClC,WAAW,EAAE,UAAU,CAAC,aAAa,CAAW;gBAChD,WAAW,EAAE,UAAU,CAAC,aAAa,CAAe;aACrD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"AIAgentDataAPI.js","sourceRoot":"","sources":["../../../../Server/API/AIAgentDataAPI.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,7 @@ import NetworkSiteService from "../Services/NetworkSiteService";
|
|
|
51
51
|
import SpanService from "../Services/SpanService";
|
|
52
52
|
import LogService from "../Services/LogService";
|
|
53
53
|
import DashboardComponentType from "../../Types/Dashboard/DashboardComponentType";
|
|
54
|
+
import { DashboardVariableType } from "../../Types/Dashboard/DashboardVariable";
|
|
54
55
|
import Includes from "../../Types/BaseDatabase/Includes";
|
|
55
56
|
const DEFAULT_DASHBOARD_RESOURCE_LIMIT = 100;
|
|
56
57
|
const PUBLIC_DASHBOARD_RESOURCES = {
|
|
@@ -816,6 +817,14 @@ export default class DashboardAPI extends BaseAPI {
|
|
|
816
817
|
* the behaviour here scoped to the dashboard's owning projectId.
|
|
817
818
|
* Authorization reuses DashboardService.hasReadAccess (public flag, IP
|
|
818
819
|
* whitelist, master password) — never falls back to project-wide read.
|
|
820
|
+
*
|
|
821
|
+
* The requested attribute key is additionally allowlisted against the
|
|
822
|
+
* keys this dashboard's own variables bind to. Project scoping alone is
|
|
823
|
+
* not enough here: the underlying query is a SELECT DISTINCT over the
|
|
824
|
+
* attribute map of every log, span, metric and exception in the project,
|
|
825
|
+
* so an unrestricted key would let anyone holding a public dashboard id
|
|
826
|
+
* read `user.email`, `db.statement`, `http.url`, ... out of telemetry the
|
|
827
|
+
* dashboard never renders (GHSA-w332-x78m-vf3v).
|
|
819
828
|
*/
|
|
820
829
|
this.router.post(`${(_f = new this.entityType()
|
|
821
830
|
.getCrudApiPath()) === null || _f === void 0 ? void 0 : _f.toString()}/attribute-values/:dashboardId`, UserMiddleware.getUserMiddleware, async (req, res, next) => {
|
|
@@ -829,8 +838,10 @@ export default class DashboardAPI extends BaseAPI {
|
|
|
829
838
|
throw (accessResult.error ||
|
|
830
839
|
new BadDataException("Access denied to this dashboard."));
|
|
831
840
|
}
|
|
832
|
-
const attributeKey = req.body
|
|
833
|
-
|
|
841
|
+
const attributeKey = req.body
|
|
842
|
+
? req.body["attributeKey"]
|
|
843
|
+
: undefined;
|
|
844
|
+
if (typeof attributeKey !== "string" || !attributeKey.trim()) {
|
|
834
845
|
throw new BadDataException("attributeKey is required.");
|
|
835
846
|
}
|
|
836
847
|
const telemetryTypeRaw = req.body && req.body["telemetryType"];
|
|
@@ -848,6 +859,7 @@ export default class DashboardAPI extends BaseAPI {
|
|
|
848
859
|
select: {
|
|
849
860
|
_id: true,
|
|
850
861
|
projectId: true,
|
|
862
|
+
dashboardViewConfig: true,
|
|
851
863
|
},
|
|
852
864
|
props: {
|
|
853
865
|
isRoot: true,
|
|
@@ -856,10 +868,23 @@ export default class DashboardAPI extends BaseAPI {
|
|
|
856
868
|
if (!dashboard || !dashboard.projectId) {
|
|
857
869
|
throw new NotFoundException("Dashboard not found");
|
|
858
870
|
}
|
|
871
|
+
/*
|
|
872
|
+
* Only the attribute keys this dashboard's own variable dropdowns
|
|
873
|
+
* offer may be read. Variable interpolation only ever substitutes
|
|
874
|
+
* a variable's VALUE into a widget filter — never its key — so the
|
|
875
|
+
* stored view config is an exact allowlist. A dashboard with no
|
|
876
|
+
* telemetry-attribute variables has nothing to look up and is
|
|
877
|
+
* refused outright.
|
|
878
|
+
*/
|
|
879
|
+
const requestedAttributeKey = attributeKey.trim();
|
|
880
|
+
const allowedAttributeKeys = DashboardAPI.collectDashboardVariableAttributeKeys(dashboard.dashboardViewConfig);
|
|
881
|
+
if (!allowedAttributeKeys.has(requestedAttributeKey)) {
|
|
882
|
+
throw new BadDataException("This attribute is not part of this dashboard.");
|
|
883
|
+
}
|
|
859
884
|
const values = await TelemetryAttributeService.fetchAttributeValues({
|
|
860
885
|
projectId: dashboard.projectId,
|
|
861
886
|
telemetryType,
|
|
862
|
-
attributeKey:
|
|
887
|
+
attributeKey: requestedAttributeKey,
|
|
863
888
|
});
|
|
864
889
|
return Response.sendJsonObjectResponse(req, res, {
|
|
865
890
|
values,
|
|
@@ -1006,19 +1031,120 @@ export default class DashboardAPI extends BaseAPI {
|
|
|
1006
1031
|
* name, so the stored view config is an exact allowlist.
|
|
1007
1032
|
*/
|
|
1008
1033
|
const allowedMetricNames = DashboardAPI.collectDashboardMetricNames(dashboard.dashboardViewConfig);
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1034
|
+
/*
|
|
1035
|
+
* Read the query through an OWN-properties copy. JSON.parse turns a
|
|
1036
|
+
* literal "__proto__" member into a real own key and
|
|
1037
|
+
* JSONFunctions.deserialize copies it with `newVal[key] = ...`,
|
|
1038
|
+
* which fires Object.prototype's __proto__ setter — so a plain
|
|
1039
|
+
* `query["name"]` lookup walks the prototype chain and sees a name
|
|
1040
|
+
* that a later own-properties spread would silently drop, leaving
|
|
1041
|
+
* the aggregation with no metric predicate at all. The check and
|
|
1042
|
+
* the object that reaches the database must read the same keys.
|
|
1043
|
+
*/
|
|
1044
|
+
const requestedQuery = aggregateBy.query &&
|
|
1045
|
+
typeof aggregateBy.query === "object" &&
|
|
1046
|
+
!Array.isArray(aggregateBy.query)
|
|
1047
|
+
? Object.assign({}, aggregateBy.query) : {};
|
|
1048
|
+
const requestedMetricName = requestedQuery["name"];
|
|
1012
1049
|
if (typeof requestedMetricName !== "string" ||
|
|
1013
1050
|
!allowedMetricNames.has(requestedMetricName)) {
|
|
1014
1051
|
throw new BadDataException("This metric is not part of this dashboard.");
|
|
1015
1052
|
}
|
|
1016
1053
|
/*
|
|
1017
|
-
*
|
|
1018
|
-
*
|
|
1019
|
-
*
|
|
1054
|
+
* Pinning the metric name is not enough on its own: a grouped
|
|
1055
|
+
* aggregation echoes each group's key back in the result rows, so
|
|
1056
|
+
* `groupByAttributeKeys: ["enduser.id"]` — or the blunter
|
|
1057
|
+
* `groupBy: { attributes: true }`, which returns the WHOLE
|
|
1058
|
+
* attribute map — turns an allowlisted metric into a reader for
|
|
1059
|
+
* attribute values the widget never renders. Both grouping
|
|
1060
|
+
* dimensions are therefore allowlisted against the stored view
|
|
1061
|
+
* config as well; interpolation never rewrites either of them.
|
|
1062
|
+
*/
|
|
1063
|
+
const allowedGroupByAttributeKeys = DashboardAPI.collectDashboardGroupByAttributeKeys(dashboard.dashboardViewConfig);
|
|
1064
|
+
const requestedGroupByAttributeKeys = aggregateBy.groupByAttributeKeys;
|
|
1065
|
+
/*
|
|
1066
|
+
* `null` means "not grouped" here: JSONFunctions.serialize drops
|
|
1067
|
+
* undefined but preserves null, and both downstream sinks already
|
|
1068
|
+
* treat a null grouping as absent.
|
|
1020
1069
|
*/
|
|
1021
|
-
|
|
1070
|
+
if (requestedGroupByAttributeKeys !== undefined &&
|
|
1071
|
+
requestedGroupByAttributeKeys !== null) {
|
|
1072
|
+
if (!Array.isArray(requestedGroupByAttributeKeys)) {
|
|
1073
|
+
throw new BadDataException("groupByAttributeKeys must be an array of attribute keys.");
|
|
1074
|
+
}
|
|
1075
|
+
for (const requestedKey of requestedGroupByAttributeKeys) {
|
|
1076
|
+
if (typeof requestedKey !== "string" ||
|
|
1077
|
+
!allowedGroupByAttributeKeys.has(requestedKey)) {
|
|
1078
|
+
throw new BadDataException("This attribute is not part of this dashboard.");
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
const allowedGroupByColumns = DashboardAPI.collectDashboardGroupByColumns(dashboard.dashboardViewConfig);
|
|
1083
|
+
const requestedGroupBy = aggregateBy.groupBy;
|
|
1084
|
+
if (requestedGroupBy !== undefined && requestedGroupBy !== null) {
|
|
1085
|
+
if (typeof requestedGroupBy !== "object" ||
|
|
1086
|
+
Array.isArray(requestedGroupBy)) {
|
|
1087
|
+
throw new BadDataException("groupBy must be an object.");
|
|
1088
|
+
}
|
|
1089
|
+
for (const requestedColumn of Object.keys(requestedGroupBy)) {
|
|
1090
|
+
if (!allowedGroupByColumns.has(requestedColumn)) {
|
|
1091
|
+
throw new BadDataException("This grouping is not part of this dashboard.");
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1094
|
+
/*
|
|
1095
|
+
* Hand the SQL builder the same keys this guard validated. The
|
|
1096
|
+
* guard reads Object.keys but the GROUP BY builder walks the
|
|
1097
|
+
* object with for...in, so an inherited key would otherwise
|
|
1098
|
+
* reach the query without ever being checked.
|
|
1099
|
+
*/
|
|
1100
|
+
aggregateBy.groupBy = Object.assign({}, requestedGroupBy);
|
|
1101
|
+
}
|
|
1102
|
+
/*
|
|
1103
|
+
* The client never chooses what is aggregated over what: every
|
|
1104
|
+
* widget aggregates `value` over `time`. Left open, an anonymous
|
|
1105
|
+
* caller could aggregate `attributes` instead — `max(attributes)`
|
|
1106
|
+
* returns the whole map and the row mapper passes non-numeric
|
|
1107
|
+
* aggregates through untouched, handing back a full attribute map
|
|
1108
|
+
* per time bucket.
|
|
1109
|
+
*/
|
|
1110
|
+
if (aggregateBy.aggregateColumnName !== "value") {
|
|
1111
|
+
throw new BadDataException("Invalid aggregateColumnName.");
|
|
1112
|
+
}
|
|
1113
|
+
if (aggregateBy.aggregationTimestampColumnName !== "time") {
|
|
1114
|
+
throw new BadDataException("Invalid aggregationTimestampColumnName.");
|
|
1115
|
+
}
|
|
1116
|
+
// Never let an anonymous caller choose an unbounded page.
|
|
1117
|
+
aggregateBy.limit = Math.min(Math.max(Number(aggregateBy.limit) || LIMIT_PER_PROJECT, 1), LIMIT_PER_PROJECT);
|
|
1118
|
+
aggregateBy.skip = Math.max(Number(aggregateBy.skip) || 0, 0);
|
|
1119
|
+
/*
|
|
1120
|
+
* Security: the client does not get to choose what is filtered on a
|
|
1121
|
+
* public, unauthenticated endpoint. Rebuild the query from the
|
|
1122
|
+
* fields the dashboard's own widgets legitimately send — the
|
|
1123
|
+
* allowlisted metric name, the time window, and attribute filters
|
|
1124
|
+
* on keys those widgets already filter by — and pin the project.
|
|
1125
|
+
* Everything else the client sent is dropped rather than merged: a
|
|
1126
|
+
* foreign projectId, a filter on an arbitrary attribute key used as
|
|
1127
|
+
* a blind ILIKE oracle, a key smuggled in on the prototype
|
|
1128
|
+
* (GHSA-w332-x78m-vf3v).
|
|
1129
|
+
*/
|
|
1130
|
+
const allowedFilterAttributeKeys = DashboardAPI.collectDashboardFilterAttributeKeys(dashboard.dashboardViewConfig);
|
|
1131
|
+
const sanitizedAttributes = {};
|
|
1132
|
+
const requestedAttributes = requestedQuery["attributes"];
|
|
1133
|
+
if (requestedAttributes &&
|
|
1134
|
+
typeof requestedAttributes === "object" &&
|
|
1135
|
+
!Array.isArray(requestedAttributes)) {
|
|
1136
|
+
for (const requestedAttributeKey of Object.keys(requestedAttributes)) {
|
|
1137
|
+
if (!allowedFilterAttributeKeys.has(requestedAttributeKey)) {
|
|
1138
|
+
throw new BadDataException("This attribute is not part of this dashboard.");
|
|
1139
|
+
}
|
|
1140
|
+
sanitizedAttributes[requestedAttributeKey] = requestedAttributes[requestedAttributeKey];
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
1143
|
+
aggregateBy.query = Object.assign(Object.assign(Object.assign({ name: requestedMetricName }, (requestedQuery["time"] !== undefined
|
|
1144
|
+
? { time: requestedQuery["time"] }
|
|
1145
|
+
: {})), (Object.keys(sanitizedAttributes).length > 0
|
|
1146
|
+
? { attributes: sanitizedAttributes }
|
|
1147
|
+
: {})), { projectId: dashboard.projectId });
|
|
1022
1148
|
const aggregateResult = await MetricService.aggregateBy(aggregateBy);
|
|
1023
1149
|
const responseBody = Object.assign({}, aggregateResult);
|
|
1024
1150
|
return Response.sendJsonObjectResponse(req, res, responseBody);
|
|
@@ -1173,6 +1299,174 @@ export default class DashboardAPI extends BaseAPI {
|
|
|
1173
1299
|
walk(dashboardViewConfig);
|
|
1174
1300
|
return metricNames;
|
|
1175
1301
|
}
|
|
1302
|
+
/*
|
|
1303
|
+
* Walk a stored dashboard view config and collect every OpenTelemetry
|
|
1304
|
+
* attribute key its variables bind to (a `Telemetry Attribute` variable
|
|
1305
|
+
* carries the key its dropdown lists values for). Used as the allowlist
|
|
1306
|
+
* for the public attribute-values endpoint, so an anonymous viewer can
|
|
1307
|
+
* only read the values behind this dashboard's own variable pickers and
|
|
1308
|
+
* not every attribute in the owning project.
|
|
1309
|
+
*/
|
|
1310
|
+
static collectDashboardVariableAttributeKeys(dashboardViewConfig) {
|
|
1311
|
+
const attributeKeys = new Set();
|
|
1312
|
+
const walk = (node) => {
|
|
1313
|
+
if (!node || typeof node !== "object") {
|
|
1314
|
+
return;
|
|
1315
|
+
}
|
|
1316
|
+
if (Array.isArray(node)) {
|
|
1317
|
+
for (const item of node) {
|
|
1318
|
+
walk(item);
|
|
1319
|
+
}
|
|
1320
|
+
return;
|
|
1321
|
+
}
|
|
1322
|
+
const obj = node;
|
|
1323
|
+
if (obj["type"] === DashboardVariableType.TelemetryAttribute) {
|
|
1324
|
+
const attributeKey = obj["attributeKey"];
|
|
1325
|
+
if (typeof attributeKey === "string" &&
|
|
1326
|
+
attributeKey.trim().length > 0) {
|
|
1327
|
+
attributeKeys.add(attributeKey.trim());
|
|
1328
|
+
}
|
|
1329
|
+
}
|
|
1330
|
+
for (const key of Object.keys(obj)) {
|
|
1331
|
+
walk(obj[key]);
|
|
1332
|
+
}
|
|
1333
|
+
};
|
|
1334
|
+
walk(dashboardViewConfig);
|
|
1335
|
+
return attributeKeys;
|
|
1336
|
+
}
|
|
1337
|
+
/*
|
|
1338
|
+
* Walk a stored dashboard view config and collect every OpenTelemetry
|
|
1339
|
+
* attribute key its metric widgets group by — `groupByAttributeKeys`
|
|
1340
|
+
* (chart / value / gauge / legacy table queries) and `groupByAttributes`
|
|
1341
|
+
* (the table widget's richer per-key form). Used as the allowlist for the
|
|
1342
|
+
* public metric-aggregate endpoint, whose grouped results echo each
|
|
1343
|
+
* group's key values back to the caller.
|
|
1344
|
+
*/
|
|
1345
|
+
static collectDashboardGroupByAttributeKeys(dashboardViewConfig) {
|
|
1346
|
+
const attributeKeys = new Set();
|
|
1347
|
+
const addKey = (value) => {
|
|
1348
|
+
if (typeof value === "string" && value.length > 0) {
|
|
1349
|
+
attributeKeys.add(value);
|
|
1350
|
+
}
|
|
1351
|
+
};
|
|
1352
|
+
const walk = (node) => {
|
|
1353
|
+
if (!node || typeof node !== "object") {
|
|
1354
|
+
return;
|
|
1355
|
+
}
|
|
1356
|
+
if (Array.isArray(node)) {
|
|
1357
|
+
for (const item of node) {
|
|
1358
|
+
walk(item);
|
|
1359
|
+
}
|
|
1360
|
+
return;
|
|
1361
|
+
}
|
|
1362
|
+
const obj = node;
|
|
1363
|
+
const groupByAttributeKeys = obj["groupByAttributeKeys"];
|
|
1364
|
+
if (Array.isArray(groupByAttributeKeys)) {
|
|
1365
|
+
for (const key of groupByAttributeKeys) {
|
|
1366
|
+
addKey(key);
|
|
1367
|
+
}
|
|
1368
|
+
}
|
|
1369
|
+
const groupByAttributes = obj["groupByAttributes"];
|
|
1370
|
+
if (Array.isArray(groupByAttributes)) {
|
|
1371
|
+
for (const groupByAttribute of groupByAttributes) {
|
|
1372
|
+
if (groupByAttribute && typeof groupByAttribute === "object") {
|
|
1373
|
+
addKey(groupByAttribute["key"]);
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
for (const key of Object.keys(obj)) {
|
|
1378
|
+
walk(obj[key]);
|
|
1379
|
+
}
|
|
1380
|
+
};
|
|
1381
|
+
walk(dashboardViewConfig);
|
|
1382
|
+
return attributeKeys;
|
|
1383
|
+
}
|
|
1384
|
+
/*
|
|
1385
|
+
* Attribute keys a public metric aggregation may FILTER on.
|
|
1386
|
+
*
|
|
1387
|
+
* Two sources, and both are needed:
|
|
1388
|
+
*
|
|
1389
|
+
* - Keys the widgets themselves persist — `filterData.attributes` on a
|
|
1390
|
+
* chart/value/gauge query, and the table widget's widget-level
|
|
1391
|
+
* `attributeFilters`.
|
|
1392
|
+
* - Keys the dashboard's `Telemetry Attribute` variables bind to. The
|
|
1393
|
+
* shipped templates store `filterData: { metricName, aggegationType }`
|
|
1394
|
+
* and no attributes at all; the filter on e.g.
|
|
1395
|
+
* `resource.k8s.cluster.name` only appears once the viewer picks a value
|
|
1396
|
+
* and DashboardVariableInterpolation injects it at render time. An
|
|
1397
|
+
* allowlist built from stored filters alone would refuse every real
|
|
1398
|
+
* templated dashboard the moment its variable is used.
|
|
1399
|
+
*/
|
|
1400
|
+
static collectDashboardFilterAttributeKeys(dashboardViewConfig) {
|
|
1401
|
+
const attributeKeys = DashboardAPI.collectDashboardVariableAttributeKeys(dashboardViewConfig);
|
|
1402
|
+
const addKeysOf = (value) => {
|
|
1403
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
1404
|
+
return;
|
|
1405
|
+
}
|
|
1406
|
+
for (const key of Object.keys(value)) {
|
|
1407
|
+
if (key.length > 0) {
|
|
1408
|
+
attributeKeys.add(key);
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
};
|
|
1412
|
+
const walk = (node) => {
|
|
1413
|
+
if (!node || typeof node !== "object") {
|
|
1414
|
+
return;
|
|
1415
|
+
}
|
|
1416
|
+
if (Array.isArray(node)) {
|
|
1417
|
+
for (const item of node) {
|
|
1418
|
+
walk(item);
|
|
1419
|
+
}
|
|
1420
|
+
return;
|
|
1421
|
+
}
|
|
1422
|
+
const obj = node;
|
|
1423
|
+
const filterData = obj["filterData"];
|
|
1424
|
+
if (filterData && typeof filterData === "object") {
|
|
1425
|
+
addKeysOf(filterData["attributes"]);
|
|
1426
|
+
}
|
|
1427
|
+
addKeysOf(obj["attributeFilters"]);
|
|
1428
|
+
for (const key of Object.keys(obj)) {
|
|
1429
|
+
walk(obj[key]);
|
|
1430
|
+
}
|
|
1431
|
+
};
|
|
1432
|
+
walk(dashboardViewConfig);
|
|
1433
|
+
return attributeKeys;
|
|
1434
|
+
}
|
|
1435
|
+
/*
|
|
1436
|
+
* Walk a stored dashboard view config and collect every model column its
|
|
1437
|
+
* widgets group by. Used as the allowlist for the public metric-aggregate
|
|
1438
|
+
* endpoint: grouping echoes the grouped column back in every result row,
|
|
1439
|
+
* so `groupBy: { attributes: true }` would hand an anonymous viewer the
|
|
1440
|
+
* entire attribute map of an allowlisted metric.
|
|
1441
|
+
*/
|
|
1442
|
+
static collectDashboardGroupByColumns(dashboardViewConfig) {
|
|
1443
|
+
const groupByColumns = new Set();
|
|
1444
|
+
const walk = (node) => {
|
|
1445
|
+
if (!node || typeof node !== "object") {
|
|
1446
|
+
return;
|
|
1447
|
+
}
|
|
1448
|
+
if (Array.isArray(node)) {
|
|
1449
|
+
for (const item of node) {
|
|
1450
|
+
walk(item);
|
|
1451
|
+
}
|
|
1452
|
+
return;
|
|
1453
|
+
}
|
|
1454
|
+
const obj = node;
|
|
1455
|
+
const groupBy = obj["groupBy"];
|
|
1456
|
+
if (groupBy && typeof groupBy === "object" && !Array.isArray(groupBy)) {
|
|
1457
|
+
for (const column of Object.keys(groupBy)) {
|
|
1458
|
+
if (groupBy[column]) {
|
|
1459
|
+
groupByColumns.add(column);
|
|
1460
|
+
}
|
|
1461
|
+
}
|
|
1462
|
+
}
|
|
1463
|
+
for (const key of Object.keys(obj)) {
|
|
1464
|
+
walk(obj[key]);
|
|
1465
|
+
}
|
|
1466
|
+
};
|
|
1467
|
+
walk(dashboardViewConfig);
|
|
1468
|
+
return groupByColumns;
|
|
1469
|
+
}
|
|
1176
1470
|
/*
|
|
1177
1471
|
* Walk a stored dashboard view config and collect every widget type it
|
|
1178
1472
|
* renders. Used to build an allowlist for the public resource-list
|