ngx-tethys 18.2.7 → 18.2.9
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/CHANGELOG.md +18 -0
- package/date-picker/abstract-picker.component.d.ts +8 -3
- package/date-picker/date-picker.config.d.ts +1 -0
- package/date-picker/date-picker.service.d.ts +1 -0
- package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -1
- package/date-picker/picker.component.d.ts +3 -1
- package/date-picker/picker.pipes.d.ts +7 -2
- package/date-picker/picker.util.d.ts +3 -1
- package/date-picker/styles/quarter-panel.scss +3 -0
- package/date-range/date-range.component.d.ts +16 -4
- package/esm2022/calendar/calendar-header.component.mjs +2 -2
- package/esm2022/date-picker/abstract-picker.component.mjs +14 -5
- package/esm2022/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/date-picker/date-picker.config.mjs +3 -1
- package/esm2022/date-picker/date-picker.service.mjs +4 -1
- package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +5 -5
- package/esm2022/date-picker/month-picker.component.mjs +3 -3
- package/esm2022/date-picker/picker.component.mjs +9 -5
- package/esm2022/date-picker/picker.pipes.mjs +17 -8
- package/esm2022/date-picker/picker.util.mjs +12 -8
- package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
- package/esm2022/date-picker/range-picker.component.mjs +3 -3
- package/esm2022/date-picker/week-picker.component.mjs +3 -3
- package/esm2022/date-picker/year-picker.component.mjs +3 -3
- package/esm2022/date-range/date-range.component.mjs +15 -5
- package/esm2022/util/date/functions.mjs +20 -1
- package/esm2022/util/date/tiny-date.mjs +15 -2
- package/esm2022/version.mjs +2 -2
- package/fesm2022/ngx-tethys-calendar.mjs +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +60 -34
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +14 -4
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-util.mjs +32 -1
- package/fesm2022/ngx-tethys-util.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/package.json +7 -7
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/util/date/functions.d.ts +2 -0
- package/util/date/tiny-date.d.ts +8 -0
|
@@ -8,6 +8,7 @@ export const DEFAULT_DATE_PICKER_CONFIG = {
|
|
|
8
8
|
shortcutPosition: 'left',
|
|
9
9
|
showShortcut: false,
|
|
10
10
|
weekStartsOn: 1,
|
|
11
|
+
separator: '~',
|
|
11
12
|
timestampPrecision: 'seconds',
|
|
12
13
|
shortcutDatePresets: () => {
|
|
13
14
|
return [
|
|
@@ -53,6 +54,7 @@ export function useDatePickerDefaultConfig() {
|
|
|
53
54
|
shortcutPosition: 'left',
|
|
54
55
|
showShortcut: false,
|
|
55
56
|
weekStartsOn: 1,
|
|
57
|
+
separator: '~',
|
|
56
58
|
timestampPrecision: 'seconds',
|
|
57
59
|
shortcutDatePresets: () => {
|
|
58
60
|
return [
|
|
@@ -100,4 +102,4 @@ export const THY_DATE_PICKER_CONFIG_PROVIDER = {
|
|
|
100
102
|
useFactory: useDatePickerDefaultConfig,
|
|
101
103
|
deps: [ThyI18nService]
|
|
102
104
|
};
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQXVCLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQVk5Rzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUF3QjtJQUMzRCxnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCLFlBQVksRUFBRSxLQUFLO0lBQ25CLFlBQVksRUFBRSxDQUFDO0lBQ2Ysa0JBQWtCLEVBQUUsU0FBUztJQUM3QixtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDdEIsT0FBTztZQUNIO2dCQUNJLEtBQUssRUFBRSxJQUFJO2dCQUNYLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTthQUN4RDtZQUNEO2dCQUNJLEtBQUssRUFBRSxJQUFJO2dCQUNYLEtBQUssRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7YUFDcEU7WUFDRDtnQkFDSSxLQUFLLEVBQUUsSUFBSTtnQkFDWCxLQUFLLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxF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RSxDQUFDO2lCQUNwRjtnQkFDRDtvQkFDSSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsY0FBYztvQkFDOUIsS0FBSyxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDckY7Z0JBQ0Q7b0JBQ0ksS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLFdBQVc7b0JBQzNCLEtBQUssRUFBRTt3QkFDSCxJQUFJLFFBQVEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTt3QkFDekQsSUFBSSxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7cUJBQzFEO2lCQUNKO2dCQUNEO29CQUNJLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxZQUFZO29CQUM1QixLQUFLLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQzFGO2FBQ0osQ0FBQztRQUNOLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHO0lBQzNDLE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsVUFBVSxFQUFFLDBCQUEwQjtJQUN0QyxJQUFJLEVBQUUsQ0FBQyxjQUFjLENBQUM7Q0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdExvY2FsZSwgVGh5RGF0ZVBpY2tlckxvY2FsZSwgVGh5STE4blNlcnZpY2UgfSBmcm9tICduZ3gtdGV0aHlzL2kxOG4nO1xuaW1wb3J0IHsgYWRkRGF5cywgYWRkV2Vla3MsIHN0YXJ0T2ZEYXksIHN0YXJ0T2ZXZWVrLCBzdWJEYXlzLCBUaW55RGF0ZSwgV2Vla0RheUluZGV4IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IENvbXBhdGlibGVQcmVzZXRzLCBUaHlTaG9ydGN1dFBvc2l0aW9uIH0gZnJvbSAnLi9zdGFuZGFyZC10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGh5RGF0ZVBpY2tlckNvbmZpZyB7XG4gICAgc2hvcnRjdXRQb3NpdGlvbjogVGh5U2hvcnRjdXRQb3NpdGlvbjtcbiAgICBzaG9ydGN1dERhdGVQcmVzZXRzOiBDb21wYXRpYmxlUHJlc2V0cztcbiAgICBzaG9ydGN1dFJhbmdlc1ByZXNldHM6IENvbXBhdGlibGVQcmVzZXRzO1xuICAgIHNob3dTaG9ydGN1dDogYm9vbGVhbjtcbiAgICB3ZWVrU3RhcnRzT246IFdlZWtEYXlJbmRleDtcbiAgICB0aW1lc3RhbXBQcmVjaXNpb246ICdzZWNvbmRzJyB8ICdtaWxsaXNlY29uZHMnO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RBVEVfUElDS0VSX0NPTkZJRzogVGh5RGF0ZVBpY2tlckNvbmZpZyA9IHtcbiAgICBzaG9ydGN1dFBvc2l0aW9uOiAnbGVmdCcsXG4gICAgc2hvd1Nob3J0Y3V0OiBmYWxzZSxcbiAgICB3ZWVrU3RhcnRzT246IDEsXG4gICAgdGltZXN0YW1wUHJlY2lzaW9uOiAnc2Vjb25kcycsXG4gICAgc2hvcnRjdXREYXRlUHJlc2V0czogKCkgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn5LuK5aSpJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogc3RhcnRPZkRheShuZXcgVGlueURhdGUoKS5nZXRUaW1lKCkpLmdldFRpbWUoKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+aYjuWkqScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHN0YXJ0T2ZEYXkoYWRkRGF5cyhuZXcgVGlueURhdGUoKS5nZXRUaW1lKCksIDEpKS5nZXRUaW1lKClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICfkuIvlkagnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBzdGFydE9mV2VlayhhZGRXZWVrcyhuZXcgVGlueURhdGUoKS5nZXRUaW1lKCksIDEpLCB7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRUaW1lKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9LFxuICAgIHNob3J0Y3V0UmFuZ2VzUHJlc2V0czogKCkgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn5pyA6L+RIDcg5aSpJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogW25ldyBUaW55RGF0ZShzdWJEYXlzKG5ldyBUaW55RGF0ZSgpLmdldFRpbWUoKSwgNikpLmdldFRpbWUoKSwgbmV3IFRpbnlEYXRlKCkuZW5kT2ZEYXkoKS5nZXRUaW1lKCldXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn5pyA6L+RIDMwIOWkqScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IFtuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgVGlueURhdGUoKS5nZXRUaW1lKCksIDI5KSkuZ2V0VGltZSgpLCBuZXcgVGlueURhdGUoKS5lbmRPZkRheSgpLmdldFRpbWUoKV1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmnKzlkagnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBbbmV3IFRpbnlEYXRlKCkuc3RhcnRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VGltZSgpLCBuZXcgVGlueURhdGUoKS5lbmRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VGltZSgpXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+acrOaciCcsXG4gICAgICAgICAgICAgICAgdmFsdWU6IFtuZXcgVGlueURhdGUoKS5zdGFydE9mTW9udGgoKS5nZXRUaW1lKCksIG5ldyBUaW55RGF0ZSgpLmVuZE9mTW9udGgoKS5nZXRUaW1lKCldXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFRIWV9EQVRFX1BJQ0tFUl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGh5RGF0ZVBpY2tlckNvbmZpZz4oJ3RoeS1kYXRlLXBpY2tlci1jb25maWcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZURhdGVQaWNrZXJEZWZhdWx0Q29uZmlnKCk6IFRoeURhdGVQaWNrZXJDb25maWcge1xuICAgIGNvbnN0IGxvY2FsZTogU2lnbmFsPFRoeURhdGVQaWNrZXJMb2NhbGU+ID0gaW5qZWN0TG9jYWxlKCdkYXRlUGlja2VyJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBzaG9ydGN1dFBvc2l0aW9uOiAnbGVmdCcsXG4gICAgICAgIHNob3dTaG9ydGN1dDogZmFsc2UsXG4gICAgICAgIHdlZWtTdGFydHNPbjogMSxcbiAgICAgICAgdGltZXN0YW1wUHJlY2lzaW9uOiAnc2Vjb25kcycsXG4gICAgICAgIHNob3J0Y3V0RGF0ZVByZXNldHM6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogbG9jYWxlKCkudG9kYXksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzdGFydE9mRGF5KG5ldyBUaW55RGF0ZSgpLm5hdGl2ZURhdGUpLmdldFRpbWUoKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogbG9jYWxlKCkudG9tb3Jyb3csXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzdGFydE9mRGF5KGFkZERheXMobmV3IFRpbnlEYXRlKCkubmF0aXZlRGF0ZSwgMSkpLmdldFRpbWUoKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogbG9jYWxlKCkubmV4dFdlZWssXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzdGFydE9mV2VlayhhZGRXZWVrcyhuZXcgVGlueURhdGUoKS5uYXRpdmVEYXRlLCAxKSwgeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfSxcbiAgICAgICAgc2hvcnRjdXRSYW5nZXNQcmVzZXRzOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGxvY2FsZSgpLmxhc3RTZXZlbkRheXMsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBbbmV3IFRpbnlEYXRlKCkuc3ViRGF5cyg2KS5nZXRUaW1lKCksIG5ldyBUaW55RGF0ZSgpLmVuZE9mRGF5KCkuZ2V0VGltZSgpXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogbG9jYWxlKCkubGFzdFRoaXJ0eURheXMsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBbbmV3IFRpbnlEYXRlKCkuc3ViRGF5cygyOSkuZ2V0VGltZSgpLCBuZXcgVGlueURhdGUoKS5lbmRPZkRheSgpLmdldFRpbWUoKV1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGxvY2FsZSgpLmN1cnJlbnRXZWVrLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKCkuc3RhcnRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKCkuZW5kT2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsb2NhbGUoKS5jdXJyZW50TW9udGgsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBbbmV3IFRpbnlEYXRlKCkuc3RhcnRPZk1vbnRoKCkuZ2V0VGltZSgpLCBuZXcgVGlueURhdGUoKS5lbmRPZk1vbnRoKCkuZ2V0VGltZSgpXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgVEhZX0RBVEVfUElDS0VSX0NPTkZJR19QUk9WSURFUiA9IHtcbiAgICBwcm92aWRlOiBUSFlfREFURV9QSUNLRVJfQ09ORklHLFxuICAgIHVzZUZhY3Rvcnk6IHVzZURhdGVQaWNrZXJEZWZhdWx0Q29uZmlnLFxuICAgIGRlcHM6IFtUaHlJMThuU2VydmljZV1cbn07XG4iXX0=
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQXVCLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQWE5Rzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUF3QjtJQUMzRCxnQkFBZ0IsRUFBRSxNQUFNO0lBQ3hCLFlBQVksRUFBRSxLQUFLO0lBQ25CLFlBQVksRUFBRSxDQUFDO0lBQ2YsU0FBUyxFQUFFLEdBQUc7SUFDZCxrQkFBa0IsRUFBRSxTQUFTO0lBQzdCLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtRQUN0QixPQUFPO1lBQ0g7Z0JBQ0ksS0FBSyxFQUFFLElBQUk7Z0JBQ1gsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO2FBQ3hEO1lBQ0Q7Z0JBQ0ksS0FBSyxFQUFFLElBQUk7Z0JBQ1gsS0FBSyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRTthQUNwRTtZQUNEO2dCQUNJLEtBQUssRUFBRSxJQUFJO2dCQUNYLEtBQUssRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxF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SSxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDcEY7Z0JBQ0Q7b0JBQ0ksS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLGNBQWM7b0JBQzlCLEtBQUssRUFBRSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3JGO2dCQUNEO29CQUNJLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxXQUFXO29CQUMzQixLQUFLLEVBQUU7d0JBQ0gsSUFBSSxRQUFRLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7d0JBQ3pELElBQUksUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO3FCQUMxRDtpQkFDSjtnQkFDRDtvQkFDSSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsWUFBWTtvQkFDNUIsS0FBSyxFQUFFLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUMxRjthQUNKLENBQUM7UUFDTixDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUMzQyxPQUFPLEVBQUUsc0JBQXNCO0lBQy9CLFVBQVUsRUFBRSwwQkFBMEI7SUFDdEMsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDO0NBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RMb2NhbGUsIFRoeURhdGVQaWNrZXJMb2NhbGUsIFRoeUkxOG5TZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9pMThuJztcbmltcG9ydCB7IGFkZERheXMsIGFkZFdlZWtzLCBzdGFydE9mRGF5LCBzdGFydE9mV2Vlaywgc3ViRGF5cywgVGlueURhdGUsIFdlZWtEYXlJbmRleCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBDb21wYXRpYmxlUHJlc2V0cywgVGh5U2hvcnRjdXRQb3NpdGlvbiB9IGZyb20gJy4vc3RhbmRhcmQtdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoeURhdGVQaWNrZXJDb25maWcge1xuICAgIHNob3J0Y3V0UG9zaXRpb246IFRoeVNob3J0Y3V0UG9zaXRpb247XG4gICAgc2hvcnRjdXREYXRlUHJlc2V0czogQ29tcGF0aWJsZVByZXNldHM7XG4gICAgc2hvcnRjdXRSYW5nZXNQcmVzZXRzOiBDb21wYXRpYmxlUHJlc2V0cztcbiAgICBzaG93U2hvcnRjdXQ6IGJvb2xlYW47XG4gICAgd2Vla1N0YXJ0c09uOiBXZWVrRGF5SW5kZXg7XG4gICAgc2VwYXJhdG9yOiBzdHJpbmc7XG4gICAgdGltZXN0YW1wUHJlY2lzaW9uOiAnc2Vjb25kcycgfCAnbWlsbGlzZWNvbmRzJztcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9EQVRFX1BJQ0tFUl9DT05GSUc6IFRoeURhdGVQaWNrZXJDb25maWcgPSB7XG4gICAgc2hvcnRjdXRQb3NpdGlvbjogJ2xlZnQnLFxuICAgIHNob3dTaG9ydGN1dDogZmFsc2UsXG4gICAgd2Vla1N0YXJ0c09uOiAxLFxuICAgIHNlcGFyYXRvcjogJ34nLFxuICAgIHRpbWVzdGFtcFByZWNpc2lvbjogJ3NlY29uZHMnLFxuICAgIHNob3J0Y3V0RGF0ZVByZXNldHM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+S7iuWkqScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHN0YXJ0T2ZEYXkobmV3IFRpbnlEYXRlKCkuZ2V0VGltZSgpKS5nZXRUaW1lKClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmmI7lpKknLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBzdGFydE9mRGF5KGFkZERheXMobmV3IFRpbnlEYXRlKCkuZ2V0VGltZSgpLCAxKSkuZ2V0VGltZSgpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn5LiL5ZGoJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogc3RhcnRPZldlZWsoYWRkV2Vla3MobmV3IFRpbnlEYXRlKCkuZ2V0VGltZSgpLCAxKSwgeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VGltZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfSxcbiAgICBzaG9ydGN1dFJhbmdlc1ByZXNldHM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+acgOi/kSA3IOWkqScsXG4gICAgICAgICAgICAgICAgdmFsdWU6IFtuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgVGlueURhdGUoKS5nZXRUaW1lKCksIDYpKS5nZXRUaW1lKCksIG5ldyBUaW55RGF0ZSgpLmVuZE9mRGF5KCkuZ2V0VGltZSgpXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ+acgOi/kSAzMCDlpKknLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBbbmV3IFRpbnlEYXRlKHN1YkRheXMobmV3IFRpbnlEYXRlKCkuZ2V0VGltZSgpLCAyOSkpLmdldFRpbWUoKSwgbmV3IFRpbnlEYXRlKCkuZW5kT2ZEYXkoKS5nZXRUaW1lKCldXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAn5pys5ZGoJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogW25ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFRpbWUoKSwgbmV3IFRpbnlEYXRlKCkuZW5kT2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFRpbWUoKV1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmnKzmnIgnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBbbmV3IFRpbnlEYXRlKCkuc3RhcnRPZk1vbnRoKCkuZ2V0VGltZSgpLCBuZXcgVGlueURhdGUoKS5lbmRPZk1vbnRoKCkuZ2V0VGltZSgpXVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBUSFlfREFURV9QSUNLRVJfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFRoeURhdGVQaWNrZXJDb25maWc+KCd0aHktZGF0ZS1waWNrZXItY29uZmlnJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VEYXRlUGlja2VyRGVmYXVsdENvbmZpZygpOiBUaHlEYXRlUGlja2VyQ29uZmlnIHtcbiAgICBjb25zdCBsb2NhbGU6IFNpZ25hbDxUaHlEYXRlUGlja2VyTG9jYWxlPiA9IGluamVjdExvY2FsZSgnZGF0ZVBpY2tlcicpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2hvcnRjdXRQb3NpdGlvbjogJ2xlZnQnLFxuICAgICAgICBzaG93U2hvcnRjdXQ6IGZhbHNlLFxuICAgICAgICB3ZWVrU3RhcnRzT246IDEsXG4gICAgICAgIHNlcGFyYXRvcjogJ34nLFxuICAgICAgICB0aW1lc3RhbXBQcmVjaXNpb246ICdzZWNvbmRzJyxcbiAgICAgICAgc2hvcnRjdXREYXRlUHJlc2V0czogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsb2NhbGUoKS50b2RheSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHN0YXJ0T2ZEYXkobmV3IFRpbnlEYXRlKCkubmF0aXZlRGF0ZSkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsb2NhbGUoKS50b21vcnJvdyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHN0YXJ0T2ZEYXkoYWRkRGF5cyhuZXcgVGlueURhdGUoKS5uYXRpdmVEYXRlLCAxKSkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsb2NhbGUoKS5uZXh0V2VlayxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHN0YXJ0T2ZXZWVrKGFkZFdlZWtzKG5ldyBUaW55RGF0ZSgpLm5hdGl2ZURhdGUsIDEpLCB7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRUaW1lKClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdO1xuICAgICAgICB9LFxuICAgICAgICBzaG9ydGN1dFJhbmdlc1ByZXNldHM6ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogbG9jYWxlKCkubGFzdFNldmVuRGF5cyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFtuZXcgVGlueURhdGUoKS5zdWJEYXlzKDYpLmdldFRpbWUoKSwgbmV3IFRpbnlEYXRlKCkuZW5kT2ZEYXkoKS5nZXRUaW1lKCldXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBsb2NhbGUoKS5sYXN0VGhpcnR5RGF5cyxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFtuZXcgVGlueURhdGUoKS5zdWJEYXlzKDI5KS5nZXRUaW1lKCksIG5ldyBUaW55RGF0ZSgpLmVuZE9mRGF5KCkuZ2V0VGltZSgpXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogbG9jYWxlKCkuY3VycmVudFdlZWssXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoKS5zdGFydE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoKS5lbmRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VGltZSgpXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGxvY2FsZSgpLmN1cnJlbnRNb250aCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFtuZXcgVGlueURhdGUoKS5zdGFydE9mTW9udGgoKS5nZXRUaW1lKCksIG5ldyBUaW55RGF0ZSgpLmVuZE9mTW9udGgoKS5nZXRUaW1lKCldXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBUSFlfREFURV9QSUNLRVJfQ09ORklHX1BST1ZJREVSID0ge1xuICAgIHByb3ZpZGU6IFRIWV9EQVRFX1BJQ0tFUl9DT05GSUcsXG4gICAgdXNlRmFjdG9yeTogdXNlRGF0ZVBpY2tlckRlZmF1bHRDb25maWcsXG4gICAgZGVwczogW1RoeUkxOG5TZXJ2aWNlXVxufTtcbiJdfQ==
|
|
@@ -21,6 +21,9 @@ export class ThyDatePickerConfigService {
|
|
|
21
21
|
get timestampPrecision() {
|
|
22
22
|
return this.config.timestampPrecision;
|
|
23
23
|
}
|
|
24
|
+
get separator() {
|
|
25
|
+
return this.config.separator.trim();
|
|
26
|
+
}
|
|
24
27
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyDatePickerConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
28
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyDatePickerConfigService, providedIn: 'root' }); }
|
|
26
29
|
}
|
|
@@ -28,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28
31
|
type: Injectable,
|
|
29
32
|
args: [{ providedIn: 'root' }]
|
|
30
33
|
}], ctorParameters: () => [] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBdUIsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHL0csTUFBTSxPQUFPLDBCQUEwQjtJQUduQztRQUNJLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFFLENBQUM7UUFFN0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsMEJBQTBCLEVBQUUsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLHFCQUFxQjtRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDOytHQTlCUSwwQkFBMEI7bUhBQTFCLDBCQUEwQixjQURiLE1BQU07OzRGQUNuQiwwQkFBMEI7a0JBRHRDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUSFlfREFURV9QSUNLRVJfQ09ORklHLCBUaHlEYXRlUGlja2VyQ29uZmlnLCB1c2VEYXRlUGlja2VyRGVmYXVsdENvbmZpZyB9IGZyb20gJy4vZGF0ZS1waWNrZXIuY29uZmlnJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUaHlEYXRlUGlja2VyQ29uZmlnU2VydmljZSB7XG4gICAgY29uZmlnOiBUaHlEYXRlUGlja2VyQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGNvbnN0IGRhdGVQaWNrZXJDb25maWcgPSBpbmplY3QoVEhZX0RBVEVfUElDS0VSX0NPTkZJRywgeyBvcHRpb25hbDogdHJ1ZSB9KSE7XG5cbiAgICAgICAgdGhpcy5jb25maWcgPSB7IC4uLnVzZURhdGVQaWNrZXJEZWZhdWx0Q29uZmlnKCksIC4uLmRhdGVQaWNrZXJDb25maWcgfTtcbiAgICB9XG5cbiAgICBnZXQgc2hvcnRjdXREYXRlUHJlc2V0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnNob3J0Y3V0RGF0ZVByZXNldHM7XG4gICAgfVxuXG4gICAgZ2V0IHNob3J0Y3V0UG9zaXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5zaG9ydGN1dFBvc2l0aW9uO1xuICAgIH1cblxuICAgIGdldCBzaG93U2hvcnRjdXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5zaG93U2hvcnRjdXQ7XG4gICAgfVxuICAgIGdldCBzaG9ydGN1dFJhbmdlc1ByZXNldHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5zaG9ydGN1dFJhbmdlc1ByZXNldHM7XG4gICAgfVxuXG4gICAgZ2V0IHRpbWVzdGFtcFByZWNpc2lvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRpbWVzdGFtcFByZWNpc2lvbjtcbiAgICB9XG5cbiAgICBnZXQgc2VwYXJhdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuc2VwYXJhdG9yLnRyaW0oKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding,
|
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostBinding, inject, Input } from '@angular/core';
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { ThyButton } from 'ngx-tethys/button';
|
|
5
|
+
import { injectLocale } from 'ngx-tethys/i18n';
|
|
5
6
|
import { ThyIcon } from 'ngx-tethys/icon';
|
|
6
7
|
import { TinyDate } from 'ngx-tethys/util';
|
|
7
8
|
import { Subject } from 'rxjs';
|
|
8
|
-
import { DatePickerAdvancedShowYearTipPipe } from '../../picker.pipes';
|
|
9
|
-
import { injectLocale } from 'ngx-tethys/i18n';
|
|
10
9
|
import { DateHelperService } from '../../date-helper.service';
|
|
10
|
+
import { DatePickerAdvancedShowYearTipPipe } from '../../picker.pipes';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
/**
|
|
13
13
|
* @private
|
|
@@ -212,7 +212,7 @@ export class DateCarousel {
|
|
|
212
212
|
currentDate = currentDate || this.activeDate || new TinyDate().startOfQuarter();
|
|
213
213
|
return {
|
|
214
214
|
type: 'quarter',
|
|
215
|
-
content:
|
|
215
|
+
content: `${currentDate.addQuarters(preOrNextcount).format('qqq')}`,
|
|
216
216
|
startValue: currentDate.startOfQuarter().addQuarters(preOrNextcount),
|
|
217
217
|
endValue: currentDate.endOfQuarter().addQuarters(preOrNextcount),
|
|
218
218
|
classMap: {}
|
|
@@ -385,4 +385,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
385
385
|
}], activeDate: [{
|
|
386
386
|
type: Input
|
|
387
387
|
}] } });
|
|
388
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jYXJvdXNlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvbGliL2RhdGUtY2Fyb3VzZWwvZGF0ZS1jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvbGliL2RhdGUtY2Fyb3VzZWwvZGF0ZS1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsWUFBWSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUU5RDs7R0FFRztBQWdCSCxNQUFNLE9BQU8sWUFBWTtJQWZ6QjtRQWdCWSxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFD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QUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzNDLFVBQVUsR0FBRyxXQUFXLENBQUM7WUFDekIsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDOUIsQ0FBQztRQUNELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekMsQ0FBQzsrR0F2WFEsWUFBWTttR0FBWixZQUFZLHVKQVZWO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDOUM7U0FDSiwwQkN0Q0wscTlEQWlEQSw0Q0RUYyxnQkFBZ0Isb0pBQUUsU0FBUyxvTEFBRSxPQUFPLHNNQUFFLE9BQU8sK0VBQUUsaUNBQWlDOzs0RkFFakYsWUFBWTtrQkFmeEIsU0FBUzsrQkFFSSxlQUFlLG1CQUVSLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsS0FBSyxFQUFFLElBQUk7NEJBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDO3lCQUM5QztxQkFDSixjQUNXLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGlDQUFpQyxDQUFDOzhCQU9yRSxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBRVgsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIGluamVjdCxcbiAgICBTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlCdXR0b24gfSBmcm9tICduZ3gtdGV0aHlzL2J1dHRvbic7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRpbnlEYXRlIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwsIFJhbmdlQWR2YW5jZWRWYWx1ZSB9IGZyb20gJy4uLy4uL2lubmVyLXR5cGVzJztcbmltcG9ydCB7IERhdGVQaWNrZXJBZHZhbmNlZFNob3dZZWFyVGlwUGlwZSB9IGZyb20gJy4uLy4uL3BpY2tlci5waXBlcyc7XG5pbXBvcnQgeyBUaHlEYXRlR3JhbnVsYXJpdHkgfSBmcm9tICcuLi8uLi9zdGFuZGFyZC10eXBlcyc7XG5pbXBvcnQgeyBpbmplY3RMb2NhbGUsIFRoeURhdGVQaWNrZXJMb2NhbGUgfSBmcm9tICduZ3gtdGV0aHlzL2kxOG4nO1xuaW1wb3J0IHsgRGF0ZUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRlLWhlbHBlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZGF0ZS1jYXJvdXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZUNhcm91c2VsKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBUaHlCdXR0b24sIFRoeUljb24sIE5nQ2xhc3MsIERhdGVQaWNrZXJBZHZhbmNlZFNob3dZZWFyVGlwUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUNhcm91c2VsIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSBkYXRlSGVscGVyID0gaW5qZWN0KERhdGVIZWxwZXJTZXJ2aWNlKTtcbiAgICBsb2NhbGU6IFNpZ25hbDxUaHlEYXRlUGlja2VyTG9jYWxlPiA9IGluamVjdExvY2FsZSgnZGF0ZVBpY2tlcicpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzTmFtZSA9ICd0aHktZGF0ZS1waWNrZXItYWR2YW5jZWQtY2Fyb3VzZWwnO1xuXG4gICAgQElucHV0KCkgYWN0aXZlRGF0ZTogVGlueURhdGU7XG5cbiAgICBzZXQgZGVmYXVsdFZhbHVlKHZhbHVlOiBSYW5nZUFkdmFuY2VkVmFsdWUpIHtcbiAgICAgICAgdGhpcy5kYXRlR3JhbnVsYXJpdHkgPSB2YWx1ZS5kYXRlR3JhbnVsYXJpdHk7XG4gICAgICAgIHRoaXMuYnVpbGRTZWxlY3RhYmxlRGF0YSh2YWx1ZS5iZWdpbik7XG5cbiAgICAgICAgaWYgKHZhbHVlLmJlZ2luICYmIHZhbHVlLmVuZCkge1xuICAgICAgICAgICAgY29uc3Qgc2hvdWxkQmVTZWxlY3RWYWx1ZSA9IHRoaXMuZ2V0U2hvdWxkQmVUb2dnbGVWYWx1ZSh2YWx1ZS5iZWdpbiwgdmFsdWUuZW5kKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0KC4uLnNob3VsZEJlU2VsZWN0VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhclNlbGVjdCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBzZWxlY3RhYmxlRGF0YTogeyB5ZWFyPzogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbFtdOyBxdWFydGVyPzogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbFtdOyBtb250aD86IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGxbXSB9ID0ge307XG5cbiAgICBkYXRlR3JhbnVsYXJpdHk6IFRoeURhdGVHcmFudWxhcml0eTtcblxuICAgIHNlbGVjdGVkVmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGxbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBzZWxlY3RlZFZhbHVlQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PFJhbmdlQWR2YW5jZWRWYWx1ZT4oKTtcblxuICAgIHByaXZhdGUgX29uQ2hhbmdlOiAodmFsdWU6IFJhbmdlQWR2YW5jZWRWYWx1ZSkgPT4gdm9pZDtcblxuICAgIHByaXZhdGUgX29uVG91Y2hlZDogKHZhbHVlOiBSYW5nZUFkdmFuY2VkVmFsdWUpID0+IHZvaWQ7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkU2VsZWN0YWJsZURhdGEodGhpcy5zZWxlY3RlZFZhbHVlWzBdPy5zdGFydFZhbHVlLCB0aGlzLmRhdGVHcmFudWxhcml0eSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhLnllYXIuZm9yRWFjaChpdGVtID0+IChpdGVtLmNsYXNzTWFwID0gdGhpcy5nZXRDbGFzc01hcChpdGVtKSkpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YS5xdWFydGVyLmZvckVhY2goaXRlbSA9PiAoaXRlbS5jbGFzc01hcCA9IHRoaXMuZ2V0Q2xhc3NNYXAoaXRlbSkpKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGEubW9udGguZm9yRWFjaChpdGVtID0+IChpdGVtLmNsYXNzTWFwID0gdGhpcy5nZXRDbGFzc01hcChpdGVtKSkpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1NlbGVjdEVtcHR5KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZUdyYW51bGFyaXR5OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW46IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsY3RlZFZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRlR3JhbnVsYXJpdHk6IHRoaXMuZGF0ZUdyYW51bGFyaXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW46IHNlbGN0ZWRWYWx1ZVswXT8uc3RhcnRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogc2VsY3RlZFZhbHVlW3NlbGN0ZWRWYWx1ZS5sZW5ndGggLSAxXT8uZW5kVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBSYW5nZUFkdmFuY2VkVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBnZXRDbGFzc01hcChjZWxsOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBbYGFjdGl2ZWBdOiB0aGlzLmlzU2VsZWN0ZWQoY2VsbCksXG4gICAgICAgICAgICBbYGluZGV0ZXJtaW5hdGVgXTogdGhpcy5pc0NlbGxJbmRldGVybWluYXRlKHRoaXMuc2VsZWN0ZWRWYWx1ZSwgY2VsbCksXG4gICAgICAgICAgICBbYHR5cGUtYWN0aXZlYF06IHRoaXMuaXNUeXBlQWN0aXZlKHRoaXMuc2VsZWN0ZWRWYWx1ZSwgY2VsbCksXG4gICAgICAgICAgICBbJ2luLWhvdmVyLXJhbmdlJ106IGNlbGwuaXNJblJhbmdlLFxuICAgICAgICAgICAgWydvdXQtcmFuZ2UnXTogY2VsbC5pc091dFJhbmdlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaXNUeXBlQWN0aXZlKG9yaWdpbmFsVmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGxbXSwgdmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwpIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsVmFsdWU/Lmxlbmd0aCAmJiBvcmlnaW5hbFZhbHVlWzBdLnR5cGUgPT09IHZhbHVlLnR5cGU7XG4gICAgfVxuXG4gICAgaXNDZWxsSW5kZXRlcm1pbmF0ZShvcmlnaW5hbFZhbHVlOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsW10sIHZhbHVlOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsKSB7XG4gICAgICAgIGlmIChvcmlnaW5hbFZhbHVlWzBdPy50eXBlID09PSB2YWx1ZS50eXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAob3JpZ2luYWxWYWx1ZVswXT8udHlwZSA9PT0gJ3llYXInKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhb3JpZ2luYWxWYWx1ZS5maW5kKGl0ZW0gPT4gaXRlbS5zdGFydFZhbHVlLmlzU2FtZVllYXIodmFsdWUuc3RhcnRWYWx1ZSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ3llYXInXG4gICAgICAgICAgICAgICAgICAgID8gISFvcmlnaW5hbFZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnN0YXJ0VmFsdWUuaXNTYW1lWWVhcih2YWx1ZS5zdGFydFZhbHVlKSlcbiAgICAgICAgICAgICAgICAgICAgOiAhIW9yaWdpbmFsVmFsdWUuZmluZChpdGVtID0+IGl0ZW0uc3RhcnRWYWx1ZS5pc1NhbWVRdWFydGVyKHZhbHVlLnN0YXJ0VmFsdWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzU2VsZWN0ZWQodmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZS5maW5kKGl0ZW0gPT4gaXRlbS5zdGFydFZhbHVlLmlzU2FtZURheSh2YWx1ZS5zdGFydFZhbHVlKSkgJiYgdGhpcy5kYXRlR3JhbnVsYXJpdHkgPT09IHZhbHVlLnR5cGU7XG4gICAgfVxuXG4gICAgaXNTZWxlY3RFbXB0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZS5sZW5ndGggPT0gMDtcbiAgICB9XG5cbiAgICBzZWxlY3RTb3J0KCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUuc29ydCgoYSwgYikgPT4gYS5zdGFydFZhbHVlLmdldFRpbWUoKSAtIGIuc3RhcnRWYWx1ZS5nZXRUaW1lKCkpO1xuICAgIH1cblxuICAgIHNlbGVjdCguLi52YWx1ZTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbFtdKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNTZWxlY3RlZChpdGVtKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZS5wdXNoKC4uLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VsZWN0U29ydCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2UkLm5leHQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBkZXNlbGVjdCguLi52YWx1ZTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbFtdKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB0aGlzLnNlbGVjdGVkVmFsdWUuZmlsdGVyKHNlbGVjdGVkID0+ICFzZWxlY3RlZC5zdGFydFZhbHVlLmlzU2FtZURheShpdGVtLnN0YXJ0VmFsdWUpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2VsZWN0U29ydCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2UkLm5leHQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBjbGVhclNlbGVjdChoaWRkZW4/OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IFtdO1xuICAgICAgICBpZiAoIWhpZGRlbikge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTaG91bGRCZVRvZ2dsZVZhbHVlKGJlZ2luOiBUaW55RGF0ZSwgZW5kOiBUaW55RGF0ZSkge1xuICAgICAgICBsZXQgc2VsZWN0ZWRWYWx1ZTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbFtdID0gW107XG4gICAgICAgIHN3aXRjaCAodGhpcy5kYXRlR3JhbnVsYXJpdHkpIHtcbiAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUdyYW51bGFyaXR5ID0gJ3llYXInO1xuICAgICAgICAgICAgICAgIGlmIChiZWdpbi5pc1NhbWVZZWFyKGVuZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZS5wdXNoKHRoaXMuZ2V0U2VsZWN0YWJsZVllYXIoYmVnaW4pKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlLnB1c2godGhpcy5nZXRTZWxlY3RhYmxlWWVhcihiZWdpbikpO1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoIWJlZ2luLmlzU2FtZVllYXIoZW5kKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4gPSBiZWdpbi5hZGRZZWFycygxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWUucHVzaCh0aGlzLmdldFNlbGVjdGFibGVZZWFyKGJlZ2luKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlR3JhbnVsYXJpdHkgPSAnbW9udGgnO1xuICAgICAgICAgICAgICAgIGlmIChiZWdpbi5pc1NhbWVNb250aChlbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWUucHVzaCh0aGlzLmdldFNlbGVjdGFibGVNb250aChiZWdpbikpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWUucHVzaCh0aGlzLmdldFNlbGVjdGFibGVNb250aChiZWdpbikpO1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoIWJlZ2luLmlzU2FtZU1vbnRoKGVuZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luID0gYmVnaW4uYWRkTW9udGhzKDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZS5wdXNoKHRoaXMuZ2V0U2VsZWN0YWJsZU1vbnRoKGJlZ2luKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVHcmFudWxhcml0eSA9ICdxdWFydGVyJztcbiAgICAgICAgICAgICAgICBpZiAoYmVnaW4uaXNTYW1lUXVhcnRlcihlbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWUucHVzaCh0aGlzLmdldFNlbGVjdGFibGVRdWFydGVyKGJlZ2luKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZS5wdXNoKHRoaXMuZ2V0U2VsZWN0YWJsZVF1YXJ0ZXIoYmVnaW4pKTtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCFiZWdpbi5pc1NhbWVRdWFydGVyKGVuZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luID0gYmVnaW4uYWRkUXVhcnRlcnMoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlLnB1c2godGhpcy5nZXRTZWxlY3RhYmxlUXVhcnRlcihiZWdpbikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZWxlY3RlZFZhbHVlO1xuICAgIH1cblxuICAgIGJ1aWxkU2VsZWN0YWJsZURhdGEoc3RhcnREYXRlOiBUaW55RGF0ZSwgZXhjbHVkZUdyYW51bGFyaXR5PzogVGh5RGF0ZUdyYW51bGFyaXR5KSB7XG4gICAgICAgIGNvbnN0IGJ1aWxkR3JhbnVsYXJpdHkgPSBbJ3llYXInLCAnbW9udGgnLCAncXVhcnRlciddLmZpbHRlcihpdGVtID0+IGl0ZW0gIT09IGV4Y2x1ZGVHcmFudWxhcml0eSk7XG4gICAgICAgIGJ1aWxkR3JhbnVsYXJpdHkuZm9yRWFjaChncmFudWxhcml0eSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGdyYW51bGFyaXR5KSB7XG4gICAgICAgICAgICAgICAgY2FzZSAneWVhcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGEueWVhciA9IFsuLi5BcnJheSgzKS5rZXlzKCldLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGFibGVZZWFyKHN0YXJ0RGF0ZSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGEucXVhcnRlciA9IFsuLi5BcnJheSg0KS5rZXlzKCldLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGFibGVRdWFydGVyKHN0YXJ0RGF0ZSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhLm1vbnRoID0gWy4uLkFycmF5KDQpLmtleXMoKV0ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VsZWN0YWJsZU1vbnRoKHN0YXJ0RGF0ZSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBnZXRTZWxlY3RhYmxlWWVhcihjdXJyZW50RGF0ZTogVGlueURhdGUsIHByZU9yTmV4dGNvdW50OiBudW1iZXIgPSAwKTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCB7XG4gICAgICAgIGN1cnJlbnREYXRlID0gY3VycmVudERhdGUgfHwgdGhpcy5hY3RpdmVEYXRlIHx8IG5ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZZZWFyKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAneWVhcicsXG4gICAgICAgICAgICBjb250ZW50OiBgJHtjdXJyZW50RGF0ZS5hZGRZZWFycyhwcmVPck5leHRjb3VudCkuZ2V0WWVhcigpfWAsXG4gICAgICAgICAgICBzdGFydFZhbHVlOiBjdXJyZW50RGF0ZS5zdGFydE9mWWVhcigpLmFkZFllYXJzKHByZU9yTmV4dGNvdW50KSxcbiAgICAgICAgICAgIGVuZFZhbHVlOiBjdXJyZW50RGF0ZS5lbmRPZlllYXIoKS5hZGRZZWFycyhwcmVPck5leHRjb3VudCksXG4gICAgICAgICAgICBjbGFzc01hcDoge31cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRTZWxlY3RhYmxlUXVhcnRlcihjdXJyZW50RGF0ZTogVGlueURhdGUsIHByZU9yTmV4dGNvdW50OiBudW1iZXIgPSAwKTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCB7XG4gICAgICAgIGN1cnJlbnREYXRlID0gY3VycmVudERhdGUgfHwgdGhpcy5hY3RpdmVEYXRlIHx8IG5ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZRdWFydGVyKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAncXVhcnRlcicsXG4gICAgICAgICAgICBjb250ZW50OiBgUSR7Y3VycmVudERhdGUuYWRkUXVhcnRlcnMocHJlT3JOZXh0Y291bnQpLmdldFF1YXJ0ZXIoKX1gLFxuICAgICAgICAgICAgc3RhcnRWYWx1ZTogY3VycmVudERhdGUuc3RhcnRPZlF1YXJ0ZXIoKS5hZGRRdWFydGVycyhwcmVPck5leHRjb3VudCksXG4gICAgICAgICAgICBlbmRWYWx1ZTogY3VycmVudERhdGUuZW5kT2ZRdWFydGVyKCkuYWRkUXVhcnRlcnMocHJlT3JOZXh0Y291bnQpLFxuICAgICAgICAgICAgY2xhc3NNYXA6IHt9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0YWJsZU1vbnRoKGN1cnJlbnREYXRlOiBUaW55RGF0ZSwgcHJlT3JOZXh0Y291bnQ6IG51bWJlciA9IDApOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsIHtcbiAgICAgICAgY3VycmVudERhdGUgPSBjdXJyZW50RGF0ZSB8fCB0aGlzLmFjdGl2ZURhdGUgfHwgbmV3IFRpbnlEYXRlKCkuc3RhcnRPZk1vbnRoKCk7XG4gICAgICAgIC8vIFNlbGVjdGFibGUgbW9udGhzIGZvciBhZHZhbmNlZCByYW5nZSBzZWxlY3RvclxuICAgICAgICBjb25zdCBjZWxsOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsID0ge1xuICAgICAgICAgICAgdHlwZTogJ21vbnRoJyxcbiAgICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuZGF0ZUhlbHBlci5mb3JtYXQoY3VycmVudERhdGUuYWRkTW9udGhzKHByZU9yTmV4dGNvdW50KS5uYXRpdmVEYXRlLCB0aGlzLmxvY2FsZSgpLm1vbnRoRm9ybWF0KSxcbiAgICAgICAgICAgIHN0YXJ0VmFsdWU6IGN1cnJlbnREYXRlLnN0YXJ0T2ZNb250aCgpLmFkZE1vbnRocyhwcmVPck5leHRjb3VudCksXG4gICAgICAgICAgICBlbmRWYWx1ZTogY3VycmVudERhdGUuZW5kT2ZNb250aCgpLmFkZE1vbnRocyhwcmVPck5leHRjb3VudCksXG4gICAgICAgICAgICBjbGFzc01hcDoge31cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGNlbGw7XG4gICAgfVxuXG4gICAgcHJldkNsaWNrKHR5cGU6IFRoeURhdGVHcmFudWxhcml0eSkge1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGEueWVhciA9IHRoaXMuc2VsZWN0YWJsZURhdGEueWVhci5tYXAoaXRlbSA9PiB0aGlzLmdldFNlbGVjdGFibGVZZWFyKGl0ZW0uc3RhcnRWYWx1ZSwgLTEpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGEucXVhcnRlciA9IHRoaXMuc2VsZWN0YWJsZURhdGEucXVhcnRlci5tYXAoaXRlbSA9PiB0aGlzLmdldFNlbGVjdGFibGVRdWFydGVyKGl0ZW0uc3RhcnRWYWx1ZSwgLTIpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhLm1vbnRoID0gdGhpcy5zZWxlY3RhYmxlRGF0YS5tb250aC5tYXAoaXRlbSA9PiB0aGlzLmdldFNlbGVjdGFibGVNb250aChpdGVtLnN0YXJ0VmFsdWUsIC0yKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YVt0eXBlXS5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0uY2xhc3NNYXAgPSB0aGlzLmdldENsYXNzTWFwKGl0ZW0pKSk7XG4gICAgfVxuXG4gICAgbmV4dENsaWNrKHR5cGU6IFRoeURhdGVHcmFudWxhcml0eSkge1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGEueWVhciA9IHRoaXMuc2VsZWN0YWJsZURhdGEueWVhci5tYXAoaXRlbSA9PiB0aGlzLmdldFNlbGVjdGFibGVZZWFyKGl0ZW0uc3RhcnRWYWx1ZSwgMSkpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YS5xdWFydGVyID0gdGhpcy5zZWxlY3RhYmxlRGF0YS5xdWFydGVyLm1hcChpdGVtID0+IHRoaXMuZ2V0U2VsZWN0YWJsZVF1YXJ0ZXIoaXRlbS5zdGFydFZhbHVlLCAyKSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YS5tb250aCA9IHRoaXMuc2VsZWN0YWJsZURhdGEubW9udGgubWFwKGl0ZW0gPT4gdGhpcy5nZXRTZWxlY3RhYmxlTW9udGgoaXRlbS5zdGFydFZhbHVlLCAyKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YVt0eXBlXS5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0uY2xhc3NNYXAgPSB0aGlzLmdldENsYXNzTWFwKGl0ZW0pKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0RGF0ZSh0eXBlOiBUaHlEYXRlR3JhbnVsYXJpdHksIHZhbHVlOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGFbdHlwZV0uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIGl0ZW0uaXNJblJhbmdlID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtLmlzT3V0UmFuZ2UgPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RFbXB0eSgpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVHcmFudWxhcml0eSA9IHR5cGU7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdCh2YWx1ZSk7XG4gICAgICAgICAgICAvLyB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2UkLm5leHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGVkKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVTZWxlY3QodmFsdWUpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RFbXB0eSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlR3JhbnVsYXJpdHkgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGF0ZUdyYW51bGFyaXR5ID09PSB2YWx1ZS50eXBlKSB7XG4gICAgICAgICAgICBjb25zdCB7IHJhbmdlU3RhcnQsIHJhbmdlRW5kIH0gPSB0aGlzLmdldEFjdHVhbFN0YXJ0QW5kRW5kKHZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZEJlU2VsZWN0VmFsdWUgPSB0aGlzLmdldFNob3VsZEJlVG9nZ2xlVmFsdWUocmFuZ2VTdGFydCwgcmFuZ2VFbmQpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QoLi4uc2hvdWxkQmVTZWxlY3RWYWx1ZSk7XG4gICAgICAgICAgICAvLyB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2UkLm5leHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZUdyYW51bGFyaXR5ID0gdHlwZTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3QodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdCh2YWx1ZSk7XG4gICAgICAgICAgICAvLyB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2UkLm5leHQoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0b2dnbGVTZWxlY3QodmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwpIHtcbiAgICAgICAgaWYgKHZhbHVlLnN0YXJ0VmFsdWUuaXNTYW1lRGF5KHRoaXMuc2VsZWN0ZWRWYWx1ZVswXS5zdGFydFZhbHVlKSkge1xuICAgICAgICAgICAgLy8gb25seSBkZXNlbGVjdCBmaXJzdCBvbmVcbiAgICAgICAgICAgIHRoaXMuZGVzZWxlY3QodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gZGVzZWxlY3QgY3VycmVudCBhbmQgYWxsIGFmdGVyIGN1cnJlbnRcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlU3RhcnQgPSB2YWx1ZS5zdGFydFZhbHVlO1xuICAgICAgICAgICAgY29uc3QgcmFuZ2VFbmQgPSB0aGlzLnNlbGVjdGVkVmFsdWVbdGhpcy5zZWxlY3RlZFZhbHVlLmxlbmd0aCAtIDFdLmVuZFZhbHVlO1xuICAgICAgICAgICAgY29uc3Qgc2hvdWxkQmVEZXNlbGVjdFZhbHVlID0gdGhpcy5nZXRTaG91bGRCZVRvZ2dsZVZhbHVlKHJhbmdlU3RhcnQsIHJhbmdlRW5kKTtcbiAgICAgICAgICAgIHRoaXMuZGVzZWxlY3QoLi4uc2hvdWxkQmVEZXNlbGVjdFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VlbnRlcihldmVudDogRXZlbnQsIHR5cGU6IFRoeURhdGVHcmFudWxhcml0eSwgdmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RFbXB0eSgpIHx8IHRoaXMuZGF0ZUdyYW51bGFyaXR5ICE9PSB0eXBlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlLmlzSW5SYW5nZSA9IHRydWU7XG4gICAgICAgICAgICBpZiAodmFsdWUuc3RhcnRWYWx1ZS5pc1NhbWVEYXkodGhpcy5zZWxlY3RlZFZhbHVlWzBdLnN0YXJ0VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUuaXNPdXRSYW5nZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJhbmdlU3RhcnQgPSB2YWx1ZS5zdGFydFZhbHVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJhbmdlRW5kID0gdGhpcy5zZWxlY3RlZFZhbHVlW3RoaXMuc2VsZWN0ZWRWYWx1ZS5sZW5ndGggLSAxXS5lbmRWYWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhW3R5cGVdLmZvckVhY2goKGl0ZW06IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uc3RhcnRWYWx1ZS5nZXRUaW1lKCkgPj0gcmFuZ2VTdGFydC5nZXRUaW1lKCkgJiYgaXRlbS5zdGFydFZhbHVlLmdldFRpbWUoKSA8IHJhbmdlRW5kLmdldFRpbWUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5pc091dFJhbmdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaXNPdXRSYW5nZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB7IHJhbmdlU3RhcnQsIHJhbmdlRW5kIH0gPSB0aGlzLmdldEFjdHVhbFN0YXJ0QW5kRW5kKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGFbdHlwZV0uZm9yRWFjaCgoaXRlbTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLnN0YXJ0VmFsdWUuZ2V0VGltZSgpID49IHJhbmdlU3RhcnQuZ2V0VGltZSgpICYmIGl0ZW0uc3RhcnRWYWx1ZS5nZXRUaW1lKCkgPCByYW5nZUVuZC5nZXRUaW1lKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pc0luUmFuZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaXNJblJhbmdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YVt0eXBlXS5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0uY2xhc3NNYXAgPSB0aGlzLmdldENsYXNzTWFwKGl0ZW0pKSk7XG4gICAgfVxuXG4gICAgb25Nb3VzZWxlYXZlKGV2ZW50OiBFdmVudCwgdHlwZTogVGh5RGF0ZUdyYW51bGFyaXR5LCB2YWx1ZTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCkge1xuICAgICAgICBpZiAodmFsdWUuaXNJblJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhW3R5cGVdLmZvckVhY2goaXRlbSA9PiAoaXRlbS5pc0luUmFuZ2UgPSBmYWxzZSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZS5pc091dFJhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhW3R5cGVdLmZvckVhY2goaXRlbSA9PiAoaXRlbS5pc091dFJhbmdlID0gZmFsc2UpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhW3R5cGVdLmZvckVhY2goaXRlbSA9PiAoaXRlbS5jbGFzc01hcCA9IHRoaXMuZ2V0Q2xhc3NNYXAoaXRlbSkpKTtcbiAgICB9XG5cbiAgICBnZXRBY3R1YWxTdGFydEFuZEVuZCh2YWx1ZTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZFN0YXJ0ID0gdGhpcy5zZWxlY3RlZFZhbHVlWzBdLnN0YXJ0VmFsdWU7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRW5kID0gdGhpcy5zZWxlY3RlZFZhbHVlW3RoaXMuc2VsZWN0ZWRWYWx1ZS5sZW5ndGggLSAxXS5lbmRWYWx1ZTtcbiAgICAgICAgbGV0IHJhbmdlU3RhcnQ6IFRpbnlEYXRlLCByYW5nZUVuZDogVGlueURhdGU7XG4gICAgICAgIGlmICh2YWx1ZS5zdGFydFZhbHVlLmlzQmVmb3JlRGF5KHNlbGVjdGVkU3RhcnQpKSB7XG4gICAgICAgICAgICByYW5nZVN0YXJ0ID0gdmFsdWUuc3RhcnRWYWx1ZTtcbiAgICAgICAgICAgIHJhbmdlRW5kID0gc2VsZWN0ZWRTdGFydDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUuc3RhcnRWYWx1ZS5pc0FmdGVyRGF5KHNlbGVjdGVkRW5kKSkge1xuICAgICAgICAgICAgcmFuZ2VTdGFydCA9IHNlbGVjdGVkRW5kO1xuICAgICAgICAgICAgcmFuZ2VFbmQgPSB2YWx1ZS5lbmRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyByYW5nZVN0YXJ0LCByYW5nZUVuZCB9O1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVDaGFuZ2UkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAqbmdUZW1wbGF0ZU91dGxldD1cImNhcm91c2VsSXRlbTsgY29udGV4dDogeyB0aXRsZTogbG9jYWxlKCkueWVhclRleHQsIHR5cGU6ICd5ZWFyJywgc2VsZWN0YWJsZURhdGE6IHNlbGVjdGFibGVEYXRhLnllYXIgfVwiPjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyXG4gICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgY2Fyb3VzZWxJdGVtO1xuICAgIGNvbnRleHQ6IHsgdGl0bGU6IGxvY2FsZSgpLnF1YXJ0ZXJUZXh0LCB0eXBlOiAncXVhcnRlcicsIHNlbGVjdGFibGVEYXRhOiBzZWxlY3RhYmxlRGF0YS5xdWFydGVyIH1cbiAgXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICBjYXJvdXNlbEl0ZW07XG4gICAgY29udGV4dDogeyB0aXRsZTogbG9jYWxlKCkubW9udGhUZXh0LCB0eXBlOiAnbW9udGgnLCBzZWxlY3RhYmxlRGF0YTogc2VsZWN0YWJsZURhdGEubW9udGggfVxuICBcIj48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNjYXJvdXNlbEl0ZW0gbGV0LXRpdGxlPVwidGl0bGVcIiBsZXQtc2VsZWN0YWJsZURhdGE9XCJzZWxlY3RhYmxlRGF0YVwiIGxldC10eXBlPVwidHlwZVwiPlxuICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbSBjYXJvdXNlbC1pdGVtLXt7IHR5cGUgfX1cIj5cbiAgICA8cCBjbGFzcz1cImNhcm91c2VsLWl0ZW0tdGl0bGVcIj57eyB0aXRsZSB9fTwvcD5cbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbS1jb250ZW50XCI+XG4gICAgICA8YnV0dG9uIHRoeUJ1dHRvbj1cIm91dGxpbmUtZGVmYXVsdFwiIHRoeVNpemU9XCJzbVwiIGNsYXNzPVwicmlnaHQtc3BhY2VcIiAoY2xpY2spPVwicHJldkNsaWNrKHR5cGUpXCI+XG4gICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImFuZ2xlLWxlZnRcIj48L3RoeS1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICBAZm9yIChpdGVtIG9mIHNlbGVjdGFibGVEYXRhOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2VsZWN0YWJsZS1idXR0b24gcmlnaHQtc3BhY2VcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKHR5cGUsIGl0ZW0pXCJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlZW50ZXIoJGV2ZW50LCB0eXBlLCBpdGVtKVwiXG4gICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZWxlYXZlKCRldmVudCwgdHlwZSwgaXRlbSlcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3NNYXBcIj5cbiAgICAgICAgICBAaWYgKGl0ZW0gfCBzaG93WWVhclRpcDogdHlwZSkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ5ZWFyLXRpcFwiPnt7IGl0ZW0/LnN0YXJ0VmFsdWU/LmdldFllYXIoKSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChpdGVtLmlzSW5SYW5nZSAmJiBpc1NlbGVjdGVkKGl0ZW0pKSB7XG4gICAgICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZVwiPjwvdGh5LWljb24+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoaXRlbS5pc0luUmFuZ2UgJiYgIWlzU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cInBsdXNcIj48L3RoeS1pY29uPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKCFpdGVtLmlzSW5SYW5nZSkge1xuICAgICAgICAgICAgPHNwYW4+e3sgaXRlbT8uY29udGVudCB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJvdXRsaW5lLWRlZmF1bHRcIiB0aHlTaXplPVwic21cIiAoY2xpY2spPVwibmV4dENsaWNrKHR5cGUpXCI+XG4gICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImFuZ2xlLXJpZ2h0XCI+PC90aHktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
388
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jYXJvdXNlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvbGliL2RhdGUtY2Fyb3VzZWwvZGF0ZS1jYXJvdXNlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvbGliL2RhdGUtY2Fyb3VzZWwvZGF0ZS1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFJUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQXVCLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUd2RTs7R0FFRztBQWdCSCxNQUFNLE9BQU8sWUFBWTtJQWZ6QjtRQWdCWSxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFD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QUNELElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxVQUFVLEdBQUcsV0FBVyxDQUFDO1lBQ3pCLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQzlCLENBQUM7UUFDRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7K0dBdlhRLFlBQVk7bUdBQVosWUFBWSx1SkFWVjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO2FBQzlDO1NBQ0osMEJDdENMLHE5REFpREEsNENEVGMsZ0JBQWdCLG9KQUFFLFNBQVMsb0xBQUUsT0FBTyxzTUFBRSxPQUFPLCtFQUFFLGlDQUFpQzs7NEZBRWpGLFlBQVk7a0JBZnhCLFNBQVM7K0JBRUksZUFBZSxtQkFFUix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQzt5QkFDOUM7cUJBQ0osY0FDVyxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsQ0FBQzs4QkFPckUsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPO2dCQUVYLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgU2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5QnV0dG9uIH0gZnJvbSAnbmd4LXRldGh5cy9idXR0b24nO1xuaW1wb3J0IHsgaW5qZWN0TG9jYWxlLCBUaHlEYXRlUGlja2VyTG9jYWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pMThuJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGlueURhdGUgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0ZUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRlLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwsIFJhbmdlQWR2YW5jZWRWYWx1ZSB9IGZyb20gJy4uLy4uL2lubmVyLXR5cGVzJztcbmltcG9ydCB7IERhdGVQaWNrZXJBZHZhbmNlZFNob3dZZWFyVGlwUGlwZSB9IGZyb20gJy4uLy4uL3BpY2tlci5waXBlcyc7XG5pbXBvcnQgeyBUaHlEYXRlR3JhbnVsYXJpdHkgfSBmcm9tICcuLi8uLi9zdGFuZGFyZC10eXBlcyc7XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ2RhdGUtY2Fyb3VzZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWNhcm91c2VsLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVDYXJvdXNlbClcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgVGh5QnV0dG9uLCBUaHlJY29uLCBOZ0NsYXNzLCBEYXRlUGlja2VyQWR2YW5jZWRTaG93WWVhclRpcFBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVDYXJvdXNlbCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgZGF0ZUhlbHBlciA9IGluamVjdChEYXRlSGVscGVyU2VydmljZSk7XG4gICAgbG9jYWxlOiBTaWduYWw8VGh5RGF0ZVBpY2tlckxvY2FsZT4gPSBpbmplY3RMb2NhbGUoJ2RhdGVQaWNrZXInKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc05hbWUgPSAndGh5LWRhdGUtcGlja2VyLWFkdmFuY2VkLWNhcm91c2VsJztcblxuICAgIEBJbnB1dCgpIGFjdGl2ZURhdGU6IFRpbnlEYXRlO1xuXG4gICAgc2V0IGRlZmF1bHRWYWx1ZSh2YWx1ZTogUmFuZ2VBZHZhbmNlZFZhbHVlKSB7XG4gICAgICAgIHRoaXMuZGF0ZUdyYW51bGFyaXR5ID0gdmFsdWUuZGF0ZUdyYW51bGFyaXR5O1xuICAgICAgICB0aGlzLmJ1aWxkU2VsZWN0YWJsZURhdGEodmFsdWUuYmVnaW4pO1xuXG4gICAgICAgIGlmICh2YWx1ZS5iZWdpbiAmJiB2YWx1ZS5lbmQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZEJlU2VsZWN0VmFsdWUgPSB0aGlzLmdldFNob3VsZEJlVG9nZ2xlVmFsdWUodmFsdWUuYmVnaW4sIHZhbHVlLmVuZCk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdCguLi5zaG91bGRCZVNlbGVjdFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTZWxlY3QodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgc2VsZWN0YWJsZURhdGE6IHsgeWVhcj86IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGxbXTsgcXVhcnRlcj86IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGxbXTsgbW9udGg/OiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsW10gfSA9IHt9O1xuXG4gICAgZGF0ZUdyYW51bGFyaXR5OiBUaHlEYXRlR3JhbnVsYXJpdHk7XG5cbiAgICBzZWxlY3RlZFZhbHVlOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsW10gPSBbXTtcblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc2VsZWN0ZWRWYWx1ZUNoYW5nZSQgPSBuZXcgU3ViamVjdDxSYW5nZUFkdmFuY2VkVmFsdWU+KCk7XG5cbiAgICBwcml2YXRlIF9vbkNoYW5nZTogKHZhbHVlOiBSYW5nZUFkdmFuY2VkVmFsdWUpID0+IHZvaWQ7XG5cbiAgICBwcml2YXRlIF9vblRvdWNoZWQ6ICh2YWx1ZTogUmFuZ2VBZHZhbmNlZFZhbHVlKSA9PiB2b2lkO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZUNoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5idWlsZFNlbGVjdGFibGVEYXRhKHRoaXMuc2VsZWN0ZWRWYWx1ZVswXT8uc3RhcnRWYWx1ZSwgdGhpcy5kYXRlR3JhbnVsYXJpdHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YS55ZWFyLmZvckVhY2goaXRlbSA9PiAoaXRlbS5jbGFzc01hcCA9IHRoaXMuZ2V0Q2xhc3NNYXAoaXRlbSkpKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGEucXVhcnRlci5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0uY2xhc3NNYXAgPSB0aGlzLmdldENsYXNzTWFwKGl0ZW0pKSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhLm1vbnRoLmZvckVhY2goaXRlbSA9PiAoaXRlbS5jbGFzc01hcCA9IHRoaXMuZ2V0Q2xhc3NNYXAoaXRlbSkpKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RFbXB0eSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVHcmFudWxhcml0eTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiBudWxsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGN0ZWRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZUdyYW51bGFyaXR5OiB0aGlzLmRhdGVHcmFudWxhcml0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luOiBzZWxjdGVkVmFsdWVbMF0/LnN0YXJ0VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQ6IHNlbGN0ZWRWYWx1ZVtzZWxjdGVkVmFsdWUubGVuZ3RoIC0gMV0/LmVuZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogUmFuZ2VBZHZhbmNlZFZhbHVlKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgZ2V0Q2xhc3NNYXAoY2VsbDogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgW2BhY3RpdmVgXTogdGhpcy5pc1NlbGVjdGVkKGNlbGwpLFxuICAgICAgICAgICAgW2BpbmRldGVybWluYXRlYF06IHRoaXMuaXNDZWxsSW5kZXRlcm1pbmF0ZSh0aGlzLnNlbGVjdGVkVmFsdWUsIGNlbGwpLFxuICAgICAgICAgICAgW2B0eXBlLWFjdGl2ZWBdOiB0aGlzLmlzVHlwZUFjdGl2ZSh0aGlzLnNlbGVjdGVkVmFsdWUsIGNlbGwpLFxuICAgICAgICAgICAgWydpbi1ob3Zlci1yYW5nZSddOiBjZWxsLmlzSW5SYW5nZSxcbiAgICAgICAgICAgIFsnb3V0LXJhbmdlJ106IGNlbGwuaXNPdXRSYW5nZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGlzVHlwZUFjdGl2ZShvcmlnaW5hbFZhbHVlOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsW10sIHZhbHVlOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsKSB7XG4gICAgICAgIHJldHVybiBvcmlnaW5hbFZhbHVlPy5sZW5ndGggJiYgb3JpZ2luYWxWYWx1ZVswXS50eXBlID09PSB2YWx1ZS50eXBlO1xuICAgIH1cblxuICAgIGlzQ2VsbEluZGV0ZXJtaW5hdGUob3JpZ2luYWxWYWx1ZTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbFtdLCB2YWx1ZTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCkge1xuICAgICAgICBpZiAob3JpZ2luYWxWYWx1ZVswXT8udHlwZSA9PT0gdmFsdWUudHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG9yaWdpbmFsVmFsdWVbMF0/LnR5cGUgPT09ICd5ZWFyJykge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIW9yaWdpbmFsVmFsdWUuZmluZChpdGVtID0+IGl0ZW0uc3RhcnRWYWx1ZS5pc1NhbWVZZWFyKHZhbHVlLnN0YXJ0VmFsdWUpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnR5cGUgPT09ICd5ZWFyJ1xuICAgICAgICAgICAgICAgICAgICA/ICEhb3JpZ2luYWxWYWx1ZS5maW5kKGl0ZW0gPT4gaXRlbS5zdGFydFZhbHVlLmlzU2FtZVllYXIodmFsdWUuc3RhcnRWYWx1ZSkpXG4gICAgICAgICAgICAgICAgICAgIDogISFvcmlnaW5hbFZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnN0YXJ0VmFsdWUuaXNTYW1lUXVhcnRlcih2YWx1ZS5zdGFydFZhbHVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1NlbGVjdGVkKHZhbHVlOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWUuZmluZChpdGVtID0+IGl0ZW0uc3RhcnRWYWx1ZS5pc1NhbWVEYXkodmFsdWUuc3RhcnRWYWx1ZSkpICYmIHRoaXMuZGF0ZUdyYW51bGFyaXR5ID09PSB2YWx1ZS50eXBlO1xuICAgIH1cblxuICAgIGlzU2VsZWN0RW1wdHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWUubGVuZ3RoID09IDA7XG4gICAgfVxuXG4gICAgc2VsZWN0U29ydCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlLnNvcnQoKGEsIGIpID0+IGEuc3RhcnRWYWx1ZS5nZXRUaW1lKCkgLSBiLnN0YXJ0VmFsdWUuZ2V0VGltZSgpKTtcbiAgICB9XG5cbiAgICBzZWxlY3QoLi4udmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGxbXSkge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUucHVzaCguLi52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlbGVjdFNvcnQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgZGVzZWxlY3QoLi4udmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGxbXSkge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdGhpcy5zZWxlY3RlZFZhbHVlLmZpbHRlcihzZWxlY3RlZCA9PiAhc2VsZWN0ZWQuc3RhcnRWYWx1ZS5pc1NhbWVEYXkoaXRlbS5zdGFydFZhbHVlKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlbGVjdFNvcnQoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgY2xlYXJTZWxlY3QoaGlkZGVuPzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBbXTtcbiAgICAgICAgaWYgKCFoaWRkZW4pIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZUNoYW5nZSQubmV4dCh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0U2hvdWxkQmVUb2dnbGVWYWx1ZShiZWdpbjogVGlueURhdGUsIGVuZDogVGlueURhdGUpIHtcbiAgICAgICAgbGV0IHNlbGVjdGVkVmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGxbXSA9IFtdO1xuICAgICAgICBzd2l0Y2ggKHRoaXMuZGF0ZUdyYW51bGFyaXR5KSB7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVHcmFudWxhcml0eSA9ICd5ZWFyJztcbiAgICAgICAgICAgICAgICBpZiAoYmVnaW4uaXNTYW1lWWVhcihlbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWUucHVzaCh0aGlzLmdldFNlbGVjdGFibGVZZWFyKGJlZ2luKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZS5wdXNoKHRoaXMuZ2V0U2VsZWN0YWJsZVllYXIoYmVnaW4pKTtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCFiZWdpbi5pc1NhbWVZZWFyKGVuZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luID0gYmVnaW4uYWRkWWVhcnMoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlLnB1c2godGhpcy5nZXRTZWxlY3RhYmxlWWVhcihiZWdpbikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUdyYW51bGFyaXR5ID0gJ21vbnRoJztcbiAgICAgICAgICAgICAgICBpZiAoYmVnaW4uaXNTYW1lTW9udGgoZW5kKSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlLnB1c2godGhpcy5nZXRTZWxlY3RhYmxlTW9udGgoYmVnaW4pKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlLnB1c2godGhpcy5nZXRTZWxlY3RhYmxlTW9udGgoYmVnaW4pKTtcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCFiZWdpbi5pc1NhbWVNb250aChlbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZWdpbiA9IGJlZ2luLmFkZE1vbnRocygxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWUucHVzaCh0aGlzLmdldFNlbGVjdGFibGVNb250aChiZWdpbikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncXVhcnRlcic6XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlR3JhbnVsYXJpdHkgPSAncXVhcnRlcic7XG4gICAgICAgICAgICAgICAgaWYgKGJlZ2luLmlzU2FtZVF1YXJ0ZXIoZW5kKSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlLnB1c2godGhpcy5nZXRTZWxlY3RhYmxlUXVhcnRlcihiZWdpbikpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWUucHVzaCh0aGlzLmdldFNlbGVjdGFibGVRdWFydGVyKGJlZ2luKSk7XG4gICAgICAgICAgICAgICAgICAgIHdoaWxlICghYmVnaW4uaXNTYW1lUXVhcnRlcihlbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZWdpbiA9IGJlZ2luLmFkZFF1YXJ0ZXJzKDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZS5wdXNoKHRoaXMuZ2V0U2VsZWN0YWJsZVF1YXJ0ZXIoYmVnaW4pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBidWlsZFNlbGVjdGFibGVEYXRhKHN0YXJ0RGF0ZTogVGlueURhdGUsIGV4Y2x1ZGVHcmFudWxhcml0eT86IFRoeURhdGVHcmFudWxhcml0eSkge1xuICAgICAgICBjb25zdCBidWlsZEdyYW51bGFyaXR5ID0gWyd5ZWFyJywgJ21vbnRoJywgJ3F1YXJ0ZXInXS5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSBleGNsdWRlR3JhbnVsYXJpdHkpO1xuICAgICAgICBidWlsZEdyYW51bGFyaXR5LmZvckVhY2goZ3JhbnVsYXJpdHkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChncmFudWxhcml0eSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3llYXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhLnllYXIgPSBbLi4uQXJyYXkoMykua2V5cygpXS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3RhYmxlWWVhcihzdGFydERhdGUsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhLnF1YXJ0ZXIgPSBbLi4uQXJyYXkoNCkua2V5cygpXS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3RhYmxlUXVhcnRlcihzdGFydERhdGUsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YS5tb250aCA9IFsuLi5BcnJheSg0KS5rZXlzKCldLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGFibGVNb250aChzdGFydERhdGUsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0YWJsZVllYXIoY3VycmVudERhdGU6IFRpbnlEYXRlLCBwcmVPck5leHRjb3VudDogbnVtYmVyID0gMCk6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwge1xuICAgICAgICBjdXJyZW50RGF0ZSA9IGN1cnJlbnREYXRlIHx8IHRoaXMuYWN0aXZlRGF0ZSB8fCBuZXcgVGlueURhdGUoKS5zdGFydE9mWWVhcigpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ3llYXInLFxuICAgICAgICAgICAgY29udGVudDogYCR7Y3VycmVudERhdGUuYWRkWWVhcnMocHJlT3JOZXh0Y291bnQpLmdldFllYXIoKX1gLFxuICAgICAgICAgICAgc3RhcnRWYWx1ZTogY3VycmVudERhdGUuc3RhcnRPZlllYXIoKS5hZGRZZWFycyhwcmVPck5leHRjb3VudCksXG4gICAgICAgICAgICBlbmRWYWx1ZTogY3VycmVudERhdGUuZW5kT2ZZZWFyKCkuYWRkWWVhcnMocHJlT3JOZXh0Y291bnQpLFxuICAgICAgICAgICAgY2xhc3NNYXA6IHt9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0YWJsZVF1YXJ0ZXIoY3VycmVudERhdGU6IFRpbnlEYXRlLCBwcmVPck5leHRjb3VudDogbnVtYmVyID0gMCk6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwge1xuICAgICAgICBjdXJyZW50RGF0ZSA9IGN1cnJlbnREYXRlIHx8IHRoaXMuYWN0aXZlRGF0ZSB8fCBuZXcgVGlueURhdGUoKS5zdGFydE9mUXVhcnRlcigpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ3F1YXJ0ZXInLFxuICAgICAgICAgICAgY29udGVudDogYCR7Y3VycmVudERhdGUuYWRkUXVhcnRlcnMocHJlT3JOZXh0Y291bnQpLmZvcm1hdCgncXFxJyl9YCxcbiAgICAgICAgICAgIHN0YXJ0VmFsdWU6IGN1cnJlbnREYXRlLnN0YXJ0T2ZRdWFydGVyKCkuYWRkUXVhcnRlcnMocHJlT3JOZXh0Y291bnQpLFxuICAgICAgICAgICAgZW5kVmFsdWU6IGN1cnJlbnREYXRlLmVuZE9mUXVhcnRlcigpLmFkZFF1YXJ0ZXJzKHByZU9yTmV4dGNvdW50KSxcbiAgICAgICAgICAgIGNsYXNzTWFwOiB7fVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldFNlbGVjdGFibGVNb250aChjdXJyZW50RGF0ZTogVGlueURhdGUsIHByZU9yTmV4dGNvdW50OiBudW1iZXIgPSAwKTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCB7XG4gICAgICAgIGN1cnJlbnREYXRlID0gY3VycmVudERhdGUgfHwgdGhpcy5hY3RpdmVEYXRlIHx8IG5ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZNb250aCgpO1xuICAgICAgICAvLyBTZWxlY3RhYmxlIG1vbnRocyBmb3IgYWR2YW5jZWQgcmFuZ2Ugc2VsZWN0b3JcbiAgICAgICAgY29uc3QgY2VsbDogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCA9IHtcbiAgICAgICAgICAgIHR5cGU6ICdtb250aCcsXG4gICAgICAgICAgICBjb250ZW50OiB0aGlzLmRhdGVIZWxwZXIuZm9ybWF0KGN1cnJlbnREYXRlLmFkZE1vbnRocyhwcmVPck5leHRjb3VudCkubmF0aXZlRGF0ZSwgdGhpcy5sb2NhbGUoKS5tb250aEZvcm1hdCksXG4gICAgICAgICAgICBzdGFydFZhbHVlOiBjdXJyZW50RGF0ZS5zdGFydE9mTW9udGgoKS5hZGRNb250aHMocHJlT3JOZXh0Y291bnQpLFxuICAgICAgICAgICAgZW5kVmFsdWU6IGN1cnJlbnREYXRlLmVuZE9mTW9udGgoKS5hZGRNb250aHMocHJlT3JOZXh0Y291bnQpLFxuICAgICAgICAgICAgY2xhc3NNYXA6IHt9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBjZWxsO1xuICAgIH1cblxuICAgIHByZXZDbGljayh0eXBlOiBUaHlEYXRlR3JhbnVsYXJpdHkpIHtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhLnllYXIgPSB0aGlzLnNlbGVjdGFibGVEYXRhLnllYXIubWFwKGl0ZW0gPT4gdGhpcy5nZXRTZWxlY3RhYmxlWWVhcihpdGVtLnN0YXJ0VmFsdWUsIC0xKSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdxdWFydGVyJzpcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhLnF1YXJ0ZXIgPSB0aGlzLnNlbGVjdGFibGVEYXRhLnF1YXJ0ZXIubWFwKGl0ZW0gPT4gdGhpcy5nZXRTZWxlY3RhYmxlUXVhcnRlcihpdGVtLnN0YXJ0VmFsdWUsIC0yKSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YS5tb250aCA9IHRoaXMuc2VsZWN0YWJsZURhdGEubW9udGgubWFwKGl0ZW0gPT4gdGhpcy5nZXRTZWxlY3RhYmxlTW9udGgoaXRlbS5zdGFydFZhbHVlLCAtMikpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGFbdHlwZV0uZm9yRWFjaChpdGVtID0+IChpdGVtLmNsYXNzTWFwID0gdGhpcy5nZXRDbGFzc01hcChpdGVtKSkpO1xuICAgIH1cblxuICAgIG5leHRDbGljayh0eXBlOiBUaHlEYXRlR3JhbnVsYXJpdHkpIHtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhLnllYXIgPSB0aGlzLnNlbGVjdGFibGVEYXRhLnllYXIubWFwKGl0ZW0gPT4gdGhpcy5nZXRTZWxlY3RhYmxlWWVhcihpdGVtLnN0YXJ0VmFsdWUsIDEpKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGEucXVhcnRlciA9IHRoaXMuc2VsZWN0YWJsZURhdGEucXVhcnRlci5tYXAoaXRlbSA9PiB0aGlzLmdldFNlbGVjdGFibGVRdWFydGVyKGl0ZW0uc3RhcnRWYWx1ZSwgMikpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbW9udGgnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGEubW9udGggPSB0aGlzLnNlbGVjdGFibGVEYXRhLm1vbnRoLm1hcChpdGVtID0+IHRoaXMuZ2V0U2VsZWN0YWJsZU1vbnRoKGl0ZW0uc3RhcnRWYWx1ZSwgMikpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGFbdHlwZV0uZm9yRWFjaChpdGVtID0+IChpdGVtLmNsYXNzTWFwID0gdGhpcy5nZXRDbGFzc01hcChpdGVtKSkpO1xuICAgIH1cblxuICAgIHNlbGVjdERhdGUodHlwZTogVGh5RGF0ZUdyYW51bGFyaXR5LCB2YWx1ZTogQWR2YW5jZWRTZWxlY3RhYmxlQ2VsbCkge1xuICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhW3R5cGVdLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLmlzSW5SYW5nZSA9IGZhbHNlO1xuICAgICAgICAgICAgaXRlbS5pc091dFJhbmdlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0RW1wdHkoKSkge1xuICAgICAgICAgICAgdGhpcy5kYXRlR3JhbnVsYXJpdHkgPSB0eXBlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QodmFsdWUpO1xuICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlJC5uZXh0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlU2VsZWN0KHZhbHVlKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2VsZWN0RW1wdHkoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZUdyYW51bGFyaXR5ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRhdGVHcmFudWxhcml0eSA9PT0gdmFsdWUudHlwZSkge1xuICAgICAgICAgICAgY29uc3QgeyByYW5nZVN0YXJ0LCByYW5nZUVuZCB9ID0gdGhpcy5nZXRBY3R1YWxTdGFydEFuZEVuZCh2YWx1ZSk7XG4gICAgICAgICAgICBjb25zdCBzaG91bGRCZVNlbGVjdFZhbHVlID0gdGhpcy5nZXRTaG91bGRCZVRvZ2dsZVZhbHVlKHJhbmdlU3RhcnQsIHJhbmdlRW5kKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0KC4uLnNob3VsZEJlU2VsZWN0VmFsdWUpO1xuICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlJC5uZXh0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVHcmFudWxhcml0eSA9IHR5cGU7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2VsZWN0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3QodmFsdWUpO1xuICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlJC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdG9nZ2xlU2VsZWN0KHZhbHVlOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsKSB7XG4gICAgICAgIGlmICh2YWx1ZS5zdGFydFZhbHVlLmlzU2FtZURheSh0aGlzLnNlbGVjdGVkVmFsdWVbMF0uc3RhcnRWYWx1ZSkpIHtcbiAgICAgICAgICAgIC8vIG9ubHkgZGVzZWxlY3QgZmlyc3Qgb25lXG4gICAgICAgICAgICB0aGlzLmRlc2VsZWN0KHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIGRlc2VsZWN0IGN1cnJlbnQgYW5kIGFsbCBhZnRlciBjdXJyZW50XG4gICAgICAgICAgICBjb25zdCByYW5nZVN0YXJ0ID0gdmFsdWUuc3RhcnRWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlRW5kID0gdGhpcy5zZWxlY3RlZFZhbHVlW3RoaXMuc2VsZWN0ZWRWYWx1ZS5sZW5ndGggLSAxXS5lbmRWYWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZEJlRGVzZWxlY3RWYWx1ZSA9IHRoaXMuZ2V0U2hvdWxkQmVUb2dnbGVWYWx1ZShyYW5nZVN0YXJ0LCByYW5nZUVuZCk7XG4gICAgICAgICAgICB0aGlzLmRlc2VsZWN0KC4uLnNob3VsZEJlRGVzZWxlY3RWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlZW50ZXIoZXZlbnQ6IEV2ZW50LCB0eXBlOiBUaHlEYXRlR3JhbnVsYXJpdHksIHZhbHVlOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsKSB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0RW1wdHkoKSB8fCB0aGlzLmRhdGVHcmFudWxhcml0eSAhPT0gdHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZS5pc0luUmFuZ2UgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHZhbHVlLnN0YXJ0VmFsdWUuaXNTYW1lRGF5KHRoaXMuc2VsZWN0ZWRWYWx1ZVswXS5zdGFydFZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlLmlzT3V0UmFuZ2UgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCByYW5nZVN0YXJ0ID0gdmFsdWUuc3RhcnRWYWx1ZTtcbiAgICAgICAgICAgICAgICBjb25zdCByYW5nZUVuZCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZVt0aGlzLnNlbGVjdGVkVmFsdWUubGVuZ3RoIC0gMV0uZW5kVmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YVt0eXBlXS5mb3JFYWNoKChpdGVtOiBBZHZhbmNlZFNlbGVjdGFibGVDZWxsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnN0YXJ0VmFsdWUuZ2V0VGltZSgpID49IHJhbmdlU3RhcnQuZ2V0VGltZSgpICYmIGl0ZW0uc3RhcnRWYWx1ZS5nZXRUaW1lKCkgPCByYW5nZUVuZC5nZXRUaW1lKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaXNPdXRSYW5nZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmlzT3V0UmFuZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgeyByYW5nZVN0YXJ0LCByYW5nZUVuZCB9ID0gdGhpcy5nZXRBY3R1YWxTdGFydEFuZEVuZCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGFibGVEYXRhW3R5cGVdLmZvckVhY2goKGl0ZW06IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5zdGFydFZhbHVlLmdldFRpbWUoKSA+PSByYW5nZVN0YXJ0LmdldFRpbWUoKSAmJiBpdGVtLnN0YXJ0VmFsdWUuZ2V0VGltZSgpIDwgcmFuZ2VFbmQuZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaXNJblJhbmdlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmlzSW5SYW5nZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0YWJsZURhdGFbdHlwZV0uZm9yRWFjaChpdGVtID0+IChpdGVtLmNsYXNzTWFwID0gdGhpcy5nZXRDbGFzc01hcChpdGVtKSkpO1xuICAgIH1cblxuICAgIG9uTW91c2VsZWF2ZShldmVudDogRXZlbnQsIHR5cGU6IFRoeURhdGVHcmFudWxhcml0eSwgdmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwpIHtcbiAgICAgICAgaWYgKHZhbHVlLmlzSW5SYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YVt0eXBlXS5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0uaXNJblJhbmdlID0gZmFsc2UpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUuaXNPdXRSYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YVt0eXBlXS5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0uaXNPdXRSYW5nZSA9IGZhbHNlKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RhYmxlRGF0YVt0eXBlXS5mb3JFYWNoKGl0ZW0gPT4gKGl0ZW0uY2xhc3NNYXAgPSB0aGlzLmdldENsYXNzTWFwKGl0ZW0pKSk7XG4gICAgfVxuXG4gICAgZ2V0QWN0dWFsU3RhcnRBbmRFbmQodmFsdWU6IEFkdmFuY2VkU2VsZWN0YWJsZUNlbGwpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTdGFydCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZVswXS5zdGFydFZhbHVlO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVuZCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZVt0aGlzLnNlbGVjdGVkVmFsdWUubGVuZ3RoIC0gMV0uZW5kVmFsdWU7XG4gICAgICAgIGxldCByYW5nZVN0YXJ0OiBUaW55RGF0ZSwgcmFuZ2VFbmQ6IFRpbnlEYXRlO1xuICAgICAgICBpZiAodmFsdWUuc3RhcnRWYWx1ZS5pc0JlZm9yZURheShzZWxlY3RlZFN0YXJ0KSkge1xuICAgICAgICAgICAgcmFuZ2VTdGFydCA9IHZhbHVlLnN0YXJ0VmFsdWU7XG4gICAgICAgICAgICByYW5nZUVuZCA9IHNlbGVjdGVkU3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLnN0YXJ0VmFsdWUuaXNBZnRlckRheShzZWxlY3RlZEVuZCkpIHtcbiAgICAgICAgICAgIHJhbmdlU3RhcnQgPSBzZWxlY3RlZEVuZDtcbiAgICAgICAgICAgIHJhbmdlRW5kID0gdmFsdWUuZW5kVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgcmFuZ2VTdGFydCwgcmFuZ2VFbmQgfTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlJC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjYXJvdXNlbEl0ZW07IGNvbnRleHQ6IHsgdGl0bGU6IGxvY2FsZSgpLnllYXJUZXh0LCB0eXBlOiAneWVhcicsIHNlbGVjdGFibGVEYXRhOiBzZWxlY3RhYmxlRGF0YS55ZWFyIH1cIj48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgIGNhcm91c2VsSXRlbTtcbiAgICBjb250ZXh0OiB7IHRpdGxlOiBsb2NhbGUoKS5xdWFydGVyVGV4dCwgdHlwZTogJ3F1YXJ0ZXInLCBzZWxlY3RhYmxlRGF0YTogc2VsZWN0YWJsZURhdGEucXVhcnRlciB9XG4gIFwiPjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyXG4gICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgY2Fyb3VzZWxJdGVtO1xuICAgIGNvbnRleHQ6IHsgdGl0bGU6IGxvY2FsZSgpLm1vbnRoVGV4dCwgdHlwZTogJ21vbnRoJywgc2VsZWN0YWJsZURhdGE6IHNlbGVjdGFibGVEYXRhLm1vbnRoIH1cbiAgXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjY2Fyb3VzZWxJdGVtIGxldC10aXRsZT1cInRpdGxlXCIgbGV0LXNlbGVjdGFibGVEYXRhPVwic2VsZWN0YWJsZURhdGFcIiBsZXQtdHlwZT1cInR5cGVcIj5cbiAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0gY2Fyb3VzZWwtaXRlbS17eyB0eXBlIH19XCI+XG4gICAgPHAgY2xhc3M9XCJjYXJvdXNlbC1pdGVtLXRpdGxlXCI+e3sgdGl0bGUgfX08L3A+XG4gICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0tY29udGVudFwiPlxuICAgICAgPGJ1dHRvbiB0aHlCdXR0b249XCJvdXRsaW5lLWRlZmF1bHRcIiB0aHlTaXplPVwic21cIiBjbGFzcz1cInJpZ2h0LXNwYWNlXCIgKGNsaWNrKT1cInByZXZDbGljayh0eXBlKVwiPlxuICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1sZWZ0XCI+PC90aHktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgQGZvciAoaXRlbSBvZiBzZWxlY3RhYmxlRGF0YTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNlbGVjdGFibGUtYnV0dG9uIHJpZ2h0LXNwYWNlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZSh0eXBlLCBpdGVtKVwiXG4gICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZWVudGVyKCRldmVudCwgdHlwZSwgaXRlbSlcIlxuICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VsZWF2ZSgkZXZlbnQsIHR5cGUsIGl0ZW0pXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzTWFwXCI+XG4gICAgICAgICAgQGlmIChpdGVtIHwgc2hvd1llYXJUaXA6IHR5cGUpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwieWVhci10aXBcIj57eyBpdGVtPy5zdGFydFZhbHVlPy5nZXRZZWFyKCkgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAoaXRlbS5pc0luUmFuZ2UgJiYgaXNTZWxlY3RlZChpdGVtKSkge1xuICAgICAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvc2VcIj48L3RoeS1pY29uPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKGl0ZW0uaXNJblJhbmdlICYmICFpc1NlbGVjdGVkKGl0ZW0pKSB7XG4gICAgICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJwbHVzXCI+PC90aHktaWNvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmICghaXRlbS5pc0luUmFuZ2UpIHtcbiAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0/LmNvbnRlbnQgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxidXR0b24gdGh5QnV0dG9uPVwib3V0bGluZS1kZWZhdWx0XCIgdGh5U2l6ZT1cInNtXCIgKGNsaWNrKT1cIm5leHRDbGljayh0eXBlKVwiPlxuICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1yaWdodFwiPjwvdGh5LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -28,7 +28,7 @@ export class ThyMonthPicker extends BasePicker {
|
|
|
28
28
|
multi: true,
|
|
29
29
|
useExisting: forwardRef(() => ThyMonthPicker)
|
|
30
30
|
}
|
|
31
|
-
], exportAs: ["thyMonthPicker"], usesInheritance: true, ngImport: i0, template: "<thy-picker\n #thyPicker\n [isRange]=\"isRange\"\n [value]=\"thyValue\"\n [flexible]=\"flexible\"\n [flexibleDateGranularity]=\"flexibleDateGranularity\"\n (valueChange)=\"onInputValueChange($event)\"\n [open]=\"thyOpen\"\n [disabled]=\"thyDisabled\"\n [format]=\"thyFormat\"\n [mode]=\"thyMode\"\n [allowClear]=\"thyAllowClear\"\n [className]=\"thyOriginClassName\"\n [autoFocus]=\"thyAutoFocus\"\n [placeholder]=\"thyPlaceHolder\"\n [readonly]=\"thyReadonly\"\n [size]=\"thySize\"\n [suffixIcon]=\"thySuffixIcon\"\n [placement]=\"thyPlacement\"\n [hasBackdrop]=\"thyHasBackdrop\"\n (openChange)=\"onOpenChange($event)\"\n (blur)=\"onBlur($event)\"\n (inputChange)=\"onInputDate($event)\">\n @if (isShowDatePopup) {\n <date-popup\n [attr.tabindex]=\"-1\"\n [isRange]=\"isRange\"\n [showWeek]=\"showWeek\"\n [panelMode]=\"panelMode\"\n [flexible]=\"flexible\"\n [flexibleDateGranularity]=\"flexibleDateGranularity\"\n [defaultPickerValue]=\"thyDefaultPickerValue\"\n (panelModeChange)=\"thyOnPanelChange.emit($event)\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n [value]=\"thyValue\"\n (valueChange)=\"onValueChange($event)\"\n (calendarChange)=\"onCalendarChange($event)\"\n [showTime]=\"thyShowTime\"\n [mustShowTime]=\"withTime\"\n [format]=\"thyFormat\"\n [dateRender]=\"thyDateRender\"\n [disabledDate]=\"thyDisabledDate\"\n [minDate]=\"thyMinDate\"\n [maxDate]=\"thyMaxDate\"\n [showShortcut]=\"thyShowShortcut\"\n [shortcutPresets]=\"shortcutPresets\"\n [shortcutPosition]=\"shortcutPosition\"\n [timestampPrecision]=\"thyTimestampPrecision\"\n (dateValueChange)=\"onDateValueChange($event)\"\n [className]=\"thyPanelClassName\"\n
|
|
31
|
+
], exportAs: ["thyMonthPicker"], usesInheritance: true, ngImport: i0, template: "<thy-picker\n #thyPicker\n [isRange]=\"isRange\"\n [value]=\"thyValue\"\n [flexible]=\"flexible\"\n [flexibleDateGranularity]=\"flexibleDateGranularity\"\n (valueChange)=\"onInputValueChange($event)\"\n [open]=\"thyOpen\"\n [disabled]=\"thyDisabled\"\n [format]=\"thyFormat\"\n [separator]=\"separator()\"\n [mode]=\"thyMode\"\n [allowClear]=\"thyAllowClear\"\n [className]=\"thyOriginClassName\"\n [autoFocus]=\"thyAutoFocus\"\n [placeholder]=\"thyPlaceHolder\"\n [readonly]=\"thyReadonly\"\n [size]=\"thySize\"\n [suffixIcon]=\"thySuffixIcon\"\n [placement]=\"thyPlacement\"\n [hasBackdrop]=\"thyHasBackdrop\"\n (openChange)=\"onOpenChange($event)\"\n (blur)=\"onBlur($event)\"\n (inputChange)=\"onInputDate($event)\">\n @if (isShowDatePopup) {\n <date-popup\n [attr.tabindex]=\"-1\"\n [isRange]=\"isRange\"\n [showWeek]=\"showWeek\"\n [panelMode]=\"panelMode\"\n [flexible]=\"flexible\"\n [flexibleDateGranularity]=\"flexibleDateGranularity\"\n [defaultPickerValue]=\"thyDefaultPickerValue\"\n (panelModeChange)=\"thyOnPanelChange.emit($event)\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n [value]=\"thyValue\"\n (valueChange)=\"onValueChange($event)\"\n (calendarChange)=\"onCalendarChange($event)\"\n [showTime]=\"thyShowTime\"\n [mustShowTime]=\"withTime\"\n [format]=\"thyFormat\"\n [dateRender]=\"thyDateRender\"\n [disabledDate]=\"thyDisabledDate\"\n [minDate]=\"thyMinDate\"\n [maxDate]=\"thyMaxDate\"\n [showShortcut]=\"thyShowShortcut\"\n [shortcutPresets]=\"shortcutPresets\"\n [shortcutPosition]=\"shortcutPosition\"\n [timestampPrecision]=\"thyTimestampPrecision\"\n (dateValueChange)=\"onDateValueChange($event)\"\n [className]=\"thyPanelClassName\"\n (resultOk)=\"onResultOk()\"></date-popup>\n }\n</thy-picker>\n", dependencies: [{ kind: "component", type: ThyPicker, selector: "thy-picker", inputs: ["isRange", "open", "disabled", "placeholder", "readonly", "allowClear", "autoFocus", "className", "size", "suffixIcon", "placement", "flexible", "mode", "hasBackdrop", "separator", "format", "flexibleDateGranularity", "value"], outputs: ["blur", "valueChange", "openChange", "inputChange"], exportAs: ["thyPicker"] }, { kind: "component", type: DatePopup, selector: "date-popup", inputs: ["isRange", "showWeek", "format", "disabledDate", "minDate", "maxDate", "showToday", "showTime", "mustShowTime", "dateRender", "className", "panelMode", "value", "defaultPickerValue", "showShortcut", "shortcutPresets", "shortcutPosition", "flexible", "flexibleDateGranularity", "timestampPrecision"], outputs: ["panelModeChange", "calendarChange", "valueChange", "resultOk", "showTimePickerChange", "dateValueChange"], exportAs: ["datePopup"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
32
|
}
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThyMonthPicker, decorators: [{
|
|
34
34
|
type: Component,
|
|
@@ -38,8 +38,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
38
38
|
multi: true,
|
|
39
39
|
useExisting: forwardRef(() => ThyMonthPicker)
|
|
40
40
|
}
|
|
41
|
-
], standalone: true, imports: [ThyPicker, DatePopup], template: "<thy-picker\n #thyPicker\n [isRange]=\"isRange\"\n [value]=\"thyValue\"\n [flexible]=\"flexible\"\n [flexibleDateGranularity]=\"flexibleDateGranularity\"\n (valueChange)=\"onInputValueChange($event)\"\n [open]=\"thyOpen\"\n [disabled]=\"thyDisabled\"\n [format]=\"thyFormat\"\n [mode]=\"thyMode\"\n [allowClear]=\"thyAllowClear\"\n [className]=\"thyOriginClassName\"\n [autoFocus]=\"thyAutoFocus\"\n [placeholder]=\"thyPlaceHolder\"\n [readonly]=\"thyReadonly\"\n [size]=\"thySize\"\n [suffixIcon]=\"thySuffixIcon\"\n [placement]=\"thyPlacement\"\n [hasBackdrop]=\"thyHasBackdrop\"\n (openChange)=\"onOpenChange($event)\"\n (blur)=\"onBlur($event)\"\n (inputChange)=\"onInputDate($event)\">\n @if (isShowDatePopup) {\n <date-popup\n [attr.tabindex]=\"-1\"\n [isRange]=\"isRange\"\n [showWeek]=\"showWeek\"\n [panelMode]=\"panelMode\"\n [flexible]=\"flexible\"\n [flexibleDateGranularity]=\"flexibleDateGranularity\"\n [defaultPickerValue]=\"thyDefaultPickerValue\"\n (panelModeChange)=\"thyOnPanelChange.emit($event)\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n [value]=\"thyValue\"\n (valueChange)=\"onValueChange($event)\"\n (calendarChange)=\"onCalendarChange($event)\"\n [showTime]=\"thyShowTime\"\n [mustShowTime]=\"withTime\"\n [format]=\"thyFormat\"\n [dateRender]=\"thyDateRender\"\n [disabledDate]=\"thyDisabledDate\"\n [minDate]=\"thyMinDate\"\n [maxDate]=\"thyMaxDate\"\n [showShortcut]=\"thyShowShortcut\"\n [shortcutPresets]=\"shortcutPresets\"\n [shortcutPosition]=\"shortcutPosition\"\n [timestampPrecision]=\"thyTimestampPrecision\"\n (dateValueChange)=\"onDateValueChange($event)\"\n [className]=\"thyPanelClassName\"\n
|
|
41
|
+
], standalone: true, imports: [ThyPicker, DatePopup], template: "<thy-picker\n #thyPicker\n [isRange]=\"isRange\"\n [value]=\"thyValue\"\n [flexible]=\"flexible\"\n [flexibleDateGranularity]=\"flexibleDateGranularity\"\n (valueChange)=\"onInputValueChange($event)\"\n [open]=\"thyOpen\"\n [disabled]=\"thyDisabled\"\n [format]=\"thyFormat\"\n [separator]=\"separator()\"\n [mode]=\"thyMode\"\n [allowClear]=\"thyAllowClear\"\n [className]=\"thyOriginClassName\"\n [autoFocus]=\"thyAutoFocus\"\n [placeholder]=\"thyPlaceHolder\"\n [readonly]=\"thyReadonly\"\n [size]=\"thySize\"\n [suffixIcon]=\"thySuffixIcon\"\n [placement]=\"thyPlacement\"\n [hasBackdrop]=\"thyHasBackdrop\"\n (openChange)=\"onOpenChange($event)\"\n (blur)=\"onBlur($event)\"\n (inputChange)=\"onInputDate($event)\">\n @if (isShowDatePopup) {\n <date-popup\n [attr.tabindex]=\"-1\"\n [isRange]=\"isRange\"\n [showWeek]=\"showWeek\"\n [panelMode]=\"panelMode\"\n [flexible]=\"flexible\"\n [flexibleDateGranularity]=\"flexibleDateGranularity\"\n [defaultPickerValue]=\"thyDefaultPickerValue\"\n (panelModeChange)=\"thyOnPanelChange.emit($event)\"\n (showTimePickerChange)=\"onShowTimePickerChange($event)\"\n [value]=\"thyValue\"\n (valueChange)=\"onValueChange($event)\"\n (calendarChange)=\"onCalendarChange($event)\"\n [showTime]=\"thyShowTime\"\n [mustShowTime]=\"withTime\"\n [format]=\"thyFormat\"\n [dateRender]=\"thyDateRender\"\n [disabledDate]=\"thyDisabledDate\"\n [minDate]=\"thyMinDate\"\n [maxDate]=\"thyMaxDate\"\n [showShortcut]=\"thyShowShortcut\"\n [shortcutPresets]=\"shortcutPresets\"\n [shortcutPosition]=\"shortcutPosition\"\n [timestampPrecision]=\"thyTimestampPrecision\"\n (dateValueChange)=\"onDateValueChange($event)\"\n [className]=\"thyPanelClassName\"\n (resultOk)=\"onResultOk()\"></date-popup>\n }\n</thy-picker>\n" }]
|
|
42
42
|
}], ctorParameters: () => [], propDecorators: { thyFormat: [{
|
|
43
43
|
type: Input
|
|
44
44
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9tb250aC1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2Jhc2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRS9DOzs7O0dBSUc7QUFnQkgsTUFBTSxPQUFPLGNBQWUsU0FBUSxVQUFVO0lBVTFDO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFSWjs7V0FFRztRQUNNLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFFdkIsaUJBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUtyQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7K0dBZlEsY0FBYzttR0FBZCxjQUFjLG1HQVZaO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7YUFDaEQ7U0FDSiwrRUN4QkwsbzNEQXNEQSw0Q0Q1QmMsU0FBUyw0WEFBRSxTQUFTOzs0RkFFckIsY0FBYztrQkFmMUIsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGtCQUFrQixZQUNsQixnQkFBZ0IsYUFFZjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUM7eUJBQ2hEO3FCQUNKLGNBQ1csSUFBSSxXQUNQLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzt3REFRdEIsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5cbmltcG9ydCB7IEJhc2VQaWNrZXIgfSBmcm9tICcuL2Jhc2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlUG9wdXAgfSBmcm9tICcuL2xpYi9wb3B1cHMvZGF0ZS1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5UGlja2VyIH0gZnJvbSAnLi9waWNrZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiDmnIjku73pgInmi6nnu4Tku7ZcbiAqIEBuYW1lIHRoeS1tb250aC1waWNrZXJcbiAqIEBvcmRlciA0MFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogJ3RoeS1tb250aC1waWNrZXInLFxuICAgIGV4cG9ydEFzOiAndGh5TW9udGhQaWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXNlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaHlNb250aFBpY2tlcilcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVGh5UGlja2VyLCBEYXRlUG9wdXBdXG59KVxuZXhwb3J0IGNsYXNzIFRoeU1vbnRoUGlja2VyIGV4dGVuZHMgQmFzZVBpY2tlciB7XG4gICAgcHJvdGVjdGVkIGVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICAvKipcbiAgICAgKiDlsZXnpLrnmoTmnIjku73moLzlvI9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlGb3JtYXQgPSAneXl5eS1NTSc7XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIuYWRkQ2xhc3MoJ3RoeS1jYWxlbmRhci1waWNrZXInKTtcbiAgICAgICAgdGhpcy50aHlNb2RlID0gJ21vbnRoJztcbiAgICB9XG59XG4iLCI8dGh5LXBpY2tlclxuICAjdGh5UGlja2VyXG4gIFtpc1JhbmdlXT1cImlzUmFuZ2VcIlxuICBbdmFsdWVdPVwidGh5VmFsdWVcIlxuICBbZmxleGlibGVdPVwiZmxleGlibGVcIlxuICBbZmxleGlibGVEYXRlR3JhbnVsYXJpdHldPVwiZmxleGlibGVEYXRlR3JhbnVsYXJpdHlcIlxuICAodmFsdWVDaGFuZ2UpPVwib25JbnB1dFZhbHVlQ2hhbmdlKCRldmVudClcIlxuICBbb3Blbl09XCJ0aHlPcGVuXCJcbiAgW2Rpc2FibGVkXT1cInRoeURpc2FibGVkXCJcbiAgW2Zvcm1hdF09XCJ0aHlGb3JtYXRcIlxuICBbc2VwYXJhdG9yXT1cInNlcGFyYXRvcigpXCJcbiAgW21vZGVdPVwidGh5TW9kZVwiXG4gIFthbGxvd0NsZWFyXT1cInRoeUFsbG93Q2xlYXJcIlxuICBbY2xhc3NOYW1lXT1cInRoeU9yaWdpbkNsYXNzTmFtZVwiXG4gIFthdXRvRm9jdXNdPVwidGh5QXV0b0ZvY3VzXCJcbiAgW3BsYWNlaG9sZGVyXT1cInRoeVBsYWNlSG9sZGVyXCJcbiAgW3JlYWRvbmx5XT1cInRoeVJlYWRvbmx5XCJcbiAgW3NpemVdPVwidGh5U2l6ZVwiXG4gIFtzdWZmaXhJY29uXT1cInRoeVN1ZmZpeEljb25cIlxuICBbcGxhY2VtZW50XT1cInRoeVBsYWNlbWVudFwiXG4gIFtoYXNCYWNrZHJvcF09XCJ0aHlIYXNCYWNrZHJvcFwiXG4gIChvcGVuQ2hhbmdlKT1cIm9uT3BlbkNoYW5nZSgkZXZlbnQpXCJcbiAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAoaW5wdXRDaGFuZ2UpPVwib25JbnB1dERhdGUoJGV2ZW50KVwiPlxuICBAaWYgKGlzU2hvd0RhdGVQb3B1cCkge1xuICAgIDxkYXRlLXBvcHVwXG4gICAgICBbYXR0ci50YWJpbmRleF09XCItMVwiXG4gICAgICBbaXNSYW5nZV09XCJpc1JhbmdlXCJcbiAgICAgIFtzaG93V2Vla109XCJzaG93V2Vla1wiXG4gICAgICBbcGFuZWxNb2RlXT1cInBhbmVsTW9kZVwiXG4gICAgICBbZmxleGlibGVdPVwiZmxleGlibGVcIlxuICAgICAgW2ZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5XT1cImZsZXhpYmxlRGF0ZUdyYW51bGFyaXR5XCJcbiAgICAgIFtkZWZhdWx0UGlja2VyVmFsdWVdPVwidGh5RGVmYXVsdFBpY2tlclZhbHVlXCJcbiAgICAgIChwYW5lbE1vZGVDaGFuZ2UpPVwidGh5T25QYW5lbENoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgKHNob3dUaW1lUGlja2VyQ2hhbmdlKT1cIm9uU2hvd1RpbWVQaWNrZXJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbdmFsdWVdPVwidGh5VmFsdWVcIlxuICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoY2FsZW5kYXJDaGFuZ2UpPVwib25DYWxlbmRhckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtzaG93VGltZV09XCJ0aHlTaG93VGltZVwiXG4gICAgICBbbXVzdFNob3dUaW1lXT1cIndpdGhUaW1lXCJcbiAgICAgIFtmb3JtYXRdPVwidGh5Rm9ybWF0XCJcbiAgICAgIFtkYXRlUmVuZGVyXT1cInRoeURhdGVSZW5kZXJcIlxuICAgICAgW2Rpc2FibGVkRGF0ZV09XCJ0aHlEaXNhYmxlZERhdGVcIlxuICAgICAgW21pbkRhdGVdPVwidGh5TWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJ0aHlNYXhEYXRlXCJcbiAgICAgIFtzaG93U2hvcnRjdXRdPVwidGh5U2hvd1Nob3J0Y3V0XCJcbiAgICAgIFtzaG9ydGN1dFByZXNldHNdPVwic2hvcnRjdXRQcmVzZXRzXCJcbiAgICAgIFtzaG9ydGN1dFBvc2l0aW9uXT1cInNob3J0Y3V0UG9zaXRpb25cIlxuICAgICAgW3RpbWVzdGFtcFByZWNpc2lvbl09XCJ0aHlUaW1lc3RhbXBQcmVjaXNpb25cIlxuICAgICAgKGRhdGVWYWx1ZUNoYW5nZSk9XCJvbkRhdGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtjbGFzc05hbWVdPVwidGh5UGFuZWxDbGFzc05hbWVcIlxuICAgICAgKHJlc3VsdE9rKT1cIm9uUmVzdWx0T2soKVwiPjwvZGF0ZS1wb3B1cD5cbiAgfVxuPC90aHktcGlja2VyPlxuIl19
|