@provoly/dashboard 1.1.0 → 1.1.2

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 (110) hide show
  1. package/assets/svgs/analytic.svg +1 -0
  2. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +5 -4
  3. package/esm2022/import/components/import.component.mjs +22 -10
  4. package/esm2022/import/i18n/en.translations.mjs +3 -1
  5. package/esm2022/import/i18n/fr.translations.mjs +3 -1
  6. package/esm2022/lib/core/access/access.service.mjs +4 -1
  7. package/esm2022/lib/core/i18n/en.translations.mjs +2 -1
  8. package/esm2022/lib/core/i18n/fr.translations.mjs +2 -1
  9. package/esm2022/lib/core/model/public-api.mjs +2 -1
  10. package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +1 -1
  11. package/esm2022/lib/core/model/widget-analytic-manifest.interface.mjs +2 -0
  12. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +8 -12
  13. package/esm2022/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.mjs +5 -11
  14. package/esm2022/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.mjs +6 -6
  15. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +5 -2
  16. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +12 -1
  17. package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +4 -3
  18. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +4 -2
  19. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -2
  20. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +6 -4
  21. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +17 -9
  22. package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +8 -2
  23. package/esm2022/presentation/components/presentation.component.mjs +18 -9
  24. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +42 -87
  25. package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +2 -1
  26. package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +3 -5
  27. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +108 -0
  28. package/esm2022/widgets/widget-analytic/i18n/en.translations.mjs +13 -0
  29. package/esm2022/widgets/widget-analytic/i18n/fr.translations.mjs +13 -0
  30. package/esm2022/widgets/widget-analytic/provoly-dashboard-widgets-widget-analytic.mjs +5 -0
  31. package/esm2022/widgets/widget-analytic/public-api.mjs +3 -0
  32. package/esm2022/widgets/widget-analytic/style/css.component.mjs +11 -0
  33. package/esm2022/widgets/widget-analytic/widget-analytic.module.mjs +70 -0
  34. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +2 -2
  35. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +2 -2
  36. package/esm2022/widgets/widget-iframe/component/widget-iframe.component.mjs +2 -2
  37. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +18 -141
  38. package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +2 -34
  39. package/esm2022/widgets/widget-map/interaction/tooltip-manager.class.mjs +191 -0
  40. package/esm2022/widgets/widget-map/public-api.mjs +2 -1
  41. package/esm2022/widgets/widget-map/style/css.component.mjs +2 -2
  42. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +2 -2
  43. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +24 -5
  44. package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +2 -2
  45. package/fesm2022/provoly-dashboard-admin.mjs +3 -2
  46. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  47. package/fesm2022/provoly-dashboard-import.mjs +25 -9
  48. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  49. package/fesm2022/provoly-dashboard-presentation.mjs +17 -8
  50. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  51. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +45 -91
  52. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  53. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +211 -0
  54. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -0
  55. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
  56. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  57. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +1 -1
  58. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  59. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs +1 -1
  60. package/fesm2022/provoly-dashboard-widgets-widget-iframe.mjs.map +1 -1
  61. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +207 -175
  62. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  63. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
  64. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  65. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +23 -4
  66. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  67. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +1 -1
  68. package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
  69. package/fesm2022/provoly-dashboard.mjs +71 -43
  70. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  71. package/import/components/import.component.d.ts +4 -2
  72. package/import/i18n/en.translations.d.ts +2 -0
  73. package/import/i18n/fr.translations.d.ts +2 -0
  74. package/lib/core/access/access.service.d.ts +3 -0
  75. package/lib/core/i18n/en.translations.d.ts +1 -0
  76. package/lib/core/i18n/fr.translations.d.ts +1 -0
  77. package/lib/core/model/public-api.d.ts +1 -0
  78. package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +3 -12
  79. package/lib/core/model/widget-analytic-manifest.interface.d.ts +6 -0
  80. package/lib/core/store/aggregation/frontend-aggregation/aggregation-utils.class.d.ts +4 -4
  81. package/lib/core/store/aggregation/frontend-aggregation/frontend-aggregation.service.d.ts +2 -2
  82. package/lib/core/store/data-source/data-source.effects.d.ts +4 -2
  83. package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +3 -1
  84. package/lib/dashboard/store/dashboard.actions.d.ts +11 -1
  85. package/lib/dashboard/store/dashboard.effects.d.ts +2 -0
  86. package/lib/dashboard/store/dashboard.reducers.d.ts +3 -1
  87. package/lib/dashboard/store/dashboard.selectors.d.ts +1 -1
  88. package/package.json +37 -31
  89. package/presentation/components/presentation.component.d.ts +5 -3
  90. package/styles/components/_o-pry-admin-classes-customize.scss +1 -0
  91. package/styles-theme/components-theme/_o-widget.theme.scss +0 -14
  92. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +9 -7
  93. package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +1 -0
  94. package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +2 -4
  95. package/widgets/widget-analytic/component/widget-analytic.component.d.ts +47 -0
  96. package/widgets/widget-analytic/i18n/en.translations.d.ts +12 -0
  97. package/widgets/widget-analytic/i18n/fr.translations.d.ts +12 -0
  98. package/widgets/widget-analytic/index.d.ts +5 -0
  99. package/widgets/widget-analytic/public-api.d.ts +2 -0
  100. package/widgets/widget-analytic/style/_o-widget-analytic.scss +43 -0
  101. package/widgets/widget-analytic/style/css.component.d.ts +5 -0
  102. package/widgets/widget-analytic/widget-analytic.module.d.ts +19 -0
  103. package/widgets/widget-iframe/component/widget-iframe.component.d.ts +3 -1
  104. package/widgets/widget-map/component/widget-map.component.d.ts +12 -23
  105. package/widgets/widget-map/interaction/interaction-manager.class.d.ts +0 -5
  106. package/widgets/widget-map/interaction/tooltip-manager.class.d.ts +43 -0
  107. package/widgets/widget-map/public-api.d.ts +1 -0
  108. package/widgets/widget-map/style/_m-layer-legend.scss +1 -4
  109. package/widgets/widget-table/component/widget-table.component.d.ts +3 -1
  110. package/widgets/widget-tile/component/widget-tile.component.d.ts +7 -2
@@ -63,6 +63,7 @@ export const frTranslations = {
63
63
  },
64
64
  toolbox: {
65
65
  defaultSize: 'Taille de restitution',
66
+ analytic: 'Tableau analytique',
66
67
  manifest: {
67
68
  name: 'Nom de la présentation',
68
69
  description: 'Description de la présentation',
@@ -397,4 +398,4 @@ export const frTranslations = {
397
398
  }
398
399
  }
399
400
  };
400
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvaTE4bi9mci50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtRQUNELEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsR0FBRyxFQUFFLGFBQWE7WUFDbEIsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsT0FBTztZQUNmLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsU0FBUyxFQUFFLHFCQUFxQjtTQUNqQztRQUNELE1BQU0sRUFBRTtZQUNOLHFCQUFxQixFQUFFLDhCQUE4QjtTQUN0RDtRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSx1Q0FBdUM7WUFDL0MsWUFBWSxFQUFFLDhDQUE4QztZQUM1RCxXQUFXLEVBQUUsc0RBQXNEO1lBQ25FLGFBQWEsRUFBRSwwREFBMEQ7WUFDekUsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxhQUFhO2dCQUNwQixXQUFXLEVBQUUseUJBQXlCO2dCQUN0QyxnQkFBZ0IsRUFBRSx5QkFBeUI7YUFDNUM7WUFDRCxhQUFhLEVBQUUsc0NBQXNDO1lBQ3JELFlBQVksRUFBRSw4QkFBOEI7WUFDNUMsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSx3Q0FBd0M7Z0JBQ2hELFVBQVUsRUFBRSxxQkFBcUI7Z0JBQ2pDLFlBQVksRUFBRSw2QkFBNkI7Z0JBQzNDLGFBQWEsRUFBRSxzQkFBc0I7Z0JBQ3JDLFVBQVUsRUFBRSx1QkFBdUI7Z0JBQ25DLFFBQVEsRUFBRSx5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QUUsU0FBUztZQUNoQixJQUFJLEVBQUU7Z0JBQ0osVUFBVSxFQUFFLGFBQWE7Z0JBQ3pCLEdBQUcsRUFBRSxpQkFBaUI7Z0JBQ3RCLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixNQUFNLEVBQUUsVUFBVTthQUNuQjtZQUNELFFBQVEsRUFBRTtnQkFDUixNQUFNLEVBQUUsaUJBQWlCO2dCQUN6QixNQUFNLEVBQUUsb0JBQW9CO2dCQUM1QixJQUFJLEVBQUUsZUFBZTtnQkFDckIsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixLQUFLLEVBQUUsUUFBUTtnQkFDZixNQUFNLEVBQUUsU0FBUztnQkFDakIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLEtBQUssRUFBRSxpREFBaUQ7Z0JBQ3hELFNBQVMsRUFBRSxnQkFBZ0I7YUFDNUI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsVUFBVSxFQUFFLFlBQVk7Z0JBQ3hCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFFBQVEsRUFBRSxXQUFXO2FBQ3RCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxPQUFPO2dCQUNiLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSxPQUFPO2dCQUNiLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixZQUFZLEVBQUUsdUJBQXVCO2FBQ3RDO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsa0JBQWtCO1NBQzVCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsVUFBVTtTQUNwQjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBmclRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BwcnknOiB7XG4gICAgc2VsZWN0OiB7XG4gICAgICBsYWJlbDogJ0xpc3RlIGRlcyBjaG9peCcsXG4gICAgICBsb2FkaW5nOiAnQ2hhcmdlbWVudCBlbiBjb3VycydcbiAgICB9LFxuICAgIGFib3V0OiB7XG4gICAgICBmcm9udDogJ0xpYnJhaXJpZSBmcm9udCcsXG4gICAgICByZWY6ICdSw6lmw6lyZW50aWVsJyxcbiAgICAgIGRhdGE6ICdEb25uw6llcycsXG4gICAgICByZXBsYXk6ICdSZWpldScsXG4gICAgICBleGVjOiAnRXjDqWN1dGlvbicsXG4gICAgICB0cmFuc2ZvOiAnVHJhbnNmb3JtYXRpb24nLFxuICAgICAgbm9WZXJzaW9uOiAnVmVyc2lvbiBub24gdHJvdXbDqWUnXG4gICAgfSxcbiAgICBoZWFkZXI6IHtcbiAgICAgIG5vQ3VycmVudFByZXNlbnRhdGlvbjogJ1Byw6lzZW50YXRpb24gbm9uIHNhdXZlZ2FyZMOpZSdcbiAgICB9LFxuICAgIHdpZGdldDoge1xuICAgICAgbm9EYXRhOiAnQXVjdW5lIHNvdXJjZSBkZSBkb25uw6llcyBzw6lsZWN0aW9ubsOpZScsXG4gICAgICB1bnJlY29nbml6ZWQ6ICdMYSByZXN0aXR1dGlvbiBkZSB0eXBlIHt7dHlwZX19IGVzdCBpbmNvbm51LicsXG4gICAgICBhZGRlZEluVmlldzogJ0xhIHJlc3RpdHV0aW9uIGEgw6l0w6kgYWpvdXTDqWUgc3VyIGxhIHBhZ2UgbsKwe3tpbmRleH19JyxcbiAgICAgIHVwZGF0ZWRJblZpZXc6ICdMYSByZXN0aXR1dGlvbiBhIMOpdMOpIG1pc2Ugw6Agam91ciBzdXIgbGEgcGFnZSBuwrB7e2luZGV4fX0nLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgdGl0bGU6ICdQYXJhbcOpdHJhZ2UnLFxuICAgICAgICBjaGFuZ2VUaXRsZTogJ1RpdHJlIGRlIGxhIHJlc3RpdHV0aW9uJyxcbiAgICAgICAgdmFsaWRhdGVVcGRhdGluZzogJ1ZhbGlkZXIgbGEgbW9kaWZpY2F0aW9uJ1xuICAgICAgfSxcbiAgICAgIGRlZmluZUNhdGFsb2c6ICdEw6lmaW5pc3NleiB2b3RyZSBlbnRyw6llIGRlIGNhdGFsb2d1ZScsXG4gICAgICBidXR0b25DaG9pY2U6ICdTw6lsZWN0aW9ubmVyIHVuZSByZXN0aXR1dGlvbicsXG4gICAgICB0b29sdGlwOiB7XG4gICAgICAgIHBhcmFtczogJ1BhcmFtw6l0cmVyIGxhIHZ1ZSBkZSB2b3RyZSByZXN0aXR1dGlvbicsXG4gICAgICAgIHJlYWRTZWFyY2g6ICdDaG9pc2lyIGxlcyBkb25uw6llcycsXG4gICAgICAgIGRlbGV0ZVdpZGdldDogJ1N1cHByaW1lciB2b3RyZSByZXN0aXR1dGlvbicsXG4gICAgICAgIGNhdGFsb2dXaWRnZXQ6ICdBam91dGVyIGF1IGNhdGFsb2d1ZScsXG4gICAgICAgIGNoYW5nZVNwb3Q6IFwiQ2hhbmdlciBkJ2VtcGxhY2VtZW50XCIsXG4gICAgICAgIHNwb3ROYW1lOiAnRW1wbGFjZW1lbnQgbsKwe3twbGFjZX19J1xuICAgICAgfSxcbiAgICAgIHRhcmdldDoge1xuICAgICAgICBuZXc6ICdPdXZyaXIgZGFucyB1bmUgbm91dmVsbGUgcGFnZScsXG4gICAgICAgIGV4aXN0aW5nOiAnT3V2cmlyIGRhbnMgbGEgcGFnZSBuwrB7e3RhcmdldEluZGV4fX0nLFxuICAgICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgICBtYXhpbWl6ZTogJ01heGltaXNlcicsXG4gICAgICAgIG5vbmVfYXV0bzogJ0luc8OpcmV6IGljaSB2b3MgcmVzdGl0dXRpb25zJyxcbiAgICAgICAgbm9uZV9tYW51YWw6ICdHbGlzc2VyIC0gRMOpcG9zZXInLFxuICAgICAgICBsb2FkaW5nOiAnQ2hhcmdlbWVudCdcbiAgICAgIH0sXG4gICAgICBuYW1lZFF1ZXJ5OiB7XG4gICAgICAgIGRlZmF1bHRSczogJ1JlY2hlcmNoZSBjb3VyYW50ZScsXG4gICAgICAgIHJlc3VsdHNBY2N1cmF0ZTogJ3t7dG90YWx9fScsXG4gICAgICAgIHJlc3VsdHNOb25BY2N1cmF0ZTogJ3t7ZGlzcGxheWVkfX0gc3VyIGVudmlyb24ge3t0b3RhbH19J1xuICAgICAgfSxcbiAgICAgIG1vZGFsVGl0bGU6ICdWb3VsZXotdm91cyBjb25maXJtZXIgPycsXG4gICAgICBpdGVtSWQ6ICdJZCcsXG4gICAgICBjbGFzczogJ0NsYXNzZScsXG4gICAgICBjb2xvclNjaGVtZTogJ1NjaMOpbWEgZGUgY291bGV1cicsXG4gICAgICBjdXN0b206ICdQZXJzb25hbGlzw6kgbsKwe3tpZH19JyxcbiAgICAgIGFkZENvbG9yOiAnQWpvdXRlciB1bmUgY291bGV1cicsXG4gICAgICByZW1vdmVDb2xvcjogJ1N1cHByaW1lciB1bmUgY291bGV1cidcbiAgICB9LFxuICAgIHZpZXc6IHtcbiAgICAgIG5hbWU6ICdQYWdlIG7CsHt7cmFua319J1xuICAgIH0sXG4gICAgdG9vbGJveDoge1xuICAgICAgZGVmYXVsdFNpemU6ICdUYWlsbGUgZGUgcmVzdGl0dXRpb24nLFxuICAgICAgbWFuaWZlc3Q6IHtcbiAgICAgICAgbmFtZTogJ05vbSBkZSBsYSBwcsOpc2VudGF0aW9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbiBkZSBsYSBwcsOpc2VudGF0aW9uJyxcbiAgICAgICAgc2F2ZWQ6ICdQcsOpc2VudGF0aW9uIHt7dmlld0lkfX0gc2F1dmVnYXJkw6llJyxcbiAgICAgICAgc2F2ZUVycm9yQ29kZToge1xuICAgICAgICAgIFVOS05PV046ICdFcnJldXIgaW5jb25udWUnLFxuICAgICAgICAgIEZPUkJJRERFTjogXCJWb3VzIG4nw6p0ZXMgcGFzIGxlIHByb3ByacOpdGFpcmUgZGUgY2V0dGUgcHLDqXNlbnRhdGlvbiBcIixcbiAgICAgICAgICBOQU1FX0FMUkVBRFlfVVNFRDogJ1VuZSBwcsOpc2VudGF0aW9uIGF2ZWMgbGUgbm9tIFwie3tuYW1lfX1cIiBleGlzdGUgZMOpasOgLCB2ZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuIGF1dHJlIG5vbS4nLFxuICAgICAgICAgIFNBVkVfTUVUQURBVEE6ICdWZXVpbGxleiBzYXV2ZWdhcmRlciBsYSBwcmVzZW50YXRpb24gYXZhbnQgZGUgY2hvaXNpciB1bmUgdGjDqW1hdGlxdWUuJ1xuICAgICAgICB9LFxuICAgICAgICBkZWZhdWx0ZWQ6ICdQcsOpc2VudGF0aW9uIHt7dmlld0lkfX0gbWFycXXDqWUgcGFyIGTDqWZhdXQnLFxuICAgICAgICB1bmRlZmF1bHRlZDogXCJMYSBwcsOpc2VudGF0aW9uIHt7dmlld0lkfX0gbidlc3QgcGx1cyBtYXJxdcOpZSBwYXIgZMOpZmF1dFwiLFxuICAgICAgICB2YWxpZGF0ZWQ6ICdWYWxpZGVyJyxcbiAgICAgICAgY2hlY2s6ICdFbnJlZ2lzdHJlcicsXG4gICAgICAgIGNsb3NlOiAnQW5udWxlcicsXG4gICAgICAgIHZhbGlkYXRlOiAnVmFsaWRlcidcbiAgICAgIH0sXG4gICAgICBjYXRhbG9nOiB7XG4gICAgICAgIHRpdGxlOiAnUGVyc29ubmFsaXPDqXMnLFxuICAgICAgICBsYWJlbDogJ05vbScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICBpY29uOiAnSW1hZ2UnLFxuICAgICAgICBmaWx0ZXI6IHtcbiAgICAgICAgICBkZWxldGU6ICdTdXBwcmltZXIgY2UgZmlsdHJlJyxcbiAgICAgICAgICB0eXBlOiAnRmlsdHJlciBwYXIgdHlwZScsXG4gICAgICAgICAgbmFtZTogJ0ZpbHRyZXIgcGFyIG5vbSdcbiAgICAgICAgfSxcbiAgICAgICAgc2F2ZUVycm9yQ29kZToge1xuICAgICAgICAgIFVOS05PV046ICdFcnJldXIgaW5jb25udWUnLFxuICAgICAgICAgIE5BTUVfQUxSRUFEWV9VU0VEOiAnVW5lIHJlc3RpdHV0aW9uIGF2ZWMgbGUgbm9tIFwie3tuYW1lfX1cIiBleGlzdGUgZMOpasOgLCB2ZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuIGF1dHJlIG5vbS4nXG4gICAgICAgIH0sXG4gICAgICAgIHNhdmVkOiAnUHLDqXNlbnRhdGlvbiB7e3ZpZXdJZH19IHNhdXZlZ2FyZMOpZSdcbiAgICAgIH0sXG4gICAgICBhYm91dDogJ0luZm9ybWF0aW9ucycsXG4gICAgICBlZGl0OiAnTW9kaWZpZXIgbGEgZGlzcG9zaXRpb24nLFxuICAgICAgZWRpdE9mZjogJ1Zpc3VhbGlzZXIgbGEgZGlzcG9zaXRpb24nLFxuICAgICAgbGF1bmNoOiAnTm91dmVsbGUgcGFnZScsXG4gICAgICBsYXVuY2hJbmRpY2F0aW9uOiAnT3V2cmlyIGNldHRlIHBhZ2UgZGFucyB1bicsXG4gICAgICBjaG9vc2VHcmlkOiAnQ2hhbmdlciBsYSBncmlsbGUnLFxuICAgICAgY2xlYXI6IFwiVmlkZXIgbCdhZmZpY2hhZ2VcIixcbiAgICAgIHJlZnJlc2g6ICdSYWZyYWljaGlyIGxlcyBkb25uw6llcycsXG4gICAgICBhdXRvbWF0ZVJlZnJlc2g6IFwiQXV0b21hdGlzZXIgbCdhY3R1YWxpc2F0aW9uXCIsXG4gICAgICBvcHRpb25zOiAnT3B0aW9ucycsXG4gICAgICBjbG9zZTogJ0Zlcm1lcicsXG4gICAgICBmaWx0ZXI6ICdGaWx0cmVyJyxcbiAgICAgIGhlYXRtYXA6ICdGcsOpcXVlbnRhdGlvbicsXG4gICAgICBidWJibGVtYXA6ICdCdWxsZXMnLFxuICAgICAgbWFya2VybWFwOiAnTWFycXVldXJzJyxcbiAgICAgIHNpbXBsZW1hcDogJ0NhcnRlJyxcbiAgICAgIG1hcDogJ0NhcnRlJyxcbiAgICAgIHRhYmxlOiAnVGFibGVhdScsXG4gICAgICBkZXRhaWw6ICdEw6l0YWlsJyxcbiAgICAgIGNoYXJ0OiAnR3JhcGhpcXVlJyxcbiAgICAgIHJlc3VsdFNldDogJ1JlY2hlcmNoZXMgbm9tbcOpZXMnLFxuICAgICAgcmVuYW1lOiAnRW5yZWdpc3RyZXIgc291cycsXG4gICAgICByZXN0b3JlOiAnUmVzdGF1cmVyIGxlcyBwYWdlcycsXG4gICAgICBzYXZlOiAnRW5yZWdpc3RyZXInLFxuICAgICAgZHJhZzogJ1Jlc3RpdHV0aW9uLi4uJyxcbiAgICAgIGRyYWdJbmRpY2F0aW9uOiAnSW5zw6lyZXIgdW4nLFxuICAgICAgYmFyY2hhcnQ6ICdCYXJyZXMnLFxuICAgICAgaGlzdG9ncmFtOiAnSGlzdG9ncmFtbWUnLFxuICAgICAgbGluZWNoYXJ0OiAnQ291cmJlJyxcbiAgICAgIHBvaW50Y2hhcnQ6ICdQb2ludHMnLFxuICAgICAgYXJlYWNoYXJ0OiAnQWlyZScsXG4gICAgICBhcmNjaGFydDogJ0NpcmN1bGFpcmUnLFxuICAgICAgcmFkYXJjaGFydDogJ1JhZGFyJyxcbiAgICAgIGNpcmNsZWNoYXJ0OiAnUGFxdWV0cyBkZSBjZXJjbGVzJyxcbiAgICAgIGlmcmFtZTogJ0FwcGxpY2F0aW9uIGV4dGVybmUnLFxuICAgICAgdmVnYTogJ0dyYXBoaXF1ZSBhdmFuY8OpJyxcbiAgICAgIGdyYXBoOiAnUmVsYXRpb25zJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnJyxcbiAgICAgIHN1Yjoge1xuICAgICAgICBtYXA6ICdDYXJ0b2dyYXBoaWUnLFxuICAgICAgICBjaGFydDogJ0dyYXBoaXF1ZScsXG4gICAgICAgIG90aGVyOiAnQXV0cmUnXG4gICAgICB9LFxuICAgICAgdGlsZTogJ1R1aWxlcycsXG4gICAgICB0ZW1wbGF0ZTogJ1RlbXBsYXRlIEhUTUwnLFxuICAgICAgbm93OiBcIkF1am91cmQnaHVpXCIsXG4gICAgICBzaW5jZV9kYXk6ICdJbCB5IGEge3tkYXl9fSBqb3Vye3twbHVyYWx9fScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgJzAnOiAnQ29tcG9zaXRpb24gbGlicmUnLFxuICAgICAgICAnMF9kZXRhaWxsZWQnOlxuICAgICAgICAgIFwiQWZmaWNoYWdlIGVuIG1vZGUgbGlicmUsIGxhIHRhaWxsZSBldCBsZSBwb3NpdGlvbm5lbWVudCBkZXMgcmVzdGl0dXRpb25zIHNvbnQgZW50acOocmVtZW50IHBhcmFtw6l0cmFibGVzIHBhciBsJ3V0aWxpc2F0ZXVyLlwiLFxuICAgICAgICAnMSc6ICdQbGVpbiDDqWNyYW4nLFxuICAgICAgICAnMV9kZXRhaWxsZWQnOlxuICAgICAgICAgIFwiQWZmaWNoYWdlIGTigJl1bmUgc2V1bGUgcmVzdGl0dXRpb24gc3VyIGwnZW5zZW1ibGUgZGUgbCfDqWNyYW4sIGxlIHBsYWNlbWVudCBlc3QgZ3VpZMOpIHBhciBsZSBzeXN0w6htZS5cIixcbiAgICAgICAgJzEvMnYnOiAnMS8yIMOpY3JhbiB2ZXJ0aWNhbCcsXG4gICAgICAgICcxLzJ2X2RldGFpbGxlZCc6XG4gICAgICAgICAgXCJBZmZpY2hhZ2UgZGUgMiByZXN0aXR1dGlvbnMgbWF4aW11bSBzdXIgbCfDqWNyYW4gZMOpY291cMOpIGVuIGRldXggem9uZXMgdmVydGljYWxlcywgbCdham91dCBkZSByZXN0aXR1dGlvbiBzZSBmYWl0IGRhbnMgbGVzIHpvbmVzIHZpZGVzLiBMZSBwbGFjZW1lbnQgZXN0IGd1aWTDqSBwYXIgbGUgc3lzdMOobWUuXCIsXG4gICAgICAgICcxLzJoJzogJzEvMiDDqWNyYW4gaG9yaXpvbnRhbCcsXG4gICAgICAgICcxLzJoX2RldGFpbGxlZCc6XG4gICAgICAgICAgXCJBZmZpY2hhZ2UgZGUgMiByZXN0aXR1dGlvbnMgbWF4aW11bSBzdXIgbOKAmcOpY3JhbiBkw6ljb3Vww6kgZW4gZGV1eCB6b25lcyBob3Jpem9udGFsZXMsIGwnYWpvdXQgZGUgcmVzdGl0dXRpb24gc2UgZmFpdCBkYW5zIGxlcyB6b25lcyB2aWRlcy4gTGUgcGxhY2VtZW50IGVzdCBndWlkw6kgcGFyIGxlIHN5c3TDqG1lLlwiLFxuICAgICAgICAnMS8zdic6ICcxLzMgw6ljcmFuIHZlcnRpY2FsJyxcbiAgICAgICAgJzEvM3ZfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBkZSAzIHJlc3RpdHV0aW9ucyBtYXhpbXVtIHN1ciBs4oCZw6ljcmFuIGTDqWNvdXDDqSBlbiB0cm9pcyB6b25lcyB2ZXJ0aWNhbGVzLCBsJ2Fqb3V0IGRlIHJlc3RpdHV0aW9uIHNlIGZhaXQgZGFucyBsZXMgem9uZXMgdmlkZXMuIExlIHBsYWNlbWVudCBlc3QgZ3VpZMOpIHBhciBsZSBzeXN0w6htZS5cIixcbiAgICAgICAgJzEvM2gnOiAnMS8zIMOpY3JhbiBob3Jpem9udGFsJyxcbiAgICAgICAgJzEvM2hfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBkZSAzIHJlc3RpdHV0aW9ucyBtYXhpbXVtIHN1ciBs4oCZw6ljcmFuIGTDqWNvdXDDqSBlbiB0cm9pcyB6b25lcyBob3Jpem9udGFsZXMsIGwnYWpvdXQgZGUgcmVzdGl0dXRpb24gc2UgZmFpdCBkYW5zIGxlcyB6b25lcyB2aWRlcy4gTGUgcGxhY2VtZW50IGVzdCBndWlkw6kgcGFyIGxlIHN5c3TDqG1lLlwiLFxuICAgICAgICAnMS80JzogJzEvNCDDqWNyYW4nLFxuICAgICAgICAnMS80X2RldGFpbGxlZCc6XG4gICAgICAgICAgXCJBZmZpY2hhZ2UgZGUgNCByZXN0aXR1dGlvbnMgbWF4aW11bSBzdXIgbOKAmcOpY3JhbiBkw6ljb3Vww6kgZW4gcXVhdHJlIHpvbmVzICwgbCdham91dCBkZSByZXN0aXR1dGlvbiBzZSBmYWl0IGRhbnMgbGVzIHpvbmVzIHZpZGVzLiBMZSBwbGFjZW1lbnQgZXN0IGd1aWTDqSBwYXIgbGUgc3lzdMOobWUuXCJcbiAgICAgIH0sXG4gICAgICBzd2l0Y2hFZGl0OiAnTW9kaWZpZXInLFxuICAgICAgc3dpdGNoRWRpdENvbnRlbnQ6ICdNb2RpZmllciBsYSBjb21wb3NpdGlvbicsXG4gICAgICBzaGFyZTogJ1BhcnRhZ2VyJyxcbiAgICAgIGRlbGV0ZTogJ1N1cHByaW1lcicsXG4gICAgICBub3RJbkRzQXR0cjogJ0F0dHJpYnV0IGluZGlzcG9uaWJsZSdcbiAgICB9LFxuICAgIG1hbmlmZXN0OiB7XG4gICAgICBuYW1lOiAnTm9tJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgY3JlYXRpb246ICdEYXRlIGRlIGNyw6lhdGlvbicsXG4gICAgICBtb2RpZmljYXRpb246ICdEYXRlIGRlIG1vZGlmaWNhdGlvbicsXG4gICAgICBhY3Rpb25zOiAnQWN0aW9ucycsXG4gICAgICBpbXBvcnQ6ICdJbXBvcnRlcicsXG4gICAgICBpbXBvcnRBbHQ6ICdJbXBvcnRlciB1bmUgcHLDqXNlbnRhdGlvbicsXG4gICAgICB0aXRsZTogJ1Byw6lzZW50YXRpb25zJyxcbiAgICAgIGdldDoge1xuICAgICAgICBlcnJvckZyb250OiAnRXJyZXVyIGNsaWVudCA6IHt7bXNnfX0nLFxuICAgICAgICBlcnJvckJhY2s6ICdFcnJldXIgc2VydmV1ciBkZSBjb2RlIFt7e2NvZGV9fV0nXG4gICAgICB9LFxuICAgICAgZGVmYXVsdDogJ0TDqWZpbmlyIHBhciBkw6lmYXV0JyxcbiAgICAgIGRvd25sb2FkOiAnVMOpbMOpY2hhcmdlcicsXG4gICAgICBsb2FkOiAnQ2hhcmdlcicsXG4gICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgZGVsZXRlRXJyb3I6XG4gICAgICAgIFwiUmVjaGVyY2hlIHV0aWxpc8OpZSBkYW5zIHVuZSBvdSBwbHVzaWV1cnMgcmVzdGl0dXRpb24ocyksIHZldWlsbGV6IHN1cHByaW1lciBsZXMgdXRpbGlzYXRpb25zIGQnYWJvcmRcIlxuICAgIH0sXG4gICAgZm9ybWF0OiB7XG4gICAgICBkYXRlOiAnZGQvTU0veXl5eScsXG4gICAgICBkYXRldGltZTogJ2RkL01NL3l5eXkgSEg6bW06c3MnLFxuICAgICAgZGVjaW1hbDogJywnLFxuICAgICAgdGhvdXNhbmRzOiAnICdcbiAgICB9LFxuICAgIGNvbnRleHQ6IHtcbiAgICAgIGFkZDogJ0Fqb3V0ZXIgw6AgbGEgc8OpbGVjdGlvbicsXG4gICAgICByZW1vdmU6ICdFbmxldmVyIGRlIGxhIHPDqWxlY3Rpb24nLFxuICAgICAgbGluazogJ0xpZXIgw6AgbGEgc8OpbGVjdGlvbicsXG4gICAgICBpbnZlcnQ6ICdJbnZlcnNlciBsYSBzw6lsZWN0aW9uJyxcbiAgICAgIHByb3hpbWl0eTogJ1JlY2hlcmNoZXIgbGVzIG9iamV0cyBsacOpcycsXG4gICAgICBleHBsb3JlOiAnT3V2cmlyIGxhIHJlc3RpdHV0aW9uIFJlbGF0aW9ucycsXG4gICAgICBkZXRhaWw6ICdPdXZyaXIgbGEgcmVzdGl0dXRpb24gRMOpdGFpbCcsXG4gICAgICBmbHlpbmdEZXRhaWw6IFwiQ29uc3VsdGVyIGwnb2JqZXRcIixcbiAgICAgIGFkZHJlc3NGcm9tTG9jOiBcIk9idGVuaXIgbCdhZHJlc3NlXCIsXG4gICAgICBlcnJvclNlYXJjaEFkZHJlc3M6ICdBZHJlc3NlIGludHJvdXZhYmxlJyxcbiAgICAgIGNhbmNlbDogJ0FubnVsZXInLFxuICAgICAgY3JlYXRlOiAnQ3LDqWVyJyxcbiAgICAgIGNyZWF0ZU9iamVjdDoge1xuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIG9iamVjdDogJ0Nyw6llciB1biBvYmpldCcsXG4gICAgICAgICAgbGluazogJ0Nyw6llciB1bmUgcmVsYXRpb24nLFxuICAgICAgICAgIGludmVyc2lvbjogJ0ludmVyc2VyIGxhIHJlbGF0aW9uJyxcbiAgICAgICAgICBsaW5rZWRPYmplY3Q6ICdDcsOpZXIgdW4gb2JqZXQgbGnDqSdcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3M6IFwiQ2xhc3NlIGRlIGwnb2JqZXRcIixcbiAgICAgICAgbGluazogJ1JlbGF0aW9uIGF2ZWMgbGUgbm91dmVsIG9iamV0JyxcbiAgICAgICAgY3JlYXRlZDogXCJMJ29iamV0IGEgw6l0w6kgY3LDqcOpXCIsXG4gICAgICAgIGRldGFpbHM6ICdWb2lyIGxlIGTDqXRhaWwnLFxuICAgICAgICBhZGRNdWx0aUZpZWxkOiAnQWpvdXRlciB1bmUgdmFsZXVyIGRlIHt7bmFtZX19J1xuICAgICAgfVxuICAgIH0sXG4gICAgYWN0aW9uOiB7XG4gICAgICBjbG9zZTogJ0Zlcm1lcicsXG4gICAgICBjbG9zZVBhbmVsOiAnRmVybWVyIGxlIHBhbm5lYXUnLFxuICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICAgIGVkaXQ6ICdFZGl0ZXInLFxuICAgICAgZWRpdFByb2ZpbDogJ0VkaXRlciBsZSBwcm9maWwnLFxuICAgICAgZWRpdFRpdGxlOiAnRWRpdGVyIGxlIHRpdHJlJyxcbiAgICAgIGNob2ljZTogJ0Nob2lzaXIgdW4gLi4uLicsXG4gICAgICBjaG9pY2VJbkxpc3Q6ICdDaG9pc2lyIHVuIMOpbMOpbWVudCBkYW5zIGxhIGxpc3RlJyxcbiAgICAgIHRleHQ6ICdSZW1wbGlyIGxlIGNoYW1wJyxcbiAgICAgIHNvcnRhYmxlQ29sdW1uSGVhZGVyOiBcIlV0aWxpc2V6IGxlcyBib3V0b25zIGQnZW4tdMOqdGUgZGUgY29sb25uZSBwb3VyIHRyaWVyLlwiLFxuICAgICAgdmlld0RldGFpbHM6ICdWb2lyIGxlcyBkw6l0YWlscycsXG4gICAgICBzZWxlY3REYXRlOiAnQ2hvaXNpciB1bmUgZGF0ZScsXG4gICAgICBvcGVuc0luTmV3VGFiOiBcIlMnb3V2cmUgZGFucyB1bmUgbm91dmVsbGUgZmVuw6p0cmVcIixcbiAgICAgIHNraXBMaW5rOiAnQWxsZXIgYXUgY29udGVudScsXG4gICAgICBzZWxlY3RQaWN0dXJlOiAnU8OpbGVjdGlvbm5lciB1bmUgaW1hZ2UnLFxuICAgICAgbW92ZURvd246ICdEw6lwbGFjZXIgdmVycyBsZSBiYXMnLFxuICAgICAgbW92ZVVwOiAnRMOpcGxhY2VyIHZlcnMgbGUgaGF1dCcsXG4gICAgICBleHBvcnRBc0Zvcm1hdDogJ0V4cG9ydGVyIGF1IGZvcm1hdCcsXG4gICAgICBvcGVuTWVudVdpZGdldDogJ01lbnUgZGUgbGEgcmVzdGl0dXRpb24nLFxuICAgICAgc2VhcmNoOiAnUmVjaGVyY2hlcicsXG4gICAgICB1cGxvYWQ6ICdBam91dGVyIHVuZSBpbWFnZScsXG4gICAgICBuZXh0OiAnU3VpdmFudCcsXG4gICAgICBiYWNrOiAnUmV0b3VyJyxcbiAgICAgIGZpbHRlckJ5VHlwZTogJ0ZpbHRyZXIgcGFyIHR5cGUnLFxuICAgICAgZWRpdE1ldGFkYXRhOiAnTW9kaWZpZXIgbGEgbcOpdGFkb25uw6llJyxcbiAgICAgIGFkZE1ldGFkYXRhOiAnQWpvdXRlciBsYSBtw6l0YWRvbm7DqWUnXG4gICAgfSxcbiAgICBzbmFjazoge1xuICAgICAgZGVmYXVsdDogJ1ZlZ2EgYSByZW5jb250csOpIHVuZSBlcnJldXIgZW4gdXRpbGlzYW50IHZvcyBkb25uw6llcyBldCBwYXJhbcOpdHJhZ2UuJyxcbiAgICAgIG1pc3NpbmdQYXJlbnQ6IFwiVW4gbm9ldWQgZXN0IG1hbnF1YW50IGRhbnMgbCdhcmJyZSBkZSByZXByw6lzZW50YXRpb24uIE1lcmNpIGRlIGNvcnJpZ2VyIHZvcyBkb25uw6llcy5cIixcbiAgICAgIG1pc3NpbmdWYWx1ZTogXCJVbiBpdGVtIMOgIGFmZmljaGVyIG5lIHBvc3PDqGRlIHBhcyBsJ2F0dHJpYnV0IMOgIGFmZmljaGVyLiBNZXJjaSBkZSBjb3JyaWdlciB2b3MgZG9ubsOpZXMuXCIsXG4gICAgICBlbXB0eVZhbHVlczogXCJMZXMgdmFsZXVycyBkZSBsJ2F0dHJpYnV0IMOgIGFmZmljaGVyIG5lIHBldXZlbnQgw6p0cmUgdG91dGVzIG51bGxlcy4gTWVyY2kgZGUgY29ycmlnZXIgdm9zIGRvbm7DqWVzLlwiLFxuICAgICAgcGFnZXNDaGFuZ2VkOiAnQXR0ZW50aW9uLCBsZSBub21icmUgZGUgcGFnZXMgZGUgdm90cmUgcHLDqXNlbnRhdGlvbiBhIGNoYW5nw6ksIHF1ZSBzb3VoYWl0ZXotdm91cyBmYWlyZSA/JyxcbiAgICAgIGltYWdlTmFtZUFscmVhZHlVc2VkOiAnTGUgbm9tIGRlIGNldHRlIGltYWdlIGVzdCBkw6lqw6AgdXRpbGlzw6knXG4gICAgfSxcbiAgICB0aGVtZToge1xuICAgICAgZWRpdElucHV0OiB7XG4gICAgICAgIHRvZ2dsZTogJ0VkaXRlcicsXG4gICAgICAgIGNvbmZpcm06ICdDb25maXJtZXInXG4gICAgICB9LFxuICAgICAgcHJldmlvdXNNb250aDogJ01vaXMgcHLDqWPDqWRlbnQnLFxuICAgICAgbmV4dE1vbnRoOiAnTW9pcyBzdWl2YW50JyxcbiAgICAgIHdlZWtkYXlzOiB7XG4gICAgICAgIDA6ICdMdW5kaScsXG4gICAgICAgIDE6ICdNYXJkaScsXG4gICAgICAgIDI6ICdNZXJjcmVkaScsXG4gICAgICAgIDM6ICdKZXVkaScsXG4gICAgICAgIDQ6ICdWZW5kcmVkaScsXG4gICAgICAgIDU6ICdTYW1lZGknLFxuICAgICAgICA2OiAnRGltYW5jaGUnXG4gICAgICB9LFxuICAgICAgc2hvcnRXZWVrZGF5czoge1xuICAgICAgICAwOiAnTHUnLFxuICAgICAgICAxOiAnTWEnLFxuICAgICAgICAyOiAnTWUnLFxuICAgICAgICAzOiAnSmUnLFxuICAgICAgICA0OiAnVmUnLFxuICAgICAgICA1OiAnU2EnLFxuICAgICAgICA2OiAnRGknXG4gICAgICB9LFxuICAgICAgbW9udGhzOiB7XG4gICAgICAgIDA6ICdKYW52aWVyJyxcbiAgICAgICAgMTogJ0bDqXZyaWVyJyxcbiAgICAgICAgMjogJ01hcnMnLFxuICAgICAgICAzOiAnQXZyaWwnLFxuICAgICAgICA0OiAnTWFpJyxcbiAgICAgICAgNTogJ0p1aW4nLFxuICAgICAgICA2OiAnSnVpbGxldCcsXG4gICAgICAgIDc6ICdBb8O7dCcsXG4gICAgICAgIDg6ICdTZXB0ZW1icmUnLFxuICAgICAgICA5OiAnT2N0b2JyZScsXG4gICAgICAgIDEwOiAnTm92ZW1icmUnLFxuICAgICAgICAxMTogJ0TDqWNlbWJyZSdcbiAgICAgIH1cbiAgICB9LFxuICAgIHNoYXJlOiB7XG4gICAgICBwcml2YXRlOiAnUHJpdsOpJyxcbiAgICAgIHB1YmxpYzogJ1B1YmxpYycsXG4gICAgICByZXN0cmljdGVkOiAnUmVzdHJlaW50JyxcbiAgICAgIHR5cGU6ICdWaXNpYmlsaXTDqScsXG4gICAgICB1c2VyczogJ1V0aWxpc2F0ZXVycyBhdXRvcmlzw6lzJyxcbiAgICAgIG5vR3JvdXBzOiAnQXVjdW4gZ3JvdXBlIGRpc3BvbmlibGUnLFxuICAgICAgY29uZmxpY3Q6IHtcbiAgICAgICAgdGl0bGU6ICdXYXJuaW5nJyxcbiAgICAgICAgbWFpbjogJ0F0dGVudGlvbiwgbGVzIHNvdXJjZXMgZGUgZG9ubsOpZXMgc3VpdmFudGVzIG5lIHNlcm9udCBwYXMgdmlzaWJsZSBkZSB0b3V0ZXMgbGVzIHBlcnNvbm5lcyBhY2PDqWRhbnQgw6AgbGEgcHLDqXNlbnRhdGlvbiA6ICcsXG4gICAgICAgIHVuYXZhaWxhYmxlOiAnaW5hY2Nlc3NpYmxlIGF1eCBncm91cGVzIDogJ1xuICAgICAgfVxuICAgIH0sXG4gICAgaG9tZXBhZ2U6IHtcbiAgICAgIG1lbnU6IHtcbiAgICAgICAgbW9kZWw6ICdNb2TDqGxlIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgZGF0YTogJ0FjY8OocyBhdXggZG9ubsOpZXMnXG4gICAgICB9XG4gICAgfSxcbiAgICBtZXRhZGF0YToge1xuICAgICAgdmlldzogJ0NvbnN1bHRlciBsZXMgbWV0YWRvbm7DqWVzJ1xuICAgIH0sXG4gICAgY29tcG9uZW50czoge1xuICAgICAgc2VhcmNoRGF0YTogJ1JlY2hlcmNoZXogdW5lIGRvbm7DqWUnLFxuICAgICAgY2hpcHNTZWxlY3Rvcjoge1xuICAgICAgICBkYXRhc291cmNlOiB7XG4gICAgICAgICAgc2VsZWN0OiAnU8OpbGVjdGlvbm5lciB1bmUgb3UgcGx1c2lldXJzIHNvdXJjZShzKSBkZSBkb25uw6llcyA6JyxcbiAgICAgICAgICBzZWxlY3Rpb246ICdTb3VyY2UocykgZGUgZG9ubsOpZXMgc8OpbGVjdGlvbm7DqWVzOicsXG4gICAgICAgICAgc2VsZWN0SXRlbTogJ1PDqWxlY3Rpb25uZXIgbGEgc291cmNlIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgICB1bnNlbGVjdEl0ZW06ICdEw6lzw6lsZWN0aW9ubmVyIGxhIHNvdXJjZSBkZSBkb25uw6llcycsXG4gICAgICAgICAgbm9JdGVtU2VsZWN0ZWQ6ICdBdWN1bmUgc291cmNlIGRlIGRvbm7DqWVzIHPDqWxlY3Rpb25uw6llJ1xuICAgICAgICB9LFxuICAgICAgICBzaGFyZToge1xuICAgICAgICAgIHNlbGVjdDogXCJTw6lsZWN0aW9ubmVyIHVuIG91IHBsdXNpZXVycyBncm91cGUocykgZCd1dGlsaXNhdGV1cnMgOlwiLFxuICAgICAgICAgIHNlbGVjdGlvbjogXCJHcm91cGUocykgZCd1dGlsaXNhdGV1cnMgc8OpbGVjdGlvbm7DqXM6XCIsXG4gICAgICAgICAgc2VsZWN0SXRlbTogXCJTw6lsZWN0aW9ubmVyIGxlIGdyb3VwZSBkJ3V0aWxpc2F0ZXVyc1wiLFxuICAgICAgICAgIHVuc2VsZWN0SXRlbTogXCJEw6lzw6lsZWN0aW9ubmVyIGxlIGdyb3VwZSBkJ3V0aWxpc2F0ZXVyc1wiLFxuICAgICAgICAgIG5vSXRlbVNlbGVjdGVkOiBcIkF1Y3VuIGdyb3VwZSBkJ3V0aWxpc2F0ZXVycyBzw6lsZWN0aW9ubsOpXCIsXG4gICAgICAgICAgZ3JvdXBzOiB7XG4gICAgICAgICAgICBBTEw6ICdQdWJsaWMnLFxuICAgICAgICAgICAgQVVUSEVOVElDQVRFRDogJ0xlcyB1dGlsaXNhdGV1cnMgY29ubmVjdMOpcydcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIGVycm9yczoge1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlLiBWZXVpbGxleiB2w6lyaWZpZXogbGVzIGluZm9ybWF0aW9ucyBvdSBjb250YWN0ZXIgdm90cmUgYWRtaW5pc3RyYXRldXIgc2kgbGUgcHJvYmzDqG1lIHBlcnNpc3RlJyxcbiAgICAgIGNvZGVzOiB7XG4gICAgICAgIDA6ICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZSBhdSBuaXZlYXUgbmF2aWdhdGV1ci4gQ2VsYSBwZXV0LcOqdHJlIHVuZSBlcnJldXIgQ09SUywgZGUgcsOpc2VhdSAuLi4gTGEgcmVzc291cmNlIG5lIHBldXQgcGFzIMOqdHJlIHLDqWN1cMOpcsOpZS4nLFxuICAgICAgICA0MDA6ICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZS4nLFxuICAgICAgICA0MDE6ICdWb3RyZSBzZXNzaW9uIGVzdCBpbnZhbGlkZS4gRXNzYXlleiBkZSB2b3VzIHJlY29ubmVjdGVyICEnLFxuICAgICAgICA0MDM6IFwiVm91cyBuJ2F2ZXogcGFzIGxlcyBkcm9pdHMgcG91ciBjb25zdWx0ZXIgY2V0dGUgcmVzc291cmNlXCIsXG4gICAgICAgIDQwNDogXCJMYSByZXNzb3VyY2UgZGVtYW5kw6llIG4nZXhpc3RlIHBhc1wiLFxuICAgICAgICA0MDk6ICdVbmUgcmVzc291cmNlIHNpbWlsYWlyZSBleGlzdGUgZMOpasOgJyxcbiAgICAgICAgNTAwOiAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUuJyxcbiAgICAgICAgNTAzOiAnTGUgc2VydmljZSBlc3QgYWN0dWVsbGVtZW50IGluZGlzcG9uaWJsZS4gUsOpZXNzYXllciB1bHTDqXJpZXVyZW1lbnQgISdcbiAgICAgIH1cbiAgICB9LFxuICAgIGZpbHRlcnM6IHtcbiAgICAgIGxhYmVsOiAnUGFyYW3DqXRyZXIgbGVzIGZpbHRyZXMnLFxuICAgICAgbm9BdHRyaWJ1dGVzOiBcIkxhIHByw6lzZW50YXRpb24gZW4gY291cnMgbmUgZGlzcG9zZSBkJ2F1Y3VuZSBhdHRyaWJ1dCBzdXIgbGVxdWVsIGZpbHRyZXJcIixcbiAgICAgIG5vRmlsdGVyczogXCJWb3VzIG4nYXZleiBwYXMgZW5jb3JlIHBhcmFtw6l0csOpIGRlIGZpbHRyZS5cIixcbiAgICAgIGNsZWFyOiAnRWZmYWNlcicsXG4gICAgICBsaXN0OiB7XG4gICAgICAgIGF0dHJpYnV0ZXM6ICdBdHRyaWJ1dHM6ICcsXG4gICAgICAgIGFkZDogJ0Nyw6llciB1biBmaWx0cmUnLFxuICAgICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgICBtb2RpZnk6ICdNb2RpZmllcidcbiAgICAgIH0sXG4gICAgICBjcmVhdGlvbjoge1xuICAgICAgICBjcmVhdGU6ICdDcsOpZXIgdW4gZmlsdHJlJyxcbiAgICAgICAgdXBkYXRlOiAnTW9kaWZpZXIgdW4gZmlsdHJlJyxcbiAgICAgICAgbmFtZTogJ05vbSBkdSBmaWx0cmUnLFxuICAgICAgICB0eXBlOiAnVHlwZSBkdSBmaWx0cmUnLFxuICAgICAgICBmaWx0ZXI6ICdGaWx0cmUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiAnQXR0cmlidXRzJyxcbiAgICAgICAgdmFsdWU6ICdWYWxldXInLFxuICAgICAgICB2YWx1ZXM6ICdWYWxldXJzJyxcbiAgICAgICAgdmFsaWRhdGU6ICdWYWxpZGVyJyxcbiAgICAgICAgbGltaXQ6IFwiTm9tYnJlIGRlIHN1Z2dlc3Rpb25zIHByb3Bvc8OpZXMgw6AgbCd1dGlsaXNhdGV1clwiLFxuICAgICAgICBkYXRlUmFuZ2U6ICdQbGFnZSBkZSBkYXRlcydcbiAgICAgIH0sXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGRhdGFzb3VyY2U6ICdEYXRhc291cmNlJyxcbiAgICAgICAgY2xhc3M6ICdDbGFzc2UnLFxuICAgICAgICBvcGVyYXRvcjogJ09ww6lyYXRldXInXG4gICAgICB9LFxuICAgICAgdHlwZXM6IHtcbiAgICAgICAgdGV4dDogJ1RleHRlJyxcbiAgICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgICBsaXN0OiAnTGlzdGUnLFxuICAgICAgICBudW1iZXI6ICdOdW3DqXJpcXVlJyxcbiAgICAgICAgYXV0b2NvbXBsZXRlOiAnTGlzdGUgYXZlYyBzdWdnZXN0aW9uJ1xuICAgICAgfVxuICAgIH0sXG4gICAgZ2VvQXV0aDoge1xuICAgICAgZmFpbHVyZTogJ0VycmV1ciBnZW9zZXJ2ZXInXG4gICAgfSxcbiAgICBncmlkOiB7XG4gICAgICByb3dzOiAnTGlnbmVzJyxcbiAgICAgIGNvbHVtbnM6ICdDb2xvbm5lcydcbiAgICB9XG4gIH1cbn07XG4iXX0=
401
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvaTE4bi9mci50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsT0FBTyxFQUFFLHFCQUFxQjtTQUMvQjtRQUNELEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsR0FBRyxFQUFFLGFBQWE7WUFDbEIsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsT0FBTztZQUNmLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsU0FBUyxFQUFFLHFCQUFxQjtTQUNqQztRQUNELE1BQU0sRUFBRTtZQUNOLHFCQUFxQixFQUFFLDhCQUE4QjtTQUN0RDtRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSx1Q0FBdUM7WUFDL0MsWUFBWSxFQUFFLDhDQUE4QztZQUM1RCxXQUFXLEVBQUUsc0RBQXNEO1lBQ25FLGFBQWEsRUFBRSwwREFBMEQ7WUFDekUsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxhQUFhO2dCQUNwQixXQUFXLEVBQUUseUJBQXlCO2dCQUN0QyxnQkFBZ0IsRUFBRSx5QkFBeUI7YUFDNUM7WUFDRCxhQUFhLEVBQUUsc0NBQXNDO1lBQ3JELFlBQVksRUFBRSw4QkFBOEI7WUFDNUMsT0FBTyxFQUFFO2dCQUNQLE1BQU0sRUFBRSx3Q0FBd0M7Z0JBQ2hELFVBQVUsRUFBRSxxQkFBcUI7Z0JBQ2pDLFlBQVksRUFBRSw2QkFBNkI7Z0JBQzNDLGFBQWEsRUFBRSxzQkFBc0I7Z0JBQ3JDLFVBQVUsRUFBRSx1QkFBdUI7Z0JBQ25DLFFBQVEsRUFBRSx5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QUUsNkNBQTZDO1lBQ3hELEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRTtnQkFDSixVQUFVLEVBQUUsYUFBYTtnQkFDekIsR0FBRyxFQUFFLGlCQUFpQjtnQkFDdEIsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxVQUFVO2FBQ25CO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxpQkFBaUI7Z0JBQ3pCLE1BQU0sRUFBRSxvQkFBb0I7Z0JBQzVCLElBQUksRUFBRSxlQUFlO2dCQUNyQixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLEtBQUssRUFBRSxRQUFRO2dCQUNmLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixRQUFRLEVBQUUsU0FBUztnQkFDbkIsS0FBSyxFQUFFLGlEQUFpRDtnQkFDeEQsU0FBUyxFQUFFLGdCQUFnQjthQUM1QjtZQUNELFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsUUFBUSxFQUFFLFdBQVc7YUFDdEI7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLE9BQU87Z0JBQ2IsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFlBQVksRUFBRSx1QkFBdUI7YUFDdEM7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxrQkFBa0I7U0FDNUI7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLE9BQU8sRUFBRSxVQUFVO1NBQ3BCO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZyVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICBzZWxlY3Q6IHtcbiAgICAgIGxhYmVsOiAnTGlzdGUgZGVzIGNob2l4JyxcbiAgICAgIGxvYWRpbmc6ICdDaGFyZ2VtZW50IGVuIGNvdXJzJ1xuICAgIH0sXG4gICAgYWJvdXQ6IHtcbiAgICAgIGZyb250OiAnTGlicmFpcmllIGZyb250JyxcbiAgICAgIHJlZjogJ1LDqWbDqXJlbnRpZWwnLFxuICAgICAgZGF0YTogJ0Rvbm7DqWVzJyxcbiAgICAgIHJlcGxheTogJ1JlamV1JyxcbiAgICAgIGV4ZWM6ICdFeMOpY3V0aW9uJyxcbiAgICAgIHRyYW5zZm86ICdUcmFuc2Zvcm1hdGlvbicsXG4gICAgICBub1ZlcnNpb246ICdWZXJzaW9uIG5vbiB0cm91dsOpZSdcbiAgICB9LFxuICAgIGhlYWRlcjoge1xuICAgICAgbm9DdXJyZW50UHJlc2VudGF0aW9uOiAnUHLDqXNlbnRhdGlvbiBub24gc2F1dmVnYXJkw6llJ1xuICAgIH0sXG4gICAgd2lkZ2V0OiB7XG4gICAgICBub0RhdGE6ICdBdWN1bmUgc291cmNlIGRlIGRvbm7DqWVzIHPDqWxlY3Rpb25uw6llJyxcbiAgICAgIHVucmVjb2duaXplZDogJ0xhIHJlc3RpdHV0aW9uIGRlIHR5cGUge3t0eXBlfX0gZXN0IGluY29ubnUuJyxcbiAgICAgIGFkZGVkSW5WaWV3OiAnTGEgcmVzdGl0dXRpb24gYSDDqXTDqSBham91dMOpZSBzdXIgbGEgcGFnZSBuwrB7e2luZGV4fX0nLFxuICAgICAgdXBkYXRlZEluVmlldzogJ0xhIHJlc3RpdHV0aW9uIGEgw6l0w6kgbWlzZSDDoCBqb3VyIHN1ciBsYSBwYWdlIG7CsHt7aW5kZXh9fScsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICB0aXRsZTogJ1BhcmFtw6l0cmFnZScsXG4gICAgICAgIGNoYW5nZVRpdGxlOiAnVGl0cmUgZGUgbGEgcmVzdGl0dXRpb24nLFxuICAgICAgICB2YWxpZGF0ZVVwZGF0aW5nOiAnVmFsaWRlciBsYSBtb2RpZmljYXRpb24nXG4gICAgICB9LFxuICAgICAgZGVmaW5lQ2F0YWxvZzogJ0TDqWZpbmlzc2V6IHZvdHJlIGVudHLDqWUgZGUgY2F0YWxvZ3VlJyxcbiAgICAgIGJ1dHRvbkNob2ljZTogJ1PDqWxlY3Rpb25uZXIgdW5lIHJlc3RpdHV0aW9uJyxcbiAgICAgIHRvb2x0aXA6IHtcbiAgICAgICAgcGFyYW1zOiAnUGFyYW3DqXRyZXIgbGEgdnVlIGRlIHZvdHJlIHJlc3RpdHV0aW9uJyxcbiAgICAgICAgcmVhZFNlYXJjaDogJ0Nob2lzaXIgbGVzIGRvbm7DqWVzJyxcbiAgICAgICAgZGVsZXRlV2lkZ2V0OiAnU3VwcHJpbWVyIHZvdHJlIHJlc3RpdHV0aW9uJyxcbiAgICAgICAgY2F0YWxvZ1dpZGdldDogJ0Fqb3V0ZXIgYXUgY2F0YWxvZ3VlJyxcbiAgICAgICAgY2hhbmdlU3BvdDogXCJDaGFuZ2VyIGQnZW1wbGFjZW1lbnRcIixcbiAgICAgICAgc3BvdE5hbWU6ICdFbXBsYWNlbWVudCBuwrB7e3BsYWNlfX0nXG4gICAgICB9LFxuICAgICAgdGFyZ2V0OiB7XG4gICAgICAgIG5ldzogJ091dnJpciBkYW5zIHVuZSBub3V2ZWxsZSBwYWdlJyxcbiAgICAgICAgZXhpc3Rpbmc6ICdPdXZyaXIgZGFucyBsYSBwYWdlIG7CsHt7dGFyZ2V0SW5kZXh9fScsXG4gICAgICAgIGRlbGV0ZTogJ1N1cHByaW1lcicsXG4gICAgICAgIG1heGltaXplOiAnTWF4aW1pc2VyJyxcbiAgICAgICAgbm9uZV9hdXRvOiAnSW5zw6lyZXogaWNpIHZvcyByZXN0aXR1dGlvbnMnLFxuICAgICAgICBub25lX21hbnVhbDogJ0dsaXNzZXIgLSBEw6lwb3NlcicsXG4gICAgICAgIGxvYWRpbmc6ICdDaGFyZ2VtZW50J1xuICAgICAgfSxcbiAgICAgIG5hbWVkUXVlcnk6IHtcbiAgICAgICAgZGVmYXVsdFJzOiAnUmVjaGVyY2hlIGNvdXJhbnRlJyxcbiAgICAgICAgcmVzdWx0c0FjY3VyYXRlOiAne3t0b3RhbH19JyxcbiAgICAgICAgcmVzdWx0c05vbkFjY3VyYXRlOiAne3tkaXNwbGF5ZWR9fSBzdXIgZW52aXJvbiB7e3RvdGFsfX0nXG4gICAgICB9LFxuICAgICAgbW9kYWxUaXRsZTogJ1ZvdWxlei12b3VzIGNvbmZpcm1lciA/JyxcbiAgICAgIGl0ZW1JZDogJ0lkJyxcbiAgICAgIGNsYXNzOiAnQ2xhc3NlJyxcbiAgICAgIGNvbG9yU2NoZW1lOiAnU2Now6ltYSBkZSBjb3VsZXVyJyxcbiAgICAgIGN1c3RvbTogJ1BlcnNvbmFsaXPDqSBuwrB7e2lkfX0nLFxuICAgICAgYWRkQ29sb3I6ICdBam91dGVyIHVuZSBjb3VsZXVyJyxcbiAgICAgIHJlbW92ZUNvbG9yOiAnU3VwcHJpbWVyIHVuZSBjb3VsZXVyJ1xuICAgIH0sXG4gICAgdmlldzoge1xuICAgICAgbmFtZTogJ1BhZ2UgbsKwe3tyYW5rfX0nXG4gICAgfSxcbiAgICB0b29sYm94OiB7XG4gICAgICBkZWZhdWx0U2l6ZTogJ1RhaWxsZSBkZSByZXN0aXR1dGlvbicsXG4gICAgICBhbmFseXRpYzogJ1RhYmxlYXUgYW5hbHl0aXF1ZScsXG4gICAgICBtYW5pZmVzdDoge1xuICAgICAgICBuYW1lOiAnTm9tIGRlIGxhIHByw6lzZW50YXRpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uIGRlIGxhIHByw6lzZW50YXRpb24nLFxuICAgICAgICBzYXZlZDogJ1Byw6lzZW50YXRpb24ge3t2aWV3SWR9fSBzYXV2ZWdhcmTDqWUnLFxuICAgICAgICBzYXZlRXJyb3JDb2RlOiB7XG4gICAgICAgICAgVU5LTk9XTjogJ0VycmV1ciBpbmNvbm51ZScsXG4gICAgICAgICAgRk9SQklEREVOOiBcIlZvdXMgbifDqnRlcyBwYXMgbGUgcHJvcHJpw6l0YWlyZSBkZSBjZXR0ZSBwcsOpc2VudGF0aW9uIFwiLFxuICAgICAgICAgIE5BTUVfQUxSRUFEWV9VU0VEOiAnVW5lIHByw6lzZW50YXRpb24gYXZlYyBsZSBub20gXCJ7e25hbWV9fVwiIGV4aXN0ZSBkw6lqw6AsIHZldWlsbGV6IHPDqWxlY3Rpb25uZXIgdW4gYXV0cmUgbm9tLicsXG4gICAgICAgICAgU0FWRV9NRVRBREFUQTogJ1ZldWlsbGV6IHNhdXZlZ2FyZGVyIGxhIHByZXNlbnRhdGlvbiBhdmFudCBkZSBjaG9pc2lyIHVuZSB0aMOpbWF0aXF1ZS4nXG4gICAgICAgIH0sXG4gICAgICAgIGRlZmF1bHRlZDogJ1Byw6lzZW50YXRpb24ge3t2aWV3SWR9fSBtYXJxdcOpZSBwYXIgZMOpZmF1dCcsXG4gICAgICAgIHVuZGVmYXVsdGVkOiBcIkxhIHByw6lzZW50YXRpb24ge3t2aWV3SWR9fSBuJ2VzdCBwbHVzIG1hcnF1w6llIHBhciBkw6lmYXV0XCIsXG4gICAgICAgIHZhbGlkYXRlZDogJ1ZhbGlkZXInLFxuICAgICAgICBjaGVjazogJ0VucmVnaXN0cmVyJyxcbiAgICAgICAgY2xvc2U6ICdBbm51bGVyJyxcbiAgICAgICAgdmFsaWRhdGU6ICdWYWxpZGVyJ1xuICAgICAgfSxcbiAgICAgIGNhdGFsb2c6IHtcbiAgICAgICAgdGl0bGU6ICdQZXJzb25uYWxpc8OpcycsXG4gICAgICAgIGxhYmVsOiAnTm9tJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGljb246ICdJbWFnZScsXG4gICAgICAgIGZpbHRlcjoge1xuICAgICAgICAgIGRlbGV0ZTogJ1N1cHByaW1lciBjZSBmaWx0cmUnLFxuICAgICAgICAgIHR5cGU6ICdGaWx0cmVyIHBhciB0eXBlJyxcbiAgICAgICAgICBuYW1lOiAnRmlsdHJlciBwYXIgbm9tJ1xuICAgICAgICB9LFxuICAgICAgICBzYXZlRXJyb3JDb2RlOiB7XG4gICAgICAgICAgVU5LTk9XTjogJ0VycmV1ciBpbmNvbm51ZScsXG4gICAgICAgICAgTkFNRV9BTFJFQURZX1VTRUQ6ICdVbmUgcmVzdGl0dXRpb24gYXZlYyBsZSBub20gXCJ7e25hbWV9fVwiIGV4aXN0ZSBkw6lqw6AsIHZldWlsbGV6IHPDqWxlY3Rpb25uZXIgdW4gYXV0cmUgbm9tLidcbiAgICAgICAgfSxcbiAgICAgICAgc2F2ZWQ6ICdQcsOpc2VudGF0aW9uIHt7dmlld0lkfX0gc2F1dmVnYXJkw6llJ1xuICAgICAgfSxcbiAgICAgIGFib3V0OiAnSW5mb3JtYXRpb25zJyxcbiAgICAgIGVkaXQ6ICdNb2RpZmllciBsYSBkaXNwb3NpdGlvbicsXG4gICAgICBlZGl0T2ZmOiAnVmlzdWFsaXNlciBsYSBkaXNwb3NpdGlvbicsXG4gICAgICBsYXVuY2g6ICdOb3V2ZWxsZSBwYWdlJyxcbiAgICAgIGxhdW5jaEluZGljYXRpb246ICdPdXZyaXIgY2V0dGUgcGFnZSBkYW5zIHVuJyxcbiAgICAgIGNob29zZUdyaWQ6ICdDaGFuZ2VyIGxhIGdyaWxsZScsXG4gICAgICBjbGVhcjogXCJWaWRlciBsJ2FmZmljaGFnZVwiLFxuICAgICAgcmVmcmVzaDogJ1JhZnJhaWNoaXIgbGVzIGRvbm7DqWVzJyxcbiAgICAgIGF1dG9tYXRlUmVmcmVzaDogXCJBdXRvbWF0aXNlciBsJ2FjdHVhbGlzYXRpb25cIixcbiAgICAgIG9wdGlvbnM6ICdPcHRpb25zJyxcbiAgICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICAgIGZpbHRlcjogJ0ZpbHRyZXInLFxuICAgICAgaGVhdG1hcDogJ0Zyw6lxdWVudGF0aW9uJyxcbiAgICAgIGJ1YmJsZW1hcDogJ0J1bGxlcycsXG4gICAgICBtYXJrZXJtYXA6ICdNYXJxdWV1cnMnLFxuICAgICAgc2ltcGxlbWFwOiAnQ2FydGUnLFxuICAgICAgbWFwOiAnQ2FydGUnLFxuICAgICAgdGFibGU6ICdUYWJsZWF1JyxcbiAgICAgIGRldGFpbDogJ0TDqXRhaWwnLFxuICAgICAgY2hhcnQ6ICdHcmFwaGlxdWUnLFxuICAgICAgcmVzdWx0U2V0OiAnUmVjaGVyY2hlcyBub21tw6llcycsXG4gICAgICByZW5hbWU6ICdFbnJlZ2lzdHJlciBzb3VzJyxcbiAgICAgIHJlc3RvcmU6ICdSZXN0YXVyZXIgbGVzIHBhZ2VzJyxcbiAgICAgIHNhdmU6ICdFbnJlZ2lzdHJlcicsXG4gICAgICBkcmFnOiAnUmVzdGl0dXRpb24uLi4nLFxuICAgICAgZHJhZ0luZGljYXRpb246ICdJbnPDqXJlciB1bicsXG4gICAgICBiYXJjaGFydDogJ0JhcnJlcycsXG4gICAgICBoaXN0b2dyYW06ICdIaXN0b2dyYW1tZScsXG4gICAgICBsaW5lY2hhcnQ6ICdDb3VyYmUnLFxuICAgICAgcG9pbnRjaGFydDogJ1BvaW50cycsXG4gICAgICBhcmVhY2hhcnQ6ICdBaXJlJyxcbiAgICAgIGFyY2NoYXJ0OiAnQ2lyY3VsYWlyZScsXG4gICAgICByYWRhcmNoYXJ0OiAnUmFkYXInLFxuICAgICAgY2lyY2xlY2hhcnQ6ICdQYXF1ZXRzIGRlIGNlcmNsZXMnLFxuICAgICAgaWZyYW1lOiAnQXBwbGljYXRpb24gZXh0ZXJuZScsXG4gICAgICB2ZWdhOiAnR3JhcGhpcXVlIGF2YW5jw6knLFxuICAgICAgZ3JhcGg6ICdSZWxhdGlvbnMnLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgICAgc3ViOiB7XG4gICAgICAgIG1hcDogJ0NhcnRvZ3JhcGhpZScsXG4gICAgICAgIGNoYXJ0OiAnR3JhcGhpcXVlJyxcbiAgICAgICAgb3RoZXI6ICdBdXRyZSdcbiAgICAgIH0sXG4gICAgICB0aWxlOiAnVHVpbGVzJyxcbiAgICAgIHRlbXBsYXRlOiAnVGVtcGxhdGUgSFRNTCcsXG4gICAgICBub3c6IFwiQXVqb3VyZCdodWlcIixcbiAgICAgIHNpbmNlX2RheTogJ0lsIHkgYSB7e2RheX19IGpvdXJ7e3BsdXJhbH19JyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICAnMCc6ICdDb21wb3NpdGlvbiBsaWJyZScsXG4gICAgICAgICcwX2RldGFpbGxlZCc6XG4gICAgICAgICAgXCJBZmZpY2hhZ2UgZW4gbW9kZSBsaWJyZSwgbGEgdGFpbGxlIGV0IGxlIHBvc2l0aW9ubmVtZW50IGRlcyByZXN0aXR1dGlvbnMgc29udCBlbnRpw6hyZW1lbnQgcGFyYW3DqXRyYWJsZXMgcGFyIGwndXRpbGlzYXRldXIuXCIsXG4gICAgICAgICcxJzogJ1BsZWluIMOpY3JhbicsXG4gICAgICAgICcxX2RldGFpbGxlZCc6XG4gICAgICAgICAgXCJBZmZpY2hhZ2UgZOKAmXVuZSBzZXVsZSByZXN0aXR1dGlvbiBzdXIgbCdlbnNlbWJsZSBkZSBsJ8OpY3JhbiwgbGUgcGxhY2VtZW50IGVzdCBndWlkw6kgcGFyIGxlIHN5c3TDqG1lLlwiLFxuICAgICAgICAnMS8ydic6ICcxLzIgw6ljcmFuIHZlcnRpY2FsJyxcbiAgICAgICAgJzEvMnZfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBkZSAyIHJlc3RpdHV0aW9ucyBtYXhpbXVtIHN1ciBsJ8OpY3JhbiBkw6ljb3Vww6kgZW4gZGV1eCB6b25lcyB2ZXJ0aWNhbGVzLCBsJ2Fqb3V0IGRlIHJlc3RpdHV0aW9uIHNlIGZhaXQgZGFucyBsZXMgem9uZXMgdmlkZXMuIExlIHBsYWNlbWVudCBlc3QgZ3VpZMOpIHBhciBsZSBzeXN0w6htZS5cIixcbiAgICAgICAgJzEvMmgnOiAnMS8yIMOpY3JhbiBob3Jpem9udGFsJyxcbiAgICAgICAgJzEvMmhfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBkZSAyIHJlc3RpdHV0aW9ucyBtYXhpbXVtIHN1ciBs4oCZw6ljcmFuIGTDqWNvdXDDqSBlbiBkZXV4IHpvbmVzIGhvcml6b250YWxlcywgbCdham91dCBkZSByZXN0aXR1dGlvbiBzZSBmYWl0IGRhbnMgbGVzIHpvbmVzIHZpZGVzLiBMZSBwbGFjZW1lbnQgZXN0IGd1aWTDqSBwYXIgbGUgc3lzdMOobWUuXCIsXG4gICAgICAgICcxLzN2JzogJzEvMyDDqWNyYW4gdmVydGljYWwnLFxuICAgICAgICAnMS8zdl9kZXRhaWxsZWQnOlxuICAgICAgICAgIFwiQWZmaWNoYWdlIGRlIDMgcmVzdGl0dXRpb25zIG1heGltdW0gc3VyIGzigJnDqWNyYW4gZMOpY291cMOpIGVuIHRyb2lzIHpvbmVzIHZlcnRpY2FsZXMsIGwnYWpvdXQgZGUgcmVzdGl0dXRpb24gc2UgZmFpdCBkYW5zIGxlcyB6b25lcyB2aWRlcy4gTGUgcGxhY2VtZW50IGVzdCBndWlkw6kgcGFyIGxlIHN5c3TDqG1lLlwiLFxuICAgICAgICAnMS8zaCc6ICcxLzMgw6ljcmFuIGhvcml6b250YWwnLFxuICAgICAgICAnMS8zaF9kZXRhaWxsZWQnOlxuICAgICAgICAgIFwiQWZmaWNoYWdlIGRlIDMgcmVzdGl0dXRpb25zIG1heGltdW0gc3VyIGzigJnDqWNyYW4gZMOpY291cMOpIGVuIHRyb2lzIHpvbmVzIGhvcml6b250YWxlcywgbCdham91dCBkZSByZXN0aXR1dGlvbiBzZSBmYWl0IGRhbnMgbGVzIHpvbmVzIHZpZGVzLiBMZSBwbGFjZW1lbnQgZXN0IGd1aWTDqSBwYXIgbGUgc3lzdMOobWUuXCIsXG4gICAgICAgICcxLzQnOiAnMS80IMOpY3JhbicsXG4gICAgICAgICcxLzRfZGV0YWlsbGVkJzpcbiAgICAgICAgICBcIkFmZmljaGFnZSBkZSA0IHJlc3RpdHV0aW9ucyBtYXhpbXVtIHN1ciBs4oCZw6ljcmFuIGTDqWNvdXDDqSBlbiBxdWF0cmUgem9uZXMgLCBsJ2Fqb3V0IGRlIHJlc3RpdHV0aW9uIHNlIGZhaXQgZGFucyBsZXMgem9uZXMgdmlkZXMuIExlIHBsYWNlbWVudCBlc3QgZ3VpZMOpIHBhciBsZSBzeXN0w6htZS5cIlxuICAgICAgfSxcbiAgICAgIHN3aXRjaEVkaXQ6ICdNb2RpZmllcicsXG4gICAgICBzd2l0Y2hFZGl0Q29udGVudDogJ01vZGlmaWVyIGxhIGNvbXBvc2l0aW9uJyxcbiAgICAgIHNoYXJlOiAnUGFydGFnZXInLFxuICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyJyxcbiAgICAgIG5vdEluRHNBdHRyOiAnQXR0cmlidXQgaW5kaXNwb25pYmxlJ1xuICAgIH0sXG4gICAgbWFuaWZlc3Q6IHtcbiAgICAgIG5hbWU6ICdOb20nLFxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICBjcmVhdGlvbjogJ0RhdGUgZGUgY3LDqWF0aW9uJyxcbiAgICAgIG1vZGlmaWNhdGlvbjogJ0RhdGUgZGUgbW9kaWZpY2F0aW9uJyxcbiAgICAgIGFjdGlvbnM6ICdBY3Rpb25zJyxcbiAgICAgIGltcG9ydDogJ0ltcG9ydGVyJyxcbiAgICAgIGltcG9ydEFsdDogJ0ltcG9ydGVyIHVuZSBwcsOpc2VudGF0aW9uJyxcbiAgICAgIHRpdGxlOiAnUHLDqXNlbnRhdGlvbnMnLFxuICAgICAgZ2V0OiB7XG4gICAgICAgIGVycm9yRnJvbnQ6ICdFcnJldXIgY2xpZW50IDoge3ttc2d9fScsXG4gICAgICAgIGVycm9yQmFjazogJ0VycmV1ciBzZXJ2ZXVyIGRlIGNvZGUgW3t7Y29kZX19XSdcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0OiAnRMOpZmluaXIgcGFyIGTDqWZhdXQnLFxuICAgICAgZG93bmxvYWQ6ICdUw6lsw6ljaGFyZ2VyJyxcbiAgICAgIGxvYWQ6ICdDaGFyZ2VyJyxcbiAgICAgIGRlbGV0ZTogJ1N1cHByaW1lcicsXG4gICAgICBkZWxldGVFcnJvcjpcbiAgICAgICAgXCJSZWNoZXJjaGUgdXRpbGlzw6llIGRhbnMgdW5lIG91IHBsdXNpZXVycyByZXN0aXR1dGlvbihzKSwgdmV1aWxsZXogc3VwcHJpbWVyIGxlcyB1dGlsaXNhdGlvbnMgZCdhYm9yZFwiXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGRhdGU6ICdkZC9NTS95eXl5JyxcbiAgICAgIGRhdGV0aW1lOiAnZGQvTU0veXl5eSBISDptbTpzcycsXG4gICAgICBkZWNpbWFsOiAnLCcsXG4gICAgICB0aG91c2FuZHM6ICcgJ1xuICAgIH0sXG4gICAgY29udGV4dDoge1xuICAgICAgYWRkOiAnQWpvdXRlciDDoCBsYSBzw6lsZWN0aW9uJyxcbiAgICAgIHJlbW92ZTogJ0VubGV2ZXIgZGUgbGEgc8OpbGVjdGlvbicsXG4gICAgICBsaW5rOiAnTGllciDDoCBsYSBzw6lsZWN0aW9uJyxcbiAgICAgIGludmVydDogJ0ludmVyc2VyIGxhIHPDqWxlY3Rpb24nLFxuICAgICAgcHJveGltaXR5OiAnUmVjaGVyY2hlciBsZXMgb2JqZXRzIGxpw6lzJyxcbiAgICAgIGV4cGxvcmU6ICdPdXZyaXIgbGEgcmVzdGl0dXRpb24gUmVsYXRpb25zJyxcbiAgICAgIGRldGFpbDogJ091dnJpciBsYSByZXN0aXR1dGlvbiBEw6l0YWlsJyxcbiAgICAgIGZseWluZ0RldGFpbDogXCJDb25zdWx0ZXIgbCdvYmpldFwiLFxuICAgICAgYWRkcmVzc0Zyb21Mb2M6IFwiT2J0ZW5pciBsJ2FkcmVzc2VcIixcbiAgICAgIGVycm9yU2VhcmNoQWRkcmVzczogJ0FkcmVzc2UgaW50cm91dmFibGUnLFxuICAgICAgY2FuY2VsOiAnQW5udWxlcicsXG4gICAgICBjcmVhdGU6ICdDcsOpZXInLFxuICAgICAgY3JlYXRlT2JqZWN0OiB7XG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgb2JqZWN0OiAnQ3LDqWVyIHVuIG9iamV0JyxcbiAgICAgICAgICBsaW5rOiAnQ3LDqWVyIHVuZSByZWxhdGlvbicsXG4gICAgICAgICAgaW52ZXJzaW9uOiAnSW52ZXJzZXIgbGEgcmVsYXRpb24nLFxuICAgICAgICAgIGxpbmtlZE9iamVjdDogJ0Nyw6llciB1biBvYmpldCBsacOpJ1xuICAgICAgICB9LFxuICAgICAgICBjbGFzczogXCJDbGFzc2UgZGUgbCdvYmpldFwiLFxuICAgICAgICBsaW5rOiAnUmVsYXRpb24gYXZlYyBsZSBub3V2ZWwgb2JqZXQnLFxuICAgICAgICBjcmVhdGVkOiBcIkwnb2JqZXQgYSDDqXTDqSBjcsOpw6lcIixcbiAgICAgICAgZGV0YWlsczogJ1ZvaXIgbGUgZMOpdGFpbCcsXG4gICAgICAgIGFkZE11bHRpRmllbGQ6ICdBam91dGVyIHVuZSB2YWxldXIgZGUge3tuYW1lfX0nXG4gICAgICB9XG4gICAgfSxcbiAgICBhY3Rpb246IHtcbiAgICAgIGNsb3NlOiAnRmVybWVyJyxcbiAgICAgIGNsb3NlUGFuZWw6ICdGZXJtZXIgbGUgcGFubmVhdScsXG4gICAgICBkZWxldGU6ICdTdXBwcmltZXInLFxuICAgICAgZWRpdDogJ0VkaXRlcicsXG4gICAgICBlZGl0UHJvZmlsOiAnRWRpdGVyIGxlIHByb2ZpbCcsXG4gICAgICBlZGl0VGl0bGU6ICdFZGl0ZXIgbGUgdGl0cmUnLFxuICAgICAgY2hvaWNlOiAnQ2hvaXNpciB1biAuLi4uJyxcbiAgICAgIGNob2ljZUluTGlzdDogJ0Nob2lzaXIgdW4gw6lsw6ltZW50IGRhbnMgbGEgbGlzdGUnLFxuICAgICAgdGV4dDogJ1JlbXBsaXIgbGUgY2hhbXAnLFxuICAgICAgc29ydGFibGVDb2x1bW5IZWFkZXI6IFwiVXRpbGlzZXogbGVzIGJvdXRvbnMgZCdlbi10w6p0ZSBkZSBjb2xvbm5lIHBvdXIgdHJpZXIuXCIsXG4gICAgICB2aWV3RGV0YWlsczogJ1ZvaXIgbGVzIGTDqXRhaWxzJyxcbiAgICAgIHNlbGVjdERhdGU6ICdDaG9pc2lyIHVuZSBkYXRlJyxcbiAgICAgIG9wZW5zSW5OZXdUYWI6IFwiUydvdXZyZSBkYW5zIHVuZSBub3V2ZWxsZSBmZW7DqnRyZVwiLFxuICAgICAgc2tpcExpbms6ICdBbGxlciBhdSBjb250ZW51JyxcbiAgICAgIHNlbGVjdFBpY3R1cmU6ICdTw6lsZWN0aW9ubmVyIHVuZSBpbWFnZScsXG4gICAgICBtb3ZlRG93bjogJ0TDqXBsYWNlciB2ZXJzIGxlIGJhcycsXG4gICAgICBtb3ZlVXA6ICdEw6lwbGFjZXIgdmVycyBsZSBoYXV0JyxcbiAgICAgIGV4cG9ydEFzRm9ybWF0OiAnRXhwb3J0ZXIgYXUgZm9ybWF0JyxcbiAgICAgIG9wZW5NZW51V2lkZ2V0OiAnTWVudSBkZSBsYSByZXN0aXR1dGlvbicsXG4gICAgICBzZWFyY2g6ICdSZWNoZXJjaGVyJyxcbiAgICAgIHVwbG9hZDogJ0Fqb3V0ZXIgdW5lIGltYWdlJyxcbiAgICAgIG5leHQ6ICdTdWl2YW50JyxcbiAgICAgIGJhY2s6ICdSZXRvdXInLFxuICAgICAgZmlsdGVyQnlUeXBlOiAnRmlsdHJlciBwYXIgdHlwZScsXG4gICAgICBlZGl0TWV0YWRhdGE6ICdNb2RpZmllciBsYSBtw6l0YWRvbm7DqWUnLFxuICAgICAgYWRkTWV0YWRhdGE6ICdBam91dGVyIGxhIG3DqXRhZG9ubsOpZSdcbiAgICB9LFxuICAgIHNuYWNrOiB7XG4gICAgICBkZWZhdWx0OiAnVmVnYSBhIHJlbmNvbnRyw6kgdW5lIGVycmV1ciBlbiB1dGlsaXNhbnQgdm9zIGRvbm7DqWVzIGV0IHBhcmFtw6l0cmFnZS4nLFxuICAgICAgbWlzc2luZ1BhcmVudDogXCJVbiBub2V1ZCBlc3QgbWFucXVhbnQgZGFucyBsJ2FyYnJlIGRlIHJlcHLDqXNlbnRhdGlvbi4gTWVyY2kgZGUgY29ycmlnZXIgdm9zIGRvbm7DqWVzLlwiLFxuICAgICAgbWlzc2luZ1ZhbHVlOiBcIlVuIGl0ZW0gw6AgYWZmaWNoZXIgbmUgcG9zc8OoZGUgcGFzIGwnYXR0cmlidXQgw6AgYWZmaWNoZXIuIE1lcmNpIGRlIGNvcnJpZ2VyIHZvcyBkb25uw6llcy5cIixcbiAgICAgIGVtcHR5VmFsdWVzOiBcIkxlcyB2YWxldXJzIGRlIGwnYXR0cmlidXQgw6AgYWZmaWNoZXIgbmUgcGV1dmVudCDDqnRyZSB0b3V0ZXMgbnVsbGVzLiBNZXJjaSBkZSBjb3JyaWdlciB2b3MgZG9ubsOpZXMuXCIsXG4gICAgICBwYWdlc0NoYW5nZWQ6ICdBdHRlbnRpb24sIGxlIG5vbWJyZSBkZSBwYWdlcyBkZSB2b3RyZSBwcsOpc2VudGF0aW9uIGEgY2hhbmfDqSwgcXVlIHNvdWhhaXRlei12b3VzIGZhaXJlID8nLFxuICAgICAgaW1hZ2VOYW1lQWxyZWFkeVVzZWQ6ICdMZSBub20gZGUgY2V0dGUgaW1hZ2UgZXN0IGTDqWrDoCB1dGlsaXPDqSdcbiAgICB9LFxuICAgIHRoZW1lOiB7XG4gICAgICBlZGl0SW5wdXQ6IHtcbiAgICAgICAgdG9nZ2xlOiAnRWRpdGVyJyxcbiAgICAgICAgY29uZmlybTogJ0NvbmZpcm1lcidcbiAgICAgIH0sXG4gICAgICBwcmV2aW91c01vbnRoOiAnTW9pcyBwcsOpY8OpZGVudCcsXG4gICAgICBuZXh0TW9udGg6ICdNb2lzIHN1aXZhbnQnLFxuICAgICAgd2Vla2RheXM6IHtcbiAgICAgICAgMDogJ0x1bmRpJyxcbiAgICAgICAgMTogJ01hcmRpJyxcbiAgICAgICAgMjogJ01lcmNyZWRpJyxcbiAgICAgICAgMzogJ0pldWRpJyxcbiAgICAgICAgNDogJ1ZlbmRyZWRpJyxcbiAgICAgICAgNTogJ1NhbWVkaScsXG4gICAgICAgIDY6ICdEaW1hbmNoZSdcbiAgICAgIH0sXG4gICAgICBzaG9ydFdlZWtkYXlzOiB7XG4gICAgICAgIDA6ICdMdScsXG4gICAgICAgIDE6ICdNYScsXG4gICAgICAgIDI6ICdNZScsXG4gICAgICAgIDM6ICdKZScsXG4gICAgICAgIDQ6ICdWZScsXG4gICAgICAgIDU6ICdTYScsXG4gICAgICAgIDY6ICdEaSdcbiAgICAgIH0sXG4gICAgICBtb250aHM6IHtcbiAgICAgICAgMDogJ0phbnZpZXInLFxuICAgICAgICAxOiAnRsOpdnJpZXInLFxuICAgICAgICAyOiAnTWFycycsXG4gICAgICAgIDM6ICdBdnJpbCcsXG4gICAgICAgIDQ6ICdNYWknLFxuICAgICAgICA1OiAnSnVpbicsXG4gICAgICAgIDY6ICdKdWlsbGV0JyxcbiAgICAgICAgNzogJ0Fvw7t0JyxcbiAgICAgICAgODogJ1NlcHRlbWJyZScsXG4gICAgICAgIDk6ICdPY3RvYnJlJyxcbiAgICAgICAgMTA6ICdOb3ZlbWJyZScsXG4gICAgICAgIDExOiAnRMOpY2VtYnJlJ1xuICAgICAgfVxuICAgIH0sXG4gICAgc2hhcmU6IHtcbiAgICAgIHByaXZhdGU6ICdQcml2w6knLFxuICAgICAgcHVibGljOiAnUHVibGljJyxcbiAgICAgIHJlc3RyaWN0ZWQ6ICdSZXN0cmVpbnQnLFxuICAgICAgdHlwZTogJ1Zpc2liaWxpdMOpJyxcbiAgICAgIHVzZXJzOiAnVXRpbGlzYXRldXJzIGF1dG9yaXPDqXMnLFxuICAgICAgbm9Hcm91cHM6ICdBdWN1biBncm91cGUgZGlzcG9uaWJsZScsXG4gICAgICBjb25mbGljdDoge1xuICAgICAgICB0aXRsZTogJ1dhcm5pbmcnLFxuICAgICAgICBtYWluOiAnQXR0ZW50aW9uLCBsZXMgc291cmNlcyBkZSBkb25uw6llcyBzdWl2YW50ZXMgbmUgc2Vyb250IHBhcyB2aXNpYmxlIGRlIHRvdXRlcyBsZXMgcGVyc29ubmVzIGFjY8OpZGFudCDDoCBsYSBwcsOpc2VudGF0aW9uIDogJyxcbiAgICAgICAgdW5hdmFpbGFibGU6ICdpbmFjY2Vzc2libGUgYXV4IGdyb3VwZXMgOiAnXG4gICAgICB9XG4gICAgfSxcbiAgICBob21lcGFnZToge1xuICAgICAgbWVudToge1xuICAgICAgICBtb2RlbDogJ01vZMOobGUgZGUgZG9ubsOpZXMnLFxuICAgICAgICBkYXRhOiAnQWNjw6hzIGF1eCBkb25uw6llcydcbiAgICAgIH1cbiAgICB9LFxuICAgIG1ldGFkYXRhOiB7XG4gICAgICB2aWV3OiAnQ29uc3VsdGVyIGxlcyBtZXRhZG9ubsOpZXMnXG4gICAgfSxcbiAgICBjb21wb25lbnRzOiB7XG4gICAgICBzZWFyY2hEYXRhOiAnUmVjaGVyY2hleiB1bmUgZG9ubsOpZScsXG4gICAgICBjaGlwc1NlbGVjdG9yOiB7XG4gICAgICAgIGRhdGFzb3VyY2U6IHtcbiAgICAgICAgICBzZWxlY3Q6ICdTw6lsZWN0aW9ubmVyIHVuZSBvdSBwbHVzaWV1cnMgc291cmNlKHMpIGRlIGRvbm7DqWVzIDonLFxuICAgICAgICAgIHNlbGVjdGlvbjogJ1NvdXJjZShzKSBkZSBkb25uw6llcyBzw6lsZWN0aW9ubsOpZXM6JyxcbiAgICAgICAgICBzZWxlY3RJdGVtOiAnU8OpbGVjdGlvbm5lciBsYSBzb3VyY2UgZGUgZG9ubsOpZXMnLFxuICAgICAgICAgIHVuc2VsZWN0SXRlbTogJ0TDqXPDqWxlY3Rpb25uZXIgbGEgc291cmNlIGRlIGRvbm7DqWVzJyxcbiAgICAgICAgICBub0l0ZW1TZWxlY3RlZDogJ0F1Y3VuZSBzb3VyY2UgZGUgZG9ubsOpZXMgc8OpbGVjdGlvbm7DqWUnXG4gICAgICAgIH0sXG4gICAgICAgIHNoYXJlOiB7XG4gICAgICAgICAgc2VsZWN0OiBcIlPDqWxlY3Rpb25uZXIgdW4gb3UgcGx1c2lldXJzIGdyb3VwZShzKSBkJ3V0aWxpc2F0ZXVycyA6XCIsXG4gICAgICAgICAgc2VsZWN0aW9uOiBcIkdyb3VwZShzKSBkJ3V0aWxpc2F0ZXVycyBzw6lsZWN0aW9ubsOpczpcIixcbiAgICAgICAgICBzZWxlY3RJdGVtOiBcIlPDqWxlY3Rpb25uZXIgbGUgZ3JvdXBlIGQndXRpbGlzYXRldXJzXCIsXG4gICAgICAgICAgdW5zZWxlY3RJdGVtOiBcIkTDqXPDqWxlY3Rpb25uZXIgbGUgZ3JvdXBlIGQndXRpbGlzYXRldXJzXCIsXG4gICAgICAgICAgbm9JdGVtU2VsZWN0ZWQ6IFwiQXVjdW4gZ3JvdXBlIGQndXRpbGlzYXRldXJzIHPDqWxlY3Rpb25uw6lcIixcbiAgICAgICAgICBncm91cHM6IHtcbiAgICAgICAgICAgIEFMTDogJ1B1YmxpYycsXG4gICAgICAgICAgICBBVVRIRU5USUNBVEVEOiAnTGVzIHV0aWxpc2F0ZXVycyBjb25uZWN0w6lzJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgZXJyb3JzOiB7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICAnVW5lIGVycmV1ciBlc3Qgc3VydmVudWUuIFZldWlsbGV6IHbDqXJpZmlleiBsZXMgaW5mb3JtYXRpb25zIG91IGNvbnRhY3RlciB2b3RyZSBhZG1pbmlzdHJhdGV1ciBzaSBsZSBwcm9ibMOobWUgcGVyc2lzdGUnLFxuICAgICAgY29kZXM6IHtcbiAgICAgICAgMDogJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGF1IG5pdmVhdSBuYXZpZ2F0ZXVyLiBDZWxhIHBldXQtw6p0cmUgdW5lIGVycmV1ciBDT1JTLCBkZSByw6lzZWF1IC4uLiBMYSByZXNzb3VyY2UgbmUgcGV1dCBwYXMgw6p0cmUgcsOpY3Vww6lyw6llLicsXG4gICAgICAgIDQwMDogJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlLicsXG4gICAgICAgIDQwMTogJ1ZvdHJlIHNlc3Npb24gZXN0IGludmFsaWRlLiBFc3NheWV6IGRlIHZvdXMgcmVjb25uZWN0ZXIgIScsXG4gICAgICAgIDQwMzogXCJWb3VzIG4nYXZleiBwYXMgbGVzIGRyb2l0cyBwb3VyIGNvbnN1bHRlciBjZXR0ZSByZXNzb3VyY2VcIixcbiAgICAgICAgNDA0OiBcIkxhIHJlc3NvdXJjZSBkZW1hbmTDqWUgbidleGlzdGUgcGFzXCIsXG4gICAgICAgIDQwOTogJ1VuZSByZXNzb3VyY2Ugc2ltaWxhaXJlIGV4aXN0ZSBkw6lqw6AnLFxuICAgICAgICA1MDA6ICdVbmUgZXJyZXVyIGVzdCBzdXJ2ZW51ZS4nLFxuICAgICAgICA1MDM6ICdMZSBzZXJ2aWNlIGVzdCBhY3R1ZWxsZW1lbnQgaW5kaXNwb25pYmxlLiBSw6llc3NheWVyIHVsdMOpcmlldXJlbWVudCAhJ1xuICAgICAgfVxuICAgIH0sXG4gICAgZmlsdGVyczoge1xuICAgICAgbGFiZWw6ICdQYXJhbcOpdHJlciBsZXMgZmlsdHJlcycsXG4gICAgICBub0F0dHJpYnV0ZXM6IFwiTGEgcHLDqXNlbnRhdGlvbiBlbiBjb3VycyBuZSBkaXNwb3NlIGQnYXVjdW5lIGF0dHJpYnV0IHN1ciBsZXF1ZWwgZmlsdHJlclwiLFxuICAgICAgbm9GaWx0ZXJzOiBcIlZvdXMgbidhdmV6IHBhcyBlbmNvcmUgcGFyYW3DqXRyw6kgZGUgZmlsdHJlLlwiLFxuICAgICAgY2xlYXI6ICdFZmZhY2VyJyxcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgYXR0cmlidXRlczogJ0F0dHJpYnV0czogJyxcbiAgICAgICAgYWRkOiAnQ3LDqWVyIHVuIGZpbHRyZScsXG4gICAgICAgIGRlbGV0ZTogJ1N1cHByaW1lcicsXG4gICAgICAgIG1vZGlmeTogJ01vZGlmaWVyJ1xuICAgICAgfSxcbiAgICAgIGNyZWF0aW9uOiB7XG4gICAgICAgIGNyZWF0ZTogJ0Nyw6llciB1biBmaWx0cmUnLFxuICAgICAgICB1cGRhdGU6ICdNb2RpZmllciB1biBmaWx0cmUnLFxuICAgICAgICBuYW1lOiAnTm9tIGR1IGZpbHRyZScsXG4gICAgICAgIHR5cGU6ICdUeXBlIGR1IGZpbHRyZScsXG4gICAgICAgIGZpbHRlcjogJ0ZpbHRyZScsXG4gICAgICAgIGF0dHJpYnV0ZXM6ICdBdHRyaWJ1dHMnLFxuICAgICAgICB2YWx1ZTogJ1ZhbGV1cicsXG4gICAgICAgIHZhbHVlczogJ1ZhbGV1cnMnLFxuICAgICAgICB2YWxpZGF0ZTogJ1ZhbGlkZXInLFxuICAgICAgICBsaW1pdDogXCJOb21icmUgZGUgc3VnZ2VzdGlvbnMgcHJvcG9zw6llcyDDoCBsJ3V0aWxpc2F0ZXVyXCIsXG4gICAgICAgIGRhdGVSYW5nZTogJ1BsYWdlIGRlIGRhdGVzJ1xuICAgICAgfSxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgZGF0YXNvdXJjZTogJ0RhdGFzb3VyY2UnLFxuICAgICAgICBjbGFzczogJ0NsYXNzZScsXG4gICAgICAgIG9wZXJhdG9yOiAnT3DDqXJhdGV1cidcbiAgICAgIH0sXG4gICAgICB0eXBlczoge1xuICAgICAgICB0ZXh0OiAnVGV4dGUnLFxuICAgICAgICBkYXRlOiAnRGF0ZScsXG4gICAgICAgIGxpc3Q6ICdMaXN0ZScsXG4gICAgICAgIG51bWJlcjogJ051bcOpcmlxdWUnLFxuICAgICAgICBhdXRvY29tcGxldGU6ICdMaXN0ZSBhdmVjIHN1Z2dlc3Rpb24nXG4gICAgICB9XG4gICAgfSxcbiAgICBnZW9BdXRoOiB7XG4gICAgICBmYWlsdXJlOiAnRXJyZXVyIGdlb3NlcnZlcidcbiAgICB9LFxuICAgIGdyaWQ6IHtcbiAgICAgIHJvd3M6ICdMaWduZXMnLFxuICAgICAgY29sdW1uczogJ0NvbG9ubmVzJ1xuICAgIH1cbiAgfVxufTtcbiJdfQ==
@@ -5,6 +5,7 @@ export * from './search-mono-class.model';
5
5
  export * from './search-multi-class.model';
6
6
  export * from './widget-map-manifest.interface';
7
7
  export * from './widget-aggregated-chart-manifest.interface';
8
+ export * from './widget-analytic-manifest.interface';
8
9
  export * from './widget-chart-manifest.interface';
9
10
  export * from './widget-graph-manifest.interface';
10
11
  export * from './widget-table-manifest.interface';
@@ -25,4 +26,4 @@ export * from './filter.interface';
25
26
  export * from './admin-api.model';
26
27
  export * from './display-options.interface';
27
28
  export * from './automatic-grid-layout-definition.interface';
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOENBQThDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Jlc3VsdC1zZXQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaXRlbS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWxhdGlvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtbW9uby1jbGFzcy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1tdWx0aS1jbGFzcy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldC1tYXAtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LWNoYXJ0LW1hbmlmZXN0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldC1ncmFwaC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQtdGFibGUtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LWlmcmFtZS1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQtZGV0YWlsLW1hbmlmZXN0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldC1pbWFnZS1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQtdGVtcGxhdGUtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LXRpbGUtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LXZlZ2EtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL21pbWV0eXBlLXJlc3VsdHNldC5jb25zdGFudCc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi1pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sdGlwLW9mLWNsYXNzLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhc2V0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hZG1pbi1hcGkubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXNwbGF5LW9wdGlvbnMuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b21hdGljLWdyaWQtbGF5b3V0LWRlZmluaXRpb24uaW50ZXJmYWNlJztcbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9pdGVtLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbGF0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1tb25vLWNsYXNzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLW11bHRpLWNsYXNzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LW1hcC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQtYWdncmVnYXRlZC1jaGFydC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQtYW5hbHl0aWMtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LWNoYXJ0LW1hbmlmZXN0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldC1ncmFwaC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQtdGFibGUtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LWlmcmFtZS1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQtZGV0YWlsLW1hbmlmZXN0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldC1pbWFnZS1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93aWRnZXQtdGVtcGxhdGUtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LXRpbGUtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LXZlZ2EtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbWFuaWZlc3QuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd2lkZ2V0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL21pbWV0eXBlLXJlc3VsdHNldC5jb25zdGFudCc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbi1pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sdGlwLW9mLWNsYXNzLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhc2V0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hZG1pbi1hcGkubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXNwbGF5LW9wdGlvbnMuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b21hdGljLWdyaWQtbGF5b3V0LWRlZmluaXRpb24uaW50ZXJmYWNlJztcbiJdfQ==
@@ -24,4 +24,4 @@ export var GraphType;
24
24
  GraphType["HISTOGRAM"] = "bar-histogram";
25
25
  GraphType["POINTS"] = "point-default";
26
26
  })(GraphType || (GraphType = {}));
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvbW9kZWwvd2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBWVg7QUFaRCxXQUFZLFNBQVM7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLDRCQUFlLENBQUE7SUFDZix3QkFBVyxDQUFBO0lBQ1gscUNBQXdCLENBQUE7SUFDeEIsNEJBQWUsQ0FBQTtJQUNmLDhCQUFpQixDQUFBO0lBQ2pCLHNCQUFTLENBQUE7SUFDVCxzQkFBUyxDQUFBO0lBQ1Qsd0JBQVcsQ0FBQTtJQUNYLHdCQUFXLENBQUE7SUFDWCw4QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBWlcsU0FBUyxLQUFULFNBQVMsUUFZcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQVVYO0FBVkQsV0FBWSxTQUFTO0lBQ25CLGtDQUFxQixDQUFBO0lBQ3JCLHNFQUF5RCxDQUFBO0lBQ3pELGdDQUFtQixDQUFBO0lBQ25CLHFDQUF3QixDQUFBO0lBQ3hCLG1DQUFzQixDQUFBO0lBQ3RCLG1EQUFzQyxDQUFBO0lBQ3RDLGdDQUFtQixDQUFBO0lBQ25CLHdDQUEyQixDQUFBO0lBQzNCLHFDQUF3QixDQUFBO0FBQzFCLENBQUMsRUFWVyxTQUFTLEtBQVQsU0FBUyxRQVVwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE9wZXJhdGlvbiB7XG4gIE5PTkUgPSAnbm9uZScsXG4gIENPVU5UID0gJ2NvdW50JyxcbiAgU1VNID0gJ3N1bScsXG4gIERJU1RJTkNUID0gJ2NhcmRpbmFsaXR5JyxcbiAgQVZFUkFHRSA9ICdhdmcnLFxuICBNRURJQU4gPSAnbWVkaWFuJyxcbiAgUTEgPSAncTEnLFxuICBRMyA9ICdxMycsXG4gIE1JTiA9ICdtaW4nLFxuICBNQVggPSAnbWF4JyxcbiAgRVhURU5UID0gJ2V4dGVudCdcbn1cblxuZXhwb3J0IGVudW0gR3JhcGhUeXBlIHtcbiAgQVJFQSA9ICdhcmVhLWRlZmF1bHQnLFxuICBBUkVBX1dJVEhfTElORVNfQU5EX1BPSU5UUyA9ICdhcmVhLXdpdGgtbGluZXMtYW5kLXBvaW50cycsXG4gIEJBUiA9ICdiYXItZGVmYXVsdCcsXG4gIENJUkNVTEFSID0gJ2FyYy1kZWZhdWx0JyxcbiAgQ1VSVkUgPSAnbGluZS1kZWZhdWx0JyxcbiAgQ1VSVkVfV0lUSF9QT0lOVFMgPSAnbGluZS13aXRoLXBvaW50cycsXG4gIERPTlVUID0gJ2FyYy1kb251dCcsXG4gIEhJU1RPR1JBTSA9ICdiYXItaGlzdG9ncmFtJyxcbiAgUE9JTlRTID0gJ3BvaW50LWRlZmF1bHQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXRMaW1pdCB7XG4gIGF0OiBudW1iZXI7XG4gIG90aGVyczogYm9vbGVhbjtcbiAgb3JkZXI6ICdhc2MnIHwgJ2Rlc2MnO1xuICBpc1RpbWVMaW1pdDogZmFsc2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZUxpbWl0IHtcbiAgaW50ZXJ2YWw6ICdzZWNvbmQnIHwgJ21pbnV0ZScgfCAnaG91cicgfCAnZGF5JyB8ICd3ZWVrJyB8ICdxdWFydGVyJyB8ICd5ZWFyJztcbiAgaXNUaW1lTGltaXQ6IHRydWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydCB7XG4gIHZhbHVlOiAna2V5JyB8ICd2YWx1ZSc7XG4gIGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucyB7XG4gIGFic2Npc3NhOiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBrZWVwMDogYm9vbGVhbjtcbiAgICBsaW1pdD86IEF0TGltaXQgfCBUaW1lTGltaXQ7XG4gIH07XG4gIG9yZGluYXRlOiB7XG4gICAgb3BlcmF0aW9uOiBPcGVyYXRpb247XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBhdHRyaWJ1dGU/OiBzdHJpbmc7XG4gICAga2VlcDA6IGJvb2xlYW47XG4gIH07XG4gIGdyb3VwQnk/OiB7XG4gICAgYXR0cmlidXRlOiBzdHJpbmc7XG4gICAgY29sb3I6IHN0cmluZztcbiAgfTtcbiAgZ3JhcGg6IHtcbiAgICBkb251dFNpemU/OiBudW1iZXI7XG4gICAgdG9vbHRpcD86IGJvb2xlYW47XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgdHlwZTogR3JhcGhUeXBlO1xuICAgIHN0YWNrZWQ/OiBib29sZWFuO1xuICAgIGxlZ2VuZD86IGJvb2xlYW47XG4gICAgc29ydD86IFNvcnQ7XG4gICAgbGltaXRJdGVtcz86IG51bWJlciB8IG51bGw7XG4gIH07XG4gIGFkZGl0aW9uYWxTcGVjPzogYW55O1xuICBjaXJjbGVDb2xvclNjaGVtZT86IHN0cmluZztcbiAgYmFzZUNvbG9yPzogc3RyaW5nO1xufVxuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvbW9kZWwvd2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBWVg7QUFaRCxXQUFZLFNBQVM7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLDRCQUFlLENBQUE7SUFDZix3QkFBVyxDQUFBO0lBQ1gscUNBQXdCLENBQUE7SUFDeEIsNEJBQWUsQ0FBQTtJQUNmLDhCQUFpQixDQUFBO0lBQ2pCLHNCQUFTLENBQUE7SUFDVCxzQkFBUyxDQUFBO0lBQ1Qsd0JBQVcsQ0FBQTtJQUNYLHdCQUFXLENBQUE7SUFDWCw4QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBWlcsU0FBUyxLQUFULFNBQVMsUUFZcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQVVYO0FBVkQsV0FBWSxTQUFTO0lBQ25CLGtDQUFxQixDQUFBO0lBQ3JCLHNFQUF5RCxDQUFBO0lBQ3pELGdDQUFtQixDQUFBO0lBQ25CLHFDQUF3QixDQUFBO0lBQ3hCLG1DQUFzQixDQUFBO0lBQ3RCLG1EQUFzQyxDQUFBO0lBQ3RDLGdDQUFtQixDQUFBO0lBQ25CLHdDQUEyQixDQUFBO0lBQzNCLHFDQUF3QixDQUFBO0FBQzFCLENBQUMsRUFWVyxTQUFTLEtBQVQsU0FBUyxRQVVwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE9wZXJhdGlvbiB7XG4gIE5PTkUgPSAnbm9uZScsXG4gIENPVU5UID0gJ2NvdW50JyxcbiAgU1VNID0gJ3N1bScsXG4gIERJU1RJTkNUID0gJ2NhcmRpbmFsaXR5JyxcbiAgQVZFUkFHRSA9ICdhdmcnLFxuICBNRURJQU4gPSAnbWVkaWFuJyxcbiAgUTEgPSAncTEnLFxuICBRMyA9ICdxMycsXG4gIE1JTiA9ICdtaW4nLFxuICBNQVggPSAnbWF4JyxcbiAgRVhURU5UID0gJ2V4dGVudCdcbn1cblxuZXhwb3J0IGVudW0gR3JhcGhUeXBlIHtcbiAgQVJFQSA9ICdhcmVhLWRlZmF1bHQnLFxuICBBUkVBX1dJVEhfTElORVNfQU5EX1BPSU5UUyA9ICdhcmVhLXdpdGgtbGluZXMtYW5kLXBvaW50cycsXG4gIEJBUiA9ICdiYXItZGVmYXVsdCcsXG4gIENJUkNVTEFSID0gJ2FyYy1kZWZhdWx0JyxcbiAgQ1VSVkUgPSAnbGluZS1kZWZhdWx0JyxcbiAgQ1VSVkVfV0lUSF9QT0lOVFMgPSAnbGluZS13aXRoLXBvaW50cycsXG4gIERPTlVUID0gJ2FyYy1kb251dCcsXG4gIEhJU1RPR1JBTSA9ICdiYXItaGlzdG9ncmFtJyxcbiAgUE9JTlRTID0gJ3BvaW50LWRlZmF1bHQnXG59XG5cbmV4cG9ydCB0eXBlIFRpbWVJbnRlcnZhbCA9ICdzZWNvbmQnIHwgJ21pbnV0ZScgfCAnaG91cicgfCAnZGF5JyB8ICd3ZWVrJyB8ICdxdWFydGVyJyB8ICd5ZWFyJztcblxuZXhwb3J0IGludGVyZmFjZSBTb3J0IHtcbiAgdmFsdWU6ICdrZXknIHwgJ3ZhbHVlJztcbiAgZGlyZWN0aW9uOiAnYXNjJyB8ICdkZXNjJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFydEFnZ3JlZ2F0ZWRXaWRnZXRPcHRpb25zIHtcbiAgYWJzY2lzc2E6IHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGF0dHJpYnV0ZTogc3RyaW5nO1xuICAgIGtlZXAwOiBib29sZWFuO1xuICAgIGxpbWl0PzogbnVtYmVyIHwgbnVsbDtcbiAgICBpbnRlcnZhbD86IG51bWJlciB8IFRpbWVJbnRlcnZhbDtcbiAgfTtcbiAgb3JkaW5hdGU6IHtcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvbjtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGF0dHJpYnV0ZT86IHN0cmluZztcbiAgICBrZWVwMDogYm9vbGVhbjtcbiAgfTtcbiAgZ3JvdXBCeT86IHtcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBjb2xvcjogc3RyaW5nO1xuICB9O1xuICBncmFwaDoge1xuICAgIGRvbnV0U2l6ZT86IG51bWJlcjtcbiAgICB0b29sdGlwPzogYm9vbGVhbjtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICB0eXBlOiBHcmFwaFR5cGU7XG4gICAgc3RhY2tlZD86IGJvb2xlYW47XG4gICAgbGVnZW5kPzogYm9vbGVhbjtcbiAgICBzb3J0PzogU29ydDtcbiAgfTtcbiAgYWRkaXRpb25hbFNwZWM/OiBhbnk7XG4gIGNpcmNsZUNvbG9yU2NoZW1lPzogc3RyaW5nO1xuICBiYXNlQ29sb3I/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWFuYWx5dGljLW1hbmlmZXN0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL21vZGVsL3dpZGdldC1hbmFseXRpYy1tYW5pZmVzdC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQW5hbHl0aWNXaWRnZXRPcHRpb25zIHtcbiAgcHJpbWFyeVByb3A6IHN0cmluZztcbiAgc2Vjb25kYXJ5UHJvcDogc3RyaW5nO1xuICB2ZXJ0aWNhbFByb3A6IHN0cmluZztcbiAgdmFsdWVQcm9wOiBzdHJpbmc7XG59XG4iXX0=
@@ -65,15 +65,11 @@ export class PryBackendAggregationService extends PryAggregationService {
65
65
  return of({ operation: options.ordinate.operation, values: [] });
66
66
  }
67
67
  }
68
- if (options.abscissa && options.abscissa.limit) {
69
- if (options.abscissa.limit.isTimeLimit) {
70
- params = params.set('dateInterval', options.abscissa.limit.interval);
71
- }
72
- else {
73
- params = params.set('interval', options.abscissa.limit.at);
74
- params = params.set('limitOrder', options.abscissa.limit.order);
75
- params = params.set('limitOthers', options.abscissa.limit.others);
76
- }
68
+ if (options.abscissa && options.abscissa.interval) {
69
+ if (typeof options.abscissa.interval === 'string')
70
+ params = params.set('dateInterval', options.abscissa.interval);
71
+ if (typeof options.abscissa.interval === 'number')
72
+ params = params.set('interval', options.abscissa.interval);
77
73
  }
78
74
  const operation = options.ordinate.operation?.replace(/^none$/, Operation.SUM);
79
75
  params = params.set('operation', operation);
@@ -89,8 +85,8 @@ export class PryBackendAggregationService extends PryAggregationService {
89
85
  if (options.graph && options.graph.sort) {
90
86
  params = params.set('order', `${options.graph.sort.direction},${(options.graph.sort.value ?? '').toUpperCase()}`);
91
87
  }
92
- if (!!options.graph?.limitItems) {
93
- params = params.set('limit', `${options.graph.limitItems}`);
88
+ if (!!options.abscissa.limit) {
89
+ params = params.set('limit', `${options.abscissa.limit}`);
94
90
  }
95
91
  params = this.searchService.getItemsFilter(targetDatasource, params, false);
96
92
  const key = `${this.dataUrl}_${params.toString()}`;
@@ -118,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
118
114
  providedIn: 'root'
119
115
  }]
120
116
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PrySnackbarService }, { type: i3.PryI18nService }, { type: i4.HttpClient }, { type: i5.SearchService }] });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1hZ2dyZWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvc3RvcmUvYWdncmVnYXRpb24vYmFja2VuZC1hZ2dyZWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUtsRixPQUFPLEVBQWdDLFNBQVMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRWpILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVGLE9BQU8sRUFBcUIscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFLOUMsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHFCQUFxQjtJQWNyRSxZQUNVLEtBQVksRUFDWixRQUE0QixFQUM1QixnQkFBZ0MsRUFDaEMsVUFBc0IsRUFDdEIsYUFBNEI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFOQSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBb0I7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O2FBQzNCLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDOzhHQTlHVSw0QkFBNEI7a0hBQTVCLDRCQUE0QixjQUYzQixNQUFNOzsyRkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhc2hib2FyZFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQuc2VsZWN0b3JzJztcbmltcG9ydCB7IFByeVNuYWNrYmFyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlckNvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbC9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldHMgfSBmcm9tICcuLi8uLi9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGFydEFnZ3JlZ2F0ZWRXaWRnZXRPcHRpb25zLCBPcGVyYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbC93aWRnZXQtYWdncmVnYXRlZC1jaGFydC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2xhc3MgfSBmcm9tICcuLi9jbGFzcy9jbGFzcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuLi9jbGFzcy9jbGFzcy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi9maWVsZC9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGRTZWxlY3RvcnMgfSBmcm9tICcuLi9maWVsZC9maWVsZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCwgRVhQTE9SRV9OQU1FRF9RVUVSWV9JRCB9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2guY29uc3RhbnRzJztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWdncmVnYXRpb25SZXN1bHQsIFByeUFnZ3JlZ2F0aW9uU2VydmljZSB9IGZyb20gJy4vYmFzZS1hZ2dyZWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5QmFja2VuZEFnZ3JlZ2F0aW9uU2VydmljZSBleHRlbmRzIFByeUFnZ3JlZ2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgcnM6IFJlc3VsdFNldHMgPSB7fTtcbiAgcHJpdmF0ZSBjbGFzc2VzOiBDbGFzc1tdID0gW107XG4gIHByaXZhdGUgZmllbGRzOiBGaWVsZFtdID0gW107XG4gIHByaXZhdGUgZmlsdGVyczogeyBbZGF0YXNvdXJjZTogc3RyaW5nXTogRmlsdGVyQ29udGV4dFtdIH0gPSB7fTtcbiAgcHJpdmF0ZSBkYXRhVXJsOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIGNhY2hlOiB7XG4gICAgW2tleTogc3RyaW5nXToge1xuICAgICAgcmVzcG9uc2U6IE9ic2VydmFibGU8QWdncmVnYXRpb25SZXN1bHQ+O1xuICAgICAgdGltZTogbnVtYmVyO1xuICAgIH07XG4gIH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBQcnlTbmFja2JhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cykuc3Vic2NyaWJlKChycykgPT4gKHRoaXMucnMgPSBycyBhcyBSZXN1bHRTZXRzKSk7XG4gICAgdGhpcy5zdG9yZS5zZWxlY3QoQ2xhc3NTZWxlY3RvcnMuY2xhc3Nlcykuc3Vic2NyaWJlKChjbGFzc2VzKSA9PiAodGhpcy5jbGFzc2VzID0gY2xhc3NlcykpO1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KEZpZWxkU2VsZWN0b3JzLmZpZWxkcykuc3Vic2NyaWJlKChmaWVsZHMpID0+ICh0aGlzLmZpZWxkcyA9IGZpZWxkcykpO1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5kYXRhc291cmNlRmlsdGVycykuc3Vic2NyaWJlKChmaWx0ZXJzKSA9PiAodGhpcy5maWx0ZXJzID0gZmlsdGVycykpO1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5zdWJzY3JpYmUoKGRhdGFVcmwpID0+ICh0aGlzLmRhdGFVcmwgPSBkYXRhVXJsKSk7XG4gIH1cblxuICBvdmVycmlkZSBhZ2dyZWdhdGUoZGF0YXNvdXJjZXM6IHN0cmluZ1tdLCBvcHRpb25zOiBDaGFydEFnZ3JlZ2F0ZWRXaWRnZXRPcHRpb25zKTogT2JzZXJ2YWJsZTxBZ2dyZWdhdGlvblJlc3VsdD4ge1xuICAgIGNvbnN0IHRhcmdldERhdGFzb3VyY2UgPSBkYXRhc291cmNlcy5maW5kKChkcykgPT4gIVtERUZBVUxUX05BTUVEX1FVRVJZX0lELCBFWFBMT1JFX05BTUVEX1FVRVJZX0lEXS5pbmNsdWRlcyhkcykpO1xuXG4gICAgaWYgKGRhdGFzb3VyY2VzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRoaXMuc25hY2tCYXIub3Blbih7XG4gICAgICAgIHR5cGU6ICd3YXJuaW5nJyxcbiAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkubWVzc2FnZS5iYWNrZW5kLW9ubHktMS1kYXRhc291cmNlJyksXG4gICAgICAgIHRpbWVvdXQ6IDQwMDBcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChkYXRhc291cmNlcy5pbmNsdWRlcyhERUZBVUxUX05BTUVEX1FVRVJZX0lEKSB8fCBkYXRhc291cmNlcy5pbmNsdWRlcyhFWFBMT1JFX05BTUVEX1FVRVJZX0lEKSkge1xuICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKHtcbiAgICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS5tZXNzYWdlLmNhbm5vdC1hZ2dyZWdhdGUtdmlydHVhbC1kcycpLFxuICAgICAgICB0aW1lb3V0OiA0MDAwXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIXRhcmdldERhdGFzb3VyY2UpIHtcbiAgICAgIGNvbnNvbGUud2FybignQWdncmVnYXRpb24gbmVlZHMgYSB0YXJnZXQgZGF0YXNvdXJjZS4nKTtcbiAgICAgIHJldHVybiBvZih7IG9wZXJhdGlvbjogb3B0aW9ucy5vcmRpbmF0ZT8ub3BlcmF0aW9uID8/ICdub25lJywgdmFsdWVzOiBbXSB9IGFzIEFnZ3JlZ2F0aW9uUmVzdWx0KTtcbiAgICB9XG5cbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAob3B0aW9ucy5hYnNjaXNzYSAmJiBvcHRpb25zLmFic2Npc3NhLmF0dHJpYnV0ZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnYWdncmVnYXRlZEJ5Jywgb3B0aW9ucy5hYnNjaXNzYS5hdHRyaWJ1dGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0FnZ3JlZ2F0aW9uIG5lZWRzIGFuIGFnZ3JlZ2F0ZWRCeSBtZW1iZXIuJyk7XG4gICAgICBpZiAob3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24gIT09IE9wZXJhdGlvbi5FWFRFTlQpIHtcbiAgICAgICAgcmV0dXJuIG9mKHsgb3BlcmF0aW9uOiBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbiwgdmFsdWVzOiBbXSB9IGFzIEFnZ3JlZ2F0aW9uUmVzdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuYWJzY2lzc2EgJiYgb3B0aW9ucy5hYnNjaXNzYS5saW1pdCkge1xuICAgICAgaWYgKG9wdGlvbnMuYWJzY2lzc2EubGltaXQuaXNUaW1lTGltaXQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZGF0ZUludGVydmFsJywgb3B0aW9ucy5hYnNjaXNzYS5saW1pdC5pbnRlcnZhbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdpbnRlcnZhbCcsIG9wdGlvbnMuYWJzY2lzc2EubGltaXQuYXQpO1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsaW1pdE9yZGVyJywgb3B0aW9ucy5hYnNjaXNzYS5saW1pdC5vcmRlcik7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2xpbWl0T3RoZXJzJywgb3B0aW9ucy5hYnNjaXNzYS5saW1pdC5vdGhlcnMpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBvcGVyYXRpb24gPSBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbj8ucmVwbGFjZSgvXm5vbmUkLywgT3BlcmF0aW9uLlNVTSk7XG4gICAgcGFyYW1zID0gcGFyYW1zLnNldCgnb3BlcmF0aW9uJywgb3BlcmF0aW9uKTtcbiAgICBpZiAoISFvcHRpb25zLm9yZGluYXRlLmF0dHJpYnV0ZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndmFsdWVGaWVsZCcsIG9wdGlvbnMub3JkaW5hdGUuYXR0cmlidXRlKTtcbiAgICB9XG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gT3BlcmF0aW9uLkRJU1RJTkNUKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd2YWx1ZUZpZWxkJywgb3B0aW9ucy5hYnNjaXNzYS5hdHRyaWJ1dGUpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5ncm91cEJ5KSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdncm91cEJ5Jywgb3B0aW9ucy5ncm91cEJ5LmF0dHJpYnV0ZSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmdyYXBoICYmIG9wdGlvbnMuZ3JhcGguc29ydCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnb3JkZXInLCBgJHtvcHRpb25zLmdyYXBoLnNvcnQuZGlyZWN0aW9ufSwkeyhvcHRpb25zLmdyYXBoLnNvcnQudmFsdWUgPz8gJycpLnRvVXBwZXJDYXNlKCl9YCk7XG4gICAgfVxuICAgIGlmICghIW9wdGlvbnMuZ3JhcGg/LmxpbWl0SXRlbXMpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2xpbWl0JywgYCR7b3B0aW9ucy5ncmFwaC5saW1pdEl0ZW1zfWApO1xuICAgIH1cbiAgICBwYXJhbXMgPSB0aGlzLnNlYXJjaFNlcnZpY2UuZ2V0SXRlbXNGaWx0ZXIodGFyZ2V0RGF0YXNvdXJjZSwgcGFyYW1zLCBmYWxzZSk7XG5cbiAgICBjb25zdCBrZXkgPSBgJHt0aGlzLmRhdGFVcmx9XyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgICBpZiAoIXRoaXMuY2FjaGVba2V5XSB8fCB0aGlzLmNhY2hlW2tleV0udGltZSArIDEwMDAgPCBuZXcgRGF0ZSgpLmdldFRpbWUoKSkge1xuICAgICAgdGhpcy5jYWNoZVtrZXldID0ge1xuICAgICAgICByZXNwb25zZTogdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgLmdldDxBZ2dyZWdhdGlvblJlc3VsdD4oYCR7dGhpcy5kYXRhVXJsfS9kYXRhLXNvdXJjZXMvaWQvJHt0YXJnZXREYXRhc291cmNlfS9pdGVtcy9hZ2dyZWdhdGVgLCB7XG4gICAgICAgICAgICBwYXJhbXNcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgICAgICBtYXAoKHJlc3VsdCkgPT4gKHtcbiAgICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgICBvcGVyYXRpb246IG9wdGlvbnMub3JkaW5hdGUub3BlcmF0aW9uID09PSBPcGVyYXRpb24uTk9ORSA/IE9wZXJhdGlvbi5OT05FIDogcmVzdWx0Lm9wZXJhdGlvblxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgc2hhcmUoKVxuICAgICAgICAgICksXG4gICAgICAgIHRpbWU6IG5ldyBEYXRlKCkuZ2V0VGltZSgpXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYWNoZVtrZXldLnJlc3BvbnNlO1xuICB9XG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC1hZ2dyZWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvc3RvcmUvYWdncmVnYXRpb24vYmFja2VuZC1hZ2dyZWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUtsRixPQUFPLEVBQWdDLFNBQVMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRWpILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVGLE9BQU8sRUFBcUIscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFLOUMsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHFCQUFxQjtJQWNyRSxZQUNVLEtBQVksRUFDWixRQUE0QixFQUM1QixnQkFBZ0MsRUFDaEMsVUFBc0IsRUFDdEIsYUFBNEI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFOQSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBb0I7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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBQcnlTbmFja2JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucywgT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvd2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsYXNzIH0gZnJvbSAnLi4vY2xhc3MvY2xhc3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsYXNzU2VsZWN0b3JzIH0gZnJvbSAnLi4vY2xhc3MvY2xhc3Muc2VsZWN0b3JzJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGQvZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpZWxkU2VsZWN0b3JzIH0gZnJvbSAnLi4vZmllbGQvZmllbGQuc2VsZWN0b3JzJztcbmltcG9ydCB7IERFRkFVTFRfTkFNRURfUVVFUllfSUQsIEVYUExPUkVfTkFNRURfUVVFUllfSUQgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5zZXJ2aWNlJztcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uUmVzdWx0LCBQcnlBZ2dyZWdhdGlvblNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtYWdncmVnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByeUJhY2tlbmRBZ2dyZWdhdGlvblNlcnZpY2UgZXh0ZW5kcyBQcnlBZ2dyZWdhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIHJzOiBSZXN1bHRTZXRzID0ge307XG4gIHByaXZhdGUgY2xhc3NlczogQ2xhc3NbXSA9IFtdO1xuICBwcml2YXRlIGZpZWxkczogRmllbGRbXSA9IFtdO1xuICBwcml2YXRlIGZpbHRlcnM6IHsgW2RhdGFzb3VyY2U6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9ID0ge307XG4gIHByaXZhdGUgZGF0YVVybDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBjYWNoZToge1xuICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgIHJlc3BvbnNlOiBPYnNlcnZhYmxlPEFnZ3JlZ2F0aW9uUmVzdWx0PjtcbiAgICAgIHRpbWU6IG51bWJlcjtcbiAgICB9O1xuICB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJlc3VsdFNldHMpLnN1YnNjcmliZSgocnMpID0+ICh0aGlzLnJzID0gcnMgYXMgUmVzdWx0U2V0cykpO1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLnN1YnNjcmliZSgoY2xhc3NlcykgPT4gKHRoaXMuY2xhc3NlcyA9IGNsYXNzZXMpKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpLnN1YnNjcmliZSgoZmllbGRzKSA9PiAodGhpcy5maWVsZHMgPSBmaWVsZHMpKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGF0YXNvdXJjZUZpbHRlcnMpLnN1YnNjcmliZSgoZmlsdGVycykgPT4gKHRoaXMuZmlsdGVycyA9IGZpbHRlcnMpKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkuc3Vic2NyaWJlKChkYXRhVXJsKSA9PiAodGhpcy5kYXRhVXJsID0gZGF0YVVybCkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYWdncmVnYXRlKGRhdGFzb3VyY2VzOiBzdHJpbmdbXSwgb3B0aW9uczogQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucyk6IE9ic2VydmFibGU8QWdncmVnYXRpb25SZXN1bHQ+IHtcbiAgICBjb25zdCB0YXJnZXREYXRhc291cmNlID0gZGF0YXNvdXJjZXMuZmluZCgoZHMpID0+ICFbREVGQVVMVF9OQU1FRF9RVUVSWV9JRCwgRVhQTE9SRV9OQU1FRF9RVUVSWV9JRF0uaW5jbHVkZXMoZHMpKTtcblxuICAgIGlmIChkYXRhc291cmNlcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oe1xuICAgICAgICB0eXBlOiAnd2FybmluZycsXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5Lm1lc3NhZ2UuYmFja2VuZC1vbmx5LTEtZGF0YXNvdXJjZScpLFxuICAgICAgICB0aW1lb3V0OiA0MDAwXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZGF0YXNvdXJjZXMuaW5jbHVkZXMoREVGQVVMVF9OQU1FRF9RVUVSWV9JRCkgfHwgZGF0YXNvdXJjZXMuaW5jbHVkZXMoRVhQTE9SRV9OQU1FRF9RVUVSWV9JRCkpIHtcbiAgICAgIHRoaXMuc25hY2tCYXIub3Blbih7XG4gICAgICAgIHR5cGU6ICd3YXJuaW5nJyxcbiAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0BwcnkubWVzc2FnZS5jYW5ub3QtYWdncmVnYXRlLXZpcnR1YWwtZHMnKSxcbiAgICAgICAgdGltZW91dDogNDAwMFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCF0YXJnZXREYXRhc291cmNlKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0FnZ3JlZ2F0aW9uIG5lZWRzIGEgdGFyZ2V0IGRhdGFzb3VyY2UuJyk7XG4gICAgICByZXR1cm4gb2YoeyBvcGVyYXRpb246IG9wdGlvbnMub3JkaW5hdGU/Lm9wZXJhdGlvbiA/PyAnbm9uZScsIHZhbHVlczogW10gfSBhcyBBZ2dyZWdhdGlvblJlc3VsdCk7XG4gICAgfVxuXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKG9wdGlvbnMuYWJzY2lzc2EgJiYgb3B0aW9ucy5hYnNjaXNzYS5hdHRyaWJ1dGUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2FnZ3JlZ2F0ZWRCeScsIG9wdGlvbnMuYWJzY2lzc2EuYXR0cmlidXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdBZ2dyZWdhdGlvbiBuZWVkcyBhbiBhZ2dyZWdhdGVkQnkgbWVtYmVyLicpO1xuICAgICAgaWYgKG9wdGlvbnMub3JkaW5hdGUub3BlcmF0aW9uICE9PSBPcGVyYXRpb24uRVhURU5UKSB7XG4gICAgICAgIHJldHVybiBvZih7IG9wZXJhdGlvbjogb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24sIHZhbHVlczogW10gfSBhcyBBZ2dyZWdhdGlvblJlc3VsdCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmFic2Npc3NhICYmIG9wdGlvbnMuYWJzY2lzc2EuaW50ZXJ2YWwpIHtcbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5hYnNjaXNzYS5pbnRlcnZhbCA9PT0gJ3N0cmluZycpIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2RhdGVJbnRlcnZhbCcsIG9wdGlvbnMuYWJzY2lzc2EuaW50ZXJ2YWwpO1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLmFic2Npc3NhLmludGVydmFsID09PSAnbnVtYmVyJykgcGFyYW1zID0gcGFyYW1zLnNldCgnaW50ZXJ2YWwnLCBvcHRpb25zLmFic2Npc3NhLmludGVydmFsKTtcbiAgICB9XG4gICAgY29uc3Qgb3BlcmF0aW9uID0gb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24/LnJlcGxhY2UoL15ub25lJC8sIE9wZXJhdGlvbi5TVU0pO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ29wZXJhdGlvbicsIG9wZXJhdGlvbik7XG4gICAgaWYgKCEhb3B0aW9ucy5vcmRpbmF0ZS5hdHRyaWJ1dGUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3ZhbHVlRmllbGQnLCBvcHRpb25zLm9yZGluYXRlLmF0dHJpYnV0ZSk7XG4gICAgfVxuICAgIGlmIChvcGVyYXRpb24gPT09IE9wZXJhdGlvbi5ESVNUSU5DVCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndmFsdWVGaWVsZCcsIG9wdGlvbnMuYWJzY2lzc2EuYXR0cmlidXRlKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuZ3JvdXBCeSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZ3JvdXBCeScsIG9wdGlvbnMuZ3JvdXBCeS5hdHRyaWJ1dGUpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5ncmFwaCAmJiBvcHRpb25zLmdyYXBoLnNvcnQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ29yZGVyJywgYCR7b3B0aW9ucy5ncmFwaC5zb3J0LmRpcmVjdGlvbn0sJHsob3B0aW9ucy5ncmFwaC5zb3J0LnZhbHVlID8/ICcnKS50b1VwcGVyQ2FzZSgpfWApO1xuICAgIH1cbiAgICBpZiAoISFvcHRpb25zLmFic2Npc3NhLmxpbWl0KSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsaW1pdCcsIGAke29wdGlvbnMuYWJzY2lzc2EubGltaXR9YCk7XG4gICAgfVxuICAgIHBhcmFtcyA9IHRoaXMuc2VhcmNoU2VydmljZS5nZXRJdGVtc0ZpbHRlcih0YXJnZXREYXRhc291cmNlLCBwYXJhbXMsIGZhbHNlKTtcblxuICAgIGNvbnN0IGtleSA9IGAke3RoaXMuZGF0YVVybH1fJHtwYXJhbXMudG9TdHJpbmcoKX1gO1xuICAgIGlmICghdGhpcy5jYWNoZVtrZXldIHx8IHRoaXMuY2FjaGVba2V5XS50aW1lICsgMTAwMCA8IG5ldyBEYXRlKCkuZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLmNhY2hlW2tleV0gPSB7XG4gICAgICAgIHJlc3BvbnNlOiB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgICAuZ2V0PEFnZ3JlZ2F0aW9uUmVzdWx0PihgJHt0aGlzLmRhdGFVcmx9L2RhdGEtc291cmNlcy9pZC8ke3RhcmdldERhdGFzb3VyY2V9L2l0ZW1zL2FnZ3JlZ2F0ZWAsIHtcbiAgICAgICAgICAgIHBhcmFtc1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcbiAgICAgICAgICAgIG1hcCgocmVzdWx0KSA9PiAoe1xuICAgICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbjogb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24gPT09IE9wZXJhdGlvbi5OT05FID8gT3BlcmF0aW9uLk5PTkUgOiByZXN1bHQub3BlcmF0aW9uXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBzaGFyZSgpXG4gICAgICAgICAgKSxcbiAgICAgICAgdGltZTogbmV3IERhdGUoKS5nZXRUaW1lKClcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlW2tleV0ucmVzcG9uc2U7XG4gIH1cbn1cbiJdfQ==
@@ -59,19 +59,13 @@ export class AggregationUtils {
59
59
  pos = Math.floor(pos);
60
60
  return values[pos + 1] !== undefined ? (values[pos] + values[pos + 1]) / 2 : values[pos];
61
61
  }
62
- static formatByLimit(data, limit, operation) {
63
- if (!limit.isTimeLimit) {
64
- data
65
- .sort((a, b) => (limit.order === 'asc' ? (a.value > b.value ? 1 : -1) : a.value < b.value ? 1 : -1))
66
- .splice(limit.at);
67
- return data;
68
- }
69
- return this.formatDataByTimeLimit(data, limit, operation);
62
+ static formatByLimit(data, interval, operation) {
63
+ return typeof interval === 'number' ? data : this.formatDataByTimeLimit(data, interval, operation);
70
64
  }
71
- static formatDataByTimeLimit(data, limit, operation) {
65
+ static formatDataByTimeLimit(data, interval, operation) {
72
66
  let distinctValues = [];
73
67
  data
74
- .map((obj) => ({ ...obj, key: this.getKeyValueForTimeInterval(obj.key, limit.interval) }))
68
+ .map((obj) => ({ ...obj, key: this.getKeyValueForTimeInterval(obj.key, interval) }))
75
69
  .forEach((obj) => {
76
70
  const isNotDistinct = distinctValues.find((distinct) => obj.key === distinct.key);
77
71
  if (!!isNotDistinct) {
@@ -180,4 +174,4 @@ export class AggregationUtils {
180
174
  }
181
175
  }
182
176
  }
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi9hZ2dyZWdhdGlvbi11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUVWLE1BQU0sMkRBQTJELENBQUM7QUFJbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUc3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLE9BQXFDLEVBQUUsSUFBNkI7UUFDNUcsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEYsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsV0FBcUIsRUFBRSxVQUFzQjtRQUM5RSxPQUFPLFdBQVc7YUFDZixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7YUFDeEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkMsTUFBTSxDQUFDLENB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QUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hGLEtBQUssU0FBUztnQkFDWixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRztvQkFDZixJQUFJLElBQUksQ0FBRSxXQUFzQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxJQUFJLENBQUUsV0FBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2hELENBQUM7Z0JBQ0YsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRjtnQkFDRSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXRMaW1pdCxcbiAgQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucyxcbiAgT3BlcmF0aW9uLFxuICBUaW1lTGltaXRcbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvd2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsYXNzIH0gZnJvbSAnLi4vLi4vY2xhc3MvY2xhc3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IEl0ZW0sIFZhbHVlVHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRzZXRVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9yZXN1bHRzZXQtdXRpbHMnO1xuaW1wb3J0IHsgSXRlbVV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGFzaGJvYXJkL2l0ZW0tdXRpbHMnO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGlvblV0aWxzIHtcbiAgc3RhdGljIGdldEF4aXNBdHRyaWJ1dGUoY2xhc3NlczogQ2xhc3NbXSwgb3B0aW9uczogQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucywgYXhpczogJ29yZGluYXRlJyB8ICdhYnNjaXNzYScpIHtcbiAgICByZXR1cm4gY2xhc3Nlc1xuICAgICAgLm1hcCgoY2xhenopID0+IGNsYXp6LmF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci5pZCA9PT0gb3B0aW9uc1theGlzXS5hdHRyaWJ1dGUpKVxuICAgICAgLmZpbmQoKGF0dHIpID0+ICEhYXR0cik/Lm5hbWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q2hhcnREYXRhc291cmNlUmVzdWx0U2V0KGRhdGFzb3VyY2VzOiBzdHJpbmdbXSwgcmVzdWx0U2V0czogUmVzdWx0U2V0cykge1xuICAgIHJldHVybiBkYXRhc291cmNlc1xuICAgICAgLmZpbHRlcigocnNOYW1lKSA9PiByc05hbWUgaW4gcmVzdWx0U2V0cylcbiAgICAgIC5tYXAoKHJzTmFtZSkgPT4gcmVzdWx0U2V0c1tyc05hbWVdKVxuICAgICAgLnJlZHVjZSgocnMxLCByczIpID0+IFJlc3VsdHNldFV0aWxzLm1lcmdlUmVzdWx0U2V0cyhyczEsIHJzMiksIHtcbiAgICAgICAgaXRlbXM6IHt9LFxuICAgICAgICByZWxhdGlvbnM6IFtdLFxuICAgICAgICBtZXJnZWQ6IGRhdGFzb3VyY2VzLmZpbHRlcigocnNOYW1lKSA9PiByc05hbWUgaW4gcmVzdWx0U2V0cykubGVuZ3RoXG4gICAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRBZ2dyZWdhdGVkVmFsdWUoXG4gICAgb3BlcmF0aW9uOiBPcGVyYXRpb24sXG4gICAgZ3JvdXBlZEl0ZW1zOiB7IFtrZXk6IHN0cmluZyB8IG51bWJlcl06IEl0ZW1bXSB9LFxuICAgIGFic2Npc3NhQXR0cmlidXRlOiBrZXlvZiB0eXBlb2YgZ3JvdXBlZEl0ZW1zLFxuICAgIG9yZGluYXRlQXR0cmlidXRlOiBzdHJpbmdcbiAgKTogbnVtYmVyIHwgVmFsdWVUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBZ2dyZWdhdGVkVmFsdWVGb3JPcGVyYXRpb24oXG4gICAgICBvcGVyYXRpb24sXG4gICAgICBncm91cGVkSXRlbXNbYWJzY2lzc2FBdHRyaWJ1dGVdLm1hcCgoaXRlbSkgPT4gdGhpcy5nZXRWYWx1ZUZyb21BdHRyaWJ1dGUoaXRlbSwgb3JkaW5hdGVBdHRyaWJ1dGUpLnZhbHVlIGFzIG51bWJlcilcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtOiBJdGVtLCBhdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIGxldCB2YWx1ZSA9IEl0ZW1VdGlscy5nZXRBdHRyaWJ1dGVWYWx1ZShpdGVtLCBhdHRyaWJ1dGUpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgZ2V0QWdncmVnYXRlZFZhbHVlRm9yT3BlcmF0aW9uKG9wZXJhdGlvbjogT3BlcmF0aW9uLCB2YWx1ZXM6IG51bWJlcltdKTogbnVtYmVyIHwgVmFsdWVUeXBlIHtcbiAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgY2FzZSBPcGVyYXRpb24uQ09VTlQ6XG4gICAgICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoO1xuICAgICAgY2FzZSBPcGVyYXRpb24uU1VNOlxuICAgICAgICByZXR1cm4gdmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIHZhbCwgMCk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5ESVNUSU5DVDpcbiAgICAgICAgcmV0dXJuIFsuLi5uZXcgU2V0KHZhbHVlcyldLmxlbmd0aDtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLkFWRVJBR0U6XG4gICAgICAgIHJldHVybiB2YWx1ZXMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLCAwKSAvIHZhbHVlcy5sZW5ndGg7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5NRURJQU46XG4gICAgICAgIHJldHVybiB0aGlzLmdldFF1YXJ0aWxlKHZhbHVlcywgMC41KTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlExOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuMjUpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uUTM6XG4gICAgICAgIHJldHVybiB0aGlzLmdldFF1YXJ0aWxlKHZhbHVlcywgMC43NSk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5NSU46XG4gICAgICAgIHJldHVybiBNYXRoLm1pbiguLi52YWx1ZXMpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUFYOlxuICAgICAgICByZXR1cm4gTWF0aC5tYXgoLi4udmFsdWVzKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0UXVhcnRpbGUodmFsdWVzOiBudW1iZXJbXSwgcTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHJldHVybiAwO1xuICAgIHZhbHVlcy5zb3J0KChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gYSAtIGIpO1xuXG4gICAgbGV0IHBvcyA9ICh2YWx1ZXMubGVuZ3RoIC0gMSkgKiBxO1xuICAgIGlmIChwb3MgJSAxID09PSAwKSB7XG4gICAgICByZXR1cm4gdmFsdWVzW3Bvc107XG4gICAgfVxuXG4gICAgcG9zID0gTWF0aC5mbG9vcihwb3MpO1xuICAgIHJldHVybiB2YWx1ZXNbcG9zICsgMV0gIT09IHVuZGVmaW5lZCA/ICh2YWx1ZXNbcG9zXSArIHZhbHVlc1twb3MgKyAxXSkgLyAyIDogdmFsdWVzW3Bvc107XG4gIH1cblxuICBzdGF0aWMgZm9ybWF0QnlMaW1pdChkYXRhOiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSwgbGltaXQ6IEF0TGltaXQgfCBUaW1lTGltaXQsIG9wZXJhdGlvbjogT3BlcmF0aW9uKSB7XG4gICAgaWYgKCFsaW1pdC5pc1RpbWVMaW1pdCkge1xuICAgICAgZGF0YVxuICAgICAgICAuc29ydCgoYSwgYikgPT4gKGxpbWl0Lm9yZGVyID09PSAnYXNjJyA/IChhLnZhbHVlID4gYi52YWx1ZSA/IDEgOiAtMSkgOiBhLnZhbHVlIDwgYi52YWx1ZSA/IDEgOiAtMSkpXG4gICAgICAgIC5zcGxpY2UobGltaXQuYXQpO1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZvcm1hdERhdGFCeVRpbWVMaW1pdChkYXRhLCBsaW1pdCwgb3BlcmF0aW9uKTtcbiAgfVxuICBzdGF0aWMgZm9ybWF0RGF0YUJ5VGltZUxpbWl0KGRhdGE6IHsga2V5OiBWYWx1ZVR5cGU7IHZhbHVlOiBWYWx1ZVR5cGUgfVtdLCBsaW1pdDogVGltZUxpbWl0LCBvcGVyYXRpb246IE9wZXJhdGlvbikge1xuICAgIGxldCBkaXN0aW5jdFZhbHVlczogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWVzOiBWYWx1ZVR5cGVbXSB9W10gPSBbXTtcbiAgICBkYXRhXG4gICAgICAubWFwKChvYmopID0+ICh7IC4uLm9iaiwga2V5OiB0aGlzLmdldEtleVZhbHVlRm9yVGltZUludGVydmFsKG9iai5rZXksIGxpbWl0LmludGVydmFsKSB9KSlcbiAgICAgIC5mb3JFYWNoKChvYmopID0+IHtcbiAgICAgICAgY29uc3QgaXNOb3REaXN0aW5jdCA9IGRpc3RpbmN0VmFsdWVzLmZpbmQoKGRpc3RpbmN0KSA9PiBvYmoua2V5ID09PSBkaXN0aW5jdC5rZXkpO1xuICAgICAgICBpZiAoISFpc05vdERpc3RpbmN0KSB7XG4gICAgICAgICAgaXNOb3REaXN0aW5jdC52YWx1ZXMucHVzaChvYmoudmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpc3RpbmN0VmFsdWVzLnB1c2goeyBrZXk6IG9iai5rZXksIHZhbHVlczogW10gfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHJldHVybiBkaXN0aW5jdFZhbHVlcy5tYXAoKG9iaikgPT4gKHtcbiAgICAgIC4uLm9iaixcbiAgICAgIHZhbHVlOiBBZ2dyZWdhdGlvblV0aWxzLmdldEFnZ3JlZ2F0ZWRWYWx1ZUZvck9wZXJhdGlvbihvcGVyYXRpb24sIG9iai52YWx1ZXMgYXMgbnVtYmVyW10pXG4gICAgfSkpO1xuICB9XG5cbiAgc3RhdGljIGdldEtleVZhbHVlRm9yVGltZUludGVydmFsKFxuICAgIGtleTogVmFsdWVUeXBlLFxuICAgIGludGVydmFsOiAnc2Vjb25kJyB8ICdtaW51dGUnIHwgJ2hvdXInIHwgJ2RheScgfCAnd2VlaycgfCAncXVhcnRlcicgfCAneWVhcidcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoa2V5IGFzIHN0cmluZyk7XG4gICAgc3dpdGNoIChpbnRlcnZhbCkge1xuICAgICAgY2FzZSAnc2Vjb25kJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKFxuICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgICAgICAgZGF0ZS5nZXREYXRlKCksXG4gICAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICAgIGRhdGUuZ2V0U2Vjb25kcygpXG4gICAgICAgICkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShcbiAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKVxuICAgICAgICApLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdob3VyJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSwgZGF0ZS5nZXRIb3VycygpKS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAnZGF5JzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgICBjb25zdCBkYXlzVG9TdWJ0cmFjdCA9ICg3ICsgZGF0ZS5nZXRVVENEYXkoKSkgJSA3O1xuICAgICAgICBkYXRlLnNldFVUQ0RhdGUoZGF0ZS5nZXRVVENEYXRlKCkgLSBkYXlzVG9TdWJ0cmFjdCk7XG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgY29uc3QgcXVhcnRlclN0YXJ0TW9udGhzID0gWzAsIDMsIDYsIDldOyAvLyBKYW51YXJ5LCBBcHJpbCwgSnVseSwgT2N0b2JlclxuICAgICAgICBjb25zdCBxdWFydGVyID0gTWF0aC5mbG9vcihkYXRlLmdldFVUQ01vbnRoKCkgLyAzKTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0VVRDRnVsbFllYXIoKTtcblxuICAgICAgICBjb25zdCBzdGFydE9mUXVhcnRlciA9IG5ldyBEYXRlKERhdGUuVVRDKHllYXIsIHF1YXJ0ZXJTdGFydE1vbnRoc1txdWFydGVyXSwgMSwgMCwgMCwgMCwgMCkpO1xuICAgICAgICByZXR1cm4gc3RhcnRPZlF1YXJ0ZXIudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICByZXR1cm4gbmV3IERhdGUobmV3IERhdGUoa2V5IGFzIHN0cmluZykuZ2V0RnVsbFllYXIoKSwgMCwgMSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZpbHRlckl0ZW1zKGl0ZW1zOiBJdGVtW10sIGZpbHRlcnM6IEZpbHRlcltdKSB7XG4gICAgbGV0IGZpbHRlcnNCeUF0dHJpYnV0ZSA9IGZpbHRlcnNcbiAgICAgIC5tYXAoKGZpbHRlcikgPT5cbiAgICAgICAgZmlsdGVyLmF0dHJpYnV0ZXMubWFwKChhdHRyaWJ1dGUpID0+ICh7XG4gICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgIGF0dHJpYnV0ZTogYXR0cmlidXRlLmlkLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHVuZGVmaW5lZFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICAgIC5mbGF0KCk7XG5cbiAgICByZXR1cm4gZmlsdGVycy5sZW5ndGggPiAwXG4gICAgICA/IFtcbiAgICAgICAgICAuLi5uZXcgU2V0KFxuICAgICAgICAgICAgZmlsdGVyc0J5QXR0cmlidXRlXG4gICAgICAgICAgICAgIC5tYXAoKGZpbHRlcikgPT5cbiAgICAgICAgICAgICAgICBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICB0aGlzLmRvZXNJdGVtVmFsdWVQYXNzRmlsdGVyKGl0ZW0sIGZpbHRlci5hdHRyaWJ1dGUsIGZpbHRlci5vcGVyYXRvciwgZmlsdGVyLnZhbHVlKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgKVxuICAgICAgICBdXG4gICAgICA6IGl0ZW1zO1xuICB9XG5cbiAgc3RhdGljIGRvZXNJdGVtVmFsdWVQYXNzRmlsdGVyKFxuICAgIGl0ZW06IEl0ZW0sXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgb3BlcmF0b3I6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBmaWx0ZXJWYWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkXG4gICk6IGJvb2xlYW4ge1xuICAgIGxldCB2YWx1ZSA9IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGl0ZW0sIGF0dHJpYnV0ZSk/LnZhbHVlIGFzIHN0cmluZyB8IG51bWJlcjtcbiAgICBsZXQgZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlO1xuXG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgICAgY2FzZSAnRVFVQUxTJzpcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSBmaWx0ZXJWYWx1ZTtcbiAgICAgIGNhc2UgJ05PVF9FUVVBTFMnOlxuICAgICAgICByZXR1cm4gdmFsdWUgIT09IGZpbHRlclZhbHVlO1xuICAgICAgY2FzZSAnQ09OVEFJTlMnOlxuICAgICAgICByZXR1cm4gKHZhbHVlIGFzIHN0cmluZykuaW5jbHVkZXMoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgIGNhc2UgJ1NUQVJUX1dJVEgnOlxuICAgICAgICByZXR1cm4gKHZhbHVlIGFzIHN0cmluZykuc3RhcnRzV2l0aChmaWx0ZXJWYWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgY2FzZSAnRU5EX1dJVEgnOlxuICAgICAgICByZXR1cm4gKHZhbHVlIGFzIHN0cmluZykuZW5kc1dpdGgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgIGNhc2UgJ0dSRUFURVJfVEhBTic6XG4gICAgICAgIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBudW1iZXIpID4gZmlsdGVyVmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkgPiBuZXcgRGF0ZShmaWx0ZXJWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICBjYXNlICdMT1dFUl9USEFOJzpcbiAgICAgICAgaWYgKHR5cGVvZiBmaWx0ZXJWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICByZXR1cm4gKHZhbHVlIGFzIG51bWJlcikgPCBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKSA8IG5ldyBEYXRlKGZpbHRlclZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIGNhc2UgJ0lOU0lERSc6XG4gICAgICAgIFtkYXRlMSwgZGF0ZTJdID0gW1xuICAgICAgICAgIG5ldyBEYXRlKChmaWx0ZXJWYWx1ZSBhcyBzdHJpbmcpLnNwbGl0KCcsJylbMF0pLFxuICAgICAgICAgIG5ldyBEYXRlKChmaWx0ZXJWYWx1ZSBhcyBzdHJpbmcpLnNwbGl0KCcsJylbMV0pXG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkgPiBuZXcgRGF0ZShkYXRlMSkgJiYgbmV3IERhdGUodmFsdWUpIDwgbmV3IERhdGUoZGF0ZTIpO1xuICAgICAgY2FzZSAnT1VUU0lERSc6XG4gICAgICAgIFtkYXRlMSwgZGF0ZTJdID0gW1xuICAgICAgICAgIG5ldyBEYXRlKChmaWx0ZXJWYWx1ZSBhcyBzdHJpbmcpLnNwbGl0KCcsJylbMF0pLFxuICAgICAgICAgIG5ldyBEYXRlKChmaWx0ZXJWYWx1ZSBhcyBzdHJpbmcpLnNwbGl0KCcsJylbMV0pXG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkgPCBuZXcgRGF0ZShkYXRlMSkgJiYgbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZGF0ZTIpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tdXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9hZ2dyZWdhdGlvbi9mcm9udGVuZC1hZ2dyZWdhdGlvbi9hZ2dyZWdhdGlvbi11dGlscy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVWLE1BQU0sMkRBQTJELENBQUM7QUFJbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUc3RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFnQixFQUFFLE9BQXFDLEVBQUUsSUFBNkI7UUFDNUcsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEYsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsV0FBcUIsRUFBRSxVQUFzQjtRQUM5RSxPQUFPLFdBQVc7YUFDZixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7YUFDeEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkMsTUFBTSxDQUFDLENB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QUFDLENBQUM7WUFDaEY7Z0JBQ0UsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsXG4gIE9wZXJhdGlvbixcbiAgVGltZUludGVydmFsXG59IGZyb20gJy4uLy4uLy4uL21vZGVsL3dpZGdldC1hZ2dyZWdhdGVkLWNoYXJ0LW1hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uLy4uL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJdGVtLCBWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0c2V0VXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvcmVzdWx0c2V0LXV0aWxzJztcbmltcG9ydCB7IEl0ZW1VdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9pdGVtLXV0aWxzJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgQWdncmVnYXRpb25VdGlscyB7XG4gIHN0YXRpYyBnZXRBeGlzQXR0cmlidXRlKGNsYXNzZXM6IENsYXNzW10sIG9wdGlvbnM6IENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsIGF4aXM6ICdvcmRpbmF0ZScgfCAnYWJzY2lzc2EnKSB7XG4gICAgcmV0dXJuIGNsYXNzZXNcbiAgICAgIC5tYXAoKGNsYXp6KSA9PiBjbGF6ei5hdHRyaWJ1dGVzLmZpbmQoKGF0dHIpID0+IGF0dHIuaWQgPT09IG9wdGlvbnNbYXhpc10uYXR0cmlidXRlKSlcbiAgICAgIC5maW5kKChhdHRyKSA9PiAhIWF0dHIpPy5uYW1lO1xuICB9XG5cbiAgc3RhdGljIGdldENoYXJ0RGF0YXNvdXJjZVJlc3VsdFNldChkYXRhc291cmNlczogc3RyaW5nW10sIHJlc3VsdFNldHM6IFJlc3VsdFNldHMpIHtcbiAgICByZXR1cm4gZGF0YXNvdXJjZXNcbiAgICAgIC5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lIGluIHJlc3VsdFNldHMpXG4gICAgICAubWFwKChyc05hbWUpID0+IHJlc3VsdFNldHNbcnNOYW1lXSlcbiAgICAgIC5yZWR1Y2UoKHJzMSwgcnMyKSA9PiBSZXN1bHRzZXRVdGlscy5tZXJnZVJlc3VsdFNldHMocnMxLCByczIpLCB7XG4gICAgICAgIGl0ZW1zOiB7fSxcbiAgICAgICAgcmVsYXRpb25zOiBbXSxcbiAgICAgICAgbWVyZ2VkOiBkYXRhc291cmNlcy5maWx0ZXIoKHJzTmFtZSkgPT4gcnNOYW1lIGluIHJlc3VsdFNldHMpLmxlbmd0aFxuICAgICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0QWdncmVnYXRlZFZhbHVlKFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGdyb3VwZWRJdGVtczogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBJdGVtW10gfSxcbiAgICBhYnNjaXNzYUF0dHJpYnV0ZToga2V5b2YgdHlwZW9mIGdyb3VwZWRJdGVtcyxcbiAgICBvcmRpbmF0ZUF0dHJpYnV0ZTogc3RyaW5nXG4gICk6IG51bWJlciB8IFZhbHVlVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWdncmVnYXRlZFZhbHVlRm9yT3BlcmF0aW9uKFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgZ3JvdXBlZEl0ZW1zW2Fic2Npc3NhQXR0cmlidXRlXS5tYXAoKGl0ZW0pID0+IHRoaXMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGl0ZW0sIG9yZGluYXRlQXR0cmlidXRlKS52YWx1ZSBhcyBudW1iZXIpXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRWYWx1ZUZyb21BdHRyaWJ1dGUoaXRlbTogSXRlbSwgYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICBsZXQgdmFsdWUgPSBJdGVtVXRpbHMuZ2V0QXR0cmlidXRlVmFsdWUoaXRlbSwgYXR0cmlidXRlKTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZVswXSA6IHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIGdldEFnZ3JlZ2F0ZWRWYWx1ZUZvck9wZXJhdGlvbihvcGVyYXRpb246IE9wZXJhdGlvbiwgdmFsdWVzOiBudW1iZXJbXSk6IG51bWJlciB8IFZhbHVlVHlwZSB7XG4gICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLkNPVU5UOlxuICAgICAgICByZXR1cm4gdmFsdWVzLmxlbmd0aDtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlNVTTpcbiAgICAgICAgcmV0dXJuIHZhbHVlcy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgKyB2YWwsIDApO1xuICAgICAgY2FzZSBPcGVyYXRpb24uRElTVElOQ1Q6XG4gICAgICAgIHJldHVybiBbLi4ubmV3IFNldCh2YWx1ZXMpXS5sZW5ndGg7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5BVkVSQUdFOlxuICAgICAgICByZXR1cm4gdmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIHZhbCwgMCkgLyB2YWx1ZXMubGVuZ3RoO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUVESUFOOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuNSk7XG4gICAgICBjYXNlIE9wZXJhdGlvbi5RMTpcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UXVhcnRpbGUodmFsdWVzLCAwLjI1KTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLlEzOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRRdWFydGlsZSh2YWx1ZXMsIDAuNzUpO1xuICAgICAgY2FzZSBPcGVyYXRpb24uTUlOOlxuICAgICAgICByZXR1cm4gTWF0aC5taW4oLi4udmFsdWVzKTtcbiAgICAgIGNhc2UgT3BlcmF0aW9uLk1BWDpcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KC4uLnZhbHVlcyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldFF1YXJ0aWxlKHZhbHVlczogbnVtYmVyW10sIHE6IG51bWJlcikge1xuICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSByZXR1cm4gMDtcbiAgICB2YWx1ZXMuc29ydCgoYTogbnVtYmVyLCBiOiBudW1iZXIpID0+IGEgLSBiKTtcblxuICAgIGxldCBwb3MgPSAodmFsdWVzLmxlbmd0aCAtIDEpICogcTtcbiAgICBpZiAocG9zICUgMSA9PT0gMCkge1xuICAgICAgcmV0dXJuIHZhbHVlc1twb3NdO1xuICAgIH1cblxuICAgIHBvcyA9IE1hdGguZmxvb3IocG9zKTtcbiAgICByZXR1cm4gdmFsdWVzW3BvcyArIDFdICE9PSB1bmRlZmluZWQgPyAodmFsdWVzW3Bvc10gKyB2YWx1ZXNbcG9zICsgMV0pIC8gMiA6IHZhbHVlc1twb3NdO1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdEJ5TGltaXQoXG4gICAgZGF0YTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10sXG4gICAgaW50ZXJ2YWw6IG51bWJlciB8IFRpbWVJbnRlcnZhbCxcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvblxuICApIHtcbiAgICByZXR1cm4gdHlwZW9mIGludGVydmFsID09PSAnbnVtYmVyJyA/IGRhdGEgOiB0aGlzLmZvcm1hdERhdGFCeVRpbWVMaW1pdChkYXRhLCBpbnRlcnZhbCwgb3BlcmF0aW9uKTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JtYXREYXRhQnlUaW1lTGltaXQoXG4gICAgZGF0YTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10sXG4gICAgaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCxcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvblxuICApIHtcbiAgICBsZXQgZGlzdGluY3RWYWx1ZXM6IHsga2V5OiBWYWx1ZVR5cGU7IHZhbHVlczogVmFsdWVUeXBlW10gfVtdID0gW107XG4gICAgZGF0YVxuICAgICAgLm1hcCgob2JqKSA9PiAoeyAuLi5vYmosIGtleTogdGhpcy5nZXRLZXlWYWx1ZUZvclRpbWVJbnRlcnZhbChvYmoua2V5LCBpbnRlcnZhbCkgfSkpXG4gICAgICAuZm9yRWFjaCgob2JqKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzTm90RGlzdGluY3QgPSBkaXN0aW5jdFZhbHVlcy5maW5kKChkaXN0aW5jdCkgPT4gb2JqLmtleSA9PT0gZGlzdGluY3Qua2V5KTtcbiAgICAgICAgaWYgKCEhaXNOb3REaXN0aW5jdCkge1xuICAgICAgICAgIGlzTm90RGlzdGluY3QudmFsdWVzLnB1c2gob2JqLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaXN0aW5jdFZhbHVlcy5wdXNoKHsga2V5OiBvYmoua2V5LCB2YWx1ZXM6IFtdIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gZGlzdGluY3RWYWx1ZXMubWFwKChvYmopID0+ICh7XG4gICAgICAuLi5vYmosXG4gICAgICB2YWx1ZTogQWdncmVnYXRpb25VdGlscy5nZXRBZ2dyZWdhdGVkVmFsdWVGb3JPcGVyYXRpb24ob3BlcmF0aW9uLCBvYmoudmFsdWVzIGFzIG51bWJlcltdKVxuICAgIH0pKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRLZXlWYWx1ZUZvclRpbWVJbnRlcnZhbChrZXk6IFZhbHVlVHlwZSwgaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGtleSBhcyBzdHJpbmcpO1xuICAgIHN3aXRjaCAoaW50ZXJ2YWwpIHtcbiAgICAgIGNhc2UgJ3NlY29uZCc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShcbiAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgICBkYXRlLmdldFNlY29uZHMoKVxuICAgICAgICApLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICdtaW51dGUnOlxuICAgICAgICByZXR1cm4gbmV3IERhdGUoXG4gICAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgICBkYXRlLmdldERhdGUoKSxcbiAgICAgICAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgICAgZGF0ZS5nZXRNaW51dGVzKClcbiAgICAgICAgKS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksIGRhdGUuZ2V0SG91cnMoKSkudG9JU09TdHJpbmcoKTtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICd3ZWVrJzpcbiAgICAgICAgY29uc3QgZGF5c1RvU3VidHJhY3QgPSAoNyArIGRhdGUuZ2V0VVRDRGF5KCkpICUgNztcbiAgICAgICAgZGF0ZS5zZXRVVENEYXRlKGRhdGUuZ2V0VVRDRGF0ZSgpIC0gZGF5c1RvU3VidHJhY3QpO1xuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJTdGFydE1vbnRocyA9IFswLCAzLCA2LCA5XTsgLy8gSmFudWFyeSwgQXByaWwsIEp1bHksIE9jdG9iZXJcbiAgICAgICAgY29uc3QgcXVhcnRlciA9IE1hdGguZmxvb3IoZGF0ZS5nZXRVVENNb250aCgpIC8gMyk7XG4gICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLmdldFVUQ0Z1bGxZZWFyKCk7XG5cbiAgICAgICAgY29uc3Qgc3RhcnRPZlF1YXJ0ZXIgPSBuZXcgRGF0ZShEYXRlLlVUQyh5ZWFyLCBxdWFydGVyU3RhcnRNb250aHNbcXVhcnRlcl0sIDEsIDAsIDAsIDAsIDApKTtcbiAgICAgICAgcmV0dXJuIHN0YXJ0T2ZRdWFydGVyLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKG5ldyBEYXRlKGtleSBhcyBzdHJpbmcpLmdldEZ1bGxZZWFyKCksIDAsIDEpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaWx0ZXJJdGVtcyhpdGVtczogSXRlbVtdLCBmaWx0ZXJzOiBGaWx0ZXJbXSkge1xuICAgIGxldCBmaWx0ZXJzQnlBdHRyaWJ1dGUgPSBmaWx0ZXJzXG4gICAgICAubWFwKChmaWx0ZXIpID0+XG4gICAgICAgIGZpbHRlci5hdHRyaWJ1dGVzLm1hcCgoYXR0cmlidXRlKSA9PiAoe1xuICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICBhdHRyaWJ1dGU6IGF0dHJpYnV0ZS5pZCxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB1bmRlZmluZWRcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgICAuZmxhdCgpO1xuXG4gICAgcmV0dXJuIGZpbHRlcnMubGVuZ3RoID4gMFxuICAgICAgPyBbXG4gICAgICAgICAgLi4ubmV3IFNldChcbiAgICAgICAgICAgIGZpbHRlcnNCeUF0dHJpYnV0ZVxuICAgICAgICAgICAgICAubWFwKChmaWx0ZXIpID0+XG4gICAgICAgICAgICAgICAgaXRlbXMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgdGhpcy5kb2VzSXRlbVZhbHVlUGFzc0ZpbHRlcihpdGVtLCBmaWx0ZXIuYXR0cmlidXRlLCBmaWx0ZXIub3BlcmF0b3IsIGZpbHRlci52YWx1ZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgIClcbiAgICAgICAgXVxuICAgICAgOiBpdGVtcztcbiAgfVxuXG4gIHN0YXRpYyBkb2VzSXRlbVZhbHVlUGFzc0ZpbHRlcihcbiAgICBpdGVtOiBJdGVtLFxuICAgIGF0dHJpYnV0ZTogc3RyaW5nLFxuICAgIG9wZXJhdG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZmlsdGVyVmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZFxuICApOiBib29sZWFuIHtcbiAgICBsZXQgdmFsdWUgPSBBZ2dyZWdhdGlvblV0aWxzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpPy52YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXI7XG4gICAgbGV0IGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZTtcblxuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcbiAgICAgIGNhc2UgJ0VRVUFMUyc6XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gZmlsdGVyVmFsdWU7XG4gICAgICBjYXNlICdOT1RfRVFVQUxTJzpcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9PSBmaWx0ZXJWYWx1ZTtcbiAgICAgIGNhc2UgJ0NPTlRBSU5TJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLmluY2x1ZGVzKGZpbHRlclZhbHVlIGFzIHN0cmluZyk7XG4gICAgICBjYXNlICdTVEFSVF9XSVRIJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLnN0YXJ0c1dpdGgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgIGNhc2UgJ0VORF9XSVRIJzpcbiAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBzdHJpbmcpLmVuZHNXaXRoKGZpbHRlclZhbHVlIGFzIHN0cmluZyk7XG4gICAgICBjYXNlICdHUkVBVEVSX1RIQU4nOlxuICAgICAgICBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHJldHVybiAodmFsdWUgYXMgbnVtYmVyKSA+IGZpbHRlclZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBmaWx0ZXJWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZmlsdGVyVmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgY2FzZSAnTE9XRVJfVEhBTic6XG4gICAgICAgIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgcmV0dXJuICh2YWx1ZSBhcyBudW1iZXIpIDwgZmlsdGVyVmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGZpbHRlclZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSkgPCBuZXcgRGF0ZShmaWx0ZXJWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICBjYXNlICdJTlNJREUnOlxuICAgICAgICBbZGF0ZTEsIGRhdGUyXSA9IFtcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzFdKVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpID4gbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA8IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgIGNhc2UgJ09VVFNJREUnOlxuICAgICAgICBbZGF0ZTEsIGRhdGUyXSA9IFtcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzBdKSxcbiAgICAgICAgICBuZXcgRGF0ZSgoZmlsdGVyVmFsdWUgYXMgc3RyaW5nKS5zcGxpdCgnLCcpWzFdKVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpIDwgbmV3IERhdGUoZGF0ZTEpICYmIG5ldyBEYXRlKHZhbHVlKSA+IG5ldyBEYXRlKGRhdGUyKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -37,7 +37,7 @@ export class PryFrontendAggregationService extends PryAggregationService {
37
37
  if (!options.groupBy) {
38
38
  if (!!options.ordinate.operation)
39
39
  console.warn('no ordinate operation selected');
40
- aggregationResult.values = this.getChartDataBasedOnOperation(items, options.ordinate.operation, abscissa, ordinate, options.abscissa.limit);
40
+ aggregationResult.values = this.getChartDataBasedOnOperation(items, options.ordinate.operation, abscissa, ordinate, options.abscissa.interval);
41
41
  }
42
42
  else {
43
43
  const groupByAttribute = classes
@@ -46,7 +46,7 @@ export class PryFrontendAggregationService extends PryAggregationService {
46
46
  const itemsGrouped = this.getItemsGroupedByAttributeValue(items, groupByAttribute);
47
47
  aggregationResult.values = Object.keys(itemsGrouped).map((key) => ({
48
48
  key,
49
- groupBy: this.getChartDataBasedOnOperation(itemsGrouped[key], options.ordinate.operation, abscissa, ordinate, options.abscissa.limit)
49
+ groupBy: this.getChartDataBasedOnOperation(itemsGrouped[key], options.ordinate.operation, abscissa, ordinate, options.abscissa.interval)
50
50
  }));
51
51
  }
52
52
  return aggregationResult;
@@ -63,7 +63,7 @@ export class PryFrontendAggregationService extends PryAggregationService {
63
63
  return distinctValues;
64
64
  }
65
65
  // get { key, value } object list that will be our data to show in the chart
66
- getChartDataBasedOnOperation(items, operation, abscissa, ordinate, limit) {
66
+ getChartDataBasedOnOperation(items, operation, abscissa, ordinate, interval) {
67
67
  if (abscissa === '' || ordinate === '')
68
68
  console.warn('abscissa or ordinate attribute not found');
69
69
  const groupByAbscissa = this.getItemsGroupedByAttributeValue(items, abscissa);
@@ -75,8 +75,8 @@ export class PryFrontendAggregationService extends PryAggregationService {
75
75
  };
76
76
  })
77
77
  ];
78
- if (limit)
79
- result = AggregationUtils.formatByLimit(result, limit, operation);
78
+ if (interval)
79
+ result = AggregationUtils.formatByLimit(result, interval, operation);
80
80
  return result;
81
81
  }
82
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryFrontendAggregationService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
88
88
  providedIn: 'root'
89
89
  }]
90
90
  }], ctorParameters: () => [{ type: i1.Store }] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmQtYWdncmVnYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2FnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQVFyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHFCQUFxQjtJQUN0RSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUVoQyxDQUFDO0lBRVEsU0FBUyxDQUFDLFdBQXFCLEVBQUUsT0FBcUM7UUFDN0UsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1NBQzlDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVB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QWlCLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztpQkFDMUcsQ0FBQztZQUNKLENBQUMsQ0FBQztTQUNILENBQUM7UUFFRixJQUFJLEtBQUs7WUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDN0UsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0FqR1UsNkJBQTZCO2tIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs7MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBJdGVtLCBWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBBdExpbWl0LFxuICBDaGFydEFnZ3JlZ2F0ZWRXaWRnZXRPcHRpb25zLFxuICBPcGVyYXRpb24sXG4gIFRpbWVMaW1pdFxufSBmcm9tICcuLi8uLi8uLi9tb2RlbC93aWRnZXQtYWdncmVnYXRlZC1jaGFydC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jbGFzcy9jbGFzcy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQWdncmVnYXRpb25SZXN1bHQsIFByeUFnZ3JlZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2Jhc2UtYWdncmVnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBZ2dyZWdhdGlvblV0aWxzIH0gZnJvbSAnLi9hZ2dyZWdhdGlvbi11dGlscy5jbGFzcyc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uLy4uL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByeUZyb250ZW5kQWdncmVnYXRpb25TZXJ2aWNlIGV4dGVuZHMgUHJ5QWdncmVnYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYWdncmVnYXRlKGRhdGFzb3VyY2VzOiBzdHJpbmdbXSwgb3B0aW9uczogQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucyk6IE9ic2VydmFibGU8QWdncmVnYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cyksXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5maWx0ZXJzKVxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtyZXN1bHRTZXRzLCBjbGFzc2VzLCBmaWx0ZXJzXSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHRTZXQgPSBBZ2dyZWdhdGlvblV0aWxzLmdldENoYXJ0RGF0YXNvdXJjZVJlc3VsdFNldChkYXRhc291cmNlcywgcmVzdWx0U2V0cyk7XG4gICAgICAgIGxldCBpdGVtczogSXRlbVtdID0gT2JqZWN0LmtleXMocmVzdWx0U2V0Lml0ZW1zKVxuICAgICAgICAgIC5tYXAoKGNsYXNzSWQpID0+IHJlc3VsdFNldC5pdGVtc1tjbGFzc0lkXSlcbiAgICAgICAgICAucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBbLi4ucHJldiwgLi4uY3Vycl0sIFtdKSBhcyBJdGVtW107XG4gICAgICAgIGl0ZW1zID0gQWdncmVnYXRpb25VdGlscy5maWx0ZXJJdGVtcyhpdGVtcywgZmlsdGVycyk7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFnZ3JlZ2F0aW9uUmVzdWx0KG9wdGlvbnMsIGNsYXNzZXMsIGl0ZW1zKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEFnZ3JlZ2F0aW9uUmVzdWx0KG9wdGlvbnM6IENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsIGNsYXNzZXM6IENsYXNzW10sIGl0ZW1zOiBJdGVtW10pOiBBZ2dyZWdhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgW2Fic2Npc3NhLCBvcmRpbmF0ZV0gPSBbXG4gICAgICBBZ2dyZWdhdGlvblV0aWxzLmdldEF4aXNBdHRyaWJ1dGUoY2xhc3Nlcywgb3B0aW9ucywgJ2Fic2Npc3NhJykgPz8gJycsXG4gICAgICBBZ2dyZWdhdGlvblV0aWxzLmdldEF4aXNBdHRyaWJ1dGUoY2xhc3Nlcywgb3B0aW9ucywgJ29yZGluYXRlJykgPz8gJydcbiAgICBdO1xuXG4gICAgY29uc3QgYWdncmVnYXRpb25SZXN1bHQ6IEFnZ3JlZ2F0aW9uUmVzdWx0ID0ge1xuICAgICAgb3BlcmF0aW9uOiBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbixcbiAgICAgIHZhbHVlczogW11cbiAgICB9O1xuXG4gICAgaWYgKCFvcHRpb25zLmdyb3VwQnkpIHtcbiAgICAgIGlmICghIW9wdGlvbnMub3JkaW5hdGUub3BlcmF0aW9uKSBjb25zb2xlLndhcm4oJ25vIG9yZGluYXRlIG9wZXJhdGlvbiBzZWxlY3RlZCcpO1xuICAgICAgYWdncmVnYXRpb25SZXN1bHQudmFsdWVzID0gdGhpcy5nZXRDaGFydERhdGFCYXNlZE9uT3BlcmF0aW9uKFxuICAgICAgICBpdGVtcyxcbiAgICAgICAgb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24sXG4gICAgICAgIGFic2Npc3NhLFxuICAgICAgICBvcmRpbmF0ZSxcbiAgICAgICAgb3B0aW9ucy5hYnNjaXNzYS5saW1pdFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZ3JvdXBCeUF0dHJpYnV0ZSA9XG4gICAgICAgIGNsYXNzZXNcbiAgICAgICAgICAubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcy5maW5kKChhdHRyKSA9PiBhdHRyLmlkID09PSBvcHRpb25zLmdyb3VwQnk/LmF0dHJpYnV0ZSkpXG4gICAgICAgICAgLmZpbmQoKGF0dHIpID0+ICEhYXR0cik/Lm5hbWUgPz8gJyc7XG4gICAgICBjb25zdCBpdGVtc0dyb3VwZWQ6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogSXRlbVtdIH0gPSB0aGlzLmdldEl0ZW1zR3JvdXBlZEJ5QXR0cmlidXRlVmFsdWUoXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBncm91cEJ5QXR0cmlidXRlXG4gICAgICApO1xuXG4gICAgICBhZ2dyZWdhdGlvblJlc3VsdC52YWx1ZXMgPSBPYmplY3Qua2V5cyhpdGVtc0dyb3VwZWQpLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgICBrZXksXG4gICAgICAgIGdyb3VwQnk6IHRoaXMuZ2V0Q2hhcnREYXRhQmFzZWRPbk9wZXJhdGlvbihcbiAgICAgICAgICBpdGVtc0dyb3VwZWRba2V5XSxcbiAgICAgICAgICBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbixcbiAgICAgICAgICBhYnNjaXNzYSxcbiAgICAgICAgICBvcmRpbmF0ZSxcbiAgICAgICAgICBvcHRpb25zLmFic2Npc3NhLmxpbWl0XG4gICAgICAgIClcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGFnZ3JlZ2F0aW9uUmVzdWx0O1xuICB9XG5cbiAgZ2V0SXRlbXNHcm91cGVkQnlBdHRyaWJ1dGVWYWx1ZShpdGVtczogSXRlbVtdLCBhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogSXRlbVtdIH0ge1xuICAgIGlmIChhdHRyaWJ1dGUgPT09ICcnKSBjb25zb2xlLndhcm4oJ2dyb3VwQnkgYXR0cmlidXRlIG5vdCBmb3VuZCcpO1xuICAgIGxldCBkaXN0aW5jdFZhbHVlczogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBJdGVtW10gfSA9IHt9O1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW06IEl0ZW0pID0+IHtcbiAgICAgIGxldCB2YWx1ZSA9IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGl0ZW0sIGF0dHJpYnV0ZSk/LnZhbHVlIGFzIHN0cmluZyB8IG51bWJlcjtcbiAgICAgIGlmICghIXZhbHVlKSBkaXN0aW5jdFZhbHVlc1t2YWx1ZV0gPSBbLi4uKGRpc3RpbmN0VmFsdWVzW3ZhbHVlXSA/PyBbXSksIGl0ZW1dO1xuICAgIH0pO1xuICAgIHJldHVybiBkaXN0aW5jdFZhbHVlcztcbiAgfVxuXG4gIC8vIGdldCB7IGtleSwgdmFsdWUgfSBvYmplY3QgbGlzdCB0aGF0IHdpbGwgYmUgb3VyIGRhdGEgdG8gc2hvdyBpbiB0aGUgY2hhcnRcbiAgZ2V0Q2hhcnREYXRhQmFzZWRPbk9wZXJhdGlvbihcbiAgICBpdGVtczogSXRlbVtdLFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGFic2Npc3NhOiBzdHJpbmcsXG4gICAgb3JkaW5hdGU6IHN0cmluZyxcbiAgICBsaW1pdD86IEF0TGltaXQgfCBUaW1lTGltaXRcbiAgKTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10ge1xuICAgIGlmIChhYnNjaXNzYSA9PT0gJycgfHwgb3JkaW5hdGUgPT09ICcnKSBjb25zb2xlLndhcm4oJ2Fic2Npc3NhIG9yIG9yZGluYXRlIGF0dHJpYnV0ZSBub3QgZm91bmQnKTtcbiAgICBjb25zdCBncm91cEJ5QWJzY2lzc2EgPSB0aGlzLmdldEl0ZW1zR3JvdXBlZEJ5QXR0cmlidXRlVmFsdWUoaXRlbXMsIGFic2Npc3NhKTtcbiAgICBsZXQgcmVzdWx0OiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSA9IFtcbiAgICAgIC4uLk9iamVjdC5rZXlzKGdyb3VwQnlBYnNjaXNzYSkubWFwKChhYnNjaXNzYUF0dHJpYnV0ZSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogK2Fic2Npc3NhQXR0cmlidXRlIHx8IGFic2Npc3NhQXR0cmlidXRlLFxuICAgICAgICAgIHZhbHVlOiBBZ2dyZWdhdGlvblV0aWxzLmdldEFnZ3JlZ2F0ZWRWYWx1ZShvcGVyYXRpb24sIGdyb3VwQnlBYnNjaXNzYSwgYWJzY2lzc2FBdHRyaWJ1dGUsIG9yZGluYXRlID8/ICcnKVxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICBdO1xuXG4gICAgaWYgKGxpbWl0KSByZXN1bHQgPSBBZ2dyZWdhdGlvblV0aWxzLmZvcm1hdEJ5TGltaXQocmVzdWx0LCBsaW1pdCwgb3BlcmF0aW9uKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmQtYWdncmVnYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2FnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU1yRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHFCQUFxQjtJQUN0RSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUVoQyxDQUFDO0lBRVEsU0FBUyxDQUFDLFdBQXFCLEVBQUUsT0FBcUM7UUFDN0UsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1NBQzlDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVB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QWlCLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztpQkFDMUcsQ0FBQztZQUNKLENBQUMsQ0FBQztTQUNILENBQUM7UUFFRixJQUFJLFFBQVE7WUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0FqR1UsNkJBQTZCO2tIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs7MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBJdGVtLCBWYWx1ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBDaGFydEFnZ3JlZ2F0ZWRXaWRnZXRPcHRpb25zLFxuICBPcGVyYXRpb24sIFRpbWVJbnRlcnZhbFxufSBmcm9tICcuLi8uLi8uLi9tb2RlbC93aWRnZXQtYWdncmVnYXRlZC1jaGFydC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9jbGFzcy9jbGFzcy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgQWdncmVnYXRpb25SZXN1bHQsIFByeUFnZ3JlZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2Jhc2UtYWdncmVnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBZ2dyZWdhdGlvblV0aWxzIH0gZnJvbSAnLi9hZ2dyZWdhdGlvbi11dGlscy5jbGFzcyc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uLy4uL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByeUZyb250ZW5kQWdncmVnYXRpb25TZXJ2aWNlIGV4dGVuZHMgUHJ5QWdncmVnYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYWdncmVnYXRlKGRhdGFzb3VyY2VzOiBzdHJpbmdbXSwgb3B0aW9uczogQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucyk6IE9ic2VydmFibGU8QWdncmVnYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucmVzdWx0U2V0cyksXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5maWx0ZXJzKVxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtyZXN1bHRTZXRzLCBjbGFzc2VzLCBmaWx0ZXJzXSkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHRTZXQgPSBBZ2dyZWdhdGlvblV0aWxzLmdldENoYXJ0RGF0YXNvdXJjZVJlc3VsdFNldChkYXRhc291cmNlcywgcmVzdWx0U2V0cyk7XG4gICAgICAgIGxldCBpdGVtczogSXRlbVtdID0gT2JqZWN0LmtleXMocmVzdWx0U2V0Lml0ZW1zKVxuICAgICAgICAgIC5tYXAoKGNsYXNzSWQpID0+IHJlc3VsdFNldC5pdGVtc1tjbGFzc0lkXSlcbiAgICAgICAgICAucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBbLi4ucHJldiwgLi4uY3Vycl0sIFtdKSBhcyBJdGVtW107XG4gICAgICAgIGl0ZW1zID0gQWdncmVnYXRpb25VdGlscy5maWx0ZXJJdGVtcyhpdGVtcywgZmlsdGVycyk7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFnZ3JlZ2F0aW9uUmVzdWx0KG9wdGlvbnMsIGNsYXNzZXMsIGl0ZW1zKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEFnZ3JlZ2F0aW9uUmVzdWx0KG9wdGlvbnM6IENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsIGNsYXNzZXM6IENsYXNzW10sIGl0ZW1zOiBJdGVtW10pOiBBZ2dyZWdhdGlvblJlc3VsdCB7XG4gICAgY29uc3QgW2Fic2Npc3NhLCBvcmRpbmF0ZV0gPSBbXG4gICAgICBBZ2dyZWdhdGlvblV0aWxzLmdldEF4aXNBdHRyaWJ1dGUoY2xhc3Nlcywgb3B0aW9ucywgJ2Fic2Npc3NhJykgPz8gJycsXG4gICAgICBBZ2dyZWdhdGlvblV0aWxzLmdldEF4aXNBdHRyaWJ1dGUoY2xhc3Nlcywgb3B0aW9ucywgJ29yZGluYXRlJykgPz8gJydcbiAgICBdO1xuXG4gICAgY29uc3QgYWdncmVnYXRpb25SZXN1bHQ6IEFnZ3JlZ2F0aW9uUmVzdWx0ID0ge1xuICAgICAgb3BlcmF0aW9uOiBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbixcbiAgICAgIHZhbHVlczogW11cbiAgICB9O1xuXG4gICAgaWYgKCFvcHRpb25zLmdyb3VwQnkpIHtcbiAgICAgIGlmICghIW9wdGlvbnMub3JkaW5hdGUub3BlcmF0aW9uKSBjb25zb2xlLndhcm4oJ25vIG9yZGluYXRlIG9wZXJhdGlvbiBzZWxlY3RlZCcpO1xuICAgICAgYWdncmVnYXRpb25SZXN1bHQudmFsdWVzID0gdGhpcy5nZXRDaGFydERhdGFCYXNlZE9uT3BlcmF0aW9uKFxuICAgICAgICBpdGVtcyxcbiAgICAgICAgb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24sXG4gICAgICAgIGFic2Npc3NhLFxuICAgICAgICBvcmRpbmF0ZSxcbiAgICAgICAgb3B0aW9ucy5hYnNjaXNzYS5pbnRlcnZhbFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZ3JvdXBCeUF0dHJpYnV0ZSA9XG4gICAgICAgIGNsYXNzZXNcbiAgICAgICAgICAubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcy5maW5kKChhdHRyKSA9PiBhdHRyLmlkID09PSBvcHRpb25zLmdyb3VwQnk/LmF0dHJpYnV0ZSkpXG4gICAgICAgICAgLmZpbmQoKGF0dHIpID0+ICEhYXR0cik/Lm5hbWUgPz8gJyc7XG4gICAgICBjb25zdCBpdGVtc0dyb3VwZWQ6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogSXRlbVtdIH0gPSB0aGlzLmdldEl0ZW1zR3JvdXBlZEJ5QXR0cmlidXRlVmFsdWUoXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBncm91cEJ5QXR0cmlidXRlXG4gICAgICApO1xuXG4gICAgICBhZ2dyZWdhdGlvblJlc3VsdC52YWx1ZXMgPSBPYmplY3Qua2V5cyhpdGVtc0dyb3VwZWQpLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgICBrZXksXG4gICAgICAgIGdyb3VwQnk6IHRoaXMuZ2V0Q2hhcnREYXRhQmFzZWRPbk9wZXJhdGlvbihcbiAgICAgICAgICBpdGVtc0dyb3VwZWRba2V5XSxcbiAgICAgICAgICBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbixcbiAgICAgICAgICBhYnNjaXNzYSxcbiAgICAgICAgICBvcmRpbmF0ZSxcbiAgICAgICAgICBvcHRpb25zLmFic2Npc3NhLmludGVydmFsXG4gICAgICAgIClcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGFnZ3JlZ2F0aW9uUmVzdWx0O1xuICB9XG5cbiAgZ2V0SXRlbXNHcm91cGVkQnlBdHRyaWJ1dGVWYWx1ZShpdGVtczogSXRlbVtdLCBhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogSXRlbVtdIH0ge1xuICAgIGlmIChhdHRyaWJ1dGUgPT09ICcnKSBjb25zb2xlLndhcm4oJ2dyb3VwQnkgYXR0cmlidXRlIG5vdCBmb3VuZCcpO1xuICAgIGxldCBkaXN0aW5jdFZhbHVlczogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBJdGVtW10gfSA9IHt9O1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW06IEl0ZW0pID0+IHtcbiAgICAgIGxldCB2YWx1ZSA9IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGl0ZW0sIGF0dHJpYnV0ZSk/LnZhbHVlIGFzIHN0cmluZyB8IG51bWJlcjtcbiAgICAgIGlmICghIXZhbHVlKSBkaXN0aW5jdFZhbHVlc1t2YWx1ZV0gPSBbLi4uKGRpc3RpbmN0VmFsdWVzW3ZhbHVlXSA/PyBbXSksIGl0ZW1dO1xuICAgIH0pO1xuICAgIHJldHVybiBkaXN0aW5jdFZhbHVlcztcbiAgfVxuXG4gIC8vIGdldCB7IGtleSwgdmFsdWUgfSBvYmplY3QgbGlzdCB0aGF0IHdpbGwgYmUgb3VyIGRhdGEgdG8gc2hvdyBpbiB0aGUgY2hhcnRcbiAgZ2V0Q2hhcnREYXRhQmFzZWRPbk9wZXJhdGlvbihcbiAgICBpdGVtczogSXRlbVtdLFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGFic2Npc3NhOiBzdHJpbmcsXG4gICAgb3JkaW5hdGU6IHN0cmluZyxcbiAgICBpbnRlcnZhbD86IG51bWJlciB8IFRpbWVJbnRlcnZhbFxuICApOiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSB7XG4gICAgaWYgKGFic2Npc3NhID09PSAnJyB8fCBvcmRpbmF0ZSA9PT0gJycpIGNvbnNvbGUud2FybignYWJzY2lzc2Egb3Igb3JkaW5hdGUgYXR0cmlidXRlIG5vdCBmb3VuZCcpO1xuICAgIGNvbnN0IGdyb3VwQnlBYnNjaXNzYSA9IHRoaXMuZ2V0SXRlbXNHcm91cGVkQnlBdHRyaWJ1dGVWYWx1ZShpdGVtcywgYWJzY2lzc2EpO1xuICAgIGxldCByZXN1bHQ6IHsga2V5OiBWYWx1ZVR5cGU7IHZhbHVlOiBWYWx1ZVR5cGUgfVtdID0gW1xuICAgICAgLi4uT2JqZWN0LmtleXMoZ3JvdXBCeUFic2Npc3NhKS5tYXAoKGFic2Npc3NhQXR0cmlidXRlKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiArYWJzY2lzc2FBdHRyaWJ1dGUgfHwgYWJzY2lzc2FBdHRyaWJ1dGUsXG4gICAgICAgICAgdmFsdWU6IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0QWdncmVnYXRlZFZhbHVlKG9wZXJhdGlvbiwgZ3JvdXBCeUFic2Npc3NhLCBhYnNjaXNzYUF0dHJpYnV0ZSwgb3JkaW5hdGUgPz8gJycpXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgIF07XG5cbiAgICBpZiAoaW50ZXJ2YWwpIHJlc3VsdCA9IEFnZ3JlZ2F0aW9uVXRpbHMuZm9ybWF0QnlMaW1pdChyZXN1bHQsIGludGVydmFsLCBvcGVyYXRpb24pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==