@provoly/dashboard 1.4.4 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/filters/date/date-filter.component.mjs +21 -42
- package/esm2022/import/components/list/import-list.component.mjs +3 -3
- package/esm2022/lib/core/components/sort/sort-data.pipe.mjs +2 -2
- package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +1 -2
- package/esm2022/lib/core/model/filter.interface.mjs +1 -1
- package/esm2022/lib/core/store/config/config.service.mjs +22 -18
- package/esm2022/lib/core/store/search/search.service.mjs +10 -2
- package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +1 -1
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +5 -2
- package/esm2022/lib/dashboard/date-utils.mjs +21 -1
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -2
- package/esm2022/lib/dashboard/widget-loader.function.mjs +15 -4
- package/esm2022/notification/components/notification/content/notification-content.component.mjs +3 -3
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +106 -92
- package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +11 -2
- package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +12 -3
- package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +5 -2
- package/fesm2022/provoly-dashboard-filters-date.mjs +20 -41
- package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +2 -2
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-notification.mjs +2 -2
- package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +126 -94
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +4 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +90 -45
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/filters/date/date-filter.component.d.ts +2 -8
- package/lib/core/components/sort/sort-data.pipe.d.ts +1 -1
- package/lib/core/model/filter.interface.d.ts +1 -0
- package/lib/core/store/config/config.service.d.ts +2 -1
- package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +3 -0
- package/lib/dashboard/date-utils.d.ts +13 -0
- package/package.json +7 -7
- package/styles/components/_m-filter.scss +17 -2
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +13 -13
- package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +9 -0
- package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +9 -0
- package/widgets/widget-analytic/component/widget-analytic.component.d.ts +1 -1
|
@@ -26,7 +26,16 @@ export const enTranslations = {
|
|
|
26
26
|
DAY_MONTH: '%d-%m',
|
|
27
27
|
YEAR: '%Y',
|
|
28
28
|
MONTH: '%m',
|
|
29
|
-
DAY: '%d'
|
|
29
|
+
DAY: '%d',
|
|
30
|
+
interval: {
|
|
31
|
+
default: '%Y-%m-%dT%H:%M:%S',
|
|
32
|
+
second: '%Y-%m-%dT%H:%M:%S',
|
|
33
|
+
minute: '%Y-%m-%dT%H:%M',
|
|
34
|
+
hour: '%Y-%m-%dT%H:00',
|
|
35
|
+
day: '%Y-%m-%d',
|
|
36
|
+
month: '%Y-%m',
|
|
37
|
+
year: '%Y'
|
|
38
|
+
}
|
|
30
39
|
},
|
|
31
40
|
operation: {
|
|
32
41
|
none: 'Attribute value',
|
|
@@ -140,4 +149,4 @@ export const enTranslations = {
|
|
|
140
149
|
}
|
|
141
150
|
}
|
|
142
151
|
};
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYWdncmVnYXRlZC1jaGFydC9pMThuL2VuLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUUsR0FBRztvQkFDWixTQUFTLEVBQUUsR0FBRztvQkFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2IsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztpQkFDcEI7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztvQkFDckIsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDO29CQUNwRixTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7b0JBQzVELE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO29CQUNoRixXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFB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QUMxQixPQUFPLEVBQUUsU0FBUztpQkFDbkI7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRSxRQUFRO29CQUNoQixNQUFNLEVBQUUsUUFBUTtvQkFDaEIsSUFBSSxFQUFFLE1BQU07b0JBQ1osR0FBRyxFQUFFLEtBQUs7b0JBQ1YsSUFBSSxFQUFFLE1BQU07b0JBQ1osS0FBSyxFQUFFLE9BQU87b0JBQ2QsT0FBTyxFQUFFLFNBQVM7b0JBQ2xCLElBQUksRUFBRSxNQUFNO2lCQUNiO2dCQUNELEtBQUssRUFBRSxPQUFPO2dCQUNkLElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsTUFBTTtvQkFDYixTQUFTLEVBQUUsV0FBVztvQkFDdEIsU0FBUyxFQUFFLFdBQVc7b0JBQ3RCLEdBQUcsRUFBRTt3QkFDSCxZQUFZLEVBQUUsYUFBYTt3QkFDM0IsT0FBTyxFQUFFLGNBQWM7d0JBQ3ZCLE9BQU8sRUFBRSxjQUFjO3dCQUN2QixRQUFRLEVBQUUsZUFBZTtxQkFDMUI7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLFlBQVksRUFBRSxhQUFhO3dCQUMzQixPQUFPLEVBQUUsc0JBQXNCO3dCQUMvQixPQUFPLEVBQUUsc0JBQXNCO3dCQUMvQixRQUFRLEVBQUUsbUJBQW1CO3FCQUM5QjtvQkFDRCxFQUFFLEVBQUU7d0JBQ0YsU0FBUyxFQUFFOzRCQUNULElBQUksRUFBRSxVQUFVOzRCQUNoQixLQUFLLEVBQUUsWUFBWTs0QkFDbkIsV0FBVyxFQUFFLG9CQUFvQjt5QkFDbEM7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsMkJBQTJCLEVBQUUsZ0ZBQWdGO1lBQzdHLDZCQUE2QixFQUMzQiw0RkFBNEY7U0FDL0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5UcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHdpZGdldDoge1xuICAgICAgY2hhcnQ6IHtcbiAgICAgICAgbnVtYmVyTG9jYWxlOiB7XG4gICAgICAgICAgZGVjaW1hbDogJy4nLFxuICAgICAgICAgIHRob3VzYW5kczogJywnLFxuICAgICAgICAgIGdyb3VwaW5nOiBbM10sXG4gICAgICAgICAgY3VycmVuY3k6IFsnJCcsICcnXVxuICAgICAgICB9LFxuICAgICAgICB0aW1lRm9ybWF0TG9jYWxlOiB7XG4gICAgICAgICAgZGF0ZVRpbWU6ICclWSAlQiAlZCAlSDolTTolUycsXG4gICAgICAgICAgZGF0ZTogJyVkLyVtLyVZJyxcbiAgICAgICAgICB0aW1lOiAnJUg6JU06JVMnLFxuICAgICAgICAgIHBlcmlvZHM6IFsnQU0nLCAnUE0nXSxcbiAgICAgICAgICBkYXlzOiBbJ3N1bmRheScsICdtb25kYXknLCAndHVlc2RheScsICd3ZWRuZXNkYXknLCAndGh1cnNkYXknLCAnZnJpZGF5JywgJ3NhdHVyZGF5J10sXG4gICAgICAgICAgc2hvcnREYXlzOiBbJ1N1bicsICdNb24nLCAnVHVlJywgJ1dlZCcsICdUaHUnLCAnRnJpJywgJ1NhdCddLFxuICAgICAgICAgIG1vbnRoczogWycwMScsICcwMicsICcwMycsICcwNCcsICcwNScsICcwNicsICcwNycsICcwOCcsICcwOScsICcxMCcsICcxMScsICcxMiddLFxuICAgICAgICAgIHNob3J0TW9udGhzOiBbJzAxJywgJzAyJywgJzAzJywgJzA0JywgJzA1JywgJzA2JywgJzA3JywgJzA4JywgJzA5JywgJzEwJywgJzExJywgJzEyJ11cbiAgICAgICAgfSxcbiAgICAgICAgc3BlY2lhbGl6ZWRMb2NhbGU6IHtcbiAgICAgICAgICBkZWZhdWx0OiAnJVktJW0tJWRUJUg6JU06JVMnLFxuICAgICAgICAgIERBVEVUSU1FOiAnJVktJW0tJWRUJUg6JU06JVMnLFxuICAgICAgICAgIERBVEU6ICclWS0lbS0lZCcsXG4gICAgICAgICAgTU9OVEhfWUVBUjogJyVtLSVZJyxcbiAgICAgICAgICBEQVlfTU9OVEg6ICclZC0lbScsXG4gICAgICAgICAgWUVBUjogJyVZJyxcbiAgICAgICAgICBNT05USDogJyVtJyxcbiAgICAgICAgICBEQVk6ICclZCdcbiAgICAgICAgfSxcbiAgICAgICAgb3BlcmF0aW9uOiB7XG4gICAgICAgICAgbm9uZTogJ0F0dHJpYnV0ZSB2YWx1ZScsXG4gICAgICAgICAgY291bnQ6ICdDb3VudCcsXG4gICAgICAgICAgc3VtOiAnU3VtJyxcbiAgICAgICAgICBjYXJkaW5hbGl0eTogJ0Rpc3RpbmN0IGVsZW1lbnRzJyxcbiAgICAgICAgICBhdmc6ICdBdmVyYWdlJyxcbiAgICAgICAgICBtZWRpYW46ICdNZWRpYW4nLFxuICAgICAgICAgIHExOiAnTG93ZXIgcXVhcnRpbGUnLFxuICAgICAgICAgIHEzOiAnVXBwZXIgUXVhcnRpbGUnLFxuICAgICAgICAgIG1pbjogJ01pbmltdW0nLFxuICAgICAgICAgIG1heDogJ01heGltdW0nLFxuICAgICAgICAgIHBlcmNlbnQ6ICdQZXJjZW50JyxcbiAgICAgICAgICB0aXRsZTogJ09wZXJhdGlvbidcbiAgICAgICAgfSxcbiAgICAgICAgY2hvb3NlUGFyYW1ldGVyczogJ1BsZWFzZSBzZWxlY3QgcGFyYW1ldGVycyB0byBkaXNwbGF5IGNoYXJ0LicsXG4gICAgICAgIHNlcmllczogJ1NlcmllcycsXG4gICAgICAgIHR5cGU6ICdDaGFydCB0eXBlJyxcbiAgICAgICAgdGl0bGU6ICdDaGFydCB0aXRsZScsXG4gICAgICAgIGdyYXBoVHlwZToge1xuICAgICAgICAgICdhcmVhLWRlZmF1bHQnOiAnQXJlYScsXG4gICAgICAgICAgJ2FyZWEtd2l0aC1saW5lcy1hbmQtcG9pbnRzJzogJ0N1cnZlIHdpdGggbGluZXMgYW5kIHBvaW50cycsXG4gICAgICAgICAgJ2Jhci1kZWZhdWx0JzogJ0JhcicsXG4gICAgICAgICAgJ2FyYy1kZWZhdWx0JzogJ0NpcmN1bGFyJyxcbiAgICAgICAgICAnbGluZS1kZWZhdWx0JzogJ0N1cnZlJyxcbiAgICAgICAgICAnbGluZS13aXRoLXBvaW50cyc6ICdDdXJ2ZSB3aXRoIHBvaW50cycsXG4gICAgICAgICAgJ2FyYy1kb251dCc6ICdEb251dCcsXG4gICAgICAgICAgJ2Jhci1oaXN0b2dyYW0nOiAnSGlzdG9ncmFtJyxcbiAgICAgICAgICAncG9pbnQtZGVmYXVsdCc6ICdQb2ludHMnXG4gICAgICAgIH0sXG4gICAgICAgIGRvbnV0U2l6ZTogJ0RvbnV0IGlubmVyIHJhZGl1cycsXG4gICAgICAgIGFic2Npc3NhOiAnQWJzY2lzc2EnLFxuICAgICAgICBvcmRpbmF0ZTogJ09yZGluYXRlJyxcbiAgICAgICAgZGF0YUxhYmVsOiAnRGF0YSBsYWJlbCcsXG4gICAgICAgIG9yaWdpbjogJ0F4aXMgY29udGFpbmluZyAwJyxcbiAgICAgICAgbGltaXQ6ICdMaW1pdCB0aGUgbnVtYmVyIG9mIGFic2Npc3NhIGVsZW1lbnRzJyxcbiAgICAgICAgbGltaXRNYXhOYjogJ01heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzJyxcbiAgICAgICAgYXNjOiAnQmlnZ2VzdCBlbGVtZW50cycsXG4gICAgICAgIGRlc2M6ICdTbWFsbGVzdCBlbGVtZW50cycsXG4gICAgICAgIHRpbWVJbnRlcnZhbDogJ1RpbWUgaW50ZXJ2YWwnLFxuICAgICAgICBvdGhlcnM6ICdSZWdyb3VwIHJlbWFpbmluZyB2YWx1ZXMgaW4gY2F0ZWdvcnkgXCJPdGhlclwiJyxcbiAgICAgICAgb3JkZXI6ICdDb21wb25lbnQgc2VsZWN0aW9uJyxcbiAgICAgICAgZ3JvdXBCeTogJ0dyb3VwIGJ5JyxcbiAgICAgICAgZ3JvdXBBdHRyOiAnR3JvdXBpbmcgYXR0cmlidXRlJyxcbiAgICAgICAgY29sb3JTY2hlbWU6ICdDb2xvciBzY2hlbWUnLFxuICAgICAgICBsZWdlbmQ6ICdEaXNwbGF5IGxlZ2VuZCcsXG4gICAgICAgIGxlZ2VuZExhYmVsOiAnTGVnZW5kJyxcbiAgICAgICAgdG9vbHRpcDogJ0Rpc3BsYXkgdG9vbHRpcCcsXG4gICAgICAgIHN0YWNrZWQ6ICdWZXJ0aWNhbCBzdGFja2luZycsXG4gICAgICAgIG5vRGF0YTogJ05vIHNlbGVjdGVkIGRhdGFzb3VyY2UnLFxuICAgICAgICBhZ2dOb1Jlc3VsdDogJ05vIHJlc3VsdHMgdG8gZGlzcGxheScsXG4gICAgICAgIGludGVydmFsOiAnU3BlY2lmeSBpbnRlcnZhbCBzdGVwJyxcbiAgICAgICAgc2NoZW1lOiB7XG4gICAgICAgICAgYWNjZW50OiAnOCBjb2xvcnMgbsKwMScsXG4gICAgICAgICAgc2V0MjogJzggY29sb3JzIG7CsDInLFxuICAgICAgICAgIGRhcmsyOiAnOCBkYXJrIGNvbG9ycycsXG4gICAgICAgICAgcGFzdGVsMjogJzggcGFzdGVsIGNvbG9ycycsXG4gICAgICAgICAgc2V0MTogJzkgY29sb3JzJyxcbiAgICAgICAgICBwYXN0ZWwxOiAnOSBwYXN0ZWwgY29sb3JzJyxcbiAgICAgICAgICBjYXRlZ29yeTEwOiAnMTAgY29sb3JzJyxcbiAgICAgICAgICB0YWJsZWF1MTA6ICcxMCBkaWZmZXJlbnQgY29sb3JzJyxcbiAgICAgICAgICBzZXQzOiAnMTIgY29sb3JzJyxcbiAgICAgICAgICBwYWlyZWQ6ICcxMiBkaWZmZXJlbnQgY29sb3JzJyxcbiAgICAgICAgICB0YWJsZWF1MjA6ICcyMCBjb2xvcnMnLFxuICAgICAgICAgIGNhdGVnb3J5MjA6ICcyMCBjb2xvcnMgd2l0aCAyIHNoYWRlcycsXG4gICAgICAgICAgY2F0ZWdvcnkyMGI6ICcyMCBjb2xvcnMgd2l0aCA0IHNoYWRlcyBuwrAxJyxcbiAgICAgICAgICBjYXRlZ29yeTIwYzogJzIwIGNvbG9ycyB3aXRoIDQgc2hhZGVzIG7CsDInLFxuICAgICAgICAgICdLTy9XL09LJzogJ1RyYWZmaWMgbGlnaHQnLFxuICAgICAgICAgIFByb3ZvbHk6ICdQcm92b2x5J1xuICAgICAgICB9LFxuICAgICAgICB0aW1lOiB7XG4gICAgICAgICAgc2Vjb25kOiAnU2Vjb25kJyxcbiAgICAgICAgICBtaW51dGU6ICdNaW51dGUnLFxuICAgICAgICAgIGhvdXI6ICdIb3VyJyxcbiAgICAgICAgICBkYXk6ICdEYXknLFxuICAgICAgICAgIHdlZWs6ICdXZWVrJyxcbiAgICAgICAgICBtb250aDogJ01vbnRoJyxcbiAgICAgICAgICBxdWFydGVyOiAnUXVhcnRlcicsXG4gICAgICAgICAgeWVhcjogJ1llYXInXG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnQ29sb3InLFxuICAgICAgICBzb3J0OiB7XG4gICAgICAgICAgdGl0bGU6ICdTb3J0JyxcbiAgICAgICAgICBhdHRyaWJ1dGU6ICdBdHRyaWJ1dGUnLFxuICAgICAgICAgIGRpcmVjdGlvbjogJ0RpcmVjdGlvbicsXG4gICAgICAgICAgYXNjOiB7XG4gICAgICAgICAgICBxdWFudGl0YXRpdmU6ICdMb3cgdG8gaGlnaCcsXG4gICAgICAgICAgICBub21pbmFsOiAnQWxwaGFiZXRpY2FsJyxcbiAgICAgICAgICAgIG9yZGluYWw6ICdBbHBoYWJldGljYWwnLFxuICAgICAgICAgICAgdGVtcG9yYWw6ICdDaHJvbm9sb2dpY2FsJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVzYzoge1xuICAgICAgICAgICAgcXVhbnRpdGF0aXZlOiAnSGlnaCB0byBsb3cnLFxuICAgICAgICAgICAgbm9taW5hbDogJ1JldmVyc2UgYWxwaGFiZXRpY2FsJyxcbiAgICAgICAgICAgIG9yZGluYWw6ICdSZXZlcnNlIGFscGhhYmV0aWNhbCcsXG4gICAgICAgICAgICB0ZW1wb3JhbDogJ0FudGljaHJvbm9sb2dpY2FsJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYnk6IHtcbiAgICAgICAgICAgIG9wZXJhdGlvbjoge1xuICAgICAgICAgICAgICBub25lOiAnT3JkaW5hdGUnLFxuICAgICAgICAgICAgICBjb3VudDogJ09jY3VycmVuY2UnLFxuICAgICAgICAgICAgICBjYXJkaW5hbGl0eTogJ1VuaXF1ZSBvY2N1cnJlbmNlcydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIG1lc3NhZ2U6IHtcbiAgICAgICdiYWNrZW5kLW9ubHktMS1kYXRhc291cmNlJzogJ0FnZ3JlZ2F0aW9uIHNlcnZpY2UgY2FuIG9ubHkgbWFuYWdlIHRoZSBmaXJzdCBkYXRhc291cmNlIGxpbmtlZCB0byB0aGUgd2lkZ2V0LicsXG4gICAgICAnY2Fubm90LWFnZ3JlZ2F0ZS12aXJ0dWFsLWRzJzpcbiAgICAgICAgJ0FnZ3JlZ2F0aW9uIHNlcnZpY2UgY2Fubm90IHBlcmZvcm0gYWdncmVnYXRpb24gb24gdmlydHVhbCBkYXRhc2V0cyBzdWNoIGFzIGN1cnJlbnQgc2VhcmNoLidcbiAgICB9XG4gIH1cbn07XG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYWdncmVnYXRlZC1jaGFydC9pMThuL2VuLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUUsR0FBRztvQkFDWixTQUFTLEVBQUUsR0FBRztvQkFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2IsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztpQkFDcEI7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztvQkFDckIsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDO29CQUNwRixTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7b0JBQzVELE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO29CQUNoRixXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFB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Ryw2QkFBNkIsRUFDM0IsNEZBQTRGO1NBQy9GO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVuVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICB3aWRnZXQ6IHtcbiAgICAgIGNoYXJ0OiB7XG4gICAgICAgIG51bWJlckxvY2FsZToge1xuICAgICAgICAgIGRlY2ltYWw6ICcuJyxcbiAgICAgICAgICB0aG91c2FuZHM6ICcsJyxcbiAgICAgICAgICBncm91cGluZzogWzNdLFxuICAgICAgICAgIGN1cnJlbmN5OiBbJyQnLCAnJ11cbiAgICAgICAgfSxcbiAgICAgICAgdGltZUZvcm1hdExvY2FsZToge1xuICAgICAgICAgIGRhdGVUaW1lOiAnJVkgJUIgJWQgJUg6JU06JVMnLFxuICAgICAgICAgIGRhdGU6ICclZC8lbS8lWScsXG4gICAgICAgICAgdGltZTogJyVIOiVNOiVTJyxcbiAgICAgICAgICBwZXJpb2RzOiBbJ0FNJywgJ1BNJ10sXG4gICAgICAgICAgZGF5czogWydzdW5kYXknLCAnbW9uZGF5JywgJ3R1ZXNkYXknLCAnd2VkbmVzZGF5JywgJ3RodXJzZGF5JywgJ2ZyaWRheScsICdzYXR1cmRheSddLFxuICAgICAgICAgIHNob3J0RGF5czogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSxcbiAgICAgICAgICBtb250aHM6IFsnMDEnLCAnMDInLCAnMDMnLCAnMDQnLCAnMDUnLCAnMDYnLCAnMDcnLCAnMDgnLCAnMDknLCAnMTAnLCAnMTEnLCAnMTInXSxcbiAgICAgICAgICBzaG9ydE1vbnRoczogWycwMScsICcwMicsICcwMycsICcwNCcsICcwNScsICcwNicsICcwNycsICcwOCcsICcwOScsICcxMCcsICcxMScsICcxMiddXG4gICAgICAgIH0sXG4gICAgICAgIHNwZWNpYWxpemVkTG9jYWxlOiB7XG4gICAgICAgICAgZGVmYXVsdDogJyVZLSVtLSVkVCVIOiVNOiVTJyxcbiAgICAgICAgICBEQVRFVElNRTogJyVZLSVtLSVkVCVIOiVNOiVTJyxcbiAgICAgICAgICBEQVRFOiAnJVktJW0tJWQnLFxuICAgICAgICAgIE1PTlRIX1lFQVI6ICclbS0lWScsXG4gICAgICAgICAgREFZX01PTlRIOiAnJWQtJW0nLFxuICAgICAgICAgIFlFQVI6ICclWScsXG4gICAgICAgICAgTU9OVEg6ICclbScsXG4gICAgICAgICAgREFZOiAnJWQnLFxuICAgICAgICAgIGludGVydmFsOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAnJVktJW0tJWRUJUg6JU06JVMnLFxuICAgICAgICAgICAgc2Vjb25kOiAnJVktJW0tJWRUJUg6JU06JVMnLFxuICAgICAgICAgICAgbWludXRlOiAnJVktJW0tJWRUJUg6JU0nLFxuICAgICAgICAgICAgaG91cjogJyVZLSVtLSVkVCVIOjAwJyxcbiAgICAgICAgICAgIGRheTogJyVZLSVtLSVkJyxcbiAgICAgICAgICAgIG1vbnRoOiAnJVktJW0nLFxuICAgICAgICAgICAgeWVhcjogJyVZJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb3BlcmF0aW9uOiB7XG4gICAgICAgICAgbm9uZTogJ0F0dHJpYnV0ZSB2YWx1ZScsXG4gICAgICAgICAgY291bnQ6ICdDb3VudCcsXG4gICAgICAgICAgc3VtOiAnU3VtJyxcbiAgICAgICAgICBjYXJkaW5hbGl0eTogJ0Rpc3RpbmN0IGVsZW1lbnRzJyxcbiAgICAgICAgICBhdmc6ICdBdmVyYWdlJyxcbiAgICAgICAgICBtZWRpYW46ICdNZWRpYW4nLFxuICAgICAgICAgIHExOiAnTG93ZXIgcXVhcnRpbGUnLFxuICAgICAgICAgIHEzOiAnVXBwZXIgUXVhcnRpbGUnLFxuICAgICAgICAgIG1pbjogJ01pbmltdW0nLFxuICAgICAgICAgIG1heDogJ01heGltdW0nLFxuICAgICAgICAgIHBlcmNlbnQ6ICdQZXJjZW50JyxcbiAgICAgICAgICB0aXRsZTogJ09wZXJhdGlvbidcbiAgICAgICAgfSxcbiAgICAgICAgY2hvb3NlUGFyYW1ldGVyczogJ1BsZWFzZSBzZWxlY3QgcGFyYW1ldGVycyB0byBkaXNwbGF5IGNoYXJ0LicsXG4gICAgICAgIHNlcmllczogJ1NlcmllcycsXG4gICAgICAgIHR5cGU6ICdDaGFydCB0eXBlJyxcbiAgICAgICAgdGl0bGU6ICdDaGFydCB0aXRsZScsXG4gICAgICAgIGdyYXBoVHlwZToge1xuICAgICAgICAgICdhcmVhLWRlZmF1bHQnOiAnQXJlYScsXG4gICAgICAgICAgJ2FyZWEtd2l0aC1saW5lcy1hbmQtcG9pbnRzJzogJ0N1cnZlIHdpdGggbGluZXMgYW5kIHBvaW50cycsXG4gICAgICAgICAgJ2Jhci1kZWZhdWx0JzogJ0JhcicsXG4gICAgICAgICAgJ2FyYy1kZWZhdWx0JzogJ0NpcmN1bGFyJyxcbiAgICAgICAgICAnbGluZS1kZWZhdWx0JzogJ0N1cnZlJyxcbiAgICAgICAgICAnbGluZS13aXRoLXBvaW50cyc6ICdDdXJ2ZSB3aXRoIHBvaW50cycsXG4gICAgICAgICAgJ2FyYy1kb251dCc6ICdEb251dCcsXG4gICAgICAgICAgJ2Jhci1oaXN0b2dyYW0nOiAnSGlzdG9ncmFtJyxcbiAgICAgICAgICAncG9pbnQtZGVmYXVsdCc6ICdQb2ludHMnXG4gICAgICAgIH0sXG4gICAgICAgIGRvbnV0U2l6ZTogJ0RvbnV0IGlubmVyIHJhZGl1cycsXG4gICAgICAgIGFic2Npc3NhOiAnQWJzY2lzc2EnLFxuICAgICAgICBvcmRpbmF0ZTogJ09yZGluYXRlJyxcbiAgICAgICAgZGF0YUxhYmVsOiAnRGF0YSBsYWJlbCcsXG4gICAgICAgIG9yaWdpbjogJ0F4aXMgY29udGFpbmluZyAwJyxcbiAgICAgICAgbGltaXQ6ICdMaW1pdCB0aGUgbnVtYmVyIG9mIGFic2Npc3NhIGVsZW1lbnRzJyxcbiAgICAgICAgbGltaXRNYXhOYjogJ01heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzJyxcbiAgICAgICAgYXNjOiAnQmlnZ2VzdCBlbGVtZW50cycsXG4gICAgICAgIGRlc2M6ICdTbWFsbGVzdCBlbGVtZW50cycsXG4gICAgICAgIHRpbWVJbnRlcnZhbDogJ1RpbWUgaW50ZXJ2YWwnLFxuICAgICAgICBvdGhlcnM6ICdSZWdyb3VwIHJlbWFpbmluZyB2YWx1ZXMgaW4gY2F0ZWdvcnkgXCJPdGhlclwiJyxcbiAgICAgICAgb3JkZXI6ICdDb21wb25lbnQgc2VsZWN0aW9uJyxcbiAgICAgICAgZ3JvdXBCeTogJ0dyb3VwIGJ5JyxcbiAgICAgICAgZ3JvdXBBdHRyOiAnR3JvdXBpbmcgYXR0cmlidXRlJyxcbiAgICAgICAgY29sb3JTY2hlbWU6ICdDb2xvciBzY2hlbWUnLFxuICAgICAgICBsZWdlbmQ6ICdEaXNwbGF5IGxlZ2VuZCcsXG4gICAgICAgIGxlZ2VuZExhYmVsOiAnTGVnZW5kJyxcbiAgICAgICAgdG9vbHRpcDogJ0Rpc3BsYXkgdG9vbHRpcCcsXG4gICAgICAgIHN0YWNrZWQ6ICdWZXJ0aWNhbCBzdGFja2luZycsXG4gICAgICAgIG5vRGF0YTogJ05vIHNlbGVjdGVkIGRhdGFzb3VyY2UnLFxuICAgICAgICBhZ2dOb1Jlc3VsdDogJ05vIHJlc3VsdHMgdG8gZGlzcGxheScsXG4gICAgICAgIGludGVydmFsOiAnU3BlY2lmeSBpbnRlcnZhbCBzdGVwJyxcbiAgICAgICAgc2NoZW1lOiB7XG4gICAgICAgICAgYWNjZW50OiAnOCBjb2xvcnMgbsKwMScsXG4gICAgICAgICAgc2V0MjogJzggY29sb3JzIG7CsDInLFxuICAgICAgICAgIGRhcmsyOiAnOCBkYXJrIGNvbG9ycycsXG4gICAgICAgICAgcGFzdGVsMjogJzggcGFzdGVsIGNvbG9ycycsXG4gICAgICAgICAgc2V0MTogJzkgY29sb3JzJyxcbiAgICAgICAgICBwYXN0ZWwxOiAnOSBwYXN0ZWwgY29sb3JzJyxcbiAgICAgICAgICBjYXRlZ29yeTEwOiAnMTAgY29sb3JzJyxcbiAgICAgICAgICB0YWJsZWF1MTA6ICcxMCBkaWZmZXJlbnQgY29sb3JzJyxcbiAgICAgICAgICBzZXQzOiAnMTIgY29sb3JzJyxcbiAgICAgICAgICBwYWlyZWQ6ICcxMiBkaWZmZXJlbnQgY29sb3JzJyxcbiAgICAgICAgICB0YWJsZWF1MjA6ICcyMCBjb2xvcnMnLFxuICAgICAgICAgIGNhdGVnb3J5MjA6ICcyMCBjb2xvcnMgd2l0aCAyIHNoYWRlcycsXG4gICAgICAgICAgY2F0ZWdvcnkyMGI6ICcyMCBjb2xvcnMgd2l0aCA0IHNoYWRlcyBuwrAxJyxcbiAgICAgICAgICBjYXRlZ29yeTIwYzogJzIwIGNvbG9ycyB3aXRoIDQgc2hhZGVzIG7CsDInLFxuICAgICAgICAgICdLTy9XL09LJzogJ1RyYWZmaWMgbGlnaHQnLFxuICAgICAgICAgIFByb3ZvbHk6ICdQcm92b2x5J1xuICAgICAgICB9LFxuICAgICAgICB0aW1lOiB7XG4gICAgICAgICAgc2Vjb25kOiAnU2Vjb25kJyxcbiAgICAgICAgICBtaW51dGU6ICdNaW51dGUnLFxuICAgICAgICAgIGhvdXI6ICdIb3VyJyxcbiAgICAgICAgICBkYXk6ICdEYXknLFxuICAgICAgICAgIHdlZWs6ICdXZWVrJyxcbiAgICAgICAgICBtb250aDogJ01vbnRoJyxcbiAgICAgICAgICBxdWFydGVyOiAnUXVhcnRlcicsXG4gICAgICAgICAgeWVhcjogJ1llYXInXG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnQ29sb3InLFxuICAgICAgICBzb3J0OiB7XG4gICAgICAgICAgdGl0bGU6ICdTb3J0JyxcbiAgICAgICAgICBhdHRyaWJ1dGU6ICdBdHRyaWJ1dGUnLFxuICAgICAgICAgIGRpcmVjdGlvbjogJ0RpcmVjdGlvbicsXG4gICAgICAgICAgYXNjOiB7XG4gICAgICAgICAgICBxdWFudGl0YXRpdmU6ICdMb3cgdG8gaGlnaCcsXG4gICAgICAgICAgICBub21pbmFsOiAnQWxwaGFiZXRpY2FsJyxcbiAgICAgICAgICAgIG9yZGluYWw6ICdBbHBoYWJldGljYWwnLFxuICAgICAgICAgICAgdGVtcG9yYWw6ICdDaHJvbm9sb2dpY2FsJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVzYzoge1xuICAgICAgICAgICAgcXVhbnRpdGF0aXZlOiAnSGlnaCB0byBsb3cnLFxuICAgICAgICAgICAgbm9taW5hbDogJ1JldmVyc2UgYWxwaGFiZXRpY2FsJyxcbiAgICAgICAgICAgIG9yZGluYWw6ICdSZXZlcnNlIGFscGhhYmV0aWNhbCcsXG4gICAgICAgICAgICB0ZW1wb3JhbDogJ0FudGljaHJvbm9sb2dpY2FsJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYnk6IHtcbiAgICAgICAgICAgIG9wZXJhdGlvbjoge1xuICAgICAgICAgICAgICBub25lOiAnT3JkaW5hdGUnLFxuICAgICAgICAgICAgICBjb3VudDogJ09jY3VycmVuY2UnLFxuICAgICAgICAgICAgICBjYXJkaW5hbGl0eTogJ1VuaXF1ZSBvY2N1cnJlbmNlcydcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIG1lc3NhZ2U6IHtcbiAgICAgICdiYWNrZW5kLW9ubHktMS1kYXRhc291cmNlJzogJ0FnZ3JlZ2F0aW9uIHNlcnZpY2UgY2FuIG9ubHkgbWFuYWdlIHRoZSBmaXJzdCBkYXRhc291cmNlIGxpbmtlZCB0byB0aGUgd2lkZ2V0LicsXG4gICAgICAnY2Fubm90LWFnZ3JlZ2F0ZS12aXJ0dWFsLWRzJzpcbiAgICAgICAgJ0FnZ3JlZ2F0aW9uIHNlcnZpY2UgY2Fubm90IHBlcmZvcm0gYWdncmVnYXRpb24gb24gdmlydHVhbCBkYXRhc2V0cyBzdWNoIGFzIGN1cnJlbnQgc2VhcmNoLidcbiAgICB9XG4gIH1cbn07XG4iXX0=
|
|
@@ -20,13 +20,22 @@ export const frTranslations = {
|
|
|
20
20
|
},
|
|
21
21
|
specializedLocale: {
|
|
22
22
|
default: '%Y-%m-%dT%H:%M:%S',
|
|
23
|
-
DATETIME: '%Y
|
|
23
|
+
DATETIME: '%Y/%m/%d %H:%M:%S',
|
|
24
24
|
DATE: '%d/%m/%Y',
|
|
25
25
|
MONTH_YEAR: '%m/%Y',
|
|
26
26
|
DAY_MONTH: '%d/%m',
|
|
27
27
|
YEAR: '%Y',
|
|
28
28
|
MONTH: '%m',
|
|
29
|
-
DAY: '%d'
|
|
29
|
+
DAY: '%d',
|
|
30
|
+
interval: {
|
|
31
|
+
default: '%Y-%m-%dT%H:%M:%S',
|
|
32
|
+
second: '%Y/%m/%d %H:%M:%S',
|
|
33
|
+
minute: '%Y/%m/%d %H:%M',
|
|
34
|
+
hour: '%Y/%m/%d %H:00',
|
|
35
|
+
day: '%Y-%m-%d',
|
|
36
|
+
month: '%Y-%m',
|
|
37
|
+
year: '%Y'
|
|
38
|
+
}
|
|
30
39
|
},
|
|
31
40
|
operation: {
|
|
32
41
|
none: "Valeur de l'attribut",
|
|
@@ -136,4 +145,4 @@ export const frTranslations = {
|
|
|
136
145
|
}
|
|
137
146
|
}
|
|
138
147
|
};
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYWdncmVnYXRlZC1jaGFydC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUUsR0FBRztvQkFDWixTQUFTLEVBQUUsR0FBRztvQkFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2IsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztpQkFDcEI7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztvQkFDckIsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDO29CQUMvRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7b0JBQ25FLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO29CQUNoRixXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFB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TSxFQUFFLFFBQVE7b0JBQ2hCLElBQUksRUFBRSxPQUFPO29CQUNiLEdBQUcsRUFBRSxNQUFNO29CQUNYLElBQUksRUFBRSxTQUFTO29CQUNmLEtBQUssRUFBRSxNQUFNO29CQUNiLE9BQU8sRUFBRSxXQUFXO29CQUNwQixJQUFJLEVBQUUsT0FBTztpQkFDZDtnQkFDRCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsSUFBSSxFQUFFO29CQUNKLEtBQUssRUFBRSxLQUFLO29CQUNaLFNBQVMsRUFBRSxVQUFVO29CQUNyQixTQUFTLEVBQUUsV0FBVztvQkFDdEIsR0FBRyxFQUFFO3dCQUNILFlBQVksRUFBRSxXQUFXO3dCQUN6QixPQUFPLEVBQUUsY0FBYzt3QkFDdkIsT0FBTyxFQUFFLGNBQWM7d0JBQ3ZCLFFBQVEsRUFBRSxlQUFlO3FCQUMxQjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLGFBQWE7d0JBQzNCLE9BQU8sRUFBRSxtQkFBbUI7d0JBQzVCLE9BQU8sRUFBRSxtQkFBbUI7d0JBQzVCLFFBQVEsRUFBRSxtQkFBbUI7cUJBQzlCO29CQUNELEVBQUUsRUFBRTt3QkFDRixTQUFTLEVBQUU7NEJBQ1QsSUFBSSxFQUFFLFVBQVU7NEJBQ2hCLEtBQUssRUFBRSxxQkFBcUI7NEJBQzVCLFdBQVcsRUFBRSw2QkFBNkI7eUJBQzNDO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLDJCQUEyQixFQUN6QixpR0FBaUc7WUFDbkcsNkJBQTZCLEVBQzNCLHFHQUFxRztTQUN4RztLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBmclRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BwcnknOiB7XG4gICAgd2lkZ2V0OiB7XG4gICAgICBjaGFydDoge1xuICAgICAgICBudW1iZXJMb2NhbGU6IHtcbiAgICAgICAgICBkZWNpbWFsOiAnLCcsXG4gICAgICAgICAgdGhvdXNhbmRzOiAnICcsXG4gICAgICAgICAgZ3JvdXBpbmc6IFszXSxcbiAgICAgICAgICBjdXJyZW5jeTogWyfigqwnLCAnJ11cbiAgICAgICAgfSxcbiAgICAgICAgdGltZUZvcm1hdExvY2FsZToge1xuICAgICAgICAgIGRhdGVUaW1lOiAnJVkgJUIgJWQgJUg6JU06JVMnLFxuICAgICAgICAgIGRhdGU6ICclZC8lbS8lWScsXG4gICAgICAgICAgdGltZTogJyVIOiVNOiVTJyxcbiAgICAgICAgICBwZXJpb2RzOiBbJ0FNJywgJ1BNJ10sXG4gICAgICAgICAgZGF5czogWydkaW1hbmNoZScsICdsdW5kaScsICdtYXJkaScsICdtZXJjcmVkaScsICdqZXVkaScsICd2ZW5kcmVkaScsICdzYW1lZGknXSxcbiAgICAgICAgICBzaG9ydERheXM6IFsnZGltLicsICdsdW4uJywgJ21hci4nLCAnbWVyLicsICdqZXUuJywgJ3Zlbi4nLCAnc2FtLiddLFxuICAgICAgICAgIG1vbnRoczogWycwMScsICcwMicsICcwMycsICcwNCcsICcwNScsICcwNicsICcwNycsICcwOCcsICcwOScsICcxMCcsICcxMScsICcxMiddLFxuICAgICAgICAgIHNob3J0TW9udGhzOiBbJzAxJywgJzAyJywgJzAzJywgJzA0JywgJzA1JywgJzA2JywgJzA3JywgJzA4JywgJzA5JywgJzEwJywgJzExJywgJzEyJ11cbiAgICAgICAgfSxcbiAgICAgICAgc3BlY2lhbGl6ZWRMb2NhbGU6IHtcbiAgICAgICAgICBkZWZhdWx0OiAnJVktJW0tJWRUJUg6JU06JVMnLFxuICAgICAgICAgIERBVEVUSU1FOiAnJVktJW0tJWRUJUg6JU06JVMnLFxuICAgICAgICAgIERBVEU6ICclZC8lbS8lWScsXG4gICAgICAgICAgTU9OVEhfWUVBUjogJyVtLyVZJyxcbiAgICAgICAgICBEQVlfTU9OVEg6ICclZC8lbScsXG4gICAgICAgICAgWUVBUjogJyVZJyxcbiAgICAgICAgICBNT05USDogJyVtJyxcbiAgICAgICAgICBEQVk6ICclZCdcbiAgICAgICAgfSxcbiAgICAgICAgb3BlcmF0aW9uOiB7XG4gICAgICAgICAgbm9uZTogXCJWYWxldXIgZGUgbCdhdHRyaWJ1dFwiLFxuICAgICAgICAgIGNvdW50OiAnTm9tYnJlJyxcbiAgICAgICAgICBzdW06ICdTb21tZScsXG4gICAgICAgICAgY2FyZGluYWxpdHk6IFwiTm9tYnJlIGQnw6lsw6ltZW50cyBkaXN0aW5jdHNcIixcbiAgICAgICAgICBhdmc6ICdNb3llbm5lJyxcbiAgICAgICAgICBtZWRpYW46ICdNw6lkaWFuZScsXG4gICAgICAgICAgcTE6ICdRdWFydGlsZSBpbmbDqXJpZXVyJyxcbiAgICAgICAgICBxMzogJ1F1YXJ0aWxlIHN1cMOpcmlldXInLFxuICAgICAgICAgIG1pbjogJ01pbmltdW0nLFxuICAgICAgICAgIG1heDogJ01heGltdW0nLFxuICAgICAgICAgIHBlcmNlbnQ6ICdQb3VyY2VudGFnZScsXG4gICAgICAgICAgdGl0bGU6ICdPcMOpcmF0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBjaG9vc2VQYXJhbWV0ZXJzOiBcIk1lcmNpIGRlIHPDqWxlY3Rpb25uZXIgbGVzIHBhcmFtw6h0cmVzIGFmaW4gZCdhZmZpY2hlciBsZSBncmFwaGlxdWVcIixcbiAgICAgICAgdHlwZTogJ1R5cGUgZGUgZ3JhcGhpcXVlJyxcbiAgICAgICAgdGl0bGU6ICdUaXRyZSBkdSBncmFwaGlxdWUnLFxuICAgICAgICBncmFwaFR5cGU6IHtcbiAgICAgICAgICAnYXJlYS1kZWZhdWx0JzogJ0FpcmUnLFxuICAgICAgICAgICdhcmVhLXdpdGgtbGluZXMtYW5kLXBvaW50cyc6ICdBaXJlIGF2ZWMgbGlnbmVzIGV0IG1hcnF1ZXMnLFxuICAgICAgICAgICdiYXItZGVmYXVsdCc6ICdCYXJyZXMnLFxuICAgICAgICAgICdhcmMtZGVmYXVsdCc6ICdDaXJjdWxhaXJlJyxcbiAgICAgICAgICAnbGluZS1kZWZhdWx0JzogJ0NvdXJiZScsXG4gICAgICAgICAgJ2xpbmUtd2l0aC1wb2ludHMnOiAnQ291cmJlIGF2ZWMgbWFycXVlcycsXG4gICAgICAgICAgJ2FyYy1kb251dCc6ICdEaWFncmFtbWUgYW5uZWF1JyxcbiAgICAgICAgICAnYmFyLWhpc3RvZ3JhbSc6ICdIaXN0b2dyYW1tZScsXG4gICAgICAgICAgJ3BvaW50LWRlZmF1bHQnOiAnUG9pbnRzJ1xuICAgICAgICB9LFxuICAgICAgICBkb251dFNpemU6IFwiRGlhbcOodHJlIGludMOpcmlldXIgZGUgbCdhbm5lYXVcIixcbiAgICAgICAgYWJzY2lzc2E6ICdBYnNjaXNzZScsXG4gICAgICAgIG9yZGluYXRlOiAnT3Jkb25uw6llJyxcbiAgICAgICAgZGF0YUxhYmVsOiAnTGliZWxsw6kgZGUgbGEgZG9ubsOpZScsXG4gICAgICAgIG9yaWdpbjogJ0F4ZSBjb250ZW5hbnQgMCcsXG4gICAgICAgIGxpbWl0OiBcIkxpbWl0ZXIgbGUgbm9tYnJlIGQnw6lsw6ltZW50cyBhZmZpY2jDqXMgZW4gYWJzY2lzc2VzXCIsXG4gICAgICAgIGxpbWl0TWF4TmI6IFwiTm9tYnJlIGQnw6lsZW1lbnRzIG1heGltdW1cIixcbiAgICAgICAgaW50ZXJ2YWw6ICdJbnRlcnZhbGxlIGRlcyBkb25uw6llcycsXG4gICAgICAgIHRpbWVJbnRlcnZhbDogJ0ludGVydmFsbGUgZGUgdGVtcHMnLFxuICAgICAgICBzcGVjaWZ5SW50ZXJ2YWw6IFwiU3DDqWNpZmllciBsZSBwYXMgZGUgbCdpbnRldmFsbGVcIixcbiAgICAgICAgZ3JvdXBCeTogJ1JlZ3JvdXBlbWVudCcsXG4gICAgICAgIGdyb3VwQXR0cjogJ0F0dHJpYnV0IGRlIHJlZ3JvdXBlbWVudCcsXG4gICAgICAgIGNvbG9yU2NoZW1lOiAnU2Now6ltYSBkZSBjb3VsZXVyJyxcbiAgICAgICAgbGVnZW5kOiAnQWZmaWNoZXIgbGEgbMOpZ2VuZGUnLFxuICAgICAgICBsZWdlbmRMYWJlbDogJ0zDqWdlbmRlJyxcbiAgICAgICAgdG9vbHRpcDogJ0FmZmljaGFnZSBkZXMgaW5mby1idWxsZXMnLFxuICAgICAgICBzdGFja2VkOiAnU3VwZXJwb3NpdGlvbiB2ZXJ0aWNhbGUnLFxuICAgICAgICBub0RhdGE6ICdBdWN1bmUgZGF0YXNvdXJjZSBzw6lsZWN0aW9ubsOpZScsXG4gICAgICAgIGFnZ05vUmVzdWx0OiAnQXVjdW5lIGRvbm7DqWUgw6AgYWZmaWNoZXInLFxuICAgICAgICBzY2hlbWU6IHtcbiAgICAgICAgICBhY2NlbnQ6ICc4IGNvdWxldXJzIG7CsDEnLFxuICAgICAgICAgIHNldDI6ICc4IGNvdWxldXJzIG7CsDInLFxuICAgICAgICAgIGRhcmsyOiAnOCBjb3VsZXVycyBzb21icmUnLFxuICAgICAgICAgIHBhc3RlbDI6ICc4IGNvdWxldXJzIHBhc3RlbCcsXG4gICAgICAgICAgc2V0MTogJzkgY291bGV1cnMnLFxuICAgICAgICAgIHBhc3RlbDE6ICc5IGNvdWxldXJzIHBhc3RlbCcsXG4gICAgICAgICAgY2F0ZWdvcnkxMDogJzEwIGNvdWxldXJzJyxcbiAgICAgICAgICB0YWJsZWF1MTA6ICcxMCBjb3VsZXVycyBkaWZmw6lyZW50ZXMnLFxuICAgICAgICAgIHNldDM6ICcxMiBjb3VsZXVycycsXG4gICAgICAgICAgcGFpcmVkOiAnMTIgY291bGV1cnMgZGlmZsOpcmVudGVzJyxcbiAgICAgICAgICB0YWJsZWF1MjA6ICcyMCBjb3VsZXVycycsXG4gICAgICAgICAgY2F0ZWdvcnkyMDogJzIwIGNvdWxldXJzIGF2ZWMgMiBudWFuY2VzJyxcbiAgICAgICAgICBjYXRlZ29yeTIwYjogJzIwIGNvdWxldXJzIGF2ZWMgNCBudWFuY2VzIG7CsDEnLFxuICAgICAgICAgIGNhdGVnb3J5MjBjOiAnMjAgY291bGV1cnMgYXZlYyA0IG51YW5jZXMgbsKwMicsXG4gICAgICAgICAgJ0tPL1cvT0snOiAnRmV1IGRlIHNpZ25hbGlzYXRpb24nLFxuICAgICAgICAgIFByb3ZvbHk6ICdQcm92b2x5J1xuICAgICAgICB9LFxuICAgICAgICB0aW1lOiB7XG4gICAgICAgICAgc2Vjb25kOiAnU2Vjb25kZScsXG4gICAgICAgICAgbWludXRlOiAnTWludXRlJyxcbiAgICAgICAgICBob3VyOiAnSGV1cmUnLFxuICAgICAgICAgIGRheTogJ0pvdXInLFxuICAgICAgICAgIHdlZWs6ICdTZW1haW5lJyxcbiAgICAgICAgICBtb250aDogJ01vaXMnLFxuICAgICAgICAgIHF1YXJ0ZXI6ICdUcmltZXN0cmUnLFxuICAgICAgICAgIHllYXI6ICdBbm7DqWUnXG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnQ291bGV1cicsXG4gICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICB0aXRsZTogJ1RyaScsXG4gICAgICAgICAgYXR0cmlidXRlOiAnQXR0cmlidXQnLFxuICAgICAgICAgIGRpcmVjdGlvbjogJ0RpcmVjdGlvbicsXG4gICAgICAgICAgYXNjOiB7XG4gICAgICAgICAgICBxdWFudGl0YXRpdmU6ICdDcm9pc3NhbnQnLFxuICAgICAgICAgICAgb3JkaW5hbDogJ0FscGhhYsOpdGlxdWUnLFxuICAgICAgICAgICAgbm9taW5hbDogJ0FscGhhYsOpdGlxdWUnLFxuICAgICAgICAgICAgdGVtcG9yYWw6ICdDaHJvbm9sb2dpcXVlJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVzYzoge1xuICAgICAgICAgICAgcXVhbnRpdGF0aXZlOiAnRMOpY3JvaXNzYW50JyxcbiAgICAgICAgICAgIG9yZGluYWw6ICdBbnRpLWFscGhhYsOpdGlxdWUnLFxuICAgICAgICAgICAgbm9taW5hbDogJ0FudGktYWxwaGFiw6l0aXF1ZScsXG4gICAgICAgICAgICB0ZW1wb3JhbDogJ0FudMOpY2hyb25vbG9naXF1ZSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJ5OiB7XG4gICAgICAgICAgICBvcGVyYXRpb246IHtcbiAgICAgICAgICAgICAgbm9uZTogJ09yZG9ubsOpZScsXG4gICAgICAgICAgICAgIGNvdW50OiBcIk5vbWJyZSBkJ29jY3VyZW5jZXNcIixcbiAgICAgICAgICAgICAgY2FyZGluYWxpdHk6IFwiTm9tYnJlIGQnb2NjdXJlbmNlcyB1bmlxdWVzXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIG1lc3NhZ2U6IHtcbiAgICAgICdiYWNrZW5kLW9ubHktMS1kYXRhc291cmNlJzpcbiAgICAgICAgJ0xlIHNlcnZpY2UgYWdncmVnYXRpb24gbmUgcGV1dCBwcmVuZHJlIGVuIGNvbXB0ZSBxdWUgbGEgcHJlbWnDqHJlIGRhdGFzb3VyY2UgYXNzb2Npw6llIGF1IHdpZGdldC4nLFxuICAgICAgJ2Nhbm5vdC1hZ2dyZWdhdGUtdmlydHVhbC1kcyc6XG4gICAgICAgICdMZSBzZXJ2aWNlIGFnZ3JlZ2F0aW9uIG5lIHBldXQgcGFzIGFncsOpZ2VyIHN1ciBkZXMgZGF0YXNldCB2aXJ0dWVscyB0ZWxzIHF1ZSBsYSByZWNoZXJjaGUgY291cmFudGUuJ1xuICAgIH1cbiAgfVxufTtcbiJdfQ==
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYWdncmVnYXRlZC1jaGFydC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUUsR0FBRztvQkFDWixTQUFTLEVBQUUsR0FBRztvQkFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2IsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztpQkFDcEI7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztvQkFDckIsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDO29CQUMvRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7b0JBQ25FLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO29CQUNoRixXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFB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Y29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHdpZGdldDoge1xuICAgICAgY2hhcnQ6IHtcbiAgICAgICAgbnVtYmVyTG9jYWxlOiB7XG4gICAgICAgICAgZGVjaW1hbDogJywnLFxuICAgICAgICAgIHRob3VzYW5kczogJyAnLFxuICAgICAgICAgIGdyb3VwaW5nOiBbM10sXG4gICAgICAgICAgY3VycmVuY3k6IFsn4oKsJywgJyddXG4gICAgICAgIH0sXG4gICAgICAgIHRpbWVGb3JtYXRMb2NhbGU6IHtcbiAgICAgICAgICBkYXRlVGltZTogJyVZICVCICVkICVIOiVNOiVTJyxcbiAgICAgICAgICBkYXRlOiAnJWQvJW0vJVknLFxuICAgICAgICAgIHRpbWU6ICclSDolTTolUycsXG4gICAgICAgICAgcGVyaW9kczogWydBTScsICdQTSddLFxuICAgICAgICAgIGRheXM6IFsnZGltYW5jaGUnLCAnbHVuZGknLCAnbWFyZGknLCAnbWVyY3JlZGknLCAnamV1ZGknLCAndmVuZHJlZGknLCAnc2FtZWRpJ10sXG4gICAgICAgICAgc2hvcnREYXlzOiBbJ2RpbS4nLCAnbHVuLicsICdtYXIuJywgJ21lci4nLCAnamV1LicsICd2ZW4uJywgJ3NhbS4nXSxcbiAgICAgICAgICBtb250aHM6IFsnMDEnLCAnMDInLCAnMDMnLCAnMDQnLCAnMDUnLCAnMDYnLCAnMDcnLCAnMDgnLCAnMDknLCAnMTAnLCAnMTEnLCAnMTInXSxcbiAgICAgICAgICBzaG9ydE1vbnRoczogWycwMScsICcwMicsICcwMycsICcwNCcsICcwNScsICcwNicsICcwNycsICcwOCcsICcwOScsICcxMCcsICcxMScsICcxMiddXG4gICAgICAgIH0sXG4gICAgICAgIHNwZWNpYWxpemVkTG9jYWxlOiB7XG4gICAgICAgICAgZGVmYXVsdDogJyVZLSVtLSVkVCVIOiVNOiVTJyxcbiAgICAgICAgICBEQVRFVElNRTogJyVZLyVtLyVkICVIOiVNOiVTJyxcbiAgICAgICAgICBEQVRFOiAnJWQvJW0vJVknLFxuICAgICAgICAgIE1PTlRIX1lFQVI6ICclbS8lWScsXG4gICAgICAgICAgREFZX01PTlRIOiAnJWQvJW0nLFxuICAgICAgICAgIFlFQVI6ICclWScsXG4gICAgICAgICAgTU9OVEg6ICclbScsXG4gICAgICAgICAgREFZOiAnJWQnLFxuICAgICAgICAgIGludGVydmFsOiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAnJVktJW0tJWRUJUg6JU06JVMnLFxuICAgICAgICAgICAgc2Vjb25kOiAnJVkvJW0vJWQgJUg6JU06JVMnLFxuICAgICAgICAgICAgbWludXRlOiAnJVkvJW0vJWQgJUg6JU0nLFxuICAgICAgICAgICAgaG91cjogJyVZLyVtLyVkICVIOjAwJyxcbiAgICAgICAgICAgIGRheTogJyVZLSVtLSVkJyxcbiAgICAgICAgICAgIG1vbnRoOiAnJVktJW0nLFxuICAgICAgICAgICAgeWVhcjogJyVZJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb3BlcmF0aW9uOiB7XG4gICAgICAgICAgbm9uZTogXCJWYWxldXIgZGUgbCdhdHRyaWJ1dFwiLFxuICAgICAgICAgIGNvdW50OiAnTm9tYnJlJyxcbiAgICAgICAgICBzdW06ICdTb21tZScsXG4gICAgICAgICAgY2FyZGluYWxpdHk6IFwiTm9tYnJlIGQnw6lsw6ltZW50cyBkaXN0aW5jdHNcIixcbiAgICAgICAgICBhdmc6ICdNb3llbm5lJyxcbiAgICAgICAgICBtZWRpYW46ICdNw6lkaWFuZScsXG4gICAgICAgICAgcTE6ICdRdWFydGlsZSBpbmbDqXJpZXVyJyxcbiAgICAgICAgICBxMzogJ1F1YXJ0aWxlIHN1cMOpcmlldXInLFxuICAgICAgICAgIG1pbjogJ01pbmltdW0nLFxuICAgICAgICAgIG1heDogJ01heGltdW0nLFxuICAgICAgICAgIHBlcmNlbnQ6ICdQb3VyY2VudGFnZScsXG4gICAgICAgICAgdGl0bGU6ICdPcMOpcmF0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBjaG9vc2VQYXJhbWV0ZXJzOiBcIk1lcmNpIGRlIHPDqWxlY3Rpb25uZXIgbGVzIHBhcmFtw6h0cmVzIGFmaW4gZCdhZmZpY2hlciBsZSBncmFwaGlxdWVcIixcbiAgICAgICAgdHlwZTogJ1R5cGUgZGUgZ3JhcGhpcXVlJyxcbiAgICAgICAgdGl0bGU6ICdUaXRyZSBkdSBncmFwaGlxdWUnLFxuICAgICAgICBncmFwaFR5cGU6IHtcbiAgICAgICAgICAnYXJlYS1kZWZhdWx0JzogJ0FpcmUnLFxuICAgICAgICAgICdhcmVhLXdpdGgtbGluZXMtYW5kLXBvaW50cyc6ICdBaXJlIGF2ZWMgbGlnbmVzIGV0IG1hcnF1ZXMnLFxuICAgICAgICAgICdiYXItZGVmYXVsdCc6ICdCYXJyZXMnLFxuICAgICAgICAgICdhcmMtZGVmYXVsdCc6ICdDaXJjdWxhaXJlJyxcbiAgICAgICAgICAnbGluZS1kZWZhdWx0JzogJ0NvdXJiZScsXG4gICAgICAgICAgJ2xpbmUtd2l0aC1wb2ludHMnOiAnQ291cmJlIGF2ZWMgbWFycXVlcycsXG4gICAgICAgICAgJ2FyYy1kb251dCc6ICdEaWFncmFtbWUgYW5uZWF1JyxcbiAgICAgICAgICAnYmFyLWhpc3RvZ3JhbSc6ICdIaXN0b2dyYW1tZScsXG4gICAgICAgICAgJ3BvaW50LWRlZmF1bHQnOiAnUG9pbnRzJ1xuICAgICAgICB9LFxuICAgICAgICBkb251dFNpemU6IFwiRGlhbcOodHJlIGludMOpcmlldXIgZGUgbCdhbm5lYXVcIixcbiAgICAgICAgYWJzY2lzc2E6ICdBYnNjaXNzZScsXG4gICAgICAgIG9yZGluYXRlOiAnT3Jkb25uw6llJyxcbiAgICAgICAgZGF0YUxhYmVsOiAnTGliZWxsw6kgZGUgbGEgZG9ubsOpZScsXG4gICAgICAgIG9yaWdpbjogJ0F4ZSBjb250ZW5hbnQgMCcsXG4gICAgICAgIGxpbWl0OiBcIkxpbWl0ZXIgbGUgbm9tYnJlIGQnw6lsw6ltZW50cyBhZmZpY2jDqXMgZW4gYWJzY2lzc2VzXCIsXG4gICAgICAgIGxpbWl0TWF4TmI6IFwiTm9tYnJlIGQnw6lsZW1lbnRzIG1heGltdW1cIixcbiAgICAgICAgaW50ZXJ2YWw6ICdJbnRlcnZhbGxlIGRlcyBkb25uw6llcycsXG4gICAgICAgIHRpbWVJbnRlcnZhbDogJ0ludGVydmFsbGUgZGUgdGVtcHMnLFxuICAgICAgICBzcGVjaWZ5SW50ZXJ2YWw6IFwiU3DDqWNpZmllciBsZSBwYXMgZGUgbCdpbnRldmFsbGVcIixcbiAgICAgICAgZ3JvdXBCeTogJ1JlZ3JvdXBlbWVudCcsXG4gICAgICAgIGdyb3VwQXR0cjogJ0F0dHJpYnV0IGRlIHJlZ3JvdXBlbWVudCcsXG4gICAgICAgIGNvbG9yU2NoZW1lOiAnU2Now6ltYSBkZSBjb3VsZXVyJyxcbiAgICAgICAgbGVnZW5kOiAnQWZmaWNoZXIgbGEgbMOpZ2VuZGUnLFxuICAgICAgICBsZWdlbmRMYWJlbDogJ0zDqWdlbmRlJyxcbiAgICAgICAgdG9vbHRpcDogJ0FmZmljaGFnZSBkZXMgaW5mby1idWxsZXMnLFxuICAgICAgICBzdGFja2VkOiAnU3VwZXJwb3NpdGlvbiB2ZXJ0aWNhbGUnLFxuICAgICAgICBub0RhdGE6ICdBdWN1bmUgZGF0YXNvdXJjZSBzw6lsZWN0aW9ubsOpZScsXG4gICAgICAgIGFnZ05vUmVzdWx0OiAnQXVjdW5lIGRvbm7DqWUgw6AgYWZmaWNoZXInLFxuICAgICAgICBzY2hlbWU6IHtcbiAgICAgICAgICBhY2NlbnQ6ICc4IGNvdWxldXJzIG7CsDEnLFxuICAgICAgICAgIHNldDI6ICc4IGNvdWxldXJzIG7CsDInLFxuICAgICAgICAgIGRhcmsyOiAnOCBjb3VsZXVycyBzb21icmUnLFxuICAgICAgICAgIHBhc3RlbDI6ICc4IGNvdWxldXJzIHBhc3RlbCcsXG4gICAgICAgICAgc2V0MTogJzkgY291bGV1cnMnLFxuICAgICAgICAgIHBhc3RlbDE6ICc5IGNvdWxldXJzIHBhc3RlbCcsXG4gICAgICAgICAgY2F0ZWdvcnkxMDogJzEwIGNvdWxldXJzJyxcbiAgICAgICAgICB0YWJsZWF1MTA6ICcxMCBjb3VsZXVycyBkaWZmw6lyZW50ZXMnLFxuICAgICAgICAgIHNldDM6ICcxMiBjb3VsZXVycycsXG4gICAgICAgICAgcGFpcmVkOiAnMTIgY291bGV1cnMgZGlmZsOpcmVudGVzJyxcbiAgICAgICAgICB0YWJsZWF1MjA6ICcyMCBjb3VsZXVycycsXG4gICAgICAgICAgY2F0ZWdvcnkyMDogJzIwIGNvdWxldXJzIGF2ZWMgMiBudWFuY2VzJyxcbiAgICAgICAgICBjYXRlZ29yeTIwYjogJzIwIGNvdWxldXJzIGF2ZWMgNCBudWFuY2VzIG7CsDEnLFxuICAgICAgICAgIGNhdGVnb3J5MjBjOiAnMjAgY291bGV1cnMgYXZlYyA0IG51YW5jZXMgbsKwMicsXG4gICAgICAgICAgJ0tPL1cvT0snOiAnRmV1IGRlIHNpZ25hbGlzYXRpb24nLFxuICAgICAgICAgIFByb3ZvbHk6ICdQcm92b2x5J1xuICAgICAgICB9LFxuICAgICAgICB0aW1lOiB7XG4gICAgICAgICAgc2Vjb25kOiAnU2Vjb25kZScsXG4gICAgICAgICAgbWludXRlOiAnTWludXRlJyxcbiAgICAgICAgICBob3VyOiAnSGV1cmUnLFxuICAgICAgICAgIGRheTogJ0pvdXInLFxuICAgICAgICAgIHdlZWs6ICdTZW1haW5lJyxcbiAgICAgICAgICBtb250aDogJ01vaXMnLFxuICAgICAgICAgIHF1YXJ0ZXI6ICdUcmltZXN0cmUnLFxuICAgICAgICAgIHllYXI6ICdBbm7DqWUnXG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnQ291bGV1cicsXG4gICAgICAgIHNvcnQ6IHtcbiAgICAgICAgICB0aXRsZTogJ1RyaScsXG4gICAgICAgICAgYXR0cmlidXRlOiAnQXR0cmlidXQnLFxuICAgICAgICAgIGRpcmVjdGlvbjogJ0RpcmVjdGlvbicsXG4gICAgICAgICAgYXNjOiB7XG4gICAgICAgICAgICBxdWFudGl0YXRpdmU6ICdDcm9pc3NhbnQnLFxuICAgICAgICAgICAgb3JkaW5hbDogJ0FscGhhYsOpdGlxdWUnLFxuICAgICAgICAgICAgbm9taW5hbDogJ0FscGhhYsOpdGlxdWUnLFxuICAgICAgICAgICAgdGVtcG9yYWw6ICdDaHJvbm9sb2dpcXVlJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVzYzoge1xuICAgICAgICAgICAgcXVhbnRpdGF0aXZlOiAnRMOpY3JvaXNzYW50JyxcbiAgICAgICAgICAgIG9yZGluYWw6ICdBbnRpLWFscGhhYsOpdGlxdWUnLFxuICAgICAgICAgICAgbm9taW5hbDogJ0FudGktYWxwaGFiw6l0aXF1ZScsXG4gICAgICAgICAgICB0ZW1wb3JhbDogJ0FudMOpY2hyb25vbG9naXF1ZSdcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJ5OiB7XG4gICAgICAgICAgICBvcGVyYXRpb246IHtcbiAgICAgICAgICAgICAgbm9uZTogJ09yZG9ubsOpZScsXG4gICAgICAgICAgICAgIGNvdW50OiBcIk5vbWJyZSBkJ29jY3VyZW5jZXNcIixcbiAgICAgICAgICAgICAgY2FyZGluYWxpdHk6IFwiTm9tYnJlIGQnb2NjdXJlbmNlcyB1bmlxdWVzXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIG1lc3NhZ2U6IHtcbiAgICAgICdiYWNrZW5kLW9ubHktMS1kYXRhc291cmNlJzpcbiAgICAgICAgJ0xlIHNlcnZpY2UgYWdncmVnYXRpb24gbmUgcGV1dCBwcmVuZHJlIGVuIGNvbXB0ZSBxdWUgbGEgcHJlbWnDqHJlIGRhdGFzb3VyY2UgYXNzb2Npw6llIGF1IHdpZGdldC4nLFxuICAgICAgJ2Nhbm5vdC1hZ2dyZWdhdGUtdmlydHVhbC1kcyc6XG4gICAgICAgICdMZSBzZXJ2aWNlIGFnZ3JlZ2F0aW9uIG5lIHBldXQgcGFzIGFncsOpZ2VyIHN1ciBkZXMgZGF0YXNldCB2aXJ0dWVscyB0ZWxzIHF1ZSBsYSByZWNoZXJjaGUgY291cmFudGUuJ1xuICAgIH1cbiAgfVxufTtcbiJdfQ==
|
|
@@ -78,6 +78,9 @@ export class WidgetAnalyticComponent extends DataWidgetComponent {
|
|
|
78
78
|
this.valuePropField$ = combineLatest([this.availableProperties$, this.options$]).pipe(map(([attributes, options]) => attributes.find((attr) => attr.technicalName === options.valueProp)?.field));
|
|
79
79
|
}
|
|
80
80
|
matchAttributeValue(item, prop, comparisonValue) {
|
|
81
|
+
if (prop === 'level' && !('level' in item.attributes)) {
|
|
82
|
+
return comparisonValue === '1';
|
|
83
|
+
}
|
|
81
84
|
return comparisonValue && prop ? item.attributes[prop].value == comparisonValue : true;
|
|
82
85
|
}
|
|
83
86
|
createValueMap(verticalProps, primaryProps, secondaryProps, rs, options, level) {
|
|
@@ -110,7 +113,7 @@ export class WidgetAnalyticComponent extends DataWidgetComponent {
|
|
|
110
113
|
.map((items) => items
|
|
111
114
|
.filter((item) => level && 'level' in item.attributes
|
|
112
115
|
? [level, '' + level].includes(item.attributes['level'].value)
|
|
113
|
-
:
|
|
116
|
+
: level === undefined || level === 1)
|
|
114
117
|
.map((item) => item.attributes[property]?.value + ''))
|
|
115
118
|
.flat()
|
|
116
119
|
.flat();
|
|
@@ -168,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
168
171
|
type: Component,
|
|
169
172
|
args: [{ selector: 'pry-widget-analytic', template: "<pry-widget-analytic-css></pry-widget-analytic-css>\n<div class=\"o-widget o-widget__analytic\">\n @if (displayHeader$ | async) {\n <pry-widget-header\n [widgetIndex]=\"widgetIndex\"\n [manifest]=\"manifest\"\n (manifestModified)=\"manifestModified.emit($event)\"\n #header\n [headerOptions]=\"(displayHeader$ | async) ?? {}\"\n [datasourceIds]=\"(datasourceIds$ | async) ?? []\"\n >\n <pry-settings\n (saveTriggered)=\"emitManifest()\"\n (changeTitle)=\"changeWidgetTitle($event)\"\n [headerPresent]=\"displayHeader$ | async\"\n [widgetIndex]=\"widgetIndex\"\n [header]=\"header\"\n [open$]=\"open$\"\n class=\"o-settings\"\n >\n <div class=\"o-settings__fields\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"primaryProp\">{{ '@pry.widget.analytic.primaryProp' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"change($event, 'primaryProp')\"\n [items]=\"availableProperties$ | async\"\n [ngModel]=\"optionsCopy.primaryProp\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"primaryProp\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"secondaryProp\">{{ '@pry.widget.analytic.secondaryProp' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"change($event, 'secondaryProp')\"\n [items]=\"availableProperties$ | async\"\n [ngModel]=\"optionsCopy.secondaryProp\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"secondaryProp\"\n [clearable]=\"true\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"verticalProp\">{{ '@pry.widget.analytic.verticalProp' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"change($event, 'verticalProp')\"\n [items]=\"availableProperties$ | async\"\n [ngModel]=\"optionsCopy.verticalProp\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"verticalProp\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"valueProp\">{{ '@pry.widget.analytic.valueProp' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"change($event, 'valueProp')\"\n [items]=\"availableProperties$ | async\"\n [ngModel]=\"optionsCopy.valueProp\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"valueProp\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <pry-checkbox (ngModelChange)=\"toggleColorConfig($event)\" [ngModel]=\"!!optionsCopy.colorConfig\">\n {{ '@pry.widget.analytic.colorConfig' | i18n }}\n </pry-checkbox>\n @if (optionsCopy.colorConfig) {\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"colorProp\">{{ '@pry.widget.analytic.colorProp' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeColorConfig($event, 'prop')\"\n [items]=\"availableProperties$ | async\"\n [ngModel]=\"optionsCopy.colorConfig.prop\"\n bindLabel=\"name\"\n bindValue=\"name\"\n id=\"colorProp\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"colorProp\">{{ '@pry.widget.analytic.colors' | i18n }}</label>\n <div\n class=\"o-widget__analytic__color-picker-container u-display-flex -align-center\"\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n cdkDropListOrientation=\"horizontal\"\n >\n @for (color of optionsCopy.colorConfig.colors; track color; let i = $index) {\n <div class=\"o-widget__analytic__color-picker\" cdkDrag>\n <pry-color-picker\n [ngModel]=\"color\"\n (ngModelChange)=\"modifyColorScheme($event, i)\"\n ></pry-color-picker>\n <button (click)=\"removeColor(i)\" class=\"o-widget__analytic__color-picker-remove\">\n <pry-icon iconSvg=\"close\" [height]=\"15\" [width]=\"15\"></pry-icon>\n </button>\n <div *cdkDragPreview>\n <pry-color-picker [ngModel]=\"color\"></pry-color-picker>\n </div>\n </div>\n }\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only o-widget__analytic__color-picker-add\"\n (click)=\"modifyColorScheme()\"\n >\n <pry-icon iconSvg=\"add\" [height]=\"20\" [width]=\"20\"></pry-icon>\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n </pry-settings>\n </pry-widget-header>\n }\n <div class=\"o-widget__analytic__table\">\n <table [style.height.px]=\"height$ | async\">\n <thead>\n <tr class=\"primary-header\">\n <th></th>\n @for (primary of primaryProperty$ | async; track primary) {\n <th [colSpan]=\"(secondaryProperty$ | async)?.length ?? 1\">\n {{ primary }}\n </th>\n }\n </tr>\n @if (optionsCopy.secondaryProp) {\n <tr class=\"secondary-header\">\n <th></th>\n @for (primary of primaryProperty$ | async; track primary) {\n @for (secondary of secondaryProperty$ | async; track secondary) {\n <th>{{ secondary }}</th>\n }\n }\n </tr>\n }\n </thead>\n @if (this.valuePropField$ | async; as field) {\n <tbody>\n @for (line of lines$ | async; track line.name) {\n <tr>\n <th>{{ line.name }}</th>\n @for (primary of primaryProperty$ | async; track primary) {\n @if (optionsCopy.secondaryProp) {\n @for (secondary of secondaryProperty$ | async; track secondary) {\n <td\n [ngStyle]=\"\n optionsCopy.colorConfig\n ? { 'background-color': (colorMap$ | async)?.[line.name]?.[primary] }\n : {}\n \"\n >\n {{ line.value[primary][secondary] | dataFormat: field }}\n </td>\n }\n } @else {\n <td\n [ngStyle]=\"\n optionsCopy.colorConfig ? { 'background-color': (colorMap$ | async)?.[line.name]?.[primary] } : {}\n \"\n >\n {{ line.value[primary] | dataFormat: field }}\n </td>\n }\n }\n </tr>\n }\n </tbody>\n <tfoot>\n @for (line of totals$ | async; track line.name) {\n <tr class=\"partial-total\">\n <th>{{ line.name }}</th>\n @for (primary of primaryProperty$ | async; track primary) {\n @for (secondary of secondaryProperty$ | async; track secondary) {\n <td>\n {{ line.value[primary][secondary] | dataFormat: field }}\n </td>\n }\n }\n </tr>\n }\n @for (line of grandTotals$ | async; track line.name) {\n <tr class=\"grand-total\">\n <th>{{ line.name }}</th>\n @for (primary of primaryProperty$ | async; track primary) {\n <td [colSpan]=\"(secondaryProperty$ | async)?.length ?? 1\">\n {{ line.value[primary] | dataFormat: field }}\n </td>\n }\n </tr>\n }\n </tfoot>\n }\n </table>\n </div>\n</div>\n" }]
|
|
170
173
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i0.ElementRef }] });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWFuYWx5dGljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LWFuYWx5dGljL2NvbXBvbmVudC93aWRnZXQtYW5hbHl0aWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYW5hbHl0aWMvY29tcG9uZW50L3dpZGdldC1hbmFseXRpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFLTCxjQUFjLEVBQ2QsbUJBQW1CLEVBSW5CLG9CQUFvQixFQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBT3hDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBbUI7SUFrQjlELE1BQU0sQ0FBQyxNQUFjLEVBQUUsSUFBb0U7UUFDekYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQXlCLEVBQUUsSUFBdUI7UUFDbEUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDWixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVksQ0FBQyxJQUFJLEdBQUcsTUFBZ0IsQ0FBQztnQkFDdEQsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFdB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QUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDekMsS0FBSyxDQUFDLFlBQVksRUFDbEIsQ0FBQyxFQUNELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsUUFBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO1NBQzFELENBQUMsQ0FBQztJQUNMLENBQUM7OEdBdFBVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGtGQ3RCcEMsdXlRQXdNQTs7MkZEbExhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFuYWx5dGljV2lkZ2V0T3B0aW9ucyxcbiAgQXR0cmlidXRlLFxuICBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSxcbiAgQ2xhc3MsXG4gIENsYXNzU2VsZWN0b3JzLFxuICBEYXRhV2lkZ2V0Q29tcG9uZW50LFxuICBGaWVsZCxcbiAgSXRlbSxcbiAgUmVzdWx0U2V0LFxuICBXSURHRVRfSEVBREVSX0hFSUdIVFxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXdpZGdldC1hbmFseXRpYycsXG4gIHRlbXBsYXRlVXJsOiAnLi93aWRnZXQtYW5hbHl0aWMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdpZGdldEFuYWx5dGljQ29tcG9uZW50IGV4dGVuZHMgRGF0YVdpZGdldENvbXBvbmVudCB7XG4gIG9wdGlvbnNDb3B5OiBBbmFseXRpY1dpZGdldE9wdGlvbnMgPSB7IHByaW1hcnlQcm9wOiAnJywgc2Vjb25kYXJ5UHJvcDogJycsIHZlcnRpY2FsUHJvcDogJycsIHZhbHVlUHJvcDogJycgfTtcbiAgb3B0aW9ucyQ6IE9ic2VydmFibGU8QW5hbHl0aWNXaWRnZXRPcHRpb25zPjtcblxuICBwcmltYXJ5UHJvcGVydHkkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgc2Vjb25kYXJ5UHJvcGVydHkkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgdmVydGljYWxQcm9wZXJ0eSQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICB0b3RhbFByb3BlcnR5JDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIGdyYW5kVG90YWxQcm9wZXJ0eSQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBsaW5lcyQ6IE9ic2VydmFibGU8eyBuYW1lOiBzdHJpbmc7IHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBhbnkgfSB9W10+O1xuICB0b3RhbHMkOiBPYnNlcnZhYmxlPHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogeyBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IH0gfVtdPjtcbiAgZ3JhbmRUb3RhbHMkOiBPYnNlcnZhYmxlPHsgbmFtZTogYW55OyB2YWx1ZTogeyBbcDogc3RyaW5nXTogYW55IH0gfVtdPjtcbiAgY29sb3JNYXAkOiBPYnNlcnZhYmxlPHsgW3ZlcnRpY2FsOiBzdHJpbmddOiB7IFtwcmltYXJ5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQgfSB9PjtcbiAgaGVpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBjbGFzc2VzJDogT2JzZXJ2YWJsZTxDbGFzc1tdPjtcbiAgYXZhaWxhYmxlUHJvcGVydGllcyQ6IE9ic2VydmFibGU8QXR0cmlidXRlW10+O1xuICB2YWx1ZVByb3BGaWVsZCQ6IE9ic2VydmFibGU8RmllbGQgfCB1bmRlZmluZWQ+O1xuXG4gIGNoYW5nZSgkZXZlbnQ6IHN0cmluZywgcHJvcDogJ3ByaW1hcnlQcm9wJyB8ICdzZWNvbmRhcnlQcm9wJyB8ICd2YWx1ZVByb3AnIHwgJ3ZlcnRpY2FsUHJvcCcpIHtcbiAgICB0aGlzLm9wdGlvbnNDb3B5W3Byb3BdID0gJGV2ZW50O1xuICB9XG5cbiAgY2hhbmdlQ29sb3JDb25maWcoJGV2ZW50OiBzdHJpbmcgfCBzdHJpbmdbXSwgcHJvcDogJ3Byb3AnIHwgJ2NvbG9ycycpIHtcbiAgICBzd2l0Y2ggKHByb3ApIHtcbiAgICAgIGNhc2UgJ3Byb3AnOiB7XG4gICAgICAgIHRoaXMub3B0aW9uc0NvcHkuY29sb3JDb25maWchLnByb3AgPSAkZXZlbnQgYXMgc3RyaW5nO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2NvbG9ycyc6IHtcbiAgICAgICAgdGhpcy5vcHRpb25zQ29weS5jb2xvckNvbmZpZyEuY29sb3JzID0gJGV2ZW50IGFzIHN0cmluZ1tdO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzdG9yZTogU3RvcmU8YW55PiwgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihzdG9yZSwgZWwpO1xuICAgIHRoaXMub3B0aW9ucyQgPSB0aGlzLm1hbmlmZXN0JC5waXBlKG1hcCgobWFuaWZlc3QpID0+IChtYW5pZmVzdC5vcHRpb25zID8/IHt9KSBhcyBBbmFseXRpY1dpZGdldE9wdGlvbnMpKTtcbiAgICB0aGlzLmNsYXNzZXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoQ2xhc3NTZWxlY3RvcnMuY2xhc3Nlcyk7XG4gICAgdGhpcy5oZWlnaHQkID0gY29tYmluZUxhdGVzdChbdGhpcy53aWRnZXRTaXplJCwgdGhpcy5kaXNwbGF5SGVhZGVyJF0pLnBpcGUoXG4gICAgICBtYXAoKFtzaXplLCBoZWFkZXJdKSA9PiBzaXplLmhlaWdodCAtIChoZWFkZXIgPyBXSURHRVRfSEVBREVSX0hFSUdIVC52YWx1ZSA6IDApKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMub3B0aW9ucyQuc3Vic2NyaWJlKChvcHRpb25zKSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9uc0NvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnByaW1hcnlQcm9wZXJ0eSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9wdGlvbnMkLCB0aGlzLnJlc3VsdFNldCRdKS5waXBlKFxuICAgICAgZmlsdGVyKChbb3B0aW9uc10pID0+ICEhb3B0aW9ucy5wcmltYXJ5UHJvcCksXG4gICAgICBtYXAoKFtvcHRpb25zLCByc10pID0+IHRoaXMuZ2V0UHJvcGVydHlMYWJlbHNGb3JMZXZlbChycywgb3B0aW9ucy5wcmltYXJ5UHJvcCkpXG4gICAgKTtcbiAgICB0aGlzLnNlY29uZGFyeVByb3BlcnR5JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub3B0aW9ucyQsIHRoaXMucmVzdWx0U2V0JF0pLnBpcGUoXG4gICAgICBmaWx0ZXIoKFtvcHRpb25zXSkgPT4gISFvcHRpb25zLnNlY29uZGFyeVByb3ApLFxuICAgICAgbWFwKChbb3B0aW9ucywgcnNdKSA9PiB0aGlzLmdldFByb3BlcnR5TGFiZWxzRm9yTGV2ZWwocnMsIG9wdGlvbnMuc2Vjb25kYXJ5UHJvcCEsIDEpKVxuICAgICk7XG4gICAgdGhpcy52ZXJ0aWNhbFByb3BlcnR5JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub3B0aW9ucyQsIHRoaXMucmVzdWx0U2V0JF0pLnBpcGUoXG4gICAgICBmaWx0ZXIoKFtvcHRpb25zXSkgPT4gISFvcHRpb25zLnZlcnRpY2FsUHJvcCksXG4gICAgICBtYXAoKFtvcHRpb25zLCByc10pID0+IHRoaXMuZ2V0UHJvcGVydHlMYWJlbHNGb3JMZXZlbChycywgb3B0aW9ucy52ZXJ0aWNhbFByb3AsIDEpKVxuICAgICk7XG4gICAgdGhpcy50b3RhbFByb3BlcnR5JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub3B0aW9ucyQsIHRoaXMucmVzdWx0U2V0JF0pLnBpcGUoXG4gICAgICBtYXAoKFtvcHRpb25zLCByc10pID0+IHRoaXMuZ2V0UHJvcGVydHlMYWJlbHNGb3JMZXZlbChycywgb3B0aW9ucy52ZXJ0aWNhbFByb3AsIDIpKVxuICAgICk7XG4gICAgdGhpcy5ncmFuZFRvdGFsUHJvcGVydHkkID0gY29tYmluZUxhdGVzdChbdGhpcy5vcHRpb25zJCwgdGhpcy5yZXN1bHRTZXQkXSkucGlwZShcbiAgICAgIG1hcCgoW29wdGlvbnMsIHJzXSkgPT4gdGhpcy5nZXRQcm9wZXJ0eUxhYmVsc0ZvckxldmVsKHJzLCBvcHRpb25zLnZlcnRpY2FsUHJvcCwgMykpXG4gICAgKTtcblxuICAgIHRoaXMubGluZXMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm9wdGlvbnMkLFxuICAgICAgdGhpcy5wcmltYXJ5UHJvcGVydHkkLnBpcGUoc3RhcnRXaXRoKFtdKSksXG4gICAgICB0aGlzLnNlY29uZGFyeVByb3BlcnR5JC5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKSxcbiAgICAgIHRoaXMudmVydGljYWxQcm9wZXJ0eSQucGlwZShzdGFydFdpdGgoW10pKSxcbiAgICAgIHRoaXMucmVzdWx0U2V0JFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtvcHRpb25zLCBwcmltYXJ5UHJvcHMsIHNlY29uZGFyeVByb3BzLCB2ZXJ0aWNhbFByb3BzLCByc10pID0+XG4gICAgICAgIHRoaXMuY3JlYXRlVmFsdWVNYXAodmVydGljYWxQcm9wcywgcHJpbWFyeVByb3BzLCBzZWNvbmRhcnlQcm9wcywgcnMsIG9wdGlvbnMsIDEpXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMudG90YWxzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5vcHRpb25zJCxcbiAgICAgIHRoaXMucHJpbWFyeVByb3BlcnR5JCxcbiAgICAgIHRoaXMuc2Vjb25kYXJ5UHJvcGVydHkkLFxuICAgICAgdGhpcy50b3RhbFByb3BlcnR5JCxcbiAgICAgIHRoaXMucmVzdWx0U2V0JFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtvcHRpb25zLCBwcmltYXJ5UHJvcHMsIHNlY29uZGFyeVByb3BzLCB2ZXJ0aWNhbFByb3BzLCByc10pID0+XG4gICAgICAgIHRoaXMuY3JlYXRlVmFsdWVNYXAodmVydGljYWxQcm9wcywgcHJpbWFyeVByb3BzLCBzZWNvbmRhcnlQcm9wcywgcnMsIG9wdGlvbnMsIDIpXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMuZ3JhbmRUb3RhbHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm9wdGlvbnMkLFxuICAgICAgdGhpcy5wcmltYXJ5UHJvcGVydHkkLFxuICAgICAgdGhpcy5ncmFuZFRvdGFsUHJvcGVydHkkLFxuICAgICAgdGhpcy5yZXN1bHRTZXQkXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW29wdGlvbnMsIHByaW1hcnlQcm9wcywgdmVydGljYWxQcm9wcywgcnNdKSA9PlxuICAgICAgICB0aGlzLmNyZWF0ZVZhbHVlTWFwKHZlcnRpY2FsUHJvcHMsIHByaW1hcnlQcm9wcywgdW5kZWZpbmVkLCBycywgb3B0aW9ucywgMylcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5jb2xvck1hcCQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMub3B0aW9ucyQsXG4gICAgICB0aGlzLnJlc3VsdFNldCQsXG4gICAgICB0aGlzLnZlcnRpY2FsUHJvcGVydHkkLFxuICAgICAgdGhpcy5wcmltYXJ5UHJvcGVydHkkXG4gICAgXSkucGlwZShcbiAgICAgIGZpbHRlcigoW29wdGlvbnNdKSA9PiAhIW9wdGlvbnMuY29sb3JDb25maWcpLFxuICAgICAgbWFwKChbb3B0aW9ucywgcnMsIHZlcnRpY2FsLCBwcmltYXJ5XSkgPT4gdGhpcy5jcmVhdGVDb2xvck1hcCh2ZXJ0aWNhbCwgcHJpbWFyeSwgcnMsIG9wdGlvbnMpKVxuICAgICk7XG5cbiAgICB0aGlzLmF2YWlsYWJsZVByb3BlcnRpZXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5jbGFzc2VzJCwgdGhpcy5yZXN1bHRTZXQkXSkucGlwZShcbiAgICAgIG1hcCgoW2NsYXNzZXMsIHJzXSkgPT4ge1xuICAgICAgICBjb25zdCBwcmVzZW50Q2xhc3Nlc0lkID0gT2JqZWN0LmtleXMocnMuaXRlbXMpO1xuICAgICAgICBjb25zdCBwcmVzZW50Q2xhc3NlcyA9IHByZXNlbnRDbGFzc2VzSWRcbiAgICAgICAgICAubWFwKChjbGFzc0lkKSA9PiBjbGFzc2VzLmZpbmQoKGNsKSA9PiBjbC5pZCA9PT0gY2xhc3NJZCkpXG4gICAgICAgICAgLmZpbHRlcigoY2wpID0+ICEhY2wpIGFzIENsYXNzW107XG4gICAgICAgIHJldHVybiBwcmVzZW50Q2xhc3Nlcy5tYXAoKGNsKSA9PiBjbC5hdHRyaWJ1dGVzKS5mbGF0KCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnZhbHVlUHJvcEZpZWxkJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuYXZhaWxhYmxlUHJvcGVydGllcyQsIHRoaXMub3B0aW9ucyRdKS5waXBlKFxuICAgICAgbWFwKChbYXR0cmlidXRlcywgb3B0aW9uc10pID0+XG4gICAgICAgIGF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci50ZWNobmljYWxOYW1lID09PSBvcHRpb25zLnZhbHVlUHJvcCk/LmZpZWxkKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG1hdGNoQXR0cmlidXRlVmFsdWUoaXRlbTogSXRlbSwgcHJvcD86IHN0cmluZywgY29tcGFyaXNvblZhbHVlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNvbXBhcmlzb25WYWx1ZSAmJiBwcm9wID8gKGl0ZW0uYXR0cmlidXRlc1twcm9wXSBhcyBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSkudmFsdWUgPT0gY29tcGFyaXNvblZhbHVlIDogdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVmFsdWVNYXAoXG4gICAgdmVydGljYWxQcm9wczogc3RyaW5nW10sXG4gICAgcHJpbWFyeVByb3BzOiBzdHJpbmdbXSxcbiAgICBzZWNvbmRhcnlQcm9wczogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4gICAgcnM6IFJlc3VsdFNldCxcbiAgICBvcHRpb25zOiBBbmFseXRpY1dpZGdldE9wdGlvbnMsXG4gICAgbGV2ZWw/OiBudW1iZXJcbiAgKSB7XG4gICAgcmV0dXJuIHZlcnRpY2FsUHJvcHMubWFwKCh2ZXJ0aWNhbCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBhbnkgfTtcbiAgICAgIHByaW1hcnlQcm9wcy5mb3JFYWNoKChwcmltYXJ5KSA9PiB7XG4gICAgICAgIChzZWNvbmRhcnlQcm9wcyA/PyBbdW5kZWZpbmVkXSkuZm9yRWFjaCgoc2Vjb25kYXJ5KSA9PiB7XG4gICAgICAgICAgY29uc3QgbWF0Y2hpbmdJdGVtID0gKHJzLml0ZW1zW09iamVjdC5rZXlzKHJzLml0ZW1zKVswXV0gPz8gW10pLmZpbmQoXG4gICAgICAgICAgICAoaXRlbSkgPT5cbiAgICAgICAgICAgICAgdGhpcy5tYXRjaEF0dHJpYnV0ZVZhbHVlKGl0ZW0sIG9wdGlvbnMucHJpbWFyeVByb3AsIHByaW1hcnkpICYmXG4gICAgICAgICAgICAgIHRoaXMubWF0Y2hBdHRyaWJ1dGVWYWx1ZShpdGVtLCBvcHRpb25zLnNlY29uZGFyeVByb3AsIHNlY29uZGFyeSkgJiZcbiAgICAgICAgICAgICAgdGhpcy5tYXRjaEF0dHJpYnV0ZVZhbHVlKGl0ZW0sIG9wdGlvbnMudmVydGljYWxQcm9wLCB2ZXJ0aWNhbCkgJiZcbiAgICAgICAgICAgICAgdGhpcy5tYXRjaEF0dHJpYnV0ZVZhbHVlKGl0ZW0sICdsZXZlbCcsIGxldmVsICsgJycpXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoISFtYXRjaGluZ0l0ZW0pIHtcbiAgICAgICAgICAgIGlmICghIXNlY29uZGFyeSkge1xuICAgICAgICAgICAgICBpZiAoIXZhbHVlW3ByaW1hcnldKSB7XG4gICAgICAgICAgICAgICAgdmFsdWVbcHJpbWFyeV0gPSB7fTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB2YWx1ZVtwcmltYXJ5XVtzZWNvbmRhcnldID0gKG1hdGNoaW5nSXRlbSEuYXR0cmlidXRlc1tvcHRpb25zLnZhbHVlUHJvcF0gYXMgQXR0cmlidXRlU2ltcGxlVmFsdWUpLnZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdmFsdWVbcHJpbWFyeV0gPSAobWF0Y2hpbmdJdGVtIS5hdHRyaWJ1dGVzW29wdGlvbnMudmFsdWVQcm9wXSBhcyBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSk/LnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7IG5hbWU6IHZlcnRpY2FsLCB2YWx1ZSB9O1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UHJvcGVydHlMYWJlbHNGb3JMZXZlbChyczogUmVzdWx0U2V0LCBwcm9wZXJ0eTogc3RyaW5nLCBsZXZlbD86IG51bWJlcikge1xuICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXMocnMuaXRlbXMpXG4gICAgICAubWFwKChpdGVtcykgPT5cbiAgICAgICAgaXRlbXNcbiAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgbGV2ZWwgJiYgJ2xldmVsJyBpbiBpdGVtLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgICAgPyBbbGV2ZWwsICcnICsgbGV2ZWxdLmluY2x1ZGVzKFxuICAgICAgICAgICAgICAgICAgKGl0ZW0uYXR0cmlidXRlc1snbGV2ZWwnXSBhcyBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSkudmFsdWUgYXMgc3RyaW5nIHwgbnVtYmVyXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA6IHRydWVcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcCgoaXRlbSkgPT4gKGl0ZW0uYXR0cmlidXRlc1twcm9wZXJ0eV0gYXMgQXR0cmlidXRlU2ltcGxlVmFsdWUpPy52YWx1ZSArICcnKVxuICAgICAgKVxuICAgICAgLmZsYXQoKVxuICAgICAgLmZsYXQoKTtcbiAgICByZXR1cm4gWy4uLm5ldyBTZXQodmFsdWVzKV07XG4gIH1cblxuICBjcmVhdGVDb2xvck1hcCh2ZXJ0aWNhbFByb3BzOiBzdHJpbmdbXSwgcHJpbWFyeVByb3BzOiBzdHJpbmdbXSwgcnM6IFJlc3VsdFNldCwgb3B0aW9uczogQW5hbHl0aWNXaWRnZXRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMuY29sb3JDb25maWdcbiAgICAgID8gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgIHZlcnRpY2FsUHJvcHMubWFwKCh2ZXJ0aWNhbCkgPT4gW1xuICAgICAgICAgICAgdmVydGljYWwsXG4gICAgICAgICAgICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgICAgICAgIHByaW1hcnlQcm9wcy5tYXAoKHByaW1hcnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZ0l0ZW0gPSAocnMuaXRlbXNbT2JqZWN0LmtleXMocnMuaXRlbXMpWzBdXSA/PyBbXSkuZmluZChcbiAgICAgICAgICAgICAgICAgIChpdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hdGNoQXR0cmlidXRlVmFsdWUoaXRlbSwgb3B0aW9ucy5wcmltYXJ5UHJvcCwgcHJpbWFyeSkgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRjaEF0dHJpYnV0ZVZhbHVlKGl0ZW0sIG9wdGlvbnMudmVydGljYWxQcm9wLCB2ZXJ0aWNhbClcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgIHByaW1hcnksXG4gICAgICAgICAgICAgICAgICBtYXRjaGluZ0l0ZW0gJiYgKG1hdGNoaW5nSXRlbS5hdHRyaWJ1dGVzW29wdGlvbnMudmFsdWVQcm9wXSBhcyBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSkudmFsdWUgIT09IDBcbiAgICAgICAgICAgICAgICAgICAgPyBvcHRpb25zLmNvbG9yQ29uZmlnPy5jb2xvcnNbXG4gICAgICAgICAgICAgICAgICAgICAgICAoKG1hdGNoaW5nSXRlbS5hdHRyaWJ1dGVzW29wdGlvbnMuY29sb3JDb25maWchLnByb3BdIGFzIEF0dHJpYnV0ZVNpbXBsZVZhbHVlKS52YWx1ZSBhcyBudW1iZXIpIC1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgOiAnI0ZGRkZGRidcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIF0pXG4gICAgICAgIClcbiAgICAgIDoge307XG4gIH1cblxuICB0b2dnbGVDb2xvckNvbmZpZygkZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoJGV2ZW50ICE9PSAhIXRoaXMub3B0aW9uc0NvcHkuY29sb3JDb25maWcpIHtcbiAgICAgIGlmICghdGhpcy5vcHRpb25zQ29weS5jb2xvckNvbmZpZykge1xuICAgICAgICB0aGlzLm9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnID0geyBwcm9wOiAnJywgY29sb3JzOiBbXSB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vcHRpb25zQ29weS5jb2xvckNvbmZpZyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBtb2RpZnlDb2xvclNjaGVtZSgkZXZlbnQ/OiBzdHJpbmcsIGluZGV4PzogbnVtYmVyKSB7XG4gICAgJGV2ZW50ICYmIGluZGV4ICE9PSB1bmRlZmluZWRcbiAgICAgID8gKHRoaXMub3B0aW9uc0NvcHkuY29sb3JDb25maWchLmNvbG9yc1tpbmRleF0gPSAkZXZlbnQpXG4gICAgICA6IHRoaXMub3B0aW9uc0NvcHkuY29sb3JDb25maWchLmNvbG9ycy5wdXNoKCcjRkZGRkZGJyk7XG4gIH1cblxuICByZW1vdmVDb2xvcihpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5vcHRpb25zQ29weS5jb2xvckNvbmZpZyEuY29sb3JzLnNwbGljZShpbmRleCwgMSk7XG4gIH1cblxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICB0aGlzLm9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnIS5jb2xvcnMuc3BsaWNlKFxuICAgICAgZXZlbnQuY3VycmVudEluZGV4LFxuICAgICAgMCxcbiAgICAgIHRoaXMub3B0aW9uc0NvcHkuY29sb3JDb25maWchLmNvbG9ycy5zcGxpY2UoZXZlbnQucHJldmlvdXNJbmRleCwgMSlbMF1cbiAgICApO1xuICB9XG5cbiAgZW1pdE1hbmlmZXN0KCkge1xuICAgIHRoaXMubWFuaWZlc3RNb2RpZmllZC5lbWl0KHtcbiAgICAgIHdpZGdldEluZGV4OiB0aGlzLndpZGdldEluZGV4LFxuICAgICAgbWFuaWZlc3Q6IHsgLi4udGhpcy5tYW5pZmVzdCwgb3B0aW9uczogdGhpcy5vcHRpb25zQ29weSB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxwcnktd2lkZ2V0LWFuYWx5dGljLWNzcz48L3ByeS13aWRnZXQtYW5hbHl0aWMtY3NzPlxuPGRpdiBjbGFzcz1cIm8td2lkZ2V0IG8td2lkZ2V0X19hbmFseXRpY1wiPlxuICBAaWYgKGRpc3BsYXlIZWFkZXIkIHwgYXN5bmMpIHtcbiAgICA8cHJ5LXdpZGdldC1oZWFkZXJcbiAgICAgIFt3aWRnZXRJbmRleF09XCJ3aWRnZXRJbmRleFwiXG4gICAgICBbbWFuaWZlc3RdPVwibWFuaWZlc3RcIlxuICAgICAgKG1hbmlmZXN0TW9kaWZpZWQpPVwibWFuaWZlc3RNb2RpZmllZC5lbWl0KCRldmVudClcIlxuICAgICAgI2hlYWRlclxuICAgICAgW2hlYWRlck9wdGlvbnNdPVwiKGRpc3BsYXlIZWFkZXIkIHwgYXN5bmMpID8/IHt9XCJcbiAgICAgIFtkYXRhc291cmNlSWRzXT1cIihkYXRhc291cmNlSWRzJCB8IGFzeW5jKSA/PyBbXVwiXG4gICAgPlxuICAgICAgPHByeS1zZXR0aW5nc1xuICAgICAgICAoc2F2ZVRyaWdnZXJlZCk9XCJlbWl0TWFuaWZlc3QoKVwiXG4gICAgICAgIChjaGFuZ2VUaXRsZSk9XCJjaGFuZ2VXaWRnZXRUaXRsZSgkZXZlbnQpXCJcbiAgICAgICAgW2hlYWRlclByZXNlbnRdPVwiZGlzcGxheUhlYWRlciQgfCBhc3luY1wiXG4gICAgICAgIFt3aWRnZXRJbmRleF09XCJ3aWRnZXRJbmRleFwiXG4gICAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcbiAgICAgICAgW29wZW4kXT1cIm9wZW4kXCJcbiAgICAgICAgY2xhc3M9XCJvLXNldHRpbmdzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tc2V0dGluZ3NfX2ZpZWxkc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJwcmltYXJ5UHJvcFwiPnt7ICdAcHJ5LndpZGdldC5hbmFseXRpYy5wcmltYXJ5UHJvcCcgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZSgkZXZlbnQsICdwcmltYXJ5UHJvcCcpXCJcbiAgICAgICAgICAgICAgW2l0ZW1zXT1cImF2YWlsYWJsZVByb3BlcnRpZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJvcHRpb25zQ29weS5wcmltYXJ5UHJvcFwiXG4gICAgICAgICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICAgICAgICBiaW5kVmFsdWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgaWQ9XCJwcmltYXJ5UHJvcFwiXG4gICAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJzZWNvbmRhcnlQcm9wXCI+e3sgJ0Bwcnkud2lkZ2V0LmFuYWx5dGljLnNlY29uZGFyeVByb3AnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50LCAnc2Vjb25kYXJ5UHJvcCcpXCJcbiAgICAgICAgICAgICAgW2l0ZW1zXT1cImF2YWlsYWJsZVByb3BlcnRpZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJvcHRpb25zQ29weS5zZWNvbmRhcnlQcm9wXCJcbiAgICAgICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgICAgICAgIGJpbmRWYWx1ZT1cIm5hbWVcIlxuICAgICAgICAgICAgICBpZD1cInNlY29uZGFyeVByb3BcIlxuICAgICAgICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwidmVydGljYWxQcm9wXCI+e3sgJ0Bwcnkud2lkZ2V0LmFuYWx5dGljLnZlcnRpY2FsUHJvcCcgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZSgkZXZlbnQsICd2ZXJ0aWNhbFByb3AnKVwiXG4gICAgICAgICAgICAgIFtpdGVtc109XCJhdmFpbGFibGVQcm9wZXJ0aWVzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwib3B0aW9uc0NvcHkudmVydGljYWxQcm9wXCJcbiAgICAgICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgICAgICAgIGJpbmRWYWx1ZT1cIm5hbWVcIlxuICAgICAgICAgICAgICBpZD1cInZlcnRpY2FsUHJvcFwiXG4gICAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJ2YWx1ZVByb3BcIj57eyAnQHByeS53aWRnZXQuYW5hbHl0aWMudmFsdWVQcm9wJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlKCRldmVudCwgJ3ZhbHVlUHJvcCcpXCJcbiAgICAgICAgICAgICAgW2l0ZW1zXT1cImF2YWlsYWJsZVByb3BlcnRpZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJvcHRpb25zQ29weS52YWx1ZVByb3BcIlxuICAgICAgICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgICAgICAgICAgYmluZFZhbHVlPVwibmFtZVwiXG4gICAgICAgICAgICAgIGlkPVwidmFsdWVQcm9wXCJcbiAgICAgICAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgICAgPHByeS1jaGVja2JveCAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGVDb2xvckNvbmZpZygkZXZlbnQpXCIgW25nTW9kZWxdPVwiISFvcHRpb25zQ29weS5jb2xvckNvbmZpZ1wiPlxuICAgICAgICAgICAgICB7eyAnQHByeS53aWRnZXQuYW5hbHl0aWMuY29sb3JDb25maWcnIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9wcnktY2hlY2tib3g+XG4gICAgICAgICAgICBAaWYgKG9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwiY29sb3JQcm9wXCI+e3sgJ0Bwcnkud2lkZ2V0LmFuYWx5dGljLmNvbG9yUHJvcCcgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ29sb3JDb25maWcoJGV2ZW50LCAncHJvcCcpXCJcbiAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJhdmFpbGFibGVQcm9wZXJ0aWVzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnLnByb3BcIlxuICAgICAgICAgICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICBiaW5kVmFsdWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwiY29sb3JQcm9wXCJcbiAgICAgICAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJjb2xvclByb3BcIj57eyAnQHByeS53aWRnZXQuYW5hbHl0aWMuY29sb3JzJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiby13aWRnZXRfX2FuYWx5dGljX19jb2xvci1waWNrZXItY29udGFpbmVyIHUtZGlzcGxheS1mbGV4IC1hbGlnbi1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgY2RrRHJvcExpc3RcbiAgICAgICAgICAgICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBAZm9yIChjb2xvciBvZiBvcHRpb25zQ29weS5jb2xvckNvbmZpZy5jb2xvcnM7IHRyYWNrIGNvbG9yOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby13aWRnZXRfX2FuYWx5dGljX19jb2xvci1waWNrZXJcIiBjZGtEcmFnPlxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktY29sb3ItcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJtb2RpZnlDb2xvclNjaGVtZSgkZXZlbnQsIGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9wcnktY29sb3ItcGlja2VyPlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInJlbW92ZUNvbG9yKGkpXCIgY2xhc3M9XCJvLXdpZGdldF9fYW5hbHl0aWNfX2NvbG9yLXBpY2tlci1yZW1vdmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIiBbaGVpZ2h0XT1cIjE1XCIgW3dpZHRoXT1cIjE1XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpjZGtEcmFnUHJldmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwcnktY29sb3ItcGlja2VyIFtuZ01vZGVsXT1cImNvbG9yXCI+PC9wcnktY29sb3ItcGlja2VyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seSBvLXdpZGdldF9fYW5hbHl0aWNfX2NvbG9yLXBpY2tlci1hZGRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9kaWZ5Q29sb3JTY2hlbWUoKVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiYWRkXCIgW2hlaWdodF09XCIyMFwiIFt3aWR0aF09XCIyMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9wcnktc2V0dGluZ3M+XG4gICAgPC9wcnktd2lkZ2V0LWhlYWRlcj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwiby13aWRnZXRfX2FuYWx5dGljX190YWJsZVwiPlxuICAgIDx0YWJsZSBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodCQgfCBhc3luY1wiPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHIgY2xhc3M9XCJwcmltYXJ5LWhlYWRlclwiPlxuICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgIEBmb3IgKHByaW1hcnkgb2YgcHJpbWFyeVByb3BlcnR5JCB8IGFzeW5jOyB0cmFjayBwcmltYXJ5KSB7XG4gICAgICAgICAgICA8dGggW2NvbFNwYW5dPVwiKHNlY29uZGFyeVByb3BlcnR5JCB8IGFzeW5jKT8ubGVuZ3RoID8/IDFcIj5cbiAgICAgICAgICAgICAge3sgcHJpbWFyeSB9fVxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvdHI+XG4gICAgICAgIEBpZiAob3B0aW9uc0NvcHkuc2Vjb25kYXJ5UHJvcCkge1xuICAgICAgICAgIDx0ciBjbGFzcz1cInNlY29uZGFyeS1oZWFkZXJcIj5cbiAgICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgICAgQGZvciAocHJpbWFyeSBvZiBwcmltYXJ5UHJvcGVydHkkIHwgYXN5bmM7IHRyYWNrIHByaW1hcnkpIHtcbiAgICAgICAgICAgICAgQGZvciAoc2Vjb25kYXJ5IG9mIHNlY29uZGFyeVByb3BlcnR5JCB8IGFzeW5jOyB0cmFjayBzZWNvbmRhcnkpIHtcbiAgICAgICAgICAgICAgICA8dGg+e3sgc2Vjb25kYXJ5IH19PC90aD5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIH1cbiAgICAgIDwvdGhlYWQ+XG4gICAgICBAaWYgKHRoaXMudmFsdWVQcm9wRmllbGQkIHwgYXN5bmM7IGFzIGZpZWxkKSB7XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgICBAZm9yIChsaW5lIG9mIGxpbmVzJCB8IGFzeW5jOyB0cmFjayBsaW5lLm5hbWUpIHtcbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgPHRoPnt7IGxpbmUubmFtZSB9fTwvdGg+XG4gICAgICAgICAgICAgIEBmb3IgKHByaW1hcnkgb2YgcHJpbWFyeVByb3BlcnR5JCB8IGFzeW5jOyB0cmFjayBwcmltYXJ5KSB7XG4gICAgICAgICAgICAgICAgQGlmIChvcHRpb25zQ29weS5zZWNvbmRhcnlQcm9wKSB7XG4gICAgICAgICAgICAgICAgICBAZm9yIChzZWNvbmRhcnkgb2Ygc2Vjb25kYXJ5UHJvcGVydHkkIHwgYXN5bmM7IHRyYWNrIHNlY29uZGFyeSkge1xuICAgICAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8geyAnYmFja2dyb3VuZC1jb2xvcic6IChjb2xvck1hcCQgfCBhc3luYyk/LltsaW5lLm5hbWVdPy5bcHJpbWFyeV0gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IHt9XG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmUudmFsdWVbcHJpbWFyeV1bc2Vjb25kYXJ5XSB8IGRhdGFGb3JtYXQ6IGZpZWxkIH19XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9uc0NvcHkuY29sb3JDb25maWcgPyB7ICdiYWNrZ3JvdW5kLWNvbG9yJzogKGNvbG9yTWFwJCB8IGFzeW5jKT8uW2xpbmUubmFtZV0/LltwcmltYXJ5XSB9IDoge31cbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgbGluZS52YWx1ZVtwcmltYXJ5XSB8IGRhdGFGb3JtYXQ6IGZpZWxkIH19XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDx0Zm9vdD5cbiAgICAgICAgICBAZm9yIChsaW5lIG9mIHRvdGFscyQgfCBhc3luYzsgdHJhY2sgbGluZS5uYW1lKSB7XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJwYXJ0aWFsLXRvdGFsXCI+XG4gICAgICAgICAgICAgIDx0aD57eyBsaW5lLm5hbWUgfX08L3RoPlxuICAgICAgICAgICAgICBAZm9yIChwcmltYXJ5IG9mIHByaW1hcnlQcm9wZXJ0eSQgfCBhc3luYzsgdHJhY2sgcHJpbWFyeSkge1xuICAgICAgICAgICAgICAgIEBmb3IgKHNlY29uZGFyeSBvZiBzZWNvbmRhcnlQcm9wZXJ0eSQgfCBhc3luYzsgdHJhY2sgc2Vjb25kYXJ5KSB7XG4gICAgICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgICAgIHt7IGxpbmUudmFsdWVbcHJpbWFyeV1bc2Vjb25kYXJ5XSB8IGRhdGFGb3JtYXQ6IGZpZWxkIH19XG4gICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGZvciAobGluZSBvZiBncmFuZFRvdGFscyQgfCBhc3luYzsgdHJhY2sgbGluZS5uYW1lKSB7XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJncmFuZC10b3RhbFwiPlxuICAgICAgICAgICAgICA8dGg+e3sgbGluZS5uYW1lIH19PC90aD5cbiAgICAgICAgICAgICAgQGZvciAocHJpbWFyeSBvZiBwcmltYXJ5UHJvcGVydHkkIHwgYXN5bmM7IHRyYWNrIHByaW1hcnkpIHtcbiAgICAgICAgICAgICAgICA8dGQgW2NvbFNwYW5dPVwiKHNlY29uZGFyeVByb3BlcnR5JCB8IGFzeW5jKT8ubGVuZ3RoID8/IDFcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGxpbmUudmFsdWVbcHJpbWFyeV0gfCBkYXRhRm9ybWF0OiBmaWVsZCB9fVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgfVxuICAgICAgICA8L3Rmb290PlxuICAgICAgfVxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWFuYWx5dGljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LWFuYWx5dGljL2NvbXBvbmVudC93aWRnZXQtYW5hbHl0aWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYW5hbHl0aWMvY29tcG9uZW50L3dpZGdldC1hbmFseXRpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFLTCxjQUFjLEVBQ2QsbUJBQW1CLEVBSW5CLG9CQUFvQixFQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBT3hDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxtQkFBbUI7SUFrQjlELE1BQU0sQ0FBQyxNQUFjLEVBQUUsSUFBb0U7UUFDekYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQXlCLEVBQUUsSUFBdUI7UUFDbEUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDWixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVksQ0FBQyxJQUFJLEdBQUcsTUFBZ0IsQ0FBQztnQkFDdEQsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLFdB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QUFNLElBQUksS0FBSyxLQUFLLFNBQVM7WUFDM0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksQ0FBQyxLQUE0QjtRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUN6QyxLQUFLLENBQUMsWUFBWSxFQUNsQixDQUFDLEVBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixRQUFRLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7U0FDMUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4UFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsa0ZDdEJwQyx1eVFBd01BOzsyRkRsTGEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQW5hbHl0aWNXaWRnZXRPcHRpb25zLFxuICBBdHRyaWJ1dGUsXG4gIEF0dHJpYnV0ZVNpbXBsZVZhbHVlLFxuICBDbGFzcyxcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIERhdGFXaWRnZXRDb21wb25lbnQsXG4gIEZpZWxkLFxuICBJdGVtLFxuICBSZXN1bHRTZXQsXG4gIFdJREdFVF9IRUFERVJfSEVJR0hUXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDZGtEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktd2lkZ2V0LWFuYWx5dGljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpZGdldC1hbmFseXRpYy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0QW5hbHl0aWNDb21wb25lbnQgZXh0ZW5kcyBEYXRhV2lkZ2V0Q29tcG9uZW50IHtcbiAgb3B0aW9uc0NvcHk6IEFuYWx5dGljV2lkZ2V0T3B0aW9ucyA9IHsgcHJpbWFyeVByb3A6ICcnLCBzZWNvbmRhcnlQcm9wOiAnJywgdmVydGljYWxQcm9wOiAnJywgdmFsdWVQcm9wOiAnJyB9O1xuICBvcHRpb25zJDogT2JzZXJ2YWJsZTxBbmFseXRpY1dpZGdldE9wdGlvbnM+O1xuXG4gIHByaW1hcnlQcm9wZXJ0eSQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBzZWNvbmRhcnlQcm9wZXJ0eSQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICB2ZXJ0aWNhbFByb3BlcnR5JDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIHRvdGFsUHJvcGVydHkkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgZ3JhbmRUb3RhbFByb3BlcnR5JDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIGxpbmVzJDogT2JzZXJ2YWJsZTx7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHsgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IGFueSB9IH1bXT47XG4gIHRvdGFscyQ6IE9ic2VydmFibGU8eyBuYW1lOiBzdHJpbmc7IHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogYW55IH0gfSB9W10+O1xuICBncmFuZFRvdGFscyQ6IE9ic2VydmFibGU8eyBuYW1lOiBhbnk7IHZhbHVlOiB7IFtwOiBzdHJpbmddOiBhbnkgfSB9W10+O1xuICBjb2xvck1hcCQ6IE9ic2VydmFibGU8eyBbdmVydGljYWw6IHN0cmluZ106IHsgW3ByaW1hcnk6IHN0cmluZ106IHN0cmluZyB8IHVuZGVmaW5lZCB9IH0+O1xuICBoZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGNsYXNzZXMkOiBPYnNlcnZhYmxlPENsYXNzW10+O1xuICBhdmFpbGFibGVQcm9wZXJ0aWVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT47XG4gIHZhbHVlUHJvcEZpZWxkJDogT2JzZXJ2YWJsZTxGaWVsZCB8IHVuZGVmaW5lZD47XG5cbiAgY2hhbmdlKCRldmVudDogc3RyaW5nLCBwcm9wOiAncHJpbWFyeVByb3AnIHwgJ3NlY29uZGFyeVByb3AnIHwgJ3ZhbHVlUHJvcCcgfCAndmVydGljYWxQcm9wJykge1xuICAgIHRoaXMub3B0aW9uc0NvcHlbcHJvcF0gPSAkZXZlbnQ7XG4gIH1cblxuICBjaGFuZ2VDb2xvckNvbmZpZygkZXZlbnQ6IHN0cmluZyB8IHN0cmluZ1tdLCBwcm9wOiAncHJvcCcgfCAnY29sb3JzJykge1xuICAgIHN3aXRjaCAocHJvcCkge1xuICAgICAgY2FzZSAncHJvcCc6IHtcbiAgICAgICAgdGhpcy5vcHRpb25zQ29weS5jb2xvckNvbmZpZyEucHJvcCA9ICRldmVudCBhcyBzdHJpbmc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnY29sb3JzJzoge1xuICAgICAgICB0aGlzLm9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnIS5jb2xvcnMgPSAkZXZlbnQgYXMgc3RyaW5nW107XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZTxhbnk+LCBlbDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKHN0b3JlLCBlbCk7XG4gICAgdGhpcy5vcHRpb25zJCA9IHRoaXMubWFuaWZlc3QkLnBpcGUobWFwKChtYW5pZmVzdCkgPT4gKG1hbmlmZXN0Lm9wdGlvbnMgPz8ge30pIGFzIEFuYWx5dGljV2lkZ2V0T3B0aW9ucykpO1xuICAgIHRoaXMuY2xhc3NlcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKTtcbiAgICB0aGlzLmhlaWdodCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLndpZGdldFNpemUkLCB0aGlzLmRpc3BsYXlIZWFkZXIkXSkucGlwZShcbiAgICAgIG1hcCgoW3NpemUsIGhlYWRlcl0pID0+IHNpemUuaGVpZ2h0IC0gKGhlYWRlciA/IFdJREdFVF9IRUFERVJfSEVJR0hULnZhbHVlIDogMCkpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5vcHRpb25zJC5zdWJzY3JpYmUoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zQ29weSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob3B0aW9ucykpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMucHJpbWFyeVByb3BlcnR5JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub3B0aW9ucyQsIHRoaXMucmVzdWx0U2V0JF0pLnBpcGUoXG4gICAgICBmaWx0ZXIoKFtvcHRpb25zXSkgPT4gISFvcHRpb25zLnByaW1hcnlQcm9wKSxcbiAgICAgIG1hcCgoW29wdGlvbnMsIHJzXSkgPT4gdGhpcy5nZXRQcm9wZXJ0eUxhYmVsc0ZvckxldmVsKHJzLCBvcHRpb25zLnByaW1hcnlQcm9wKSlcbiAgICApO1xuICAgIHRoaXMuc2Vjb25kYXJ5UHJvcGVydHkkID0gY29tYmluZUxhdGVzdChbdGhpcy5vcHRpb25zJCwgdGhpcy5yZXN1bHRTZXQkXSkucGlwZShcbiAgICAgIGZpbHRlcigoW29wdGlvbnNdKSA9PiAhIW9wdGlvbnMuc2Vjb25kYXJ5UHJvcCksXG4gICAgICBtYXAoKFtvcHRpb25zLCByc10pID0+IHRoaXMuZ2V0UHJvcGVydHlMYWJlbHNGb3JMZXZlbChycywgb3B0aW9ucy5zZWNvbmRhcnlQcm9wISwgMSkpXG4gICAgKTtcbiAgICB0aGlzLnZlcnRpY2FsUHJvcGVydHkkID0gY29tYmluZUxhdGVzdChbdGhpcy5vcHRpb25zJCwgdGhpcy5yZXN1bHRTZXQkXSkucGlwZShcbiAgICAgIGZpbHRlcigoW29wdGlvbnNdKSA9PiAhIW9wdGlvbnMudmVydGljYWxQcm9wKSxcbiAgICAgIG1hcCgoW29wdGlvbnMsIHJzXSkgPT4gdGhpcy5nZXRQcm9wZXJ0eUxhYmVsc0ZvckxldmVsKHJzLCBvcHRpb25zLnZlcnRpY2FsUHJvcCwgMSkpXG4gICAgKTtcbiAgICB0aGlzLnRvdGFsUHJvcGVydHkkID0gY29tYmluZUxhdGVzdChbdGhpcy5vcHRpb25zJCwgdGhpcy5yZXN1bHRTZXQkXSkucGlwZShcbiAgICAgIG1hcCgoW29wdGlvbnMsIHJzXSkgPT4gdGhpcy5nZXRQcm9wZXJ0eUxhYmVsc0ZvckxldmVsKHJzLCBvcHRpb25zLnZlcnRpY2FsUHJvcCwgMikpXG4gICAgKTtcbiAgICB0aGlzLmdyYW5kVG90YWxQcm9wZXJ0eSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9wdGlvbnMkLCB0aGlzLnJlc3VsdFNldCRdKS5waXBlKFxuICAgICAgbWFwKChbb3B0aW9ucywgcnNdKSA9PiB0aGlzLmdldFByb3BlcnR5TGFiZWxzRm9yTGV2ZWwocnMsIG9wdGlvbnMudmVydGljYWxQcm9wLCAzKSlcbiAgICApO1xuXG4gICAgdGhpcy5saW5lcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMub3B0aW9ucyQsXG4gICAgICB0aGlzLnByaW1hcnlQcm9wZXJ0eSQucGlwZShzdGFydFdpdGgoW10pKSxcbiAgICAgIHRoaXMuc2Vjb25kYXJ5UHJvcGVydHkkLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpLFxuICAgICAgdGhpcy52ZXJ0aWNhbFByb3BlcnR5JC5waXBlKHN0YXJ0V2l0aChbXSkpLFxuICAgICAgdGhpcy5yZXN1bHRTZXQkXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW29wdGlvbnMsIHByaW1hcnlQcm9wcywgc2Vjb25kYXJ5UHJvcHMsIHZlcnRpY2FsUHJvcHMsIHJzXSkgPT5cbiAgICAgICAgdGhpcy5jcmVhdGVWYWx1ZU1hcCh2ZXJ0aWNhbFByb3BzLCBwcmltYXJ5UHJvcHMsIHNlY29uZGFyeVByb3BzLCBycywgb3B0aW9ucywgMSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy50b3RhbHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm9wdGlvbnMkLFxuICAgICAgdGhpcy5wcmltYXJ5UHJvcGVydHkkLFxuICAgICAgdGhpcy5zZWNvbmRhcnlQcm9wZXJ0eSQsXG4gICAgICB0aGlzLnRvdGFsUHJvcGVydHkkLFxuICAgICAgdGhpcy5yZXN1bHRTZXQkXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW29wdGlvbnMsIHByaW1hcnlQcm9wcywgc2Vjb25kYXJ5UHJvcHMsIHZlcnRpY2FsUHJvcHMsIHJzXSkgPT5cbiAgICAgICAgdGhpcy5jcmVhdGVWYWx1ZU1hcCh2ZXJ0aWNhbFByb3BzLCBwcmltYXJ5UHJvcHMsIHNlY29uZGFyeVByb3BzLCBycywgb3B0aW9ucywgMilcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5ncmFuZFRvdGFscyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMub3B0aW9ucyQsXG4gICAgICB0aGlzLnByaW1hcnlQcm9wZXJ0eSQsXG4gICAgICB0aGlzLmdyYW5kVG90YWxQcm9wZXJ0eSQsXG4gICAgICB0aGlzLnJlc3VsdFNldCRcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbb3B0aW9ucywgcHJpbWFyeVByb3BzLCB2ZXJ0aWNhbFByb3BzLCByc10pID0+XG4gICAgICAgIHRoaXMuY3JlYXRlVmFsdWVNYXAodmVydGljYWxQcm9wcywgcHJpbWFyeVByb3BzLCB1bmRlZmluZWQsIHJzLCBvcHRpb25zLCAzKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmNvbG9yTWFwJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5vcHRpb25zJCxcbiAgICAgIHRoaXMucmVzdWx0U2V0JCxcbiAgICAgIHRoaXMudmVydGljYWxQcm9wZXJ0eSQsXG4gICAgICB0aGlzLnByaW1hcnlQcm9wZXJ0eSRcbiAgICBdKS5waXBlKFxuICAgICAgZmlsdGVyKChbb3B0aW9uc10pID0+ICEhb3B0aW9ucy5jb2xvckNvbmZpZyksXG4gICAgICBtYXAoKFtvcHRpb25zLCBycywgdmVydGljYWwsIHByaW1hcnldKSA9PiB0aGlzLmNyZWF0ZUNvbG9yTWFwKHZlcnRpY2FsLCBwcmltYXJ5LCBycywgb3B0aW9ucykpXG4gICAgKTtcblxuICAgIHRoaXMuYXZhaWxhYmxlUHJvcGVydGllcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmNsYXNzZXMkLCB0aGlzLnJlc3VsdFNldCRdKS5waXBlKFxuICAgICAgbWFwKChbY2xhc3NlcywgcnNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHByZXNlbnRDbGFzc2VzSWQgPSBPYmplY3Qua2V5cyhycy5pdGVtcyk7XG4gICAgICAgIGNvbnN0IHByZXNlbnRDbGFzc2VzID0gcHJlc2VudENsYXNzZXNJZFxuICAgICAgICAgIC5tYXAoKGNsYXNzSWQpID0+IGNsYXNzZXMuZmluZCgoY2wpID0+IGNsLmlkID09PSBjbGFzc0lkKSlcbiAgICAgICAgICAuZmlsdGVyKChjbCkgPT4gISFjbCkgYXMgQ2xhc3NbXTtcbiAgICAgICAgcmV0dXJuIHByZXNlbnRDbGFzc2VzLm1hcCgoY2wpID0+IGNsLmF0dHJpYnV0ZXMpLmZsYXQoKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMudmFsdWVQcm9wRmllbGQkID0gY29tYmluZUxhdGVzdChbdGhpcy5hdmFpbGFibGVQcm9wZXJ0aWVzJCwgdGhpcy5vcHRpb25zJF0pLnBpcGUoXG4gICAgICBtYXAoKFthdHRyaWJ1dGVzLCBvcHRpb25zXSkgPT4gYXR0cmlidXRlcy5maW5kKChhdHRyKSA9PiBhdHRyLnRlY2huaWNhbE5hbWUgPT09IG9wdGlvbnMudmFsdWVQcm9wKT8uZmllbGQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbWF0Y2hBdHRyaWJ1dGVWYWx1ZShpdGVtOiBJdGVtLCBwcm9wPzogc3RyaW5nLCBjb21wYXJpc29uVmFsdWU/OiBzdHJpbmcpIHtcbiAgICBpZiAocHJvcCA9PT0gJ2xldmVsJyAmJiAhKCdsZXZlbCcgaW4gaXRlbS5hdHRyaWJ1dGVzKSkge1xuICAgICAgcmV0dXJuIGNvbXBhcmlzb25WYWx1ZSA9PT0gJzEnO1xuICAgIH1cbiAgICByZXR1cm4gY29tcGFyaXNvblZhbHVlICYmIHByb3AgPyAoaXRlbS5hdHRyaWJ1dGVzW3Byb3BdIGFzIEF0dHJpYnV0ZVNpbXBsZVZhbHVlKS52YWx1ZSA9PSBjb21wYXJpc29uVmFsdWUgOiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVWYWx1ZU1hcChcbiAgICB2ZXJ0aWNhbFByb3BzOiBzdHJpbmdbXSxcbiAgICBwcmltYXJ5UHJvcHM6IHN0cmluZ1tdLFxuICAgIHNlY29uZGFyeVByb3BzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcbiAgICByczogUmVzdWx0U2V0LFxuICAgIG9wdGlvbnM6IEFuYWx5dGljV2lkZ2V0T3B0aW9ucyxcbiAgICBsZXZlbD86IG51bWJlclxuICApIHtcbiAgICByZXR1cm4gdmVydGljYWxQcm9wcy5tYXAoKHZlcnRpY2FsKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IGFueSB9O1xuICAgICAgcHJpbWFyeVByb3BzLmZvckVhY2goKHByaW1hcnkpID0+IHtcbiAgICAgICAgKHNlY29uZGFyeVByb3BzID8/IFt1bmRlZmluZWRdKS5mb3JFYWNoKChzZWNvbmRhcnkpID0+IHtcbiAgICAgICAgICBjb25zdCBtYXRjaGluZ0l0ZW0gPSAocnMuaXRlbXNbT2JqZWN0LmtleXMocnMuaXRlbXMpWzBdXSA/PyBbXSkuZmluZChcbiAgICAgICAgICAgIChpdGVtKSA9PlxuICAgICAgICAgICAgICB0aGlzLm1hdGNoQXR0cmlidXRlVmFsdWUoaXRlbSwgb3B0aW9ucy5wcmltYXJ5UHJvcCwgcHJpbWFyeSkgJiZcbiAgICAgICAgICAgICAgdGhpcy5tYXRjaEF0dHJpYnV0ZVZhbHVlKGl0ZW0sIG9wdGlvbnMuc2Vjb25kYXJ5UHJvcCwgc2Vjb25kYXJ5KSAmJlxuICAgICAgICAgICAgICB0aGlzLm1hdGNoQXR0cmlidXRlVmFsdWUoaXRlbSwgb3B0aW9ucy52ZXJ0aWNhbFByb3AsIHZlcnRpY2FsKSAmJlxuICAgICAgICAgICAgICB0aGlzLm1hdGNoQXR0cmlidXRlVmFsdWUoaXRlbSwgJ2xldmVsJywgbGV2ZWwgKyAnJylcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmICghIW1hdGNoaW5nSXRlbSkge1xuICAgICAgICAgICAgaWYgKCEhc2Vjb25kYXJ5KSB7XG4gICAgICAgICAgICAgIGlmICghdmFsdWVbcHJpbWFyeV0pIHtcbiAgICAgICAgICAgICAgICB2YWx1ZVtwcmltYXJ5XSA9IHt9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHZhbHVlW3ByaW1hcnldW3NlY29uZGFyeV0gPSAobWF0Y2hpbmdJdGVtIS5hdHRyaWJ1dGVzW29wdGlvbnMudmFsdWVQcm9wXSBhcyBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSkudmFsdWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB2YWx1ZVtwcmltYXJ5XSA9IChtYXRjaGluZ0l0ZW0hLmF0dHJpYnV0ZXNbb3B0aW9ucy52YWx1ZVByb3BdIGFzIEF0dHJpYnV0ZVNpbXBsZVZhbHVlKT8udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHsgbmFtZTogdmVydGljYWwsIHZhbHVlIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFByb3BlcnR5TGFiZWxzRm9yTGV2ZWwocnM6IFJlc3VsdFNldCwgcHJvcGVydHk6IHN0cmluZywgbGV2ZWw/OiBudW1iZXIpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKHJzLml0ZW1zKVxuICAgICAgLm1hcCgoaXRlbXMpID0+XG4gICAgICAgIGl0ZW1zXG4gICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgICAgIGxldmVsICYmICdsZXZlbCcgaW4gaXRlbS5hdHRyaWJ1dGVzXG4gICAgICAgICAgICAgID8gW2xldmVsLCAnJyArIGxldmVsXS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICAgIChpdGVtLmF0dHJpYnV0ZXNbJ2xldmVsJ10gYXMgQXR0cmlidXRlU2ltcGxlVmFsdWUpLnZhbHVlIGFzIHN0cmluZyB8IG51bWJlclxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgOiBsZXZlbCA9PT0gdW5kZWZpbmVkIHx8IGxldmVsID09PSAxXG4gICAgICAgICAgKVxuICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IChpdGVtLmF0dHJpYnV0ZXNbcHJvcGVydHldIGFzIEF0dHJpYnV0ZVNpbXBsZVZhbHVlKT8udmFsdWUgKyAnJylcbiAgICAgIClcbiAgICAgIC5mbGF0KClcbiAgICAgIC5mbGF0KCk7XG4gICAgcmV0dXJuIFsuLi5uZXcgU2V0KHZhbHVlcyldO1xuICB9XG5cbiAgY3JlYXRlQ29sb3JNYXAodmVydGljYWxQcm9wczogc3RyaW5nW10sIHByaW1hcnlQcm9wczogc3RyaW5nW10sIHJzOiBSZXN1bHRTZXQsIG9wdGlvbnM6IEFuYWx5dGljV2lkZ2V0T3B0aW9ucykge1xuICAgIHJldHVybiBvcHRpb25zLmNvbG9yQ29uZmlnXG4gICAgICA/IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICB2ZXJ0aWNhbFByb3BzLm1hcCgodmVydGljYWwpID0+IFtcbiAgICAgICAgICAgIHZlcnRpY2FsLFxuICAgICAgICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgICAgICBwcmltYXJ5UHJvcHMubWFwKChwcmltYXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmdJdGVtID0gKHJzLml0ZW1zW09iamVjdC5rZXlzKHJzLml0ZW1zKVswXV0gPz8gW10pLmZpbmQoXG4gICAgICAgICAgICAgICAgICAoaXRlbSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRjaEF0dHJpYnV0ZVZhbHVlKGl0ZW0sIG9wdGlvbnMucHJpbWFyeVByb3AsIHByaW1hcnkpICYmXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWF0Y2hBdHRyaWJ1dGVWYWx1ZShpdGVtLCBvcHRpb25zLnZlcnRpY2FsUHJvcCwgdmVydGljYWwpXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICBwcmltYXJ5LFxuICAgICAgICAgICAgICAgICAgbWF0Y2hpbmdJdGVtICYmIChtYXRjaGluZ0l0ZW0uYXR0cmlidXRlc1tvcHRpb25zLnZhbHVlUHJvcF0gYXMgQXR0cmlidXRlU2ltcGxlVmFsdWUpLnZhbHVlICE9PSAwXG4gICAgICAgICAgICAgICAgICAgID8gb3B0aW9ucy5jb2xvckNvbmZpZz8uY29sb3JzW1xuICAgICAgICAgICAgICAgICAgICAgICAgKChtYXRjaGluZ0l0ZW0uYXR0cmlidXRlc1tvcHRpb25zLmNvbG9yQ29uZmlnIS5wcm9wXSBhcyBBdHRyaWJ1dGVTaW1wbGVWYWx1ZSkudmFsdWUgYXMgbnVtYmVyKSAtXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIDogJyNGRkZGRkYnXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICBdKVxuICAgICAgICApXG4gICAgICA6IHt9O1xuICB9XG5cbiAgdG9nZ2xlQ29sb3JDb25maWcoJGV2ZW50OiBib29sZWFuKSB7XG4gICAgaWYgKCRldmVudCAhPT0gISF0aGlzLm9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnKSB7XG4gICAgICBpZiAoIXRoaXMub3B0aW9uc0NvcHkuY29sb3JDb25maWcpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zQ29weS5jb2xvckNvbmZpZyA9IHsgcHJvcDogJycsIGNvbG9yczogW10gfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub3B0aW9uc0NvcHkuY29sb3JDb25maWcgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbW9kaWZ5Q29sb3JTY2hlbWUoJGV2ZW50Pzogc3RyaW5nLCBpbmRleD86IG51bWJlcikge1xuICAgICRldmVudCAmJiBpbmRleCAhPT0gdW5kZWZpbmVkXG4gICAgICA/ICh0aGlzLm9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnIS5jb2xvcnNbaW5kZXhdID0gJGV2ZW50KVxuICAgICAgOiB0aGlzLm9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnIS5jb2xvcnMucHVzaCgnI0ZGRkZGRicpO1xuICB9XG5cbiAgcmVtb3ZlQ29sb3IoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMub3B0aW9uc0NvcHkuY29sb3JDb25maWchLmNvbG9ycy5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG5cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KSB7XG4gICAgdGhpcy5vcHRpb25zQ29weS5jb2xvckNvbmZpZyEuY29sb3JzLnNwbGljZShcbiAgICAgIGV2ZW50LmN1cnJlbnRJbmRleCxcbiAgICAgIDAsXG4gICAgICB0aGlzLm9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnIS5jb2xvcnMuc3BsaWNlKGV2ZW50LnByZXZpb3VzSW5kZXgsIDEpWzBdXG4gICAgKTtcbiAgfVxuXG4gIGVtaXRNYW5pZmVzdCgpIHtcbiAgICB0aGlzLm1hbmlmZXN0TW9kaWZpZWQuZW1pdCh7XG4gICAgICB3aWRnZXRJbmRleDogdGhpcy53aWRnZXRJbmRleCxcbiAgICAgIG1hbmlmZXN0OiB7IC4uLnRoaXMubWFuaWZlc3QsIG9wdGlvbnM6IHRoaXMub3B0aW9uc0NvcHkgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8cHJ5LXdpZGdldC1hbmFseXRpYy1jc3M+PC9wcnktd2lkZ2V0LWFuYWx5dGljLWNzcz5cbjxkaXYgY2xhc3M9XCJvLXdpZGdldCBvLXdpZGdldF9fYW5hbHl0aWNcIj5cbiAgQGlmIChkaXNwbGF5SGVhZGVyJCB8IGFzeW5jKSB7XG4gICAgPHByeS13aWRnZXQtaGVhZGVyXG4gICAgICBbd2lkZ2V0SW5kZXhdPVwid2lkZ2V0SW5kZXhcIlxuICAgICAgW21hbmlmZXN0XT1cIm1hbmlmZXN0XCJcbiAgICAgIChtYW5pZmVzdE1vZGlmaWVkKT1cIm1hbmlmZXN0TW9kaWZpZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICNoZWFkZXJcbiAgICAgIFtoZWFkZXJPcHRpb25zXT1cIihkaXNwbGF5SGVhZGVyJCB8IGFzeW5jKSA/PyB7fVwiXG4gICAgICBbZGF0YXNvdXJjZUlkc109XCIoZGF0YXNvdXJjZUlkcyQgfCBhc3luYykgPz8gW11cIlxuICAgID5cbiAgICAgIDxwcnktc2V0dGluZ3NcbiAgICAgICAgKHNhdmVUcmlnZ2VyZWQpPVwiZW1pdE1hbmlmZXN0KClcIlxuICAgICAgICAoY2hhbmdlVGl0bGUpPVwiY2hhbmdlV2lkZ2V0VGl0bGUoJGV2ZW50KVwiXG4gICAgICAgIFtoZWFkZXJQcmVzZW50XT1cImRpc3BsYXlIZWFkZXIkIHwgYXN5bmNcIlxuICAgICAgICBbd2lkZ2V0SW5kZXhdPVwid2lkZ2V0SW5kZXhcIlxuICAgICAgICBbaGVhZGVyXT1cImhlYWRlclwiXG4gICAgICAgIFtvcGVuJF09XCJvcGVuJFwiXG4gICAgICAgIGNsYXNzPVwiby1zZXR0aW5nc1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvLXNldHRpbmdzX19maWVsZHNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwicHJpbWFyeVByb3BcIj57eyAnQHByeS53aWRnZXQuYW5hbHl0aWMucHJpbWFyeVByb3AnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50LCAncHJpbWFyeVByb3AnKVwiXG4gICAgICAgICAgICAgIFtpdGVtc109XCJhdmFpbGFibGVQcm9wZXJ0aWVzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwib3B0aW9uc0NvcHkucHJpbWFyeVByb3BcIlxuICAgICAgICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgICAgICAgICAgYmluZFZhbHVlPVwibmFtZVwiXG4gICAgICAgICAgICAgIGlkPVwicHJpbWFyeVByb3BcIlxuICAgICAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwic2Vjb25kYXJ5UHJvcFwiPnt7ICdAcHJ5LndpZGdldC5hbmFseXRpYy5zZWNvbmRhcnlQcm9wJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlKCRldmVudCwgJ3NlY29uZGFyeVByb3AnKVwiXG4gICAgICAgICAgICAgIFtpdGVtc109XCJhdmFpbGFibGVQcm9wZXJ0aWVzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwib3B0aW9uc0NvcHkuc2Vjb25kYXJ5UHJvcFwiXG4gICAgICAgICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICAgICAgICBiaW5kVmFsdWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgaWQ9XCJzZWNvbmRhcnlQcm9wXCJcbiAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cInZlcnRpY2FsUHJvcFwiPnt7ICdAcHJ5LndpZGdldC5hbmFseXRpYy52ZXJ0aWNhbFByb3AnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50LCAndmVydGljYWxQcm9wJylcIlxuICAgICAgICAgICAgICBbaXRlbXNdPVwiYXZhaWxhYmxlUHJvcGVydGllcyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm9wdGlvbnNDb3B5LnZlcnRpY2FsUHJvcFwiXG4gICAgICAgICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICAgICAgICBiaW5kVmFsdWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgaWQ9XCJ2ZXJ0aWNhbFByb3BcIlxuICAgICAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwidmFsdWVQcm9wXCI+e3sgJ0Bwcnkud2lkZ2V0LmFuYWx5dGljLnZhbHVlUHJvcCcgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZSgkZXZlbnQsICd2YWx1ZVByb3AnKVwiXG4gICAgICAgICAgICAgIFtpdGVtc109XCJhdmFpbGFibGVQcm9wZXJ0aWVzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxdPVwib3B0aW9uc0NvcHkudmFsdWVQcm9wXCJcbiAgICAgICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgICAgICAgIGJpbmRWYWx1ZT1cIm5hbWVcIlxuICAgICAgICAgICAgICBpZD1cInZhbHVlUHJvcFwiXG4gICAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgIDxwcnktY2hlY2tib3ggKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlQ29sb3JDb25maWcoJGV2ZW50KVwiIFtuZ01vZGVsXT1cIiEhb3B0aW9uc0NvcHkuY29sb3JDb25maWdcIj5cbiAgICAgICAgICAgICAge3sgJ0Bwcnkud2lkZ2V0LmFuYWx5dGljLmNvbG9yQ29uZmlnJyB8IGkxOG4gfX1cbiAgICAgICAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgICAgICAgICAgQGlmIChvcHRpb25zQ29weS5jb2xvckNvbmZpZykge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cImNvbG9yUHJvcFwiPnt7ICdAcHJ5LndpZGdldC5hbmFseXRpYy5jb2xvclByb3AnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZUNvbG9yQ29uZmlnKCRldmVudCwgJ3Byb3AnKVwiXG4gICAgICAgICAgICAgICAgICBbaXRlbXNdPVwiYXZhaWxhYmxlUHJvcGVydGllcyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJvcHRpb25zQ29weS5jb2xvckNvbmZpZy5wcm9wXCJcbiAgICAgICAgICAgICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgYmluZFZhbHVlPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICBpZD1cImNvbG9yUHJvcFwiXG4gICAgICAgICAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwiY29sb3JQcm9wXCI+e3sgJ0Bwcnkud2lkZ2V0LmFuYWx5dGljLmNvbG9ycycgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm8td2lkZ2V0X19hbmFseXRpY19fY29sb3ItcGlja2VyLWNvbnRhaW5lciB1LWRpc3BsYXktZmxleCAtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgQGZvciAoY29sb3Igb2Ygb3B0aW9uc0NvcHkuY29sb3JDb25maWcuY29sb3JzOyB0cmFjayBjb2xvcjsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8td2lkZ2V0X19hbmFseXRpY19fY29sb3ItcGlja2VyXCIgY2RrRHJhZz5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWNvbG9yLXBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibW9kaWZ5Q29sb3JTY2hlbWUoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvcHJ5LWNvbG9yLXBpY2tlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJyZW1vdmVDb2xvcihpKVwiIGNsYXNzPVwiby13aWRnZXRfX2FuYWx5dGljX19jb2xvci1waWNrZXItcmVtb3ZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIxNVwiIFt3aWR0aF09XCIxNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqY2RrRHJhZ1ByZXZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWNvbG9yLXBpY2tlciBbbmdNb2RlbF09XCJjb2xvclwiPjwvcHJ5LWNvbG9yLXBpY2tlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHkgby13aWRnZXRfX2FuYWx5dGljX19jb2xvci1waWNrZXItYWRkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vZGlmeUNvbG9yU2NoZW1lKClcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFkZFwiIFtoZWlnaHRdPVwiMjBcIiBbd2lkdGhdPVwiMjBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvcHJ5LXNldHRpbmdzPlxuICAgIDwvcHJ5LXdpZGdldC1oZWFkZXI+XG4gIH1cbiAgPGRpdiBjbGFzcz1cIm8td2lkZ2V0X19hbmFseXRpY19fdGFibGVcIj5cbiAgICA8dGFibGUgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHQkIHwgYXN5bmNcIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyIGNsYXNzPVwicHJpbWFyeS1oZWFkZXJcIj5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICBAZm9yIChwcmltYXJ5IG9mIHByaW1hcnlQcm9wZXJ0eSQgfCBhc3luYzsgdHJhY2sgcHJpbWFyeSkge1xuICAgICAgICAgICAgPHRoIFtjb2xTcGFuXT1cIihzZWNvbmRhcnlQcm9wZXJ0eSQgfCBhc3luYyk/Lmxlbmd0aCA/PyAxXCI+XG4gICAgICAgICAgICAgIHt7IHByaW1hcnkgfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgfVxuICAgICAgICA8L3RyPlxuICAgICAgICBAaWYgKG9wdGlvbnNDb3B5LnNlY29uZGFyeVByb3ApIHtcbiAgICAgICAgICA8dHIgY2xhc3M9XCJzZWNvbmRhcnktaGVhZGVyXCI+XG4gICAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICAgIEBmb3IgKHByaW1hcnkgb2YgcHJpbWFyeVByb3BlcnR5JCB8IGFzeW5jOyB0cmFjayBwcmltYXJ5KSB7XG4gICAgICAgICAgICAgIEBmb3IgKHNlY29uZGFyeSBvZiBzZWNvbmRhcnlQcm9wZXJ0eSQgfCBhc3luYzsgdHJhY2sgc2Vjb25kYXJ5KSB7XG4gICAgICAgICAgICAgICAgPHRoPnt7IHNlY29uZGFyeSB9fTwvdGg+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3RyPlxuICAgICAgICB9XG4gICAgICA8L3RoZWFkPlxuICAgICAgQGlmICh0aGlzLnZhbHVlUHJvcEZpZWxkJCB8IGFzeW5jOyBhcyBmaWVsZCkge1xuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgQGZvciAobGluZSBvZiBsaW5lcyQgfCBhc3luYzsgdHJhY2sgbGluZS5uYW1lKSB7XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0aD57eyBsaW5lLm5hbWUgfX08L3RoPlxuICAgICAgICAgICAgICBAZm9yIChwcmltYXJ5IG9mIHByaW1hcnlQcm9wZXJ0eSQgfCBhc3luYzsgdHJhY2sgcHJpbWFyeSkge1xuICAgICAgICAgICAgICAgIEBpZiAob3B0aW9uc0NvcHkuc2Vjb25kYXJ5UHJvcCkge1xuICAgICAgICAgICAgICAgICAgQGZvciAoc2Vjb25kYXJ5IG9mIHNlY29uZGFyeVByb3BlcnR5JCB8IGFzeW5jOyB0cmFjayBzZWNvbmRhcnkpIHtcbiAgICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zQ29weS5jb2xvckNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA/IHsgJ2JhY2tncm91bmQtY29sb3InOiAoY29sb3JNYXAkIHwgYXN5bmMpPy5bbGluZS5uYW1lXT8uW3ByaW1hcnldIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiB7fVxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBsaW5lLnZhbHVlW3ByaW1hcnldW3NlY29uZGFyeV0gfCBkYXRhRm9ybWF0OiBmaWVsZCB9fVxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnNDb3B5LmNvbG9yQ29uZmlnID8geyAnYmFja2dyb3VuZC1jb2xvcic6IChjb2xvck1hcCQgfCBhc3luYyk/LltsaW5lLm5hbWVdPy5bcHJpbWFyeV0gfSA6IHt9XG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGxpbmUudmFsdWVbcHJpbWFyeV0gfCBkYXRhRm9ybWF0OiBmaWVsZCB9fVxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgfVxuICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8dGZvb3Q+XG4gICAgICAgICAgQGZvciAobGluZSBvZiB0b3RhbHMkIHwgYXN5bmM7IHRyYWNrIGxpbmUubmFtZSkge1xuICAgICAgICAgICAgPHRyIGNsYXNzPVwicGFydGlhbC10b3RhbFwiPlxuICAgICAgICAgICAgICA8dGg+e3sgbGluZS5uYW1lIH19PC90aD5cbiAgICAgICAgICAgICAgQGZvciAocHJpbWFyeSBvZiBwcmltYXJ5UHJvcGVydHkkIHwgYXN5bmM7IHRyYWNrIHByaW1hcnkpIHtcbiAgICAgICAgICAgICAgICBAZm9yIChzZWNvbmRhcnkgb2Ygc2Vjb25kYXJ5UHJvcGVydHkkIHwgYXN5bmM7IHRyYWNrIHNlY29uZGFyeSkge1xuICAgICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICB7eyBsaW5lLnZhbHVlW3ByaW1hcnldW3NlY29uZGFyeV0gfCBkYXRhRm9ybWF0OiBmaWVsZCB9fVxuICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBmb3IgKGxpbmUgb2YgZ3JhbmRUb3RhbHMkIHwgYXN5bmM7IHRyYWNrIGxpbmUubmFtZSkge1xuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ3JhbmQtdG90YWxcIj5cbiAgICAgICAgICAgICAgPHRoPnt7IGxpbmUubmFtZSB9fTwvdGg+XG4gICAgICAgICAgICAgIEBmb3IgKHByaW1hcnkgb2YgcHJpbWFyeVByb3BlcnR5JCB8IGFzeW5jOyB0cmFjayBwcmltYXJ5KSB7XG4gICAgICAgICAgICAgICAgPHRkIFtjb2xTcGFuXT1cIihzZWNvbmRhcnlQcm9wZXJ0eSQgfCBhc3luYyk/Lmxlbmd0aCA/PyAxXCI+XG4gICAgICAgICAgICAgICAgICB7eyBsaW5lLnZhbHVlW3ByaW1hcnldIHwgZGF0YUZvcm1hdDogZmllbGQgfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIH1cbiAgICAgICAgPC90Zm9vdD5cbiAgICAgIH1cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -7,69 +7,48 @@ import * as i3 from '@angular/forms';
|
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
8
8
|
import * as i4 from '@provoly/dashboard';
|
|
9
9
|
import { BaseFilterComponent, BaseFilterModule, PryCoreModule, PryI18nModule, PryDatePickerModule, PryIconModule } from '@provoly/dashboard';
|
|
10
|
-
import { Subject, combineLatest, debounceTime, startWith } from 'rxjs';
|
|
11
|
-
import { skipWhile, distinctUntilChanged } from 'rxjs/operators';
|
|
12
10
|
import * as i1 from '@ngrx/store';
|
|
13
11
|
|
|
14
12
|
class DateFilterComponent extends BaseFilterComponent {
|
|
15
13
|
constructor(store) {
|
|
16
14
|
super(store);
|
|
17
|
-
this.
|
|
18
|
-
this.date1$ = new Subject();
|
|
19
|
-
this.date2$ = new Subject();
|
|
15
|
+
this.dates = ['', ''];
|
|
20
16
|
this.type = 'date';
|
|
21
17
|
}
|
|
22
18
|
ngOnInit() {
|
|
23
19
|
super.ngOnInit();
|
|
24
20
|
if (this.filter?.hasDateRange) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.subscriptions.add(combineLatest([
|
|
29
|
-
this.date1$.pipe(debounceTime(1000), startWith(this.date1)),
|
|
30
|
-
this.date2$.pipe(debounceTime(1000), startWith(this.date2))
|
|
31
|
-
])
|
|
32
|
-
.pipe(skipWhile(([date1, date2]) => date1 === this.date1 && date2 === this.date2))
|
|
33
|
-
.subscribe(([date1, date2]) => {
|
|
34
|
-
if (date1 && date2) {
|
|
35
|
-
this.setFilter(date1 + ',' + date2);
|
|
36
|
-
}
|
|
37
|
-
else if (!date1 && !date2) {
|
|
38
|
-
this.setFilter('');
|
|
39
|
-
}
|
|
40
|
-
}));
|
|
41
|
-
// subscription responsible for updating the ui
|
|
42
|
-
this.subscriptions.add(combineLatest([this.date1$.pipe(startWith(this.date1)), this.date2$.pipe(startWith(this.date2))])
|
|
43
|
-
.pipe(skipWhile(([date1, date2]) => date1 === this.date1 && date2 === this.date2))
|
|
44
|
-
.subscribe(([date1, date2]) => {
|
|
45
|
-
this.date1 = date1 ? date1 : '';
|
|
46
|
-
this.date2 = date2 ? date2 : '';
|
|
47
|
-
}));
|
|
21
|
+
if (this.filter?.value) {
|
|
22
|
+
this.dates = this.filter?.value.toString().split(',');
|
|
23
|
+
}
|
|
48
24
|
}
|
|
49
25
|
else {
|
|
50
|
-
this.
|
|
26
|
+
this.dates[0] = (this.filter?.value ?? '').toString();
|
|
51
27
|
}
|
|
52
28
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
29
|
+
onDateChange(index, value) {
|
|
30
|
+
this.dates[index] = value;
|
|
31
|
+
if (this.filter?.hasDateRange) {
|
|
32
|
+
if (this.dates.filter((date) => !!date).length === this.dates.length) {
|
|
33
|
+
super.updateFilter(this.dates.join(','));
|
|
34
|
+
}
|
|
35
|
+
else if (this.dates.filter((date) => !!date).length === 0) {
|
|
36
|
+
super.updateFilter('');
|
|
37
|
+
}
|
|
62
38
|
}
|
|
63
39
|
else {
|
|
64
|
-
|
|
40
|
+
super.updateFilter(value ?? '');
|
|
65
41
|
}
|
|
66
42
|
}
|
|
43
|
+
clearDate(index) {
|
|
44
|
+
this.onDateChange(index, '');
|
|
45
|
+
}
|
|
67
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DateFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: DateFilterComponent, selector: "pry-date-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: DateFilterComponent, selector: "pry-date-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n <ng-template #dateRange>\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name + '1'\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n <span class=\"m-filter__date-input-separator\"> - </span>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[1]\"\n (ngModelChange)=\"onDateChange(1, $event)\"\n type=\"date\"\n [id]=\"filter.name + '2'\"\n />\n <span\n *ngIf=\"!!dates[1]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(1)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
69
48
|
}
|
|
70
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DateFilterComponent, decorators: [{
|
|
71
50
|
type: Component,
|
|
72
|
-
args: [{ selector: 'pry-date-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"
|
|
51
|
+
args: [{ selector: 'pry-date-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n <ng-template #dateRange>\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name + '1'\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n <span class=\"m-filter__date-input-separator\"> - </span>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[1]\"\n (ngModelChange)=\"onDateChange(1, $event)\"\n type=\"date\"\n [id]=\"filter.name + '2'\"\n />\n <span\n *ngIf=\"!!dates[1]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(1)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n" }]
|
|
73
52
|
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
74
53
|
|
|
75
54
|
class PryDateFilterModule extends BaseFilterModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provoly-dashboard-filters-date.mjs","sources":["../../../../projects/provoly/dashboard/filters/date/date-filter.component.ts","../../../../projects/provoly/dashboard/filters/date/date-filter.component.html","../../../../projects/provoly/dashboard/filters/date/date-filter.module.ts","../../../../projects/provoly/dashboard/filters/date/provoly-dashboard-filters-date.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent, SubscriptionnerDirective } from '@provoly/dashboard';\nimport { combineLatest, debounceTime, startWith, Subject } from 'rxjs';\nimport { distinctUntilChanged, skipWhile } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-date-filter',\n templateUrl: './date-filter.component.html'\n})\nexport class DateFilterComponent extends BaseFilterComponent implements SubscriptionnerDirective, OnInit {\n value$ = new Subject<string>();\n date1?: string;\n date2?: string;\n date1$ = new Subject<string>();\n date2$ = new Subject<string>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'date';\n }\n\n override ngOnInit() {\n super.ngOnInit();\n if (this.filter?.hasDateRange) {\n this.date1 = (this.filter?.value ?? '').toString().split(',')[0];\n this.date2 = (this.filter?.value ?? '').toString().split(',')[1];\n // subscription responsible for dispatching filter value to the store\n this.subscriptions.add(\n combineLatest([\n this.date1$.pipe(debounceTime(1000), startWith(this.date1)),\n this.date2$.pipe(debounceTime(1000), startWith(this.date2))\n ])\n .pipe(skipWhile(([date1, date2]) => date1 === this.date1 && date2 === this.date2))\n .subscribe(([date1, date2]) => {\n if (date1 && date2) {\n this.setFilter(date1 + ',' + date2);\n } else if (!date1 && !date2) {\n this.setFilter('');\n }\n })\n );\n // subscription responsible for updating the ui\n this.subscriptions.add(\n combineLatest([this.date1$.pipe(startWith(this.date1)), this.date2$.pipe(startWith(this.date2))])\n .pipe(skipWhile(([date1, date2]) => date1 === this.date1 && date2 === this.date2))\n .subscribe(([date1, date2]) => {\n this.date1 = date1 ? date1 : '';\n this.date2 = date2 ? date2 : '';\n })\n );\n } else {\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(1000)).subscribe((value) => this.setFilter(value))\n );\n }\n }\n\n setFilter(value: string) {\n super.updateFilter(value);\n }\n\n changeValue($event: string) {\n this.value$.next($event);\n }\n\n clearDate(index: number) {\n if (index === 1) {\n this.date1$.next('');\n } else {\n this.date2$.next('');\n }\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"changeValue($event)\"\n type=\"date\"\n [id]=\"filter.name\"\n />\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n <ng-template #dateRange>\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input\"\n [ngModel]=\"date1\"\n (ngModelChange)=\"date1$.next($event)\"\n type=\"date\"\n [id]=\"filter.name + '1'\"\n />\n <span\n *ngIf=\"!!date1\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(1)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n <span class=\"m-filter__date-input-separator\"> - </span>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input\"\n [ngModel]=\"date2\"\n (ngModelChange)=\"date2$.next($event)\"\n type=\"date\"\n [id]=\"filter.name + '2'\"\n />\n <span\n *ngIf=\"!!date2\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(2)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n BaseFilterComponent,\n BaseFilterModule,\n PryCoreModule,\n PryDatePickerModule,\n PryI18nModule,\n PryIconModule\n} from '@provoly/dashboard';\nimport { DateFilterComponent } from './date-filter.component';\n\n@NgModule({\n declarations: [DateFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryDatePickerModule, PryIconModule],\n exports: [DateFilterComponent]\n})\nexport class PryDateFilterModule extends BaseFilterModule {\n override getComponent() {\n return DateFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provoly-dashboard-filters-date.mjs","sources":["../../../../projects/provoly/dashboard/filters/date/date-filter.component.ts","../../../../projects/provoly/dashboard/filters/date/date-filter.component.html","../../../../projects/provoly/dashboard/filters/date/date-filter.module.ts","../../../../projects/provoly/dashboard/filters/date/provoly-dashboard-filters-date.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent, DateUtils, SubscriptionnerDirective } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-date-filter',\n templateUrl: './date-filter.component.html'\n})\nexport class DateFilterComponent extends BaseFilterComponent implements SubscriptionnerDirective, OnInit {\n dates: string[] = ['', ''];\n\n constructor(store: Store) {\n super(store);\n this.type = 'date';\n }\n\n override ngOnInit() {\n super.ngOnInit();\n if (this.filter?.hasDateRange) {\n if (this.filter?.value) {\n this.dates = this.filter?.value.toString().split(',');\n }\n } else {\n this.dates[0] = (this.filter?.value ?? '').toString();\n }\n }\n\n onDateChange(index: number, value: string) {\n this.dates[index] = value;\n if (this.filter?.hasDateRange) {\n if (this.dates.filter((date) => !!date).length === this.dates.length) {\n super.updateFilter(this.dates.join(','));\n } else if (this.dates.filter((date) => !!date).length === 0) {\n super.updateFilter('');\n }\n } else {\n super.updateFilter(value ?? '');\n }\n }\n\n clearDate(index: number) {\n this.onDateChange(index, '');\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n <ng-template #dateRange>\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }} : </label>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name + '1'\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n <span class=\"m-filter__date-input-separator\"> - </span>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[1]\"\n (ngModelChange)=\"onDateChange(1, $event)\"\n type=\"date\"\n [id]=\"filter.name + '2'\"\n />\n <span\n *ngIf=\"!!dates[1]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(1)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n BaseFilterComponent,\n BaseFilterModule,\n PryCoreModule,\n PryDatePickerModule,\n PryI18nModule,\n PryIconModule\n} from '@provoly/dashboard';\nimport { DateFilterComponent } from './date-filter.component';\n\n@NgModule({\n declarations: [DateFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryDatePickerModule, PryIconModule],\n exports: [DateFilterComponent]\n})\nexport class PryDateFilterModule extends BaseFilterModule {\n override getComponent() {\n return DateFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;AAQM,MAAO,mBAAoB,SAAQ,mBAAmB,CAAA;AAG1D,IAAA,WAAA,CAAY,KAAY,EAAA;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;AAHf,QAAA,IAAA,CAAA,KAAK,GAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAIzB,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;KACpB;IAEQ,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE;AAC7B,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE;AACtB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACvD;SACF;aAAM;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;SACvD;KACF;IAED,YAAY,CAAC,KAAa,EAAE,KAAa,EAAA;AACvC,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACpE,gBAAA,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAC1C;iBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3D,gBAAA,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aACxB;SACF;aAAM;AACL,YAAA,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SACjC;KACF;AAED,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC9B;8GAlCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,8ECRhC,orFAqEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FD7Da,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,orFAAA,EAAA,CAAA;;;AEcvB,MAAO,mBAAoB,SAAQ,gBAAgB,CAAA;IAC9C,YAAY,GAAA;AACnB,QAAA,OAAO,mBAAgD,CAAC;KACzD;8GAHU,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAJf,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACxB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,aAC1G,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAElB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAHpB,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGzG,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,CAAC;oBACrH,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,iBAAA,CAAA;;;AClBD;;AAEG;;;;"}
|