@techextensor/tab-core-utility 2.2.184 → 2.2.187

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.
Files changed (73) hide show
  1. package/esm2022/index.mjs +1 -5
  2. package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +13 -24
  3. package/esm2022/lib/tab-core-utility/app/constants/common.mjs +50 -14
  4. package/esm2022/lib/tab-core-utility/app/constants/storage-constants.mjs +2 -2
  5. package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +49 -38
  6. package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +30 -81
  7. package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +12 -141
  8. package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +35 -136
  9. package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +38 -89
  10. package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +131 -152
  11. package/esm2022/lib/tab-core-utility/app/enums/query.enum.mjs +7 -7
  12. package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +17 -6
  13. package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +11 -9
  14. package/esm2022/lib/tab-core-utility/app/helpers/common/meta-data.helpers.mjs +13 -13
  15. package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +45 -7
  16. package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +76 -79
  17. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +4 -8
  18. package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +33 -8
  19. package/esm2022/lib/tab-core-utility/app/interfaces/common.interface.mjs +1 -1
  20. package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +1 -39
  21. package/esm2022/lib/tab-core-utility/app/models/app-field.model.mjs +7 -36
  22. package/esm2022/lib/tab-core-utility/app/models/app-object.model.mjs +47 -84
  23. package/esm2022/lib/tab-core-utility/app/models/app-screen.model.mjs +13 -24
  24. package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +23 -57
  25. package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +10 -21
  26. package/esm2022/lib/tab-core-utility/app/models/parameter.model.mjs +6 -12
  27. package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +4 -11
  28. package/esm2022/lib/tab-core-utility/app/utils/json.util.mjs +16 -17
  29. package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +55 -1
  30. package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +164 -1
  31. package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +1 -63
  32. package/index.d.ts +0 -4
  33. package/lib/tab-core-utility/app/constants/api-constants.d.ts +10 -13
  34. package/lib/tab-core-utility/app/constants/common.d.ts +0 -9
  35. package/lib/tab-core-utility/app/constants/storage-constants.d.ts +1 -1
  36. package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +1 -8
  37. package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +10 -20
  38. package/lib/tab-core-utility/app/crud/tab-formio.service.d.ts +6 -33
  39. package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +3 -45
  40. package/lib/tab-core-utility/app/crud/tab-insert.service.d.ts +21 -16
  41. package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +19 -34
  42. package/lib/tab-core-utility/app/enums/query.enum.d.ts +6 -3
  43. package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +8 -3
  44. package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +0 -3
  45. package/lib/tab-core-utility/app/helpers/common/meta-data.helpers.d.ts +3 -3
  46. package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +51 -7
  47. package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -1
  48. package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +1 -2
  49. package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -1
  50. package/lib/tab-core-utility/app/interfaces/common.interface.d.ts +2 -50
  51. package/lib/tab-core-utility/app/models/api-query.class.d.ts +9 -54
  52. package/lib/tab-core-utility/app/models/app-field.model.d.ts +2 -4
  53. package/lib/tab-core-utility/app/models/app-object.model.d.ts +3 -5
  54. package/lib/tab-core-utility/app/models/app-screen.model.d.ts +2 -2
  55. package/lib/tab-core-utility/app/models/data-source-query.model.d.ts +2 -7
  56. package/lib/tab-core-utility/app/models/filter.model.d.ts +2 -2
  57. package/lib/tab-core-utility/app/models/parameter.model.d.ts +2 -2
  58. package/lib/tab-core-utility/app/models/sort.model.d.ts +1 -1
  59. package/lib/tab-core-utility/app/utils/json.util.d.ts +2 -3
  60. package/lib/tab-core-utility/app/utils/req-res.util.d.ts +9 -1
  61. package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +61 -0
  62. package/lib/tab-core-utility/core/http-client/api.service.d.ts +0 -37
  63. package/package.json +2 -3
  64. package/esm2022/lib/tab-core-utility/app/helpers/response.adapter.mjs +0 -38
  65. package/esm2022/lib/tab-core-utility/app/interfaces/signalr.interface.mjs +0 -42
  66. package/esm2022/lib/tab-core-utility/core/service/signalr/operation-tracker.service.mjs +0 -82
  67. package/esm2022/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.mjs +0 -252
  68. package/esm2022/lib/tab-core-utility/core/service/signalr/signalr.service.mjs +0 -207
  69. package/lib/tab-core-utility/app/helpers/response.adapter.d.ts +0 -22
  70. package/lib/tab-core-utility/app/interfaces/signalr.interface.d.ts +0 -80
  71. package/lib/tab-core-utility/core/service/signalr/operation-tracker.service.d.ts +0 -40
  72. package/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.d.ts +0 -68
  73. package/lib/tab-core-utility/core/service/signalr/signalr.service.d.ts +0 -122
@@ -46,42 +46,4 @@ export class APISort {
46
46
  }
47
47
  export class APIParameters {
48
48
  }
49
- // ==================== NEW CRUD API PAYLOAD CLASSES ====================
50
- /**
51
- * New CRUD API Select Query Payload
52
- * Used for the new microservice-based select query endpoint
53
- */
54
- export class CRUDSelectPayload {
55
- constructor() {
56
- this.SelectedFields = [];
57
- }
58
- }
59
- /**
60
- * Pager configuration for CRUD API
61
- */
62
- export class CRUDPager {
63
- constructor() {
64
- this.pageNumber = 1;
65
- this.pageSize = 20;
66
- this.returnTotalCount = true;
67
- }
68
- }
69
- /**
70
- * Where clause structure for CRUD API
71
- */
72
- export class CRUDWhereClause {
73
- constructor() {
74
- this.filters = [];
75
- }
76
- }
77
- /**
78
- * Filter structure for CRUD API
79
- */
80
- export class CRUDFilter {
81
- }
82
- /**
83
- * Sort structure for CRUD API
84
- */
85
- export class CRUDSort {
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXJ5LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcGktcXVlcnkuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkRBQTJEO0FBQzNELHVEQUF1RDtBQVd2RCxNQUFNLE9BQU8sUUFBUTtJQU1uQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFBNUM7O1FBQ0UsV0FBTSxHQUFtQixFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxRQUFRO0lBQTVDOztRQUNFLFdBQU0sR0FBbUIsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtDQUFHO0FBRS9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUE1Qzs7UUFDRSw0QkFBdUIsR0FBYSxFQUFFLENBQUM7UUFDdkMsU0FBSSxHQUFjLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIscUJBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxXQUFXO0NBR3ZCO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtDQU83QjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7Q0FJN0I7QUFFRCxNQUFNLE9BQU8sU0FBUztDQVNyQjtBQUVELE1BQU0sT0FBTyxZQUFZO0NBR3hCO0FBQ0QsTUFBTSxPQUFPLDRCQUE0QjtDQUd4QztBQUNELE1BQU0sT0FBTyxPQUFPO0NBS25CO0FBRUQsTUFBTSxPQUFPLGFBQWE7Q0FLekI7QUFFRCx5RUFBeUU7QUFFekU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUVFLG1CQUFjLEdBQWEsRUFBRSxDQUFDO0lBTWhDLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFBdEI7UUFDRSxlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIscUJBQWdCLEdBQVksSUFBSSxDQUFDO0lBQ25DLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFDRSxZQUFPLEdBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0NBUXRCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUTtDQUdwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7XHJcbiAgQ29uanVjdGlvbkNsYXVzZSxcclxuICBSZWxhdGlvbmFsT3BlcmF0b3IsXHJcbiAgRmlsdGVyVmFsdWVUeXBlLFxyXG4gIFNvcnRTZXF1ZW5jZSxcclxufSBmcm9tICcuLi9lbnVtcy9kc3EuZW51bSc7XHJcbmltcG9ydCB7IEpvaW5UeXBlLCBRdWVyeVR5cGUgfSBmcm9tICcuLi9lbnVtcy9xdWVyeS5lbnVtJztcclxuaW1wb3J0IHsgTG9va1VwRGV0YWlscyB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJUXVlcnkge1xyXG4gIFF1ZXJ5T2JqZWN0SUQ6IHN0cmluZyB8IGFueTtcclxuICBRdWVyeVR5cGU6IFF1ZXJ5VHlwZSB8IGFueTtcclxuICBKb2luczogSm9pbkRldGFpbHNbXTtcclxuICBXaGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWE7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5Kb2lucyA9IG5ldyBBcnJheTxKb2luRGV0YWlscz4oKTtcclxuICAgIHRoaXMuV2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElJbnNlcnRRdWVyeSBleHRlbmRzIEFQSVF1ZXJ5IHtcclxuICBWYWx1ZXM6IEFQSVZhbHVlU2V0c1tdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElVcGRhdGVRdWVyeSBleHRlbmRzIEFQSVF1ZXJ5IHtcclxuICBWYWx1ZXM6IEFQSVZhbHVlU2V0c1tdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElEZWxldGVRdWVyeSBleHRlbmRzIEFQSVF1ZXJ5IHt9XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJU2VsZWN0UXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7XHJcbiAgUmVzdWx0RmllbGRfQXBwZmllbGRJZHM6IHN0cmluZ1tdID0gW107XHJcbiAgU29ydDogQVBJU29ydFtdID0gW107XHJcbiAgRGlzdGluY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBOb0xvY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBUb3BDb3VudD86IG51bWJlcjtcclxuICBMb2FkTG9va1VwVmFsdWVzOiBib29sZWFuID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBKb2luRGV0YWlscyB7XHJcbiAgSm9pblR5cGU6IEpvaW5UeXBlIHwgYW55O1xyXG4gIFJlbGF0aW9uc2hpcDogQ2hpbGRSZWxhdGlvblNoaXAgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDaGlsZFJlbGF0aW9uU2hpcCB7XHJcbiAgUmVsU291cmNlT2JqZWN0SUQhOiBzdHJpbmcgfCBhbnk7XHJcbiAgUmVsU291cmNlRmllbGRJRCE6IHN0cmluZyB8IGFueTtcclxuICBSZWxUYXJnZXRPYmplY3RJRCE6IHN0cmluZyB8IGFueTtcclxuICBSZWxUYXJnZXRGaWVsZElEITogc3RyaW5nIHwgYW55O1xyXG4gIExvY2FsSWQhOiBzdHJpbmc7XHJcbiAgY2hpbGREZXRhaWxzITogTG9va1VwRGV0YWlscztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFQSUZpbHRlckNyaXRlcmlhIHtcclxuICBmaWx0ZXJzOiBBUElGaWx0ZXJbXSB8IGFueTtcclxuICBmaWx0ZXJMb2dpYzogc3RyaW5nIHwgYW55O1xyXG4gIFNRTFF1ZXJ5OiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElGaWx0ZXIge1xyXG4gIGNvbmp1bmN0aW9uOiBDb25qdWN0aW9uQ2xhdXNlIHwgYW55O1xyXG4gIGZpZWxkTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIG9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IgfCBhbnk7XHJcbiAgdmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGUgfCBhbnk7XHJcbiAgdmFsdWU6IHN0cmluZyB8IGFueTtcclxuICBzZXF1ZW5jZTogbnVtYmVyIHwgYW55O1xyXG4gIGdyb3VwSWQ6IG51bWJlciB8IGFueTtcclxuICBwYXJhbWV0ZXJOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElWYWx1ZVNldHMge1xyXG4gIEFwcEZpZWxkSUQ6IHN0cmluZyB8IGFueTtcclxuICBWYWx1ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBUElCdWxrSW5zZXJ0RmllbGRzVmFsdWVTZXRzIHtcclxuICBGaWVsZHM6IHN0cmluZyB8IGFueTtcclxuICBWYWx1ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBUElTb3J0IHtcclxuICBJRDogc3RyaW5nIHwgYW55O1xyXG4gIEZpZWxkSUQ6IHN0cmluZyB8IGFueTtcclxuICBTb3J0U2VxdWVuY2U6IFNvcnRTZXF1ZW5jZSB8IGFueTtcclxuICBTZXF1ZW5jZTogbnVtYmVyIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJUGFyYW1ldGVycyB7XHJcbiAgSUQ6IHN0cmluZyB8IGFueTtcclxuICBQYXJhbWV0ZXJOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGF0YVNvdXJjZVF1ZXJ5SUQ6IHN0cmluZyB8IGFueTtcclxuICBNYXBwaW5nRmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09IE5FVyBDUlVEIEFQSSBQQVlMT0FEIENMQVNTRVMgPT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBOZXcgQ1JVRCBBUEkgU2VsZWN0IFF1ZXJ5IFBheWxvYWRcclxuICogVXNlZCBmb3IgdGhlIG5ldyBtaWNyb3NlcnZpY2UtYmFzZWQgc2VsZWN0IHF1ZXJ5IGVuZHBvaW50XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVRFNlbGVjdFBheWxvYWQge1xyXG4gIEVudGl0eU5hbWU6IHN0cmluZyB8IGFueTtcclxuICBTZWxlY3RlZEZpZWxkczogc3RyaW5nW10gPSBbXTtcclxuICBpbmNsdWRlcz86IGFueVtdO1xyXG4gIFBhZ2VyPzogQ1JVRFBhZ2VyO1xyXG4gIHdoZXJlQ2xhdXNlPzogQ1JVRFdoZXJlQ2xhdXNlO1xyXG4gIERpc3RpbmN0PzogYm9vbGVhbjtcclxuICBTb3J0PzogQ1JVRFNvcnRbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFBhZ2VyIGNvbmZpZ3VyYXRpb24gZm9yIENSVUQgQVBJXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVRFBhZ2VyIHtcclxuICBwYWdlTnVtYmVyOiBudW1iZXIgPSAxO1xyXG4gIHBhZ2VTaXplOiBudW1iZXIgPSAyMDtcclxuICByZXR1cm5Ub3RhbENvdW50OiBib29sZWFuID0gdHJ1ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFdoZXJlIGNsYXVzZSBzdHJ1Y3R1cmUgZm9yIENSVUQgQVBJXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVRFdoZXJlQ2xhdXNlIHtcclxuICBmaWx0ZXJzOiBDUlVERmlsdGVyW10gPSBbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbHRlciBzdHJ1Y3R1cmUgZm9yIENSVUQgQVBJXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVREZpbHRlciB7XHJcbiAgZmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgb3BlcmF0b3I6IG51bWJlciB8IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG4gIHZhbHVlVHlwZTogbnVtYmVyIHwgYW55O1xyXG4gIGNvbmp1bmN0aW9uOiBudW1iZXIgfCBhbnk7XHJcbiAgZ3JvdXBJZDogbnVtYmVyIHwgYW55O1xyXG4gIHNlcXVlbmNlOiBudW1iZXIgfCBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTb3J0IHN0cnVjdHVyZSBmb3IgQ1JVRCBBUElcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDUlVEU29ydCB7XHJcbiAgRmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGlyZWN0aW9uOiBudW1iZXIgfCBhbnk7XHJcbn1cclxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXJ5LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcGktcXVlcnkuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkRBQTJEO0FBQzNELHVEQUF1RDtBQVd2RCxNQUFNLE9BQU8sUUFBUTtJQU1uQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFBNUM7O1FBQ0UsV0FBTSxHQUFtQixFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxRQUFRO0lBQTVDOztRQUNFLFdBQU0sR0FBbUIsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtDQUFHO0FBRS9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUE1Qzs7UUFDRSw0QkFBdUIsR0FBYSxFQUFFLENBQUM7UUFDdkMsU0FBSSxHQUFjLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIscUJBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxXQUFXO0NBR3ZCO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtDQU83QjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7Q0FJN0I7QUFFRCxNQUFNLE9BQU8sU0FBUztDQVVyQjtBQUVELE1BQU0sT0FBTyxZQUFZO0NBR3hCO0FBQ0QsTUFBTSxPQUFPLDRCQUE0QjtDQUd4QztBQUNELE1BQU0sT0FBTyxPQUFPO0NBS25CO0FBRUQsTUFBTSxPQUFPLGFBQWE7Q0FLekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW5mZXJyYWJsZS10eXBlcyAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQge1xyXG4gIENvbmp1Y3Rpb25DbGF1c2UsXHJcbiAgUmVsYXRpb25hbE9wZXJhdG9yLFxyXG4gIEZpbHRlclZhbHVlVHlwZSxcclxuICBTb3J0U2VxdWVuY2UsXHJcbn0gZnJvbSAnLi4vZW51bXMvZHNxLmVudW0nO1xyXG5pbXBvcnQgeyBKb2luVHlwZSwgUXVlcnlUeXBlIH0gZnJvbSAnLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7IExvb2tVcERldGFpbHMgfSBmcm9tICcuL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFQSVF1ZXJ5IHtcclxuICBRdWVyeU9iamVjdElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgUXVlcnlUeXBlOiBRdWVyeVR5cGUgfCBhbnk7XHJcbiAgSm9pbnM6IEpvaW5EZXRhaWxzW107XHJcbiAgV2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuSm9pbnMgPSBuZXcgQXJyYXk8Sm9pbkRldGFpbHM+KCk7XHJcbiAgICB0aGlzLldoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJSW5zZXJ0UXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7XHJcbiAgVmFsdWVzOiBBUElWYWx1ZVNldHNbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJVXBkYXRlUXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7XHJcbiAgVmFsdWVzOiBBUElWYWx1ZVNldHNbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJRGVsZXRlUXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7fVxyXG5cclxuZXhwb3J0IGNsYXNzIEFQSVNlbGVjdFF1ZXJ5IGV4dGVuZHMgQVBJUXVlcnkge1xyXG4gIFJlc3VsdEZpZWxkX0FwcGZpZWxkSWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIFNvcnQ6IEFQSVNvcnRbXSA9IFtdO1xyXG4gIERpc3RpbmN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgTm9Mb2NrOiBib29sZWFuID0gZmFsc2U7XHJcbiAgVG9wQ291bnQ/OiBudW1iZXI7XHJcbiAgTG9hZExvb2tVcFZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSm9pbkRldGFpbHMge1xyXG4gIEpvaW5UeXBlOiBKb2luVHlwZSB8IGFueTtcclxuICBSZWxhdGlvbnNoaXA6IENoaWxkUmVsYXRpb25TaGlwIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2hpbGRSZWxhdGlvblNoaXAge1xyXG4gIFJlbFNvdXJjZU9iamVjdElEITogc3RyaW5nIHwgYW55O1xyXG4gIFJlbFNvdXJjZUZpZWxkSUQhOiBzdHJpbmcgfCBhbnk7XHJcbiAgUmVsVGFyZ2V0T2JqZWN0SUQhOiBzdHJpbmcgfCBhbnk7XHJcbiAgUmVsVGFyZ2V0RmllbGRJRCE6IHN0cmluZyB8IGFueTtcclxuICBMb2NhbElkITogc3RyaW5nO1xyXG4gIGNoaWxkRGV0YWlscyE6IExvb2tVcERldGFpbHM7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElGaWx0ZXJDcml0ZXJpYSB7XHJcbiAgRmlsdGVyczogQVBJRmlsdGVyW10gfCBhbnk7XHJcbiAgRmlsdGVyTG9naWM6IHN0cmluZyB8IGFueTtcclxuICBTUUxRdWVyeTogc3RyaW5nIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJRmlsdGVyIHtcclxuICBDb25qdWN0aW9uQ2xhdXNlOiBDb25qdWN0aW9uQ2xhdXNlIHwgYW55O1xyXG4gIEZpZWxkSUQ6IHN0cmluZyB8IGFueTtcclxuICBSZWxhdGlvbmFsT3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvciB8IGFueTtcclxuICBWYWx1ZVR5cGU6IEZpbHRlclZhbHVlVHlwZSB8IGFueTtcclxuICB2YWx1ZTogc3RyaW5nIHwgYW55O1xyXG4gIFNlcXVlbmNlOiBudW1iZXIgfCBhbnk7XHJcbiAgR3JvdXBJRDogbnVtYmVyIHwgYW55O1xyXG4gIHBhcmFtZXRlck5hbWU6IHN0cmluZyB8IGFueTtcclxuICBWYWx1ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJVmFsdWVTZXRzIHtcclxuICBBcHBGaWVsZElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgVmFsdWU6IHN0cmluZyB8IGFueTtcclxufVxyXG5leHBvcnQgY2xhc3MgQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0cyB7XHJcbiAgRmllbGRzOiBzdHJpbmcgfCBhbnk7XHJcbiAgVmFsdWU6IHN0cmluZyB8IGFueTtcclxufVxyXG5leHBvcnQgY2xhc3MgQVBJU29ydCB7XHJcbiAgSUQ6IHN0cmluZyB8IGFueTtcclxuICBGaWVsZElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgU29ydFNlcXVlbmNlOiBTb3J0U2VxdWVuY2UgfCBhbnk7XHJcbiAgU2VxdWVuY2U6IG51bWJlciB8IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFQSVBhcmFtZXRlcnMge1xyXG4gIElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgUGFyYW1ldGVyTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIERhdGFTb3VyY2VRdWVyeUlEOiBzdHJpbmcgfCBhbnk7XHJcbiAgTWFwcGluZ0ZpZWxkTmFtZTogc3RyaW5nIHwgYW55O1xyXG59XHJcbiJdfQ==
@@ -2,9 +2,9 @@ import { DataTypes } from "../enums/controllers.enum";
2
2
  export class AppFieldModel {
3
3
  constructor(raw) {
4
4
  this.raw = raw;
5
- this.ID = raw?.Id;
6
- this.ObjectID = raw?.ObjectID ?? null;
7
- this.ObjectID_Tosave = raw?.ObjectID_Tosave;
5
+ this.ID = raw.ID;
6
+ this.ObjectID = raw.ObjectID ?? null;
7
+ this.ObjectID_Tosave = raw.ObjectID_Tosave;
8
8
  this.FieldName = raw.FieldName;
9
9
  this.DisplayName = raw.DisplayName;
10
10
  this.Description = raw.Description ?? '';
@@ -62,40 +62,11 @@ export class AppFieldModel {
62
62
  .some(val => val === searchTerm || val?.toLowerCase().includes(searchTerm));
63
63
  }
64
64
  /**
65
- * Converts the AppFieldModel instance to JSON in the old API format (PascalCase).
66
- * This ensures backward compatibility with code expecting the old format.
67
- *
68
- * @returns {any} The data in old API format.
65
+ * Converts the AppFieldModel instance to a JSON representation.
66
+ * @returns {any} The raw data of the instance.
69
67
  */
70
68
  toJSON() {
71
- return {
72
- ID: this.ID,
73
- ObjectID: this.ObjectID,
74
- ObjectID_Tosave: this.ObjectID_Tosave,
75
- FieldName: this.FieldName,
76
- DisplayName: this.DisplayName,
77
- Description: this.Description,
78
- FieldType: this.FieldType,
79
- CreationType: this.CreationType,
80
- FieldBase: this.FieldBase,
81
- BaseField: this.BaseField,
82
- IsRequired: this.IsRequired,
83
- IsUnique: this.IsUnique,
84
- IsSearchable: this.IsSearchable,
85
- IsUpdatable: this.IsUpdatable,
86
- IsConfidential: this.IsConfidential,
87
- SystemDBFieldName: this.SystemDBFieldName,
88
- IsSystem: this.IsSystem,
89
- IsVisible: this.IsVisible,
90
- IsPrimaryKey: this.IsPrimaryKey,
91
- IsDeprecated: this.IsDeprecated,
92
- IsDisplayField: this.IsDisplayField,
93
- LookUpDetails: this.LookUpDetails,
94
- AccessList: this.AccessList,
95
- Data: this.Data,
96
- FieldConfiguration: this.FieldConfiguration,
97
- FieldValidatorConfiguration: this.FieldValidatorConfiguration
98
- };
69
+ return this.raw;
99
70
  }
100
71
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXRELE1BQU0sT0FBTyxhQUFhO0lBNkJ4QixZQUE2QixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsRUFBRSxlQUFlLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FB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LFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ3pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzNDLDJCQUEyQixFQUFFLElBQUksQ0FBQywyQkFBMkI7U0FDOUQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlcyB9IGZyb20gXCIuLi9lbnVtcy9jb250cm9sbGVycy5lbnVtXCI7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyeUZpZWxkVHlwZSwgT2JqZWN0Q3JlYXRpb25UeXBlIH0gZnJvbSBcIi4uL2VudW1zL2RzcS5lbnVtXCI7XHJcbmltcG9ydCB7IEZpZWxkQWNjZXNzLCBGaWVsZFR5cGUsIExvb2tVcERldGFpbHMgfSBmcm9tIFwiLi9kYXRhLXNvdXJjZS1xdWVyaWVzLmNsYXNzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQXBwRmllbGRNb2RlbCB7XHJcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBPYmplY3RJRF9Ub3NhdmU6IHN0cmluZztcclxuICByZWFkb25seSBGaWVsZE5hbWU6IHN0cmluZztcclxuICByZWFkb25seSBEaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRmllbGRUeXBlOiBGaWVsZFR5cGU7XHJcbiAgcmVhZG9ubHkgQ3JlYXRpb25UeXBlOiBPYmplY3RDcmVhdGlvblR5cGU7XHJcbiAgcmVhZG9ubHkgRmllbGRCYXNlOiBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGU7XHJcbiAgcmVhZG9ubHkgSXNSZXF1aXJlZDogYm9vbGVhbjtcclxuICByZWFkb25seSBJc1VuaXF1ZTogYm9vbGVhbjtcclxuICByZWFkb25seSBCYXNlRmllbGQ6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNTZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzVXBkYXRhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzQ29uZmlkZW50aWFsOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IFN5c3RlbURCRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNWaXNpYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzUHJpbWFyeUtleTogYm9vbGVhbjtcclxuICByZWFkb25seSBJc0RlcHJlY2F0ZWQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNEaXNwbGF5RmllbGQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgTG9va1VwRGV0YWlsczogTG9va1VwRGV0YWlscztcclxuICByZWFkb25seSBJc0xvb2t1cDogYm9vbGVhbjtcclxuICByZWFkb25seSBBY2Nlc3NMaXN0OiBGaWVsZEFjY2Vzc1tdO1xyXG4gIHJlYWRvbmx5IERhdGE6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgRmllbGRDb25maWd1cmF0aW9uOiBhbnk7XHJcbiAgcmVhZG9ubHkgRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcclxuICAgIHRoaXMuSUQgPSByYXc/LklkO1xyXG4gICAgdGhpcy5PYmplY3RJRCA9IHJhdz8uT2JqZWN0SUQgPz8gbnVsbDtcclxuICAgIHRoaXMuT2JqZWN0SURfVG9zYXZlID0gcmF3Py5PYmplY3RJRF9Ub3NhdmU7XHJcbiAgICB0aGlzLkZpZWxkTmFtZSA9IHJhdy5GaWVsZE5hbWU7XHJcbiAgICB0aGlzLkRpc3BsYXlOYW1lID0gcmF3LkRpc3BsYXlOYW1lO1xyXG4gICAgdGhpcy5EZXNjcmlwdGlvbiA9IHJhdy5EZXNjcmlwdGlvbiA/PyAnJztcclxuICAgIHRoaXMuRmllbGRUeXBlID0gcmF3LkZpZWxkVHlwZTtcclxuICAgIHRoaXMuQ3JlYXRpb25UeXBlID0gcmF3LkNyZWF0aW9uVHlwZTtcclxuICAgIHRoaXMuRmllbGRCYXNlID0gcmF3LkZpZWxkQmFzZTtcclxuICAgIHRoaXMuQmFzZUZpZWxkID0gcmF3LkJhc2VGaWVsZCA/PyBudWxsO1xyXG4gICAgdGhpcy5Jc1JlcXVpcmVkID0gISFyYXcuSXNSZXF1aXJlZDtcclxuICAgIHRoaXMuSXNVbmlxdWUgPSAhIXJhdy5Jc1VuaXF1ZTtcclxuICAgIHRoaXMuSXNTZWFyY2hhYmxlID0gISFyYXcuSXNTZWFyY2hhYmxlO1xyXG4gICAgdGhpcy5Jc1VwZGF0YWJsZSA9ICEhcmF3LklzVXBkYXRhYmxlO1xyXG4gICAgdGhpcy5Jc0NvbmZpZGVudGlhbCA9ICEhcmF3LklzQ29uZmlkZW50aWFsO1xyXG4gICAgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZSA9IHJhdy5TeXN0ZW1EQkZpZWxkTmFtZTtcclxuICAgIHRoaXMuSXNTeXN0ZW0gPSAhIXJhdy5Jc1N5c3RlbTtcclxuICAgIHRoaXMuSXNWaXNpYmxlID0gISFyYXcuSXNWaXNpYmxlO1xyXG4gICAgdGhpcy5Jc1ByaW1hcnlLZXkgPSAhIXJhdy5Jc1ByaW1hcnlLZXk7XHJcbiAgICB0aGlzLklzRGVwcmVjYXRlZCA9ICEhcmF3LklzRGVwcmVjYXRlZDtcclxuICAgIHRoaXMuSXNEaXNwbGF5RmllbGQgPSAhIXJhdy5Jc0Rpc3BsYXlGaWVsZDtcclxuICAgIHRoaXMuTG9va1VwRGV0YWlscyA9IHJhdy5Mb29rVXBEZXRhaWxzID8/IG51bGw7XHJcbiAgICB0aGlzLklzTG9va3VwID0gISFyYXcuTG9va1VwRGV0YWlscztcclxuICAgIHRoaXMuQWNjZXNzTGlzdCA9IHJhdy5BY2Nlc3NMaXN0ID8/IFtdO1xyXG4gICAgdGhpcy5EYXRhID0gcmF3LkRhdGEgPz8gbnVsbDtcclxuICAgIHRoaXMuRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uID0gcmF3LkZpZWxkVmFsaWRhdG9yQ29uZmlndXJhdGlvbiA/PyB7fTtcclxuICAgIHRoaXMuRmllbGRDb25maWd1cmF0aW9uID0gdGhpcy5wYXJzZUZpZWxkQ29uZmlndXJhdGlvbihyYXcuRmllbGRDb25maWd1cmF0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VGaWVsZENvbmZpZ3VyYXRpb24oY29uZmlnOiBhbnkpOiBhbnkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShjb25maWcpIDogKGNvbmZpZyA/PyB7fSk7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZGF0YSB0eXBlIG5hbWUgb2YgdGhlIGZpZWxkIGFzIGEgc3RyaW5nLlxyXG4gICAqIFRoZSBkYXRhIHR5cGUgbmFtZSBpcyBvYnRhaW5lZCBmcm9tIHRoZSBEYXRhVHlwZXMgZW51bS5cclxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZGF0YSB0eXBlIG5hbWUuXHJcbiAgICovXHJcbiAgZ2V0IGRhdGFUeXBlTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIERhdGFUeXBlc1t0aGlzLkZpZWxkVHlwZT8uRGF0YVR5cGVdID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiBzZWFyY2ggdGVybSBpbiB0aGUgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBBcHBGaWVsZE1vZGVsIGluc3RhbmNlLlxyXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgaXMgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcclxuICAgKiAtIElEXHJcbiAgICogLSBGaWVsZE5hbWVcclxuICAgKiAtIERpc3BsYXlOYW1lXHJcbiAgICogLSBTeXN0ZW1EQkZpZWxkTmFtZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybS5cclxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciB0aGUgc2VhcmNoIHRlcm0gaXMgcHJlc2VudCBpbiBhbnkgb2YgdGhlIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiBbdGhpcy5JRC50b0xvd2VyQ2FzZSgpLCB0aGlzLkZpZWxkTmFtZSwgdGhpcy5EaXNwbGF5TmFtZSwgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZV1cclxuICAgICAgLnNvbWUodmFsID0+IHZhbCA9PT0gc2VhcmNoVGVybSB8fCB2YWw/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgdGhlIEFwcEZpZWxkTW9kZWwgaW5zdGFuY2UgdG8gSlNPTiBpbiB0aGUgb2xkIEFQSSBmb3JtYXQgKFBhc2NhbENhc2UpLlxyXG4gICAqIFRoaXMgZW5zdXJlcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggY29kZSBleHBlY3RpbmcgdGhlIG9sZCBmb3JtYXQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7YW55fSBUaGUgZGF0YSBpbiBvbGQgQVBJIGZvcm1hdC5cclxuICAgKi9cclxuICB0b0pTT04oKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIElEOiB0aGlzLklELFxyXG4gICAgICBPYmplY3RJRDogdGhpcy5PYmplY3RJRCxcclxuICAgICAgT2JqZWN0SURfVG9zYXZlOiB0aGlzLk9iamVjdElEX1Rvc2F2ZSxcclxuICAgICAgRmllbGROYW1lOiB0aGlzLkZpZWxkTmFtZSxcclxuICAgICAgRGlzcGxheU5hbWU6IHRoaXMuRGlzcGxheU5hbWUsXHJcbiAgICAgIERlc2NyaXB0aW9uOiB0aGlzLkRlc2NyaXB0aW9uLFxyXG4gICAgICBGaWVsZFR5cGU6IHRoaXMuRmllbGRUeXBlLFxyXG4gICAgICBDcmVhdGlvblR5cGU6IHRoaXMuQ3JlYXRpb25UeXBlLFxyXG4gICAgICBGaWVsZEJhc2U6IHRoaXMuRmllbGRCYXNlLFxyXG4gICAgICBCYXNlRmllbGQ6IHRoaXMuQmFzZUZpZWxkLFxyXG4gICAgICBJc1JlcXVpcmVkOiB0aGlzLklzUmVxdWlyZWQsXHJcbiAgICAgIElzVW5pcXVlOiB0aGlzLklzVW5pcXVlLFxyXG4gICAgICBJc1NlYXJjaGFibGU6IHRoaXMuSXNTZWFyY2hhYmxlLFxyXG4gICAgICBJc1VwZGF0YWJsZTogdGhpcy5Jc1VwZGF0YWJsZSxcclxuICAgICAgSXNDb25maWRlbnRpYWw6IHRoaXMuSXNDb25maWRlbnRpYWwsXHJcbiAgICAgIFN5c3RlbURCRmllbGROYW1lOiB0aGlzLlN5c3RlbURCRmllbGROYW1lLFxyXG4gICAgICBJc1N5c3RlbTogdGhpcy5Jc1N5c3RlbSxcclxuICAgICAgSXNWaXNpYmxlOiB0aGlzLklzVmlzaWJsZSxcclxuICAgICAgSXNQcmltYXJ5S2V5OiB0aGlzLklzUHJpbWFyeUtleSxcclxuICAgICAgSXNEZXByZWNhdGVkOiB0aGlzLklzRGVwcmVjYXRlZCxcclxuICAgICAgSXNEaXNwbGF5RmllbGQ6IHRoaXMuSXNEaXNwbGF5RmllbGQsXHJcbiAgICAgIExvb2tVcERldGFpbHM6IHRoaXMuTG9va1VwRGV0YWlscyxcclxuICAgICAgQWNjZXNzTGlzdDogdGhpcy5BY2Nlc3NMaXN0LFxyXG4gICAgICBEYXRhOiB0aGlzLkRhdGEsXHJcbiAgICAgIEZpZWxkQ29uZmlndXJhdGlvbjogdGhpcy5GaWVsZENvbmZpZ3VyYXRpb24sXHJcbiAgICAgIEZpZWxkVmFsaWRhdG9yQ29uZmlndXJhdGlvbjogdGhpcy5GaWVsZFZhbGlkYXRvckNvbmZpZ3VyYXRpb25cclxuICAgIH07XHJcbiAgfVxyXG59Il19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXRELE1BQU0sT0FBTyxhQUFhO0lBNkJ4QixZQUE2QixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQywyQkFBMkIsSUFBSSxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBVztRQUN6QyxJQUFJLENBQUM7WUFDSCxPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlcyB9IGZyb20gXCIuLi9lbnVtcy9jb250cm9sbGVycy5lbnVtXCI7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyeUZpZWxkVHlwZSwgT2JqZWN0Q3JlYXRpb25UeXBlIH0gZnJvbSBcIi4uL2VudW1zL2RzcS5lbnVtXCI7XHJcbmltcG9ydCB7IEZpZWxkQWNjZXNzLCBGaWVsZFR5cGUsIExvb2tVcERldGFpbHMgfSBmcm9tIFwiLi9kYXRhLXNvdXJjZS1xdWVyaWVzLmNsYXNzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQXBwRmllbGRNb2RlbCB7XHJcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBPYmplY3RJRF9Ub3NhdmU6IHN0cmluZztcclxuICByZWFkb25seSBGaWVsZE5hbWU6IHN0cmluZztcclxuICByZWFkb25seSBEaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRmllbGRUeXBlOiBGaWVsZFR5cGU7XHJcbiAgcmVhZG9ubHkgQ3JlYXRpb25UeXBlOiBPYmplY3RDcmVhdGlvblR5cGU7XHJcbiAgcmVhZG9ubHkgRmllbGRCYXNlOiBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGU7XHJcbiAgcmVhZG9ubHkgSXNSZXF1aXJlZDogYm9vbGVhbjtcclxuICByZWFkb25seSBJc1VuaXF1ZTogYm9vbGVhbjtcclxuICByZWFkb25seSBCYXNlRmllbGQ6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNTZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzVXBkYXRhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzQ29uZmlkZW50aWFsOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IFN5c3RlbURCRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNWaXNpYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzUHJpbWFyeUtleTogYm9vbGVhbjtcclxuICByZWFkb25seSBJc0RlcHJlY2F0ZWQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNEaXNwbGF5RmllbGQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgTG9va1VwRGV0YWlsczogTG9va1VwRGV0YWlscztcclxuICByZWFkb25seSBJc0xvb2t1cDogYm9vbGVhbjtcclxuICByZWFkb25seSBBY2Nlc3NMaXN0OiBGaWVsZEFjY2Vzc1tdO1xyXG4gIHJlYWRvbmx5IERhdGE6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgRmllbGRDb25maWd1cmF0aW9uOiBhbnk7XHJcbiAgcmVhZG9ubHkgRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcclxuICAgIHRoaXMuSUQgPSByYXcuSUQ7XHJcbiAgICB0aGlzLk9iamVjdElEID0gcmF3Lk9iamVjdElEID8/IG51bGw7XHJcbiAgICB0aGlzLk9iamVjdElEX1Rvc2F2ZSA9IHJhdy5PYmplY3RJRF9Ub3NhdmU7XHJcbiAgICB0aGlzLkZpZWxkTmFtZSA9IHJhdy5GaWVsZE5hbWU7XHJcbiAgICB0aGlzLkRpc3BsYXlOYW1lID0gcmF3LkRpc3BsYXlOYW1lO1xyXG4gICAgdGhpcy5EZXNjcmlwdGlvbiA9IHJhdy5EZXNjcmlwdGlvbiA/PyAnJztcclxuICAgIHRoaXMuRmllbGRUeXBlID0gcmF3LkZpZWxkVHlwZTtcclxuICAgIHRoaXMuQ3JlYXRpb25UeXBlID0gcmF3LkNyZWF0aW9uVHlwZTtcclxuICAgIHRoaXMuRmllbGRCYXNlID0gcmF3LkZpZWxkQmFzZTtcclxuICAgIHRoaXMuQmFzZUZpZWxkID0gcmF3LkJhc2VGaWVsZCA/PyBudWxsO1xyXG4gICAgdGhpcy5Jc1JlcXVpcmVkID0gISFyYXcuSXNSZXF1aXJlZDtcclxuICAgIHRoaXMuSXNVbmlxdWUgPSAhIXJhdy5Jc1VuaXF1ZTtcclxuICAgIHRoaXMuSXNTZWFyY2hhYmxlID0gISFyYXcuSXNTZWFyY2hhYmxlO1xyXG4gICAgdGhpcy5Jc1VwZGF0YWJsZSA9ICEhcmF3LklzVXBkYXRhYmxlO1xyXG4gICAgdGhpcy5Jc0NvbmZpZGVudGlhbCA9ICEhcmF3LklzQ29uZmlkZW50aWFsO1xyXG4gICAgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZSA9IHJhdy5TeXN0ZW1EQkZpZWxkTmFtZTtcclxuICAgIHRoaXMuSXNTeXN0ZW0gPSAhIXJhdy5Jc1N5c3RlbTtcclxuICAgIHRoaXMuSXNWaXNpYmxlID0gISFyYXcuSXNWaXNpYmxlO1xyXG4gICAgdGhpcy5Jc1ByaW1hcnlLZXkgPSAhIXJhdy5Jc1ByaW1hcnlLZXk7XHJcbiAgICB0aGlzLklzRGVwcmVjYXRlZCA9ICEhcmF3LklzRGVwcmVjYXRlZDtcclxuICAgIHRoaXMuSXNEaXNwbGF5RmllbGQgPSAhIXJhdy5Jc0Rpc3BsYXlGaWVsZDtcclxuICAgIHRoaXMuTG9va1VwRGV0YWlscyA9IHJhdy5Mb29rVXBEZXRhaWxzID8/IG51bGw7XHJcbiAgICB0aGlzLklzTG9va3VwID0gISFyYXcuTG9va1VwRGV0YWlscztcclxuICAgIHRoaXMuQWNjZXNzTGlzdCA9IHJhdy5BY2Nlc3NMaXN0ID8/IFtdO1xyXG4gICAgdGhpcy5EYXRhID0gcmF3LkRhdGEgPz8gbnVsbDtcclxuICAgIHRoaXMuRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uID0gcmF3LkZpZWxkVmFsaWRhdG9yQ29uZmlndXJhdGlvbiA/PyB7fTtcclxuICAgIHRoaXMuRmllbGRDb25maWd1cmF0aW9uID0gdGhpcy5wYXJzZUZpZWxkQ29uZmlndXJhdGlvbihyYXcuRmllbGRDb25maWd1cmF0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VGaWVsZENvbmZpZ3VyYXRpb24oY29uZmlnOiBhbnkpOiBhbnkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShjb25maWcpIDogKGNvbmZpZyA/PyB7fSk7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZGF0YSB0eXBlIG5hbWUgb2YgdGhlIGZpZWxkIGFzIGEgc3RyaW5nLlxyXG4gICAqIFRoZSBkYXRhIHR5cGUgbmFtZSBpcyBvYnRhaW5lZCBmcm9tIHRoZSBEYXRhVHlwZXMgZW51bS5cclxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZGF0YSB0eXBlIG5hbWUuXHJcbiAgICovXHJcbiAgZ2V0IGRhdGFUeXBlTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIERhdGFUeXBlc1t0aGlzLkZpZWxkVHlwZT8uRGF0YVR5cGVdID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiBzZWFyY2ggdGVybSBpbiB0aGUgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBBcHBGaWVsZE1vZGVsIGluc3RhbmNlLlxyXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgaXMgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcclxuICAgKiAtIElEXHJcbiAgICogLSBGaWVsZE5hbWVcclxuICAgKiAtIERpc3BsYXlOYW1lXHJcbiAgICogLSBTeXN0ZW1EQkZpZWxkTmFtZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybS5cclxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciB0aGUgc2VhcmNoIHRlcm0gaXMgcHJlc2VudCBpbiBhbnkgb2YgdGhlIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiBbdGhpcy5JRC50b0xvd2VyQ2FzZSgpLCB0aGlzLkZpZWxkTmFtZSwgdGhpcy5EaXNwbGF5TmFtZSwgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZV1cclxuICAgICAgLnNvbWUodmFsID0+IHZhbCA9PT0gc2VhcmNoVGVybSB8fCB2YWw/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgdGhlIEFwcEZpZWxkTW9kZWwgaW5zdGFuY2UgdG8gYSBKU09OIHJlcHJlc2VudGF0aW9uLlxyXG4gICAqIEByZXR1cm5zIHthbnl9IFRoZSByYXcgZGF0YSBvZiB0aGUgaW5zdGFuY2UuXHJcbiAgICovXHJcbiAgdG9KU09OKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5yYXc7XHJcbiAgfVxyXG59Il19
@@ -9,46 +9,43 @@ export class AppObjectModel {
9
9
  this.dsqMap = new Map();
10
10
  this.allFields = [];
11
11
  this.allDSQs = [];
12
- this.parsedAppObjectJson = null;
13
- this.parsedAppObjectJson = this.parseAppObjectJson(raw?.appObjectJson);
14
- this.ID = raw?.appObjectId;
15
- this.ObjectName = raw?.appObjectName;
16
- this.DisplayName = this.parsedAppObjectJson?.DisplayName;
17
- this.Description = this.parsedAppObjectJson?.Description;
18
- this.SystemDBTableName = this.parsedAppObjectJson?.SystemDBTableName;
19
- this.IsSystem = this.parsedAppObjectJson?.IsSystem;
20
- this.IsVisible = this.parsedAppObjectJson?.IsVisible;
21
- this.IsDeprecated = this.parsedAppObjectJson?.IsDeprecated;
22
- this.IsSupportBluePrint = this.parsedAppObjectJson?.IsSupportBluePrint;
23
- this.IsLocationTracking = this.parsedAppObjectJson?.IsLocationTracking;
24
- this.ObjectType = this.parsedAppObjectJson?.ObjectType;
25
- this.DeploymentStatus = this.parsedAppObjectJson?.DeploymentStatus;
26
- this.CreationType = this.parsedAppObjectJson?.CreationType;
27
- this.AllowVersioning = this.parsedAppObjectJson?.AllowVersioning;
28
- this.EnableTracking = this.parsedAppObjectJson?.EnableTracking;
29
- this.AllowSearchable = this.parsedAppObjectJson?.AllowSearchable;
30
- this.AllowReports = this.parsedAppObjectJson?.AllowReports;
31
- this.AllowActivities = this.parsedAppObjectJson?.AllowActivities;
32
- this.AllowSharing = this.parsedAppObjectJson?.AllowSharing;
33
- this.AllowSoftDelete = this.parsedAppObjectJson?.AllowSoftDelete;
34
- this.IsReplicationNeeded = this.parsedAppObjectJson?.IsReplicationNeeded;
35
- this.IsCacheEnable = this.parsedAppObjectJson?.IsCacheEnable;
36
- this.CacheTtl = this.parsedAppObjectJson?.CacheTtl;
37
- this.AppObjectConfiguration = this.parsedAppObjectJson?.AppObjectConfiguration;
38
- this.CRUDAppObjectId = this.parsedAppObjectJson?.CRUDAppObjectId;
39
- this.ConnectionId = this.parsedAppObjectJson?.ConnectionId;
40
- this.IsSupportLayout = this.parsedAppObjectJson?.IsSupportLayout;
41
- this.AccessList = this.parsedAppObjectJson?.AccessList;
42
- this.Resources = this.parsedAppObjectJson?.Resources;
43
- this.ChildRelationShips = this.parsedAppObjectJson?.ChildRelationShips;
44
- this.AppId = this.parsedAppObjectJson?.RecordInfo?.AppId?.toLowerCase();
45
- }
46
- parseAppObjectJson(appObjectJson) {
12
+ this.ID = raw?.ID;
13
+ this.ObjectName = raw?.ObjectName;
14
+ this.DisplayName = raw?.DisplayName;
15
+ this.Description = raw?.Description;
16
+ this.SystemDBTableName = raw?.SystemDBTableName;
17
+ this.IsSystem = raw?.IsSystem;
18
+ this.IsVisible = raw?.IsVisible;
19
+ this.IsDeprecated = raw?.IsDeprecated;
20
+ this.IsSupportBluePrint = raw?.IsSupportBluePrint;
21
+ this.IsLocationTracking = raw?.IsLocationTracking;
22
+ this.ObjectType = raw?.ObjectType;
23
+ this.DeploymentStatus = raw?.DeploymentStatus;
24
+ this.CreationType = raw?.CreationType;
25
+ this.AllowVersioning = raw?.AllowVersioning;
26
+ this.EnableTracking = raw?.EnableTracking;
27
+ this.AllowSearchable = raw?.AllowSearchable;
28
+ this.AllowReports = raw?.AllowReports;
29
+ this.AllowActivities = raw?.AllowActivities;
30
+ this.AllowSharing = raw?.AllowSharing;
31
+ this.AllowSoftDelete = raw?.AllowSoftDelete;
32
+ this.IsReplicationNeeded = raw?.IsReplicationNeeded;
33
+ this.IsCacheEnable = raw?.IsCacheEnable;
34
+ this.CacheTtl = raw?.CacheTtl;
35
+ this.AppObjectConfiguration = raw?.AppObjectConfiguration;
36
+ this.CRUDAppObjectId = raw?.CRUDAppObjectId;
37
+ this.ConnectionId = raw?.ConnectionId;
38
+ this.IsSupportLayout = raw?.IsSupportLayout;
39
+ this.AccessList = raw?.AccessList;
40
+ this.Resources = raw?.Resources;
41
+ this.ChildRelationShips = raw?.ChildRelationShips;
42
+ this.AppId = raw?.RecordInfo?.AppId?.toLowerCase();
47
43
  try {
48
- return typeof appObjectJson === 'string' ? JSON.parse(appObjectJson) : (appObjectJson ?? {});
44
+ this.parsedAppObjectConfiguration = JSON.parse(this.AppObjectConfiguration || '{}');
49
45
  }
50
- catch {
51
- return {};
46
+ catch (e) {
47
+ console.warn('Invalid AppObjectConfiguration JSON', e);
48
+ this.parsedAppObjectConfiguration = {};
52
49
  }
53
50
  }
54
51
  /**
@@ -59,10 +56,10 @@ export class AppObjectModel {
59
56
  */
60
57
  fields() {
61
58
  if (!this.allFields?.length) {
62
- this.allFields = (this.parsedAppObjectJson?.Fields ?? []).map((field) => {
59
+ this.allFields = (this.raw?.Fields ?? []).map((field) => {
63
60
  const model = new AppFieldModel(field);
64
61
  // Cache the field in a map by ID
65
- this.fieldMap.set(field?.Id?.toLowerCase(), model);
62
+ this.fieldMap.set(field?.ID?.toLowerCase(), model);
66
63
  return model;
67
64
  });
68
65
  }
@@ -84,7 +81,7 @@ export class AppObjectModel {
84
81
  return this.fieldMap.get(idOrName);
85
82
  }
86
83
  // Convert the idOrName to lowercase for case-insensitive search
87
- const idLower = idOrName?.toLowerCase();
84
+ const idLower = idOrName.toLowerCase();
88
85
  // Find the field by matching ID or name, case-insensitively
89
86
  return this.allFields?.find(f => f.ID?.toLowerCase() === idLower || f.FieldName?.toLowerCase() === idLower || f.DisplayName?.toLowerCase() === idLower);
90
87
  }
@@ -118,13 +115,13 @@ export class AppObjectModel {
118
115
  dataSourceQueries() {
119
116
  // Check if allDSQs is empty or undefined
120
117
  if (!this.allDSQs?.length) {
121
- // Map the raw queries to DataSourceQueryModel instances
122
- this.allDSQs = (this.raw?.queries ?? []).map((dsq) => {
118
+ // Map the raw DataSourceQueries to DataSourceQueryModel instances
119
+ this.allDSQs = (this.raw?.DataSourceQueries ?? []).map((dsq) => {
123
120
  const model = new DataSourceQueryModel(dsq, this, this.metadataHelper);
124
121
  // Cache the DataSourceQuery in a map by ID, QueryName, and DisplayName
125
- this.dsqMap.set(dsq?.queryId?.toLowerCase(), model);
126
- this.dsqMap.set(dsq?.queryName, model);
127
- this.dsqMap.set(dsq?.displayName, model);
122
+ this.dsqMap.set(dsq?.ID?.toLowerCase(), model);
123
+ this.dsqMap.set(dsq?.QueryName, model);
124
+ this.dsqMap.set(dsq?.DisplayName, model);
128
125
  return model;
129
126
  });
130
127
  }
@@ -181,46 +178,12 @@ export class AppObjectModel {
181
178
  return { fields, dsqs };
182
179
  }
183
180
  /**
184
- * Converts the current object to JSON in the old API format (PascalCase).
185
- * This ensures backward compatibility with code expecting the old format.
181
+ * Converts the current object to a JSON object.
186
182
  *
187
- * @returns {any} The data in old API format.
183
+ * @returns {any} The raw data as a JSON object.
188
184
  */
189
185
  toJSON() {
190
- return {
191
- ID: this.ID,
192
- ObjectName: this.ObjectName,
193
- DisplayName: this.DisplayName,
194
- Description: this.Description,
195
- SystemDBTableName: this.SystemDBTableName,
196
- IsSystem: this.IsSystem,
197
- IsVisible: this.IsVisible,
198
- IsDeprecated: this.IsDeprecated,
199
- IsSupportBluePrint: this.IsSupportBluePrint,
200
- IsLocationTracking: this.IsLocationTracking,
201
- ObjectType: this.ObjectType,
202
- DeploymentStatus: this.DeploymentStatus,
203
- CreationType: this.CreationType,
204
- AllowVersioning: this.AllowVersioning,
205
- EnableTracking: this.EnableTracking,
206
- AllowSearchable: this.AllowSearchable,
207
- AllowReports: this.AllowReports,
208
- AllowActivities: this.AllowActivities,
209
- AllowSharing: this.AllowSharing,
210
- AllowSoftDelete: this.AllowSoftDelete,
211
- IsReplicationNeeded: this.IsReplicationNeeded,
212
- IsCacheEnable: this.IsCacheEnable,
213
- CacheTtl: this.CacheTtl,
214
- AppObjectConfiguration: this.AppObjectConfiguration,
215
- CRUDAppObjectId: this.CRUDAppObjectId,
216
- ConnectionId: this.ConnectionId,
217
- IsSupportLayout: this.IsSupportLayout,
218
- AccessList: this.AccessList,
219
- Resources: this.Resources,
220
- ChildRelationShips: this.ChildRelationShips,
221
- Fields: this.fields().map(f => f.toJSON()),
222
- DataSourceQueries: this.dataSourceQueries().map(dsq => dsq.toJSON())
223
- };
186
+ return this.raw;
224
187
  }
225
188
  }
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW9iamVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUF5Q3pCLFlBQTZCLEdBQVEsRUFBVSxjQUE4QjtRQUFoRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBUDdFLGFBQWE7UUFDSSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBQzFELGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBQ2hDLFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBQ3JDLHdCQUFtQixHQUFRLElBQUksQ0FBQztRQUd0QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUV2RSxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxXQUFXLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsYUFBYSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUM7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQztRQUNyRSxJ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WUFDckMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDM0MsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3JFLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBhcHAtb2JqZWN0Lm1vZGVsLnRzXHJcbmltcG9ydCB7IE9iamVjdFR5cGUgfSBmcm9tICcuLi9lbnVtcy9jb21tb24uZW51bSc7XHJcbmltcG9ydCB7IE9iamVjdENyZWF0aW9uVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgRGVwbG95bWVudFN0YXR1cyB9IGZyb20gJy4uL2VudW1zL3Blcm1pc3Npb24uZW51bSc7XHJcbmltcG9ydCB7IENoaWxkUmVsYXRpb25TaGlwIH0gZnJvbSAnLi9hcGktcXVlcnkuY2xhc3MnO1xyXG5pbXBvcnQgeyBNZXRhZGF0YUhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvY29tbW9uL21ldGEtZGF0YS5oZWxwZXJzJztcclxuaW1wb3J0IHsgQXBwRmllbGRNb2RlbCB9IGZyb20gJy4vYXBwLWZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgT2JqZWN0QWNjZXNzIH0gZnJvbSAnLi9hcHAtb2JqZWN0LmNsYXNzJztcclxuaW1wb3J0IHsgUmVzb3VyY2VzIH0gZnJvbSAnLi9jb21tb24uY2xhc3MnO1xyXG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlNb2RlbCB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcE9iamVjdE1vZGVsIHtcclxuICAvLyBQcm9wZXJ0aWVzXHJcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICByZWFkb25seSBPYmplY3ROYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRGlzcGxheU5hbWU6IHN0cmluZztcclxuICByZWFkb25seSBEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IFN5c3RlbURCVGFibGVOYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNWaXNpYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzRGVwcmVjYXRlZDogYm9vbGVhbjtcclxuICByZWFkb25seSBJc1N1cHBvcnRCbHVlUHJpbnQ6IGJvb2xlYW4gfCBudWxsO1xyXG4gIHJlYWRvbmx5IElzTG9jYXRpb25UcmFja2luZzogYm9vbGVhbiB8IG51bGw7XHJcbiAgcmVhZG9ubHkgT2JqZWN0VHlwZTogT2JqZWN0VHlwZTtcclxuICByZWFkb25seSBEZXBsb3ltZW50U3RhdHVzOiBEZXBsb3ltZW50U3RhdHVzO1xyXG4gIHJlYWRvbmx5IENyZWF0aW9uVHlwZTogT2JqZWN0Q3JlYXRpb25UeXBlO1xyXG4gIHJlYWRvbmx5IEFsbG93VmVyc2lvbmluZzogYm9vbGVhbjtcclxuICByZWFkb25seSBFbmFibGVUcmFja2luZzogYm9vbGVhbjtcclxuICByZWFkb25seSBBbGxvd1NlYXJjaGFibGU6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgQWxsb3dSZXBvcnRzOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IEFsbG93QWN0aXZpdGllczogYm9vbGVhbjtcclxuICByZWFkb25seSBBbGxvd1NoYXJpbmc6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgQWxsb3dTb2Z0RGVsZXRlOiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBJc1JlcGxpY2F0aW9uTmVlZGVkOiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBJc0NhY2hlRW5hYmxlOiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBDYWNoZVR0bDogbnVtYmVyIHwgbnVsbDtcclxuICByZWFkb25seSBBcHBPYmplY3RDb25maWd1cmF0aW9uOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgQ1JVREFwcE9iamVjdElkOiBzdHJpbmcgfCBudWxsO1xyXG4gIHJlYWRvbmx5IENvbm5lY3Rpb25JZDogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBJc1N1cHBvcnRMYXlvdXQ6IGJvb2xlYW4gfCBudWxsO1xyXG4gIHJlYWRvbmx5IEFjY2Vzc0xpc3Q6IEFycmF5PE9iamVjdEFjY2Vzcz47XHJcbiAgcmVhZG9ubHkgUmVzb3VyY2VzOiBBcnJheTxSZXNvdXJjZXM+O1xyXG4gIHJlYWRvbmx5IENoaWxkUmVsYXRpb25TaGlwczogQXJyYXk8Q2hpbGRSZWxhdGlvblNoaXA+O1xyXG4gIHJlYWRvbmx5IEFwcElkOiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAvLyBDYWNoZSBtYXBzXHJcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcHBGaWVsZE1vZGVsPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZHNxTWFwID0gbmV3IE1hcDxzdHJpbmcsIERhdGFTb3VyY2VRdWVyeU1vZGVsPigpO1xyXG4gIHByaXZhdGUgYWxsRmllbGRzOiBBcHBGaWVsZE1vZGVsW10gPSBbXTtcclxuICBwcml2YXRlIGFsbERTUXM6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10gPSBbXTtcclxuICBwcml2YXRlIHBhcnNlZEFwcE9iamVjdEpzb246IGFueSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnksIHByaXZhdGUgbWV0YWRhdGFIZWxwZXI6IE1ldGFkYXRhSGVscGVyKSB7XHJcbiAgICB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24gPSB0aGlzLnBhcnNlQXBwT2JqZWN0SnNvbihyYXc/LmFwcE9iamVjdEpzb24pO1xyXG5cclxuICAgIHRoaXMuSUQgPSByYXc/LmFwcE9iamVjdElkO1xyXG4gICAgdGhpcy5PYmplY3ROYW1lID0gcmF3Py5hcHBPYmplY3ROYW1lO1xyXG4gICAgdGhpcy5EaXNwbGF5TmFtZSA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uRGlzcGxheU5hbWU7XHJcbiAgICB0aGlzLkRlc2NyaXB0aW9uID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5EZXNjcmlwdGlvbjtcclxuICAgIHRoaXMuU3lzdGVtREJUYWJsZU5hbWUgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LlN5c3RlbURCVGFibGVOYW1lO1xyXG4gICAgdGhpcy5Jc1N5c3RlbSA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uSXNTeXN0ZW07XHJcbiAgICB0aGlzLklzVmlzaWJsZSA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uSXNWaXNpYmxlO1xyXG4gICAgdGhpcy5Jc0RlcHJlY2F0ZWQgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LklzRGVwcmVjYXRlZDtcclxuICAgIHRoaXMuSXNTdXBwb3J0Qmx1ZVByaW50ID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5Jc1N1cHBvcnRCbHVlUHJpbnQ7XHJcbiAgICB0aGlzLklzTG9jYXRpb25UcmFja2luZyA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uSXNMb2NhdGlvblRyYWNraW5nO1xyXG4gICAgdGhpcy5PYmplY3RUeXBlID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5PYmplY3RUeXBlO1xyXG4gICAgdGhpcy5EZXBsb3ltZW50U3RhdHVzID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5EZXBsb3ltZW50U3RhdHVzO1xyXG4gICAgdGhpcy5DcmVhdGlvblR5cGUgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkNyZWF0aW9uVHlwZTtcclxuICAgIHRoaXMuQWxsb3dWZXJzaW9uaW5nID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5BbGxvd1ZlcnNpb25pbmc7XHJcbiAgICB0aGlzLkVuYWJsZVRyYWNraW5nID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5FbmFibGVUcmFja2luZztcclxuICAgIHRoaXMuQWxsb3dTZWFyY2hhYmxlID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5BbGxvd1NlYXJjaGFibGU7XHJcbiAgICB0aGlzLkFsbG93UmVwb3J0cyA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uQWxsb3dSZXBvcnRzO1xyXG4gICAgdGhpcy5BbGxvd0FjdGl2aXRpZXMgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkFsbG93QWN0aXZpdGllcztcclxuICAgIHRoaXMuQWxsb3dTaGFyaW5nID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5BbGxvd1NoYXJpbmc7XHJcbiAgICB0aGlzLkFsbG93U29mdERlbGV0ZSA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uQWxsb3dTb2Z0RGVsZXRlO1xyXG4gICAgdGhpcy5Jc1JlcGxpY2F0aW9uTmVlZGVkID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5Jc1JlcGxpY2F0aW9uTmVlZGVkO1xyXG4gICAgdGhpcy5Jc0NhY2hlRW5hYmxlID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5Jc0NhY2hlRW5hYmxlO1xyXG4gICAgdGhpcy5DYWNoZVR0bCA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uQ2FjaGVUdGw7XHJcbiAgICB0aGlzLkFwcE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkFwcE9iamVjdENvbmZpZ3VyYXRpb247XHJcbiAgICB0aGlzLkNSVURBcHBPYmplY3RJZCA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uQ1JVREFwcE9iamVjdElkO1xyXG4gICAgdGhpcy5Db25uZWN0aW9uSWQgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkNvbm5lY3Rpb25JZDtcclxuICAgIHRoaXMuSXNTdXBwb3J0TGF5b3V0ID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5Jc1N1cHBvcnRMYXlvdXQ7XHJcbiAgICB0aGlzLkFjY2Vzc0xpc3QgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkFjY2Vzc0xpc3Q7XHJcbiAgICB0aGlzLlJlc291cmNlcyA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uUmVzb3VyY2VzO1xyXG4gICAgdGhpcy5DaGlsZFJlbGF0aW9uU2hpcHMgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkNoaWxkUmVsYXRpb25TaGlwcztcclxuICAgIHRoaXMuQXBwSWQgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LlJlY29yZEluZm8/LkFwcElkPy50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUFwcE9iamVjdEpzb24oYXBwT2JqZWN0SnNvbjogYW55KTogYW55IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiB0eXBlb2YgYXBwT2JqZWN0SnNvbiA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGFwcE9iamVjdEpzb24pIDogKGFwcE9iamVjdEpzb24gPz8ge30pO1xyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYWxsIGZpZWxkcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBBcHBPYmplY3QuIFRoZSBmaWVsZHMgYXJlIGNhY2hlZCBzbyB0aGF0IHN1YnNlcXVlbnQgY2FsbHNcclxuICAgKiBhcmUgZmFzdGVyLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWxbXX0gQW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzLlxyXG4gICAqL1xyXG4gIGZpZWxkcygpOiBBcHBGaWVsZE1vZGVsW10ge1xyXG4gICAgaWYgKCF0aGlzLmFsbEZpZWxkcz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYWxsRmllbGRzID0gKHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uRmllbGRzID8/IFtdKS5tYXAoKGZpZWxkOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBBcHBGaWVsZE1vZGVsKGZpZWxkKTtcclxuICAgICAgICAvLyBDYWNoZSB0aGUgZmllbGQgaW4gYSBtYXAgYnkgSURcclxuICAgICAgICB0aGlzLmZpZWxkTWFwLnNldChmaWVsZD8uSWQ/LnRvTG93ZXJDYXNlKCksIG1vZGVsKTtcclxuICAgICAgICByZXR1cm4gbW9kZWw7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYWxsRmllbGRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZmllbGQgYnkgaXRzIElEIG9yIG5hbWUuXHJcbiAgICogSWYgdGhlIGZpZWxkIGlzIGNhY2hlZCwgaXQgcmV0dXJucyBpdCBmcm9tIHRoZSBjYWNoZS5cclxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGZpZWxkcy5cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRPck5hbWUgLSBUaGUgSUQgb3IgbmFtZSBvZiB0aGUgZmllbGQgdG8gcmV0cmlldmUuXHJcbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWR9IC0gVGhlIGZpZWxkIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxyXG4gICAqL1xyXG4gIGZpZWxkKGlkT3JOYW1lOiBzdHJpbmcpOiBBcHBGaWVsZE1vZGVsIHwgdW5kZWZpbmVkIHtcclxuICAgIC8vIEVuc3VyZSBhbGwgZmllbGRzIGFyZSBsb2FkZWQgYW5kIGNhY2hlZFxyXG4gICAgdGhpcy5maWVsZHMoKTtcclxuXHJcbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgaXMgYXZhaWxhYmxlIGluIHRoZSBjYWNoZSBtYXBcclxuICAgIGlmICh0aGlzLmZpZWxkTWFwLmhhcyhpZE9yTmFtZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmllbGRNYXAuZ2V0KGlkT3JOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb252ZXJ0IHRoZSBpZE9yTmFtZSB0byBsb3dlcmNhc2UgZm9yIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoXHJcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWU/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgLy8gRmluZCB0aGUgZmllbGQgYnkgbWF0Y2hpbmcgSUQgb3IgbmFtZSwgY2FzZS1pbnNlbnNpdGl2ZWx5XHJcbiAgICByZXR1cm4gdGhpcy5hbGxGaWVsZHM/LmZpbmQoXHJcbiAgICAgIGYgPT4gZi5JRD8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBmLkZpZWxkTmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBmLkRpc3BsYXlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFsbCBmaWVsZHMgb2YgdGhlIGFwcCBvYmplY3QgdGhhdCBhcmUgbG9va3VwIGZpZWxkcy5cclxuICAgKiBBIGxvb2t1cCBmaWVsZCBpcyBhIGZpZWxkIHRoYXQgaGFzIGEgcmVsYXRpb25zaGlwIHdpdGggYW5vdGhlciBmaWVsZC5cclxuICAgKiBJdCBpcyB1c2VkIHRvIHBlcmZvcm0gbG9va3Vwcywgc3VjaCBhcyByZXRyaWV2aW5nIGEgbGlzdCBvZiB2YWx1ZXNcclxuICAgKiBmcm9tIGEgcmVsYXRlZCBmaWVsZC5cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7QXBwRmllbGRNb2RlbFtdfSAtIEFuIGFycmF5IG9mIEFwcEZpZWxkTW9kZWwgb2JqZWN0cyB0aGF0IGFyZSBsb29rdXAgZmllbGRzLlxyXG4gICAqL1xyXG4gIGxvb2t1cEZpZWxkcygpOiBBcHBGaWVsZE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkuZmlsdGVyKGZpZWxkID0+IGZpZWxkLklzTG9va3VwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBmaWVsZHMgZm9yIHRoZSBhcHAgb2JqZWN0IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBmaWVsZCBhcyBhbiBhcmd1bWVudCwgYW5kIHNob3VsZCByZXR1cm4gdHJ1ZSBpZiB0aGUgZmllbGRcclxuICAgKiBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdC5cclxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXHJcbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWxbXX0gVGhlIGFycmF5IG9mIGZpZWxkcyB0aGF0IHNhdGlzZnkgdGhlIGZpbHRlciBmdW5jdGlvbi5cclxuICAgKi9cclxuICBmaW5kRmllbGRzKGZpbHRlckZuOiAoZmllbGQ6IEFwcEZpZWxkTW9kZWwpID0+IGJvb2xlYW4pOiBBcHBGaWVsZE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkuZmlsdGVyKGZpbHRlckZuKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhbGwgZGF0YSBzb3VyY2UgcXVlcmllcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBBcHBPYmplY3QuXHJcbiAgICogVGhlIHF1ZXJpZXMgYXJlIGNhY2hlZCBmb3IgZmFzdGVyIHN1YnNlcXVlbnQgYWNjZXNzLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELCBRdWVyeU5hbWUsIGFuZCBEaXNwbGF5TmFtZS5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSBBbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzLlxyXG4gICAqL1xyXG4gIGRhdGFTb3VyY2VRdWVyaWVzKCk6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10ge1xyXG4gICAgLy8gQ2hlY2sgaWYgYWxsRFNRcyBpcyBlbXB0eSBvciB1bmRlZmluZWRcclxuICAgIGlmICghdGhpcy5hbGxEU1FzPy5sZW5ndGgpIHtcclxuICAgICAgLy8gTWFwIHRoZSByYXcgcXVlcmllcyB0byBEYXRhU291cmNlUXVlcnlNb2RlbCBpbnN0YW5jZXNcclxuICAgICAgdGhpcy5hbGxEU1FzID0gKHRoaXMucmF3Py5xdWVyaWVzID8/IFtdKS5tYXAoKGRzcTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbW9kZWwgPSBuZXcgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwoZHNxLCB0aGlzLCB0aGlzLm1ldGFkYXRhSGVscGVyKTtcclxuICAgICAgICAvLyBDYWNoZSB0aGUgRGF0YVNvdXJjZVF1ZXJ5IGluIGEgbWFwIGJ5IElELCBRdWVyeU5hbWUsIGFuZCBEaXNwbGF5TmFtZVxyXG4gICAgICAgIHRoaXMuZHNxTWFwLnNldChkc3E/LnF1ZXJ5SWQ/LnRvTG93ZXJDYXNlKCksIG1vZGVsKTtcclxuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5xdWVyeU5hbWUsIG1vZGVsKTtcclxuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5kaXNwbGF5TmFtZSwgbW9kZWwpO1xyXG4gICAgICAgIHJldHVybiBtb2RlbDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5hbGxEU1FzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZGF0YSBzb3VyY2UgcXVlcnkgYnkgaXRzIElEIG9yIG5hbWUuXHJcbiAgICogSWYgdGhlIHF1ZXJ5IGlzIGNhY2hlZCwgaXQgcmV0dXJucyBpdCBmcm9tIHRoZSBjYWNoZS5cclxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkT3JOYW1lIC0gVGhlIElEIG9yIG5hbWUgb2YgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZH0gLSBUaGUgZGF0YSBzb3VyY2UgcXVlcnkgbW9kZWwgaWYgZm91bmQsIG90aGVyd2lzZSB1bmRlZmluZWQuXHJcbiAgICovXHJcbiAgZGF0YVNvdXJjZVF1ZXJ5KGlkT3JOYW1lOiBzdHJpbmcpOiBEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZCB7XHJcbiAgICAvLyBFbnN1cmUgYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMgYXJlIGxvYWRlZCBhbmQgY2FjaGVkXHJcbiAgICB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCk7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUgbWFwXHJcbiAgICBpZiAodGhpcy5kc3FNYXAuaGFzKGlkT3JOYW1lKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kc3FNYXAuZ2V0KGlkT3JOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb252ZXJ0IHRoZSBpZE9yTmFtZSB0byBsb3dlcmNhc2UgZm9yIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoXHJcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAvLyBGaW5kIHRoZSBkYXRhIHNvdXJjZSBxdWVyeSBieSBtYXRjaGluZyBRdWVyeU5hbWUgb3IgRGlzcGxheU5hbWUsIGNhc2UtaW5zZW5zaXRpdmVseVxyXG4gICAgcmV0dXJuIHRoaXMuYWxsRFNRcz8uZmluZChcclxuICAgICAgZHNxID0+IGRzcS5JRD8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBkc3EuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGRzcS5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlclxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzIHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBkYXRhIHNvdXJjZSBxdWVyeSBhcyBhbiBhcmd1bWVudC5cclxuICAgKiBJZiB0aGUgZmlsdGVyIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzLlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSAtIFRoZSBhcnJheSBvZiBkYXRhIHNvdXJjZSBxdWVyaWVzIHRoYXQgc2F0aXNmeSB0aGUgZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqL1xyXG4gIGZpbmREYXRhU291cmNlUXVlcmllcyhmaWx0ZXJGbjogKGRzcTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCkuZmlsdGVyKGZpbHRlckZuKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaGVzIGZvciB0aGUgZ2l2ZW4gdGVybSBpbiB0aGUgZmllbGRzIGFuZCBkYXRhIHNvdXJjZSBxdWVyaWVzIG9mIHRoaXMgQXBwT2JqZWN0LlxyXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxyXG4gICAqICAgLSBGaWVsZCBuYW1lIGFuZCBkZXNjcmlwdGlvblxyXG4gICAqICAgLSBEYXRhIHNvdXJjZSBxdWVyeSBuYW1lLCBkaXNwbGF5IG5hbWUsIGFuZCBkZXNjcmlwdGlvblxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIC0gVGhlIHNlYXJjaCB0ZXJtIHRvIHNlYXJjaCBmb3IuXHJcbiAgICogQHJldHVybnMge3sgZmllbGRzOiBBcHBGaWVsZE1vZGVsW107IGRzcXM6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10gfX0gLSBBbiBvYmplY3Qgd2l0aCB0aGUgc2VhcmNoIHJlc3VsdHMuXHJcbiAgICogICBUaGUgYGZpZWxkc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxyXG4gICAqICAgVGhlIGBkc3FzYCBwcm9wZXJ0eSBjb250YWlucyBhbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxyXG4gICAqL1xyXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB7IGZpZWxkczogQXBwRmllbGRNb2RlbFtdOyBkc3FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIH0ge1xyXG4gICAgLy8gU2VhcmNoIGZvciB0aGUgdGVybSBpbiB0aGUgZmllbGRzXHJcbiAgICBjb25zdCBmaWVsZHMgPSB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5zZWFyY2godGVybSkpO1xyXG5cclxuICAgIC8vIFNlYXJjaCBmb3IgdGhlIHRlcm0gaW4gdGhlIGRhdGEgc291cmNlIHF1ZXJpZXNcclxuICAgIGNvbnN0IGRzcXMgPSB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCkuZmlsdGVyKGRzcSA9PiBkc3Euc2VhcmNoKHRlcm0pKTtcclxuXHJcbiAgICAvLyBSZXR1cm4gdGhlIHNlYXJjaCByZXN1bHRzXHJcbiAgICByZXR1cm4geyBmaWVsZHMsIGRzcXMgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IG9iamVjdCB0byBKU09OIGluIHRoZSBvbGQgQVBJIGZvcm1hdCAoUGFzY2FsQ2FzZSkuXHJcbiAgICogVGhpcyBlbnN1cmVzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBjb2RlIGV4cGVjdGluZyB0aGUgb2xkIGZvcm1hdC5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHthbnl9IFRoZSBkYXRhIGluIG9sZCBBUEkgZm9ybWF0LlxyXG4gICAqL1xyXG4gIHRvSlNPTigpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgSUQ6IHRoaXMuSUQsXHJcbiAgICAgIE9iamVjdE5hbWU6IHRoaXMuT2JqZWN0TmFtZSxcclxuICAgICAgRGlzcGxheU5hbWU6IHRoaXMuRGlzcGxheU5hbWUsXHJcbiAgICAgIERlc2NyaXB0aW9uOiB0aGlzLkRlc2NyaXB0aW9uLFxyXG4gICAgICBTeXN0ZW1EQlRhYmxlTmFtZTogdGhpcy5TeXN0ZW1EQlRhYmxlTmFtZSxcclxuICAgICAgSXNTeXN0ZW06IHRoaXMuSXNTeXN0ZW0sXHJcbiAgICAgIElzVmlzaWJsZTogdGhpcy5Jc1Zpc2libGUsXHJcbiAgICAgIElzRGVwcmVjYXRlZDogdGhpcy5Jc0RlcHJlY2F0ZWQsXHJcbiAgICAgIElzU3VwcG9ydEJsdWVQcmludDogdGhpcy5Jc1N1cHBvcnRCbHVlUHJpbnQsXHJcbiAgICAgIElzTG9jYXRpb25UcmFja2luZzogdGhpcy5Jc0xvY2F0aW9uVHJhY2tpbmcsXHJcbiAgICAgIE9iamVjdFR5cGU6IHRoaXMuT2JqZWN0VHlwZSxcclxuICAgICAgRGVwbG95bWVudFN0YXR1czogdGhpcy5EZXBsb3ltZW50U3RhdHVzLFxyXG4gICAgICBDcmVhdGlvblR5cGU6IHRoaXMuQ3JlYXRpb25UeXBlLFxyXG4gICAgICBBbGxvd1ZlcnNpb25pbmc6IHRoaXMuQWxsb3dWZXJzaW9uaW5nLFxyXG4gICAgICBFbmFibGVUcmFja2luZzogdGhpcy5FbmFibGVUcmFja2luZyxcclxuICAgICAgQWxsb3dTZWFyY2hhYmxlOiB0aGlzLkFsbG93U2VhcmNoYWJsZSxcclxuICAgICAgQWxsb3dSZXBvcnRzOiB0aGlzLkFsbG93UmVwb3J0cyxcclxuICAgICAgQWxsb3dBY3Rpdml0aWVzOiB0aGlzLkFsbG93QWN0aXZpdGllcyxcclxuICAgICAgQWxsb3dTaGFyaW5nOiB0aGlzLkFsbG93U2hhcmluZyxcclxuICAgICAgQWxsb3dTb2Z0RGVsZXRlOiB0aGlzLkFsbG93U29mdERlbGV0ZSxcclxuICAgICAgSXNSZXBsaWNhdGlvbk5lZWRlZDogdGhpcy5Jc1JlcGxpY2F0aW9uTmVlZGVkLFxyXG4gICAgICBJc0NhY2hlRW5hYmxlOiB0aGlzLklzQ2FjaGVFbmFibGUsXHJcbiAgICAgIENhY2hlVHRsOiB0aGlzLkNhY2hlVHRsLFxyXG4gICAgICBBcHBPYmplY3RDb25maWd1cmF0aW9uOiB0aGlzLkFwcE9iamVjdENvbmZpZ3VyYXRpb24sXHJcbiAgICAgIENSVURBcHBPYmplY3RJZDogdGhpcy5DUlVEQXBwT2JqZWN0SWQsXHJcbiAgICAgIENvbm5lY3Rpb25JZDogdGhpcy5Db25uZWN0aW9uSWQsXHJcbiAgICAgIElzU3VwcG9ydExheW91dDogdGhpcy5Jc1N1cHBvcnRMYXlvdXQsXHJcbiAgICAgIEFjY2Vzc0xpc3Q6IHRoaXMuQWNjZXNzTGlzdCxcclxuICAgICAgUmVzb3VyY2VzOiB0aGlzLlJlc291cmNlcyxcclxuICAgICAgQ2hpbGRSZWxhdGlvblNoaXBzOiB0aGlzLkNoaWxkUmVsYXRpb25TaGlwcyxcclxuICAgICAgRmllbGRzOiB0aGlzLmZpZWxkcygpLm1hcChmID0+IGYudG9KU09OKCkpLFxyXG4gICAgICBEYXRhU291cmNlUXVlcmllczogdGhpcy5kYXRhU291cmNlUXVlcmllcygpLm1hcChkc3EgPT4gZHNxLnRvSlNPTigpKVxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW9iamVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUF5Q3pCLFlBQTZCLEdBQVEsRUFBVSxjQUE4QjtRQUFoRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTjdFLGFBQWE7UUFDSSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBQzFELGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBQ2hDLFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBRzNDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxFQUFFLGlCQUFpQixDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLElB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LFdBQVcsRUFBRSxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQ25JLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILHFCQUFxQixDQUFDLFFBQWdEO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLElBQVk7UUFDakIsb0NBQW9DO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFakUsaURBQWlEO1FBQ2pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSw0QkFBNEI7UUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwLW9iamVjdC5tb2RlbC50c1xyXG5pbXBvcnQgeyBPYmplY3RUeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uLmVudW0nO1xyXG5pbXBvcnQgeyBPYmplY3RDcmVhdGlvblR5cGUgfSBmcm9tICcuLi9lbnVtcy9kc3EuZW51bSc7XHJcbmltcG9ydCB7IERlcGxveW1lbnRTdGF0dXMgfSBmcm9tICcuLi9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xyXG5pbXBvcnQgeyBDaGlsZFJlbGF0aW9uU2hpcCB9IGZyb20gJy4vYXBpLXF1ZXJ5LmNsYXNzJztcclxuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL2NvbW1vbi9tZXRhLWRhdGEuaGVscGVycyc7XHJcbmltcG9ydCB7IEFwcEZpZWxkTW9kZWwgfSBmcm9tICcuL2FwcC1maWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IE9iamVjdEFjY2VzcyB9IGZyb20gJy4vYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7IFJlc291cmNlcyB9IGZyb20gJy4vY29tbW9uLmNsYXNzJztcclxuaW1wb3J0IHsgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgfSBmcm9tICcuL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBcHBPYmplY3RNb2RlbCB7XHJcbiAgLy8gUHJvcGVydGllc1xyXG4gIHJlYWRvbmx5IElEOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgT2JqZWN0TmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IERpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRGVzY3JpcHRpb246IHN0cmluZztcclxuICByZWFkb25seSBTeXN0ZW1EQlRhYmxlTmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IElzU3lzdGVtOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzVmlzaWJsZTogYm9vbGVhbjtcclxuICByZWFkb25seSBJc0RlcHJlY2F0ZWQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNTdXBwb3J0Qmx1ZVByaW50OiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBJc0xvY2F0aW9uVHJhY2tpbmc6IGJvb2xlYW4gfCBudWxsO1xyXG4gIHJlYWRvbmx5IE9iamVjdFR5cGU6IE9iamVjdFR5cGU7XHJcbiAgcmVhZG9ubHkgRGVwbG95bWVudFN0YXR1czogRGVwbG95bWVudFN0YXR1cztcclxuICByZWFkb25seSBDcmVhdGlvblR5cGU6IE9iamVjdENyZWF0aW9uVHlwZTtcclxuICByZWFkb25seSBBbGxvd1ZlcnNpb25pbmc6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgRW5hYmxlVHJhY2tpbmc6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgQWxsb3dTZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IEFsbG93UmVwb3J0czogYm9vbGVhbjtcclxuICByZWFkb25seSBBbGxvd0FjdGl2aXRpZXM6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgQWxsb3dTaGFyaW5nOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IEFsbG93U29mdERlbGV0ZTogYm9vbGVhbiB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNSZXBsaWNhdGlvbk5lZWRlZDogYm9vbGVhbiB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNDYWNoZUVuYWJsZTogYm9vbGVhbiB8IG51bGw7XHJcbiAgcmVhZG9ubHkgQ2FjaGVUdGw6IG51bWJlciB8IG51bGw7XHJcbiAgcmVhZG9ubHkgQXBwT2JqZWN0Q29uZmlndXJhdGlvbjogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IENSVURBcHBPYmplY3RJZDogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBDb25uZWN0aW9uSWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNTdXBwb3J0TGF5b3V0OiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBBY2Nlc3NMaXN0OiBBcnJheTxPYmplY3RBY2Nlc3M+O1xyXG4gIHJlYWRvbmx5IFJlc291cmNlczogQXJyYXk8UmVzb3VyY2VzPjtcclxuICByZWFkb25seSBDaGlsZFJlbGF0aW9uU2hpcHM6IEFycmF5PENoaWxkUmVsYXRpb25TaGlwPjtcclxuICByZWFkb25seSBwYXJzZWRBcHBPYmplY3RDb25maWd1cmF0aW9uOiBhbnk7XHJcbiAgcmVhZG9ubHkgQXBwSWQ6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIC8vIENhY2hlIG1hcHNcclxuICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkTWFwID0gbmV3IE1hcDxzdHJpbmcsIEFwcEZpZWxkTW9kZWw+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FNYXAgPSBuZXcgTWFwPHN0cmluZywgRGF0YVNvdXJjZVF1ZXJ5TW9kZWw+KCk7XHJcbiAgcHJpdmF0ZSBhbGxGaWVsZHM6IEFwcEZpZWxkTW9kZWxbXSA9IFtdO1xyXG4gIHByaXZhdGUgYWxsRFNRczogRGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55LCBwcml2YXRlIG1ldGFkYXRhSGVscGVyOiBNZXRhZGF0YUhlbHBlcikge1xyXG4gICAgdGhpcy5JRCA9IHJhdz8uSUQ7XHJcbiAgICB0aGlzLk9iamVjdE5hbWUgPSByYXc/Lk9iamVjdE5hbWU7XHJcbiAgICB0aGlzLkRpc3BsYXlOYW1lID0gcmF3Py5EaXNwbGF5TmFtZTtcclxuICAgIHRoaXMuRGVzY3JpcHRpb24gPSByYXc/LkRlc2NyaXB0aW9uO1xyXG4gICAgdGhpcy5TeXN0ZW1EQlRhYmxlTmFtZSA9IHJhdz8uU3lzdGVtREJUYWJsZU5hbWU7XHJcbiAgICB0aGlzLklzU3lzdGVtID0gcmF3Py5Jc1N5c3RlbTtcclxuICAgIHRoaXMuSXNWaXNpYmxlID0gcmF3Py5Jc1Zpc2libGU7XHJcbiAgICB0aGlzLklzRGVwcmVjYXRlZCA9IHJhdz8uSXNEZXByZWNhdGVkO1xyXG4gICAgdGhpcy5Jc1N1cHBvcnRCbHVlUHJpbnQgPSByYXc/LklzU3VwcG9ydEJsdWVQcmludDtcclxuICAgIHRoaXMuSXNMb2NhdGlvblRyYWNraW5nID0gcmF3Py5Jc0xvY2F0aW9uVHJhY2tpbmc7XHJcbiAgICB0aGlzLk9iamVjdFR5cGUgPSByYXc/Lk9iamVjdFR5cGU7XHJcbiAgICB0aGlzLkRlcGxveW1lbnRTdGF0dXMgPSByYXc/LkRlcGxveW1lbnRTdGF0dXM7XHJcbiAgICB0aGlzLkNyZWF0aW9uVHlwZSA9IHJhdz8uQ3JlYXRpb25UeXBlO1xyXG4gICAgdGhpcy5BbGxvd1ZlcnNpb25pbmcgPSByYXc/LkFsbG93VmVyc2lvbmluZztcclxuICAgIHRoaXMuRW5hYmxlVHJhY2tpbmcgPSByYXc/LkVuYWJsZVRyYWNraW5nO1xyXG4gICAgdGhpcy5BbGxvd1NlYXJjaGFibGUgPSByYXc/LkFsbG93U2VhcmNoYWJsZTtcclxuICAgIHRoaXMuQWxsb3dSZXBvcnRzID0gcmF3Py5BbGxvd1JlcG9ydHM7XHJcbiAgICB0aGlzLkFsbG93QWN0aXZpdGllcyA9IHJhdz8uQWxsb3dBY3Rpdml0aWVzO1xyXG4gICAgdGhpcy5BbGxvd1NoYXJpbmcgPSByYXc/LkFsbG93U2hhcmluZztcclxuICAgIHRoaXMuQWxsb3dTb2Z0RGVsZXRlID0gcmF3Py5BbGxvd1NvZnREZWxldGU7XHJcbiAgICB0aGlzLklzUmVwbGljYXRpb25OZWVkZWQgPSByYXc/LklzUmVwbGljYXRpb25OZWVkZWQ7XHJcbiAgICB0aGlzLklzQ2FjaGVFbmFibGUgPSByYXc/LklzQ2FjaGVFbmFibGU7XHJcbiAgICB0aGlzLkNhY2hlVHRsID0gcmF3Py5DYWNoZVR0bDtcclxuICAgIHRoaXMuQXBwT2JqZWN0Q29uZmlndXJhdGlvbiA9IHJhdz8uQXBwT2JqZWN0Q29uZmlndXJhdGlvbjtcclxuICAgIHRoaXMuQ1JVREFwcE9iamVjdElkID0gcmF3Py5DUlVEQXBwT2JqZWN0SWQ7XHJcbiAgICB0aGlzLkNvbm5lY3Rpb25JZCA9IHJhdz8uQ29ubmVjdGlvbklkO1xyXG4gICAgdGhpcy5Jc1N1cHBvcnRMYXlvdXQgPSByYXc/LklzU3VwcG9ydExheW91dDtcclxuICAgIHRoaXMuQWNjZXNzTGlzdCA9IHJhdz8uQWNjZXNzTGlzdDtcclxuICAgIHRoaXMuUmVzb3VyY2VzID0gcmF3Py5SZXNvdXJjZXM7XHJcbiAgICB0aGlzLkNoaWxkUmVsYXRpb25TaGlwcyA9IHJhdz8uQ2hpbGRSZWxhdGlvblNoaXBzO1xyXG4gICAgdGhpcy5BcHBJZCA9IHJhdz8uUmVjb3JkSW5mbz8uQXBwSWQ/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5wYXJzZWRBcHBPYmplY3RDb25maWd1cmF0aW9uID0gSlNPTi5wYXJzZSh0aGlzLkFwcE9iamVjdENvbmZpZ3VyYXRpb24gfHwgJ3t9Jyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBBcHBPYmplY3RDb25maWd1cmF0aW9uIEpTT04nLCBlKTtcclxuICAgICAgdGhpcy5wYXJzZWRBcHBPYmplY3RDb25maWd1cmF0aW9uID0ge307XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGFsbCBmaWVsZHMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQXBwT2JqZWN0LiBUaGUgZmllbGRzIGFyZSBjYWNoZWQgc28gdGhhdCBzdWJzZXF1ZW50IGNhbGxzXHJcbiAgICogYXJlIGZhc3Rlci4gVGhlIGNhY2hlIGlzIHN0b3JlZCBpbiBhIG1hcCBieSBJRC5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtBcHBGaWVsZE1vZGVsW119IEFuIGFycmF5IG9mIEFwcEZpZWxkTW9kZWwgb2JqZWN0cy5cclxuICAgKi9cclxuICBmaWVsZHMoKTogQXBwRmllbGRNb2RlbFtdIHtcclxuICAgIGlmICghdGhpcy5hbGxGaWVsZHM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmFsbEZpZWxkcyA9ICh0aGlzLnJhdz8uRmllbGRzID8/IFtdKS5tYXAoKGZpZWxkOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBBcHBGaWVsZE1vZGVsKGZpZWxkKTtcclxuICAgICAgICAvLyBDYWNoZSB0aGUgZmllbGQgaW4gYSBtYXAgYnkgSURcclxuICAgICAgICB0aGlzLmZpZWxkTWFwLnNldChmaWVsZD8uSUQ/LnRvTG93ZXJDYXNlKCksIG1vZGVsKTtcclxuICAgICAgICByZXR1cm4gbW9kZWw7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYWxsRmllbGRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZmllbGQgYnkgaXRzIElEIG9yIG5hbWUuXHJcbiAgICogSWYgdGhlIGZpZWxkIGlzIGNhY2hlZCwgaXQgcmV0dXJucyBpdCBmcm9tIHRoZSBjYWNoZS5cclxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGZpZWxkcy5cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRPck5hbWUgLSBUaGUgSUQgb3IgbmFtZSBvZiB0aGUgZmllbGQgdG8gcmV0cmlldmUuXHJcbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWR9IC0gVGhlIGZpZWxkIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxyXG4gICAqL1xyXG4gIGZpZWxkKGlkT3JOYW1lOiBzdHJpbmcpOiBBcHBGaWVsZE1vZGVsIHwgdW5kZWZpbmVkIHtcclxuICAgIC8vIEVuc3VyZSBhbGwgZmllbGRzIGFyZSBsb2FkZWQgYW5kIGNhY2hlZFxyXG4gICAgdGhpcy5maWVsZHMoKTtcclxuXHJcbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgaXMgYXZhaWxhYmxlIGluIHRoZSBjYWNoZSBtYXBcclxuICAgIGlmICh0aGlzLmZpZWxkTWFwLmhhcyhpZE9yTmFtZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmllbGRNYXAuZ2V0KGlkT3JOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb252ZXJ0IHRoZSBpZE9yTmFtZSB0byBsb3dlcmNhc2UgZm9yIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoXHJcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAvLyBGaW5kIHRoZSBmaWVsZCBieSBtYXRjaGluZyBJRCBvciBuYW1lLCBjYXNlLWluc2Vuc2l0aXZlbHlcclxuICAgIHJldHVybiB0aGlzLmFsbEZpZWxkcz8uZmluZChcclxuICAgICAgZiA9PiBmLklEPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGYuRmllbGROYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGYuRGlzcGxheU5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IGlkTG93ZXJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYWxsIGZpZWxkcyBvZiB0aGUgYXBwIG9iamVjdCB0aGF0IGFyZSBsb29rdXAgZmllbGRzLlxyXG4gICAqIEEgbG9va3VwIGZpZWxkIGlzIGEgZmllbGQgdGhhdCBoYXMgYSByZWxhdGlvbnNoaXAgd2l0aCBhbm90aGVyIGZpZWxkLlxyXG4gICAqIEl0IGlzIHVzZWQgdG8gcGVyZm9ybSBsb29rdXBzLCBzdWNoIGFzIHJldHJpZXZpbmcgYSBsaXN0IG9mIHZhbHVlc1xyXG4gICAqIGZyb20gYSByZWxhdGVkIGZpZWxkLlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtBcHBGaWVsZE1vZGVsW119IC0gQW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgYXJlIGxvb2t1cCBmaWVsZHMuXHJcbiAgICovXHJcbiAgbG9va3VwRmllbGRzKCk6IEFwcEZpZWxkTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5maWx0ZXIoZmllbGQgPT4gZmllbGQuSXNMb29rdXApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGZpZWxkcyBmb3IgdGhlIGFwcCBvYmplY3QgdGhhdCBzYXRpc2Z5IHRoZSBnaXZlbiBmaWx0ZXIgZnVuY3Rpb24uXHJcbiAgICogVGhlIGZpbHRlciBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBlYWNoIGZpZWxkIGFzIGFuIGFyZ3VtZW50LCBhbmQgc2hvdWxkIHJldHVybiB0cnVlIGlmIHRoZSBmaWVsZFxyXG4gICAqIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LlxyXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZpbHRlckZuIFRoZSBmaWx0ZXIgZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIGZpZWxkcy5cclxuICAgKiBAcmV0dXJucyB7QXBwRmllbGRNb2RlbFtdfSBUaGUgYXJyYXkgb2YgZmllbGRzIHRoYXQgc2F0aXNmeSB0aGUgZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqL1xyXG4gIGZpbmRGaWVsZHMoZmlsdGVyRm46IChmaWVsZDogQXBwRmllbGRNb2RlbCkgPT4gYm9vbGVhbik6IEFwcEZpZWxkTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5maWx0ZXIoZmlsdGVyRm4pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFsbCBkYXRhIHNvdXJjZSBxdWVyaWVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIEFwcE9iamVjdC4gXHJcbiAgICogVGhlIHF1ZXJpZXMgYXJlIGNhY2hlZCBmb3IgZmFzdGVyIHN1YnNlcXVlbnQgYWNjZXNzLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELCBRdWVyeU5hbWUsIGFuZCBEaXNwbGF5TmFtZS5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSBBbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzLlxyXG4gICAqL1xyXG4gIGRhdGFTb3VyY2VRdWVyaWVzKCk6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10ge1xyXG4gICAgLy8gQ2hlY2sgaWYgYWxsRFNRcyBpcyBlbXB0eSBvciB1bmRlZmluZWRcclxuICAgIGlmICghdGhpcy5hbGxEU1FzPy5sZW5ndGgpIHtcclxuICAgICAgLy8gTWFwIHRoZSByYXcgRGF0YVNvdXJjZVF1ZXJpZXMgdG8gRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgaW5zdGFuY2VzXHJcbiAgICAgIHRoaXMuYWxsRFNRcyA9ICh0aGlzLnJhdz8uRGF0YVNvdXJjZVF1ZXJpZXMgPz8gW10pLm1hcCgoZHNxOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBEYXRhU291cmNlUXVlcnlNb2RlbChkc3EsIHRoaXMsIHRoaXMubWV0YWRhdGFIZWxwZXIpO1xyXG4gICAgICAgIC8vIENhY2hlIHRoZSBEYXRhU291cmNlUXVlcnkgaW4gYSBtYXAgYnkgSUQsIFF1ZXJ5TmFtZSwgYW5kIERpc3BsYXlOYW1lXHJcbiAgICAgICAgdGhpcy5kc3FNYXAuc2V0KGRzcT8uSUQ/LnRvTG93ZXJDYXNlKCksIG1vZGVsKTtcclxuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5RdWVyeU5hbWUsIG1vZGVsKTtcclxuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5EaXNwbGF5TmFtZSwgbW9kZWwpO1xyXG4gICAgICAgIHJldHVybiBtb2RlbDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5hbGxEU1FzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZGF0YSBzb3VyY2UgcXVlcnkgYnkgaXRzIElEIG9yIG5hbWUuXHJcbiAgICogSWYgdGhlIHF1ZXJ5IGlzIGNhY2hlZCwgaXQgcmV0dXJucyBpdCBmcm9tIHRoZSBjYWNoZS5cclxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkT3JOYW1lIC0gVGhlIElEIG9yIG5hbWUgb2YgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZH0gLSBUaGUgZGF0YSBzb3VyY2UgcXVlcnkgbW9kZWwgaWYgZm91bmQsIG90aGVyd2lzZSB1bmRlZmluZWQuXHJcbiAgICovXHJcbiAgZGF0YVNvdXJjZVF1ZXJ5KGlkT3JOYW1lOiBzdHJpbmcpOiBEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZCB7XHJcbiAgICAvLyBFbnN1cmUgYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMgYXJlIGxvYWRlZCBhbmQgY2FjaGVkXHJcbiAgICB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCk7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUgbWFwXHJcbiAgICBpZiAodGhpcy5kc3FNYXAuaGFzKGlkT3JOYW1lKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kc3FNYXAuZ2V0KGlkT3JOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb252ZXJ0IHRoZSBpZE9yTmFtZSB0byBsb3dlcmNhc2UgZm9yIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoXHJcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAvLyBGaW5kIHRoZSBkYXRhIHNvdXJjZSBxdWVyeSBieSBtYXRjaGluZyBRdWVyeU5hbWUgb3IgRGlzcGxheU5hbWUsIGNhc2UtaW5zZW5zaXRpdmVseVxyXG4gICAgcmV0dXJuIHRoaXMuYWxsRFNRcz8uZmluZChcclxuICAgICAgZHNxID0+IGRzcS5JRD8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBkc3EuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGRzcS5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlclxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzIHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBkYXRhIHNvdXJjZSBxdWVyeSBhcyBhbiBhcmd1bWVudC5cclxuICAgKiBJZiB0aGUgZmlsdGVyIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzLlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSAtIFRoZSBhcnJheSBvZiBkYXRhIHNvdXJjZSBxdWVyaWVzIHRoYXQgc2F0aXNmeSB0aGUgZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqL1xyXG4gIGZpbmREYXRhU291cmNlUXVlcmllcyhmaWx0ZXJGbjogKGRzcTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCkuZmlsdGVyKGZpbHRlckZuKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaGVzIGZvciB0aGUgZ2l2ZW4gdGVybSBpbiB0aGUgZmllbGRzIGFuZCBkYXRhIHNvdXJjZSBxdWVyaWVzIG9mIHRoaXMgQXBwT2JqZWN0LlxyXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxyXG4gICAqICAgLSBGaWVsZCBuYW1lIGFuZCBkZXNjcmlwdGlvblxyXG4gICAqICAgLSBEYXRhIHNvdXJjZSBxdWVyeSBuYW1lLCBkaXNwbGF5IG5hbWUsIGFuZCBkZXNjcmlwdGlvblxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIC0gVGhlIHNlYXJjaCB0ZXJtIHRvIHNlYXJjaCBmb3IuXHJcbiAgICogQHJldHVybnMge3sgZmllbGRzOiBBcHBGaWVsZE1vZGVsW107IGRzcXM6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10gfX0gLSBBbiBvYmplY3Qgd2l0aCB0aGUgc2VhcmNoIHJlc3VsdHMuXHJcbiAgICogICBUaGUgYGZpZWxkc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxyXG4gICAqICAgVGhlIGBkc3FzYCBwcm9wZXJ0eSBjb250YWlucyBhbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxyXG4gICAqL1xyXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB7IGZpZWxkczogQXBwRmllbGRNb2RlbFtdOyBkc3FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIH0ge1xyXG4gICAgLy8gU2VhcmNoIGZvciB0aGUgdGVybSBpbiB0aGUgZmllbGRzXHJcbiAgICBjb25zdCBmaWVsZHMgPSB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5zZWFyY2godGVybSkpO1xyXG5cclxuICAgIC8vIFNlYXJjaCBmb3IgdGhlIHRlcm0gaW4gdGhlIGRhdGEgc291cmNlIHF1ZXJpZXNcclxuICAgIGNvbnN0IGRzcXMgPSB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCkuZmlsdGVyKGRzcSA9PiBkc3Euc2VhcmNoKHRlcm0pKTtcclxuXHJcbiAgICAvLyBSZXR1cm4gdGhlIHNlYXJjaCByZXN1bHRzXHJcbiAgICByZXR1cm4geyBmaWVsZHMsIGRzcXMgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IG9iamVjdCB0byBhIEpTT04gb2JqZWN0LlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge2FueX0gVGhlIHJhdyBkYXRhIGFzIGEgSlNPTiBvYmplY3QuXHJcbiAgICovXHJcbiAgdG9KU09OKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5yYXc7XHJcbiAgfVxyXG59Il19
@@ -2,19 +2,19 @@ export class AppScreenModel {
2
2
  constructor(raw) {
3
3
  this.raw = raw;
4
4
  this.parsedScreenConfiguration = null;
5
- this.ID = raw?.screenId;
6
- this.Name = raw?.screenName;
7
- this.Description = raw?.description;
8
- this.ScreenType = raw?.screenType;
9
- this.DataSourceQuery = raw?.queryId;
10
- this.Container = null;
11
- this.ScreenConfiguration = raw?.screenConfiguration;
5
+ this.ID = raw?.ID;
6
+ this.Name = raw?.Name;
7
+ this.Description = raw?.Description;
8
+ this.ScreenType = raw?.ScreenType;
9
+ this.DataSourceQuery = raw?.DataSourceQuery;
10
+ this.Container = raw?.Container;
11
+ this.ScreenConfiguration = raw?.ScreenConfiguration;
12
12
  this.AppId = raw?.AppId;
13
13
  this.RecordId = raw?.RecordId;
14
14
  this.IsSystemRecord = raw?.IsSystemRecord;
15
15
  try {
16
- if (typeof raw?.screenConfiguration === 'string' && raw?.screenConfiguration?.includes('{')) {
17
- this.parsedScreenConfiguration = JSON.parse(raw.screenConfiguration);
16
+ if (typeof raw?.ScreenConfiguration === 'string' && raw?.ScreenConfiguration?.includes('{')) {
17
+ this.parsedScreenConfiguration = JSON.parse(raw.ScreenConfiguration);
18
18
  }
19
19
  }
20
20
  catch (e) {
@@ -44,23 +44,12 @@ export class AppScreenModel {
44
44
  (this.Name && this.Name?.toLowerCase()?.includes(lower)));
45
45
  }
46
46
  /**
47
- * Converts the model to JSON in the old API format (PascalCase).
47
+ * Converts the current object to a JSON object.
48
48
  *
49
- * @returns A JSON representation in old format.
49
+ * @returns A JSON representation of the current object.
50
50
  */
51
51
  toJSON() {
52
- return {
53
- ID: this.ID,
54
- Name: this.Name,
55
- Description: this.Description,
56
- ScreenType: this.ScreenType,
57
- DataSourceQuery: this.DataSourceQuery,
58
- Container: this.Container,
59
- ScreenConfiguration: this.ScreenConfiguration,
60
- AppId: this.AppId,
61
- RecordId: this.RecordId,
62
- IsSystemRecord: this.IsSystemRecord
63
- };
52
+ return this.raw;
64
53
  }
65
54
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNjcmVlbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLXNjcmVlbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sY0FBYztJQWF2QixZQUFvQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUZuQiw4QkFBeUIsR0FBUSxJQUFJLENBQUM7UUFHM0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsUUFBUSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLFVBQVUsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsVUFBVSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxFQUFFLG1CQUFtQixDQUFDO1FBQ3BELElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRSxRQUFRLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLEVBQUUsY0FBYyxDQUFDO1FBRTFDLElBQUksQ0FBQztZQUNELElBQUksT0FBTyxHQUFHLEVBQUUsbUJBQW1CLEtBQUssUUFBUSxJQUFJLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUYsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDekUsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQjtRQUNkLHFEQUFxRDtRQUNyRCxxRUFBcUU7UUFDckUsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLHNDQUFzQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsSUFBWTtRQUNmLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxPQUFPLE9BQU87UUFDVixlQUFlO1FBQ2YsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BELGlCQUFpQjtZQUNqQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNGLE9BQU87WUFDSCxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtZQUM3QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztTQUN0QyxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NyZWVuVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9jb21tb24uZW51bVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcFNjcmVlbk1vZGVsIHtcclxuICAgIHJlYWRvbmx5IElEOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBOYW1lOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgU2NyZWVuVHlwZTogU2NyZWVuVHlwZTtcclxuICAgIHJlYWRvbmx5IERhdGFTb3VyY2VRdWVyeTogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgQ29udGFpbmVyOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgcmVhZG9ubHkgU2NyZWVuQ29uZmlndXJhdGlvbjogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgQXBwSWQ6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IFJlY29yZElkOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBJc1N5c3RlbVJlY29yZDogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5IHBhcnNlZFNjcmVlbkNvbmZpZ3VyYXRpb246IGFueSA9IG51bGw7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByYXc6IGFueSkge1xyXG4gICAgICAgIHRoaXMuSUQgPSByYXc/LnNjcmVlbklkO1xyXG4gICAgICAgIHRoaXMuTmFtZSA9IHJhdz8uc2NyZWVuTmFtZTtcclxuICAgICAgICB0aGlzLkRlc2NyaXB0aW9uID0gcmF3Py5kZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLlNjcmVlblR5cGUgPSByYXc/LnNjcmVlblR5cGU7XHJcbiAgICAgICAgdGhpcy5EYXRhU291cmNlUXVlcnkgPSByYXc/LnF1ZXJ5SWQ7XHJcbiAgICAgICAgdGhpcy5Db250YWluZXIgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuU2NyZWVuQ29uZmlndXJhdGlvbiA9IHJhdz8uc2NyZWVuQ29uZmlndXJhdGlvbjtcclxuICAgICAgICB0aGlzLkFwcElkID0gcmF3Py5BcHBJZDtcclxuICAgICAgICB0aGlzLlJlY29yZElkID0gcmF3Py5SZWNvcmRJZDtcclxuICAgICAgICB0aGlzLklzU3lzdGVtUmVjb3JkID0gcmF3Py5Jc1N5c3RlbVJlY29yZDtcclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiByYXc/LnNjcmVlbkNvbmZpZ3VyYXRpb24gPT09ICdzdHJpbmcnICYmIHJhdz8uc2NyZWVuQ29uZmlndXJhdGlvbj8uaW5jbHVkZXMoJ3snKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYXJzZWRTY3JlZW5Db25maWd1cmF0aW9uID0gSlNPTi5wYXJzZShyYXcuc2NyZWVuQ29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgU2NyZWVuQ29uZmlndXJhdGlvbjonLCBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgYXBwIHNjcmVlbiBoYXMgYSB2YWxpZCBkYXRhIHNvdXJjZSBxdWVyeVxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGN1cnJlbnQgYXBwIHNjcmVlbiBoYXMgYSB2YWxpZCBkYXRhIHNvdXJjZSBxdWVyeVxyXG4gICAgICovXHJcbiAgICBoYXNEYXRhU291cmNlUXVlcnkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIERhdGFTb3VyY2VRdWVyeSBwcm9wZXJ0eSBpcyBwb3B1bGF0ZWRcclxuICAgICAgICAvLyBhbmQgaXMgbm90IHRoZSBkZWZhdWx0IEdVSUQgKDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMClcclxuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLkRhdGFTb3VyY2VRdWVyeSAmJiB0aGlzLkRhdGFTb3VyY2VRdWVyeSAhPT0gJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiB0ZXJtIGluIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IGFwcCBzY3JlZW5cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybVxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IGZpZWxkXHJcbiAgICAgKi9cclxuICAgIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBsb3dlciA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgICAgICByZXR1cm4gQm9vbGVhbihcclxuICAgICAgICAgICAgLy8gU2VhcmNoIGluIElEXHJcbiAgICAgICAgICAgICh0aGlzLklEICYmIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKGxvd2VyKSkgfHxcclxuICAgICAgICAgICAgLy8gU2VhcmNoIGluIE5hbWVcclxuICAgICAgICAgICAgKHRoaXMuTmFtZSAmJiB0aGlzLk5hbWU/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKGxvd2VyKSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydHMgdGhlIG1vZGVsIHRvIEpTT04gaW4gdGhlIG9sZCBBUEkgZm9ybWF0IChQYXNjYWxDYXNlKS5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyBBIEpTT04gcmVwcmVzZW50YXRpb24gaW4gb2xkIGZvcm1hdC5cclxuICAgICAqL1xyXG4gICAgdG9KU09OKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgSUQ6IHRoaXMuSUQsXHJcbiAgICAgICAgICAgIE5hbWU6IHRoaXMuTmFtZSxcclxuICAgICAgICAgICAgRGVzY3JpcHRpb246IHRoaXMuRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgIFNjcmVlblR5cGU6IHRoaXMuU2NyZWVuVHlwZSxcclxuICAgICAgICAgICAgRGF0YVNvdXJjZVF1ZXJ5OiB0aGlzLkRhdGFTb3VyY2VRdWVyeSxcclxuICAgICAgICAgICAgQ29udGFpbmVyOiB0aGlzLkNvbnRhaW5lcixcclxuICAgICAgICAgICAgU2NyZWVuQ29uZmlndXJhdGlvbjogdGhpcy5TY3JlZW5Db25maWd1cmF0aW9uLFxyXG4gICAgICAgICAgICBBcHBJZDogdGhpcy5BcHBJZCxcclxuICAgICAgICAgICAgUmVjb3JkSWQ6IHRoaXMuUmVjb3JkSWQsXHJcbiAgICAgICAgICAgIElzU3lzdGVtUmVjb3JkOiB0aGlzLklzU3lzdGVtUmVjb3JkXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNjcmVlbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLXNjcmVlbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sY0FBYztJQWF2QixZQUFvQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUZuQiw4QkFBeUIsR0FBUSxJQUFJLENBQUM7UUFHM0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsVUFBVSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFLGVBQWUsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUUsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFLGNBQWMsQ0FBQztRQUUxQyxJQUFJLENBQUM7WUFDRCxJQUFJLE9BQU8sR0FBRyxFQUFFLG1CQUFtQixLQUFLLFFBQVEsSUFBSSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFGLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0I7UUFDZCxxREFBcUQ7UUFDckQscUVBQXFFO1FBQ3JFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQVk7UUFDZixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsT0FBTyxPQUFPO1FBQ1YsZUFBZTtRQUNmLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxpQkFBaUI7WUFDakIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzNELENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NyZWVuVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9jb21tb24uZW51bVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcFNjcmVlbk1vZGVsIHtcclxuICAgIHJlYWRvbmx5IElEOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBOYW1lOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgU2NyZWVuVHlwZTogU2NyZWVuVHlwZTtcclxuICAgIHJlYWRvbmx5IERhdGFTb3VyY2VRdWVyeTogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgQ29udGFpbmVyOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgcmVhZG9ubHkgU2NyZWVuQ29uZmlndXJhdGlvbjogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgQXBwSWQ6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IFJlY29yZElkOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBJc1N5c3RlbVJlY29yZDogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5IHBhcnNlZFNjcmVlbkNvbmZpZ3VyYXRpb246IGFueSA9IG51bGw7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByYXc6IGFueSkge1xyXG4gICAgICAgIHRoaXMuSUQgPSByYXc/LklEO1xyXG4gICAgICAgIHRoaXMuTmFtZSA9IHJhdz8uTmFtZTtcclxuICAgICAgICB0aGlzLkRlc2NyaXB0aW9uID0gcmF3Py5EZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLlNjcmVlblR5cGUgPSByYXc/LlNjcmVlblR5cGU7XHJcbiAgICAgICAgdGhpcy5EYXRhU291cmNlUXVlcnkgPSByYXc/LkRhdGFTb3VyY2VRdWVyeTtcclxuICAgICAgICB0aGlzLkNvbnRhaW5lciA9IHJhdz8uQ29udGFpbmVyO1xyXG4gICAgICAgIHRoaXMuU2NyZWVuQ29uZmlndXJhdGlvbiA9IHJhdz8uU2NyZWVuQ29uZmlndXJhdGlvbjtcclxuICAgICAgICB0aGlzLkFwcElkID0gcmF3Py5BcHBJZDtcclxuICAgICAgICB0aGlzLlJlY29yZElkID0gcmF3Py5SZWNvcmRJZDtcclxuICAgICAgICB0aGlzLklzU3lzdGVtUmVjb3JkID0gcmF3Py5Jc1N5c3RlbVJlY29yZDtcclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiByYXc/LlNjcmVlbkNvbmZpZ3VyYXRpb24gPT09ICdzdHJpbmcnICYmIHJhdz8uU2NyZWVuQ29uZmlndXJhdGlvbj8uaW5jbHVkZXMoJ3snKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYXJzZWRTY3JlZW5Db25maWd1cmF0aW9uID0gSlNPTi5wYXJzZShyYXcuU2NyZWVuQ29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgU2NyZWVuQ29uZmlndXJhdGlvbjonLCBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgYXBwIHNjcmVlbiBoYXMgYSB2YWxpZCBkYXRhIHNvdXJjZSBxdWVyeVxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGN1cnJlbnQgYXBwIHNjcmVlbiBoYXMgYSB2YWxpZCBkYXRhIHNvdXJjZSBxdWVyeVxyXG4gICAgICovXHJcbiAgICBoYXNEYXRhU291cmNlUXVlcnkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIERhdGFTb3VyY2VRdWVyeSBwcm9wZXJ0eSBpcyBwb3B1bGF0ZWRcclxuICAgICAgICAvLyBhbmQgaXMgbm90IHRoZSBkZWZhdWx0IEdVSUQgKDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMClcclxuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLkRhdGFTb3VyY2VRdWVyeSAmJiB0aGlzLkRhdGFTb3VyY2VRdWVyeSAhPT0gJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiB0ZXJtIGluIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IGFwcCBzY3JlZW5cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybVxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IGZpZWxkXHJcbiAgICAgKi9cclxuICAgIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBsb3dlciA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgICAgICByZXR1cm4gQm9vbGVhbihcclxuICAgICAgICAgICAgLy8gU2VhcmNoIGluIElEXHJcbiAgICAgICAgICAgICh0aGlzLklEICYmIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKGxvd2VyKSkgfHxcclxuICAgICAgICAgICAgLy8gU2VhcmNoIGluIE5hbWVcclxuICAgICAgICAgICAgKHRoaXMuTmFtZSAmJiB0aGlzLk5hbWU/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKGxvd2VyKSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydHMgdGhlIGN1cnJlbnQgb2JqZWN0IHRvIGEgSlNPTiBvYmplY3QuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgQSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjdXJyZW50IG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgdG9KU09OKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmF3O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==