@acorex/connectivity 20.0.5 → 20.0.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-connectivity-api.mjs","sources":["../tmp-esm2022/api/lib/api-storage.service.js","../tmp-esm2022/api/lib/auth/oidc/application.loader.js","../tmp-esm2022/api/lib/auth/oidc/configuration.service.js","../tmp-esm2022/api/lib/auth/oidc/feature.loader.js","../tmp-esm2022/api/lib/auth/oidc/oidc.strategy.js","../tmp-esm2022/api/lib/auth/oidc/permission.loader.js","../tmp-esm2022/api/lib/auth/oidc/tenant.loader.js","../tmp-esm2022/api/lib/api.module.js","../tmp-esm2022/api/acorex-connectivity-api.js"],"sourcesContent":["import { AXP_ROOT_CONFIG_TOKEN, AXPFilterOperatorMiddlewareService } from '@acorex/platform/common';\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { kebabCase } from 'lodash-es';\nimport { firstValueFrom } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXCApiEntityStorageService {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.filterService = inject(AXPFilterOperatorMiddlewareService);\n this.entityResolver = inject(AXPEntityResolver);\n this.mainUrl = this.configs.baseUrl;\n }\n get dbName() {\n return 'ACoreXPlatform';\n }\n getConfigEntity(entityName) {\n const partEntity = entityName.split('.');\n if (partEntity.length == 3) {\n const [area, module, entity] = partEntity;\n const areaKebab = kebabCase(area);\n const moduleKebab = kebabCase(module);\n const entityKebab = kebabCase(entity);\n return {\n module: moduleKebab,\n entity: entityKebab,\n area: areaKebab,\n };\n }\n else {\n const [module, entity] = partEntity;\n const moduleKebab = kebabCase(module);\n const entityKebab = kebabCase(entity);\n return {\n module: moduleKebab,\n entity: entityKebab,\n area: null,\n };\n }\n }\n async initial(entityName, collection) {\n //const exists = await this.table('entity-store').where({ entityName }).count();\n // if (exists === 0) {\n // await this.table('entity-store').bulkAdd(collection.map((item) => ({ ...item, entityName })));\n // }\n return collection;\n }\n async getOne(entityName, id) {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}${id ? '/' + id : ''}`;\n return firstValueFrom(this.http.get(url));\n }\n async updateOne(entityName, id, keyValue) {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}${id ? '/' + id : ''}`;\n return firstValueFrom(this.http.put(url, keyValue));\n }\n async deleteOne(entityName, id) {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}/${id}`;\n firstValueFrom(this.http.delete(url));\n }\n async insertOne(entityName, entityItem) {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}`;\n return firstValueFrom(this.http.post(url, entityItem));\n }\n async getAll(entityName) {\n return [];\n }\n async query(entityName, request) {\n const routeElement = await this.getConfigEntity(entityName);\n let httpParams = new HttpParams().set('Skip', request.skip).set('Take', request.take);\n if (request?.sort && request?.sort.length > 0) {\n const sortParam = request?.sort.map((sort) => `${sort.field}:${sort.dir}`).join(',');\n httpParams = httpParams.set('$orderby', sortParam);\n }\n const greaterThanOperator = this.filterService.getOperator('greaterThan');\n const lessThanOperator = this.filterService.getOperator('lessThan');\n function generateQueryString(filter) {\n if (!filter.filters) {\n // Base case: single filter\n if (typeof filter.value === 'object' && filter.operator.type === 'between') {\n return `${filter.field} ${greaterThanOperator.type} '${filter.value.from}' and ${filter.field} ${lessThanOperator.type} '${filter.value.to}'`;\n }\n else {\n return `${filter.field} ${filter.operator.type} '${filter.value}'`;\n }\n }\n else if (!filter.filters.length) {\n return;\n }\n else {\n // Recursive case: multiple filters\n const filterStrings = filter.filters.map((subFilter) => generateQueryString(subFilter));\n const logic = filter.logic || 'AND'; // Default logic is 'AND' if not provided\n return `${filterStrings.filter((i) => i).join(` ${logic} `)}`;\n }\n }\n let queryString = '';\n if (request.filter) {\n const filter = request.filter;\n if (filter.filters && filter.filters.length > 0) {\n // Construct filter string from provided filters\n const dynamicQueries = generateQueryString(filter);\n console.log({ dynamicQueries: dynamicQueries });\n // Append dynamic filters to custom filter, if both exist\n queryString = (queryString ? `${queryString},${dynamicQueries}` : dynamicQueries);\n }\n }\n // Set the $filter parameter if there are any filters\n if (queryString) {\n httpParams = httpParams.set('$query', queryString);\n }\n return firstValueFrom(this.http.get(`${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}`, { params: httpParams })).then((response) => {\n return {\n total: response.totalCount,\n items: response.items,\n };\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXCApiEntityStorageService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXCApiEntityStorageService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXCApiEntityStorageService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L2FwaS9zcmMvbGliL2FwaS1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEcsT0FBTyxFQUFFLGlCQUFpQixFQUEyQixNQUFNLGdDQUFnQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdEMsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBTDVCLFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzNELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0MsWUFBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBRUEsQ0FBQztJQUV4QyxJQUFJLE1BQU07UUFDUixPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRCxlQUFlLENBQUMsVUFBa0I7UUFDaEMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFD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Q0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxZQUFZLENBQUMsTUFBTSxJQUN2RixZQUFZLENBQUMsTUFDZixFQUFFLEVBQ0YsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQ3ZCLENBQ0YsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNsQixPQUFPO2dCQUNMLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVTtnQkFDMUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2FBQ3RCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBN0lVLDBCQUEwQjtrSEFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQX1JPT1RfQ09ORklHX1RPS0VOLCBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQUGFnZWRMaXN0UmVzdWx0LCBBWFBRdWVyeVJlcXVlc3QgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5UmVzb2x2ZXIsIEFYUEVudGl0eVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGtlYmFiQ2FzZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhDQXBpRW50aXR5U3RvcmFnZVNlcnZpY2UgaW1wbGVtZW50cyBBWFBFbnRpdHlTdG9yYWdlU2VydmljZTxzdHJpbmcsIGFueT4ge1xuICBwcml2YXRlIGNvbmZpZ3MgPSBpbmplY3QoQVhQX1JPT1RfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBmaWx0ZXJTZXJ2aWNlID0gaW5qZWN0KEFYUEZpbHRlck9wZXJhdG9yTWlkZGxld2FyZVNlcnZpY2UpO1xuICBwcml2YXRlIGVudGl0eVJlc29sdmVyID0gaW5qZWN0KEFYUEVudGl0eVJlc29sdmVyKTtcbiAgcHJpdmF0ZSBtYWluVXJsID0gdGhpcy5jb25maWdzLmJhc2VVcmw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldCBkYk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0FDb3JlWFBsYXRmb3JtJztcbiAgfVxuXG4gIGdldENvbmZpZ0VudGl0eShlbnRpdHlOYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJ0RW50aXR5ID0gZW50aXR5TmFtZS5zcGxpdCgnLicpO1xuICAgIGlmIChwYXJ0RW50aXR5Lmxlbmd0aCA9PSAzKSB7XG4gICAgICBjb25zdCBbYXJlYSwgbW9kdWxlLCBlbnRpdHldID0gcGFydEVudGl0eTtcbiAgICAgIGNvbnN0IGFyZWFLZWJhYiA9IGtlYmFiQ2FzZShhcmVhKTtcbiAgICAgIGNvbnN0IG1vZHVsZUtlYmFiID0ga2ViYWJDYXNlKG1vZHVsZSk7XG4gICAgICBjb25zdCBlbnRpdHlLZWJhYiA9IGtlYmFiQ2FzZShlbnRpdHkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kdWxlOiBtb2R1bGVLZWJhYixcbiAgICAgICAgZW50aXR5OiBlbnRpdHlLZWJhYixcbiAgICAgICAgYXJlYTogYXJlYUtlYmFiLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgW21vZHVsZSwgZW50aXR5XSA9IHBhcnRFbnRpdHk7XG4gICAgICBjb25zdCBtb2R1bGVLZWJhYiA9IGtlYmFiQ2FzZShtb2R1bGUpO1xuICAgICAgY29uc3QgZW50aXR5S2ViYWIgPSBrZWJhYkNhc2UoZW50aXR5KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZHVsZTogbW9kdWxlS2ViYWIsXG4gICAgICAgIGVudGl0eTogZW50aXR5S2ViYWIsXG4gICAgICAgIGFyZWE6IG51bGwsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGluaXRpYWw8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nLCBjb2xsZWN0aW9uOiBUW10pOiBQcm9taXNlPFRbXT4ge1xuICAgIC8vY29uc3QgZXhpc3RzID0gYXdhaXQgdGhpcy50YWJsZSgnZW50aXR5LXN0b3JlJykud2hlcmUoeyBlbnRpdHlOYW1lIH0pLmNvdW50KCk7XG4gICAgLy8gaWYgKGV4aXN0cyA9PT0gMCkge1xuICAgIC8vICAgYXdhaXQgdGhpcy50YWJsZSgnZW50aXR5LXN0b3JlJykuYnVsa0FkZChjb2xsZWN0aW9uLm1hcCgoaXRlbSkgPT4gKHsgLi4uaXRlbSwgZW50aXR5TmFtZSB9KSkpO1xuICAgIC8vIH1cbiAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgfVxuXG4gIGFzeW5jIGdldE9uZTxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCByb3V0ZUVsZW1lbnQgPSBhd2FpdCB0aGlzLmdldENvbmZpZ0VudGl0eShlbnRpdHlOYW1lKTtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLm1haW5Vcmx9LyR7cm91dGVFbGVtZW50LmFyZWEgPyByb3V0ZUVsZW1lbnQuYXJlYSArICcvJyA6ICcnfSR7cm91dGVFbGVtZW50Lm1vZHVsZX0vJHtcbiAgICAgIHJvdXRlRWxlbWVudC5lbnRpdHlcbiAgICB9JHtpZCA/ICcvJyArIGlkIDogJyd9YDtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxUPih1cmwpKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZU9uZTxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGtleVZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3Qgcm91dGVFbGVtZW50ID0gYXdhaXQgdGhpcy5nZXRDb25maWdFbnRpdHkoZW50aXR5TmFtZSk7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5tYWluVXJsfS8ke3JvdXRlRWxlbWVudC5hcmVhID8gcm91dGVFbGVtZW50LmFyZWEgKyAnLycgOiAnJ30ke3JvdXRlRWxlbWVudC5tb2R1bGV9LyR7XG4gICAgICByb3V0ZUVsZW1lbnQuZW50aXR5XG4gICAgfSR7aWQgPyAnLycgKyBpZCA6ICcnfWA7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wdXQ8VD4odXJsLCBrZXlWYWx1ZSkpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlT25lKGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJvdXRlRWxlbWVudCA9IGF3YWl0IHRoaXMuZ2V0Q29uZmlnRW50aXR5KGVudGl0eU5hbWUpO1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMubWFpblVybH0vJHtyb3V0ZUVsZW1lbnQuYXJlYSA/IHJvdXRlRWxlbWVudC5hcmVhICsgJy8nIDogJyd9JHtyb3V0ZUVsZW1lbnQubW9kdWxlfS8ke1xuICAgICAgcm91dGVFbGVtZW50LmVudGl0eVxuICAgIH0vJHtpZH1gO1xuICAgIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5kZWxldGUodXJsKSk7XG4gIH1cblxuICBhc3luYyBpbnNlcnRPbmU8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nLCBlbnRpdHlJdGVtOiBUKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByb3V0ZUVsZW1lbnQgPSBhd2FpdCB0aGlzLmdldENvbmZpZ0VudGl0eShlbnRpdHlOYW1lKTtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLm1haW5Vcmx9LyR7cm91dGVFbGVtZW50LmFyZWEgPyByb3V0ZUVsZW1lbnQuYXJlYSArICcvJyA6ICcnfSR7cm91dGVFbGVtZW50Lm1vZHVsZX0vJHtcbiAgICAgIHJvdXRlRWxlbWVudC5lbnRpdHlcbiAgICB9YDtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8c3RyaW5nPih1cmwsIGVudGl0eUl0ZW0pKTtcbiAgfVxuXG4gIGFzeW5jIGdldEFsbDxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFRbXT4ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGFzeW5jIHF1ZXJ5PFQgPSBhbnk+KGVudGl0eU5hbWU6IHN0cmluZywgcmVxdWVzdDogQVhQUXVlcnlSZXF1ZXN0KTogUHJvbWlzZTxBWFBQYWdlZExpc3RSZXN1bHQ8VD4+IHtcbiAgICBjb25zdCByb3V0ZUVsZW1lbnQgPSBhd2FpdCB0aGlzLmdldENvbmZpZ0VudGl0eShlbnRpdHlOYW1lKTtcblxuICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ1NraXAnLCByZXF1ZXN0LnNraXApLnNldCgnVGFrZScsIHJlcXVlc3QudGFrZSk7XG4gICAgaWYgKHJlcXVlc3Q/LnNvcnQgJiYgcmVxdWVzdD8uc29ydC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBzb3J0UGFyYW0gPSByZXF1ZXN0Py5zb3J0Lm1hcCgoc29ydDogYW55KSA9PiBgJHtzb3J0LmZpZWxkfToke3NvcnQuZGlyfWApLmpvaW4oJywnKTtcbiAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgnJG9yZGVyYnknLCBzb3J0UGFyYW0pO1xuICAgIH1cblxuICAgIGNvbnN0IGdyZWF0ZXJUaGFuT3BlcmF0b3IgPSB0aGlzLmZpbHRlclNlcnZpY2UuZ2V0T3BlcmF0b3IoJ2dyZWF0ZXJUaGFuJyk7XG4gICAgY29uc3QgbGVzc1RoYW5PcGVyYXRvciA9IHRoaXMuZmlsdGVyU2VydmljZS5nZXRPcGVyYXRvcignbGVzc1RoYW4nKTtcbiAgICBmdW5jdGlvbiBnZW5lcmF0ZVF1ZXJ5U3RyaW5nKGZpbHRlcjogYW55KSB7XG4gICAgICBpZiAoIWZpbHRlci5maWx0ZXJzKSB7XG4gICAgICAgIC8vIEJhc2UgY2FzZTogc2luZ2xlIGZpbHRlclxuICAgICAgICBpZiAodHlwZW9mIGZpbHRlci52YWx1ZSA9PT0gJ29iamVjdCcgJiYgZmlsdGVyLm9wZXJhdG9yLnR5cGUgPT09ICdiZXR3ZWVuJykge1xuICAgICAgICAgIHJldHVybiBgJHtmaWx0ZXIuZmllbGR9ICR7Z3JlYXRlclRoYW5PcGVyYXRvci50eXBlfSAnJHtmaWx0ZXIudmFsdWUuZnJvbX0nIGFuZCAke2ZpbHRlci5maWVsZH0gJHtsZXNzVGhhbk9wZXJhdG9yLnR5cGV9ICcke2ZpbHRlci52YWx1ZS50b30nYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYCR7ZmlsdGVyLmZpZWxkfSAke2ZpbHRlci5vcGVyYXRvci50eXBlfSAnJHtmaWx0ZXIudmFsdWV9J2A7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIWZpbHRlci5maWx0ZXJzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZWN1cnNpdmUgY2FzZTogbXVsdGlwbGUgZmlsdGVyc1xuXG4gICAgICAgIGNvbnN0IGZpbHRlclN0cmluZ3MgPSBmaWx0ZXIuZmlsdGVycy5tYXAoKHN1YkZpbHRlcjogYW55KSA9PiBnZW5lcmF0ZVF1ZXJ5U3RyaW5nKHN1YkZpbHRlcikpO1xuICAgICAgICBjb25zdCBsb2dpYyA9IGZpbHRlci5sb2dpYyB8fCAnQU5EJzsgLy8gRGVmYXVsdCBsb2dpYyBpcyAnQU5EJyBpZiBub3QgcHJvdmlkZWRcbiAgICAgICAgcmV0dXJuIGAke2ZpbHRlclN0cmluZ3MuZmlsdGVyKChpOiBhbnkpID0+IGkpLmpvaW4oYCAke2xvZ2ljfSBgKX1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBxdWVyeVN0cmluZyA9ICcnO1xuXG4gICAgaWYgKHJlcXVlc3QuZmlsdGVyKSB7XG4gICAgICBjb25zdCBmaWx0ZXIgPSByZXF1ZXN0LmZpbHRlcjtcbiAgICAgIGlmIChmaWx0ZXIuZmlsdGVycyAmJiBmaWx0ZXIuZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIENvbnN0cnVjdCBmaWx0ZXIgc3RyaW5nIGZyb20gcHJvdmlkZWQgZmlsdGVyc1xuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNRdWVyaWVzID0gZ2VuZXJhdGVRdWVyeVN0cmluZyhmaWx0ZXIpO1xuICAgICAgICBjb25zb2xlLmxvZyh7IGR5bmFtaWNRdWVyaWVzOiBkeW5hbWljUXVlcmllcyB9KTtcblxuICAgICAgICAvLyBBcHBlbmQgZHluYW1pYyBmaWx0ZXJzIHRvIGN1c3RvbSBmaWx0ZXIsIGlmIGJvdGggZXhpc3RcbiAgICAgICAgcXVlcnlTdHJpbmcgPSAocXVlcnlTdHJpbmcgPyBgJHtxdWVyeVN0cmluZ30sJHtkeW5hbWljUXVlcmllc31gIDogZHluYW1pY1F1ZXJpZXMpIGFzIHN0cmluZztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gU2V0IHRoZSAkZmlsdGVyIHBhcmFtZXRlciBpZiB0aGVyZSBhcmUgYW55IGZpbHRlcnNcbiAgICBpZiAocXVlcnlTdHJpbmcpIHtcbiAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgnJHF1ZXJ5JywgcXVlcnlTdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZ2V0PGFueT4oXG4gICAgICAgIGAke3RoaXMubWFpblVybH0vJHtyb3V0ZUVsZW1lbnQuYXJlYSA/IHJvdXRlRWxlbWVudC5hcmVhICsgJy8nIDogJyd9JHtyb3V0ZUVsZW1lbnQubW9kdWxlfS8ke1xuICAgICAgICAgIHJvdXRlRWxlbWVudC5lbnRpdHlcbiAgICAgICAgfWAsXG4gICAgICAgIHsgcGFyYW1zOiBodHRwUGFyYW1zIH1cbiAgICAgIClcbiAgICApLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b3RhbDogcmVzcG9uc2UudG90YWxDb3VudCxcbiAgICAgICAgaXRlbXM6IHJlc3BvbnNlLml0ZW1zLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxufVxuIl19","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { map } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXMOidcApplicationLoader {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.apiGetApps = `${this.configs.baseUrl}/applications/GetListByTenantId`;\n this.apiSetApp = `${this.configs.baseUrl}/SetApplication`;\n }\n getList() {\n return this.http.get(this.apiGetApps).pipe(map((response) => {\n return response.items.map((item) => this.mapToAXPApplication(item));\n }));\n }\n set(application) {\n return Promise.resolve();\n }\n // //TODO: shoud be removed\n // set(application: AXPApplication): Observable<AXPRefreshTokenResult> {\n // return this.http.post<any>(this.apiSetApp, { applicationId: application.id }).pipe(\n // map((response) => {\n // return {\n // succeed: true,\n // data: {\n // accessToken: response.token,\n // refreshToken: response.token,\n // }\n // };\n // })\n // );\n // }\n mapToAXPApplication(item) {\n return {\n id: item.id,\n name: item.name || 'defaultName',\n title: item.title || 'defaultTitle',\n version: item.version || '1.0.0',\n description: item.description,\n logo: item.logo, // Assuming logo is of type AXPLogoConfig or undefined\n editionName: item.editionName,\n // features: item.features || [],\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcApplicationLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcApplicationLoader }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcApplicationLoader, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24ubG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvYXBpL3NyYy9saWIvYXV0aC9vaWRjL2FwcGxpY2F0aW9uLmxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBR3ZDLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUg1QixZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsZUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLGlDQUFpQyxDQUFDO1FBQ3RFLGNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztJQUNyQixDQUFDO0lBR3pDLE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUMxRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNmLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsR0FBRyxDQUFDLFdBQTJCO1FBQzdCLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCwyQkFBMkI7SUFDM0Isd0VBQXdFO0lBQ3hFLHdGQUF3RjtJQUN4RiwwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIseUNBQXlDO0lBQ3pDLDBDQUEwQztJQUMxQyxZQUFZO0lBQ1osV0FBVztJQUNYLFNBQVM7SUFDVCxPQUFPO0lBQ1AsSUFBSTtJQUVJLG1CQUFtQixDQUFDLElBQVM7UUFDbkMsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLGFBQWE7WUFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksY0FBYztZQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPO1lBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxzREFBc0Q7WUFDdkUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLGlDQUFpQztTQUNsQyxDQUFDO0lBQ0osQ0FBQzs4R0E3Q1Usd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBBcHBsaWNhdGlvbiwgQVhQQXBwbGljYXRpb25Mb2FkZXIsIEFYUFJlZnJlc2hUb2tlblJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBfUk9PVF9DT05GSUdfVE9LRU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTU9pZGNBcHBsaWNhdGlvbkxvYWRlciBpbXBsZW1lbnRzIEFYUEFwcGxpY2F0aW9uTG9hZGVyIHtcbiAgcHJpdmF0ZSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgYXBpR2V0QXBwcyA9IGAke3RoaXMuY29uZmlncy5iYXNlVXJsfS9hcHBsaWNhdGlvbnMvR2V0TGlzdEJ5VGVuYW50SWRgO1xuICBwcml2YXRlIGFwaVNldEFwcCA9IGAke3RoaXMuY29uZmlncy5iYXNlVXJsfS9TZXRBcHBsaWNhdGlvbmA7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XG5cblxuICBnZXRMaXN0KCk6IE9ic2VydmFibGU8QVhQQXBwbGljYXRpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgaXRlbXM6IGFueVtdIH0+KHRoaXMuYXBpR2V0QXBwcykucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLml0ZW1zLm1hcCgoaXRlbSkgPT4gdGhpcy5tYXBUb0FYUEFwcGxpY2F0aW9uKGl0ZW0pKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNldChhcHBsaWNhdGlvbjogQVhQQXBwbGljYXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICAvLyAvL1RPRE86IHNob3VkIGJlIHJlbW92ZWRcbiAgLy8gc2V0KGFwcGxpY2F0aW9uOiBBWFBBcHBsaWNhdGlvbik6IE9ic2VydmFibGU8QVhQUmVmcmVzaFRva2VuUmVzdWx0PiB7XG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5hcGlTZXRBcHAsIHsgYXBwbGljYXRpb25JZDogYXBwbGljYXRpb24uaWQgfSkucGlwZShcbiAgLy8gICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgLy8gICAgICAgcmV0dXJuIHtcbiAgLy8gICAgICAgICBzdWNjZWVkOiB0cnVlLFxuICAvLyAgICAgICAgIGRhdGE6IHtcbiAgLy8gICAgICAgICAgIGFjY2Vzc1Rva2VuOiByZXNwb25zZS50b2tlbixcbiAgLy8gICAgICAgICAgIHJlZnJlc2hUb2tlbjogcmVzcG9uc2UudG9rZW4sXG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICB9O1xuICAvLyAgICAgfSlcbiAgLy8gICApO1xuICAvLyB9XG5cbiAgcHJpdmF0ZSBtYXBUb0FYUEFwcGxpY2F0aW9uKGl0ZW06IGFueSk6IEFYUEFwcGxpY2F0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICBuYW1lOiBpdGVtLm5hbWUgfHwgJ2RlZmF1bHROYW1lJyxcbiAgICAgIHRpdGxlOiBpdGVtLnRpdGxlIHx8ICdkZWZhdWx0VGl0bGUnLFxuICAgICAgdmVyc2lvbjogaXRlbS52ZXJzaW9uIHx8ICcxLjAuMCcsXG4gICAgICBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgIGxvZ286IGl0ZW0ubG9nbywgLy8gQXNzdW1pbmcgbG9nbyBpcyBvZiB0eXBlIEFYUExvZ29Db25maWcgb3IgdW5kZWZpbmVkXG4gICAgICBlZGl0aW9uTmFtZTogaXRlbS5lZGl0aW9uTmFtZSxcbiAgICAgIC8vIGZlYXR1cmVzOiBpdGVtLmZlYXR1cmVzIHx8IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, filter, of, switchMap, take, tap } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXMConfigurationService {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.applicationConfig = null;\n this.apiGetConfig = `${this.configs.baseUrl}/abp/application-configuration`;\n this.fetchInProgress = false;\n this.configSubject = new BehaviorSubject(null);\n this.init().subscribe(); // Automatically trigger configuration load on service instantiation\n }\n init() {\n if (!this.fetchInProgress) {\n this.fetchInProgress = true;\n return this.http.get(this.apiGetConfig).pipe(tap((response) => {\n this.applicationConfig = response;\n this.configSubject.next(this.applicationConfig);\n this.fetchInProgress = false;\n }));\n }\n else {\n // Adjusted approach to handle TypeScript's type safety requirements\n return this.configSubject.asObservable().pipe(filter((config) => config !== null), take(1) // Ensures it completes after emitting the first non-null value\n );\n }\n }\n getConfig() {\n if (this.applicationConfig) {\n // If the config is already loaded, return it immediately\n return of(this.applicationConfig);\n }\n else {\n // If the config is not loaded, initiate loading\n return this.configSubject.asObservable().pipe(filter((config) => config !== null), take(1), // Ensure it only emits the first non-null value and completes\n switchMap(() => of(this.applicationConfig)));\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMConfigurationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMConfigurationService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMConfigurationService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvYXBpL3NyYy9saWIvYXV0aC9vaWRjL2NvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUE2RHJGLE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU41QixZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsc0JBQWlCLEdBQW9DLElBQUksQ0FBQztRQUMxRCxpQkFBWSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLGdDQUFnQyxDQUFDO1FBQ3ZFLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGtCQUFhLEdBQXFELElBQUksZUFBZSxDQUFrQyxJQUFJLENBQUMsQ0FBQztRQUduSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxvRUFBb0U7SUFDL0YsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3BFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixvRUFBb0U7WUFDcEUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDM0MsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFzQyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxFQUN2RSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsK0RBQStEO2FBQ3hFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLHlEQUF5RDtZQUN6RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNOLGdEQUFnRDtZQUNoRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUMzQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsRUFDbkMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLDhEQUE4RDtZQUN2RSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBa0IsQ0FBQyxDQUFDLENBQzdDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzs4R0ExQ1UsdUJBQXVCO2tIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTV9BVVRIX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9hdXRoJztcbmltcG9ydCB7IEFYUF9ST09UX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZmlsdGVyLCBvZiwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbGl6YXRpb24ge1xuICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuICByZXNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIFJlc291cmNlPjtcbiAgbGFuZ3VhZ2VzOiBMYW5ndWFnZVtdO1xuICBjdXJyZW50Q3VsdHVyZTogQ3VsdHVyZTtcbiAgZGVmYXVsdFJlc291cmNlTmFtZTogc3RyaW5nO1xuICBsYW5ndWFnZXNNYXA6IFJlY29yZDxzdHJpbmcsIE5hbWVWYWx1ZVtdPjtcbiAgbGFuZ3VhZ2VGaWxlc01hcDogUmVjb3JkPHN0cmluZywgTmFtZVZhbHVlW10+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlIHtcbiAgdGV4dHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGJhc2VSZXNvdXJjZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlIHtcbiAgY3VsdHVyZU5hbWU6IHN0cmluZztcbiAgdWlDdWx0dXJlTmFtZTogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICB0d29MZXR0ZXJJU09MYW5ndWFnZU5hbWU6IHN0cmluZztcbiAgZmxhZ0ljb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdWx0dXJlIHtcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgLy8gLi4uIG90aGVyIHByb3BlcnRpZXNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYW1lVmFsdWUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8vIFJlcGVhdCBzaW1pbGFyIHBhdHRlcm5zIGZvciAnYXV0aCcsICdzZXR0aW5nJywgJ2N1cnJlbnRVc2VyJywgZXRjLlxuZXhwb3J0IGludGVyZmFjZSBBdXRoIHtcbiAgZ3JhbnRlZFBvbGljaWVzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbn1cblxuLy8gTWFpbiBjb25maWd1cmF0aW9uIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24ge1xuICBsb2NhbGl6YXRpb246IExvY2FsaXphdGlvbjtcbiAgYXV0aDogQXV0aDtcbiAgc2V0dGluZzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgY3VycmVudFVzZXI6IGFueTtcbiAgZmVhdHVyZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGdsb2JhbEZlYXR1cmVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBtdWx0aVRlbmFuY3k6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGN1cnJlbnRDdWx0dXJlOiBDdWx0dXJlO1xuICB0aW1pbmc6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGNsb2NrOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBvYmplY3RFeHRlbnNpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBleHRyYVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgLy8gLi4uIG90aGVyIHByb3BlcnRpZXNcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYTUNvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgYXBwbGljYXRpb25Db25maWc6IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGFwaUdldENvbmZpZyA9IGAke3RoaXMuY29uZmlncy5iYXNlVXJsfS9hYnAvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbmA7XG4gIHByaXZhdGUgZmV0Y2hJblByb2dyZXNzOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgY29uZmlnU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbiB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gfCBudWxsPihudWxsKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICB0aGlzLmluaXQoKS5zdWJzY3JpYmUoKTsgLy8gQXV0b21hdGljYWxseSB0cmlnZ2VyIGNvbmZpZ3VyYXRpb24gbG9hZCBvbiBzZXJ2aWNlIGluc3RhbnRpYXRpb25cbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uPiB7XG4gICAgaWYgKCF0aGlzLmZldGNoSW5Qcm9ncmVzcykge1xuICAgICAgdGhpcy5mZXRjaEluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBwbGljYXRpb25Db25maWd1cmF0aW9uPih0aGlzLmFwaUdldENvbmZpZykucGlwZShcbiAgICAgICAgdGFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25Db25maWcgPSByZXNwb25zZTtcbiAgICAgICAgICB0aGlzLmNvbmZpZ1N1YmplY3QubmV4dCh0aGlzLmFwcGxpY2F0aW9uQ29uZmlnKTtcbiAgICAgICAgICB0aGlzLmZldGNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQWRqdXN0ZWQgYXBwcm9hY2ggdG8gaGFuZGxlIFR5cGVTY3JpcHQncyB0eXBlIHNhZmV0eSByZXF1aXJlbWVudHNcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgZmlsdGVyKChjb25maWcpOiBjb25maWcgaXMgQXBwbGljYXRpb25Db25maWd1cmF0aW9uID0+IGNvbmZpZyAhPT0gbnVsbCksXG4gICAgICAgIHRha2UoMSkgLy8gRW5zdXJlcyBpdCBjb21wbGV0ZXMgYWZ0ZXIgZW1pdHRpbmcgdGhlIGZpcnN0IG5vbi1udWxsIHZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGdldENvbmZpZygpOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbj4ge1xuICAgIGlmICh0aGlzLmFwcGxpY2F0aW9uQ29uZmlnKSB7XG4gICAgICAvLyBJZiB0aGUgY29uZmlnIGlzIGFscmVhZHkgbG9hZGVkLCByZXR1cm4gaXQgaW1tZWRpYXRlbHlcbiAgICAgIHJldHVybiBvZih0aGlzLmFwcGxpY2F0aW9uQ29uZmlnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlIGNvbmZpZyBpcyBub3QgbG9hZGVkLCBpbml0aWF0ZSBsb2FkaW5nXG4gICAgICByZXR1cm4gdGhpcy5jb25maWdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgIGZpbHRlcigoY29uZmlnKSA9PiBjb25maWcgIT09IG51bGwpLFxuICAgICAgICB0YWtlKDEpLCAvLyBFbnN1cmUgaXQgb25seSBlbWl0cyB0aGUgZmlyc3Qgbm9uLW51bGwgdmFsdWUgYW5kIGNvbXBsZXRlc1xuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gb2YodGhpcy5hcHBsaWNhdGlvbkNvbmZpZyEpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { delay, of } from 'rxjs';\nexport class AXMOidcFeatureLoader {\n constructor() {\n this.list = [\n {\n name: 'axp-entity-list-custom-view',\n title: 'Custom View',\n value: false\n },\n {\n name: 'axp-entity-list-quick-search',\n title: 'Custom View',\n value: false\n }\n ];\n }\n getList() {\n return of(this.list).pipe(delay(0));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9hcGkvc3JjL2xpYi9hdXRoL29pZGMvZmVhdHVyZS5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFN0MsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUVVLFNBQUksR0FBaUI7WUFDM0I7Z0JBQ0UsSUFBSSxFQUFFLDZCQUE2QjtnQkFDbkMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLEtBQUssRUFBRSxLQUFLO2FBQ2I7WUFDRDtnQkFDRSxJQUFJLEVBQUUsOEJBQThCO2dCQUNwQyxLQUFLLEVBQUUsYUFBYTtnQkFDcEIsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGLENBQUE7SUFLSCxDQUFDO0lBSEMsT0FBTztRQUNMLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRmVhdHVyZSwgQVhQRmVhdHVyZUxvYWRlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBkZWxheSwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIEFYTU9pZGNGZWF0dXJlTG9hZGVyIGltcGxlbWVudHMgQVhQRmVhdHVyZUxvYWRlciB7XG5cbiAgcHJpdmF0ZSBsaXN0OiBBWFBGZWF0dXJlW10gPSBbXG4gICAge1xuICAgICAgbmFtZTogJ2F4cC1lbnRpdHktbGlzdC1jdXN0b20tdmlldycsXG4gICAgICB0aXRsZTogJ0N1c3RvbSBWaWV3JyxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ2F4cC1lbnRpdHktbGlzdC1xdWljay1zZWFyY2gnLFxuICAgICAgdGl0bGU6ICdDdXN0b20gVmlldycsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9XG4gIF1cblxuICBnZXRMaXN0KCk6IE9ic2VydmFibGU8QVhQRmVhdHVyZVtdPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMubGlzdCkucGlwZShkZWxheSgwKSk7XG4gIH1cbn1cbiJdfQ==","import { AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';\nimport { AXPSessionService, } from '@acorex/platform/auth';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { firstValueFrom } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXMOidcStrategy {\n constructor() {\n this.aXMAuthConfigs = inject(AXM_AUTH_CONFIG_TOKEN);\n this.oauthService = inject(OAuthService);\n this.http = inject(HttpClient);\n }\n async configureOAuth() {\n if (this.openidConfigurationInfo)\n return;\n if (!this.authConfig) {\n if (!this.aXMAuthConfigs.authConfig) {\n throw new Error('authConfig is missing');\n }\n this.authConfig = this.aXMAuthConfigs.authConfig;\n }\n this.oauthService.configure(this.authConfig);\n this.oauthService.setStorage(localStorage);\n this.openidConfigurationInfo = await this.oauthService.loadDiscoveryDocument();\n if (!this.openidConfigurationInfo) {\n throw new Error('openidConfigurationInfo is missing');\n }\n this.oauthService.events.subscribe(async (event) => {\n // console.log('event', event);\n // if (event.type === 'token_received') {\n // console.log('Token has been refreshed');\n // }\n // if (event.type === 'token_expires') {\n // console.log('Token is about to expire. Triggering silent refresh...');\n // }\n });\n const oidcJson = localStorage.getItem(AXPSessionService.SESSION_KEY);\n if (oidcJson) {\n const authData = JSON.parse(oidcJson);\n if (authData) {\n this.setServiceProps(authData);\n if (authData.expiresIn && new Date(authData.expiresIn) < new Date()) {\n if (authData.expiresIn) {\n // this.refresh();\n }\n else {\n this.logout();\n }\n }\n }\n }\n }\n async signin(credentials) {\n await this.configureOAuth();\n try {\n const body = new HttpParams()\n .set('grant_type', 'password')\n .set('client_id', this.authConfig.clientId)\n .set('client_secret', this.authConfig.dummyClientSecret)\n .set('username', credentials.username)\n .set('password', credentials.password)\n .set('scope', this.authConfig.scope);\n const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n const response = await firstValueFrom(this.http.post(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers }));\n // const authData = new AuthenticationData(response);\n this.setServiceProps({\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n idToken: response.id_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n });\n return {\n succeed: true,\n data: {\n accessToken: response.access_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n idToken: response.id_token,\n refreshToken: response.refresh_token,\n user: {\n id: response.sub,\n title: response.fullname,\n name: response.sub,\n avatar: response.picture,\n },\n tenant: {\n id: response.tenantid,\n name: response.tenantname,\n title: response.tenanttitle,\n },\n application: {\n id: response.applicationid,\n name: response.applicationname,\n title: response.applicationtitle,\n },\n },\n };\n }\n catch (error) {\n this.handleError(error);\n }\n }\n async signout() {\n //this.logout();\n }\n async refreshToken(context) {\n try {\n await this.configureOAuth();\n const refreshResult = await this.refresh(context.tenant?.id, context.application?.id);\n if (refreshResult) {\n return {\n succeed: true,\n data: {\n accessToken: this.oauthService.getAccessToken(),\n refreshToken: this.oauthService.getRefreshToken(),\n },\n };\n }\n else {\n return { succeed: false };\n }\n }\n catch (error) {\n console.error('Error refreshing token', error);\n return { succeed: false };\n }\n }\n async refresh(tenantId, applicationId) {\n await this.configureOAuth();\n const authData = this.loadAuthData();\n if (!authData)\n return false;\n const refreshToken = this.oauthService.getRefreshToken();\n if (!refreshToken)\n return false;\n const body = new HttpParams()\n .set('grant_type', 'refresh_token')\n .set('client_id', this.authConfig.clientId)\n .set('client_secret', this.authConfig.dummyClientSecret)\n .set('refresh_token', refreshToken)\n .set('tenantId', tenantId ?? '')\n .set('applicationId', applicationId ?? '');\n const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n try {\n const response = await firstValueFrom(this.http.post(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers }));\n this.setServiceProps({\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n idToken: response.id_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n });\n return true;\n }\n catch (error) {\n console.error('Token refresh error', error);\n return false;\n }\n }\n expires_in_milisecound(expires_in_date) {\n const now = new Date();\n const expire = new Date(expires_in_date);\n return expire.getTime() - now.getTime();\n }\n setServiceProps(authData) {\n this.oauthService.getAccessToken = () => authData.accessToken;\n this.oauthService.getIdToken = () => authData.idToken ?? '';\n this.oauthService.getRefreshToken = () => authData.refreshToken;\n if (authData.expiresIn) {\n const refreshTime = this.expires_in_milisecound(authData.expiresIn);\n this.oauthService.getAccessTokenExpiration = () => refreshTime;\n // if (refreshTime < 0) {\n // this.refresh();\n // }else{\n // }\n }\n }\n loadAuthData() {\n const authDataJson = localStorage.getItem(AXPSessionService.SESSION_KEY);\n if (!authDataJson)\n return undefined;\n const authData = JSON.parse(authDataJson);\n // return authData ? new AuthenticationData(authData) : undefined;\n return authData;\n }\n async loadUserInfo() {\n return this.oauthService.loadUserProfile();\n }\n calculateExpireInDate(expireInMilisecound) {\n return new Date(Date.now() + expireInMilisecound * 1000).toISOString();\n }\n logout() {\n this.oauthService.logOut({\n noRedirectToLogoutUrl: true\n });\n }\n handleError(error) {\n if (error?.reason) {\n throw new Error(JSON.stringify(error.reason));\n }\n else if (error?.message) {\n throw new Error(error.message);\n }\n else {\n throw new Error('Network or server error occurred');\n }\n }\n //#region getter\n get name() {\n return 'user-pass';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcStrategy }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcStrategy, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L2FwaS9zcmMvbGliL2F1dGgvb2lkYy9vaWRjLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBTUwsaUJBQWlCLEdBR2xCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3RDLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVUsbUJBQWMsR0FBbUIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0QsaUJBQVksR0FBaUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELFNBQUksR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FnTy9DO0lBM05RLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLElBQUksSUFBSSxDQUFDLHVCQUF1QjtZQUFFLE9BQU87UUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1FBQ25ELENBQUM7UUFF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QyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUNPLE1BQU07UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUN2QixxQkFBcUIsRUFBRSxJQUFJO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBVTtRQUM1QixJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLElBQUksSUFBSTtRQUNOLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OEdBak9VLGVBQWU7a0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUF1dGhDb25maWdzLCBBWE1fQVVUSF9DT05GSUdfVE9LRU4gfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvYXV0aCc7XG5pbXBvcnQge1xuICBBWFBBdXRoU3RyYXRlZ3ksXG4gIEFYUEJhc2VDcmVkZW50aWFscyxcbiAgQVhQUmVmcmVzaFRva2VuUmVzdWx0LFxuICBBWFBTZXNzaW9uQ29udGV4dCxcbiAgQVhQU2Vzc2lvbkRhdGEsXG4gIEFYUFNlc3Npb25TZXJ2aWNlLFxuICBBWFBTaWduSW5SZXN1bHQsXG4gIEFYUFVzZXIsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aENvbmZpZywgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT2lkY1N0cmF0ZWd5IGltcGxlbWVudHMgQVhQQXV0aFN0cmF0ZWd5IHtcbiAgcHJpdmF0ZSBhWE1BdXRoQ29uZmlnczogQVhNQXV0aENvbmZpZ3MgPSBpbmplY3QoQVhNX0FVVEhfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSA9IGluamVjdChPQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHB1YmxpYyB1c2VySW5mbzogYW55O1xuICBwdWJsaWMgYXV0aENvbmZpZzogQXV0aENvbmZpZztcbiAgcHVibGljIG9wZW5pZENvbmZpZ3VyYXRpb25JbmZvOiBhbnk7IC8vIGNsYXJpZnkgdGhlIHR5cGUgaWYgcG9zc2libGVcblxuICBwdWJsaWMgYXN5bmMgY29uZmlndXJlT0F1dGgoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMub3BlbmlkQ29uZmlndXJhdGlvbkluZm8pIHJldHVybjtcblxuICAgIGlmICghdGhpcy5hdXRoQ29uZmlnKSB7XG4gICAgICBpZiAoIXRoaXMuYVhNQXV0aENvbmZpZ3MuYXV0aENvbmZpZykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2F1dGhDb25maWcgaXMgbWlzc2luZycpO1xuICAgICAgfVxuICAgICAgdGhpcy5hdXRoQ29uZmlnID0gdGhpcy5hWE1BdXRoQ29uZmlncy5hdXRoQ29uZmlnO1xuICAgIH1cblxuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLmF1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLnNldFN0b3JhZ2UobG9jYWxTdG9yYWdlKTtcblxuICAgIHRoaXMub3BlbmlkQ29uZmlndXJhdGlvbkluZm8gPSBhd2FpdCB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoKTtcblxuICAgIGlmICghdGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcGVuaWRDb25maWd1cmF0aW9uSW5mbyBpcyBtaXNzaW5nJyk7XG4gICAgfVxuXG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnN1YnNjcmliZShhc3luYyAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdldmVudCcsIGV2ZW50KTtcbiAgICAgIC8vIGlmIChldmVudC50eXBlID09PSAndG9rZW5fcmVjZWl2ZWQnKSB7XG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCdUb2tlbiBoYXMgYmVlbiByZWZyZXNoZWQnKTtcbiAgICAgIC8vIH1cbiAgICAgIC8vIGlmIChldmVudC50eXBlID09PSAndG9rZW5fZXhwaXJlcycpIHtcbiAgICAgIC8vICAgY29uc29sZS5sb2coJ1Rva2VuIGlzIGFib3V0IHRvIGV4cGlyZS4gVHJpZ2dlcmluZyBzaWxlbnQgcmVmcmVzaC4uLicpO1xuICAgICAgLy8gfVxuICAgIH0pO1xuXG4gICAgY29uc3Qgb2lkY0pzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShBWFBTZXNzaW9uU2VydmljZS5TRVNTSU9OX0tFWSk7XG5cbiAgICBpZiAob2lkY0pzb24pIHtcbiAgICAgIGNvbnN0IGF1dGhEYXRhID0gSlNPTi5wYXJzZShvaWRjSnNvbikgYXMgQVhQU2Vzc2lvbkRhdGE7XG4gICAgICBpZiAoYXV0aERhdGEpIHtcbiAgICAgICAgdGhpcy5zZXRTZXJ2aWNlUHJvcHMoYXV0aERhdGEpO1xuXG4gICAgICAgIGlmIChhdXRoRGF0YS5leHBpcmVzSW4gJiYgbmV3IERhdGUoYXV0aERhdGEuZXhwaXJlc0luKSA8IG5ldyBEYXRlKCkpIHtcbiAgICAgICAgICBpZiAoYXV0aERhdGEuZXhwaXJlc0luKSB7XG4gICAgICAgICAgICAvLyB0aGlzLnJlZnJlc2goKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBzaWduaW4oY3JlZGVudGlhbHM6IEFYUFVzZXJQYXNzQ3JlZGVudGlhbHMpOiBQcm9taXNlPEFYUFNpZ25JblJlc3VsdD4ge1xuICAgIGF3YWl0IHRoaXMuY29uZmlndXJlT0F1dGgoKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYm9keSA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgICAgLnNldCgnZ3JhbnRfdHlwZScsICdwYXNzd29yZCcpXG4gICAgICAgIC5zZXQoJ2NsaWVudF9pZCcsIHRoaXMuYXV0aENvbmZpZy5jbGllbnRJZCEpXG4gICAgICAgIC5zZXQoJ2NsaWVudF9zZWNyZXQnLCB0aGlzLmF1dGhDb25maWcuZHVtbXlDbGllbnRTZWNyZXQhKVxuICAgICAgICAuc2V0KCd1c2VybmFtZScsIGNyZWRlbnRpYWxzLnVzZXJuYW1lKVxuICAgICAgICAuc2V0KCdwYXNzd29yZCcsIGNyZWRlbnRpYWxzLnBhc3N3b3JkKVxuICAgICAgICAuc2V0KCdzY29wZScsIHRoaXMuYXV0aENvbmZpZy5zY29wZSEpO1xuXG4gICAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PElBdXRoZW50aWNhdGlvbkRhdGFNb2RlbD4odGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mby5pbmZvLmRpc2NvdmVyeURvY3VtZW50LnRva2VuX2VuZHBvaW50LCBib2R5LnRvU3RyaW5nKCksIHsgaGVhZGVycyB9KVxuICAgICAgKTtcblxuICAgICAgLy8gY29uc3QgYXV0aERhdGEgPSBuZXcgQXV0aGVudGljYXRpb25EYXRhKHJlc3BvbnNlKTtcbiAgICAgIHRoaXMuc2V0U2VydmljZVByb3BzKHtcbiAgICAgICAgYWNjZXNzVG9rZW46IHJlc3BvbnNlLmFjY2Vzc190b2tlbixcbiAgICAgICAgcmVmcmVzaFRva2VuOiByZXNwb25zZS5yZWZyZXNoX3Rva2VuLFxuICAgICAgICBpZFRva2VuOiByZXNwb25zZS5pZF90b2tlbixcbiAgICAgICAgZXhwaXJlc0luOiB0aGlzLmNhbGN1bGF0ZUV4cGlyZUluRGF0ZShyZXNwb25zZS5leHBpcmVzX2luID8/IDApLFxuICAgICAgfSBhcyBBWFBTZXNzaW9uRGF0YSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2NlZWQ6IHRydWUsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBhY2Nlc3NUb2tlbjogcmVzcG9uc2UuYWNjZXNzX3Rva2VuLFxuICAgICAgICAgIGV4cGlyZXNJbjogdGhpcy5jYWxjdWxhdGVFeHBpcmVJbkRhdGUocmVzcG9uc2UuZXhwaXJlc19pbiA/PyAwKSxcbiAgICAgICAgICBpZFRva2VuOiByZXNwb25zZS5pZF90b2tlbixcbiAgICAgICAgICByZWZyZXNoVG9rZW46IHJlc3BvbnNlLnJlZnJlc2hfdG9rZW4hLFxuICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgIGlkOiByZXNwb25zZS5zdWIsXG4gICAgICAgICAgICB0aXRsZTogcmVzcG9uc2UuZnVsbG5hbWUsXG4gICAgICAgICAgICBuYW1lOiByZXNwb25zZS5zdWIsXG4gICAgICAgICAgICBhdmF0YXI6IHJlc3BvbnNlLnBpY3R1cmUsXG4gICAgICAgICAgfSBhcyBBWFBVc2VyLFxuICAgICAgICAgIHRlbmFudDoge1xuICAgICAgICAgICAgaWQ6IHJlc3BvbnNlLnRlbmFudGlkISxcbiAgICAgICAgICAgIG5hbWU6IHJlc3BvbnNlLnRlbmFudG5hbWUhLFxuICAgICAgICAgICAgdGl0bGU6IHJlc3BvbnNlLnRlbmFudHRpdGxlISxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGFwcGxpY2F0aW9uOiB7XG4gICAgICAgICAgICBpZDogcmVzcG9uc2UuYXBwbGljYXRpb25pZCEsXG4gICAgICAgICAgICBuYW1lOiByZXNwb25zZS5hcHBsaWNhdGlvbm5hbWUhLFxuICAgICAgICAgICAgdGl0bGU6IHJlc3BvbnNlLmFwcGxpY2F0aW9udGl0bGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbm91dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvL3RoaXMubG9nb3V0KCk7XG4gIH1cblxuICBhc3luYyByZWZyZXNoVG9rZW4oY29udGV4dDogQVhQU2Vzc2lvbkNvbnRleHQpOiBQcm9taXNlPEFYUFJlZnJlc2hUb2tlblJlc3VsdD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmNvbmZpZ3VyZU9BdXRoKCk7XG4gICAgICBjb25zdCByZWZyZXNoUmVzdWx0ID0gYXdhaXQgdGhpcy5yZWZyZXNoKGNvbnRleHQudGVuYW50Py5pZCwgY29udGV4dC5hcHBsaWNhdGlvbj8uaWQpO1xuICAgICAgaWYgKHJlZnJlc2hSZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdWNjZWVkOiB0cnVlLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGFjY2Vzc1Rva2VuOiB0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpLFxuICAgICAgICAgICAgcmVmcmVzaFRva2VuOiB0aGlzLm9hdXRoU2VydmljZS5nZXRSZWZyZXNoVG9rZW4oKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHsgc3VjY2VlZDogZmFsc2UgfTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcmVmcmVzaGluZyB0b2tlbicsIGVycm9yKTtcbiAgICAgIHJldHVybiB7IHN1Y2NlZWQ6IGZhbHNlIH07XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVmcmVzaCh0ZW5hbnRJZD86IHN0cmluZywgYXBwbGljYXRpb25JZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGF3YWl0IHRoaXMuY29uZmlndXJlT0F1dGgoKTtcbiAgICBjb25zdCBhdXRoRGF0YSA9IHRoaXMubG9hZEF1dGhEYXRhKCk7XG4gICAgaWYgKCFhdXRoRGF0YSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgcmVmcmVzaFRva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCk7XG4gICAgaWYgKCFyZWZyZXNoVG9rZW4pIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IGJvZHkgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKVxuICAgICAgLnNldCgnY2xpZW50X2lkJywgdGhpcy5hdXRoQ29uZmlnLmNsaWVudElkISlcbiAgICAgIC5zZXQoJ2NsaWVudF9zZWNyZXQnLCB0aGlzLmF1dGhDb25maWcuZHVtbXlDbGllbnRTZWNyZXQhKVxuICAgICAgLnNldCgncmVmcmVzaF90b2tlbicsIHJlZnJlc2hUb2tlbilcbiAgICAgIC5zZXQoJ3RlbmFudElkJywgdGVuYW50SWQgPz8gJycpXG4gICAgICAuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZCA/PyAnJyk7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PElBdXRoZW50aWNhdGlvbkRhdGFNb2RlbD4odGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mby5pbmZvLmRpc2NvdmVyeURvY3VtZW50LnRva2VuX2VuZHBvaW50LCBib2R5LnRvU3RyaW5nKCksIHsgaGVhZGVycyB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2V0U2VydmljZVByb3BzKHtcbiAgICAgICAgYWNjZXNzVG9rZW46IHJlc3BvbnNlLmFjY2Vzc190b2tlbixcbiAgICAgICAgcmVmcmVzaFRva2VuOiByZXNwb25zZS5yZWZyZXNoX3Rva2VuLFxuICAgICAgICBpZFRva2VuOiByZXNwb25zZS5pZF90b2tlbixcbiAgICAgICAgZXhwaXJlc0luOiB0aGlzLmNhbGN1bGF0ZUV4cGlyZUluRGF0ZShyZXNwb25zZS5leHBpcmVzX2luID8/IDApLFxuICAgICAgfSBhcyBBWFBTZXNzaW9uRGF0YSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdUb2tlbiByZWZyZXNoIGVycm9yJywgZXJyb3IpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGV4cGlyZXNfaW5fbWlsaXNlY291bmQoZXhwaXJlc19pbl9kYXRlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZXhwaXJlID0gbmV3IERhdGUoZXhwaXJlc19pbl9kYXRlKTtcbiAgICByZXR1cm4gZXhwaXJlLmdldFRpbWUoKSAtIG5vdy5nZXRUaW1lKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFNlcnZpY2VQcm9wcyhhdXRoRGF0YTogQVhQU2Vzc2lvbkRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbiA9ICgpID0+IGF1dGhEYXRhLmFjY2Vzc1Rva2VuO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmdldElkVG9rZW4gPSAoKSA9PiBhdXRoRGF0YS5pZFRva2VuID8/ICcnO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbiA9ICgpID0+IGF1dGhEYXRhLnJlZnJlc2hUb2tlbjtcbiAgICBpZiAoYXV0aERhdGEuZXhwaXJlc0luKSB7XG4gICAgICBjb25zdCByZWZyZXNoVGltZSA9IHRoaXMuZXhwaXJlc19pbl9taWxpc2Vjb3VuZChhdXRoRGF0YS5leHBpcmVzSW4hKTtcbiAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuRXhwaXJhdGlvbiA9ICgpID0+IHJlZnJlc2hUaW1lO1xuICAgICAgLy8gaWYgKHJlZnJlc2hUaW1lIDwgMCkge1xuICAgICAgLy8gICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIC8vIH1lbHNle1xuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEF1dGhEYXRhKCk6IEFYUFNlc3Npb25EYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBhdXRoRGF0YUpzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShBWFBTZXNzaW9uU2VydmljZS5TRVNTSU9OX0tFWSk7XG4gICAgaWYgKCFhdXRoRGF0YUpzb24pIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBhdXRoRGF0YSA9IEpTT04ucGFyc2UoYXV0aERhdGFKc29uKSBhcyBBWFBTZXNzaW9uRGF0YTtcblxuICAgIC8vIHJldHVybiBhdXRoRGF0YSA/IG5ldyBBdXRoZW50aWNhdGlvbkRhdGEoYXV0aERhdGEpIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBhdXRoRGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkVXNlckluZm8oKTogUHJvbWlzZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UubG9hZFVzZXJQcm9maWxlKCk7XG4gIH1cbiAgcHVibGljIGNhbGN1bGF0ZUV4cGlyZUluRGF0ZShleHBpcmVJbk1pbGlzZWNvdW5kOiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5ub3coKSArIGV4cGlyZUluTWlsaXNlY291bmQgKiAxMDAwKS50b0lTT1N0cmluZygpO1xuICB9XG4gIHByaXZhdGUgbG9nb3V0KCk6IHZvaWQge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dCh7XG4gICAgICBub1JlZGlyZWN0VG9Mb2dvdXRVcmw6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IG5ldmVyIHtcbiAgICBpZiAoZXJyb3I/LnJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KGVycm9yLnJlYXNvbikpO1xuICAgIH0gZWxzZSBpZiAoZXJyb3I/Lm1lc3NhZ2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXR3b3JrIG9yIHNlcnZlciBlcnJvciBvY2N1cnJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8vI3JlZ2lvbiBnZXR0ZXJcbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3VzZXItcGFzcyc7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVXNlclBhc3NDcmVkZW50aWFscyBleHRlbmRzIEFYUEJhc2VDcmVkZW50aWFscyB7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8vIGV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbkRhdGEge1xuLy8gICBhY2Nlc3NfdG9rZW46IHN0cmluZztcbi8vICAgYXBwbGljYXRpb25pZD86IHN0cmluZztcbi8vICAgYXBwbGljYXRpb25uYW1lPzogc3RyaW5nO1xuLy8gICBhcHBsaWNhdGlvbnRpdGxlPzogc3RyaW5nO1xuLy8gICBlZGl0aW9uaWQ/OiBzdHJpbmc7XG4vLyAgIGVkaXRpb25uYW1lPzogc3RyaW5nO1xuLy8gICBlZGl0aW9udGl0bGU/OiBzdHJpbmc7XG4vLyAgIGlkX3Rva2VuPzogc3RyaW5nO1xuLy8gICByZWZyZXNoX3Rva2VuPzogc3RyaW5nO1xuLy8gICBzY29wZT86IHN0cmluZztcbi8vICAgdGVuYW50aWQ/OiBzdHJpbmc7XG4vLyAgIHRlbmFudG5hbWU/OiBzdHJpbmc7XG4vLyAgIHRlbmFudHRpdGxlPzogc3RyaW5nO1xuLy8gICB0b2tlbl90eXBlPzogc3RyaW5nO1xuLy8gICBleHBpcmVzX2luX2RhdGU/OiBzdHJpbmc7XG4vLyAgIHN1Yj86IHN0cmluZztcbi8vICAgcGljdHVyZT86IHN0cmluZztcbi8vICAgZnVsbG5hbWU/OiBzdHJpbmc7XG5cbi8vICAgY29uc3RydWN0b3IoZGF0YTogQXV0aGVudGljYXRpb25EYXRhTW9kZWwpIHtcbi8vICAgICB0aGlzLmFjY2Vzc190b2tlbiA9IGRhdGEuYWNjZXNzX3Rva2VuO1xuLy8gICAgIHRoaXMuYXBwbGljYXRpb25pZCA9IGRhdGEuYXBwbGljYXRpb25pZDtcbi8vICAgICB0aGlzLmFwcGxpY2F0aW9ubmFtZSA9IGRhdGEuYXBwbGljYXRpb25uYW1lO1xuLy8gICAgIHRoaXMuYXBwbGljYXRpb250aXRsZSA9IGRhdGEuYXBwbGljYXRpb250aXRsZTtcbi8vICAgICB0aGlzLmVkaXRpb25pZCA9IGRhdGEuZWRpdGlvbmlkO1xuLy8gICAgIHRoaXMuZWRpdGlvbm5hbWUgPSBkYXRhLmVkaXRpb25uYW1lO1xuLy8gICAgIHRoaXMuZWRpdGlvbnRpdGxlID0gZGF0YS5lZGl0aW9udGl0bGU7XG4vLyAgICAgdGhpcy5pZF90b2tlbiA9IGRhdGEuaWRfdG9rZW47XG4vLyAgICAgdGhpcy5yZWZyZXNoX3Rva2VuID0gZGF0YS5yZWZyZXNoX3Rva2VuO1xuLy8gICAgIHRoaXMuc2NvcGUgPSBkYXRhLnNjb3BlO1xuLy8gICAgIHRoaXMudGVuYW50aWQgPSBkYXRhLnRlbmFudGlkO1xuLy8gICAgIHRoaXMudGVuYW50bmFtZSA9IGRhdGEudGVuYW50bmFtZTtcbi8vICAgICB0aGlzLnRlbmFudHRpdGxlID0gZGF0YS50ZW5hbnR0aXRsZTtcbi8vICAgICB0aGlzLnRva2VuX3R5cGUgPSBkYXRhLnRva2VuX3R5cGU7XG4vLyAgICAgdGhpcy5zdWIgPSBkYXRhLnN1Yjtcbi8vICAgICB0aGlzLnBpY3R1cmUgPSBkYXRhLnBpY3R1cmU7XG4vLyAgICAgdGhpcy5mdWxsbmFtZSA9IGRhdGEuZnVsbG5hbWU7XG5cbi8vICAgICBpZiAoZGF0YS5leHBpcmVzX2luKSB7XG4vLyAgICAgICB0aGlzLmV4cGlyZXNfaW5fZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBkYXRhLmV4cGlyZXNfaW4gKiAxMDAwKS50b0lTT1N0cmluZygpO1xuLy8gICAgIH0gZWxzZSB7XG4vLyAgICAgICB0aGlzLmV4cGlyZXNfaW5fZGF0ZSA9IGRhdGEuZXhwaXJlc19pbl9kYXRlIHx8ICcnO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIGdldCBleHBpcmVzX2luX21pbGlzZWNvdW5kKCk6IG51bWJlciB7XG4vLyAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbi8vICAgICBjb25zdCBleHBpcmUgPSBuZXcgRGF0ZSh0aGlzLmV4cGlyZXNfaW5fZGF0ZSEpO1xuLy8gICAgIHJldHVybiBleHBpcmUuZ2V0VGltZSgpIC0gbm93LmdldFRpbWUoKTtcbi8vICAgfVxuXG4vLyAgIHB1YmxpYyBzZXRUb2tlblJlZnJlc2hNb2RlbChkYXRhOiBBdXRoZW50aWNhdGlvbkRhdGFNb2RlbCk6IHZvaWQge1xuLy8gICAgIHRoaXMuYWNjZXNzX3Rva2VuID0gZGF0YS5hY2Nlc3NfdG9rZW47XG4vLyAgICAgdGhpcy5pZF90b2tlbiA9IGRhdGEuaWRfdG9rZW47XG4vLyAgICAgdGhpcy50b2tlbl90eXBlID0gZGF0YS50b2tlbl90eXBlO1xuLy8gICAgIHRoaXMuc2NvcGUgPSBkYXRhLnNjb3BlO1xuLy8gICAgIHRoaXMucmVmcmVzaF90b2tlbiA9IGRhdGEucmVmcmVzaF90b2tlbjtcbi8vICAgICB0aGlzLmV4cGlyZXNfaW5fZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBkYXRhLmV4cGlyZXNfaW4hICogMTAwMCkudG9JU09TdHJpbmcoKTtcbi8vICAgfVxuLy8gfVxuXG5leHBvcnQgaW50ZXJmYWNlIElBdXRoZW50aWNhdGlvbkRhdGFNb2RlbCB7XG4gIGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICBhcHBsaWNhdGlvbmlkOiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9ubmFtZTogc3RyaW5nO1xuICBhcHBsaWNhdGlvbnRpdGxlOiBzdHJpbmc7XG4gIGVkaXRpb25pZDogc3RyaW5nO1xuICBlZGl0aW9ubmFtZTogc3RyaW5nO1xuICBlZGl0aW9udGl0bGU6IHN0cmluZztcbiAgaWRfdG9rZW46IHN0cmluZztcbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nO1xuICBzY29wZTogc3RyaW5nO1xuICB0ZW5hbnRpZDogc3RyaW5nO1xuICB0ZW5hbnRuYW1lOiBzdHJpbmc7XG4gIHRlbmFudHRpdGxlOiBzdHJpbmc7XG4gIHRva2VuX3R5cGU6IHN0cmluZztcbiAgZXhwaXJlc19pbj86IG51bWJlcjtcbiAgc3ViPzogc3RyaW5nO1xuICBmdWxsbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbn1cbiJdfQ==","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { map } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXMOidcPermissionLoader {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.apiGetConfig = `${this.configs.baseUrl}/abp/application-configuration`;\n }\n getList(context) {\n return this.http.get(this.apiGetConfig).pipe(map((response) => this.mapTo(response)));\n // if (context.user == null)\n // return of([]);\n // else if (context.user.name.toLowerCase() == 'admin')\n // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);\n // else\n // return of(['asc.user.gliding']);\n // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);\n }\n mapTo(jsonObj) {\n const policies = jsonObj.auth.grantedPolicies;\n const truePolicies = Object.keys(policies).filter((key) => policies[key] === true);\n return truePolicies;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcPermissionLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcPermissionLoader }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcPermissionLoader, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9hcGkvc3JjL2xpYi9hdXRoL29pZGMvcGVybWlzc2lvbi5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUd2QyxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFINUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sZ0NBQWdDLENBQUM7SUFFeEMsQ0FBQztJQUV4QyxPQUFPLENBQUMsT0FBMEI7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLDRCQUE0QjtRQUM1QixtQkFBbUI7UUFDbkIsdURBQXVEO1FBQ3ZELDBIQUEwSDtRQUMxSCxPQUFPO1FBQ1AscUNBQXFDO1FBQ3JDLHdIQUF3SDtJQUMxSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVk7UUFDaEIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNuRixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzhHQXJCVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFBlcm1pc3Npb24sIEFYUFBlcm1pc3Npb25Mb2FkZXIsIEFYUFNlc3Npb25Db250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUF9ST09UX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT2lkY1Blcm1pc3Npb25Mb2FkZXIgaW1wbGVtZW50cyBBWFBQZXJtaXNzaW9uTG9hZGVyIHtcbiAgcHJpdmF0ZSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgYXBpR2V0Q29uZmlnID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L2FicC9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uYDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgZ2V0TGlzdChjb250ZXh0OiBBWFBTZXNzaW9uQ29udGV4dCk6IE9ic2VydmFibGU8QVhQUGVybWlzc2lvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBpdGVtczogYW55IH0+KHRoaXMuYXBpR2V0Q29uZmlnKS5waXBlKG1hcCgocmVzcG9uc2UpID0+IHRoaXMubWFwVG8ocmVzcG9uc2UpKSk7XG4gICAgLy8gaWYgKGNvbnRleHQudXNlciA9PSBudWxsKVxuICAgIC8vICAgcmV0dXJuIG9mKFtdKTtcbiAgICAvLyBlbHNlIGlmIChjb250ZXh0LnVzZXIubmFtZS50b0xvd2VyQ2FzZSgpID09ICdhZG1pbicpXG4gICAgLy8gICByZXR1cm4gb2YoWydheHAuYWRtaW4uY29uc29sZScsICdhc2MuYWRtaW4ubWVzc2FnZScsICdhc2MuYWRtaW4uc2V0dGluZ3MnLCAnYXNjLmFkbWluLmdsaWRpbmcnLCAnYXNjLnVzZXIuZ2xpZGluZyddKTtcbiAgICAvLyBlbHNlXG4gICAgLy8gICByZXR1cm4gb2YoWydhc2MudXNlci5nbGlkaW5nJ10pO1xuICAgIC8vIHJldHVybiBvZihbJ2F4cC5hZG1pbi5jb25zb2xlJywgJ2FzYy5hZG1pbi5tZXNzYWdlJywgJ2FzYy5hZG1pbi5zZXR0aW5ncycsICdhc2MuYWRtaW4uZ2xpZGluZycsICdhc2MudXNlci5nbGlkaW5nJ10pO1xuICB9XG5cbiAgbWFwVG8oanNvbk9iajogYW55KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHBvbGljaWVzID0ganNvbk9iai5hdXRoLmdyYW50ZWRQb2xpY2llcztcbiAgICBjb25zdCB0cnVlUG9saWNpZXMgPSBPYmplY3Qua2V5cyhwb2xpY2llcykuZmlsdGVyKChrZXkpID0+IHBvbGljaWVzW2tleV0gPT09IHRydWUpO1xuICAgIHJldHVybiB0cnVlUG9saWNpZXM7XG4gIH1cbn1cbiJdfQ==","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { map } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXMOidcTenantLoader {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.apiGetTenants = `${this.configs.baseUrl}/user-tenants/Tenants`;\n this.apiSetTenant = `${this.configs.baseUrl}/SetTenant`;\n }\n getList() {\n return this.http.get(this.apiGetTenants).pipe(map((response) => response.items.map((item) => this.mapToAXPTenant(item))));\n }\n async set(tenant) {\n return Promise.resolve();\n }\n mapToAXPTenant(item) {\n return {\n id: item.id,\n name: item.name || 'defaultName',\n title: item.title || 'defaultTitle',\n // Add other fields and defaults as needed, and handle the logo if applicable\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcTenantLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcTenantLoader }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXMOidcTenantLoader, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LmxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L2FwaS9zcmMvbGliL2F1dGgvb2lkYy90ZW5hbnQubG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdkMsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDVCLFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLHVCQUF1QixDQUFDO1FBQy9ELGlCQUFZLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sWUFBWSxDQUFDO0lBQ25CLENBQUM7SUFFekMsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5SSxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFpQjtRQUN6QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVM7UUFDOUIsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLGFBQWE7WUFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksY0FBYztZQUNuQyw2RUFBNkU7U0FDOUUsQ0FBQztJQUNKLENBQUM7OEdBckJVLG1CQUFtQjtrSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQVGVuYW50LCBBWFBUZW5hbnRMb2FkZXIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX1JPT1RfQ09ORklHX1RPS0VOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1PaWRjVGVuYW50TG9hZGVyIGltcGxlbWVudHMgQVhQVGVuYW50TG9hZGVyIHtcbiAgcHJpdmF0ZSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgYXBpR2V0VGVuYW50cyA9IGAke3RoaXMuY29uZmlncy5iYXNlVXJsfS91c2VyLXRlbmFudHMvVGVuYW50c2A7XG4gIHByaXZhdGUgYXBpU2V0VGVuYW50ID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L1NldFRlbmFudGA7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XG5cbiAgZ2V0TGlzdCgpOiBPYnNlcnZhYmxlPEFYUFRlbmFudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBpdGVtczogYW55W10gfT4odGhpcy5hcGlHZXRUZW5hbnRzKS5waXBlKG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlLml0ZW1zLm1hcCgoaXRlbSkgPT4gdGhpcy5tYXBUb0FYUFRlbmFudChpdGVtKSkpKTtcbiAgfVxuXG4gIGFzeW5jIHNldCh0ZW5hbnQ6IEFYUFRlbmFudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwVG9BWFBUZW5hbnQoaXRlbTogYW55KTogQVhQVGVuYW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICBuYW1lOiBpdGVtLm5hbWUgfHwgJ2RlZmF1bHROYW1lJyxcbiAgICAgIHRpdGxlOiBpdGVtLnRpdGxlIHx8ICdkZWZhdWx0VGl0bGUnLFxuICAgICAgLy8gQWRkIG90aGVyIGZpZWxkcyBhbmQgZGVmYXVsdHMgYXMgbmVlZGVkLCBhbmQgaGFuZGxlIHRoZSBsb2dvIGlmIGFwcGxpY2FibGVcbiAgICB9O1xuICB9XG59XG4iXX0=","import { AXP_APPLICATION_LOADER, AXP_FEATURE_LOADER, AXP_PERMISSION_LOADER, AXP_TENANT_LOADER, AXPAuthModule, } from '@acorex/platform/auth';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { STRATEGY_CONFIG_TOKEN } from '@acorex/platform/widgets';\nimport { NgModule } from '@angular/core';\nimport { OAuthModule } from 'angular-oauth2-oidc';\nimport { AXCApiEntityStorageService } from './api-storage.service';\nimport { AXMOidcApplicationLoader, AXMOidcFeatureLoader, AXMOidcPermissionLoader, AXMOidcStrategy, AXMOidcTenantLoader, } from './auth/oidc';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"angular-oauth2-oidc\";\nimport * as i2 from \"@acorex/platform/auth\";\nexport class AXCApiModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXCApiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.4\", ngImport: i0, type: AXCApiModule, imports: [i1.OAuthModule, i2.AXPAuthModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXCApiModule, providers: [\n {\n provide: AXPEntityStorageService,\n useClass: AXCApiEntityStorageService,\n },\n {\n provide: AXP_TENANT_LOADER,\n useClass: AXMOidcTenantLoader,\n },\n {\n provide: AXP_APPLICATION_LOADER,\n useClass: AXMOidcApplicationLoader,\n },\n {\n provide: AXP_PERMISSION_LOADER,\n useClass: AXMOidcPermissionLoader,\n },\n {\n provide: AXP_FEATURE_LOADER,\n useClass: AXMOidcFeatureLoader,\n },\n {\n provide: STRATEGY_CONFIG_TOKEN,\n useValue: {\n selectValueStrategy: 'valueField',\n lookupValueStrategy: 'valueField',\n },\n },\n ], imports: [OAuthModule.forRoot(),\n AXPAuthModule.forRoot({\n strategies: [AXMOidcStrategy],\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: AXCApiModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n OAuthModule.forRoot(),\n AXPAuthModule.forRoot({\n strategies: [AXMOidcStrategy],\n }),\n ],\n providers: [\n {\n provide: AXPEntityStorageService,\n useClass: AXCApiEntityStorageService,\n },\n {\n provide: AXP_TENANT_LOADER,\n useClass: AXMOidcTenantLoader,\n },\n {\n provide: AXP_APPLICATION_LOADER,\n useClass: AXMOidcApplicationLoader,\n },\n {\n provide: AXP_PERMISSION_LOADER,\n useClass: AXMOidcPermissionLoader,\n },\n {\n provide: AXP_FEATURE_LOADER,\n useClass: AXMOidcFeatureLoader,\n },\n {\n provide: STRATEGY_CONFIG_TOKEN,\n useValue: {\n selectValueStrategy: 'valueField',\n lookupValueStrategy: 'valueField',\n },\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L2FwaS9zcmMvbGliL2FwaS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixhQUFhLEdBQ2QsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLG1CQUFtQixHQUNwQixNQUFNLGFBQWEsQ0FBQzs7OztBQXVDckIsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZOytHQUFaLFlBQVksYUE5Qlo7WUFDVDtnQkFDRSxPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxRQUFRLEVBQUUsMEJBQTBCO2FBQ3JDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLG1CQUFtQjthQUM5QjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFFBQVEsRUFBRSx3QkFBd0I7YUFDbkM7WUFDRDtnQkFDRSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixRQUFRLEVBQUUsdUJBQXVCO2FBQ2xDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsUUFBUSxFQUFFLG9CQUFvQjthQUMvQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFFBQVEsRUFBRTtvQkFDUixtQkFBbUIsRUFBRSxZQUFZO29CQUNqQyxtQkFBbUIsRUFBRSxZQUFZO2lCQUNsQzthQUNGO1NBQ0YsWUFqQ0MsV0FBVyxDQUFDLE9BQU8sRUFBRTtZQUNyQixhQUFhLENBQUMsT0FBTyxDQUFDO2dCQUNwQixVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDOUIsQ0FBQzs7MkZBZ0NPLFlBQVk7a0JBckN4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxXQUFXLENBQUMsT0FBTyxFQUFFO3dCQUNyQixhQUFhLENBQUMsT0FBTyxDQUFDOzRCQUNwQixVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7eUJBQzlCLENBQUM7cUJBQ0g7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSx1QkFBdUI7NEJBQ2hDLFFBQVEsRUFBRSwwQkFBMEI7eUJBQ3JDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxtQkFBbUI7eUJBQzlCO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFFBQVEsRUFBRSx3QkFBd0I7eUJBQ25DO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsRUFBRSx1QkFBdUI7eUJBQ2xDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFFBQVEsRUFBRSxvQkFBb0I7eUJBQy9CO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsRUFBRTtnQ0FDUixtQkFBbUIsRUFBRSxZQUFZO2dDQUNqQyxtQkFBbUIsRUFBRSxZQUFZOzZCQUNsQzt5QkFDRjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYUF9BUFBMSUNBVElPTl9MT0FERVIsXG4gIEFYUF9GRUFUVVJFX0xPQURFUixcbiAgQVhQX1BFUk1JU1NJT05fTE9BREVSLFxuICBBWFBfVEVOQU5UX0xPQURFUixcbiAgQVhQQXV0aE1vZHVsZSxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUEVudGl0eVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IFNUUkFURUdZX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd2lkZ2V0cyc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT0F1dGhNb2R1bGUgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IEFYQ0FwaUVudGl0eVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9hcGktc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFYTU9pZGNBcHBsaWNhdGlvbkxvYWRlcixcbiAgQVhNT2lkY0ZlYXR1cmVMb2FkZXIsXG4gIEFYTU9pZGNQZXJtaXNzaW9uTG9hZGVyLFxuICBBWE1PaWRjU3RyYXRlZ3ksXG4gIEFYTU9pZGNUZW5hbnRMb2FkZXIsXG59IGZyb20gJy4vYXV0aC9vaWRjJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIE9BdXRoTW9kdWxlLmZvclJvb3QoKSxcbiAgICBBWFBBdXRoTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgc3RyYXRlZ2llczogW0FYTU9pZGNTdHJhdGVneV0sXG4gICAgfSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUEVudGl0eVN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEFYQ0FwaUVudGl0eVN0b3JhZ2VTZXJ2aWNlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1RFTkFOVF9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNT2lkY1RlbmFudExvYWRlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9BUFBMSUNBVElPTl9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNT2lkY0FwcGxpY2F0aW9uTG9hZGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1BFUk1JU1NJT05fTE9BREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTU9pZGNQZXJtaXNzaW9uTG9hZGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX0ZFQVRVUkVfTE9BREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTU9pZGNGZWF0dXJlTG9hZGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU1RSQVRFR1lfQ09ORklHX1RPS0VOLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgc2VsZWN0VmFsdWVTdHJhdGVneTogJ3ZhbHVlRmllbGQnLFxuICAgICAgICBsb29rdXBWYWx1ZVN0cmF0ZWd5OiAndmFsdWVGaWVsZCcsXG4gICAgICB9LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ0FwaU1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbm5lY3Rpdml0eS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9hcGkvc3JjL2Fjb3JleC1jb25uZWN0aXZpdHktYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-connectivity-api.mjs","sources":["../tmp-esm2022/api/lib/api-storage.service.js","../tmp-esm2022/api/lib/auth/oidc/application.loader.js","../tmp-esm2022/api/lib/auth/oidc/configuration.service.js","../tmp-esm2022/api/lib/auth/oidc/feature.loader.js","../tmp-esm2022/api/lib/auth/oidc/oidc.strategy.js","../tmp-esm2022/api/lib/auth/oidc/permission.loader.js","../tmp-esm2022/api/lib/auth/oidc/tenant.loader.js","../tmp-esm2022/api/lib/api.module.js","../tmp-esm2022/api/acorex-connectivity-api.js"],"sourcesContent":["import { AXP_ROOT_CONFIG_TOKEN, AXPFilterOperatorMiddlewareService } from '@acorex/platform/common';\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { kebabCase } from 'lodash-es';\nimport { firstValueFrom } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXCApiEntityStorageService {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.filterService = inject(AXPFilterOperatorMiddlewareService);\n this.entityResolver = inject(AXPEntityResolver);\n this.mainUrl = this.configs.baseUrl;\n }\n get dbName() {\n return 'ACoreXPlatform';\n }\n getConfigEntity(entityName) {\n const partEntity = entityName.split('.');\n if (partEntity.length == 3) {\n const [area, module, entity] = partEntity;\n const areaKebab = kebabCase(area);\n const moduleKebab = kebabCase(module);\n const entityKebab = kebabCase(entity);\n return {\n module: moduleKebab,\n entity: entityKebab,\n area: areaKebab,\n };\n }\n else {\n const [module, entity] = partEntity;\n const moduleKebab = kebabCase(module);\n const entityKebab = kebabCase(entity);\n return {\n module: moduleKebab,\n entity: entityKebab,\n area: null,\n };\n }\n }\n async initial(entityName, collection) {\n //const exists = await this.table('entity-store').where({ entityName }).count();\n // if (exists === 0) {\n // await this.table('entity-store').bulkAdd(collection.map((item) => ({ ...item, entityName })));\n // }\n return collection;\n }\n async getOne(entityName, id) {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}${id ? '/' + id : ''}`;\n return firstValueFrom(this.http.get(url));\n }\n async updateOne(entityName, id, keyValue) {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}${id ? '/' + id : ''}`;\n return firstValueFrom(this.http.put(url, keyValue));\n }\n async deleteOne(entityName, id) {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}/${id}`;\n firstValueFrom(this.http.delete(url));\n }\n async insertOne(entityName, entityItem) {\n const routeElement = await this.getConfigEntity(entityName);\n const url = `${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}`;\n return firstValueFrom(this.http.post(url, entityItem));\n }\n async getAll(entityName) {\n return [];\n }\n async query(entityName, request) {\n const routeElement = await this.getConfigEntity(entityName);\n let httpParams = new HttpParams().set('Skip', request.skip).set('Take', request.take);\n if (request?.sort && request?.sort.length > 0) {\n const sortParam = request?.sort.map((sort) => `${sort.field}:${sort.dir}`).join(',');\n httpParams = httpParams.set('$orderby', sortParam);\n }\n const greaterThanOperator = this.filterService.getOperator('greaterThan');\n const lessThanOperator = this.filterService.getOperator('lessThan');\n function generateQueryString(filter) {\n if (!filter.filters) {\n // Base case: single filter\n if (typeof filter.value === 'object' && filter.operator.type === 'between') {\n return `${filter.field} ${greaterThanOperator.type} '${filter.value.from}' and ${filter.field} ${lessThanOperator.type} '${filter.value.to}'`;\n }\n else {\n return `${filter.field} ${filter.operator.type} '${filter.value}'`;\n }\n }\n else if (!filter.filters.length) {\n return;\n }\n else {\n // Recursive case: multiple filters\n const filterStrings = filter.filters.map((subFilter) => generateQueryString(subFilter));\n const logic = filter.logic || 'AND'; // Default logic is 'AND' if not provided\n return `${filterStrings.filter((i) => i).join(` ${logic} `)}`;\n }\n }\n let queryString = '';\n if (request.filter) {\n const filter = request.filter;\n if (filter.filters && filter.filters.length > 0) {\n // Construct filter string from provided filters\n const dynamicQueries = generateQueryString(filter);\n console.log({ dynamicQueries: dynamicQueries });\n // Append dynamic filters to custom filter, if both exist\n queryString = (queryString ? `${queryString},${dynamicQueries}` : dynamicQueries);\n }\n }\n // Set the $filter parameter if there are any filters\n if (queryString) {\n httpParams = httpParams.set('$query', queryString);\n }\n return firstValueFrom(this.http.get(`${this.mainUrl}/${routeElement.area ? routeElement.area + '/' : ''}${routeElement.module}/${routeElement.entity}`, { params: httpParams })).then((response) => {\n return {\n total: response.totalCount,\n items: response.items,\n };\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXCApiEntityStorageService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXCApiEntityStorageService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXCApiEntityStorageService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L2FwaS9zcmMvbGliL2FwaS1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEcsT0FBTyxFQUFFLGlCQUFpQixFQUEyQixNQUFNLGdDQUFnQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdEMsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQyxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBTDVCLFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzNELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0MsWUFBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBRUEsQ0FBQztJQUV4QyxJQUFJLE1BQU07UUFDUixPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRCxlQUFlLENBQUMsVUFBa0I7UUFDaEMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFD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Q0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxZQUFZLENBQUMsTUFBTSxJQUN2RixZQUFZLENBQUMsTUFDZixFQUFFLEVBQ0YsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQ3ZCLENBQ0YsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNsQixPQUFPO2dCQUNMLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVTtnQkFDMUIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2FBQ3RCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBN0lVLDBCQUEwQjtrSEFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQX1JPT1RfQ09ORklHX1RPS0VOLCBBWFBGaWx0ZXJPcGVyYXRvck1pZGRsZXdhcmVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQUGFnZWRMaXN0UmVzdWx0LCBBWFBRdWVyeVJlcXVlc3QgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQVhQRW50aXR5UmVzb2x2ZXIsIEFYUEVudGl0eVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGtlYmFiQ2FzZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhDQXBpRW50aXR5U3RvcmFnZVNlcnZpY2UgaW1wbGVtZW50cyBBWFBFbnRpdHlTdG9yYWdlU2VydmljZTxzdHJpbmcsIGFueT4ge1xuICBwcml2YXRlIGNvbmZpZ3MgPSBpbmplY3QoQVhQX1JPT1RfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBmaWx0ZXJTZXJ2aWNlID0gaW5qZWN0KEFYUEZpbHRlck9wZXJhdG9yTWlkZGxld2FyZVNlcnZpY2UpO1xuICBwcml2YXRlIGVudGl0eVJlc29sdmVyID0gaW5qZWN0KEFYUEVudGl0eVJlc29sdmVyKTtcbiAgcHJpdmF0ZSBtYWluVXJsID0gdGhpcy5jb25maWdzLmJhc2VVcmw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldCBkYk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ0FDb3JlWFBsYXRmb3JtJztcbiAgfVxuXG4gIGdldENvbmZpZ0VudGl0eShlbnRpdHlOYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJ0RW50aXR5ID0gZW50aXR5TmFtZS5zcGxpdCgnLicpO1xuICAgIGlmIChwYXJ0RW50aXR5Lmxlbmd0aCA9PSAzKSB7XG4gICAgICBjb25zdCBbYXJlYSwgbW9kdWxlLCBlbnRpdHldID0gcGFydEVudGl0eTtcbiAgICAgIGNvbnN0IGFyZWFLZWJhYiA9IGtlYmFiQ2FzZShhcmVhKTtcbiAgICAgIGNvbnN0IG1vZHVsZUtlYmFiID0ga2ViYWJDYXNlKG1vZHVsZSk7XG4gICAgICBjb25zdCBlbnRpdHlLZWJhYiA9IGtlYmFiQ2FzZShlbnRpdHkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kdWxlOiBtb2R1bGVLZWJhYixcbiAgICAgICAgZW50aXR5OiBlbnRpdHlLZWJhYixcbiAgICAgICAgYXJlYTogYXJlYUtlYmFiLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgW21vZHVsZSwgZW50aXR5XSA9IHBhcnRFbnRpdHk7XG4gICAgICBjb25zdCBtb2R1bGVLZWJhYiA9IGtlYmFiQ2FzZShtb2R1bGUpO1xuICAgICAgY29uc3QgZW50aXR5S2ViYWIgPSBrZWJhYkNhc2UoZW50aXR5KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZHVsZTogbW9kdWxlS2ViYWIsXG4gICAgICAgIGVudGl0eTogZW50aXR5S2ViYWIsXG4gICAgICAgIGFyZWE6IG51bGwsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGluaXRpYWw8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nLCBjb2xsZWN0aW9uOiBUW10pOiBQcm9taXNlPFRbXT4ge1xuICAgIC8vY29uc3QgZXhpc3RzID0gYXdhaXQgdGhpcy50YWJsZSgnZW50aXR5LXN0b3JlJykud2hlcmUoeyBlbnRpdHlOYW1lIH0pLmNvdW50KCk7XG4gICAgLy8gaWYgKGV4aXN0cyA9PT0gMCkge1xuICAgIC8vICAgYXdhaXQgdGhpcy50YWJsZSgnZW50aXR5LXN0b3JlJykuYnVsa0FkZChjb2xsZWN0aW9uLm1hcCgoaXRlbSkgPT4gKHsgLi4uaXRlbSwgZW50aXR5TmFtZSB9KSkpO1xuICAgIC8vIH1cbiAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgfVxuXG4gIGFzeW5jIGdldE9uZTxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCByb3V0ZUVsZW1lbnQgPSBhd2FpdCB0aGlzLmdldENvbmZpZ0VudGl0eShlbnRpdHlOYW1lKTtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLm1haW5Vcmx9LyR7cm91dGVFbGVtZW50LmFyZWEgPyByb3V0ZUVsZW1lbnQuYXJlYSArICcvJyA6ICcnfSR7cm91dGVFbGVtZW50Lm1vZHVsZX0vJHtcbiAgICAgIHJvdXRlRWxlbWVudC5lbnRpdHlcbiAgICB9JHtpZCA/ICcvJyArIGlkIDogJyd9YDtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxUPih1cmwpKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZU9uZTxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGtleVZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3Qgcm91dGVFbGVtZW50ID0gYXdhaXQgdGhpcy5nZXRDb25maWdFbnRpdHkoZW50aXR5TmFtZSk7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5tYWluVXJsfS8ke3JvdXRlRWxlbWVudC5hcmVhID8gcm91dGVFbGVtZW50LmFyZWEgKyAnLycgOiAnJ30ke3JvdXRlRWxlbWVudC5tb2R1bGV9LyR7XG4gICAgICByb3V0ZUVsZW1lbnQuZW50aXR5XG4gICAgfSR7aWQgPyAnLycgKyBpZCA6ICcnfWA7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5wdXQ8VD4odXJsLCBrZXlWYWx1ZSkpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlT25lKGVudGl0eU5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJvdXRlRWxlbWVudCA9IGF3YWl0IHRoaXMuZ2V0Q29uZmlnRW50aXR5KGVudGl0eU5hbWUpO1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMubWFpblVybH0vJHtyb3V0ZUVsZW1lbnQuYXJlYSA/IHJvdXRlRWxlbWVudC5hcmVhICsgJy8nIDogJyd9JHtyb3V0ZUVsZW1lbnQubW9kdWxlfS8ke1xuICAgICAgcm91dGVFbGVtZW50LmVudGl0eVxuICAgIH0vJHtpZH1gO1xuICAgIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cC5kZWxldGUodXJsKSk7XG4gIH1cblxuICBhc3luYyBpbnNlcnRPbmU8VCA9IGFueT4oZW50aXR5TmFtZTogc3RyaW5nLCBlbnRpdHlJdGVtOiBUKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByb3V0ZUVsZW1lbnQgPSBhd2FpdCB0aGlzLmdldENvbmZpZ0VudGl0eShlbnRpdHlOYW1lKTtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLm1haW5Vcmx9LyR7cm91dGVFbGVtZW50LmFyZWEgPyByb3V0ZUVsZW1lbnQuYXJlYSArICcvJyA6ICcnfSR7cm91dGVFbGVtZW50Lm1vZHVsZX0vJHtcbiAgICAgIHJvdXRlRWxlbWVudC5lbnRpdHlcbiAgICB9YDtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLnBvc3Q8c3RyaW5nPih1cmwsIGVudGl0eUl0ZW0pKTtcbiAgfVxuXG4gIGFzeW5jIGdldEFsbDxUID0gYW55PihlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFRbXT4ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGFzeW5jIHF1ZXJ5PFQgPSBhbnk+KGVudGl0eU5hbWU6IHN0cmluZywgcmVxdWVzdDogQVhQUXVlcnlSZXF1ZXN0KTogUHJvbWlzZTxBWFBQYWdlZExpc3RSZXN1bHQ8VD4+IHtcbiAgICBjb25zdCByb3V0ZUVsZW1lbnQgPSBhd2FpdCB0aGlzLmdldENvbmZpZ0VudGl0eShlbnRpdHlOYW1lKTtcblxuICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ1NraXAnLCByZXF1ZXN0LnNraXApLnNldCgnVGFrZScsIHJlcXVlc3QudGFrZSk7XG4gICAgaWYgKHJlcXVlc3Q/LnNvcnQgJiYgcmVxdWVzdD8uc29ydC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBzb3J0UGFyYW0gPSByZXF1ZXN0Py5zb3J0Lm1hcCgoc29ydDogYW55KSA9PiBgJHtzb3J0LmZpZWxkfToke3NvcnQuZGlyfWApLmpvaW4oJywnKTtcbiAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgnJG9yZGVyYnknLCBzb3J0UGFyYW0pO1xuICAgIH1cblxuICAgIGNvbnN0IGdyZWF0ZXJUaGFuT3BlcmF0b3IgPSB0aGlzLmZpbHRlclNlcnZpY2UuZ2V0T3BlcmF0b3IoJ2dyZWF0ZXJUaGFuJyk7XG4gICAgY29uc3QgbGVzc1RoYW5PcGVyYXRvciA9IHRoaXMuZmlsdGVyU2VydmljZS5nZXRPcGVyYXRvcignbGVzc1RoYW4nKTtcbiAgICBmdW5jdGlvbiBnZW5lcmF0ZVF1ZXJ5U3RyaW5nKGZpbHRlcjogYW55KSB7XG4gICAgICBpZiAoIWZpbHRlci5maWx0ZXJzKSB7XG4gICAgICAgIC8vIEJhc2UgY2FzZTogc2luZ2xlIGZpbHRlclxuICAgICAgICBpZiAodHlwZW9mIGZpbHRlci52YWx1ZSA9PT0gJ29iamVjdCcgJiYgZmlsdGVyLm9wZXJhdG9yLnR5cGUgPT09ICdiZXR3ZWVuJykge1xuICAgICAgICAgIHJldHVybiBgJHtmaWx0ZXIuZmllbGR9ICR7Z3JlYXRlclRoYW5PcGVyYXRvci50eXBlfSAnJHtmaWx0ZXIudmFsdWUuZnJvbX0nIGFuZCAke2ZpbHRlci5maWVsZH0gJHtsZXNzVGhhbk9wZXJhdG9yLnR5cGV9ICcke2ZpbHRlci52YWx1ZS50b30nYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYCR7ZmlsdGVyLmZpZWxkfSAke2ZpbHRlci5vcGVyYXRvci50eXBlfSAnJHtmaWx0ZXIudmFsdWV9J2A7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIWZpbHRlci5maWx0ZXJzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZWN1cnNpdmUgY2FzZTogbXVsdGlwbGUgZmlsdGVyc1xuXG4gICAgICAgIGNvbnN0IGZpbHRlclN0cmluZ3MgPSBmaWx0ZXIuZmlsdGVycy5tYXAoKHN1YkZpbHRlcjogYW55KSA9PiBnZW5lcmF0ZVF1ZXJ5U3RyaW5nKHN1YkZpbHRlcikpO1xuICAgICAgICBjb25zdCBsb2dpYyA9IGZpbHRlci5sb2dpYyB8fCAnQU5EJzsgLy8gRGVmYXVsdCBsb2dpYyBpcyAnQU5EJyBpZiBub3QgcHJvdmlkZWRcbiAgICAgICAgcmV0dXJuIGAke2ZpbHRlclN0cmluZ3MuZmlsdGVyKChpOiBhbnkpID0+IGkpLmpvaW4oYCAke2xvZ2ljfSBgKX1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBxdWVyeVN0cmluZyA9ICcnO1xuXG4gICAgaWYgKHJlcXVlc3QuZmlsdGVyKSB7XG4gICAgICBjb25zdCBmaWx0ZXIgPSByZXF1ZXN0LmZpbHRlcjtcbiAgICAgIGlmIChmaWx0ZXIuZmlsdGVycyAmJiBmaWx0ZXIuZmlsdGVycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIENvbnN0cnVjdCBmaWx0ZXIgc3RyaW5nIGZyb20gcHJvdmlkZWQgZmlsdGVyc1xuXG4gICAgICAgIGNvbnN0IGR5bmFtaWNRdWVyaWVzID0gZ2VuZXJhdGVRdWVyeVN0cmluZyhmaWx0ZXIpO1xuICAgICAgICBjb25zb2xlLmxvZyh7IGR5bmFtaWNRdWVyaWVzOiBkeW5hbWljUXVlcmllcyB9KTtcblxuICAgICAgICAvLyBBcHBlbmQgZHluYW1pYyBmaWx0ZXJzIHRvIGN1c3RvbSBmaWx0ZXIsIGlmIGJvdGggZXhpc3RcbiAgICAgICAgcXVlcnlTdHJpbmcgPSAocXVlcnlTdHJpbmcgPyBgJHtxdWVyeVN0cmluZ30sJHtkeW5hbWljUXVlcmllc31gIDogZHluYW1pY1F1ZXJpZXMpIGFzIHN0cmluZztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gU2V0IHRoZSAkZmlsdGVyIHBhcmFtZXRlciBpZiB0aGVyZSBhcmUgYW55IGZpbHRlcnNcbiAgICBpZiAocXVlcnlTdHJpbmcpIHtcbiAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldCgnJHF1ZXJ5JywgcXVlcnlTdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHAuZ2V0PGFueT4oXG4gICAgICAgIGAke3RoaXMubWFpblVybH0vJHtyb3V0ZUVsZW1lbnQuYXJlYSA/IHJvdXRlRWxlbWVudC5hcmVhICsgJy8nIDogJyd9JHtyb3V0ZUVsZW1lbnQubW9kdWxlfS8ke1xuICAgICAgICAgIHJvdXRlRWxlbWVudC5lbnRpdHlcbiAgICAgICAgfWAsXG4gICAgICAgIHsgcGFyYW1zOiBodHRwUGFyYW1zIH1cbiAgICAgIClcbiAgICApLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b3RhbDogcmVzcG9uc2UudG90YWxDb3VudCxcbiAgICAgICAgaXRlbXM6IHJlc3BvbnNlLml0ZW1zLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxufVxuIl19","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { map } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXMOidcApplicationLoader {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.apiGetApps = `${this.configs.baseUrl}/applications/GetListByTenantId`;\n this.apiSetApp = `${this.configs.baseUrl}/SetApplication`;\n }\n getList() {\n return this.http.get(this.apiGetApps).pipe(map((response) => {\n return response.items.map((item) => this.mapToAXPApplication(item));\n }));\n }\n set(application) {\n return Promise.resolve();\n }\n // //TODO: shoud be removed\n // set(application: AXPApplication): Observable<AXPRefreshTokenResult> {\n // return this.http.post<any>(this.apiSetApp, { applicationId: application.id }).pipe(\n // map((response) => {\n // return {\n // succeed: true,\n // data: {\n // accessToken: response.token,\n // refreshToken: response.token,\n // }\n // };\n // })\n // );\n // }\n mapToAXPApplication(item) {\n return {\n id: item.id,\n name: item.name || 'defaultName',\n title: item.title || 'defaultTitle',\n version: item.version || '1.0.0',\n description: item.description,\n logo: item.logo, // Assuming logo is of type AXPLogoConfig or undefined\n editionName: item.editionName,\n // features: item.features || [],\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcApplicationLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcApplicationLoader }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcApplicationLoader, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24ubG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvYXBpL3NyYy9saWIvYXV0aC9vaWRjL2FwcGxpY2F0aW9uLmxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBR3ZDLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUg1QixZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsZUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLGlDQUFpQyxDQUFDO1FBQ3RFLGNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztJQUNyQixDQUFDO0lBR3pDLE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUMxRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNmLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsR0FBRyxDQUFDLFdBQTJCO1FBQzdCLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCwyQkFBMkI7SUFDM0Isd0VBQXdFO0lBQ3hFLHdGQUF3RjtJQUN4RiwwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIseUNBQXlDO0lBQ3pDLDBDQUEwQztJQUMxQyxZQUFZO0lBQ1osV0FBVztJQUNYLFNBQVM7SUFDVCxPQUFPO0lBQ1AsSUFBSTtJQUVJLG1CQUFtQixDQUFDLElBQVM7UUFDbkMsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLGFBQWE7WUFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksY0FBYztZQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPO1lBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxzREFBc0Q7WUFDdkUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLGlDQUFpQztTQUNsQyxDQUFDO0lBQ0osQ0FBQzs4R0E3Q1Usd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBBcHBsaWNhdGlvbiwgQVhQQXBwbGljYXRpb25Mb2FkZXIsIEFYUFJlZnJlc2hUb2tlblJlc3VsdCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBfUk9PVF9DT05GSUdfVE9LRU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTU9pZGNBcHBsaWNhdGlvbkxvYWRlciBpbXBsZW1lbnRzIEFYUEFwcGxpY2F0aW9uTG9hZGVyIHtcbiAgcHJpdmF0ZSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgYXBpR2V0QXBwcyA9IGAke3RoaXMuY29uZmlncy5iYXNlVXJsfS9hcHBsaWNhdGlvbnMvR2V0TGlzdEJ5VGVuYW50SWRgO1xuICBwcml2YXRlIGFwaVNldEFwcCA9IGAke3RoaXMuY29uZmlncy5iYXNlVXJsfS9TZXRBcHBsaWNhdGlvbmA7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XG5cblxuICBnZXRMaXN0KCk6IE9ic2VydmFibGU8QVhQQXBwbGljYXRpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgaXRlbXM6IGFueVtdIH0+KHRoaXMuYXBpR2V0QXBwcykucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLml0ZW1zLm1hcCgoaXRlbSkgPT4gdGhpcy5tYXBUb0FYUEFwcGxpY2F0aW9uKGl0ZW0pKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNldChhcHBsaWNhdGlvbjogQVhQQXBwbGljYXRpb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICAvLyAvL1RPRE86IHNob3VkIGJlIHJlbW92ZWRcbiAgLy8gc2V0KGFwcGxpY2F0aW9uOiBBWFBBcHBsaWNhdGlvbik6IE9ic2VydmFibGU8QVhQUmVmcmVzaFRva2VuUmVzdWx0PiB7XG4gIC8vICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5hcGlTZXRBcHAsIHsgYXBwbGljYXRpb25JZDogYXBwbGljYXRpb24uaWQgfSkucGlwZShcbiAgLy8gICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgLy8gICAgICAgcmV0dXJuIHtcbiAgLy8gICAgICAgICBzdWNjZWVkOiB0cnVlLFxuICAvLyAgICAgICAgIGRhdGE6IHtcbiAgLy8gICAgICAgICAgIGFjY2Vzc1Rva2VuOiByZXNwb25zZS50b2tlbixcbiAgLy8gICAgICAgICAgIHJlZnJlc2hUb2tlbjogcmVzcG9uc2UudG9rZW4sXG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICB9O1xuICAvLyAgICAgfSlcbiAgLy8gICApO1xuICAvLyB9XG5cbiAgcHJpdmF0ZSBtYXBUb0FYUEFwcGxpY2F0aW9uKGl0ZW06IGFueSk6IEFYUEFwcGxpY2F0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICBuYW1lOiBpdGVtLm5hbWUgfHwgJ2RlZmF1bHROYW1lJyxcbiAgICAgIHRpdGxlOiBpdGVtLnRpdGxlIHx8ICdkZWZhdWx0VGl0bGUnLFxuICAgICAgdmVyc2lvbjogaXRlbS52ZXJzaW9uIHx8ICcxLjAuMCcsXG4gICAgICBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgIGxvZ286IGl0ZW0ubG9nbywgLy8gQXNzdW1pbmcgbG9nbyBpcyBvZiB0eXBlIEFYUExvZ29Db25maWcgb3IgdW5kZWZpbmVkXG4gICAgICBlZGl0aW9uTmFtZTogaXRlbS5lZGl0aW9uTmFtZSxcbiAgICAgIC8vIGZlYXR1cmVzOiBpdGVtLmZlYXR1cmVzIHx8IFtdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { BehaviorSubject, filter, of, switchMap, take, tap } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXMConfigurationService {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.applicationConfig = null;\n this.apiGetConfig = `${this.configs.baseUrl}/abp/application-configuration`;\n this.fetchInProgress = false;\n this.configSubject = new BehaviorSubject(null);\n this.init().subscribe(); // Automatically trigger configuration load on service instantiation\n }\n init() {\n if (!this.fetchInProgress) {\n this.fetchInProgress = true;\n return this.http.get(this.apiGetConfig).pipe(tap((response) => {\n this.applicationConfig = response;\n this.configSubject.next(this.applicationConfig);\n this.fetchInProgress = false;\n }));\n }\n else {\n // Adjusted approach to handle TypeScript's type safety requirements\n return this.configSubject.asObservable().pipe(filter((config) => config !== null), take(1) // Ensures it completes after emitting the first non-null value\n );\n }\n }\n getConfig() {\n if (this.applicationConfig) {\n // If the config is already loaded, return it immediately\n return of(this.applicationConfig);\n }\n else {\n // If the config is not loaded, initiate loading\n return this.configSubject.asObservable().pipe(filter((config) => config !== null), take(1), // Ensure it only emits the first non-null value and completes\n switchMap(() => of(this.applicationConfig)));\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMConfigurationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMConfigurationService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMConfigurationService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb25uZWN0aXZpdHkvYXBpL3NyYy9saWIvYXV0aC9vaWRjL2NvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUE2RHJGLE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU41QixZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsc0JBQWlCLEdBQW9DLElBQUksQ0FBQztRQUMxRCxpQkFBWSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLGdDQUFnQyxDQUFDO1FBQ3ZFLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLGtCQUFhLEdBQXFELElBQUksZUFBZSxDQUFrQyxJQUFJLENBQUMsQ0FBQztRQUduSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxvRUFBb0U7SUFDL0YsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTJCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQ3BFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixvRUFBb0U7WUFDcEUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDM0MsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFzQyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxFQUN2RSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsK0RBQStEO2FBQ3hFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLHlEQUF5RDtZQUN6RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNOLGdEQUFnRDtZQUNoRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUMzQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsRUFDbkMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLDhEQUE4RDtZQUN2RSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBa0IsQ0FBQyxDQUFDLENBQzdDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzs4R0ExQ1UsdUJBQXVCO2tIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTs7MkZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTV9BVVRIX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9hdXRoJztcbmltcG9ydCB7IEFYUF9ST09UX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZmlsdGVyLCBvZiwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbGl6YXRpb24ge1xuICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuICByZXNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIFJlc291cmNlPjtcbiAgbGFuZ3VhZ2VzOiBMYW5ndWFnZVtdO1xuICBjdXJyZW50Q3VsdHVyZTogQ3VsdHVyZTtcbiAgZGVmYXVsdFJlc291cmNlTmFtZTogc3RyaW5nO1xuICBsYW5ndWFnZXNNYXA6IFJlY29yZDxzdHJpbmcsIE5hbWVWYWx1ZVtdPjtcbiAgbGFuZ3VhZ2VGaWxlc01hcDogUmVjb3JkPHN0cmluZywgTmFtZVZhbHVlW10+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlIHtcbiAgdGV4dHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGJhc2VSZXNvdXJjZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlIHtcbiAgY3VsdHVyZU5hbWU6IHN0cmluZztcbiAgdWlDdWx0dXJlTmFtZTogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICB0d29MZXR0ZXJJU09MYW5ndWFnZU5hbWU6IHN0cmluZztcbiAgZmxhZ0ljb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdWx0dXJlIHtcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgLy8gLi4uIG90aGVyIHByb3BlcnRpZXNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYW1lVmFsdWUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8vIFJlcGVhdCBzaW1pbGFyIHBhdHRlcm5zIGZvciAnYXV0aCcsICdzZXR0aW5nJywgJ2N1cnJlbnRVc2VyJywgZXRjLlxuZXhwb3J0IGludGVyZmFjZSBBdXRoIHtcbiAgZ3JhbnRlZFBvbGljaWVzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbn1cblxuLy8gTWFpbiBjb25maWd1cmF0aW9uIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24ge1xuICBsb2NhbGl6YXRpb246IExvY2FsaXphdGlvbjtcbiAgYXV0aDogQXV0aDtcbiAgc2V0dGluZzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgY3VycmVudFVzZXI6IGFueTtcbiAgZmVhdHVyZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGdsb2JhbEZlYXR1cmVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBtdWx0aVRlbmFuY3k6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGN1cnJlbnRDdWx0dXJlOiBDdWx0dXJlO1xuICB0aW1pbmc6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGNsb2NrOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBvYmplY3RFeHRlbnNpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBleHRyYVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgLy8gLi4uIG90aGVyIHByb3BlcnRpZXNcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYTUNvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgYXBwbGljYXRpb25Db25maWc6IEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGFwaUdldENvbmZpZyA9IGAke3RoaXMuY29uZmlncy5iYXNlVXJsfS9hYnAvYXBwbGljYXRpb24tY29uZmlndXJhdGlvbmA7XG4gIHByaXZhdGUgZmV0Y2hJblByb2dyZXNzOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgY29uZmlnU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbiB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gfCBudWxsPihudWxsKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICB0aGlzLmluaXQoKS5zdWJzY3JpYmUoKTsgLy8gQXV0b21hdGljYWxseSB0cmlnZ2VyIGNvbmZpZ3VyYXRpb24gbG9hZCBvbiBzZXJ2aWNlIGluc3RhbnRpYXRpb25cbiAgfVxuXG4gIHB1YmxpYyBpbml0KCk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uPiB7XG4gICAgaWYgKCF0aGlzLmZldGNoSW5Qcm9ncmVzcykge1xuICAgICAgdGhpcy5mZXRjaEluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBwbGljYXRpb25Db25maWd1cmF0aW9uPih0aGlzLmFwaUdldENvbmZpZykucGlwZShcbiAgICAgICAgdGFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25Db25maWcgPSByZXNwb25zZTtcbiAgICAgICAgICB0aGlzLmNvbmZpZ1N1YmplY3QubmV4dCh0aGlzLmFwcGxpY2F0aW9uQ29uZmlnKTtcbiAgICAgICAgICB0aGlzLmZldGNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQWRqdXN0ZWQgYXBwcm9hY2ggdG8gaGFuZGxlIFR5cGVTY3JpcHQncyB0eXBlIHNhZmV0eSByZXF1aXJlbWVudHNcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgZmlsdGVyKChjb25maWcpOiBjb25maWcgaXMgQXBwbGljYXRpb25Db25maWd1cmF0aW9uID0+IGNvbmZpZyAhPT0gbnVsbCksXG4gICAgICAgIHRha2UoMSkgLy8gRW5zdXJlcyBpdCBjb21wbGV0ZXMgYWZ0ZXIgZW1pdHRpbmcgdGhlIGZpcnN0IG5vbi1udWxsIHZhbHVlXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGdldENvbmZpZygpOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvbj4ge1xuICAgIGlmICh0aGlzLmFwcGxpY2F0aW9uQ29uZmlnKSB7XG4gICAgICAvLyBJZiB0aGUgY29uZmlnIGlzIGFscmVhZHkgbG9hZGVkLCByZXR1cm4gaXQgaW1tZWRpYXRlbHlcbiAgICAgIHJldHVybiBvZih0aGlzLmFwcGxpY2F0aW9uQ29uZmlnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlIGNvbmZpZyBpcyBub3QgbG9hZGVkLCBpbml0aWF0ZSBsb2FkaW5nXG4gICAgICByZXR1cm4gdGhpcy5jb25maWdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgIGZpbHRlcigoY29uZmlnKSA9PiBjb25maWcgIT09IG51bGwpLFxuICAgICAgICB0YWtlKDEpLCAvLyBFbnN1cmUgaXQgb25seSBlbWl0cyB0aGUgZmlyc3Qgbm9uLW51bGwgdmFsdWUgYW5kIGNvbXBsZXRlc1xuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gb2YodGhpcy5hcHBsaWNhdGlvbkNvbmZpZyEpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { delay, of } from 'rxjs';\nexport class AXMOidcFeatureLoader {\n constructor() {\n this.list = [\n {\n name: 'axp-entity-list-custom-view',\n title: 'Custom View',\n value: false\n },\n {\n name: 'axp-entity-list-quick-search',\n title: 'Custom View',\n value: false\n }\n ];\n }\n getList() {\n return of(this.list).pipe(delay(0));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9hcGkvc3JjL2xpYi9hdXRoL29pZGMvZmVhdHVyZS5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFN0MsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUVVLFNBQUksR0FBaUI7WUFDM0I7Z0JBQ0UsSUFBSSxFQUFFLDZCQUE2QjtnQkFDbkMsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLEtBQUssRUFBRSxLQUFLO2FBQ2I7WUFDRDtnQkFDRSxJQUFJLEVBQUUsOEJBQThCO2dCQUNwQyxLQUFLLEVBQUUsYUFBYTtnQkFDcEIsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGLENBQUE7SUFLSCxDQUFDO0lBSEMsT0FBTztRQUNMLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQRmVhdHVyZSwgQVhQRmVhdHVyZUxvYWRlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBkZWxheSwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIEFYTU9pZGNGZWF0dXJlTG9hZGVyIGltcGxlbWVudHMgQVhQRmVhdHVyZUxvYWRlciB7XG5cbiAgcHJpdmF0ZSBsaXN0OiBBWFBGZWF0dXJlW10gPSBbXG4gICAge1xuICAgICAgbmFtZTogJ2F4cC1lbnRpdHktbGlzdC1jdXN0b20tdmlldycsXG4gICAgICB0aXRsZTogJ0N1c3RvbSBWaWV3JyxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ2F4cC1lbnRpdHktbGlzdC1xdWljay1zZWFyY2gnLFxuICAgICAgdGl0bGU6ICdDdXN0b20gVmlldycsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9XG4gIF1cblxuICBnZXRMaXN0KCk6IE9ic2VydmFibGU8QVhQRmVhdHVyZVtdPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMubGlzdCkucGlwZShkZWxheSgwKSk7XG4gIH1cbn1cbiJdfQ==","import { AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';\nimport { AXPSessionService, } from '@acorex/platform/auth';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { firstValueFrom } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXMOidcStrategy {\n constructor() {\n this.aXMAuthConfigs = inject(AXM_AUTH_CONFIG_TOKEN);\n this.oauthService = inject(OAuthService);\n this.http = inject(HttpClient);\n }\n async configureOAuth() {\n if (this.openidConfigurationInfo)\n return;\n if (!this.authConfig) {\n if (!this.aXMAuthConfigs.authConfig) {\n throw new Error('authConfig is missing');\n }\n this.authConfig = this.aXMAuthConfigs.authConfig;\n }\n this.oauthService.configure(this.authConfig);\n this.oauthService.setStorage(localStorage);\n this.openidConfigurationInfo = await this.oauthService.loadDiscoveryDocument();\n if (!this.openidConfigurationInfo) {\n throw new Error('openidConfigurationInfo is missing');\n }\n this.oauthService.events.subscribe(async (event) => {\n // console.log('event', event);\n // if (event.type === 'token_received') {\n // console.log('Token has been refreshed');\n // }\n // if (event.type === 'token_expires') {\n // console.log('Token is about to expire. Triggering silent refresh...');\n // }\n });\n const oidcJson = localStorage.getItem(AXPSessionService.SESSION_KEY);\n if (oidcJson) {\n const authData = JSON.parse(oidcJson);\n if (authData) {\n this.setServiceProps(authData);\n if (authData.expiresIn && new Date(authData.expiresIn) < new Date()) {\n if (authData.expiresIn) {\n // this.refresh();\n }\n else {\n this.logout();\n }\n }\n }\n }\n }\n async signin(credentials) {\n await this.configureOAuth();\n try {\n const body = new HttpParams()\n .set('grant_type', 'password')\n .set('client_id', this.authConfig.clientId)\n .set('client_secret', this.authConfig.dummyClientSecret)\n .set('username', credentials.username)\n .set('password', credentials.password)\n .set('scope', this.authConfig.scope);\n const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n const response = await firstValueFrom(this.http.post(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers }));\n // const authData = new AuthenticationData(response);\n this.setServiceProps({\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n idToken: response.id_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n });\n return {\n succeed: true,\n data: {\n accessToken: response.access_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n idToken: response.id_token,\n refreshToken: response.refresh_token,\n user: {\n id: response.sub,\n title: response.fullname,\n name: response.sub,\n avatar: response.picture,\n },\n tenant: {\n id: response.tenantid,\n name: response.tenantname,\n title: response.tenanttitle,\n },\n application: {\n id: response.applicationid,\n name: response.applicationname,\n title: response.applicationtitle,\n },\n },\n };\n }\n catch (error) {\n this.handleError(error);\n }\n }\n async signout() {\n //this.logout();\n }\n async refreshToken(context) {\n try {\n await this.configureOAuth();\n const refreshResult = await this.refresh(context.tenant?.id, context.application?.id);\n if (refreshResult) {\n return {\n succeed: true,\n data: {\n accessToken: this.oauthService.getAccessToken(),\n refreshToken: this.oauthService.getRefreshToken(),\n },\n };\n }\n else {\n return { succeed: false };\n }\n }\n catch (error) {\n console.error('Error refreshing token', error);\n return { succeed: false };\n }\n }\n async refresh(tenantId, applicationId) {\n await this.configureOAuth();\n const authData = this.loadAuthData();\n if (!authData)\n return false;\n const refreshToken = this.oauthService.getRefreshToken();\n if (!refreshToken)\n return false;\n const body = new HttpParams()\n .set('grant_type', 'refresh_token')\n .set('client_id', this.authConfig.clientId)\n .set('client_secret', this.authConfig.dummyClientSecret)\n .set('refresh_token', refreshToken)\n .set('tenantId', tenantId ?? '')\n .set('applicationId', applicationId ?? '');\n const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n try {\n const response = await firstValueFrom(this.http.post(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers }));\n this.setServiceProps({\n accessToken: response.access_token,\n refreshToken: response.refresh_token,\n idToken: response.id_token,\n expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),\n });\n return true;\n }\n catch (error) {\n console.error('Token refresh error', error);\n return false;\n }\n }\n expires_in_milisecound(expires_in_date) {\n const now = new Date();\n const expire = new Date(expires_in_date);\n return expire.getTime() - now.getTime();\n }\n setServiceProps(authData) {\n this.oauthService.getAccessToken = () => authData.accessToken;\n this.oauthService.getIdToken = () => authData.idToken ?? '';\n this.oauthService.getRefreshToken = () => authData.refreshToken;\n if (authData.expiresIn) {\n const refreshTime = this.expires_in_milisecound(authData.expiresIn);\n this.oauthService.getAccessTokenExpiration = () => refreshTime;\n // if (refreshTime < 0) {\n // this.refresh();\n // }else{\n // }\n }\n }\n loadAuthData() {\n const authDataJson = localStorage.getItem(AXPSessionService.SESSION_KEY);\n if (!authDataJson)\n return undefined;\n const authData = JSON.parse(authDataJson);\n // return authData ? new AuthenticationData(authData) : undefined;\n return authData;\n }\n async loadUserInfo() {\n return this.oauthService.loadUserProfile();\n }\n calculateExpireInDate(expireInMilisecound) {\n return new Date(Date.now() + expireInMilisecound * 1000).toISOString();\n }\n logout() {\n this.oauthService.logOut({\n noRedirectToLogoutUrl: true\n });\n }\n handleError(error) {\n if (error?.reason) {\n throw new Error(JSON.stringify(error.reason));\n }\n else if (error?.message) {\n throw new Error(error.message);\n }\n else {\n throw new Error('Network or server error occurred');\n }\n }\n //#region getter\n get name() {\n return 'user-pass';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcStrategy }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcStrategy, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L2FwaS9zcmMvbGliL2F1dGgvb2lkYy9vaWRjLnN0cmF0ZWd5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBTUwsaUJBQWlCLEdBR2xCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3RDLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVUsbUJBQWMsR0FBbUIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0QsaUJBQVksR0FBaUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELFNBQUksR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FnTy9DO0lBM05RLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLElBQUksSUFBSSxDQUFDLHVCQUF1QjtZQUFFLE9BQU87UUFFekMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1FBQ25ELENBQUM7UUFF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QyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUNPLE1BQU07UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUN2QixxQkFBcUIsRUFBRSxJQUFJO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBVTtRQUM1QixJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLElBQUksSUFBSTtRQUNOLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OEdBak9VLGVBQWU7a0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYTUF1dGhDb25maWdzLCBBWE1fQVVUSF9DT05GSUdfVE9LRU4gfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvYXV0aCc7XG5pbXBvcnQge1xuICBBWFBBdXRoU3RyYXRlZ3ksXG4gIEFYUEJhc2VDcmVkZW50aWFscyxcbiAgQVhQUmVmcmVzaFRva2VuUmVzdWx0LFxuICBBWFBTZXNzaW9uQ29udGV4dCxcbiAgQVhQU2Vzc2lvbkRhdGEsXG4gIEFYUFNlc3Npb25TZXJ2aWNlLFxuICBBWFBTaWduSW5SZXN1bHQsXG4gIEFYUFVzZXIsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aENvbmZpZywgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT2lkY1N0cmF0ZWd5IGltcGxlbWVudHMgQVhQQXV0aFN0cmF0ZWd5IHtcbiAgcHJpdmF0ZSBhWE1BdXRoQ29uZmlnczogQVhNQXV0aENvbmZpZ3MgPSBpbmplY3QoQVhNX0FVVEhfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSA9IGluamVjdChPQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHB1YmxpYyB1c2VySW5mbzogYW55O1xuICBwdWJsaWMgYXV0aENvbmZpZzogQXV0aENvbmZpZztcbiAgcHVibGljIG9wZW5pZENvbmZpZ3VyYXRpb25JbmZvOiBhbnk7IC8vIGNsYXJpZnkgdGhlIHR5cGUgaWYgcG9zc2libGVcblxuICBwdWJsaWMgYXN5bmMgY29uZmlndXJlT0F1dGgoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMub3BlbmlkQ29uZmlndXJhdGlvbkluZm8pIHJldHVybjtcblxuICAgIGlmICghdGhpcy5hdXRoQ29uZmlnKSB7XG4gICAgICBpZiAoIXRoaXMuYVhNQXV0aENvbmZpZ3MuYXV0aENvbmZpZykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2F1dGhDb25maWcgaXMgbWlzc2luZycpO1xuICAgICAgfVxuICAgICAgdGhpcy5hdXRoQ29uZmlnID0gdGhpcy5hWE1BdXRoQ29uZmlncy5hdXRoQ29uZmlnO1xuICAgIH1cblxuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmNvbmZpZ3VyZSh0aGlzLmF1dGhDb25maWcpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLnNldFN0b3JhZ2UobG9jYWxTdG9yYWdlKTtcblxuICAgIHRoaXMub3BlbmlkQ29uZmlndXJhdGlvbkluZm8gPSBhd2FpdCB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoKTtcblxuICAgIGlmICghdGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcGVuaWRDb25maWd1cmF0aW9uSW5mbyBpcyBtaXNzaW5nJyk7XG4gICAgfVxuXG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuZXZlbnRzLnN1YnNjcmliZShhc3luYyAoZXZlbnQpID0+IHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdldmVudCcsIGV2ZW50KTtcbiAgICAgIC8vIGlmIChldmVudC50eXBlID09PSAndG9rZW5fcmVjZWl2ZWQnKSB7XG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCdUb2tlbiBoYXMgYmVlbiByZWZyZXNoZWQnKTtcbiAgICAgIC8vIH1cbiAgICAgIC8vIGlmIChldmVudC50eXBlID09PSAndG9rZW5fZXhwaXJlcycpIHtcbiAgICAgIC8vICAgY29uc29sZS5sb2coJ1Rva2VuIGlzIGFib3V0IHRvIGV4cGlyZS4gVHJpZ2dlcmluZyBzaWxlbnQgcmVmcmVzaC4uLicpO1xuICAgICAgLy8gfVxuICAgIH0pO1xuXG4gICAgY29uc3Qgb2lkY0pzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShBWFBTZXNzaW9uU2VydmljZS5TRVNTSU9OX0tFWSk7XG5cbiAgICBpZiAob2lkY0pzb24pIHtcbiAgICAgIGNvbnN0IGF1dGhEYXRhID0gSlNPTi5wYXJzZShvaWRjSnNvbikgYXMgQVhQU2Vzc2lvbkRhdGE7XG4gICAgICBpZiAoYXV0aERhdGEpIHtcbiAgICAgICAgdGhpcy5zZXRTZXJ2aWNlUHJvcHMoYXV0aERhdGEpO1xuXG4gICAgICAgIGlmIChhdXRoRGF0YS5leHBpcmVzSW4gJiYgbmV3IERhdGUoYXV0aERhdGEuZXhwaXJlc0luKSA8IG5ldyBEYXRlKCkpIHtcbiAgICAgICAgICBpZiAoYXV0aERhdGEuZXhwaXJlc0luKSB7XG4gICAgICAgICAgICAvLyB0aGlzLnJlZnJlc2goKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBzaWduaW4oY3JlZGVudGlhbHM6IEFYUFVzZXJQYXNzQ3JlZGVudGlhbHMpOiBQcm9taXNlPEFYUFNpZ25JblJlc3VsdD4ge1xuICAgIGF3YWl0IHRoaXMuY29uZmlndXJlT0F1dGgoKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYm9keSA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgICAgLnNldCgnZ3JhbnRfdHlwZScsICdwYXNzd29yZCcpXG4gICAgICAgIC5zZXQoJ2NsaWVudF9pZCcsIHRoaXMuYXV0aENvbmZpZy5jbGllbnRJZCEpXG4gICAgICAgIC5zZXQoJ2NsaWVudF9zZWNyZXQnLCB0aGlzLmF1dGhDb25maWcuZHVtbXlDbGllbnRTZWNyZXQhKVxuICAgICAgICAuc2V0KCd1c2VybmFtZScsIGNyZWRlbnRpYWxzLnVzZXJuYW1lKVxuICAgICAgICAuc2V0KCdwYXNzd29yZCcsIGNyZWRlbnRpYWxzLnBhc3N3b3JkKVxuICAgICAgICAuc2V0KCdzY29wZScsIHRoaXMuYXV0aENvbmZpZy5zY29wZSEpO1xuXG4gICAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PElBdXRoZW50aWNhdGlvbkRhdGFNb2RlbD4odGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mby5pbmZvLmRpc2NvdmVyeURvY3VtZW50LnRva2VuX2VuZHBvaW50LCBib2R5LnRvU3RyaW5nKCksIHsgaGVhZGVycyB9KVxuICAgICAgKTtcblxuICAgICAgLy8gY29uc3QgYXV0aERhdGEgPSBuZXcgQXV0aGVudGljYXRpb25EYXRhKHJlc3BvbnNlKTtcbiAgICAgIHRoaXMuc2V0U2VydmljZVByb3BzKHtcbiAgICAgICAgYWNjZXNzVG9rZW46IHJlc3BvbnNlLmFjY2Vzc190b2tlbixcbiAgICAgICAgcmVmcmVzaFRva2VuOiByZXNwb25zZS5yZWZyZXNoX3Rva2VuLFxuICAgICAgICBpZFRva2VuOiByZXNwb25zZS5pZF90b2tlbixcbiAgICAgICAgZXhwaXJlc0luOiB0aGlzLmNhbGN1bGF0ZUV4cGlyZUluRGF0ZShyZXNwb25zZS5leHBpcmVzX2luID8/IDApLFxuICAgICAgfSBhcyBBWFBTZXNzaW9uRGF0YSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2NlZWQ6IHRydWUsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBhY2Nlc3NUb2tlbjogcmVzcG9uc2UuYWNjZXNzX3Rva2VuLFxuICAgICAgICAgIGV4cGlyZXNJbjogdGhpcy5jYWxjdWxhdGVFeHBpcmVJbkRhdGUocmVzcG9uc2UuZXhwaXJlc19pbiA/PyAwKSxcbiAgICAgICAgICBpZFRva2VuOiByZXNwb25zZS5pZF90b2tlbixcbiAgICAgICAgICByZWZyZXNoVG9rZW46IHJlc3BvbnNlLnJlZnJlc2hfdG9rZW4hLFxuICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgIGlkOiByZXNwb25zZS5zdWIsXG4gICAgICAgICAgICB0aXRsZTogcmVzcG9uc2UuZnVsbG5hbWUsXG4gICAgICAgICAgICBuYW1lOiByZXNwb25zZS5zdWIsXG4gICAgICAgICAgICBhdmF0YXI6IHJlc3BvbnNlLnBpY3R1cmUsXG4gICAgICAgICAgfSBhcyBBWFBVc2VyLFxuICAgICAgICAgIHRlbmFudDoge1xuICAgICAgICAgICAgaWQ6IHJlc3BvbnNlLnRlbmFudGlkISxcbiAgICAgICAgICAgIG5hbWU6IHJlc3BvbnNlLnRlbmFudG5hbWUhLFxuICAgICAgICAgICAgdGl0bGU6IHJlc3BvbnNlLnRlbmFudHRpdGxlISxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGFwcGxpY2F0aW9uOiB7XG4gICAgICAgICAgICBpZDogcmVzcG9uc2UuYXBwbGljYXRpb25pZCEsXG4gICAgICAgICAgICBuYW1lOiByZXNwb25zZS5hcHBsaWNhdGlvbm5hbWUhLFxuICAgICAgICAgICAgdGl0bGU6IHJlc3BvbnNlLmFwcGxpY2F0aW9udGl0bGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbm91dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvL3RoaXMubG9nb3V0KCk7XG4gIH1cblxuICBhc3luYyByZWZyZXNoVG9rZW4oY29udGV4dDogQVhQU2Vzc2lvbkNvbnRleHQpOiBQcm9taXNlPEFYUFJlZnJlc2hUb2tlblJlc3VsdD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmNvbmZpZ3VyZU9BdXRoKCk7XG4gICAgICBjb25zdCByZWZyZXNoUmVzdWx0ID0gYXdhaXQgdGhpcy5yZWZyZXNoKGNvbnRleHQudGVuYW50Py5pZCwgY29udGV4dC5hcHBsaWNhdGlvbj8uaWQpO1xuICAgICAgaWYgKHJlZnJlc2hSZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdWNjZWVkOiB0cnVlLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGFjY2Vzc1Rva2VuOiB0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpLFxuICAgICAgICAgICAgcmVmcmVzaFRva2VuOiB0aGlzLm9hdXRoU2VydmljZS5nZXRSZWZyZXNoVG9rZW4oKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHsgc3VjY2VlZDogZmFsc2UgfTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcmVmcmVzaGluZyB0b2tlbicsIGVycm9yKTtcbiAgICAgIHJldHVybiB7IHN1Y2NlZWQ6IGZhbHNlIH07XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVmcmVzaCh0ZW5hbnRJZD86IHN0cmluZywgYXBwbGljYXRpb25JZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGF3YWl0IHRoaXMuY29uZmlndXJlT0F1dGgoKTtcbiAgICBjb25zdCBhdXRoRGF0YSA9IHRoaXMubG9hZEF1dGhEYXRhKCk7XG4gICAgaWYgKCFhdXRoRGF0YSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgcmVmcmVzaFRva2VuID0gdGhpcy5vYXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCk7XG4gICAgaWYgKCFyZWZyZXNoVG9rZW4pIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IGJvZHkgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKVxuICAgICAgLnNldCgnY2xpZW50X2lkJywgdGhpcy5hdXRoQ29uZmlnLmNsaWVudElkISlcbiAgICAgIC5zZXQoJ2NsaWVudF9zZWNyZXQnLCB0aGlzLmF1dGhDb25maWcuZHVtbXlDbGllbnRTZWNyZXQhKVxuICAgICAgLnNldCgncmVmcmVzaF90b2tlbicsIHJlZnJlc2hUb2tlbilcbiAgICAgIC5zZXQoJ3RlbmFudElkJywgdGVuYW50SWQgPz8gJycpXG4gICAgICAuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZCA/PyAnJyk7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMuaHR0cC5wb3N0PElBdXRoZW50aWNhdGlvbkRhdGFNb2RlbD4odGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mby5pbmZvLmRpc2NvdmVyeURvY3VtZW50LnRva2VuX2VuZHBvaW50LCBib2R5LnRvU3RyaW5nKCksIHsgaGVhZGVycyB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2V0U2VydmljZVByb3BzKHtcbiAgICAgICAgYWNjZXNzVG9rZW46IHJlc3BvbnNlLmFjY2Vzc190b2tlbixcbiAgICAgICAgcmVmcmVzaFRva2VuOiByZXNwb25zZS5yZWZyZXNoX3Rva2VuLFxuICAgICAgICBpZFRva2VuOiByZXNwb25zZS5pZF90b2tlbixcbiAgICAgICAgZXhwaXJlc0luOiB0aGlzLmNhbGN1bGF0ZUV4cGlyZUluRGF0ZShyZXNwb25zZS5leHBpcmVzX2luID8/IDApLFxuICAgICAgfSBhcyBBWFBTZXNzaW9uRGF0YSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdUb2tlbiByZWZyZXNoIGVycm9yJywgZXJyb3IpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGV4cGlyZXNfaW5fbWlsaXNlY291bmQoZXhwaXJlc19pbl9kYXRlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZXhwaXJlID0gbmV3IERhdGUoZXhwaXJlc19pbl9kYXRlKTtcbiAgICByZXR1cm4gZXhwaXJlLmdldFRpbWUoKSAtIG5vdy5nZXRUaW1lKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFNlcnZpY2VQcm9wcyhhdXRoRGF0YTogQVhQU2Vzc2lvbkRhdGEpOiB2b2lkIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbiA9ICgpID0+IGF1dGhEYXRhLmFjY2Vzc1Rva2VuO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmdldElkVG9rZW4gPSAoKSA9PiBhdXRoRGF0YS5pZFRva2VuID8/ICcnO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbiA9ICgpID0+IGF1dGhEYXRhLnJlZnJlc2hUb2tlbjtcbiAgICBpZiAoYXV0aERhdGEuZXhwaXJlc0luKSB7XG4gICAgICBjb25zdCByZWZyZXNoVGltZSA9IHRoaXMuZXhwaXJlc19pbl9taWxpc2Vjb3VuZChhdXRoRGF0YS5leHBpcmVzSW4hKTtcbiAgICAgIHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuRXhwaXJhdGlvbiA9ICgpID0+IHJlZnJlc2hUaW1lO1xuICAgICAgLy8gaWYgKHJlZnJlc2hUaW1lIDwgMCkge1xuICAgICAgLy8gICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIC8vIH1lbHNle1xuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEF1dGhEYXRhKCk6IEFYUFNlc3Npb25EYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBhdXRoRGF0YUpzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShBWFBTZXNzaW9uU2VydmljZS5TRVNTSU9OX0tFWSk7XG4gICAgaWYgKCFhdXRoRGF0YUpzb24pIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBhdXRoRGF0YSA9IEpTT04ucGFyc2UoYXV0aERhdGFKc29uKSBhcyBBWFBTZXNzaW9uRGF0YTtcblxuICAgIC8vIHJldHVybiBhdXRoRGF0YSA/IG5ldyBBdXRoZW50aWNhdGlvbkRhdGEoYXV0aERhdGEpIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBhdXRoRGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsb2FkVXNlckluZm8oKTogUHJvbWlzZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5vYXV0aFNlcnZpY2UubG9hZFVzZXJQcm9maWxlKCk7XG4gIH1cbiAgcHVibGljIGNhbGN1bGF0ZUV4cGlyZUluRGF0ZShleHBpcmVJbk1pbGlzZWNvdW5kOiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5ub3coKSArIGV4cGlyZUluTWlsaXNlY291bmQgKiAxMDAwKS50b0lTT1N0cmluZygpO1xuICB9XG4gIHByaXZhdGUgbG9nb3V0KCk6IHZvaWQge1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dCh7XG4gICAgICBub1JlZGlyZWN0VG9Mb2dvdXRVcmw6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSk6IG5ldmVyIHtcbiAgICBpZiAoZXJyb3I/LnJlYXNvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKEpTT04uc3RyaW5naWZ5KGVycm9yLnJlYXNvbikpO1xuICAgIH0gZWxzZSBpZiAoZXJyb3I/Lm1lc3NhZ2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXR3b3JrIG9yIHNlcnZlciBlcnJvciBvY2N1cnJlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8vI3JlZ2lvbiBnZXR0ZXJcbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3VzZXItcGFzcyc7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQVXNlclBhc3NDcmVkZW50aWFscyBleHRlbmRzIEFYUEJhc2VDcmVkZW50aWFscyB7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8vIGV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbkRhdGEge1xuLy8gICBhY2Nlc3NfdG9rZW46IHN0cmluZztcbi8vICAgYXBwbGljYXRpb25pZD86IHN0cmluZztcbi8vICAgYXBwbGljYXRpb25uYW1lPzogc3RyaW5nO1xuLy8gICBhcHBsaWNhdGlvbnRpdGxlPzogc3RyaW5nO1xuLy8gICBlZGl0aW9uaWQ/OiBzdHJpbmc7XG4vLyAgIGVkaXRpb25uYW1lPzogc3RyaW5nO1xuLy8gICBlZGl0aW9udGl0bGU/OiBzdHJpbmc7XG4vLyAgIGlkX3Rva2VuPzogc3RyaW5nO1xuLy8gICByZWZyZXNoX3Rva2VuPzogc3RyaW5nO1xuLy8gICBzY29wZT86IHN0cmluZztcbi8vICAgdGVuYW50aWQ/OiBzdHJpbmc7XG4vLyAgIHRlbmFudG5hbWU/OiBzdHJpbmc7XG4vLyAgIHRlbmFudHRpdGxlPzogc3RyaW5nO1xuLy8gICB0b2tlbl90eXBlPzogc3RyaW5nO1xuLy8gICBleHBpcmVzX2luX2RhdGU/OiBzdHJpbmc7XG4vLyAgIHN1Yj86IHN0cmluZztcbi8vICAgcGljdHVyZT86IHN0cmluZztcbi8vICAgZnVsbG5hbWU/OiBzdHJpbmc7XG5cbi8vICAgY29uc3RydWN0b3IoZGF0YTogQXV0aGVudGljYXRpb25EYXRhTW9kZWwpIHtcbi8vICAgICB0aGlzLmFjY2Vzc190b2tlbiA9IGRhdGEuYWNjZXNzX3Rva2VuO1xuLy8gICAgIHRoaXMuYXBwbGljYXRpb25pZCA9IGRhdGEuYXBwbGljYXRpb25pZDtcbi8vICAgICB0aGlzLmFwcGxpY2F0aW9ubmFtZSA9IGRhdGEuYXBwbGljYXRpb25uYW1lO1xuLy8gICAgIHRoaXMuYXBwbGljYXRpb250aXRsZSA9IGRhdGEuYXBwbGljYXRpb250aXRsZTtcbi8vICAgICB0aGlzLmVkaXRpb25pZCA9IGRhdGEuZWRpdGlvbmlkO1xuLy8gICAgIHRoaXMuZWRpdGlvbm5hbWUgPSBkYXRhLmVkaXRpb25uYW1lO1xuLy8gICAgIHRoaXMuZWRpdGlvbnRpdGxlID0gZGF0YS5lZGl0aW9udGl0bGU7XG4vLyAgICAgdGhpcy5pZF90b2tlbiA9IGRhdGEuaWRfdG9rZW47XG4vLyAgICAgdGhpcy5yZWZyZXNoX3Rva2VuID0gZGF0YS5yZWZyZXNoX3Rva2VuO1xuLy8gICAgIHRoaXMuc2NvcGUgPSBkYXRhLnNjb3BlO1xuLy8gICAgIHRoaXMudGVuYW50aWQgPSBkYXRhLnRlbmFudGlkO1xuLy8gICAgIHRoaXMudGVuYW50bmFtZSA9IGRhdGEudGVuYW50bmFtZTtcbi8vICAgICB0aGlzLnRlbmFudHRpdGxlID0gZGF0YS50ZW5hbnR0aXRsZTtcbi8vICAgICB0aGlzLnRva2VuX3R5cGUgPSBkYXRhLnRva2VuX3R5cGU7XG4vLyAgICAgdGhpcy5zdWIgPSBkYXRhLnN1Yjtcbi8vICAgICB0aGlzLnBpY3R1cmUgPSBkYXRhLnBpY3R1cmU7XG4vLyAgICAgdGhpcy5mdWxsbmFtZSA9IGRhdGEuZnVsbG5hbWU7XG5cbi8vICAgICBpZiAoZGF0YS5leHBpcmVzX2luKSB7XG4vLyAgICAgICB0aGlzLmV4cGlyZXNfaW5fZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBkYXRhLmV4cGlyZXNfaW4gKiAxMDAwKS50b0lTT1N0cmluZygpO1xuLy8gICAgIH0gZWxzZSB7XG4vLyAgICAgICB0aGlzLmV4cGlyZXNfaW5fZGF0ZSA9IGRhdGEuZXhwaXJlc19pbl9kYXRlIHx8ICcnO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIGdldCBleHBpcmVzX2luX21pbGlzZWNvdW5kKCk6IG51bWJlciB7XG4vLyAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbi8vICAgICBjb25zdCBleHBpcmUgPSBuZXcgRGF0ZSh0aGlzLmV4cGlyZXNfaW5fZGF0ZSEpO1xuLy8gICAgIHJldHVybiBleHBpcmUuZ2V0VGltZSgpIC0gbm93LmdldFRpbWUoKTtcbi8vICAgfVxuXG4vLyAgIHB1YmxpYyBzZXRUb2tlblJlZnJlc2hNb2RlbChkYXRhOiBBdXRoZW50aWNhdGlvbkRhdGFNb2RlbCk6IHZvaWQge1xuLy8gICAgIHRoaXMuYWNjZXNzX3Rva2VuID0gZGF0YS5hY2Nlc3NfdG9rZW47XG4vLyAgICAgdGhpcy5pZF90b2tlbiA9IGRhdGEuaWRfdG9rZW47XG4vLyAgICAgdGhpcy50b2tlbl90eXBlID0gZGF0YS50b2tlbl90eXBlO1xuLy8gICAgIHRoaXMuc2NvcGUgPSBkYXRhLnNjb3BlO1xuLy8gICAgIHRoaXMucmVmcmVzaF90b2tlbiA9IGRhdGEucmVmcmVzaF90b2tlbjtcbi8vICAgICB0aGlzLmV4cGlyZXNfaW5fZGF0ZSA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBkYXRhLmV4cGlyZXNfaW4hICogMTAwMCkudG9JU09TdHJpbmcoKTtcbi8vICAgfVxuLy8gfVxuXG5leHBvcnQgaW50ZXJmYWNlIElBdXRoZW50aWNhdGlvbkRhdGFNb2RlbCB7XG4gIGFjY2Vzc190b2tlbjogc3RyaW5nO1xuICBhcHBsaWNhdGlvbmlkOiBzdHJpbmc7XG4gIGFwcGxpY2F0aW9ubmFtZTogc3RyaW5nO1xuICBhcHBsaWNhdGlvbnRpdGxlOiBzdHJpbmc7XG4gIGVkaXRpb25pZDogc3RyaW5nO1xuICBlZGl0aW9ubmFtZTogc3RyaW5nO1xuICBlZGl0aW9udGl0bGU6IHN0cmluZztcbiAgaWRfdG9rZW46IHN0cmluZztcbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nO1xuICBzY29wZTogc3RyaW5nO1xuICB0ZW5hbnRpZDogc3RyaW5nO1xuICB0ZW5hbnRuYW1lOiBzdHJpbmc7XG4gIHRlbmFudHRpdGxlOiBzdHJpbmc7XG4gIHRva2VuX3R5cGU6IHN0cmluZztcbiAgZXhwaXJlc19pbj86IG51bWJlcjtcbiAgc3ViPzogc3RyaW5nO1xuICBmdWxsbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbn1cbiJdfQ==","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { map } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXMOidcPermissionLoader {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.apiGetConfig = `${this.configs.baseUrl}/abp/application-configuration`;\n }\n getList(context) {\n return this.http.get(this.apiGetConfig).pipe(map((response) => this.mapTo(response)));\n // if (context.user == null)\n // return of([]);\n // else if (context.user.name.toLowerCase() == 'admin')\n // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);\n // else\n // return of(['asc.user.gliding']);\n // return of(['axp.admin.console', 'asc.admin.message', 'asc.admin.settings', 'asc.admin.gliding', 'asc.user.gliding']);\n }\n mapTo(jsonObj) {\n const policies = jsonObj.auth.grantedPolicies;\n const truePolicies = Object.keys(policies).filter((key) => policies[key] === true);\n return truePolicies;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcPermissionLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcPermissionLoader }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcPermissionLoader, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9hcGkvc3JjL2xpYi9hdXRoL29pZGMvcGVybWlzc2lvbi5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUd2QyxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFINUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sZ0NBQWdDLENBQUM7SUFFeEMsQ0FBQztJQUV4QyxPQUFPLENBQUMsT0FBMEI7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLDRCQUE0QjtRQUM1QixtQkFBbUI7UUFDbkIsdURBQXVEO1FBQ3ZELDBIQUEwSDtRQUMxSCxPQUFPO1FBQ1AscUNBQXFDO1FBQ3JDLHdIQUF3SDtJQUMxSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVk7UUFDaEIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNuRixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzhHQXJCVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFBlcm1pc3Npb24sIEFYUFBlcm1pc3Npb25Mb2FkZXIsIEFYUFNlc3Npb25Db250ZXh0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUF9ST09UX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT2lkY1Blcm1pc3Npb25Mb2FkZXIgaW1wbGVtZW50cyBBWFBQZXJtaXNzaW9uTG9hZGVyIHtcbiAgcHJpdmF0ZSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgYXBpR2V0Q29uZmlnID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L2FicC9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uYDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgZ2V0TGlzdChjb250ZXh0OiBBWFBTZXNzaW9uQ29udGV4dCk6IE9ic2VydmFibGU8QVhQUGVybWlzc2lvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBpdGVtczogYW55IH0+KHRoaXMuYXBpR2V0Q29uZmlnKS5waXBlKG1hcCgocmVzcG9uc2UpID0+IHRoaXMubWFwVG8ocmVzcG9uc2UpKSk7XG4gICAgLy8gaWYgKGNvbnRleHQudXNlciA9PSBudWxsKVxuICAgIC8vICAgcmV0dXJuIG9mKFtdKTtcbiAgICAvLyBlbHNlIGlmIChjb250ZXh0LnVzZXIubmFtZS50b0xvd2VyQ2FzZSgpID09ICdhZG1pbicpXG4gICAgLy8gICByZXR1cm4gb2YoWydheHAuYWRtaW4uY29uc29sZScsICdhc2MuYWRtaW4ubWVzc2FnZScsICdhc2MuYWRtaW4uc2V0dGluZ3MnLCAnYXNjLmFkbWluLmdsaWRpbmcnLCAnYXNjLnVzZXIuZ2xpZGluZyddKTtcbiAgICAvLyBlbHNlXG4gICAgLy8gICByZXR1cm4gb2YoWydhc2MudXNlci5nbGlkaW5nJ10pO1xuICAgIC8vIHJldHVybiBvZihbJ2F4cC5hZG1pbi5jb25zb2xlJywgJ2FzYy5hZG1pbi5tZXNzYWdlJywgJ2FzYy5hZG1pbi5zZXR0aW5ncycsICdhc2MuYWRtaW4uZ2xpZGluZycsICdhc2MudXNlci5nbGlkaW5nJ10pO1xuICB9XG5cbiAgbWFwVG8oanNvbk9iajogYW55KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHBvbGljaWVzID0ganNvbk9iai5hdXRoLmdyYW50ZWRQb2xpY2llcztcbiAgICBjb25zdCB0cnVlUG9saWNpZXMgPSBPYmplY3Qua2V5cyhwb2xpY2llcykuZmlsdGVyKChrZXkpID0+IHBvbGljaWVzW2tleV0gPT09IHRydWUpO1xuICAgIHJldHVybiB0cnVlUG9saWNpZXM7XG4gIH1cbn1cbiJdfQ==","import { AXP_ROOT_CONFIG_TOKEN } from '@acorex/platform/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { map } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nexport class AXMOidcTenantLoader {\n constructor(http) {\n this.http = http;\n this.configs = inject(AXP_ROOT_CONFIG_TOKEN);\n this.apiGetTenants = `${this.configs.baseUrl}/user-tenants/Tenants`;\n this.apiSetTenant = `${this.configs.baseUrl}/SetTenant`;\n }\n getList() {\n return this.http.get(this.apiGetTenants).pipe(map((response) => response.items.map((item) => this.mapToAXPTenant(item))));\n }\n async set(tenant) {\n return Promise.resolve();\n }\n mapToAXPTenant(item) {\n return {\n id: item.id,\n name: item.name || 'defaultName',\n title: item.title || 'defaultTitle',\n // Add other fields and defaults as needed, and handle the logo if applicable\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcTenantLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcTenantLoader }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMOidcTenantLoader, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i1.HttpClient }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LmxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L2FwaS9zcmMvbGliL2F1dGgvb2lkYy90ZW5hbnQubG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdkMsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDVCLFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLHVCQUF1QixDQUFDO1FBQy9ELGlCQUFZLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sWUFBWSxDQUFDO0lBQ25CLENBQUM7SUFFekMsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5SSxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFpQjtRQUN6QixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVM7UUFDOUIsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLGFBQWE7WUFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksY0FBYztZQUNuQyw2RUFBNkU7U0FDOUUsQ0FBQztJQUNKLENBQUM7OEdBckJVLG1CQUFtQjtrSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQVGVuYW50LCBBWFBUZW5hbnRMb2FkZXIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX1JPT1RfQ09ORklHX1RPS0VOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1PaWRjVGVuYW50TG9hZGVyIGltcGxlbWVudHMgQVhQVGVuYW50TG9hZGVyIHtcbiAgcHJpdmF0ZSBjb25maWdzID0gaW5qZWN0KEFYUF9ST09UX0NPTkZJR19UT0tFTik7XG4gIHByaXZhdGUgYXBpR2V0VGVuYW50cyA9IGAke3RoaXMuY29uZmlncy5iYXNlVXJsfS91c2VyLXRlbmFudHMvVGVuYW50c2A7XG4gIHByaXZhdGUgYXBpU2V0VGVuYW50ID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L1NldFRlbmFudGA7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkgeyB9XG5cbiAgZ2V0TGlzdCgpOiBPYnNlcnZhYmxlPEFYUFRlbmFudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBpdGVtczogYW55W10gfT4odGhpcy5hcGlHZXRUZW5hbnRzKS5waXBlKG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlLml0ZW1zLm1hcCgoaXRlbSkgPT4gdGhpcy5tYXBUb0FYUFRlbmFudChpdGVtKSkpKTtcbiAgfVxuXG4gIGFzeW5jIHNldCh0ZW5hbnQ6IEFYUFRlbmFudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwVG9BWFBUZW5hbnQoaXRlbTogYW55KTogQVhQVGVuYW50IHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICBuYW1lOiBpdGVtLm5hbWUgfHwgJ2RlZmF1bHROYW1lJyxcbiAgICAgIHRpdGxlOiBpdGVtLnRpdGxlIHx8ICdkZWZhdWx0VGl0bGUnLFxuICAgICAgLy8gQWRkIG90aGVyIGZpZWxkcyBhbmQgZGVmYXVsdHMgYXMgbmVlZGVkLCBhbmQgaGFuZGxlIHRoZSBsb2dvIGlmIGFwcGxpY2FibGVcbiAgICB9O1xuICB9XG59XG4iXX0=","import { AXP_APPLICATION_LOADER, AXP_FEATURE_LOADER, AXP_PERMISSION_LOADER, AXP_TENANT_LOADER, AXPAuthModule, } from '@acorex/platform/auth';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { STRATEGY_CONFIG_TOKEN } from '@acorex/platform/widgets';\nimport { NgModule } from '@angular/core';\nimport { OAuthModule } from 'angular-oauth2-oidc';\nimport { AXCApiEntityStorageService } from './api-storage.service';\nimport { AXMOidcApplicationLoader, AXMOidcFeatureLoader, AXMOidcPermissionLoader, AXMOidcStrategy, AXMOidcTenantLoader, } from './auth/oidc';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"angular-oauth2-oidc\";\nimport * as i2 from \"@acorex/platform/auth\";\nexport class AXCApiModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXCApiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.6\", ngImport: i0, type: AXCApiModule, imports: [i1.OAuthModule, i2.AXPAuthModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXCApiModule, providers: [\n {\n provide: AXPEntityStorageService,\n useClass: AXCApiEntityStorageService,\n },\n {\n provide: AXP_TENANT_LOADER,\n useClass: AXMOidcTenantLoader,\n },\n {\n provide: AXP_APPLICATION_LOADER,\n useClass: AXMOidcApplicationLoader,\n },\n {\n provide: AXP_PERMISSION_LOADER,\n useClass: AXMOidcPermissionLoader,\n },\n {\n provide: AXP_FEATURE_LOADER,\n useClass: AXMOidcFeatureLoader,\n },\n {\n provide: STRATEGY_CONFIG_TOKEN,\n useValue: {\n selectValueStrategy: 'valueField',\n lookupValueStrategy: 'valueField',\n },\n },\n ], imports: [OAuthModule.forRoot(),\n AXPAuthModule.forRoot({\n strategies: [AXMOidcStrategy],\n })] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXCApiModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n OAuthModule.forRoot(),\n AXPAuthModule.forRoot({\n strategies: [AXMOidcStrategy],\n }),\n ],\n providers: [\n {\n provide: AXPEntityStorageService,\n useClass: AXCApiEntityStorageService,\n },\n {\n provide: AXP_TENANT_LOADER,\n useClass: AXMOidcTenantLoader,\n },\n {\n provide: AXP_APPLICATION_LOADER,\n useClass: AXMOidcApplicationLoader,\n },\n {\n provide: AXP_PERMISSION_LOADER,\n useClass: AXMOidcPermissionLoader,\n },\n {\n provide: AXP_FEATURE_LOADER,\n useClass: AXMOidcFeatureLoader,\n },\n {\n provide: STRATEGY_CONFIG_TOKEN,\n useValue: {\n selectValueStrategy: 'valueField',\n lookupValueStrategy: 'valueField',\n },\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29ubmVjdGl2aXR5L2FwaS9zcmMvbGliL2FwaS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixhQUFhLEdBQ2QsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLG1CQUFtQixHQUNwQixNQUFNLGFBQWEsQ0FBQzs7OztBQXVDckIsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZOytHQUFaLFlBQVksYUE5Qlo7WUFDVDtnQkFDRSxPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxRQUFRLEVBQUUsMEJBQTBCO2FBQ3JDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsUUFBUSxFQUFFLG1CQUFtQjthQUM5QjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxzQkFBc0I7Z0JBQy9CLFFBQVEsRUFBRSx3QkFBd0I7YUFDbkM7WUFDRDtnQkFDRSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixRQUFRLEVBQUUsdUJBQXVCO2FBQ2xDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsUUFBUSxFQUFFLG9CQUFvQjthQUMvQjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFFBQVEsRUFBRTtvQkFDUixtQkFBbUIsRUFBRSxZQUFZO29CQUNqQyxtQkFBbUIsRUFBRSxZQUFZO2lCQUNsQzthQUNGO1NBQ0YsWUFqQ0MsV0FBVyxDQUFDLE9BQU8sRUFBRTtZQUNyQixhQUFhLENBQUMsT0FBTyxDQUFDO2dCQUNwQixVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDOUIsQ0FBQzs7MkZBZ0NPLFlBQVk7a0JBckN4QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxXQUFXLENBQUMsT0FBTyxFQUFFO3dCQUNyQixhQUFhLENBQUMsT0FBTyxDQUFDOzRCQUNwQixVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7eUJBQzlCLENBQUM7cUJBQ0g7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSx1QkFBdUI7NEJBQ2hDLFFBQVEsRUFBRSwwQkFBMEI7eUJBQ3JDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxtQkFBbUI7eUJBQzlCO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxzQkFBc0I7NEJBQy9CLFFBQVEsRUFBRSx3QkFBd0I7eUJBQ25DO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsRUFBRSx1QkFBdUI7eUJBQ2xDO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFFBQVEsRUFBRSxvQkFBb0I7eUJBQy9CO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsRUFBRTtnQ0FDUixtQkFBbUIsRUFBRSxZQUFZO2dDQUNqQyxtQkFBbUIsRUFBRSxZQUFZOzZCQUNsQzt5QkFDRjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYUF9BUFBMSUNBVElPTl9MT0FERVIsXG4gIEFYUF9GRUFUVVJFX0xPQURFUixcbiAgQVhQX1BFUk1JU1NJT05fTE9BREVSLFxuICBBWFBfVEVOQU5UX0xPQURFUixcbiAgQVhQQXV0aE1vZHVsZSxcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUEVudGl0eVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IFNUUkFURUdZX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd2lkZ2V0cyc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT0F1dGhNb2R1bGUgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IEFYQ0FwaUVudGl0eVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9hcGktc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFYTU9pZGNBcHBsaWNhdGlvbkxvYWRlcixcbiAgQVhNT2lkY0ZlYXR1cmVMb2FkZXIsXG4gIEFYTU9pZGNQZXJtaXNzaW9uTG9hZGVyLFxuICBBWE1PaWRjU3RyYXRlZ3ksXG4gIEFYTU9pZGNUZW5hbnRMb2FkZXIsXG59IGZyb20gJy4vYXV0aC9vaWRjJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIE9BdXRoTW9kdWxlLmZvclJvb3QoKSxcbiAgICBBWFBBdXRoTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgc3RyYXRlZ2llczogW0FYTU9pZGNTdHJhdGVneV0sXG4gICAgfSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUEVudGl0eVN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IEFYQ0FwaUVudGl0eVN0b3JhZ2VTZXJ2aWNlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1RFTkFOVF9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNT2lkY1RlbmFudExvYWRlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9BUFBMSUNBVElPTl9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNT2lkY0FwcGxpY2F0aW9uTG9hZGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX1BFUk1JU1NJT05fTE9BREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTU9pZGNQZXJtaXNzaW9uTG9hZGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX0ZFQVRVUkVfTE9BREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTU9pZGNGZWF0dXJlTG9hZGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU1RSQVRFR1lfQ09ORklHX1RPS0VOLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgc2VsZWN0VmFsdWVTdHJhdGVneTogJ3ZhbHVlRmllbGQnLFxuICAgICAgICBsb29rdXBWYWx1ZVN0cmF0ZWd5OiAndmFsdWVGaWVsZCcsXG4gICAgICB9LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQ0FwaU1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvbm5lY3Rpdml0eS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nvbm5lY3Rpdml0eS9hcGkvc3JjL2Fjb3JleC1jb25uZWN0aXZpdHktYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1"],"mappings":"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"}