geonetwork-ui 2.8.0-dev.398701d7f → 2.8.0-dev.5745b522e
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/libs/api/metadata-converter/src/lib/common/distribution.mapper.mjs +5 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +3 -1
- package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +2 -2
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.mjs +7 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +10 -10
- package/esm2022/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.mjs +3 -2
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +3 -1
- package/esm2022/libs/common/domain/src/lib/model/search/sort-by.model.mjs +6 -1
- package/esm2022/libs/data-access/gn4/src/openapi/model/user.api.model.mjs +1 -1
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +2 -1
- package/esm2022/libs/feature/router/src/lib/default/router.service.mjs +5 -1
- package/esm2022/libs/feature/router/src/lib/default/state/router.effects.mjs +9 -7
- package/esm2022/libs/feature/search/src/lib/sort-by/sort-by.component.mjs +8 -12
- package/esm2022/libs/ui/elements/src/lib/error/error.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/external-link-card/external-link-card.component.mjs +11 -4
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +2 -3
- package/esm2022/libs/util/shared/src/lib/links/link-classifier.service.mjs +5 -1
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +12 -1
- package/esm2022/libs/util/shared/src/lib/services/proxy.service.mjs +9 -11
- package/esm2022/libs/util/shared/src/lib/utils/sort-by.mjs +9 -6
- package/esm2022/translations/de.json +7 -2
- package/esm2022/translations/en.json +8 -4
- package/esm2022/translations/es.json +7 -2
- package/esm2022/translations/fr.json +8 -3
- package/esm2022/translations/it.json +8 -3
- package/esm2022/translations/nl.json +7 -2
- package/esm2022/translations/pt.json +7 -2
- package/esm2022/translations/sk.json +7 -2
- package/fesm2022/geonetwork-ui.mjs +147 -69
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/common/distribution.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/auth/auth.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +7 -7
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/search/sort-by.model.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/model/user.api.model.d.ts +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/router.service.d.ts +2 -0
- package/libs/feature/router/src/lib/default/router.service.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts +3 -1
- package/libs/feature/router/src/lib/default/state/router.effects.d.ts.map +1 -1
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts +4 -3
- package/libs/feature/search/src/lib/sort-by/sort-by.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-classifier.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +6 -0
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/services/proxy.service.d.ts +5 -4
- package/libs/util/shared/src/lib/services/proxy.service.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/sort-by.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/libs/api/metadata-converter/src/lib/common/distribution.mapper.ts +2 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +2 -0
- package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +4 -1
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.mapper.ts +12 -4
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +37 -36
- package/src/libs/api/repository/src/lib/gn4/settings/gn4-settings.service.ts +3 -2
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +4 -0
- package/src/libs/common/domain/src/lib/model/search/sort-by.model.ts +5 -0
- package/src/libs/common/fixtures/src/lib/elasticsearch/metadata-links.fixtures.ts +5 -0
- package/src/libs/common/fixtures/src/lib/link.fixtures.ts +19 -0
- package/src/libs/data-access/gn4/src/openapi/model/user.api.model.ts +1 -1
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +1 -0
- package/src/libs/feature/router/src/lib/default/router.service.ts +8 -0
- package/src/libs/feature/router/src/lib/default/state/router.effects.ts +6 -7
- package/src/libs/feature/search/src/lib/sort-by/sort-by.component.ts +8 -12
- package/src/libs/ui/elements/src/lib/error/error.component.html +5 -1
- package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.html +43 -22
- package/src/libs/ui/elements/src/lib/external-link-card/external-link-card.component.ts +12 -3
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +2 -2
- package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.ts +4 -2
- package/src/libs/util/shared/src/lib/links/link-classifier.service.ts +4 -0
- package/src/libs/util/shared/src/lib/links/link-utils.ts +11 -0
- package/src/libs/util/shared/src/lib/services/proxy.service.ts +6 -2
- package/src/libs/util/shared/src/lib/utils/sort-by.ts +8 -5
- package/translations/de.json +7 -2
- package/translations/en.json +8 -4
- package/translations/es.json +7 -2
- package/translations/fr.json +8 -3
- package/translations/it.json +8 -3
- package/translations/nl.json +7 -2
- package/translations/pt.json +7 -2
- package/translations/sk.json +7 -2
|
@@ -60,5 +60,7 @@ marker('record.metadata.api.accessServiceProtocol.ogcFeatures');
|
|
|
60
60
|
marker('record.metadata.api.accessServiceProtocol.GPFDL');
|
|
61
61
|
marker('record.metadata.api.accessServiceProtocol.tms');
|
|
62
62
|
marker('record.metadata.api.accessServiceProtocol.maplibre-style');
|
|
63
|
+
marker('record.metadata.api.accessServiceProtocol.postgis');
|
|
64
|
+
marker('record.metadata.api.accessServiceProtocol.stac');
|
|
63
65
|
marker('record.metadata.api.accessServiceProtocol.other');
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBZ0JoRSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUVoRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxTQUFTO0lBQ1QsWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0lBQ1gsV0FBVztJQUNYLFVBQVU7SUFDVixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsU0FBUztJQUNULFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtJQUNWLFlBQVk7Q0FDSixDQUFBO0FBSVYsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDM0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFDNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFFNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFVbEQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7QUFDekMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsV0FBVztJQUNYLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFNBQVM7SUFDVCxTQUFTO0lBQ1QsVUFBVTtDQUNYLENBQUE7QUFxRkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLG9EQUFvRCxDQUFDLENBQUE7QUFDNUQsTUFBTSxDQUFDLHVEQUF1RCxDQUFDLENBQUE7QUFDL0QsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUE7QUFDbEUsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgdHlwZSB7IEluZGl2aWR1YWwgfSBmcm9tICcuL2NvbnRhY3QubW9kZWwnXG5pbXBvcnQgdHlwZSB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vb3JnYW5pemF0aW9uLm1vZGVsJ1xuaW1wb3J0IHR5cGUgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQgeyBLZXl3b3JkVHlwZSwgVGhlc2F1cnVzTW9kZWwgfSBmcm9tICcuLi90aGVzYXVydXMnXG5pbXBvcnQge1xuICBDb25zdHJhaW50VHJhbnNsYXRpb25zLFxuICBLZXl3b3JkVHJhbnNsYXRpb25zLFxuICBMYW5ndWFnZUNvZGUsXG4gIE9ubGluZVJlc291cmNlVHJhbnNsYXRpb25zLFxuICBSZWNvcmRUcmFuc2xhdGlvbnMsXG4gIFNwYXRpYWxFeHRlbnRUcmFuc2xhdGlvbnMsXG59IGZyb20gJy4vdHJhbnNsYXRpb24ubW9kZWwnXG5cbnR5cGUgVXVpZCA9IHN0cmluZ1xuXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnVua25vd24nKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5ub3RQbGFubmVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYXNOZWVkZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5pcnJlZ3VsYXInKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5jb250aW51YWwnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5wZXJpb2RpYycpXG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGcmVxdWVuY3lDb2RlVmFsdWVzID0gW1xuICAndW5rbm93bicsXG4gICdub3RQbGFubmVkJyxcbiAgJ2FzTmVlZGVkJyxcbiAgJ2lycmVndWxhcicsXG4gICdjb250aW51YWwnLFxuICAncGVyaW9kaWMnLFxuICAnZGFpbHknLFxuICAnd2Vla2x5JyxcbiAgJ2ZvcnRuaWdodGx5JyxcbiAgJ3NlbWltb250aGx5JyxcbiAgJ21vbnRobHknLFxuICAncXVhcnRlcmx5JyxcbiAgJ2JpYW5udWFsbHknLFxuICAnYW5udWFsbHknLFxuICAnYmllbm5pYWxseScsXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUNvZGUgPSAodHlwZW9mIHVwZGF0ZUZyZXF1ZW5jeUNvZGVWYWx1ZXMpW251bWJlcl1cblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5kYXknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS53ZWVrJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGgnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS55ZWFyJylcblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5kYWlseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LndlZWtseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmZvcnRuaWdodGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGhseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnF1YXJ0ZXJseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmJpYW5udWFsbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5hbm51YWxseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnNlbWltb250aGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYmllbm5pYWxseScpXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbSA9IHtcbiAgdXBkYXRlZFRpbWVzOiBudW1iZXIgLy8gdGhpcyBzaG91bGQgYmUgYW4gaW50ZWdlclxuICBwZXI6ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJ1xufVxuZXhwb3J0IHR5cGUgVXBkYXRlRnJlcXVlbmN5ID0gVXBkYXRlRnJlcXVlbmN5Q29kZSB8IFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbVxuXG5leHBvcnQgdHlwZSBSZWNvcmRLaW5kID0gJ2RhdGFzZXQnIHwgJ3NlcnZpY2UnIHwgJ3JldXNlJ1xuXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLmNvbXBsZXRlZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLm9uZ29pbmcnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy51bmRlcl9kZXZlbG9wbWVudCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLmRlcHJlY2F0ZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5yZW1vdmVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMucGxhbm5lZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLnJlcXVpcmVkJylcblxuZXhwb3J0IGNvbnN0IFJlY29yZFN0YXR1c1ZhbHVlcyA9IFtcbiAgJ2NvbXBsZXRlZCcsXG4gICdvbmdvaW5nJyxcbiAgJ3VuZGVyX2RldmVsb3BtZW50JyxcbiAgJ2RlcHJlY2F0ZWQnLFxuICAncmVtb3ZlZCcsXG4gICdwbGFubmVkJyxcbiAgJ3JlcXVpcmVkJyxcbl1cbmV4cG9ydCB0eXBlIFJlY29yZFN0YXR1cyA9ICh0eXBlb2YgUmVjb3JkU3RhdHVzVmFsdWVzKVtudW1iZXJdXG5cbmV4cG9ydCB0eXBlIENvbnN0cmFpbnQgPSB7XG4gIHRleHQ6IHN0cmluZ1xuICB1cmw/OiBVUkxcblxuICB0cmFuc2xhdGlvbnM/OiBDb25zdHJhaW50VHJhbnNsYXRpb25zXG59XG5cbmV4cG9ydCB0eXBlIFNwYXRpYWxSZXByZXNlbnRhdGlvblR5cGUgPVxuICB8ICdncmlkJ1xuICB8ICd2ZWN0b3InXG4gIHwgJ3RpbidcbiAgfCAndGFibGUnXG4gIHwgJ3BvaW50J1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleXdvcmQge1xuICBrZXk/OiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0eXBlOiBLZXl3b3JkVHlwZVxuICB0aGVzYXVydXM/OiBUaGVzYXVydXNNb2RlbFxuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cblxuICB0cmFuc2xhdGlvbnM/OiBLZXl3b3JkVHJhbnNsYXRpb25zXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5TUElSRV90b3BpYyB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VSZWNvcmQge1xuICB1bmlxdWVJZGVudGlmaWVyOiBVdWlkXG4gIG93bmVyT3JnYW5pemF0aW9uOiBPcmdhbml6YXRpb25cbiAgY29udGFjdHM6IEFycmF5PEluZGl2aWR1YWw+XG4gIHRpdGxlOiBzdHJpbmdcbiAgYWJzdHJhY3Q6IHN0cmluZ1xuICByZWNvcmRDcmVhdGVkPzogRGF0ZVxuICByZWNvcmRQdWJsaXNoZWQ/OiBEYXRlXG4gIHJlY29yZFVwZGF0ZWQ6IERhdGVcbiAga2luZDogUmVjb3JkS2luZFxuICB0b3BpY3M6IEFycmF5PHN0cmluZz4gLy8gVE9ETzogaGFuZGxlIGNvZGVsaXN0c1xuICBrZXl3b3JkczogQXJyYXk8S2V5d29yZD5cbiAgbGljZW5zZXM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIGxlZ2FsQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIHNlY3VyaXR5Q29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG90aGVyQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG92ZXJ2aWV3czogQXJyYXk8R3JhcGhpY092ZXJ2aWV3PlxuICBleHRyYXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBsYW5kaW5nUGFnZT86IFVSTFxuICB1cGRhdGVGcmVxdWVuY3k/OiBVcGRhdGVGcmVxdWVuY3lcblxuICAvLyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoZSByZXNvdXJjZSAoZGF0YXNldCwgc2VydmljZSlcbiAgcmVzb3VyY2VJZGVudGlmaWVyPzogc3RyaW5nXG4gIGNvbnRhY3RzRm9yUmVzb3VyY2U6IEFycmF5PEluZGl2aWR1YWw+XG4gIHJlc291cmNlQ3JlYXRlZD86IERhdGVcbiAgcmVzb3VyY2VQdWJsaXNoZWQ/OiBEYXRlXG4gIHJlc291cmNlVXBkYXRlZD86IERhdGVcblxuICAvLyBtdWx0aWxpbmd1YWwgc3VwcG9ydFxuICBkZWZhdWx0TGFuZ3VhZ2U6IExhbmd1YWdlQ29kZVxuICBvdGhlckxhbmd1YWdlczogQXJyYXk8TGFuZ3VhZ2VDb2RlPiAvLyB0aGlzIHNob3VsZCBpbmNsdWRlIGFsbCBub24tZGVmYXVsdCBsYW5ndWFnZXMgcHJlc2VudCBpbiB0aGUgbWV0YWRhdGEsIGV2ZW4gaWYgaW5jb21wbGV0ZWx5IHRyYW5zbGF0ZWRcblxuICB0cmFuc2xhdGlvbnM/OiBSZWNvcmRUcmFuc2xhdGlvbnNcblxuICAvLyB0byBhZGQ6IGNhbm9uaWNhbCB1cmxcbiAgLy8gdG8gYWRkOiBzb3VyY2UgY2F0YWxvZyAoPz8pXG4gIC8vIHRvIGFkZDogaXMgb3BlbiBkYXRhID9cbn1cblxuLy8gVE9ETzogaGFuZGxlIGFjdHVhbCBjb2RlbGlzdHNcbmV4cG9ydCB0eXBlIFNlcnZpY2VQcm90b2NvbCA9XG4gIHwgJ3dtcydcbiAgfCAnd2ZzJ1xuICB8ICd3cHMnXG4gIHwgJ3dtdHMnXG4gIHwgJ2VzcmlSZXN0J1xuICB8ICdvZ2NGZWF0dXJlcydcbiAgfCAnR1BGREwnXG4gIHwgJ3RtcydcbiAgfCAnbWFwbGlicmUtc3R5bGUnXG4gIHwgJ290aGVyJ1xuXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndtcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndmcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndwcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndtdHMnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC5lc3JpUmVzdCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLm9nY0ZlYXR1cmVzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLmFwaS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wuR1BGREwnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC50bXMnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC5tYXBsaWJyZS1zdHlsZScpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLm90aGVyJylcblxuZXhwb3J0IHR5cGUgT25saW5lUmVzb3VyY2VUeXBlID0gJ3NlcnZpY2UnIHwgJ2Rvd25sb2FkJyB8ICdsaW5rJyB8ICdlbmRwb2ludCdcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdzZXJ2aWNlJ1xuICB1cmw6IFVSTFxuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w6IFNlcnZpY2VQcm90b2NvbFxuICBpZGVudGlmaWVySW5TZXJ2aWNlPzogc3RyaW5nIC8vIHNob3VsZCB3ZSBrZWVwIHRoZSBpZGVudGlmaWVySW5TZXJ2aWNlPyByZWFkLXdyaXRlIGR1cGxpY2F0ZSB3aXRoIG5hbWVcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvbiB7XG4gIHR5cGU6ICdkb3dubG9hZCdcbiAgdXJsOiBVUkxcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgc2l6ZUJ5dGVzPzogbnVtYmVyXG4gIC8vIHJlbW92ZWQgYmVjYXVzZSB3aGF0J3MgdGhlIHVzZT8gZW5jb2RpbmcgY2FuIGJlIGV4cG9zZWQgYnkgdGhlIGZpbGUgc2VydmVyIG9yXG4gIC8vIGV2ZW4gZm91bmQgb3V0IGJ5IHRyaWFsIGFuZCBlcnJvcjsgYmVzaWRlcyB3ZSBjYW4gcmVhc29uYWJseSBleHBlY3QgdW5pY29kZSBvciBpc28gbW9zdCBvZiB0aGUgdGltZVxuICAvLyB0ZXh0RW5jb2Rpbmc/OiBzdHJpbmdcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBhY2Nlc3NTZXJ2aWNlUHJvdG9jb2w/OiBTZXJ2aWNlUHJvdG9jb2xcbiAgdHJhbnNsYXRpb25zPzogT25saW5lUmVzb3VyY2VUcmFuc2xhdGlvbnNcbiAgYWNjZXNzUmVzdHJpY3RlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbmxpbmVMaW5rUmVzb3VyY2Uge1xuICB0eXBlOiAnbGluaydcbiAgdXJsOiBVUkxcbiAgbmFtZT86IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBtaW1lVHlwZT86IHN0cmluZ1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBEYXRhc2V0T25saW5lUmVzb3VyY2UgPSAoXG4gIHwgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb25cbiAgfCBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25cbiAgfCBPbmxpbmVMaW5rUmVzb3VyY2VcbikgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoaWNPdmVydmlldyB7XG4gIHVybDogVVJMXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldFNwYXRpYWxFeHRlbnQge1xuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgZ2VvbWV0cnk/OiBHZW9tZXRyeVxuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBTcGF0aWFsRXh0ZW50VHJhbnNsYXRpb25zXG59XG5cbi8qKlxuICogUGVyaW9kIGlmIGJvdGggc3RhcnQgYW5kIGVuZCBhcmUgcHJvdmlkZWRcbiAqIEluc3RhbnQgaWYgb25seSBzdGFydCBpcyBwcm92aWRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRUZW1wb3JhbEV4dGVudCB7XG4gIHN0YXJ0OiBEYXRlXG4gIGVuZD86IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0UmVjb3JkIGV4dGVuZHMgQmFzZVJlY29yZCB7XG4gIGtpbmQ6ICdkYXRhc2V0J1xuICBzdGF0dXM6IFJlY29yZFN0YXR1c1xuICBsaW5lYWdlOiBzdHJpbmcgLy8gRXhwbGFuYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGlzIHJlY29yZCAoZS5nOiBob3csIHdoeSlcIlxuICBvbmxpbmVSZXNvdXJjZXM6IEFycmF5PERhdGFzZXRPbmxpbmVSZXNvdXJjZT5cbiAgc3BhdGlhbEV4dGVudHM6IEFycmF5PERhdGFzZXRTcGF0aWFsRXh0ZW50PlxuICB0ZW1wb3JhbEV4dGVudHM6IEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbiAgc3BhdGlhbFJlcHJlc2VudGF0aW9uPzogU3BhdGlhbFJlcHJlc2VudGF0aW9uVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VFbmRwb2ludCB7XG4gIHVybDogVVJMXG4gIGFjY2Vzc1NlcnZpY2VQcm90b2NvbDogU2VydmljZVByb3RvY29sXG4gIHR5cGU6ICdlbmRwb2ludCdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgdHJhbnNsYXRpb25zPzogT25saW5lUmVzb3VyY2VUcmFuc2xhdGlvbnNcbn1cblxuZXhwb3J0IHR5cGUgU2VydmljZU9ubGluZVJlc291cmNlID0gKFNlcnZpY2VFbmRwb2ludCB8IE9ubGluZUxpbmtSZXNvdXJjZSkgJiB7XG4gIHR5cGU6IE9ubGluZVJlc291cmNlVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3NlcnZpY2UnXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8U2VydmljZU9ubGluZVJlc291cmNlPlxuICBzcGF0aWFsRXh0ZW50czogQXJyYXk8RGF0YXNldFNwYXRpYWxFeHRlbnQ+XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV1c2VSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ3JldXNlJ1xuICBsaW5lYWdlOiBzdHJpbmcgLy8gRXhwbGFuYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGlzIHJlY29yZCAoZS5nOiBob3csIHdoeSlcIlxuICBvbmxpbmVSZXNvdXJjZXM6IEFycmF5PERhdGFzZXRPbmxpbmVSZXNvdXJjZT5cbiAgcmV1c2VUeXBlOiBSZXVzZVR5cGVcbiAgc3BhdGlhbEV4dGVudHM6IEFycmF5PERhdGFzZXRTcGF0aWFsRXh0ZW50PlxuICB0ZW1wb3JhbEV4dGVudHM6IEFycmF5PERhdGFzZXRUZW1wb3JhbEV4dGVudD5cbn1cblxuZXhwb3J0IHR5cGUgRGF0YXNldEZlYXR1cmVDYXRhbG9nID0ge1xuICBmZWF0dXJlVHlwZXM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBkZWZpbml0aW9uOiBzdHJpbmdcbiAgICBhdHRyaWJ1dGVzOiBEYXRhc2V0RmVhdHVyZUF0dHJpYnV0ZVtdXG4gIH0+XG59XG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRGZWF0dXJlQXR0cmlidXRlVmFsdWUge1xuICBjb2RlPzogc3RyaW5nXG4gIGRlZmluaXRpb24/OiBzdHJpbmdcbiAgbGFiZWw/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldEZlYXR1cmVBdHRyaWJ1dGUge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVmaW5pdGlvbjogc3RyaW5nXG4gIHR5cGU6IHN0cmluZ1xuICBjb2RlOiBzdHJpbmdcbiAgdmFsdWVzPzogQXJyYXk8RGF0YXNldEZlYXR1cmVBdHRyaWJ1dGVWYWx1ZT5cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldEZlYXR1cmVUeXBlIHtcbiAgYWxpYXNlczogc3RyaW5nXG4gIGNvZGU6IHN0cmluZ1xuICBpc0Fic3RyYWN0OiBzdHJpbmdcbiAgdHlwZU5hbWU6IHN0cmluZ1xuICBkZWZpbml0aW9uOiBzdHJpbmdcbiAgYXR0cmlidXRlVGFibGU6IEFycmF5PERhdGFzZXRGZWF0dXJlQXR0cmlidXRlPlxufVxuXG5leHBvcnQgdHlwZSBSZXVzZVR5cGUgPSAnYXBwbGljYXRpb24nIHwgJ21hcCcgfCAnb3RoZXInXG5cbmV4cG9ydCB0eXBlIE9ubGluZVJlc291cmNlID0gRGF0YXNldE9ubGluZVJlc291cmNlIHwgU2VydmljZU9ubGluZVJlc291cmNlXG5cbmV4cG9ydCB0eXBlIENhdGFsb2dSZWNvcmQgPSBEYXRhc2V0UmVjb3JkIHwgUmV1c2VSZWNvcmQgfCBTZXJ2aWNlUmVjb3JkXG5cbmV4cG9ydCB0eXBlIENhdGFsb2dSZWNvcmRLZXlzID1cbiAgfCBrZXlvZiBEYXRhc2V0UmVjb3JkXG4gIHwga2V5b2YgUmV1c2VSZWNvcmRcbiAgfCBrZXlvZiBTZXJ2aWNlUmVjb3JkXG4iXX0=
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBZ0JoRSxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQTtBQUMvQyxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUNqRCxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtBQUVoRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxTQUFTO0lBQ1QsWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0lBQ1gsV0FBVztJQUNYLFVBQVU7SUFDVixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsU0FBUztJQUNULFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtJQUNWLFlBQVk7Q0FDSixDQUFBO0FBSVYsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDM0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFDNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFFNUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFDN0MsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFDOUMsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLENBQUE7QUFDL0MsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUE7QUFDakQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFDbEQsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFVbEQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7QUFDeEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUE7QUFDaEQsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7QUFDekMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUE7QUFDdEMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsV0FBVztJQUNYLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFNBQVM7SUFDVCxTQUFTO0lBQ1QsVUFBVTtDQUNYLENBQUE7QUF1RkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLG9EQUFvRCxDQUFDLENBQUE7QUFDNUQsTUFBTSxDQUFDLHVEQUF1RCxDQUFDLENBQUE7QUFDL0QsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUE7QUFDekQsTUFBTSxDQUFDLCtDQUErQyxDQUFDLENBQUE7QUFDdkQsTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUE7QUFDbEUsTUFBTSxDQUFDLG1EQUFtRCxDQUFDLENBQUE7QUFDM0QsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUE7QUFDeEQsTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgdHlwZSB7IEluZGl2aWR1YWwgfSBmcm9tICcuL2NvbnRhY3QubW9kZWwnXG5pbXBvcnQgdHlwZSB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vb3JnYW5pemF0aW9uLm1vZGVsJ1xuaW1wb3J0IHR5cGUgeyBHZW9tZXRyeSB9IGZyb20gJ2dlb2pzb24nXG5pbXBvcnQgeyBLZXl3b3JkVHlwZSwgVGhlc2F1cnVzTW9kZWwgfSBmcm9tICcuLi90aGVzYXVydXMnXG5pbXBvcnQge1xuICBDb25zdHJhaW50VHJhbnNsYXRpb25zLFxuICBLZXl3b3JkVHJhbnNsYXRpb25zLFxuICBMYW5ndWFnZUNvZGUsXG4gIE9ubGluZVJlc291cmNlVHJhbnNsYXRpb25zLFxuICBSZWNvcmRUcmFuc2xhdGlvbnMsXG4gIFNwYXRpYWxFeHRlbnRUcmFuc2xhdGlvbnMsXG59IGZyb20gJy4vdHJhbnNsYXRpb24ubW9kZWwnXG5cbnR5cGUgVXVpZCA9IHN0cmluZ1xuXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnVua25vd24nKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5ub3RQbGFubmVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYXNOZWVkZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5pcnJlZ3VsYXInKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5jb250aW51YWwnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5wZXJpb2RpYycpXG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGcmVxdWVuY3lDb2RlVmFsdWVzID0gW1xuICAndW5rbm93bicsXG4gICdub3RQbGFubmVkJyxcbiAgJ2FzTmVlZGVkJyxcbiAgJ2lycmVndWxhcicsXG4gICdjb250aW51YWwnLFxuICAncGVyaW9kaWMnLFxuICAnZGFpbHknLFxuICAnd2Vla2x5JyxcbiAgJ2ZvcnRuaWdodGx5JyxcbiAgJ3NlbWltb250aGx5JyxcbiAgJ21vbnRobHknLFxuICAncXVhcnRlcmx5JyxcbiAgJ2JpYW5udWFsbHknLFxuICAnYW5udWFsbHknLFxuICAnYmllbm5pYWxseScsXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUNvZGUgPSAodHlwZW9mIHVwZGF0ZUZyZXF1ZW5jeUNvZGVWYWx1ZXMpW251bWJlcl1cblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5kYXknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS53ZWVrJylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGgnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS55ZWFyJylcblxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5kYWlseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LndlZWtseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmZvcnRuaWdodGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kubW9udGhseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnF1YXJ0ZXJseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LmJpYW5udWFsbHknKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnVwZGF0ZUZyZXF1ZW5jeS5hbm51YWxseScpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQudXBkYXRlRnJlcXVlbmN5LnNlbWltb250aGx5Jylcbm1hcmtlcignZG9tYWluLnJlY29yZC51cGRhdGVGcmVxdWVuY3kuYmllbm5pYWxseScpXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbSA9IHtcbiAgdXBkYXRlZFRpbWVzOiBudW1iZXIgLy8gdGhpcyBzaG91bGQgYmUgYW4gaW50ZWdlclxuICBwZXI6ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJ1xufVxuZXhwb3J0IHR5cGUgVXBkYXRlRnJlcXVlbmN5ID0gVXBkYXRlRnJlcXVlbmN5Q29kZSB8IFVwZGF0ZUZyZXF1ZW5jeUN1c3RvbVxuXG5leHBvcnQgdHlwZSBSZWNvcmRLaW5kID0gJ2RhdGFzZXQnIHwgJ3NlcnZpY2UnIHwgJ3JldXNlJ1xuXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLmNvbXBsZXRlZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLm9uZ29pbmcnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy51bmRlcl9kZXZlbG9wbWVudCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLmRlcHJlY2F0ZWQnKVxubWFya2VyKCdkb21haW4ucmVjb3JkLnN0YXR1cy5yZW1vdmVkJylcbm1hcmtlcignZG9tYWluLnJlY29yZC5zdGF0dXMucGxhbm5lZCcpXG5tYXJrZXIoJ2RvbWFpbi5yZWNvcmQuc3RhdHVzLnJlcXVpcmVkJylcblxuZXhwb3J0IGNvbnN0IFJlY29yZFN0YXR1c1ZhbHVlcyA9IFtcbiAgJ2NvbXBsZXRlZCcsXG4gICdvbmdvaW5nJyxcbiAgJ3VuZGVyX2RldmVsb3BtZW50JyxcbiAgJ2RlcHJlY2F0ZWQnLFxuICAncmVtb3ZlZCcsXG4gICdwbGFubmVkJyxcbiAgJ3JlcXVpcmVkJyxcbl1cbmV4cG9ydCB0eXBlIFJlY29yZFN0YXR1cyA9ICh0eXBlb2YgUmVjb3JkU3RhdHVzVmFsdWVzKVtudW1iZXJdXG5cbmV4cG9ydCB0eXBlIENvbnN0cmFpbnQgPSB7XG4gIHRleHQ6IHN0cmluZ1xuICB1cmw/OiBVUkxcblxuICB0cmFuc2xhdGlvbnM/OiBDb25zdHJhaW50VHJhbnNsYXRpb25zXG59XG5cbmV4cG9ydCB0eXBlIFNwYXRpYWxSZXByZXNlbnRhdGlvblR5cGUgPVxuICB8ICdncmlkJ1xuICB8ICd2ZWN0b3InXG4gIHwgJ3RpbidcbiAgfCAndGFibGUnXG4gIHwgJ3BvaW50J1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleXdvcmQge1xuICBrZXk/OiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0eXBlOiBLZXl3b3JkVHlwZVxuICB0aGVzYXVydXM/OiBUaGVzYXVydXNNb2RlbFxuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cblxuICB0cmFuc2xhdGlvbnM/OiBLZXl3b3JkVHJhbnNsYXRpb25zXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5TUElSRV90b3BpYyB7XG4gIHZhbHVlOiBzdHJpbmdcbiAgbGFiZWw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VSZWNvcmQge1xuICB1bmlxdWVJZGVudGlmaWVyOiBVdWlkXG4gIG93bmVyT3JnYW5pemF0aW9uOiBPcmdhbml6YXRpb25cbiAgY29udGFjdHM6IEFycmF5PEluZGl2aWR1YWw+XG4gIHRpdGxlOiBzdHJpbmdcbiAgYWJzdHJhY3Q6IHN0cmluZ1xuICByZWNvcmRDcmVhdGVkPzogRGF0ZVxuICByZWNvcmRQdWJsaXNoZWQ/OiBEYXRlXG4gIHJlY29yZFVwZGF0ZWQ6IERhdGVcbiAga2luZDogUmVjb3JkS2luZFxuICB0b3BpY3M6IEFycmF5PHN0cmluZz4gLy8gVE9ETzogaGFuZGxlIGNvZGVsaXN0c1xuICBrZXl3b3JkczogQXJyYXk8S2V5d29yZD5cbiAgbGljZW5zZXM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIGxlZ2FsQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIHNlY3VyaXR5Q29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG90aGVyQ29uc3RyYWludHM6IEFycmF5PENvbnN0cmFpbnQ+XG4gIG92ZXJ2aWV3czogQXJyYXk8R3JhcGhpY092ZXJ2aWV3PlxuICBleHRyYXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICBsYW5kaW5nUGFnZT86IFVSTFxuICB1cGRhdGVGcmVxdWVuY3k/OiBVcGRhdGVGcmVxdWVuY3lcblxuICAvLyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoZSByZXNvdXJjZSAoZGF0YXNldCwgc2VydmljZSlcbiAgcmVzb3VyY2VJZGVudGlmaWVyPzogc3RyaW5nXG4gIGNvbnRhY3RzRm9yUmVzb3VyY2U6IEFycmF5PEluZGl2aWR1YWw+XG4gIHJlc291cmNlQ3JlYXRlZD86IERhdGVcbiAgcmVzb3VyY2VQdWJsaXNoZWQ/OiBEYXRlXG4gIHJlc291cmNlVXBkYXRlZD86IERhdGVcblxuICAvLyBtdWx0aWxpbmd1YWwgc3VwcG9ydFxuICBkZWZhdWx0TGFuZ3VhZ2U6IExhbmd1YWdlQ29kZVxuICBvdGhlckxhbmd1YWdlczogQXJyYXk8TGFuZ3VhZ2VDb2RlPiAvLyB0aGlzIHNob3VsZCBpbmNsdWRlIGFsbCBub24tZGVmYXVsdCBsYW5ndWFnZXMgcHJlc2VudCBpbiB0aGUgbWV0YWRhdGEsIGV2ZW4gaWYgaW5jb21wbGV0ZWx5IHRyYW5zbGF0ZWRcblxuICB0cmFuc2xhdGlvbnM/OiBSZWNvcmRUcmFuc2xhdGlvbnNcblxuICAvLyB0byBhZGQ6IGNhbm9uaWNhbCB1cmxcbiAgLy8gdG8gYWRkOiBzb3VyY2UgY2F0YWxvZyAoPz8pXG4gIC8vIHRvIGFkZDogaXMgb3BlbiBkYXRhID9cbn1cblxuLy8gVE9ETzogaGFuZGxlIGFjdHVhbCBjb2RlbGlzdHNcbmV4cG9ydCB0eXBlIFNlcnZpY2VQcm90b2NvbCA9XG4gIHwgJ3dtcydcbiAgfCAnd2ZzJ1xuICB8ICd3cHMnXG4gIHwgJ3dtdHMnXG4gIHwgJ2VzcmlSZXN0J1xuICB8ICdvZ2NGZWF0dXJlcydcbiAgfCAnR1BGREwnXG4gIHwgJ3RtcydcbiAgfCAnbWFwbGlicmUtc3R5bGUnXG4gIHwgJ3Bvc3RnaXMnXG4gIHwgJ3N0YWMnXG4gIHwgJ290aGVyJ1xuXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndtcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndmcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndwcycpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLndtdHMnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC5lc3JpUmVzdCcpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLm9nY0ZlYXR1cmVzJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLmFwaS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wuR1BGREwnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC50bXMnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC5tYXBsaWJyZS1zdHlsZScpXG5tYXJrZXIoJ3JlY29yZC5tZXRhZGF0YS5hcGkuYWNjZXNzU2VydmljZVByb3RvY29sLnBvc3RnaXMnKVxubWFya2VyKCdyZWNvcmQubWV0YWRhdGEuYXBpLmFjY2Vzc1NlcnZpY2VQcm90b2NvbC5zdGFjJylcbm1hcmtlcigncmVjb3JkLm1ldGFkYXRhLmFwaS5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wub3RoZXInKVxuXG5leHBvcnQgdHlwZSBPbmxpbmVSZXNvdXJjZVR5cGUgPSAnc2VydmljZScgfCAnZG93bmxvYWQnIHwgJ2xpbmsnIHwgJ2VuZHBvaW50J1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uIHtcbiAgdHlwZTogJ3NlcnZpY2UnXG4gIHVybDogVVJMXG4gIGFjY2Vzc1NlcnZpY2VQcm90b2NvbDogU2VydmljZVByb3RvY29sXG4gIGlkZW50aWZpZXJJblNlcnZpY2U/OiBzdHJpbmcgLy8gc2hvdWxkIHdlIGtlZXAgdGhlIGlkZW50aWZpZXJJblNlcnZpY2U/IHJlYWQtd3JpdGUgZHVwbGljYXRlIHdpdGggbmFtZVxuICBuYW1lPzogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIHRyYW5zbGF0aW9ucz86IE9ubGluZVJlc291cmNlVHJhbnNsYXRpb25zXG4gIGFjY2Vzc1Jlc3RyaWN0ZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uIHtcbiAgdHlwZTogJ2Rvd25sb2FkJ1xuICB1cmw6IFVSTFxuICBtaW1lVHlwZT86IHN0cmluZ1xuICBzaXplQnl0ZXM/OiBudW1iZXJcbiAgLy8gcmVtb3ZlZCBiZWNhdXNlIHdoYXQncyB0aGUgdXNlPyBlbmNvZGluZyBjYW4gYmUgZXhwb3NlZCBieSB0aGUgZmlsZSBzZXJ2ZXIgb3JcbiAgLy8gZXZlbiBmb3VuZCBvdXQgYnkgdHJpYWwgYW5kIGVycm9yOyBiZXNpZGVzIHdlIGNhbiByZWFzb25hYmx5IGV4cGVjdCB1bmljb2RlIG9yIGlzbyBtb3N0IG9mIHRoZSB0aW1lXG4gIC8vIHRleHRFbmNvZGluZz86IHN0cmluZ1xuICBuYW1lPzogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIGFjY2Vzc1NlcnZpY2VQcm90b2NvbD86IFNlcnZpY2VQcm90b2NvbFxuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xuICBhY2Nlc3NSZXN0cmljdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9ubGluZUxpbmtSZXNvdXJjZSB7XG4gIHR5cGU6ICdsaW5rJ1xuICB1cmw6IFVSTFxuICBuYW1lPzogc3RyaW5nXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIHRyYW5zbGF0aW9ucz86IE9ubGluZVJlc291cmNlVHJhbnNsYXRpb25zXG4gIG1pbWVUeXBlPzogc3RyaW5nXG4gIGFjY2Vzc1Jlc3RyaWN0ZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIERhdGFzZXRPbmxpbmVSZXNvdXJjZSA9IChcbiAgfCBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvblxuICB8IERhdGFzZXREb3dubG9hZERpc3RyaWJ1dGlvblxuICB8IE9ubGluZUxpbmtSZXNvdXJjZVxuKSAmIHtcbiAgdHlwZTogT25saW5lUmVzb3VyY2VUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhpY092ZXJ2aWV3IHtcbiAgdXJsOiBVUkxcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0U3BhdGlhbEV4dGVudCB7XG4gIGJib3g/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxuICBnZW9tZXRyeT86IEdlb21ldHJ5XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gIHRyYW5zbGF0aW9ucz86IFNwYXRpYWxFeHRlbnRUcmFuc2xhdGlvbnNcbn1cblxuLyoqXG4gKiBQZXJpb2QgaWYgYm90aCBzdGFydCBhbmQgZW5kIGFyZSBwcm92aWRlZFxuICogSW5zdGFudCBpZiBvbmx5IHN0YXJ0IGlzIHByb3ZpZGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldFRlbXBvcmFsRXh0ZW50IHtcbiAgc3RhcnQ6IERhdGVcbiAgZW5kPzogRGF0ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRSZWNvcmQgZXh0ZW5kcyBCYXNlUmVjb3JkIHtcbiAga2luZDogJ2RhdGFzZXQnXG4gIHN0YXR1czogUmVjb3JkU3RhdHVzXG4gIGxpbmVhZ2U6IHN0cmluZyAvLyBFeHBsYW5hdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoaXMgcmVjb3JkIChlLmc6IGhvdywgd2h5KVwiXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8RGF0YXNldE9ubGluZVJlc291cmNlPlxuICBzcGF0aWFsRXh0ZW50czogQXJyYXk8RGF0YXNldFNwYXRpYWxFeHRlbnQ+XG4gIHRlbXBvcmFsRXh0ZW50czogQXJyYXk8RGF0YXNldFRlbXBvcmFsRXh0ZW50PlxuICBzcGF0aWFsUmVwcmVzZW50YXRpb24/OiBTcGF0aWFsUmVwcmVzZW50YXRpb25UeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZUVuZHBvaW50IHtcbiAgdXJsOiBVUkxcbiAgYWNjZXNzU2VydmljZVByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2xcbiAgdHlwZTogJ2VuZHBvaW50J1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICB0cmFuc2xhdGlvbnM/OiBPbmxpbmVSZXNvdXJjZVRyYW5zbGF0aW9uc1xufVxuXG5leHBvcnQgdHlwZSBTZXJ2aWNlT25saW5lUmVzb3VyY2UgPSAoU2VydmljZUVuZHBvaW50IHwgT25saW5lTGlua1Jlc291cmNlKSAmIHtcbiAgdHlwZTogT25saW5lUmVzb3VyY2VUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVJlY29yZCBleHRlbmRzIEJhc2VSZWNvcmQge1xuICBraW5kOiAnc2VydmljZSdcbiAgb25saW5lUmVzb3VyY2VzOiBBcnJheTxTZXJ2aWNlT25saW5lUmVzb3VyY2U+XG4gIHNwYXRpYWxFeHRlbnRzOiBBcnJheTxEYXRhc2V0U3BhdGlhbEV4dGVudD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXVzZVJlY29yZCBleHRlbmRzIEJhc2VSZWNvcmQge1xuICBraW5kOiAncmV1c2UnXG4gIGxpbmVhZ2U6IHN0cmluZyAvLyBFeHBsYW5hdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoaXMgcmVjb3JkIChlLmc6IGhvdywgd2h5KVwiXG4gIG9ubGluZVJlc291cmNlczogQXJyYXk8RGF0YXNldE9ubGluZVJlc291cmNlPlxuICByZXVzZVR5cGU6IFJldXNlVHlwZVxuICBzcGF0aWFsRXh0ZW50czogQXJyYXk8RGF0YXNldFNwYXRpYWxFeHRlbnQ+XG4gIHRlbXBvcmFsRXh0ZW50czogQXJyYXk8RGF0YXNldFRlbXBvcmFsRXh0ZW50PlxufVxuXG5leHBvcnQgdHlwZSBEYXRhc2V0RmVhdHVyZUNhdGFsb2cgPSB7XG4gIGZlYXR1cmVUeXBlczogQXJyYXk8e1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGRlZmluaXRpb246IHN0cmluZ1xuICAgIGF0dHJpYnV0ZXM6IERhdGFzZXRGZWF0dXJlQXR0cmlidXRlW11cbiAgfT5cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldEZlYXR1cmVBdHRyaWJ1dGVWYWx1ZSB7XG4gIGNvZGU/OiBzdHJpbmdcbiAgZGVmaW5pdGlvbj86IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0RmVhdHVyZUF0dHJpYnV0ZSB7XG4gIG5hbWU6IHN0cmluZ1xuICBkZWZpbml0aW9uOiBzdHJpbmdcbiAgdHlwZTogc3RyaW5nXG4gIGNvZGU6IHN0cmluZ1xuICB2YWx1ZXM/OiBBcnJheTxEYXRhc2V0RmVhdHVyZUF0dHJpYnV0ZVZhbHVlPlxufVxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0RmVhdHVyZVR5cGUge1xuICBhbGlhc2VzOiBzdHJpbmdcbiAgY29kZTogc3RyaW5nXG4gIGlzQWJzdHJhY3Q6IHN0cmluZ1xuICB0eXBlTmFtZTogc3RyaW5nXG4gIGRlZmluaXRpb246IHN0cmluZ1xuICBhdHRyaWJ1dGVUYWJsZTogQXJyYXk8RGF0YXNldEZlYXR1cmVBdHRyaWJ1dGU+XG59XG5cbmV4cG9ydCB0eXBlIFJldXNlVHlwZSA9ICdhcHBsaWNhdGlvbicgfCAnbWFwJyB8ICdvdGhlcidcblxuZXhwb3J0IHR5cGUgT25saW5lUmVzb3VyY2UgPSBEYXRhc2V0T25saW5lUmVzb3VyY2UgfCBTZXJ2aWNlT25saW5lUmVzb3VyY2VcblxuZXhwb3J0IHR5cGUgQ2F0YWxvZ1JlY29yZCA9IERhdGFzZXRSZWNvcmQgfCBSZXVzZVJlY29yZCB8IFNlcnZpY2VSZWNvcmRcblxuZXhwb3J0IHR5cGUgQ2F0YWxvZ1JlY29yZEtleXMgPVxuICB8IGtleW9mIERhdGFzZXRSZWNvcmRcbiAgfCBrZXlvZiBSZXVzZVJlY29yZFxuICB8IGtleW9mIFNlcnZpY2VSZWNvcmRcbiJdfQ==
|
|
@@ -4,5 +4,10 @@ export const SortByEnum = {
|
|
|
4
4
|
RELEVANCY: ['desc', '_score'],
|
|
5
5
|
QUALITY_SCORE: ['desc', 'qualityScore'],
|
|
6
6
|
CHANGE_DATE: ['desc', 'changeDate'],
|
|
7
|
+
RESOURCE_DATES: [
|
|
8
|
+
['desc', 'revisionDateForResource'],
|
|
9
|
+
['desc', 'publicationDateForResource'],
|
|
10
|
+
['desc', 'creationDateForResource'],
|
|
11
|
+
],
|
|
7
12
|
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ieS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3NlYXJjaC9zb3J0LWJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBZ0M7SUFDckQsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztJQUNuQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUM7SUFDdEMsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztJQUM3QixhQUFhLEVBQUUsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDO0lBQ3ZDLFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUM7SUFDbkMsY0FBYyxFQUFFO1FBQ2QsQ0FBQyxNQUFNLEVBQUUseUJBQXlCLENBQUM7UUFDbkMsQ0FBQyxNQUFNLEVBQUUsNEJBQTRCLENBQUM7UUFDdEMsQ0FBQyxNQUFNLEVBQUUseUJBQXlCLENBQUM7S0FDcEM7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydEJ5RmllbGQgfSBmcm9tICcuL3NlYXJjaC5tb2RlbCdcblxuZXhwb3J0IGNvbnN0IFNvcnRCeUVudW06IFJlY29yZDxzdHJpbmcsIFNvcnRCeUZpZWxkPiA9IHtcbiAgQ1JFQVRFX0RBVEU6IFsnZGVzYycsICdjcmVhdGVEYXRlJ10sXG4gIFBPUFVMQVJJVFk6IFsnZGVzYycsICd1c2VyU2F2ZWRDb3VudCddLFxuICBSRUxFVkFOQ1k6IFsnZGVzYycsICdfc2NvcmUnXSxcbiAgUVVBTElUWV9TQ09SRTogWydkZXNjJywgJ3F1YWxpdHlTY29yZSddLFxuICBDSEFOR0VfREFURTogWydkZXNjJywgJ2NoYW5nZURhdGUnXSxcbiAgUkVTT1VSQ0VfREFURVM6IFtcbiAgICBbJ2Rlc2MnLCAncmV2aXNpb25EYXRlRm9yUmVzb3VyY2UnXSxcbiAgICBbJ2Rlc2MnLCAncHVibGljYXRpb25EYXRlRm9yUmVzb3VyY2UnXSxcbiAgICBbJ2Rlc2MnLCAnY3JlYXRpb25EYXRlRm9yUmVzb3VyY2UnXSxcbiAgXSxcbn1cbiJdfQ==
|
|
@@ -10,4 +10,4 @@ export var UserApiModel;
|
|
|
10
10
|
Monitor: 'Monitor',
|
|
11
11
|
};
|
|
12
12
|
})(UserApiModel || (UserApiModel = {}));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5hcGkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL2duNC9zcmMvb3BlbmFwaS9tb2RlbC91c2VyLmFwaS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQ0EsTUFBTSxLQUFXLFlBQVksQ0FrQjVCO0FBbEJELFdBQWlCLFlBQVk7SUFTZCx3QkFBVyxHQUFHO1FBQ3pCLGFBQWEsRUFBRSxlQUE4QjtRQUM3QyxTQUFTLEVBQUUsV0FBMEI7UUFDckMsUUFBUSxFQUFFLFVBQXlCO1FBQ25DLE1BQU0sRUFBRSxRQUF1QjtRQUMvQixjQUFjLEVBQUUsZ0JBQStCO1FBQy9DLEtBQUssRUFBRSxPQUFzQjtRQUM3QixPQUFPLEVBQUUsU0FBd0I7S0FDbEMsQ0FBQTtBQUNILENBQUMsRUFsQmdCLFlBQVksS0FBWixZQUFZLFFBa0I1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VvTmV0d29yayA0LjIuNyBPcGVuQVBJIERvY3VtZW50YXRpb25cbiAqIFRoaXMgaXMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBHZW9OZXR3b3JrIE9wZW5BUEkuIFVzZSB0aGlzIEFQSSB0byBtYW5hZ2UgeW91ciBjYXRhbG9nLlxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiA0LjIuN1xuICogQ29udGFjdDogZ2VvbmV0d29yay11c2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXRcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IFVzZXJTZWN1cml0eUFwaU1vZGVsIH0gZnJvbSAnLi91c2VyU2VjdXJpdHkuYXBpLm1vZGVsJ1xuaW1wb3J0IHsgR3JhbnRlZEF1dGhvcml0eUFwaU1vZGVsIH0gZnJvbSAnLi9ncmFudGVkQXV0aG9yaXR5LmFwaS5tb2RlbCdcbmltcG9ydCB7IEFkZHJlc3NBcGlNb2RlbCB9IGZyb20gJy4vYWRkcmVzcy5hcGkubW9kZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckFwaU1vZGVsIHtcbiAgc2VjdXJpdHk/OiBVc2VyU2VjdXJpdHlBcGlNb2RlbFxuICBlbWFpbD86IHN0cmluZ1xuICBwcm9maWxlPzogVXNlckFwaU1vZGVsLlByb2ZpbGVFbnVtXG4gIHN1cm5hbWU/OiBzdHJpbmdcbiAgZW1haWxBZGRyZXNzZXM/OiBTZXQ8c3RyaW5nPlxuICBhZGRyZXNzZXM/
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5hcGkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL2duNC9zcmMvb3BlbmFwaS9tb2RlbC91c2VyLmFwaS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQ0EsTUFBTSxLQUFXLFlBQVksQ0FrQjVCO0FBbEJELFdBQWlCLFlBQVk7SUFTZCx3QkFBVyxHQUFHO1FBQ3pCLGFBQWEsRUFBRSxlQUE4QjtRQUM3QyxTQUFTLEVBQUUsV0FBMEI7UUFDckMsUUFBUSxFQUFFLFVBQXlCO1FBQ25DLE1BQU0sRUFBRSxRQUF1QjtRQUMvQixjQUFjLEVBQUUsZ0JBQStCO1FBQy9DLEtBQUssRUFBRSxPQUFzQjtRQUM3QixPQUFPLEVBQUUsU0FBd0I7S0FDbEMsQ0FBQTtBQUNILENBQUMsRUFsQmdCLFlBQVksS0FBWixZQUFZLFFBa0I1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VvTmV0d29yayA0LjIuNyBPcGVuQVBJIERvY3VtZW50YXRpb25cbiAqIFRoaXMgaXMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBHZW9OZXR3b3JrIE9wZW5BUEkuIFVzZSB0aGlzIEFQSSB0byBtYW5hZ2UgeW91ciBjYXRhbG9nLlxuICpcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiA0LjIuN1xuICogQ29udGFjdDogZ2VvbmV0d29yay11c2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXRcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IFVzZXJTZWN1cml0eUFwaU1vZGVsIH0gZnJvbSAnLi91c2VyU2VjdXJpdHkuYXBpLm1vZGVsJ1xuaW1wb3J0IHsgR3JhbnRlZEF1dGhvcml0eUFwaU1vZGVsIH0gZnJvbSAnLi9ncmFudGVkQXV0aG9yaXR5LmFwaS5tb2RlbCdcbmltcG9ydCB7IEFkZHJlc3NBcGlNb2RlbCB9IGZyb20gJy4vYWRkcmVzcy5hcGkubW9kZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckFwaU1vZGVsIHtcbiAgc2VjdXJpdHk/OiBVc2VyU2VjdXJpdHlBcGlNb2RlbFxuICBlbWFpbD86IHN0cmluZ1xuICBwcm9maWxlPzogVXNlckFwaU1vZGVsLlByb2ZpbGVFbnVtXG4gIHN1cm5hbWU/OiBzdHJpbmdcbiAgZW1haWxBZGRyZXNzZXM/OiBTZXQ8c3RyaW5nPlxuICBhZGRyZXNzZXM/OiBTZXQ8QWRkcmVzc0FwaU1vZGVsPlxuICBwcmltYXJ5QWRkcmVzcz86IEFkZHJlc3NBcGlNb2RlbFxuICBvcmdhbmlzYXRpb24/OiBzdHJpbmdcbiAga2luZD86IHN0cmluZ1xuICBsYXN0TG9naW5EYXRlPzogc3RyaW5nXG4gIGF1dGhvcml0aWVzPzogQXJyYXk8R3JhbnRlZEF1dGhvcml0eUFwaU1vZGVsPlxuICBhY2NvdW50Tm9uRXhwaXJlZD86IGJvb2xlYW5cbiAgYWNjb3VudE5vbkxvY2tlZD86IGJvb2xlYW5cbiAgY3JlZGVudGlhbHNOb25FeHBpcmVkPzogYm9vbGVhblxuICBlbmFibGVkPzogYm9vbGVhblxuICB1c2VybmFtZT86IHN0cmluZ1xuICBpZD86IG51bWJlclxuICBuYW1lPzogc3RyaW5nXG59XG5leHBvcnQgbmFtZXNwYWNlIFVzZXJBcGlNb2RlbCB7XG4gIGV4cG9ydCB0eXBlIFByb2ZpbGVFbnVtID1cbiAgICB8ICdBZG1pbmlzdHJhdG9yJ1xuICAgIHwgJ1VzZXJBZG1pbidcbiAgICB8ICdSZXZpZXdlcidcbiAgICB8ICdFZGl0b3InXG4gICAgfCAnUmVnaXN0ZXJlZFVzZXInXG4gICAgfCAnR3Vlc3QnXG4gICAgfCAnTW9uaXRvcidcbiAgZXhwb3J0IGNvbnN0IFByb2ZpbGVFbnVtID0ge1xuICAgIEFkbWluaXN0cmF0b3I6ICdBZG1pbmlzdHJhdG9yJyBhcyBQcm9maWxlRW51bSxcbiAgICBVc2VyQWRtaW46ICdVc2VyQWRtaW4nIGFzIFByb2ZpbGVFbnVtLFxuICAgIFJldmlld2VyOiAnUmV2aWV3ZXInIGFzIFByb2ZpbGVFbnVtLFxuICAgIEVkaXRvcjogJ0VkaXRvcicgYXMgUHJvZmlsZUVudW0sXG4gICAgUmVnaXN0ZXJlZFVzZXI6ICdSZWdpc3RlcmVkVXNlcicgYXMgUHJvZmlsZUVudW0sXG4gICAgR3Vlc3Q6ICdHdWVzdCcgYXMgUHJvZmlsZUVudW0sXG4gICAgTW9uaXRvcjogJ01vbml0b3InIGFzIFByb2ZpbGVFbnVtLFxuICB9XG59XG4iXX0=
|
|
@@ -30,6 +30,7 @@ export class MapViewComponent {
|
|
|
30
30
|
set exceedsLimit(value) {
|
|
31
31
|
this.excludeWfs$.next(value);
|
|
32
32
|
}
|
|
33
|
+
// FIXME the map view component should not need a selectedView
|
|
33
34
|
set selectedView(value) {
|
|
34
35
|
this.selectedView$.next(value);
|
|
35
36
|
}
|
|
@@ -345,4 +346,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
345
346
|
type: ViewChild,
|
|
346
347
|
args: ['mapContainer']
|
|
347
348
|
}] } });
|
|
348
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ2hGLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBRVQsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUt4RSxPQUFPLEVBQ0wsbUJBQW1CLEdBSXBCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUNyQixNQUFNLG1DQUFtQyxDQUFBO0FBRTFDLE9B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MUIsb0JBQW9CLENBQUM7Z0JBQ25CLElBQUksRUFBRSxPQUFPO2FBQ2QsQ0FBQztTQUNIOzs0RkFFVSxnQkFBZ0I7a0JBM0I1QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZiw2QkFBNkI7d0JBQzdCLGVBQWU7d0JBQ2Ysa0JBQWtCO3FCQUNuQixpQkFDYzt3QkFDYixZQUFZLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQzt3QkFDMUIsb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxPQUFPO3lCQUNkLENBQUM7cUJBQ0g7d01BR1ksWUFBWTtzQkFBeEIsS0FBSztnQkFRTyxZQUFZO3NCQUF4QixLQUFLO2dCQUdPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBV0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ29CLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hcFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9tYXAvc3JjJ1xuaW1wb3J0IHsgZ2V0TGlua0lkLCBnZXRMaW5rTGFiZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZnJvbSxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgdGhyb3dFcnJvcixcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmluYWxpemUsXG4gIG1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IE1kVmlld0ZhY2FkZSB9IGZyb20gJy4uL3N0YXRlL21kdmlldy5mYWNhZGUnXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9kYXRhdml6L3NyYydcbmltcG9ydCB7XG4gIERhdGFzZXRPbmxpbmVSZXNvdXJjZSxcbiAgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb24sXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIGNyZWF0ZVZpZXdGcm9tTGF5ZXIsXG4gIE1hcENvbnRleHQsXG4gIE1hcENvbnRleHRMYXllcixcbiAgU291cmNlTG9hZEVycm9yRXZlbnQsXG59IGZyb20gJ0BnZW9zcGF0aWFsLXNkay9jb3JlJ1xuaW1wb3J0IHtcbiAgRmVhdHVyZURldGFpbENvbXBvbmVudCxcbiAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICBNYXBMZWdlbmRDb21wb25lbnQsXG4gIHByaW9yaXRpemVQYWdlU2Nyb2xsLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL21hcC9zcmMnXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnZ2VvanNvbidcbmltcG9ydCB7XG4gIE5nSWNvbkNvbXBvbmVudCxcbiAgcHJvdmlkZUljb25zLFxuICBwcm92aWRlTmdJY29uc0NvbmZpZyxcbn0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBtYXRDbG9zZSB9IGZyb20gJ0BuZy1pY29ucy9tYXRlcmlhbC1pY29ucy9iYXNlbGluZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHtcbiAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICBUcmFuc2xhdGVQaXBlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxufSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9leHRlcm5hbC12aWV3ZXItYnV0dG9uL2V4dGVybmFsLXZpZXdlci1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHtcbiAgTG9hZGluZ01hc2tDb21wb25lbnQsXG4gIFBvcHVwQWxlcnRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBGZXRjaEVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMnXG5cbm1hcmtlcignbWFwLmRyb3Bkb3duLnBsYWNlaG9sZGVyJylcbm1hcmtlcignd2ZzLmZlYXR1cmUubGltaXQnKVxubWFya2VyKCdkYXRhc2V0LmVycm9yLnJlc3RyaWN0ZWRBY2Nlc3MnKVxubWFya2VyKCdtYXAuc2VsZWN0LnN0eWxlJylcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktbWFwLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgTWFwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVEZXRhaWxDb21wb25lbnQsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBOZ0ljb25Db21wb25lbnQsXG4gICAgRXh0ZXJuYWxWaWV3ZXJCdXR0b25Db21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE1hcExlZ2VuZENvbXBvbmVudCxcbiAgXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIHByb3ZpZGVJY29ucyh7IG1hdENsb3NlIH0pLFxuICAgIHByb3ZpZGVOZ0ljb25zQ29uZmlnKHtcbiAgICAgIHNpemU6ICcxLjVlbScsXG4gICAgfSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgc2V0IGV4Y2VlZHNMaW1pdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuZXhjbHVkZVdmcyQubmV4dCh2YWx1ZSlcbiAgfVxuICBsaW5rRnJvbUNvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpXG4gIF9zZWxlY3RlZENob2ljZSA9IG51bGxcbiAgX3N0eWxlRnJvbUNvbmZpZyA9IG51bGxcblxuICBsaW5rTWFwOiBNYXA8c3RyaW5nLCBEYXRhc2V0T25saW5lUmVzb3VyY2U+ID0gbmV3IE1hcCgpXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZFZpZXcodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRWaWV3JC5uZXh0KHZhbHVlKVxuICB9XG4gIEBJbnB1dCgpIHNldCBkYXRhdml6Q29uZmlnKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUudmlldyA9PT0gJ21hcCcpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRWaWV3JC5uZXh0KHZhbHVlLnZpZXcpXG4gICAgICBpZiAodmFsdWUuc3R5bGVUTVNJbmRleCkge1xuICAgICAgICB0aGlzLl9zdHlsZUZyb21Db25maWcgPSB2YWx1ZS5zdHlsZVRNU0luZGV4XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUuc291cmNlKSB7XG4gICAgICAgIHRoaXMubGlua0Zyb21Db25maWckLm5leHQodmFsdWUuc291cmNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBASW5wdXQoKSBkaXNwbGF5U291cmNlID0gdHJ1ZVxuICBAT3V0cHV0KCkgbGlua1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhc2V0T25saW5lUmVzb3VyY2U+KClcbiAgQE91dHB1dCgpIHN0eWxlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKVxuICBAVmlld0NoaWxkKCdtYXBDb250YWluZXInKSBtYXBDb250YWluZXI6IE1hcENvbnRhaW5lckNvbXBvbmVudFxuXG4gIGV4Y2x1ZGVXZnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSlcbiAgaGlkZVByZXZpZXcgPSBmYWxzZVxuICBzZWxlY3Rpb246IEZlYXR1cmVcbiAgc2hvd0xlZ2VuZCA9IHRydWVcbiAgbGVnZW5kRXhpc3RzID0gZmFsc2VcbiAgbG9hZGluZyA9IGZhbHNlXG4gIGVycm9yID0gbnVsbFxuXG4gIHNlbGVjdExpbmtUb0Rpc3BsYXkoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRMaW5rSWQkLm5leHQoaWQpXG4gIH1cblxuICBzZWxlY3RTdHlsZVRvRGlzcGxheShpOiBudW1iZXIpIHtcbiAgICB0aGlzLnNlbGVjdGVkU3R5bGVJZCQubmV4dChpKVxuICAgIHRoaXMuc3R5bGVTZWxlY3RlZC5lbWl0KGkpXG4gIH1cblxuICB0b2dnbGVMZWdlbmQoKSB7XG4gICAgdGhpcy5zaG93TGVnZW5kID0gIXRoaXMuc2hvd0xlZ2VuZFxuICB9XG4gIG9uTGVnZW5kU3RhdHVzQ2hhbmdlKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxlZ2VuZEV4aXN0cyA9IHZcbiAgfVxuXG4gIGNvbXBhdGlibGVNYXBMaW5rcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5tYXBBcGlMaW5rcyQsXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5JCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFttYXBBcGlMaW5rcywgZ2VvRGF0YUxpbmtzV2l0aEdlb21ldHJ5XSkgPT4gW1xuICAgICAgLi4ubWFwQXBpTGlua3MsXG4gICAgICAuLi5nZW9EYXRhTGlua3NXaXRoR2VvbWV0cnksXG4gICAgXSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIGRyb3Bkb3duQ2hvaWNlcyQgPSB0aGlzLmNvbXBhdGlibGVNYXBMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PiB7XG4gICAgICB0aGlzLmxpbmtNYXAuY2xlYXIoKVxuICAgICAgbGlua3MuZm9yRWFjaCgobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKSA9PlxuICAgICAgICB0aGlzLmxpbmtNYXAuc2V0KGdldExpbmtJZChsaW5rKSwgbGluaylcbiAgICAgIClcbiAgICAgIHJldHVybiBsaW5rcy5sZW5ndGhcbiAgICAgICAgPyBsaW5rcy5tYXAoKGxpbmspID0+ICh7XG4gICAgICAgICAgICBsYWJlbDogZ2V0TGlua0xhYmVsKGxpbmspLFxuICAgICAgICAgICAgdmFsdWU6IGdldExpbmtJZChsaW5rKSxcbiAgICAgICAgICB9KSlcbiAgICAgICAgOiBbeyBsYWJlbDogJ21hcC5kcm9wZG93bi5wbGFjZWhvbGRlcicsIHZhbHVlOiAnJyB9XVxuICAgIH0pXG4gIClcblxuICBzZWxlY3RlZFZpZXckID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKVxuICBzZWxlY3RlZExpbmtJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpXG4gIHNlbGVjdGVkU3R5bGVJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpXG5cbiAgc2VsZWN0ZWRTb3VyY2VMaW5rJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJCxcbiAgICB0aGlzLmxpbmtGcm9tQ29uZmlnJCxcbiAgICB0aGlzLnNlbGVjdGVkTGlua0lkJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgIHRoaXMuc2VsZWN0ZWRWaWV3JCxcbiAgXSkucGlwZShcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICB9KSxcbiAgICBtYXAoKFtjb21wYXRpYmxlTGlua3MsIGNvbmZpZ0xpbmssIGlkLCB2aWV3XSkgPT4ge1xuICAgICAgaWYgKHZpZXcgPT09ICdtYXAnKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjb25maWdMaW5rICYmXG4gICAgICAgICAgIWlkICYmXG4gICAgICAgICAgY29tcGF0aWJsZUxpbmtzLnNvbWUoXG4gICAgICAgICAgICAobGluaykgPT4gZ2V0TGlua0lkKGxpbmspID09PSBnZXRMaW5rSWQoY29uZmlnTGluaylcbiAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkQ2hvaWNlID0gZ2V0TGlua0lkKGNvbmZpZ0xpbmspXG4gICAgICAgICAgdGhpcy5saW5rU2VsZWN0ZWQuZW1pdChjb25maWdMaW5rKVxuICAgICAgICAgIHJldHVybiBjb25maWdMaW5rXG4gICAgICAgIH0gZWxzZSBpZiAoaWQpIHtcbiAgICAgICAgICB0aGlzLl9zZWxlY3RlZENob2ljZSA9IGlkXG4gICAgICAgICAgdGhpcy5saW5rU2VsZWN0ZWQuZW1pdCh0aGlzLmxpbmtNYXAuZ2V0KGlkKSlcbiAgICAgICAgICByZXR1cm4gdGhpcy5saW5rTWFwLmdldChpZClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxpbmtTZWxlY3RlZC5lbWl0KGNvbXBhdGlibGVMaW5rc1swXSlcbiAgICAgICAgICByZXR1cm4gY29tcGF0aWJsZUxpbmtzWzBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICApXG5cbiAgc3R5bGVMaW5rcyQgPSB0aGlzLnNlbGVjdGVkU291cmNlTGluayQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHNyYykgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBzcmMgJiZcbiAgICAgICAgc3JjLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgICBzcmMuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAndG1zJ1xuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBmcm9tKFxuICAgICAgICAgIC8vIFdBUk5JTkc6IHdoZW4gdXNpbmcgXCJnZXRHZW9kYXRhTGlua3NGcm9tVG1zXCIsIG1ha2Ugc3VyZSB0byBhZGQgZXJyb3IgaGFuZGxpbmcgdG8gcHJldmVudCB0aGUgcmVzdCBvZiB0aGUgbG9naWMgZnJvbSBmYWlsaW5nXG4gICAgICAgICAgLy8gdGhpcyBtYXkgaGFwcGVuIHdoZW4gVE1TIGVuZHBvaW50IGlzIGluIGVycm9yXG4gICAgICAgICAgdGhpcy5kYXRhU2VydmljZS5nZXRHZW9kYXRhTGlua3NGcm9tVG1zKFxuICAgICAgICAgICAgc3JjIGFzIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICApXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAvLyBXZSBuZWVkIHRvIGNoZWNrIGZvciBtYXBsaWJyZS1zdHlsZSBsaW5rcyBiZWNhdXNlIHdoZW4gYSBUTVMgc2VydmljZSBoYXMgbm8gc3R5bGVzLFxuICAgICAgICAgIC8vIGdldEdlb2RhdGFMaW5rc0Zyb21UbXMgcmV0dXJucyB0aGUgb3JpZ2luYWwgVE1TIGxpbmssIHdoaWNoIGlzbid0IGEgbWFwbGlicmUtc3R5bGUgbGlua1xuICAgICAgICAgIG1hcChcbiAgICAgICAgICAgIChsaW5rcykgPT5cbiAgICAgICAgICAgICAgbGlua3M/LmZpbHRlcihcbiAgICAgICAgICAgICAgICAobGluaykgPT5cbiAgICAgICAgICAgICAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgICAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ21hcGxpYnJlLXN0eWxlJ1xuICAgICAgICAgICAgICApIHx8IFtdXG4gICAgICAgICAgKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvcilcbiAgICAgICAgICAgIHJldHVybiBvZihzcmMpXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgcmV0dXJuIG9mKFtdKVxuICAgIH0pLFxuICAgIHRhcCgoc3R5bGVzKSA9PiB7XG4gICAgICBpZiAodGhpcy5fc3R5bGVGcm9tQ29uZmlnICYmIHRoaXMuX3N0eWxlRnJvbUNvbmZpZyA8PSBzdHlsZXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdHlsZUlkJC5uZXh0KHRoaXMuX3N0eWxlRnJvbUNvbmZpZylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdHlsZUlkJC5uZXh0KDApXG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIHN0eWxlRHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuc3R5bGVMaW5rcyQucGlwZShcbiAgICBtYXAoKGxpbmtzKSA9PlxuICAgICAgbGlua3MubGVuZ3RoXG4gICAgICAgID8gbGlua3MubWFwKChsaW5rLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgIGxhYmVsOiBnZXRMaW5rTGFiZWwobGluayksXG4gICAgICAgICAgICB2YWx1ZTogaW5kZXgsXG4gICAgICAgICAgfSkpXG4gICAgICAgIDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogJ1xcdTAwQTBcXHUwMEEwXFx1MDBBMFxcdTAwQTAnLFxuICAgICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgIClcbiAgKVxuXG4gIHNlbGVjdGVkTGluayQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnNlbGVjdGVkU291cmNlTGluayQsXG4gICAgdGhpcy5zdHlsZUxpbmtzJCxcbiAgICB0aGlzLnNlbGVjdGVkU3R5bGVJZCQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtzcmMsIHN0eWxlcywgc3R5bGVJZHhdKSA9PiAoc3R5bGVzLmxlbmd0aCA/IHN0eWxlc1tzdHlsZUlkeF0gOiBzcmMpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgY3VycmVudExheWVycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNlbGVjdGVkTGluayQsIHRoaXMuZXhjbHVkZVdmcyRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2xpbmssIGV4Y2x1ZGVXZnNdKSA9PiB7XG4gICAgICBpZiAoIWxpbmspIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgaWYgKGV4Y2x1ZGVXZnMgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnKSB7XG4gICAgICAgIHRoaXMuaGlkZVByZXZpZXcgPSB0cnVlXG4gICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgIH1cbiAgICAgIHRoaXMuaGlkZVByZXZpZXcgPSBmYWxzZVxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgICAgaWYgKGxpbmsuYWNjZXNzUmVzdHJpY3RlZCkge1xuICAgICAgICB0aGlzLmhhbmRsZUVycm9yKCdkYXRhc2V0LmVycm9yLnJlc3RyaWN0ZWRBY2Nlc3MnKVxuICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5nZXRMYXllckZyb21MaW5rKGxpbmspLnBpcGUoXG4gICAgICAgIG1hcCgobGF5ZXIpID0+IFtsYXllcl0pLFxuICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgfSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXG4gICAgICApXG4gICAgfSlcbiAgKVxuXG4gIG1hcENvbnRleHQkOiBPYnNlcnZhYmxlPE1hcENvbnRleHQ+ID0gdGhpcy5jdXJyZW50TGF5ZXJzJC5waXBlKFxuICAgIHN3aXRjaE1hcCgobGF5ZXJzKSA9PlxuICAgICAgZnJvbShjcmVhdGVWaWV3RnJvbUxheWVyKGxheWVyc1swXSkpLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpLCAvLyBjb3VsZCBub3Qgem9vbSBvbiB0aGUgbGF5ZXI6IHVzZSB0aGUgcmVjb3JkIGV4dGVudFxuICAgICAgICBtYXAoKHZpZXcpID0+ICh7XG4gICAgICAgICAgbGF5ZXJzLFxuICAgICAgICAgIHZpZXcsXG4gICAgICAgIH0pKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKClcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApLFxuICAgIHN0YXJ0V2l0aCh7XG4gICAgICBsYXllcnM6IFtdLFxuICAgICAgdmlldzogbnVsbCxcbiAgICB9KSxcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLm1kVmlld0ZhY2FkZS5tZXRhZGF0YSQpLFxuICAgIG1hcCgoW2NvbnRleHQsIG1ldGFkYXRhXSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHQudmlldykgcmV0dXJuIGNvbnRleHRcbiAgICAgIGNvbnN0IGV4dGVudCA9IHRoaXMubWFwVXRpbHMuZ2V0UmVjb3JkRXh0ZW50KG1ldGFkYXRhKVxuICAgICAgY29uc3QgdmlldyA9IGV4dGVudCA/IHsgZXh0ZW50IH0gOiBudWxsXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICB2aWV3LFxuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1kVmlld0ZhY2FkZTogTWRWaWV3RmFjYWRlLFxuICAgIHByaXZhdGUgbWFwVXRpbHM6IE1hcFV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZVJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgbWFwID0gYXdhaXQgdGhpcy5tYXBDb250YWluZXIub3BlbmxheWVyc01hcFxuICAgIHByaW9yaXRpemVQYWdlU2Nyb2xsKG1hcC5nZXRJbnRlcmFjdGlvbnMoKSlcbiAgfVxuXG4gIG9uTWFwRmVhdHVyZVNlbGVjdChmZWF0dXJlczogRmVhdHVyZVtdKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFNlbGVjdGlvbigpXG4gICAgdGhpcy5zZWxlY3Rpb24gPSBmZWF0dXJlcz8ubGVuZ3RoID4gMCAmJiBmZWF0dXJlc1swXVxuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgLy8gRklYTUU6IHJlc3RvcmUgc3R5bGluZyBvZiBzZWxlY3RlZCBmZWF0dXJlXG4gICAgICAvLyB0aGlzLnNlbGVjdGlvbi5zZXRTdHlsZSh0aGlzLnNlbGVjdGlvblN0eWxlKVxuICAgIH1cbiAgICB0aGlzLmNoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIG9uU291cmNlTG9hZEVycm9yKGVycm9yOiBTb3VyY2VMb2FkRXJyb3JFdmVudCkge1xuICAgIGlmIChlcnJvci5odHRwU3RhdHVzID09PSA0MDMgfHwgZXJyb3IuaHR0cFN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGRhdGFzZXQuZXJyb3IuZm9yYmlkZGVuYClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGBkYXRhc2V0LmVycm9yLmh0dHBgLCB7XG4gICAgICAgIGluZm86IGVycm9yLmh0dHBTdGF0dXMsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIHJlc2V0U2VsZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgLy8gRklYTUU6IHJlc3RvcmUgc3R5bGluZyBvZiBzZWxlY3RlZCBmZWF0dXJlXG4gICAgICAvLyB0aGlzLnNlbGVjdGlvbi5zZXRTdHlsZShudWxsKVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGlvbiA9IG51bGxcbiAgfVxuXG4gIGdldExheWVyRnJvbUxpbmsobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKTogT2JzZXJ2YWJsZTxNYXBDb250ZXh0TGF5ZXI+IHtcbiAgICBpZiAobGluay50eXBlID09PSAnc2VydmljZScgJiYgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3bXMnKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6ICd3bXMnLFxuICAgICAgICBuYW1lOiBsaW5rLm5hbWUsXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd0bXMnXG4gICAgKSB7XG4gICAgICAvLyBGSVhNRTogaGVyZSB3ZSdyZSBhc3N1bWluZyB0aGF0IHRoZSBUTVMgc2VydmVzIHZlY3RvciB0aWxlcyBvbmx5OyBzaG91bGQgYmUgY2hlY2tlZCB3aXRoIG9nYy1jbGllbnQgZmlyc3RcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmxcbiAgICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAgIC5yZXBsYWNlKC9cXC8/JC8sIGAvJHtsaW5rLm5hbWV9L3t6fS97eH0ve3l9LnBiZmApLFxuICAgICAgICB0eXBlOiAneHl6JyxcbiAgICAgICAgdGlsZUZvcm1hdDogJ2FwcGxpY2F0aW9uL3ZuZC5tYXBib3gtdmVjdG9yLXRpbGUnLFxuICAgICAgICBuYW1lOiBsaW5rLm5hbWUsXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdtYXBsaWJyZS1zdHlsZSdcbiAgICApIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHR5cGU6ICdtYXBsaWJyZS1zdHlsZScsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgICAgc3R5bGVVcmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3bXRzJ1xuICAgICkge1xuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgdXJsOiBsaW5rLnVybC50b1N0cmluZygpLFxuICAgICAgICB0eXBlOiAnd210cycsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJlxuICAgICAgICAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd3ZnMnIHx8XG4gICAgICAgICAgbGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICdlc3JpUmVzdCcgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ29nY0ZlYXR1cmVzJykpIHx8XG4gICAgICBsaW5rLnR5cGUgPT09ICdkb3dubG9hZCdcbiAgICApIHtcbiAgICAgIGNvbnN0IGNhY2hlQWN0aXZlID0gdHJ1ZSAvLyBUT0RPIGltcGxlbWVudCB3aGV0aGVyIHNob3VsZCBiZSB0cnVlIG9yIGZhbHNlXG4gICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5yZWFkQXNHZW9Kc29uKGxpbmssIGNhY2hlQWN0aXZlKS5waXBlKFxuICAgICAgICBtYXAoKGRhdGEpID0+ICh7XG4gICAgICAgICAgdHlwZTogJ2dlb2pzb24nLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgIH0pKVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAncHJvdG9jb2wgbm90IHN1cHBvcnRlZCcpXG4gIH1cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEZldGNoRXJyb3IgfCBFcnJvciB8IHN0cmluZykge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEZldGNoRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgYGRhdGFzZXQuZXJyb3IuJHtlcnJvci50eXBlfWAsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmZvOiBlcnJvci5pbmZvLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IubWVzc2FnZSlcbiAgICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChlcnJvci5tZXNzYWdlKVxuICAgICAgY29uc29sZS53YXJuKGVycm9yLnN0YWNrIHx8IGVycm9yKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXJyb3IpXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IpXG4gICAgfVxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgdGhpcy5jaGFuZ2VSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3LWZ1bGwgaC1mdWxsIGZsZXggZmxleC1jb2wgZ2FwLVsxM3B4XVwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IGdhcC00IHB5LTQgcHgtNSBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWNvbG9yLWJvcmRlciByb3VuZGVkLWxnIG10LTZcIlxuICA+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICAqbmdJZj1cImRpc3BsYXlTb3VyY2VcIlxuICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWQ6ZmxleC0xIG1kOm1pbi13LTBcIlxuICAgICAgZXh0cmFCdG5DbGFzcz1cImZvbnQtc2FucyBmb250LWJvbGRcIlxuICAgICAgW3RpdGxlXT1cIidtYXAuc2VsZWN0LmxheWVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY2hvaWNlc109XCJkcm9wZG93bkNob2ljZXMkIHwgYXN5bmNcIlxuICAgICAgW3NlbGVjdGVkXT1cIl9zZWxlY3RlZENob2ljZVwiXG4gICAgICAoc2VsZWN0VmFsdWUpPVwic2VsZWN0TGlua1RvRGlzcGxheSgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS1kcm9wZG93bi1zZWxlY3Rvcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoc3R5bGVMaW5rcyQgfCBhc3luYyk/Lmxlbmd0aCA+IDA7IGVsc2Ugc3R5bGVEaXNhYmxlZFwiPlxuICAgICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOmZsZXgtMSBtZDptaW4tdy0wXCJcbiAgICAgICAgZXh0cmFCdG5DbGFzcz1cImZvbnQtc2FucyBmb250LWJvbGRcIlxuICAgICAgICBbdGl0bGVdPVwiJ21hcC5zZWxlY3Quc3R5bGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW2Nob2ljZXNdPVwic3R5bGVEcm9wZG93bkNob2ljZXMkIHwgYXN5bmNcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwiX3N0eWxlRnJvbUNvbmZpZ1wiXG4gICAgICAgIChzZWxlY3RWYWx1ZSk9XCJzZWxlY3RTdHlsZVRvRGlzcGxheSgkZXZlbnQpXCJcbiAgICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjc3R5bGVEaXNhYmxlZD5cbiAgICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgICBjbGFzcz1cInctZnVsbCBtZDpmbGV4LTEgbWQ6bWluLXctMCB0ZXh0LWdyYXktNDAwXCJcbiAgICAgICAgZXh0cmFCdG5DbGFzcz1cImZvbnQtc2FucyBmb250LWJvbGQgdGV4dC1ncmF5LTQwMFwiXG4gICAgICAgIFt0aXRsZV09XCInbWFwLnNlbGVjdC5zdHlsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbY2hvaWNlc109XCJzdHlsZURyb3Bkb3duQ2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCJcbiAgICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZi1lbmQgbWQ6bWwtMlwiPlxuICAgICAgPGduLXVpLWV4dGVybmFsLXZpZXdlci1idXR0b25cbiAgICAgICAgZXh0cmFDbGFzcz1cInctWzQ0cHhdIGgtWzQ0cHhdXCJcbiAgICAgICAgW2xpbmtdPVwic2VsZWN0ZWRMaW5rJCB8IGFzeW5jXCJcbiAgICAgID5cbiAgICAgIDwvZ24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoaWRlUHJldmlldzsgZWxzZSBtYXBWaWV3XCI+XG4gICAgPGduLXVpLXBvcHVwLWFsZXJ0XG4gICAgICB0eXBlPVwid2FybmluZ1wiXG4gICAgICBpY29uPVwibWF0RXJyb3JPdXRsaW5lT3V0bGluZVwiXG4gICAgICBjbGFzcz1cImJsb2NrIGgtMTIgcC0xXCJcbiAgICA+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+cmVjb3JkLmZlYXR1cmUubGltaXQ8L3NwYW4+XG4gICAgPC9nbi11aS1wb3B1cC1hbGVydD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjbWFwVmlldz5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlbGF0aXZlIHctZnVsbCBoLWZ1bGwgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ncmF5LTMwMCByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlblwiXG4gICAgPlxuICAgICAgPGduLXVpLW1hcC1jb250YWluZXJcbiAgICAgICAgI21hcENvbnRhaW5lclxuICAgICAgICBbY29udGV4dF09XCJtYXBDb250ZXh0JCB8IGFzeW5jXCJcbiAgICAgICAgKGZlYXR1cmVzQ2xpY2spPVwib25NYXBGZWF0dXJlU2VsZWN0KCRldmVudClcIlxuICAgICAgICAoc291cmNlTG9hZEVycm9yKT1cIm9uU291cmNlTG9hZEVycm9yKCRldmVudClcIlxuICAgICAgPjwvZ24tdWktbWFwLWNvbnRhaW5lcj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ0b3AtWzFlbV0gcmlnaHQtWzFlbV0gcC0zIGJnLXdoaXRlIGFic29sdXRlIG92ZXJmbG93LXktYXV0byBvdmVyZmxvdy14LWhpZGRlbiBtYXgtaC03MiB3LTU2XCJcbiAgICAgICAgW2NsYXNzLmhpZGRlbl09XCIhc2VsZWN0aW9uXCJcbiAgICAgID5cbiAgICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJsaWdodFwiXG4gICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInJlc2V0U2VsZWN0aW9uKClcIlxuICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi1wYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi13aWR0aDogMjRweDtcbiAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLWhlaWdodDogMjRweDtcbiAgICAgICAgICBcIlxuICAgICAgICAgIGV4dHJhQ2xhc3M9XCJhYnNvbHV0ZSByaWdodC1bMC41ZW1dIG1sLVs4cHhdIG1yLVsxMHB4XVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0Q2xvc2VcIiBjbGFzcz1cImFsaWduLW1pZGRsZSB0ZXh0LXNtXCI+PC9uZy1pY29uPlxuICAgICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICAgICAgPGduLXVpLWZlYXR1cmUtZGV0YWlsXG4gICAgICAgICAgW2ZlYXR1cmVDYXRhbG9nXT1cIm1kVmlld0ZhY2FkZS5mZWF0dXJlQ2F0YWxvZyQgfCBhc3luY1wiXG4gICAgICAgICAgW2ZlYXR1cmVdPVwic2VsZWN0aW9uXCJcbiAgICAgICAgPjwvZ24tdWktZmVhdHVyZS1kZXRhaWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRvcC1bMWVtXSBwLTMgYmctd2hpdGUgYWJzb2x1dGUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIG1heC1oLTcyIHctNTZcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdyaWdodC1bMWVtXSc6ICFzZWxlY3Rpb24sICdyaWdodC1bMTZlbV0nOiBzZWxlY3Rpb24gfVwiXG4gICAgICAgIFtoaWRkZW5dPVwiIXNob3dMZWdlbmQgfHwgIWxlZ2VuZEV4aXN0c1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgZm9udC1ib2xkXCIgdHJhbnNsYXRlPm1hcC5sZWdlbmQudGl0bGU8L2Rpdj5cbiAgICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwibGlnaHRcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxlZ2VuZCgpXCJcbiAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgLS1nbi11aS1idXR0b24td2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBleHRyYUNsYXNzPVwibWwtWzhweF0gbXItWzEwcHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctaWNvbiBuYW1lPVwibWF0Q2xvc2VcIiBjbGFzcz1cImFsaWduLW1pZGRsZSB0ZXh0LXNtXCI+PC9uZy1pY29uPlxuICAgICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGduLXVpLW1hcC1sZWdlbmRcbiAgICAgICAgICBbY29udGV4dF09XCJtYXBDb250ZXh0JCB8IGFzeW5jXCJcbiAgICAgICAgICAobGVnZW5kU3RhdHVzQ2hhbmdlKT1cIm9uTGVnZW5kU3RhdHVzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9nbi11aS1tYXAtbGVnZW5kPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhc2hvd0xlZ2VuZCAmJiBsZWdlbmRFeGlzdHMgJiYgIXNlbGVjdGlvblwiXG4gICAgICAgIHR5cGU9XCJvdXRsaW5lXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxlZ2VuZCgpXCJcbiAgICAgICAgZXh0cmFDbGFzcz1cImFic29sdXRlIHRvcC1bMWVtXSByaWdodC1bMWVtXSByb3VuZGVkIHAtMSB0ZXh0LXhzIGJnLXdoaXRlXCJcbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICA+XG4gICAgICAgIG1hcC5sZWdlbmQudGl0bGVcbiAgICAgIDwvZ24tdWktYnV0dG9uPlxuXG4gICAgICA8Z24tdWktbG9hZGluZy1tYXNrXG4gICAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQtMFwiXG4gICAgICAgIFttZXNzYWdlXT1cIidtYXAubG9hZGluZy5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgICA+PC9nbi11aS1sb2FkaW5nLW1hc2s+XG4gICAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgICAgKm5nSWY9XCJlcnJvclwiXG4gICAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgICAgaWNvbj1cIm1hdEVycm9yT3V0bGluZU91dGxpbmVcIlxuICAgICAgICBjbGFzcz1cImFic29sdXRlIG0tMiBpbnNldC0wXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gdHJhbnNsYXRlPnt7IGVycm9yIH19PC9zcGFuPlxuICAgICAgPC9nbi11aS1wb3B1cC1hbGVydD5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
349
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMvbGliL21hcC12aWV3L21hcC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9tYXAtdmlldy9tYXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ2hGLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLElBQUksRUFFSixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxNQUFNLENBQUE7QUFDYixPQUFPLEVBQ0wsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsR0FBRyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBRVQsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUt4RSxPQUFPLEVBQ0wsbUJBQW1CLEdBSXBCLE1BQU0sc0JBQXNCLENBQUE7QUFDN0IsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUNyQixNQUFNLG1DQUFtQyxDQUFBO0FBRTFDLE9B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LEVBQUUsQ0FBQztZQUMxQixvQkFBb0IsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLE9BQU87YUFDZCxDQUFDO1NBQ0g7OzRGQUVVLGdCQUFnQjtrQkEzQjVCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1oseUJBQXlCO3dCQUN6QixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLDZCQUE2Qjt3QkFDN0IsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CLGlCQUNjO3dCQUNiLFlBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO3dCQUMxQixvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87eUJBQ2QsQ0FBQztxQkFDSDt3TUFHWSxZQUFZO3NCQUF4QixLQUFLO2dCQVNPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBR08sYUFBYTtzQkFBekIsS0FBSztnQkFXRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDb0IsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWFwVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL21hcC9zcmMnXG5pbXBvcnQgeyBnZXRMaW5rSWQsIGdldExpbmtMYWJlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmcm9tLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICB0aHJvd0Vycm9yLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaW5hbGl6ZSxcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUvbWR2aWV3LmZhY2FkZSdcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2RhdGF2aXovc3JjJ1xuaW1wb3J0IHtcbiAgRGF0YXNldE9ubGluZVJlc291cmNlLFxuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHtcbiAgY3JlYXRlVmlld0Zyb21MYXllcixcbiAgTWFwQ29udGV4dCxcbiAgTWFwQ29udGV4dExheWVyLFxuICBTb3VyY2VMb2FkRXJyb3JFdmVudCxcbn0gZnJvbSAnQGdlb3NwYXRpYWwtc2RrL2NvcmUnXG5pbXBvcnQge1xuICBGZWF0dXJlRGV0YWlsQ29tcG9uZW50LFxuICBNYXBDb250YWluZXJDb21wb25lbnQsXG4gIE1hcExlZ2VuZENvbXBvbmVudCxcbiAgcHJpb3JpdGl6ZVBhZ2VTY3JvbGwsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvbWFwL3NyYydcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdnZW9qc29uJ1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IG1hdENsb3NlIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQge1xuICBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gIFRyYW5zbGF0ZVBpcGUsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG59IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFeHRlcm5hbFZpZXdlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2V4dGVybmFsLXZpZXdlci1idXR0b24vZXh0ZXJuYWwtdmlld2VyLWJ1dHRvbi5jb21wb25lbnQnXG5pbXBvcnQge1xuICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgUG9wdXBBbGVydENvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcbmltcG9ydCB7IEZldGNoRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYydcblxubWFya2VyKCdtYXAuZHJvcGRvd24ucGxhY2Vob2xkZXInKVxubWFya2VyKCd3ZnMuZmVhdHVyZS5saW1pdCcpXG5tYXJrZXIoJ2RhdGFzZXQuZXJyb3IucmVzdHJpY3RlZEFjY2VzcycpXG5tYXJrZXIoJ21hcC5zZWxlY3Quc3R5bGUnKVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1tYXAtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC12aWV3LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbiAgICBNYXBDb250YWluZXJDb21wb25lbnQsXG4gICAgRmVhdHVyZURldGFpbENvbXBvbmVudCxcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZURpcmVjdGl2ZSxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBFeHRlcm5hbFZpZXdlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgTWFwTGVnZW5kQ29tcG9uZW50LFxuICBdLFxuICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHsgbWF0Q2xvc2UgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuNWVtJyxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBzZXQgZXhjZWVkc0xpbWl0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5leGNsdWRlV2ZzJC5uZXh0KHZhbHVlKVxuICB9XG4gIGxpbmtGcm9tQ29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbClcbiAgX3NlbGVjdGVkQ2hvaWNlID0gbnVsbFxuICBfc3R5bGVGcm9tQ29uZmlnID0gbnVsbFxuXG4gIGxpbmtNYXA6IE1hcDxzdHJpbmcsIERhdGFzZXRPbmxpbmVSZXNvdXJjZT4gPSBuZXcgTWFwKClcbiAgLy8gRklYTUUgdGhlIG1hcCB2aWV3IGNvbXBvbmVudCBzaG91bGQgbm90IG5lZWQgYSBzZWxlY3RlZFZpZXdcbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkVmlldyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWxlY3RlZFZpZXckLm5leHQodmFsdWUpXG4gIH1cbiAgQElucHV0KCkgc2V0IGRhdGF2aXpDb25maWcodmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS52aWV3ID09PSAnbWFwJykge1xuICAgICAgdGhpcy5zZWxlY3RlZFZpZXckLm5leHQodmFsdWUudmlldylcbiAgICAgIGlmICh2YWx1ZS5zdHlsZVRNU0luZGV4KSB7XG4gICAgICAgIHRoaXMuX3N0eWxlRnJvbUNvbmZpZyA9IHZhbHVlLnN0eWxlVE1TSW5kZXhcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZS5zb3VyY2UpIHtcbiAgICAgICAgdGhpcy5saW5rRnJvbUNvbmZpZyQubmV4dCh2YWx1ZS5zb3VyY2UpXG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIGRpc3BsYXlTb3VyY2UgPSB0cnVlXG4gIEBPdXRwdXQoKSBsaW5rU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFzZXRPbmxpbmVSZXNvdXJjZT4oKVxuICBAT3V0cHV0KCkgc3R5bGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpXG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIG1hcENvbnRhaW5lcjogTWFwQ29udGFpbmVyQ29tcG9uZW50XG5cbiAgZXhjbHVkZVdmcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKVxuICBoaWRlUHJldmlldyA9IGZhbHNlXG4gIHNlbGVjdGlvbjogRmVhdHVyZVxuICBzaG93TGVnZW5kID0gdHJ1ZVxuICBsZWdlbmRFeGlzdHMgPSBmYWxzZVxuICBsb2FkaW5nID0gZmFsc2VcbiAgZXJyb3IgPSBudWxsXG5cbiAgc2VsZWN0TGlua1RvRGlzcGxheShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWxlY3RlZExpbmtJZCQubmV4dChpZClcbiAgfVxuXG4gIHNlbGVjdFN0eWxlVG9EaXNwbGF5KGk6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0ZWRTdHlsZUlkJC5uZXh0KGkpXG4gICAgdGhpcy5zdHlsZVNlbGVjdGVkLmVtaXQoaSlcbiAgfVxuXG4gIHRvZ2dsZUxlZ2VuZCgpIHtcbiAgICB0aGlzLnNob3dMZWdlbmQgPSAhdGhpcy5zaG93TGVnZW5kXG4gIH1cbiAgb25MZWdlbmRTdGF0dXNDaGFuZ2UodjogYm9vbGVhbikge1xuICAgIHRoaXMubGVnZW5kRXhpc3RzID0gdlxuICB9XG5cbiAgY29tcGF0aWJsZU1hcExpbmtzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubWRWaWV3RmFjYWRlLm1hcEFwaUxpbmtzJCxcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5nZW9EYXRhTGlua3NXaXRoR2VvbWV0cnkkLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW21hcEFwaUxpbmtzLCBnZW9EYXRhTGlua3NXaXRoR2VvbWV0cnldKSA9PiBbXG4gICAgICAuLi5tYXBBcGlMaW5rcyxcbiAgICAgIC4uLmdlb0RhdGFMaW5rc1dpdGhHZW9tZXRyeSxcbiAgICBdKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZU1hcExpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+IHtcbiAgICAgIHRoaXMubGlua01hcC5jbGVhcigpXG4gICAgICBsaW5rcy5mb3JFYWNoKChsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpID0+XG4gICAgICAgIHRoaXMubGlua01hcC5zZXQoZ2V0TGlua0lkKGxpbmspLCBsaW5rKVxuICAgICAgKVxuICAgICAgcmV0dXJuIGxpbmtzLmxlbmd0aFxuICAgICAgICA/IGxpbmtzLm1hcCgobGluaykgPT4gKHtcbiAgICAgICAgICAgIGxhYmVsOiBnZXRMaW5rTGFiZWwobGluayksXG4gICAgICAgICAgICB2YWx1ZTogZ2V0TGlua0lkKGxpbmspLFxuICAgICAgICAgIH0pKVxuICAgICAgICA6IFt7IGxhYmVsOiAnbWFwLmRyb3Bkb3duLnBsYWNlaG9sZGVyJywgdmFsdWU6ICcnIH1dXG4gICAgfSlcbiAgKVxuXG4gIHNlbGVjdGVkVmlldyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpXG4gIHNlbGVjdGVkTGlua0lkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbClcbiAgc2VsZWN0ZWRTdHlsZUlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbClcblxuICBzZWxlY3RlZFNvdXJjZUxpbmskID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jb21wYXRpYmxlTWFwTGlua3MkLFxuICAgIHRoaXMubGlua0Zyb21Db25maWckLFxuICAgIHRoaXMuc2VsZWN0ZWRMaW5rSWQkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gICAgdGhpcy5zZWxlY3RlZFZpZXckLFxuICBdKS5waXBlKFxuICAgIHRhcCgoKSA9PiB7XG4gICAgICB0aGlzLmVycm9yID0gbnVsbFxuICAgIH0pLFxuICAgIG1hcCgoW2NvbXBhdGlibGVMaW5rcywgY29uZmlnTGluaywgaWQsIHZpZXddKSA9PiB7XG4gICAgICBpZiAodmlldyA9PT0gJ21hcCcpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNvbmZpZ0xpbmsgJiZcbiAgICAgICAgICAhaWQgJiZcbiAgICAgICAgICBjb21wYXRpYmxlTGlua3Muc29tZShcbiAgICAgICAgICAgIChsaW5rKSA9PiBnZXRMaW5rSWQobGluaykgPT09IGdldExpbmtJZChjb25maWdMaW5rKVxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWRDaG9pY2UgPSBnZXRMaW5rSWQoY29uZmlnTGluaylcbiAgICAgICAgICB0aGlzLmxpbmtTZWxlY3RlZC5lbWl0KGNvbmZpZ0xpbmspXG4gICAgICAgICAgcmV0dXJuIGNvbmZpZ0xpbmtcbiAgICAgICAgfSBlbHNlIGlmIChpZCkge1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGVkQ2hvaWNlID0gaWRcbiAgICAgICAgICB0aGlzLmxpbmtTZWxlY3RlZC5lbWl0KHRoaXMubGlua01hcC5nZXQoaWQpKVxuICAgICAgICAgIHJldHVybiB0aGlzLmxpbmtNYXAuZ2V0KGlkKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubGlua1NlbGVjdGVkLmVtaXQoY29tcGF0aWJsZUxpbmtzWzBdKVxuICAgICAgICAgIHJldHVybiBjb21wYXRpYmxlTGlua3NbMF1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIClcblxuICBzdHlsZUxpbmtzJCA9IHRoaXMuc2VsZWN0ZWRTb3VyY2VMaW5rJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoc3JjKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHNyYyAmJlxuICAgICAgICBzcmMudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgIHNyYy5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wgPT09ICd0bXMnXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgLy8gV0FSTklORzogd2hlbiB1c2luZyBcImdldEdlb2RhdGFMaW5rc0Zyb21UbXNcIiwgbWFrZSBzdXJlIHRvIGFkZCBlcnJvciBoYW5kbGluZyB0byBwcmV2ZW50IHRoZSByZXN0IG9mIHRoZSBsb2dpYyBmcm9tIGZhaWxpbmdcbiAgICAgICAgICAvLyB0aGlzIG1heSBoYXBwZW4gd2hlbiBUTVMgZW5kcG9pbnQgaXMgaW4gZXJyb3JcbiAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmdldEdlb2RhdGFMaW5rc0Zyb21UbXMoXG4gICAgICAgICAgICBzcmMgYXMgRGF0YXNldFNlcnZpY2VEaXN0cmlidXRpb24sXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgIClcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgZm9yIG1hcGxpYnJlLXN0eWxlIGxpbmtzIGJlY2F1c2Ugd2hlbiBhIFRNUyBzZXJ2aWNlIGhhcyBubyBzdHlsZXMsXG4gICAgICAgICAgLy8gZ2V0R2VvZGF0YUxpbmtzRnJvbVRtcyByZXR1cm5zIHRoZSBvcmlnaW5hbCBUTVMgbGluaywgd2hpY2ggaXNuJ3QgYSBtYXBsaWJyZS1zdHlsZSBsaW5rXG4gICAgICAgICAgbWFwKFxuICAgICAgICAgICAgKGxpbmtzKSA9PlxuICAgICAgICAgICAgICBsaW5rcz8uZmlsdGVyKFxuICAgICAgICAgICAgICAgIChsaW5rKSA9PlxuICAgICAgICAgICAgICAgICAgbGluay50eXBlID09PSAnc2VydmljZScgJiZcbiAgICAgICAgICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnbWFwbGlicmUtc3R5bGUnXG4gICAgICAgICAgICAgICkgfHwgW11cbiAgICAgICAgICApLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKVxuICAgICAgICAgICAgcmV0dXJuIG9mKHNyYylcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICB9XG4gICAgICByZXR1cm4gb2YoW10pXG4gICAgfSksXG4gICAgdGFwKChzdHlsZXMpID0+IHtcbiAgICAgIGlmICh0aGlzLl9zdHlsZUZyb21Db25maWcgJiYgdGhpcy5fc3R5bGVGcm9tQ29uZmlnIDw9IHN0eWxlcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN0eWxlSWQkLm5leHQodGhpcy5fc3R5bGVGcm9tQ29uZmlnKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN0eWxlSWQkLm5leHQoMClcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApXG5cbiAgc3R5bGVEcm9wZG93bkNob2ljZXMkID0gdGhpcy5zdHlsZUxpbmtzJC5waXBlKFxuICAgIG1hcCgobGlua3MpID0+XG4gICAgICBsaW5rcy5sZW5ndGhcbiAgICAgICAgPyBsaW5rcy5tYXAoKGxpbmssIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgbGFiZWw6IGdldExpbmtMYWJlbChsaW5rKSxcbiAgICAgICAgICAgIHZhbHVlOiBpbmRleCxcbiAgICAgICAgICB9KSlcbiAgICAgICAgOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiAnXFx1MDBBMFxcdTAwQTBcXHUwMEEwXFx1MDBBMCcsXG4gICAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgKVxuICApXG5cbiAgc2VsZWN0ZWRMaW5rJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuc2VsZWN0ZWRTb3VyY2VMaW5rJCxcbiAgICB0aGlzLnN0eWxlTGlua3MkLFxuICAgIHRoaXMuc2VsZWN0ZWRTdHlsZUlkJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3NyYywgc3R5bGVzLCBzdHlsZUlkeF0pID0+IChzdHlsZXMubGVuZ3RoID8gc3R5bGVzW3N0eWxlSWR4XSA6IHNyYykpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gIClcblxuICBjdXJyZW50TGF5ZXJzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc2VsZWN0ZWRMaW5rJCwgdGhpcy5leGNsdWRlV2ZzJF0pLnBpcGUoXG4gICAgc3dpdGNoTWFwKChbbGluaywgZXhjbHVkZVdmc10pID0+IHtcbiAgICAgIGlmICghbGluaykge1xuICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICB9XG4gICAgICBpZiAoZXhjbHVkZVdmcyAmJiBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycpIHtcbiAgICAgICAgdGhpcy5oaWRlUHJldmlldyA9IHRydWVcbiAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgfVxuICAgICAgdGhpcy5oaWRlUHJldmlldyA9IGZhbHNlXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgICBpZiAobGluay5hY2Nlc3NSZXN0cmljdGVkKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlRXJyb3IoJ2RhdGFzZXQuZXJyb3IucmVzdHJpY3RlZEFjY2VzcycpXG4gICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmdldExheWVyRnJvbUxpbmsobGluaykucGlwZShcbiAgICAgICAgbWFwKChsYXllcikgPT4gW2xheWVyXSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKGUpXG4gICAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgICB9KSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSlcbiAgICAgIClcbiAgICB9KVxuICApXG5cbiAgbWFwQ29udGV4dCQ6IE9ic2VydmFibGU8TWFwQ29udGV4dD4gPSB0aGlzLmN1cnJlbnRMYXllcnMkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChsYXllcnMpID0+XG4gICAgICBmcm9tKGNyZWF0ZVZpZXdGcm9tTGF5ZXIobGF5ZXJzWzBdKSkucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSksIC8vIGNvdWxkIG5vdCB6b29tIG9uIHRoZSBsYXllcjogdXNlIHRoZSByZWNvcmQgZXh0ZW50XG4gICAgICAgIG1hcCgodmlldykgPT4gKHtcbiAgICAgICAgICBsYXllcnMsXG4gICAgICAgICAgdmlldyxcbiAgICAgICAgfSkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzZXRTZWxlY3Rpb24oKVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICksXG4gICAgc3RhcnRXaXRoKHtcbiAgICAgIGxheWVyczogW10sXG4gICAgICB2aWV3OiBudWxsLFxuICAgIH0pLFxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMubWRWaWV3RmFjYWRlLm1ldGFkYXRhJCksXG4gICAgbWFwKChbY29udGV4dCwgbWV0YWRhdGFdKSA9PiB7XG4gICAgICBpZiAoY29udGV4dC52aWV3KSByZXR1cm4gY29udGV4dFxuICAgICAgY29uc3QgZXh0ZW50ID0gdGhpcy5tYXBVdGlscy5nZXRSZWNvcmRFeHRlbnQobWV0YWRhdGEpXG4gICAgICBjb25zdCB2aWV3ID0gZXh0ZW50ID8geyBleHRlbnQgfSA6IG51bGxcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgIHZpZXcsXG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWRWaWV3RmFjYWRlOiBNZFZpZXdGYWNhZGUsXG4gICAgcHJpdmF0ZSBtYXBVdGlsczogTWFwVXRpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBtYXAgPSBhd2FpdCB0aGlzLm1hcENvbnRhaW5lci5vcGVubGF5ZXJzTWFwXG4gICAgcHJpb3JpdGl6ZVBhZ2VTY3JvbGwobWFwLmdldEludGVyYWN0aW9ucygpKVxuICB9XG5cbiAgb25NYXBGZWF0dXJlU2VsZWN0KGZlYXR1cmVzOiBGZWF0dXJlW10pOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0U2VsZWN0aW9uKClcbiAgICB0aGlzLnNlbGVjdGlvbiA9IGZlYXR1cmVzPy5sZW5ndGggPiAwICYmIGZlYXR1cmVzWzBdXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKHRoaXMuc2VsZWN0aW9uU3R5bGUpXG4gICAgfVxuICAgIHRoaXMuY2hhbmdlUmVmLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgb25Tb3VyY2VMb2FkRXJyb3IoZXJyb3I6IFNvdXJjZUxvYWRFcnJvckV2ZW50KSB7XG4gICAgaWYgKGVycm9yLmh0dHBTdGF0dXMgPT09IDQwMyB8fCBlcnJvci5odHRwU3RhdHVzID09PSA0MDEpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgZGF0YXNldC5lcnJvci5mb3JiaWRkZW5gKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGRhdGFzZXQuZXJyb3IuaHR0cGAsIHtcbiAgICAgICAgaW5mbzogZXJyb3IuaHR0cFN0YXR1cyxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmVzZXRTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAvLyBGSVhNRTogcmVzdG9yZSBzdHlsaW5nIG9mIHNlbGVjdGVkIGZlYXR1cmVcbiAgICAgIC8vIHRoaXMuc2VsZWN0aW9uLnNldFN0eWxlKG51bGwpXG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbFxuICB9XG5cbiAgZ2V0TGF5ZXJGcm9tTGluayhsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBPYnNlcnZhYmxlPE1hcENvbnRleHRMYXllcj4ge1xuICAgIGlmIChsaW5rLnR5cGUgPT09ICdzZXJ2aWNlJyAmJiBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtcycpIHtcbiAgICAgIHJldHVybiBvZih7XG4gICAgICAgIHVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgICAgdHlwZTogJ3dtcycsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3RtcydcbiAgICApIHtcbiAgICAgIC8vIEZJWE1FOiBoZXJlIHdlJ3JlIGFzc3VtaW5nIHRoYXQgdGhlIFRNUyBzZXJ2ZXMgdmVjdG9yIHRpbGVzIG9ubHk7IHNob3VsZCBiZSBjaGVja2VkIHdpdGggb2djLWNsaWVudCBmaXJzdFxuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgdXJsOiBsaW5rLnVybFxuICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgLnJlcGxhY2UoL1xcLz8kLywgYC8ke2xpbmsubmFtZX0ve3p9L3t4fS97eX0ucGJmYCksXG4gICAgICAgIHR5cGU6ICd4eXonLFxuICAgICAgICB0aWxlRm9ybWF0OiAnYXBwbGljYXRpb24vdm5kLm1hcGJveC12ZWN0b3ItdGlsZScsXG4gICAgICAgIG5hbWU6IGxpbmsubmFtZSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ21hcGxpYnJlLXN0eWxlJ1xuICAgICkge1xuICAgICAgcmV0dXJuIG9mKHtcbiAgICAgICAgdHlwZTogJ21hcGxpYnJlLXN0eWxlJyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgICBzdHlsZVVybDogbGluay51cmwudG9TdHJpbmcoKSxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dtdHMnXG4gICAgKSB7XG4gICAgICByZXR1cm4gb2Yoe1xuICAgICAgICB1cmw6IGxpbmsudXJsLnRvU3RyaW5nKCksXG4gICAgICAgIHR5cGU6ICd3bXRzJyxcbiAgICAgICAgbmFtZTogbGluay5uYW1lLFxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgKGxpbmsudHlwZSA9PT0gJ3NlcnZpY2UnICYmXG4gICAgICAgIChsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ3dmcycgfHxcbiAgICAgICAgICBsaW5rLmFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9PT0gJ2VzcmlSZXN0JyB8fFxuICAgICAgICAgIGxpbmsuYWNjZXNzU2VydmljZVByb3RvY29sID09PSAnb2djRmVhdHVyZXMnKSkgfHxcbiAgICAgIGxpbmsudHlwZSA9PT0gJ2Rvd25sb2FkJ1xuICAgICkge1xuICAgICAgY29uc3QgY2FjaGVBY3RpdmUgPSB0cnVlIC8vIFRPRE8gaW1wbGVtZW50IHdoZXRoZXIgc2hvdWxkIGJlIHRydWUgb3IgZmFsc2VcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnJlYWRBc0dlb0pzb24obGluaywgY2FjaGVBY3RpdmUpLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YSkgPT4gKHtcbiAgICAgICAgICB0eXBlOiAnZ2VvanNvbicsXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdwcm90b2NvbCBub3Qgc3VwcG9ydGVkJylcbiAgfVxuICBoYW5kbGVFcnJvcihlcnJvcjogRmV0Y2hFcnJvciB8IEVycm9yIHwgc3RyaW5nKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRmV0Y2hFcnJvcikge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBgZGF0YXNldC5lcnJvci4ke2Vycm9yLnR5cGV9YCxcbiAgICAgICAge1xuICAgICAgICAgIGluZm86IGVycm9yLmluZm8sXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIGNvbnNvbGUud2FybihlcnJvci5tZXNzYWdlKVxuICAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGVycm9yLm1lc3NhZ2UpXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3Iuc3RhY2sgfHwgZXJyb3IpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChlcnJvcilcbiAgICAgIGNvbnNvbGUud2FybihlcnJvcilcbiAgICB9XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICB0aGlzLmNoYW5nZVJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCBnYXAtWzEzcHhdXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgZ2FwLTQgcHktNCBweC01IGJnLXdoaXRlIGJvcmRlciBib3JkZXItY29sb3ItYm9yZGVyIHJvdW5kZWQtbGcgbXQtNlwiXG4gID5cbiAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgICpuZ0lmPVwiZGlzcGxheVNvdXJjZVwiXG4gICAgICBjbGFzcz1cInctZnVsbCBtZDpmbGV4LTEgbWQ6bWluLXctMFwiXG4gICAgICBleHRyYUJ0bkNsYXNzPVwiZm9udC1zYW5zIGZvbnQtYm9sZFwiXG4gICAgICBbdGl0bGVdPVwiJ21hcC5zZWxlY3QubGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtjaG9pY2VzXT1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICBbc2VsZWN0ZWRdPVwiX3NlbGVjdGVkQ2hvaWNlXCJcbiAgICAgIChzZWxlY3RWYWx1ZSk9XCJzZWxlY3RMaW5rVG9EaXNwbGF5KCRldmVudClcIlxuICAgID48L2duLXVpLWRyb3Bkb3duLXNlbGVjdG9yPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihzdHlsZUxpbmtzJCB8IGFzeW5jKT8ubGVuZ3RoID4gMDsgZWxzZSBzdHlsZURpc2FibGVkXCI+XG4gICAgICA8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWQ6ZmxleC0xIG1kOm1pbi13LTBcIlxuICAgICAgICBleHRyYUJ0bkNsYXNzPVwiZm9udC1zYW5zIGZvbnQtYm9sZFwiXG4gICAgICAgIFt0aXRsZV09XCInbWFwLnNlbGVjdC5zdHlsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbY2hvaWNlc109XCJzdHlsZURyb3Bkb3duQ2hvaWNlcyQgfCBhc3luY1wiXG4gICAgICAgIFtzZWxlY3RlZF09XCJfc3R5bGVGcm9tQ29uZmlnXCJcbiAgICAgICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdFN0eWxlVG9EaXNwbGF5KCRldmVudClcIlxuICAgICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNzdHlsZURpc2FibGVkPlxuICAgICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIG1kOmZsZXgtMSBtZDptaW4tdy0wIHRleHQtZ3JheS00MDBcIlxuICAgICAgICBleHRyYUJ0bkNsYXNzPVwiZm9udC1zYW5zIGZvbnQtYm9sZCB0ZXh0LWdyYXktNDAwXCJcbiAgICAgICAgW3RpdGxlXT1cIidtYXAuc2VsZWN0LnN0eWxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtjaG9pY2VzXT1cInN0eWxlRHJvcGRvd25DaG9pY2VzJCB8IGFzeW5jXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxuICAgICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxkaXYgY2xhc3M9XCJzZWxmLWVuZCBtZDptbC0yXCI+XG4gICAgICA8Z24tdWktZXh0ZXJuYWwtdmlld2VyLWJ1dHRvblxuICAgICAgICBleHRyYUNsYXNzPVwidy1bNDRweF0gaC1bNDRweF1cIlxuICAgICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgICAgPlxuICAgICAgPC9nbi11aS1leHRlcm5hbC12aWV3ZXItYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpZGVQcmV2aWV3OyBlbHNlIG1hcFZpZXdcIj5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiYmxvY2sgaC0xMiBwLTFcIlxuICAgID5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQuZmVhdHVyZS5saW1pdDwvc3Bhbj5cbiAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNtYXBWaWV3PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicmVsYXRpdmUgdy1mdWxsIGgtZnVsbCBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbGcgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICA+XG4gICAgICA8Z24tdWktbWFwLWNvbnRhaW5lclxuICAgICAgICAjbWFwQ29udGFpbmVyXG4gICAgICAgIFtjb250ZXh0XT1cIm1hcENvbnRleHQkIHwgYXN5bmNcIlxuICAgICAgICAoZmVhdHVyZXNDbGljayk9XCJvbk1hcEZlYXR1cmVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgIChzb3VyY2VMb2FkRXJyb3IpPVwib25Tb3VyY2VMb2FkRXJyb3IoJGV2ZW50KVwiXG4gICAgICA+PC9nbi11aS1tYXAtY29udGFpbmVyPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInRvcC1bMWVtXSByaWdodC1bMWVtXSBwLTMgYmctd2hpdGUgYWJzb2x1dGUgb3ZlcmZsb3cteS1hdXRvIG92ZXJmbG93LXgtaGlkZGVuIG1heC1oLTcyIHctNTZcIlxuICAgICAgICBbY2xhc3MuaGlkZGVuXT1cIiFzZWxlY3Rpb25cIlxuICAgICAgPlxuICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImxpZ2h0XCJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwicmVzZXRTZWxlY3Rpb24oKVwiXG4gICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgIC0tZ24tdWktYnV0dG9uLXdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgLS1nbi11aS1idXR0b24taGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIFwiXG4gICAgICAgICAgZXh0cmFDbGFzcz1cImFic29sdXRlIHJpZ2h0LVswLjVlbV0gbWwtWzhweF0gbXItWzEwcHhdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRDbG9zZVwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHRleHQtc21cIj48L25nLWljb24+XG4gICAgICAgIDwvZ24tdWktYnV0dG9uPlxuICAgICAgICA8Z24tdWktZmVhdHVyZS1kZXRhaWxcbiAgICAgICAgICBbZmVhdHVyZUNhdGFsb2ddPVwibWRWaWV3RmFjYWRlLmZlYXR1cmVDYXRhbG9nJCB8IGFzeW5jXCJcbiAgICAgICAgICBbZmVhdHVyZV09XCJzZWxlY3Rpb25cIlxuICAgICAgICA+PC9nbi11aS1mZWF0dXJlLWRldGFpbD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidG9wLVsxZW1dIHAtMyBiZy13aGl0ZSBhYnNvbHV0ZSBvdmVyZmxvdy15LWF1dG8gb3ZlcmZsb3cteC1oaWRkZW4gbWF4LWgtNzIgdy01NlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3JpZ2h0LVsxZW1dJzogIXNlbGVjdGlvbiwgJ3JpZ2h0LVsxNmVtXSc6IHNlbGVjdGlvbiB9XCJcbiAgICAgICAgW2hpZGRlbl09XCIhc2hvd0xlZ2VuZCB8fCAhbGVnZW5kRXhpc3RzXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBtYi0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSBmb250LWJvbGRcIiB0cmFuc2xhdGU+bWFwLmxlZ2VuZC50aXRsZTwvZGl2PlxuICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJsaWdodFwiXG4gICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlTGVnZW5kKClcIlxuICAgICAgICAgICAgc3R5bGU9XCJcbiAgICAgICAgICAgICAgLS1nbi11aS1idXR0b24tcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAtLWduLXVpLWJ1dHRvbi13aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgLS1nbi11aS1idXR0b24taGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIGV4dHJhQ2xhc3M9XCJtbC1bOHB4XSBtci1bMTBweF1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1pY29uIG5hbWU9XCJtYXRDbG9zZVwiIGNsYXNzPVwiYWxpZ24tbWlkZGxlIHRleHQtc21cIj48L25nLWljb24+XG4gICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Z24tdWktbWFwLWxlZ2VuZFxuICAgICAgICAgIFtjb250ZXh0XT1cIm1hcENvbnRleHQkIHwgYXN5bmNcIlxuICAgICAgICAgIChsZWdlbmRTdGF0dXNDaGFuZ2UpPVwib25MZWdlbmRTdGF0dXNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L2duLXVpLW1hcC1sZWdlbmQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGduLXVpLWJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFzaG93TGVnZW5kICYmIGxlZ2VuZEV4aXN0cyAmJiAhc2VsZWN0aW9uXCJcbiAgICAgICAgdHlwZT1cIm91dGxpbmVcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwidG9nZ2xlTGVnZW5kKClcIlxuICAgICAgICBleHRyYUNsYXNzPVwiYWJzb2x1dGUgdG9wLVsxZW1dIHJpZ2h0LVsxZW1dIHJvdW5kZWQgcC0xIHRleHQteHMgYmctd2hpdGVcIlxuICAgICAgICB0cmFuc2xhdGVcbiAgICAgID5cbiAgICAgICAgbWFwLmxlZ2VuZC50aXRsZVxuICAgICAgPC9nbi11aS1idXR0b24+XG5cbiAgICAgIDxnbi11aS1sb2FkaW5nLW1hc2tcbiAgICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBpbnNldC0wXCJcbiAgICAgICAgW21lc3NhZ2VdPVwiJ21hcC5sb2FkaW5nLmRhdGEnIHwgdHJhbnNsYXRlXCJcbiAgICAgID48L2duLXVpLWxvYWRpbmctbWFzaz5cbiAgICAgIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICAgICAqbmdJZj1cImVycm9yXCJcbiAgICAgICAgdHlwZT1cIndhcm5pbmdcIlxuICAgICAgICBpY29uPVwibWF0RXJyb3JPdXRsaW5lT3V0bGluZVwiXG4gICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgbS0yIGluc2V0LTBcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiB0cmFuc2xhdGU+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -2,6 +2,7 @@ import { Inject, Injectable } from '@angular/core';
|
|
|
2
2
|
import { ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_ROUTE_SERVICE, ROUTER_ROUTE_REUSE, } from '.';
|
|
3
3
|
import { Router } from '@angular/router';
|
|
4
4
|
import { ROUTER_CONFIG } from './router.config';
|
|
5
|
+
import { SortByEnum, } from '../../../../../../libs/common/domain/src/lib/model/search';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/router";
|
|
7
8
|
export class RouterService {
|
|
@@ -46,6 +47,9 @@ export class RouterService {
|
|
|
46
47
|
getOrganizationPageRoute() {
|
|
47
48
|
return ROUTER_ROUTE_ORGANIZATION;
|
|
48
49
|
}
|
|
50
|
+
getDefaultSort() {
|
|
51
|
+
return SortByEnum.RESOURCE_DATES;
|
|
52
|
+
}
|
|
49
53
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, deps: [{ token: ROUTER_CONFIG }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
50
54
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterService, providedIn: 'root' }); }
|
|
51
55
|
}
|
|
@@ -58,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
58
62
|
type: Inject,
|
|
59
63
|
args: [ROUTER_CONFIG]
|
|
60
64
|
}] }, { type: i1.Router }] });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcm91dGVyL3NyYy9saWIvZGVmYXVsdC9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLEdBQUcsQ0FBQTtBQUNWLE9BQU8sRUFBRSxNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFxQixNQUFNLGlCQUFpQixDQUFBO0FBQ2xFLE9BQU8sRUFDTCxVQUFVLEdBRVgsTUFBTSwyREFBMkQsQ0FBQTs7O0FBS2xFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ21DLFlBQStCLEVBQ3hELE1BQWM7UUFEVyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDeEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosVUFBVTtRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTztZQUNMLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxtQkFBbUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7WUFDdEU7Z0JBQ0UsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFO29CQUNKLFlBQVksRUFBRSxJQUFJO2lCQUNuQjtnQkFDRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyxvQkFBb0IsZ0JBQWdCO2dCQUM3QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyxvQkFBb0IsZ0JBQWdCO2dCQUM3QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyxrQkFBa0IsZ0JBQWdCO2dCQUMzQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7YUFDbEQ7WUFDRDtnQkFDRSxJQUFJLEVBQUUsR0FBRyx5QkFBeUIsUUFBUTtnQkFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCO2FBQ3hEO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxtQkFBbUIsQ0FBQTtJQUM1QixDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLE9BQU8seUJBQXlCLENBQUE7SUFDbEMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLFVBQVUsQ0FBQyxjQUFjLENBQUE7SUFDbEMsQ0FBQzsrR0FqRFUsYUFBYSxrQkFFZCxhQUFhO21IQUZaLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIFJPVVRFUl9ST1VURV9EQVRBU0VULFxuICBST1VURVJfUk9VVEVfT1JHQU5JWkFUSU9OLFxuICBST1VURVJfUk9VVEVfU0VBUkNILFxuICBST1VURVJfUk9VVEVfU0VSVklDRSxcbiAgUk9VVEVSX1JPVVRFX1JFVVNFLFxufSBmcm9tICcuJ1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBST1VURVJfQ09ORklHLCBSb3V0ZXJDb25maWdNb2RlbCB9IGZyb20gJy4vcm91dGVyLmNvbmZpZydcbmltcG9ydCB7XG4gIFNvcnRCeUVudW0sXG4gIFNvcnRCeUZpZWxkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSb3V0ZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChST1VURVJfQ09ORklHKSBwcm90ZWN0ZWQgcm91dGVyQ29uZmlnOiBSb3V0ZXJDb25maWdNb2RlbCxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBpbml0Um91dGVzKCkge1xuICAgIHRoaXMucm91dGVyLnJlc2V0Q29uZmlnKHRoaXMuYnVpbGRSb3V0ZXMoKSlcbiAgfVxuXG4gIGJ1aWxkUm91dGVzKCk6IFJvdXRlcyB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHsgcGF0aDogJycsIHJlZGlyZWN0VG86IGAvJHtST1VURVJfUk9VVEVfU0VBUkNIfWAsIHBhdGhNYXRjaDogJ2Z1bGwnIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IFJPVVRFUl9ST1VURV9TRUFSQ0gsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBzaG91bGREZXRhY2g6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBvbmVudDogdGhpcy5yb3V0ZXJDb25maWcuc2VhcmNoUm91dGVDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtST1VURVJfUk9VVEVfREFUQVNFVH0vOm1ldGFkYXRhVXVpZGAsXG4gICAgICAgIGNvbXBvbmVudDogdGhpcy5yb3V0ZXJDb25maWcucmVjb3JkUm91dGVDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtST1VURVJfUk9VVEVfU0VSVklDRX0vOm1ldGFkYXRhVXVpZGAsXG4gICAgICAgIGNvbXBvbmVudDogdGhpcy5yb3V0ZXJDb25maWcucmVjb3JkUm91dGVDb21wb25lbnQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiBgJHtST1VURVJfUk9VVEVfUkVVU0V9LzptZXRhZGF0YVV1aWRgLFxuICAgICAgICBjb21wb25lbnQ6IHRoaXMucm91dGVyQ29uZmlnLnJlY29yZFJvdXRlQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogYCR7Uk9VVEVSX1JPVVRFX09SR0FOSVpBVElPTn0vOm5hbWVgLFxuICAgICAgICBjb21wb25lbnQ6IHRoaXMucm91dGVyQ29uZmlnLm9yZ2FuaXphdGlvblJvdXRlQ29tcG9uZW50LFxuICAgICAgfSxcbiAgICBdXG4gIH1cblxuICBnZXRTZWFyY2hSb3V0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBST1VURVJfUk9VVEVfU0VBUkNIXG4gIH1cblxuICBnZXRPcmdhbml6YXRpb25QYWdlUm91dGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gUk9VVEVSX1JPVVRFX09SR0FOSVpBVElPTlxuICB9XG5cbiAgZ2V0RGVmYXVsdFNvcnQoKTogU29ydEJ5RmllbGQge1xuICAgIHJldHVybiBTb3J0QnlFbnVtLlJFU09VUkNFX0RBVEVTXG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,7 +3,6 @@ import { Inject, Injectable } from '@angular/core';
|
|
|
3
3
|
import { Router } from '@angular/router';
|
|
4
4
|
import { MdViewActions } from '../../../../../../../libs/feature/record/src';
|
|
5
5
|
import { FieldsService, Paginate, SetFilters, SetSortBy, } from '../../../../../../../libs/feature/search/src';
|
|
6
|
-
import { SortByEnum, } from '../../../../../../../libs/common/domain/src/lib/model/search';
|
|
7
6
|
import { Actions, createEffect, ofType } from '@ngrx/effects';
|
|
8
7
|
import { navigation } from '@ngrx/router-store/data-persistence';
|
|
9
8
|
import { of, pairwise, startWith } from 'rxjs';
|
|
@@ -13,20 +12,23 @@ import { RouterFacade } from './router.facade';
|
|
|
13
12
|
import { ROUTE_PARAMS } from '../constants';
|
|
14
13
|
import { sortByFromString } from '../../../../../../../libs/util/shared/src';
|
|
15
14
|
import { ROUTER_CONFIG } from '../router.config';
|
|
15
|
+
import { RouterService } from '../router.service';
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
17
|
import * as i1 from "@ngrx/effects";
|
|
18
18
|
import * as i2 from "@angular/router";
|
|
19
19
|
import * as i3 from "@angular/common";
|
|
20
20
|
import * as i4 from "./router.facade";
|
|
21
21
|
import * as i5 from "../../../../../../../libs/feature/search/src";
|
|
22
|
+
import * as i6 from "../router.service";
|
|
22
23
|
export class RouterEffects {
|
|
23
|
-
constructor(_actions$, _router, _location, facade, routerConfig, fieldsService) {
|
|
24
|
+
constructor(_actions$, _router, _location, facade, routerConfig, fieldsService, routerService) {
|
|
24
25
|
this._actions$ = _actions$;
|
|
25
26
|
this._router = _router;
|
|
26
27
|
this._location = _location;
|
|
27
28
|
this.facade = facade;
|
|
28
29
|
this.routerConfig = routerConfig;
|
|
29
30
|
this.fieldsService = fieldsService;
|
|
31
|
+
this.routerService = routerService;
|
|
30
32
|
this.navigate$ = createEffect(() => this._actions$.pipe(ofType(RouterActions.goAction), tap(({ path, query: queryParams, queryParamsHandling }) => {
|
|
31
33
|
this._router.navigate([path], {
|
|
32
34
|
queryParams,
|
|
@@ -38,14 +40,14 @@ export class RouterEffects {
|
|
|
38
40
|
.pipe(map((filters) => [searchParams, filters]))), startWith([null, {}]), pairwise(), map(([[oldParams, oldFilters], [newParams, newFilters]]) => {
|
|
39
41
|
let sortBy = ROUTE_PARAMS.SORT in newParams
|
|
40
42
|
? sortByFromString(newParams[ROUTE_PARAMS.SORT])
|
|
41
|
-
:
|
|
43
|
+
: this.routerService.getDefaultSort();
|
|
42
44
|
let pageNumber = ROUTE_PARAMS.PAGE in newParams
|
|
43
45
|
? parseInt(newParams[ROUTE_PARAMS.PAGE])
|
|
44
46
|
: 1;
|
|
45
47
|
if (oldParams !== null) {
|
|
46
48
|
const oldSort = ROUTE_PARAMS.SORT in oldParams
|
|
47
49
|
? sortByFromString(oldParams[ROUTE_PARAMS.SORT])
|
|
48
|
-
:
|
|
50
|
+
: this.routerService.getDefaultSort();
|
|
49
51
|
if (JSON.stringify(sortBy) === JSON.stringify(oldSort)) {
|
|
50
52
|
sortBy = null;
|
|
51
53
|
}
|
|
@@ -102,7 +104,7 @@ export class RouterEffects {
|
|
|
102
104
|
this.navigateBack$ = createEffect(() => this._actions$.pipe(ofType(RouterActions.backAction), tap(() => this._location.back())), { dispatch: false });
|
|
103
105
|
this.navigateForward$ = createEffect(() => this._actions$.pipe(ofType(RouterActions.forwardAction), tap(() => this._location.forward())), { dispatch: false });
|
|
104
106
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, deps: [{ token: i1.Actions }, { token: i2.Router }, { token: i3.Location }, { token: i4.RouterFacade }, { token: ROUTER_CONFIG }, { token: i5.FieldsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, deps: [{ token: i1.Actions }, { token: i2.Router }, { token: i3.Location }, { token: i4.RouterFacade }, { token: ROUTER_CONFIG }, { token: i5.FieldsService }, { token: i6.RouterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
106
108
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects }); }
|
|
107
109
|
}
|
|
108
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RouterEffects, decorators: [{
|
|
@@ -110,5 +112,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
110
112
|
}], ctorParameters: () => [{ type: i1.Actions }, { type: i2.Router }, { type: i3.Location }, { type: i4.RouterFacade }, { type: undefined, decorators: [{
|
|
111
113
|
type: Inject,
|
|
112
114
|
args: [ROUTER_CONFIG]
|
|
113
|
-
}] }, { type: i5.FieldsService }] });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcm91dGVyL3NyYy9saWIvZGVmYXVsdC9zdGF0ZS9yb3V0ZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUEwQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDNUUsT0FBTyxFQUNMLGFBQWEsRUFDYixRQUFRLEVBRVIsVUFBVSxFQUNWLFNBQVMsR0FDVixNQUFNLDhDQUE4QyxDQUFBO0FBQ3JELE9BQU8sRUFFTCxVQUFVLEdBQ1gsTUFBTSw4REFBOEQsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuRCxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQXFCLE1B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LEdBQUcsRUFBRSxDQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNqQixNQUFNLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxFQUNuQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUNwQyxFQUNILEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUNwQixDQUFBO0lBbElFLENBQUM7K0dBUk8sYUFBYSxtSEFNZCxhQUFhO21IQU5aLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVU7OzBCQU9OLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IE1kVmlld0FjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcmVjb3JkL3NyYydcbmltcG9ydCB7XG4gIEZpZWxkc1NlcnZpY2UsXG4gIFBhZ2luYXRlLFxuICBTZWFyY2hBY3Rpb25zLFxuICBTZXRGaWx0ZXJzLFxuICBTZXRTb3J0QnksXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9zZWFyY2gvc3JjJ1xuaW1wb3J0IHtcbiAgRmllbGRGaWx0ZXJzLFxuICBTb3J0QnlFbnVtLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9zZWFyY2gnXG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnXG5pbXBvcnQgeyBuYXZpZ2F0aW9uIH0gZnJvbSAnQG5ncngvcm91dGVyLXN0b3JlL2RhdGEtcGVyc2lzdGVuY2UnXG5pbXBvcnQgeyBvZiwgcGFpcndpc2UsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCAqIGFzIFJvdXRlckFjdGlvbnMgZnJvbSAnLi9yb3V0ZXIuYWN0aW9ucydcbmltcG9ydCB7IFJvdXRlckZhY2FkZSB9IGZyb20gJy4vcm91dGVyLmZhY2FkZSdcbmltcG9ydCB7IFJPVVRFX1BBUkFNUyB9IGZyb20gJy4uL2NvbnN0YW50cydcbmltcG9ydCB7IHNvcnRCeUZyb21TdHJpbmcgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IFJPVVRFUl9DT05GSUcsIFJvdXRlckNvbmZpZ01vZGVsIH0gZnJvbSAnLi4vcm91dGVyLmNvbmZpZydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJvdXRlckVmZmVjdHMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9hY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIF9sb2NhdGlvbjogTG9jYXRpb24sXG4gICAgcHJpdmF0ZSBmYWNhZGU6IFJvdXRlckZhY2FkZSxcbiAgICBASW5qZWN0KFJPVVRFUl9DT05GSUcpIHByaXZhdGUgcm91dGVyQ29uZmlnOiBSb3V0ZXJDb25maWdNb2RlbCxcbiAgICBwcml2YXRlIGZpZWxkc1NlcnZpY2U6IEZpZWxkc1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5hdmlnYXRlJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5fYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKFJvdXRlckFjdGlvbnMuZ29BY3Rpb24pLFxuICAgICAgICB0YXAoKHsgcGF0aCwgcXVlcnk6IHF1ZXJ5UGFyYW1zLCBxdWVyeVBhcmFtc0hhbmRsaW5nIH0pID0+IHtcbiAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW3BhdGhdLCB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtcyxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmcsXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApXG5cbiAgc3luY1NlYXJjaFN0YXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuZmFjYWRlLnNlYXJjaFBhcmFtcyQucGlwZShcbiAgICAgIG1lcmdlTWFwKChzZWFyY2hQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+XG4gICAgICAgIHRoaXMuZmllbGRzU2VydmljZVxuICAgICAgICAgIC5idWlsZEZpbHRlcnNGcm9tRmllbGRWYWx1ZXMoc2VhcmNoUGFyYW1zKVxuICAgICAgICAgIC5waXBlKG1hcCgoZmlsdGVycykgPT4gW3NlYXJjaFBhcmFtcywgZmlsdGVyc10gYXMgY29uc3QpKVxuICAgICAgKSxcbiAgICAgIHN0YXJ0V2l0aChbbnVsbCwge31dIGFzIFtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBGaWVsZEZpbHRlcnNdKSxcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKFtbb2xkUGFyYW1zLCBvbGRGaWx0ZXJzXSwgW25ld1BhcmFtcywgbmV3RmlsdGVyc11dKSA9PiB7XG4gICAgICAgIGxldCBzb3J0QnkgPVxuICAgICAgICAgIFJPVVRFX1BBUkFNUy5TT1JUIGluIG5ld1BhcmFtc1xuICAgICAgICAgICAgPyBzb3J0QnlGcm9tU3RyaW5nKG5ld1BhcmFtc1tST1VURV9QQVJBTVMuU09SVF0pXG4gICAgICAgICAgICA6IFNvcnRCeUVudW0uQ0hBTkdFX0RBVEVcbiAgICAgICAgbGV0IHBhZ2VOdW1iZXIgPVxuICAgICAgICAgIFJPVVRFX1BBUkFNUy5QQUdFIGluIG5ld1BhcmFtc1xuICAgICAgICAgICAgPyBwYXJzZUludChuZXdQYXJhbXNbUk9VVEVfUEFSQU1TLlBBR0VdKVxuICAgICAgICAgICAgOiAxXG4gICAgICAgIGlmIChvbGRQYXJhbXMgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBvbGRTb3J0ID1cbiAgICAgICAgICAgIFJPVVRFX1BBUkFNUy5TT1JUIGluIG9sZFBhcmFtc1xuICAgICAgICAgICAgICA/IHNvcnRCeUZyb21TdHJpbmcob2xkUGFyYW1zW1JPVVRFX1BBUkFNUy5TT1JUXSlcbiAgICAgICAgICAgICAgOiBTb3J0QnlFbnVtLkNIQU5HRV9EQVRFXG4gICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KHNvcnRCeSkgPT09IEpTT04uc3RyaW5naWZ5KG9sZFNvcnQpKSB7XG4gICAgICAgICAgICBzb3J0QnkgPSBudWxsXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG9sZFBhZ2UgPVxuICAgICAgICAgICAgUk9VVEVfUEFSQU1TLlBBR0UgaW4gb2xkUGFyYW1zXG4gICAgICAgICAgICAgID8gcGFyc2VJbnQob2xkUGFyYW1zW1JPVVRFX1BBUkFNUy5QQUdFXSlcbiAgICAgICAgICAgICAgOiAxXG4gICAgICAgICAgaWYgKHBhZ2VOdW1iZXIgPT09IG9sZFBhZ2UpIHtcbiAgICAgICAgICAgIHBhZ2VOdW1iZXIgPSBudWxsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPVxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG9sZEZpbHRlcnMpID09PSBKU09OLnN0cmluZ2lmeShuZXdGaWx0ZXJzKVxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IG5ld0ZpbHRlcnNcbiAgICAgICAgcmV0dXJuIFtzb3J0QnksIHBhZ2VOdW1iZXIsIGZpbHRlcnNdIGFzIGNvbnN0XG4gICAgICB9KSxcbiAgICAgIG1lcmdlTWFwKChbc29ydEJ5LCBwYWdlTnVtYmVyLCBmaWx0ZXJzXSkgPT4ge1xuICAgICAgICBjb25zdCBhY3Rpb25zOiBTZWFyY2hBY3Rpb25zW10gPSBbXVxuICAgICAgICBpZiAoZmlsdGVycyAhPT0gbnVsbCkge1xuICAgICAgICAgIGFjdGlvbnMucHVzaChuZXcgU2V0RmlsdGVycyhmaWx0ZXJzLCB0aGlzLnJvdXRlckNvbmZpZy5zZWFyY2hTdGF0ZUlkKSlcbiAgICAgICAgfVxuICAgICAgICBpZiAoc29ydEJ5ICE9PSBudWxsKSB7XG4gICAgICAgICAgYWN0aW9ucy5wdXNoKG5ldyBTZXRTb3J0Qnkoc29ydEJ5LCB0aGlzLnJvdXRlckNvbmZpZy5zZWFyY2hTdGF0ZUlkKSlcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFnZU51bWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgICAgIG5ldyBQYWdpbmF0ZShwYWdlTnVtYmVyLCB0aGlzLnJvdXRlckNvbmZpZy5zZWFyY2hTdGF0ZUlkKVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoLi4uYWN0aW9ucylcbiAgICAgIH0pXG4gICAgKVxuICApXG5cbiAgLyoqXG4gICAqIFRoaXMgZWZmZWN0IHdpbGwgbG9hZCB0aGUgbWV0YWRhdGEgd2hlbiBhIG5hdmlnYXRpb24gdG9cbiAgICogYSBtZXRhZGF0YSByZWNvcmQgaGFwcGVuc1xuICAgKi9cbiAgbmF2aWdhdGVUb01ldGFkYXRhJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuX2FjdGlvbnMkLnBpcGUoXG4gICAgICBuYXZpZ2F0aW9uKHRoaXMucm91dGVyQ29uZmlnLnJlY29yZFJvdXRlQ29tcG9uZW50LCB7XG4gICAgICAgIHJ1bjogKGFjdGl2YXRlZFJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YoXG4gICAgICAgICAgICBNZFZpZXdBY3Rpb25zLnNldEluY29tcGxldGVNZXRhZGF0YSh7XG4gICAgICAgICAgICAgIGluY29tcGxldGU6IHtcbiAgICAgICAgICAgICAgICB1bmlxdWVJZGVudGlmaWVyOiBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LnBhcmFtcy5tZXRhZGF0YVV1aWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBNZFZpZXdBY3Rpb25zLmxvYWRGdWxsTWV0YWRhdGEoe1xuICAgICAgICAgICAgICB1dWlkOiBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LnBhcmFtcy5tZXRhZGF0YVV1aWQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgfSxcblxuICAgICAgICBvbkVycm9yKGE6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdOYXZpZ2F0aW9uIGZhaWxlZCcsIGUpXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgKVxuXG4gIC8qKlxuICAgKiBUaGlzIGVmZmVjdCB3aWxsIGNsb3NlIHRoZSBtZXRhZGF0YSB3aGVuIGEgbmF2aWdhdGlvbiB0b1xuICAgKiB0aGUgc2VhcmNoIHJlc3VsdHMgaGFwcGVuc1xuICAgKi9cbiAgbmF2aWdhdGVUb1NlYXJjaCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLl9hY3Rpb25zJC5waXBlKFxuICAgICAgbmF2aWdhdGlvbih0aGlzLnJvdXRlckNvbmZpZy5zZWFyY2hSb3V0ZUNvbXBvbmVudCwge1xuICAgICAgICBydW46ICgpID0+IE1kVmlld0FjdGlvbnMuY2xvc2VNZXRhZGF0YSgpLFxuICAgICAgfSlcbiAgICApXG4gIClcblxuICBuYXZpZ2F0ZUJhY2skID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLl9hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoUm91dGVyQWN0aW9ucy5iYWNrQWN0aW9uKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2xvY2F0aW9uLmJhY2soKSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApXG5cbiAgbmF2aWdhdGVGb3J3YXJkJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5fYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKFJvdXRlckFjdGlvbnMuZm9yd2FyZEFjdGlvbiksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLl9sb2NhdGlvbi5mb3J3YXJkKCkpXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKVxufVxuIl19
|
|
115
|
+
}] }, { type: i5.FieldsService }, { type: i6.RouterService }] });
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvcm91dGVyL3NyYy9saWIvZGVmYXVsdC9zdGF0ZS9yb3V0ZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbEQsT0FBTyxFQUEwQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDNUUsT0FBTyxFQUNMLGFBQWEsRUFDYixRQUFRLEVBRVIsVUFBVSxFQUNWLFNBQVMsR0FDVixNQUFNLDhDQUE4QyxDQUFBO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDaEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUE7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1B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QyxFQUNILEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUNwQixDQUFBO1FBRUQscUJBQWdCLEdBQUcsWUFBWSxDQUM3QixHQUFHLEVBQUUsQ0FDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDakIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFDbkMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FDcEMsRUFDSCxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FDcEIsQ0FBQTtJQWxJRSxDQUFDOytHQVRPLGFBQWEsbUhBTWQsYUFBYTttSEFOWixhQUFhOzs0RkFBYixhQUFhO2tCQUR6QixVQUFVOzswQkFPTixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBNZFZpZXdBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL3JlY29yZC9zcmMnXG5pbXBvcnQge1xuICBGaWVsZHNTZXJ2aWNlLFxuICBQYWdpbmF0ZSxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgU2V0RmlsdGVycyxcbiAgU2V0U29ydEJ5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYydcbmltcG9ydCB7IEZpZWxkRmlsdGVycyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3NlYXJjaCdcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cydcbmltcG9ydCB7IG5hdmlnYXRpb24gfSBmcm9tICdAbmdyeC9yb3V0ZXItc3RvcmUvZGF0YS1wZXJzaXN0ZW5jZSdcbmltcG9ydCB7IG9mLCBwYWlyd2lzZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgbWVyZ2VNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0ICogYXMgUm91dGVyQWN0aW9ucyBmcm9tICcuL3JvdXRlci5hY3Rpb25zJ1xuaW1wb3J0IHsgUm91dGVyRmFjYWRlIH0gZnJvbSAnLi9yb3V0ZXIuZmFjYWRlJ1xuaW1wb3J0IHsgUk9VVEVfUEFSQU1TIH0gZnJvbSAnLi4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgc29ydEJ5RnJvbVN0cmluZyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgUk9VVEVSX0NPTkZJRywgUm91dGVyQ29uZmlnTW9kZWwgfSBmcm9tICcuLi9yb3V0ZXIuY29uZmlnJ1xuaW1wb3J0IHsgUm91dGVyU2VydmljZSB9IGZyb20gJy4uL3JvdXRlci5zZXJ2aWNlJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUm91dGVyRWZmZWN0cyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2FjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgX2xvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIGZhY2FkZTogUm91dGVyRmFjYWRlLFxuICAgIEBJbmplY3QoUk9VVEVSX0NPTkZJRykgcHJpdmF0ZSByb3V0ZXJDb25maWc6IFJvdXRlckNvbmZpZ01vZGVsLFxuICAgIHByaXZhdGUgZmllbGRzU2VydmljZTogRmllbGRzU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlclNlcnZpY2U6IFJvdXRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIG5hdmlnYXRlJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5fYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKFJvdXRlckFjdGlvbnMuZ29BY3Rpb24pLFxuICAgICAgICB0YXAoKHsgcGF0aCwgcXVlcnk6IHF1ZXJ5UGFyYW1zLCBxdWVyeVBhcmFtc0hhbmRsaW5nIH0pID0+IHtcbiAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW3BhdGhdLCB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtcyxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmcsXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApXG5cbiAgc3luY1NlYXJjaFN0YXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuZmFjYWRlLnNlYXJjaFBhcmFtcyQucGlwZShcbiAgICAgIG1lcmdlTWFwKChzZWFyY2hQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+XG4gICAgICAgIHRoaXMuZmllbGRzU2VydmljZVxuICAgICAgICAgIC5idWlsZEZpbHRlcnNGcm9tRmllbGRWYWx1ZXMoc2VhcmNoUGFyYW1zKVxuICAgICAgICAgIC5waXBlKG1hcCgoZmlsdGVycykgPT4gW3NlYXJjaFBhcmFtcywgZmlsdGVyc10gYXMgY29uc3QpKVxuICAgICAgKSxcbiAgICAgIHN0YXJ0V2l0aChbbnVsbCwge31dIGFzIFtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBGaWVsZEZpbHRlcnNdKSxcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKFtbb2xkUGFyYW1zLCBvbGRGaWx0ZXJzXSwgW25ld1BhcmFtcywgbmV3RmlsdGVyc11dKSA9PiB7XG4gICAgICAgIGxldCBzb3J0QnkgPVxuICAgICAgICAgIFJPVVRFX1BBUkFNUy5TT1JUIGluIG5ld1BhcmFtc1xuICAgICAgICAgICAgPyBzb3J0QnlGcm9tU3RyaW5nKG5ld1BhcmFtc1tST1VURV9QQVJBTVMuU09SVF0pXG4gICAgICAgICAgICA6IHRoaXMucm91dGVyU2VydmljZS5nZXREZWZhdWx0U29ydCgpXG4gICAgICAgIGxldCBwYWdlTnVtYmVyID1cbiAgICAgICAgICBST1VURV9QQVJBTVMuUEFHRSBpbiBuZXdQYXJhbXNcbiAgICAgICAgICAgID8gcGFyc2VJbnQobmV3UGFyYW1zW1JPVVRFX1BBUkFNUy5QQUdFXSlcbiAgICAgICAgICAgIDogMVxuICAgICAgICBpZiAob2xkUGFyYW1zICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgb2xkU29ydCA9XG4gICAgICAgICAgICBST1VURV9QQVJBTVMuU09SVCBpbiBvbGRQYXJhbXNcbiAgICAgICAgICAgICAgPyBzb3J0QnlGcm9tU3RyaW5nKG9sZFBhcmFtc1tST1VURV9QQVJBTVMuU09SVF0pXG4gICAgICAgICAgICAgIDogdGhpcy5yb3V0ZXJTZXJ2aWNlLmdldERlZmF1bHRTb3J0KClcbiAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoc29ydEJ5KSA9PT0gSlNPTi5zdHJpbmdpZnkob2xkU29ydCkpIHtcbiAgICAgICAgICAgIHNvcnRCeSA9IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3Qgb2xkUGFnZSA9XG4gICAgICAgICAgICBST1VURV9QQVJBTVMuUEFHRSBpbiBvbGRQYXJhbXNcbiAgICAgICAgICAgICAgPyBwYXJzZUludChvbGRQYXJhbXNbUk9VVEVfUEFSQU1TLlBBR0VdKVxuICAgICAgICAgICAgICA6IDFcbiAgICAgICAgICBpZiAocGFnZU51bWJlciA9PT0gb2xkUGFnZSkge1xuICAgICAgICAgICAgcGFnZU51bWJlciA9IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsdGVycyA9XG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkob2xkRmlsdGVycykgPT09IEpTT04uc3RyaW5naWZ5KG5ld0ZpbHRlcnMpXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogbmV3RmlsdGVyc1xuICAgICAgICByZXR1cm4gW3NvcnRCeSwgcGFnZU51bWJlciwgZmlsdGVyc10gYXMgY29uc3RcbiAgICAgIH0pLFxuICAgICAgbWVyZ2VNYXAoKFtzb3J0QnksIHBhZ2VOdW1iZXIsIGZpbHRlcnNdKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGlvbnM6IFNlYXJjaEFjdGlvbnNbXSA9IFtdXG4gICAgICAgIGlmIChmaWx0ZXJzICE9PSBudWxsKSB7XG4gICAgICAgICAgYWN0aW9ucy5wdXNoKG5ldyBTZXRGaWx0ZXJzKGZpbHRlcnMsIHRoaXMucm91dGVyQ29uZmlnLnNlYXJjaFN0YXRlSWQpKVxuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0QnkgIT09IG51bGwpIHtcbiAgICAgICAgICBhY3Rpb25zLnB1c2gobmV3IFNldFNvcnRCeShzb3J0QnksIHRoaXMucm91dGVyQ29uZmlnLnNlYXJjaFN0YXRlSWQpKVxuICAgICAgICB9XG4gICAgICAgIGlmIChwYWdlTnVtYmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgbmV3IFBhZ2luYXRlKHBhZ2VOdW1iZXIsIHRoaXMucm91dGVyQ29uZmlnLnNlYXJjaFN0YXRlSWQpXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZiguLi5hY3Rpb25zKVxuICAgICAgfSlcbiAgICApXG4gIClcblxuICAvKipcbiAgICogVGhpcyBlZmZlY3Qgd2lsbCBsb2FkIHRoZSBtZXRhZGF0YSB3aGVuIGEgbmF2aWdhdGlvbiB0b1xuICAgKiBhIG1ldGFkYXRhIHJlY29yZCBoYXBwZW5zXG4gICAqL1xuICBuYXZpZ2F0ZVRvTWV0YWRhdGEkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5fYWN0aW9ucyQucGlwZShcbiAgICAgIG5hdmlnYXRpb24odGhpcy5yb3V0ZXJDb25maWcucmVjb3JkUm91dGVDb21wb25lbnQsIHtcbiAgICAgICAgcnVuOiAoYWN0aXZhdGVkUm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4ge1xuICAgICAgICAgIHJldHVybiBvZihcbiAgICAgICAgICAgIE1kVmlld0FjdGlvbnMuc2V0SW5jb21wbGV0ZU1ldGFkYXRhKHtcbiAgICAgICAgICAgICAgaW5jb21wbGV0ZToge1xuICAgICAgICAgICAgICAgIHVuaXF1ZUlkZW50aWZpZXI6IGFjdGl2YXRlZFJvdXRlU25hcHNob3QucGFyYW1zLm1ldGFkYXRhVXVpZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogJycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIE1kVmlld0FjdGlvbnMubG9hZEZ1bGxNZXRhZGF0YSh7XG4gICAgICAgICAgICAgIHV1aWQ6IGFjdGl2YXRlZFJvdXRlU25hcHNob3QucGFyYW1zLm1ldGFkYXRhVXVpZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICB9LFxuXG4gICAgICAgIG9uRXJyb3IoYTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ05hdmlnYXRpb24gZmFpbGVkJywgZSlcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICApXG5cbiAgLyoqXG4gICAqIFRoaXMgZWZmZWN0IHdpbGwgY2xvc2UgdGhlIG1ldGFkYXRhIHdoZW4gYSBuYXZpZ2F0aW9uIHRvXG4gICAqIHRoZSBzZWFyY2ggcmVzdWx0cyBoYXBwZW5zXG4gICAqL1xuICBuYXZpZ2F0ZVRvU2VhcmNoJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuX2FjdGlvbnMkLnBpcGUoXG4gICAgICBuYXZpZ2F0aW9uKHRoaXMucm91dGVyQ29uZmlnLnNlYXJjaFJvdXRlQ29tcG9uZW50LCB7XG4gICAgICAgIHJ1bjogKCkgPT4gTWRWaWV3QWN0aW9ucy5jbG9zZU1ldGFkYXRhKCksXG4gICAgICB9KVxuICAgIClcbiAgKVxuXG4gIG5hdmlnYXRlQmFjayQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuX2FjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShSb3V0ZXJBY3Rpb25zLmJhY2tBY3Rpb24pLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5fbG9jYXRpb24uYmFjaygpKVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gIClcblxuICBuYXZpZ2F0ZUZvcndhcmQkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLl9hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoUm91dGVyQWN0aW9ucy5mb3J3YXJkQWN0aW9uKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2xvY2F0aW9uLmZvcndhcmQoKSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApXG59XG4iXX0=
|
|
@@ -18,33 +18,29 @@ export class SortByComponent {
|
|
|
18
18
|
this.choices = [
|
|
19
19
|
{
|
|
20
20
|
label: marker('results.sortBy.relevancy'),
|
|
21
|
-
value: SortByEnum.RELEVANCY
|
|
21
|
+
value: SortByEnum.RELEVANCY,
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
label: marker('results.sortBy.dateStamp'),
|
|
25
|
-
value: SortByEnum.
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
label: marker('results.sortBy.changeDate'),
|
|
29
|
-
value: SortByEnum.CHANGE_DATE.join(','),
|
|
25
|
+
value: SortByEnum.RESOURCE_DATES,
|
|
30
26
|
},
|
|
31
27
|
{
|
|
32
28
|
label: marker('results.sortBy.popularity'),
|
|
33
|
-
value: SortByEnum.POPULARITY
|
|
29
|
+
value: SortByEnum.POPULARITY,
|
|
34
30
|
},
|
|
35
31
|
];
|
|
36
|
-
this.currentSortBy$ = this.facade.sortBy$.pipe(filter((sortBy) => !!sortBy), map((sortBy) => sortBy
|
|
32
|
+
this.currentSortBy$ = this.facade.sortBy$.pipe(filter((sortBy) => !!sortBy), map((sortBy) => sortBy));
|
|
37
33
|
}
|
|
38
34
|
ngOnInit() {
|
|
39
35
|
if (this.isQualitySortable) {
|
|
40
36
|
this.choices.push({
|
|
41
37
|
label: marker('results.sortBy.qualityScore'),
|
|
42
|
-
value: SortByEnum.QUALITY_SCORE
|
|
38
|
+
value: SortByEnum.QUALITY_SCORE,
|
|
43
39
|
});
|
|
44
40
|
}
|
|
45
41
|
}
|
|
46
|
-
changeSortBy(
|
|
47
|
-
this.searchService.setSortBy(
|
|
42
|
+
changeSortBy(criteria) {
|
|
43
|
+
this.searchService.setSortBy(criteria);
|
|
48
44
|
}
|
|
49
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortByComponent, deps: [{ token: i1.SearchFacade }, { token: i2.SearchService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
46
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SortByComponent, isStandalone: true, selector: "gn-ui-sort-by", inputs: { isQualitySortable: "isQualitySortable" }, ngImport: i0, template: "<gn-ui-dropdown-selector\n [title]=\"'search.field.sortBy' | translate\"\n [choices]=\"choices\"\n (selectValue)=\"changeSortBy($event)\"\n [selected]=\"currentSortBy$ | async\"\n ariaName=\"search-sort-by\"\n></gn-ui-dropdown-selector>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
@@ -55,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
55
51
|
}], ctorParameters: () => [{ type: i1.SearchFacade }, { type: i2.SearchService }], propDecorators: { isQualitySortable: [{
|
|
56
52
|
type: Input
|
|
57
53
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ieS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvc29ydC1ieS9zb3J0LWJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9zZWFyY2gvc3JjL2xpYi9zb3J0LWJ5L3NvcnQtYnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hFLE9BQU8sRUFDTCxVQUFVLEdBRVgsTUFBTSwyREFBMkQsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7Ozs7QUFhbkQsTUFBTSxPQUFPLGVBQWU7SUFxQjFCLFlBQ1UsTUFBb0IsRUFDcEIsYUFBNEI7UUFENUIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNwQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXJCdEMsWUFBTyxHQUFpQjtZQUN0QjtnQkFDRSxLQUFLLEVBQUUsTUFBTSxDQUFDLDBCQUEwQixDQUFDO2dCQUN6QyxLQUFLLEVBQUUsVUFBVSxDQUFDLFNBQVM7YUFDNUI7WUFDRDtnQkFDRSxLQUFLLEVBQUUsTUFBTSxDQUFDLDBCQUEwQixDQUFDO2dCQUN6QyxLQUFLLEVBQUUsVUFBVSxDQUFDLGNBQWM7YUFDakM7WUFDRDtnQkFDRSxLQUFLLEVBQUUsTUFBTSxDQUFDLDJCQUEyQixDQUFDO2dCQUMxQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFVBQVU7YUFDN0I7U0FDRixDQUFBO1FBQ0QsbUJBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3ZDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUM1QixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUN4QixDQUFBO0lBS0UsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixLQUFLLEVBQUUsTUFBTSxDQUFDLDZCQUE2QixDQUFDO2dCQUM1QyxLQUFLLEVBQUUsVUFBVSxDQUFDLGFBQWE7YUFDaEMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsUUFBcUI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDeEMsQ0FBQzsrR0FyQ1UsZUFBZTttR0FBZixlQUFlLDZIQ3hCNUIscVBBT0EsMkNEZVksWUFBWSxvRkFBRSx5QkFBeUIsZ05BQUUsYUFBYTs7NEZBRXJELGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsZUFBZSxjQUViLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxhQUFhLENBQUM7NkdBR3hELGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBTb3J0QnlFbnVtLFxuICBTb3J0QnlGaWVsZCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvc2VhcmNoJ1xuaW1wb3J0IHsgU2VhcmNoRmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUvc2VhcmNoLmZhY2FkZSdcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuLi91dGlscy9zZXJ2aWNlL3NlYXJjaC5zZXJ2aWNlJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuaW50ZXJmYWNlIFNvcnRDaG9pY2Uge1xuICBsYWJlbDogc3RyaW5nXG4gIHZhbHVlOiBTb3J0QnlGaWVsZFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1zb3J0LWJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NvcnQtYnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LCBUcmFuc2xhdGVQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgU29ydEJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgaXNRdWFsaXR5U29ydGFibGU6IGJvb2xlYW5cbiAgY2hvaWNlczogU29ydENob2ljZVtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiBtYXJrZXIoJ3Jlc3VsdHMuc29ydEJ5LnJlbGV2YW5jeScpLFxuICAgICAgdmFsdWU6IFNvcnRCeUVudW0uUkVMRVZBTkNZLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6IG1hcmtlcigncmVzdWx0cy5zb3J0QnkuZGF0ZVN0YW1wJyksXG4gICAgICB2YWx1ZTogU29ydEJ5RW51bS5SRVNPVVJDRV9EQVRFUyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiBtYXJrZXIoJ3Jlc3VsdHMuc29ydEJ5LnBvcHVsYXJpdHknKSxcbiAgICAgIHZhbHVlOiBTb3J0QnlFbnVtLlBPUFVMQVJJVFksXG4gICAgfSxcbiAgXVxuICBjdXJyZW50U29ydEJ5JCA9IHRoaXMuZmFjYWRlLnNvcnRCeSQucGlwZShcbiAgICBmaWx0ZXIoKHNvcnRCeSkgPT4gISFzb3J0QnkpLFxuICAgIG1hcCgoc29ydEJ5KSA9PiBzb3J0QnkpXG4gIClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZhY2FkZTogU2VhcmNoRmFjYWRlLFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNRdWFsaXR5U29ydGFibGUpIHtcbiAgICAgIHRoaXMuY2hvaWNlcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IG1hcmtlcigncmVzdWx0cy5zb3J0QnkucXVhbGl0eVNjb3JlJyksXG4gICAgICAgIHZhbHVlOiBTb3J0QnlFbnVtLlFVQUxJVFlfU0NPUkUsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVNvcnRCeShjcml0ZXJpYTogU29ydEJ5RmllbGQpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2V0U29ydEJ5KGNyaXRlcmlhKVxuICB9XG59XG4iLCI8Z24tdWktZHJvcGRvd24tc2VsZWN0b3JcbiAgW3RpdGxlXT1cIidzZWFyY2guZmllbGQuc29ydEJ5JyB8IHRyYW5zbGF0ZVwiXG4gIFtjaG9pY2VzXT1cImNob2ljZXNcIlxuICAoc2VsZWN0VmFsdWUpPVwiY2hhbmdlU29ydEJ5KCRldmVudClcIlxuICBbc2VsZWN0ZWRdPVwiY3VycmVudFNvcnRCeSQgfCBhc3luY1wiXG4gIGFyaWFOYW1lPVwic2VhcmNoLXNvcnQtYnlcIlxuPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4iXX0=
|