@c8y/ngx-components 1021.29.4 → 1021.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/device-profile/device-profile.component.d.ts.map +1 -1
  2. package/device-profile/device-profile.model.d.ts +3 -0
  3. package/device-profile/device-profile.model.d.ts.map +1 -1
  4. package/device-profile/device-profile.service.d.ts +1 -1
  5. package/device-profile/device-profile.service.d.ts.map +1 -1
  6. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts +2 -1
  7. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts.map +1 -1
  8. package/esm2022/core/i18n/translation-loader.service.mjs +2 -2
  9. package/esm2022/device-profile/device-profile.component.mjs +4 -3
  10. package/esm2022/device-profile/device-profile.model.mjs +1 -1
  11. package/esm2022/device-profile/device-profile.service.mjs +17 -16
  12. package/esm2022/device-profile/device-tab-profile/device-profile-item-list.component.mjs +3 -3
  13. package/esm2022/device-profile/device-tab-profile/device-tab-profile.component.mjs +20 -4
  14. package/esm2022/repository/shared/repository.model.mjs +1 -1
  15. package/esm2022/widgets/implementations/alarms/alarm-widget.service.mjs +2 -2
  16. package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.mjs +2 -2
  17. package/esm2022/widgets/implementations/kpi/kpi-widget-config/kpi-widget-config.component.mjs +2 -2
  18. package/esm2022/widgets/implementations/linear-gauge/linear-gauge-widget-config/linear-gauge-widget-config.component.mjs +2 -2
  19. package/fesm2022/c8y-ngx-components-device-profile.mjs +38 -20
  20. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  21. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  22. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +1 -1
  23. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  24. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +1 -1
  25. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  26. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +1 -1
  27. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
  28. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +1 -1
  29. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
  30. package/fesm2022/c8y-ngx-components.mjs +1 -1
  31. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  32. package/locales/de.po +1 -1
  33. package/locales/es.po +1 -1
  34. package/locales/fr.po +1 -1
  35. package/locales/nl.po +1 -1
  36. package/locales/pl.po +1 -1
  37. package/locales/pt_BR.po +1 -1
  38. package/package.json +1 -1
  39. package/repository/shared/repository.model.d.ts +1 -0
  40. package/repository/shared/repository.model.d.ts.map +1 -1
@@ -93,7 +93,7 @@ export class AlarmWidgetService {
93
93
  [AlarmStatus.CLEARED]: true
94
94
  }
95
95
  : oldConfig.options.status,
96
- types: oldConfig.options.types.length ? oldConfig.options.types : [''],
96
+ types: oldConfig.options.types?.length ? oldConfig.options.types : [''],
97
97
  isAutoRefreshEnabled: true,
98
98
  refreshInterval: isIntervalRefresh ? this.alarmsViewService.DEFAULT_INTERVAL_VALUE : undefined
99
99
  };
@@ -341,4 +341,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
341
341
  type: Injectable,
342
342
  args: [{ providedIn: 'root' }]
343
343
  }], ctorParameters: () => [{ type: i1.AlarmsViewService }] });
344
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm0td2lkZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi93aWRnZXRzL2ltcGxlbWVudGF0aW9ucy9hbGFybXMvYWxhcm0td2lkZ2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsV0FBVyxFQUVYLFFBQVEsRUFFUixlQUFlLEVBQ2hCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxrQkFBa0IsRUFJbEIsdUJBQXVCLEVBQ3hCLE1BQU0sMkJBQTJCLENBQUM7OztBQUVuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFHcEMsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFFNUQ7Ozs7Ozs7O09BUUc7SUFDSCx5QkFBeUIsQ0FDdkIsSUFBbUQ7UUFFbkQsT0FBTyxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCwwQkFBMEIsQ0FBQyxpQkFBMEIsRUFBRSxRQUFpQjtRQUN0RSxPQUFPO1lBQ0wsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFNBQVM7WUFDbkMsVUFBVSxFQUNSLFFBQVEsS0FBSyx1QkFBdUI7Z0JBQ2xDLENBQUMsQ0FBRTtvQkFDQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO29CQUN6QixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJO29CQUN0QixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJ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QUFhLEVBQUUsTUFBZ0IsRUFBRSxNQUE2QjtRQUM3RSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxlQUFlLENBQUMsTUFBNkIsRUFBRSxLQUFhO1FBQzFELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN2RixDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNLLG9CQUFvQixDQUFDLFdBQXFCO1FBQ2hELE9BQU8sWUFBWSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDN0MsQ0FBQzs4R0F0V1Usa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FETCxNQUFNOzsyRkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFsYXJtUXVlcnlGaWx0ZXIsXG4gIEFsYXJtU3RhdHVzU2V0dGluZ3MsXG4gIEFsYXJtU3RhdHVzLFxuICBJQWxhcm0sXG4gIFNldmVyaXR5LFxuICBTZXZlcml0eUZpbHRlcixcbiAgU0VWRVJJVFlfTEFCRUxTXG59IGZyb20gJ0BjOHkvY2xpZW50JztcblxuaW1wb3J0IHsgU2V2ZXJpdHlTZXR0aW5ncywgU2V2ZXJpdHlUeXBlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQWxhcm1zVmlld1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2FsYXJtcyc7XG5pbXBvcnQge1xuICBBTEFSTV9PUkRFUl9WQUxVRVMsXG4gIEFsYXJtTGlzdFdpZGdldENvbmZpZyxcbiAgQWxhcm1PcmRlclR5cGUsXG4gIExlZ2FjeUFsYXJtTGlzdENvbmZpZyxcbiAgUkVDRU5UX0FMQVJNU19XSURHRVRfSURcbn0gZnJvbSAnLi9hbGFybS1saXN0LXdpZGdldC5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BBR0VfU0laRSA9IDIwO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFsYXJtV2lkZ2V0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxhcm1zVmlld1NlcnZpY2U6IEFsYXJtc1ZpZXdTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIGRhdGEgZm9sbG93cyB0aGUgTGVnYWN5QWxhcm1Db25maWcgc3RydWN0dXJlLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGRldGVybWluZXMgaWYgYSBnaXZlbiBkYXRhIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBMZWdhY3lBbGFybUNvbmZpZ1xuICAgKiBieSBjaGVja2luZyBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSAnb3B0aW9ucycgcHJvcGVydHkuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm5zIC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGRhdGEgb2JqZWN0IGlzIGEgTGVnYWN5QWxhcm1Db25maWcsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgaXNPbGRBbGFybUNvbmZpZ1N0cnVjdHVyZShcbiAgICBkYXRhOiBMZWdhY3lBbGFybUxpc3RDb25maWcgfCBBbGFybUxpc3RXaWRnZXRDb25maWdcbiAgKTogZGF0YSBpcyBMZWdhY3lBbGFybUxpc3RDb25maWcge1xuICAgIHJldHVybiBkYXRhICE9PSBudWxsICYmIHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJiAnb3B0aW9ucycgaW4gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHByZWRlZmluZWQgd2lkZ2V0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGEgbmV3IGNvbmZpZ3VyYXRpb24gb2JqZWN0IGJhc2VkIG9uXG4gICAqIGEgd2lkZ2V0cyBJRCAodGhhdCBkZXRlcm1pbmVzIGlmIGlzIGEgbGVnYWN5IFJlY2VudCBvciBDcml0aWNhbCBhbGFybXMgd2lkZ2V0KS5cbiAgICpcbiAgICogQHBhcmFtIGlzSW50ZXJ2YWxSZWZyZXNoIC0gZGV0ZXJtaW5lcyBhIHR5cGUgb2YgYSByZWZyZXNoLlxuICAgKiBAcGFyYW0gd2lkZ2V0SWQgLSBkZXRlcm1pbmVzIGlmIGEgY29uZmlnIHNob3VsZCBiZSBkb25lIGZvciBSZWNlbnQgb3IgQ3JpdGljYWwgYWxhcm1zIHdpZGdldC5cbiAgICogQHJldHVybnMgVGhlIG5ldywgcHJlZGVmaW5lZCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICovXG4gIGdldFByZWRlZmluZWRDb25maWd1cmF0aW9uKGlzSW50ZXJ2YWxSZWZyZXNoOiBib29sZWFuLCB3aWRnZXRJZD86IHN0cmluZyk6IEFsYXJtTGlzdFdpZGdldENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9yZGVyOiBBTEFSTV9PUkRFUl9WQUxVRVMuQllfQUNUSVZFLFxuICAgICAgc2V2ZXJpdGllczpcbiAgICAgICAgd2lkZ2V0SWQgPT09IFJFQ0VOVF9BTEFSTVNfV0lER0VUX0lEXG4gICAgICAgICAgPyAoe1xuICAgICAgICAgICAgICBbU2V2ZXJpdHkuQ1JJVElDQUxdOiB0cnVlLFxuICAgICAgICAgICAgICBbU2V2ZXJpdHkuTUFKT1JdOiB0cnVlLFxuICAgICAgICAgICAgICBbU2V2ZXJpdHkuTUlOT1JdOiB0cnVlLFxuICAgICAgICAgICAgICBbU2V2ZXJpdHkuV0FSTklOR106IHRydWVcbiAgICAgICAgICAgIH0gYXMgU2V2ZXJpdHlTZXR0aW5ncylcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIFtTZXZlcml0eS5DUklUSUNBTF06IHRydWUsXG4gICAgICAgICAgICAgIFtTZXZlcml0eS5NQUpPUl06IGZhbHNlLFxuICAgICAgICAgICAgICBbU2V2ZXJpdHkuTUlOT1JdOiBmYWxzZSxcbiAgICAgICAgICAgICAgW1NldmVyaXR5LldBUk5JTkddOiBmYWxzZVxuICAgICAgICAgICAgfSBhcyBTZXZlcml0eVNldHRpbmdzKSxcbiAgICAgIHN0YXR1czpcbiAgICAgICAgd2lkZ2V0SWQgPT09IFJFQ0VOVF9BTEFSTVNfV0lER0VUX0lEXG4gICAgICAgICAgPyAoe1xuICAgICAgICAgICAgICBbQWxhcm1TdGF0dXMuQUNLTk9XTEVER0VEXTogdHJ1ZSxcbiAgICAgICAgICAgICAgW0FsYXJtU3RhdHVzLkFDVElWRV06IHRydWUsXG4gICAgICAgICAgICAgIFtBbGFybVN0YXR1cy5DTEVBUkVEXTogdHJ1ZVxuICAgICAgICAgICAgfSBhcyBBbGFybVN0YXR1c1NldHRpbmdzKVxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgW0FsYXJtU3RhdHVzLkFDS05PV0xFREdFRF06IGZhbHNlLFxuICAgICAgICAgICAgICBbQWxhcm1TdGF0dXMuQUNUSVZFXTogdHJ1ZSxcbiAgICAgICAgICAgICAgW0FsYXJtU3RhdHVzLkNMRUFSRURdOiBmYWxzZVxuICAgICAgICAgICAgfSBhcyBBbGFybVN0YXR1c1NldHRpbmdzKSxcbiAgICAgIHR5cGVzOiBbJyddLFxuICAgICAgaXNSZWFsdGltZTogIWlzSW50ZXJ2YWxSZWZyZXNoLFxuICAgICAgaXNBdXRvUmVmcmVzaEVuYWJsZWQ6IHRydWUsXG4gICAgICByZWZyZXNoSW50ZXJ2YWw6IGlzSW50ZXJ2YWxSZWZyZXNoID8gdGhpcy5hbGFybXNWaWV3U2VydmljZS5ERUZBVUxUX0lOVEVSVkFMX1ZBTFVFIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIGEgTGVnYWN5QWxhcm1Db25maWcgb2JqZWN0IGludG8gYW4gQWxhcm1MaXN0V2lkZ2V0Q29uZmlnIG9iamVjdC5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiBtYXBzIHRoZSBwcm9wZXJ0aWVzIGZyb20gYW4gb2xkIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIChMZWdhY3lBbGFybUNvbmZpZylcbiAgICogdG8gYSBuZXcgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgKEFsYXJtTGlzdFdpZGdldENvbmZpZykuXG4gICAqXG4gICAqIEBwYXJhbSBvbGRDb25maWcgLSBUaGUgb2xkIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHRvIGJlIHRyYW5zZm9ybWVkLlxuICAgKiBAcmV0dXJucyAtIFRoZSBuZXcgY29uZmlndXJhdGlvbiBvYmplY3QgbWFwcGVkIGZyb20gdGhlIG9sZCBvbmUuXG4gICAqL1xuICBtYXBUb05ld0NvbmZpZ1N0cnVjdHVyZShcbiAgICBvbGRDb25maWc6IExlZ2FjeUFsYXJtTGlzdENvbmZpZyxcbiAgICBpc0ludGVydmFsUmVmcmVzaDogYm9vbGVhblxuICApOiBBbGFybUxpc3RXaWRnZXRDb25maWcge1xuICAgIGNvbnN0IG9yZGVyOiBBbGFybU9yZGVyVHlwZSA9XG4gICAgICBvbGRDb25maWcub3B0aW9ucy5vcmRlck1vZGUgPT09ICdBQ1RJVkVfRklSU1QnXG4gICAgICAgID8gQUxBUk1fT1JERVJfVkFMVUVTLkJZX0FDVElWRVxuICAgICAgICA6IEFMQVJNX09SREVSX1ZBTFVFUy5CWV9TRVZFUklUWTtcblxuICAgIGlmICghdGhpcy5pc0NvbnRhaW5pbmdBbGxTZXZlcml0eVR5cGVzKG9sZENvbmZpZy5vcHRpb25zLnNldmVyaXR5KSkge1xuICAgICAgb2xkQ29uZmlnLm9wdGlvbnMuc2V2ZXJpdHkgPSB0aGlzLmFkZEFsbE1pc3NpbmdTZXZlcml0eVR5cGVzKG9sZENvbmZpZy5vcHRpb25zLnNldmVyaXR5KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3JkZXI6IG9yZGVyLFxuICAgICAgaXNSZWFsdGltZTogb2xkQ29uZmlnLnJlYWx0aW1lLFxuICAgICAgZGV2aWNlOiBvbGRDb25maWcuZGV2aWNlLFxuICAgICAgc2hvd0FsYXJtc0ZvckNoaWxkcmVuOiBmYWxzZSxcbiAgICAgIHNldmVyaXRpZXM6IG9sZENvbmZpZy5vcHRpb25zLnNldmVyaXR5LFxuICAgICAgc3RhdHVzOiB0aGlzLmFsbFZhbHVlc0ZhbHNlKG9sZENvbmZpZy5vcHRpb25zLnN0YXR1cylcbiAgICAgICAgPyAoe1xuICAgICAgICAgICAgW0FsYXJtU3RhdHVzLkFDS05PV0xFREdFRF06IHRydWUsXG4gICAgICAgICAgICBbQWxhcm1TdGF0dXMuQUNUSVZFXTogdHJ1ZSxcbiAgICAgICAgICAgIFtBbGFybVN0YXR1cy5DTEVBUkVEXTogdHJ1ZVxuICAgICAgICAgIH0gYXMgQWxhcm1TdGF0dXNTZXR0aW5ncylcbiAgICAgICAgOiBvbGRDb25maWcub3B0aW9ucy5zdGF0dXMsXG4gICAgICB0eXBlczogb2xkQ29uZmlnLm9wdGlvbnMudHlwZXMubGVuZ3RoID8gb2xkQ29uZmlnLm9wdGlvbnMudHlwZXMgOiBbJyddLFxuICAgICAgaXNBdXRvUmVmcmVzaEVuYWJsZWQ6IHRydWUsXG4gICAgICByZWZyZXNoSW50ZXJ2YWw6IGlzSW50ZXJ2YWxSZWZyZXNoID8gdGhpcy5hbGFybXNWaWV3U2VydmljZS5ERUZBVUxUX0lOVEVSVkFMX1ZBTFVFIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIHNldmVyaXR5IG9iamVjdCBjb250YWlucyBhbGwgdGhlIHByZWRlZmluZWQgc2V2ZXJpdHkgdHlwZXMuXG4gICAqXG4gICAqIEBwYXJhbSBzZXZlcml0eSAtIEEgcmVjb3JkIG9iamVjdCB3aGVyZSBrZXlzIGFyZSBzZXZlcml0eSB0eXBlIHN0cmluZ3MgYW5kIHZhbHVlcyBhcmUgYm9vbGVhbi5cbiAgICogICAgICAgICAgICAgICAgIC0gVGhpcyBvYmplY3QgaXMgY2hlY2tlZCBhZ2FpbnN0IHRoZSBwcmVkZWZpbmVkIHNldmVyaXR5IHR5cGVzLlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgYWxsIHByZWRlZmluZWQgc2V2ZXJpdHkgdHlwZXMgYXJlIHByZXNlbnQgaW4gdGhlIHNldmVyaXR5IG9iamVjdDsgb3RoZXJ3aXNlLCBgZmFsc2VgLlxuICAgKi9cbiAgaXNDb250YWluaW5nQWxsU2V2ZXJpdHlUeXBlcyhzZXZlcml0eTogU2V2ZXJpdHlGaWx0ZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoU0VWRVJJVFlfTEFCRUxTKS5ldmVyeShzZXZlcml0eVR5cGUgPT4gc2V2ZXJpdHlUeXBlIGluIHNldmVyaXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFueSBtaXNzaW5nIHNldmVyaXR5IHR5cGVzIHRvIHRoZSBwcm92aWRlZCBzZXZlcml0eSBvYmplY3Qgd2l0aCBhIGRlZmF1bHQgdmFsdWUgb2YgYGZhbHNlYC5cbiAgICpcbiAgICogQHBhcmFtIHNldmVyaXR5IC0gQSByZWNvcmQgb2JqZWN0IHdoZXJlIGtleXMgYXJlIHNldmVyaXR5IHR5cGUgc3RyaW5ncyBhbmQgdmFsdWVzIGFyZSBib29sZWFuLlxuICAgKiAgICAgICAgICAgICAgICAgLSBNaXNzaW5nIHNldmVyaXR5IHR5cGVzIHdpbGwgYmUgYWRkZWQgdG8gdGhpcyBvYmplY3QuXG4gICAqIEByZXR1cm5zIFRoZSBtb2RpZmllZCBzZXZlcml0eSBvYmplY3QsIHdoaWNoIGluY2x1ZGVzIGFsbCBwcmVkZWZpbmVkIHNldmVyaXR5IHR5cGVzLCBhZGRpbmcgYW55XG4gICAqICAgICAgICAgIHRoYXQgd2VyZSBtaXNzaW5nIHdpdGggYSB2YWx1ZSBvZiBgZmFsc2VgLlxuICAgKi9cbiAgYWRkQWxsTWlzc2luZ1NldmVyaXR5VHlwZXMoc2V2ZXJpdHk6IFNldmVyaXR5RmlsdGVyKTogU2V2ZXJpdHlGaWx0ZXIge1xuICAgIE9iamVjdC5rZXlzKFNFVkVSSVRZX0xBQkVMUykuZm9yRWFjaChzZXZlcml0eVR5cGUgPT4ge1xuICAgICAgaWYgKCEoc2V2ZXJpdHlUeXBlIGluIHNldmVyaXR5KSkge1xuICAgICAgICBzZXZlcml0eVtzZXZlcml0eVR5cGVdID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHNldmVyaXR5O1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcHMgYW4gQWxhcm1MaXN0V2lkZ2V0Q29uZmlnIG9iamVjdCB0byBhbiBBbGFybVF1ZXJ5RmlsdGVyLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIHRoZSBwcm92aWRlZCBBbGFybUxpc3RXaWRnZXRDb25maWcgaW50byBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgcXVlcnlpbmcgYWxhcm1zLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciB0aGUgYWxhcm0gbGlzdCB3aWRnZXQuXG4gICAqIEBwYXJhbSBwYWdlU2l6ZSAtIE9wdGlvbmFsIG51bWJlciBzcGVjaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBwYWdlcyB0byBiZSByZXR1cm5lZCBpbiB0aGUgcXVlcnkuXG4gICAqIEByZXR1cm5zIC0gVGhlIHF1ZXJ5IGZpbHRlciBvYmplY3QgY29uc3RydWN0ZWQgZnJvbSB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIG1hcENvbmZpZ1RvUXVlcnlGaWx0ZXIoY29uZmlnOiBBbGFybUxpc3RXaWRnZXRDb25maWcsIHBhZ2VTaXplPzogbnVtYmVyKTogQWxhcm1RdWVyeUZpbHRlciB7XG4gICAgY29uc3QgZmlsdGVyOiBBbGFybVF1ZXJ5RmlsdGVyID0ge1xuICAgICAgcGFnZVNpemU6IHBhZ2VTaXplIHx8IERFRkFVTFRfUEFHRV9TSVpFLFxuICAgICAgcXVlcnk6IHRoaXMuZ2V0T3JkZXJQYXJhbWV0ZXJzKGNvbmZpZy5vcmRlciksXG4gICAgICBzZXZlcml0eTogdGhpcy5leHRyYWN0RmlsdGVyUGFyYW1zKGNvbmZpZy5zZXZlcml0aWVzIHx8IHt9KSxcbiAgICAgIHN0YXR1czogdGhpcy5leHRyYWN0RmlsdGVyUGFyYW1zKGNvbmZpZy5zdGF0dXMgfHwge30pLFxuICAgICAgdHlwZTogKGNvbmZpZy50eXBlcyB8fCBbXSkuam9pbignLCcpLFxuICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWVcbiAgICB9O1xuICAgIGlmIChjb25maWcuZGF0ZUZpbHRlcikge1xuICAgICAgZmlsdGVyLmxhc3RVcGRhdGVkRnJvbSA9XG4gICAgICAgIHR5cGVvZiBjb25maWcuZGF0ZUZpbHRlclswXSA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IGNvbmZpZy5kYXRlRmlsdGVyWzBdXG4gICAgICAgICAgOiBjb25maWcuZGF0ZUZpbHRlclswXS50b0lTT1N0cmluZygpO1xuICAgICAgZmlsdGVyLmNyZWF0ZWRUbyA9XG4gICAgICAgIHR5cGVvZiBjb25maWcuZGF0ZUZpbHRlclsxXSA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IGNvbmZpZy5kYXRlRmlsdGVyWzFdXG4gICAgICAgICAgOiBjb25maWcuZGF0ZUZpbHRlclsxXS50b0lTT1N0cmluZygpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRldmljZSkge1xuICAgICAgZmlsdGVyLnNvdXJjZSA9IGNvbmZpZy5kZXZpY2UuaWQ7XG4gICAgICBmaWx0ZXIud2l0aFNvdXJjZUFzc2V0cyA9IHRydWU7XG4gICAgICBmaWx0ZXIud2l0aFNvdXJjZURldmljZXMgPSB0cnVlO1xuICAgICAgZmlsdGVyLndpdGhTb3VyY2VBc3NldHMgPSBjb25maWcuc2hvd0FsYXJtc0ZvckNoaWxkcmVuID8/IHRydWU7XG4gICAgICBmaWx0ZXIud2l0aFNvdXJjZURldmljZXMgPSBjb25maWcuc2hvd0FsYXJtc0ZvckNoaWxkcmVuID8/IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdHMgYW5kIGNvbmNhdGVuYXRlcyBmaWx0ZXIgcGFyYW1ldGVycyBmcm9tIGEgZ2l2ZW4gb2JqZWN0LlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGFuIG9iamVjdCBjb250YWluaW5nIGZpbHRlciBzZXR0aW5ncyAoZWl0aGVyIFNldmVyaXR5RmlsdGVyXG4gICAqIG9yIEFsYXJtU3RhdHVzU2V0dGluZ3MpIGFuZCByZXR1cm5zIGEgc3RyaW5nIG9mIGFsbCBrZXlzIHdoZXJlIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGlzIHRydWUuXG4gICAqIElmIHRoZSBvYmplY3QgaXMgZW1wdHkgb3IgbnVsbCwgYW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkLlxuICAgKlxuICAgKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCBjb250YWluaW5nIGZpbHRlciBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgLSBBIGNvbmNhdGVuYXRlZCBzdHJpbmcgb2Yga2V5cyB3aXRoIHRydWUgdmFsdWVzLCBzZXBhcmF0ZWQgYnkgY29tbWFzLlxuICAgKi9cbiAgZXh0cmFjdEZpbHRlclBhcmFtcyhvYmo6IFNldmVyaXR5RmlsdGVyIHwgQWxhcm1TdGF0dXNTZXR0aW5ncyk6IHN0cmluZyB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iailcbiAgICAgIC5maWx0ZXIoKFssIHZhbHVlXSkgPT4gdmFsdWUpXG4gICAgICAubWFwKChba2V5XSkgPT4ga2V5KVxuICAgICAgLmpvaW4oJywnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGFuIGluY29taW5nIHJlYWwtdGltZSBhbGFybSBoYXMgYSBkaWZmZXJlbnQgc3RhdHVzIHRoYW4gYW4gZXhpc3RpbmcgYWxhcm0uXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBwcm92aWRlZCBpbmNvbWluZyByZWFsLXRpbWUgYWxhcm0ncyBzdGF0dXMgZGlmZmVyc1xuICAgKiBmcm9tIHRoYXQgb2YgYW4gZXhpc3RpbmcgYWxhcm0gd2l0aCB0aGUgc2FtZSBJRCBpbiB0aGUgZ2l2ZW4gYXJyYXkgb2YgYWxhcm1zLlxuICAgKlxuICAgKiBAcGFyYW0gZXhpc3RpbmdBbGFybXMgLSBUaGUgYXJyYXkgb2YgZXhpc3RpbmcgYWxhcm1zLlxuICAgKiBAcGFyYW0gaW5jb21pbmdSZWFsdGltZUFsYXJtIC0gVGhlIGluY29taW5nIHJlYWwtdGltZSBhbGFybSB0byBjaGVjay5cbiAgICogQHJldHVybnMgLSBUcnVlIGlmIHRoZSBleGlzdGluZyBhbGFybSdzIHN0YXR1cyBoYXMgY2hhbmdlZCwgb3RoZXJ3aXNlIGZhbHNlLlxuICAgKi9cbiAgaGFzRXhpc3RpbmdBbGFybUNoYW5nZWRTdGF0dXMoZXhpc3RpbmdBbGFybXM6IElBbGFybVtdLCBpbmNvbWluZ1JlYWx0aW1lQWxhcm06IElBbGFybSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGV4aXN0aW5nQWxhcm0gPSBleGlzdGluZ0FsYXJtcy5maW5kKGFsYXJtID0+IGFsYXJtLmlkID09PSBpbmNvbWluZ1JlYWx0aW1lQWxhcm0uaWQpO1xuICAgIHJldHVybiAhIWV4aXN0aW5nQWxhcm0gJiYgZXhpc3RpbmdBbGFybS5zdGF0dXMgIT09IGluY29taW5nUmVhbHRpbWVBbGFybS5zdGF0dXM7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyBhbGFybXMgYmFzZWQgb24gdGhlaXIgc3RhdHVzLCBzZXZlcml0eSwgYW5kIHR5cGUuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGRldGVybWluZXMgaWYgYSBnaXZlbiBhbGFybSwgaWRlbnRpZmllZCBlaXRoZXIgYnkgYSBudW1lcmljIElEIG9yIGFuIGBJQWxhcm1gIG9iamVjdCxcbiAgICogbWF0Y2hlcyBzcGVjaWZpYyBjcml0ZXJpYSBkZWZpbmVkIGluIGBhbGFybXNgIGFuZCBvcHRpb25hbGx5IGBjb25maWdgLlxuICAgKlxuICAgKiBAcGFyYW0gYWxhcm0gLSBUaGUgYWxhcm0gdG8gY2hlY2ssIHJlcHJlc2VudGVkIGVpdGhlciBieSBhIG51bWVyaWMgSUQgb3IgYW4gYElBbGFybWAgb2JqZWN0LlxuICAgKiBAcGFyYW0gYWxhcm1zIC0gQW4gYXJyYXkgb2YgYElBbGFybWAgb2JqZWN0cyBhZ2FpbnN0IHdoaWNoIHRoZSBnaXZlbiBhbGFybSBpcyBldmFsdWF0ZWQuXG4gICAqIEBwYXJhbSBjb25maWcgLSBPcHRpb25hbC4gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGFsYXJtIGxpc3Qgd2lkZ2V0LCB1c2VkIHRvIGRlZmluZSBhZGRpdGlvbmFsXG4gICAqICAgICAgICAgICAgICAgICBmaWx0ZXJpbmcgY3JpdGVyaWEuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgYWxhcm0gbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIGNyaXRlcmlhOyBvdGhlcndpc2UsIGBmYWxzZWAuXG4gICAqICAgICAgICAgIElmIGBhbGFybWAgaXMgYSBudW1iZXIsIGl0IGFsd2F5cyByZXR1cm5zIGBmYWxzZWAuXG4gICAqICAgICAgICAgIElmIGBjb25maWdgIGlzIG5vdCBwcm92aWRlZCwgaXQgdXNlcyBhIGxlZ2FjeSBmaWx0ZXIgZm9yIGNyaXRpY2FsIGFsYXJtcy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogLSBXaGVuIGBhbGFybWAgaXMgYSBudW1lcmljIElELCB0aGUgZnVuY3Rpb24gcmV0dXJucyBgZmFsc2VgIGFzIGl0IGNhbm5vdCBtYXRjaCBhZ2FpbnN0IHR5cGUgYW5kIHNldmVyaXR5LlxuICAgKiAtIElmIGBjb25maWdgIGlzIG5vdCBwcm92aWRlZCwgdGhlIGZ1bmN0aW9uIGFzc3VtZXMgYSBsZWdhY3kgc2NlbmFyaW8gZm9yIGZpbHRlcmluZyBhbGwgY3JpdGljYWwgYWxhcm1zLlxuICAgKi9cbiAgZmlsdGVyQWxhcm1zQnlTdGF0dXNTZXZlcml0eUFuZFR5cGUoXG4gICAgYWxhcm06IG51bWJlciB8IElBbGFybSxcbiAgICBhbGFybXM6IElBbGFybVtdLFxuICAgIGNvbmZpZz86IEFsYXJtTGlzdFdpZGdldENvbmZpZ1xuICApOiBib29sZWFuIHtcbiAgICBpZiAodHlwZW9mIGFsYXJtID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmlzQWxhcm1NYXRjaGVkQnlDb25maWcoYWxhcm0sIGFsYXJtcywgY29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGFsbCB2YWx1ZXMgaW4gdGhlIGdpdmVuIG9iamVjdCBhcmUgZmFsc2UuXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGV2ZXJ5IHZhbHVlIGluIHRoZSBwcm92aWRlZCBvYmplY3QgdG8gc2VlIGlmIHRoZXkgYXJlIGFsbCBmYWxzZS5cbiAgICpcbiAgICogQHBhcmFtIG9iaiAtIEFuIG9iamVjdCB3aXRoIGJvb2xlYW4gdmFsdWVzLlxuICAgKiBAcmV0dXJucyAtIFJldHVybnMgYHRydWVgIGlmIGFsbCB2YWx1ZXMgaW4gdGhlIG9iamVjdCBhcmUgZmFsc2UsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgYWxsVmFsdWVzRmFsc2Uob2JqOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKG9iaikuZXZlcnkodmFsdWUgPT4gIXZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgc3RyaW5nIG9mIG9yZGVyIHBhcmFtZXRlcnMgZm9yIGEgcXVlcnkgYmFzZWQgb24gdGhlIHNwZWNpZmllZCBhbGFybSBvcmRlci5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiB0YWtlcyBhbiBhbGFybSBvcmRlciBhbmQgbWFwcyBpdCB0byBhIGNvcnJlc3BvbmRpbmcgc2V0IG9mIG9yZGVyIHBhcmFtZXRlcnMuXG4gICAqIEl0IHN1cHBvcnRzIGRpZmZlcmVudCBvcmRlcmluZyB0eXBlcywgc3VjaCBhcyBCWV9BQ1RJVkUsIEJZX1NFVkVSSVRZLCBhbmQgQllfREFURV9BU0NFTkRJTkcuXG4gICAqIFRoZSBvcmRlciBwYXJhbWV0ZXJzIGFyZSB1c2VkIHRvIGNvbnN0cnVjdCBhIHF1ZXJ5IHN0cmluZyB0aGF0IGRldGVybWluZXMgdGhlIG9yZGVyXG4gICAqIGluIHdoaWNoIGFsYXJtcyBhcmUgcmV0cmlldmVkIG9yIGRpc3BsYXllZC5cbiAgICpcbiAgICogQHBhcmFtIG9yZGVyIC0gVGhlIHNwZWNpZmllZCBvcmRlciBmb3Igc29ydGluZyBhbGFybXMgKGUuZy4sIEJZX0FDVElWRSkuXG4gICAqIEByZXR1cm5zIC0gQSBzdHJpbmcgb2Ygb3JkZXIgcGFyYW1ldGVycyB0byBiZSB1c2VkIGluIGEgcXVlcnksIG9yIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgb3JkZXIgdHlwZSBpcyB1bnJlY29nbml6ZWQuXG4gICAqL1xuICBnZXRPcmRlclBhcmFtZXRlcnMob3JkZXI6IEFsYXJtT3JkZXJUeXBlKTogc3RyaW5nIHtcbiAgICBsZXQgb3JkZXJQYXJhbXM6IHN0cmluZ1tdO1xuXG4gICAgc3dpdGNoIChvcmRlcikge1xuICAgICAgY2FzZSBBTEFSTV9PUkRFUl9WQUxVRVMuQllfQUNUSVZFOlxuICAgICAgICBvcmRlclBhcmFtcyA9IFsnc3RhdHVzIGFzYycsICdzZXZlcml0eSBhc2MnLCAndGltZS5kYXRlIGRlc2MnLCAndGV4dCBhc2MnXTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRPcmRlclBhcmFtZXRlcnMob3JkZXJQYXJhbXMpO1xuICAgICAgY2FzZSBBTEFSTV9PUkRFUl9WQUxVRVMuQllfU0VWRVJJVFk6XG4gICAgICAgIG9yZGVyUGFyYW1zID0gWydzZXZlcml0eSBhc2MnLCAndGltZS5kYXRlIGRlc2MnLCAndGV4dCBhc2MnXTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRPcmRlclBhcmFtZXRlcnMob3JkZXJQYXJhbXMpO1xuICAgICAgY2FzZSBBTEFSTV9PUkRFUl9WQUxVRVMuQllfREFURV9BU0NFTkRJTkc6XG4gICAgICAgIG9yZGVyUGFyYW1zID0gWyd0aW1lLmRhdGUgYXNjJywgJ3RleHQgYXNjJ107XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkT3JkZXJQYXJhbWV0ZXJzKG9yZGVyUGFyYW1zKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIG9yZGVyUGFyYW1zID0gWyd0aW1lLmRhdGUgZGVzYycsICd0ZXh0IGFzYyddO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZE9yZGVyUGFyYW1ldGVycyhvcmRlclBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYW4gYWxhcm0gaXMgbWF0Y2hlZCBieSB0aGUgc3BlY2lmaWVkIHdpZGdldCBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGV2YWx1YXRlcyB3aGV0aGVyIGEgZ2l2ZW4gYWxhcm0gc2hvdWxkIGJlIGluY2x1ZGVkIGJhc2VkIG9uIHRoZSBzZXZlcml0eSxcbiAgICogc3RhdHVzLCBhbmQgdHlwZSBmaWx0ZXJzIGRlZmluZWQgaW4gdGhlIEFsYXJtTGlzdFdpZGdldENvbmZpZy4gSXQgY2hlY2tzIGlmIHRoZSBhbGFybSdzXG4gICAqIHNldmVyaXR5IGFuZCBzdGF0dXMgbWF0Y2ggdGhlIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgYW5kIGlmIHRoZSBhbGFybSdzIHR5cGUgaXMgaW5jbHVkZWRcbiAgICogaW4gdGhlIGNvbmZpZ3VyYXRpb24ncyB0eXBlcyAoaWYgc3BlY2lmaWVkKS5cbiAgICpcbiAgICogQGlnbm9yZVxuICAgKiBAcGFyYW0gYWxhcm0gLSBUaGUgYWxhcm0gdG8gZXZhbHVhdGUuXG4gICAqIEBwYXJhbSBhbGFybXMgLSBBbiBhcnJheSBvZiBleGlzdGluZyBhbGFybXMsIHVzZWQgZm9yIHN0YXR1cyBtYXRjaGluZy5cbiAgICogQHBhcmFtIGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIHRvIG1hdGNoIGFnYWluc3QuXG4gICAqIEByZXR1cm5zIC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFsYXJtIG1hdGNoZXMgdGhlIGNvbmZpZ3VyYXRpb24gY3JpdGVyaWE7IG90aGVyd2lzZSwgYGZhbHNlYC5cbiAgICovXG4gIGlzQWxhcm1NYXRjaGVkQnlDb25maWcoYWxhcm06IElBbGFybSwgYWxhcm1zOiBJQWxhcm1bXSwgY29uZmlnOiBBbGFybUxpc3RXaWRnZXRDb25maWcpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc1NldmVyaXR5TWF0Y2hlZCA9IHRoaXMuaXNTZXZlcml0eU1hdGNoaW5nKGFsYXJtLnNldmVyaXR5LCBjb25maWcpO1xuICAgIGNvbnN0IGlzU3RhdHVzTWF0Y2hlZCA9IHRoaXMuaXNTdGF0dXNNYXRjaGluZyhhbGFybSwgYWxhcm1zLCBjb25maWcpO1xuICAgIGNvbnN0IGlzVHlwZU1hdGNoZWQgPSB0aGlzLmlzVHlwZXNNYXRjaGluZyhjb25maWcsIGFsYXJtKTtcblxuICAgIHJldHVybiBpc1NldmVyaXR5TWF0Y2hlZCAmJiBpc1N0YXR1c01hdGNoZWQgJiYgaXNUeXBlTWF0Y2hlZDtcbiAgfVxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBzZXZlcml0eSBvZiBhbiBhbGFybSBtYXRjaGVzIHRoZSBjb25maWd1cmF0aW9uIHNldHRpbmcuXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBzZXZlcml0eSBvZiBhbiBhbGFybSBpcyBpbmNsdWRlZCBpbiB0aGVcbiAgICogc2V2ZXJpdHkgc2V0dGluZ3MgZGVmaW5lZCBpbiB0aGUgQWxhcm1MaXN0V2lkZ2V0Q29uZmlnLlxuICAgKlxuICAgKiBAaWdub3JlXG4gICAqIEBwYXJhbSBzZXZlcml0eSAtIFRoZSBzZXZlcml0eSBvZiB0aGUgYWxhcm0gdG8gY2hlY2suXG4gICAqIEBwYXJhbSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiB3aXRoIHNldmVyaXR5IHNldHRpbmdzLlxuICAgKiBAcmV0dXJucyAtIFJldHVybnMgYHRydWVgIGlmIHRoZSBhbGFybSdzIHNldmVyaXR5IG1hdGNoZXMgdGhlIGNvbmZpZ3VyYXRpb247IG90aGVyd2lzZSwgYGZhbHNlYC5cbiAgICovXG4gIGlzU2V2ZXJpdHlNYXRjaGluZyhzZXZlcml0eTogU2V2ZXJpdHlUeXBlLCBjb25maWc6IEFsYXJtTGlzdFdpZGdldENvbmZpZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIWNvbmZpZy5zZXZlcml0aWVzW3NldmVyaXR5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgaWYgdGhlIHN0YXR1cyBvZiBhbiBhbGFybSBtYXRjaGVzIHRoZSBjb25maWd1cmF0aW9uIHNldHRpbmcgb3IgaGFzIGNoYW5nZWQuXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBzdGF0dXMgb2YgYW4gYWxhcm0gaXMgaW5jbHVkZWQgaW4gdGhlIHN0YXR1cyBzZXR0aW5ncyBkZWZpbmVkIGluXG4gICAqIHRoZSBBbGFybUxpc3RXaWRnZXRDb25maWcsIG9yIGlmIHRoZSBhbGFybSdzIHN0YXR1cyBoYXMgY2hhbmdlZCBiYXNlZCBvbiB0aGUgZXhpc3RpbmcgYWxhcm1zLlxuICAgKlxuICAgKiBAaWdub3JlXG4gICAqIEBwYXJhbSBhbGFybSAtIFRoZSBhbGFybSB3aG9zZSBzdGF0dXMgaXMgdG8gYmUgZXZhbHVhdGVkLlxuICAgKiBAcGFyYW0gYWxhcm1zIC0gQW4gYXJyYXkgb2YgZXhpc3RpbmcgYWxhcm1zIHRvIGNvbXBhcmUgYWdhaW5zdCBmb3Igc3RhdHVzIGNoYW5nZXMuXG4gICAqIEBwYXJhbSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiB3aXRoIHN0YXR1cyBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgLSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgYWxhcm0ncyBzdGF0dXMgbWF0Y2hlcyBvciBoYXMgY2hhbmdlZCBhcyBwZXIgdGhlIGNvbmZpZ3VyYXRpb247IG90aGVyd2lzZSwgYGZhbHNlYC5cbiAgICovXG4gIGlzU3RhdHVzTWF0Y2hpbmcoYWxhcm06IElBbGFybSwgYWxhcm1zOiBJQWxhcm1bXSwgY29uZmlnOiBBbGFybUxpc3RXaWRnZXRDb25maWcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFjb25maWcuc3RhdHVzW2FsYXJtLnN0YXR1c10gfHwgdGhpcy5oYXNFeGlzdGluZ0FsYXJtQ2hhbmdlZFN0YXR1cyhhbGFybXMsIGFsYXJtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbmZpZ3VyYXRpb24ncyB0eXBlcyBhcnJheSBjb250YWlucyBvbmx5IGVtcHR5IHN0cmluZyBvciBpbmNsdWRlcyBhIHNwZWNpZmljIGFsYXJtIHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBvYmplY3Qgd2l0aCBhIGB0eXBlc2AgcHJvcGVydHkuXG4gICAqIEBwYXJhbSBhbGFybSAtIFRoZSBhbGFybSBvYmplY3Qgd2l0aCBhIGB0eXBlYCBwcm9wZXJ0eSB0byBjaGVjayBhZ2FpbnN0IHRoZSBjb25maWcncyB0eXBlcy5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBjb25maWcncyB0eXBlcyBhcnJheSBjb250YWlucyBvbmx5IGVtcHR5IHN0cmluZyBvciBpbmNsdWRlcyB0aGUgYWxhcm0ncyB0eXBlLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICovXG4gIGlzVHlwZXNNYXRjaGluZyhjb25maWc6IEFsYXJtTGlzdFdpZGdldENvbmZpZywgYWxhcm06IElBbGFybSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbmZpZy50eXBlcykgJiYgY29uZmlnLnR5cGVzLmxlbmd0aCA9PT0gMSAmJiBjb25maWcudHlwZXNbMF0gPT09ICcnXG4gICAgICA/IHRydWVcbiAgICAgIDogY29uZmlnLnR5cGVzPy5pbmNsdWRlcyhhbGFybS50eXBlKSA/PyBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgcXVlcnkgc3RyaW5nIGZyb20gYW4gYXJyYXkgb2Ygb3JkZXIgcGFyYW1ldGVycy5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiB0YWtlcyBhbiBhcnJheSBvZiBvcmRlcmluZyBwYXJhbWV0ZXJzIGFuZCBjb25zdHJ1Y3RzIGEgcXVlcnkgc3RyaW5nXG4gICAqIGZvciB1c2UgaW4gYWxhcm0gb3JkZXJpbmcgcXVlcmllcy4gVGhlIHBhcmFtZXRlcnMgYXJlIGNvbmNhdGVuYXRlZCBpbnRvIGEgc2luZ2xlIHN0cmluZyxcbiAgICogcHJlZml4ZWQgd2l0aCAnJG9yZGVyYnk9Jy5cbiAgICpcbiAgICogQGlnbm9yZVxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0gb3JkZXJQYXJhbXMgLSBUaGUgb3JkZXIgcGFyYW1ldGVycyB0byBiZSBpbmNsdWRlZCBpbiB0aGUgcXVlcnkuXG4gICAqIEByZXR1cm5zIC0gQSBxdWVyeSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBvcmRlciBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZE9yZGVyUGFyYW1ldGVycyhvcmRlclBhcmFtczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIHJldHVybiBgJG9yZGVyYnk9JHtvcmRlclBhcmFtcy5qb2luKCcsJyl9YDtcbiAgfVxufVxuIl19
344
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm0td2lkZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi93aWRnZXRzL2ltcGxlbWVudGF0aW9ucy9hbGFybXMvYWxhcm0td2lkZ2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsV0FBVyxFQUVYLFFBQVEsRUFFUixlQUFlLEVBQ2hCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxrQkFBa0IsRUFJbEIsdUJBQXVCLEVBQ3hCLE1BQU0sMkJBQTJCLENBQUM7OztBQUVuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUM7QUFHcEMsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFFNUQ7Ozs7Ozs7O09BUUc7SUFDSCx5QkFBeUIsQ0FDdkIsSUFBbUQ7UUFFbkQsT0FBTyxJQUFJLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCwwQkFBMEIsQ0FBQyxpQkFBMEIsRUFBRSxRQUFpQjtRQUN0RSxPQUFPO1lBQ0wsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFNBQVM7WUFDbkMsVUFBVSxFQUNSLFFBQVEsS0FBSyx1QkFBdUI7Z0JBQ2xDLENBQUMsQ0FBRTtvQkFDQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO29CQUN6QixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJO29CQUN0QixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJO29CQUN0QixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJO2lCQUNKO2dCQUN4QixDQUFDLENBQUU7b0JBQ0MsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSTtvQkFDekIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSztvQkFDdkIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSztvQkFDdkIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSztpQkFDTDtZQUM1QixNQUFNLEVBQ0osUUFBUSxLQUFLLHVCQUF1QjtnQkFDbEMsQ0FBQyxDQUFFO29CQUNDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUk7b0JBQ2hDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUk7b0JBQzFCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUk7aUJBQ0o7Z0JBQzNCLENBQUMsQ0FBRTtvQkFDQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLO29CQUNqQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJO29CQUMxQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLO2lCQUNMO1lBQy9CLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNYLFVBQVUsRUFBRSxDQUFDLGlCQUFpQjtZQUM5QixvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQy9GLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCx1QkFBdUIsQ0FDckIsU0FBZ0MsRUFDaEMsaUJBQTBCO1FBRTFCLE1BQU0sS0FBSyxHQUNULFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxLQUFLLGNBQWM7WUFDNUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFNBQVM7WUFDOUIsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztRQUVyQyxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNuRSxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRixDQUFDO1FBRUQsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLO1lBQ1osVUFBVSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1lBQzlCLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtZQUN4QixxQkFBcUIsRUFBRSxLQUFLO1lBQzVCLFVBQVUsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDdEMsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ25ELENBQUMsQ0FBRTtvQkFDQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJO29CQUNoQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJO29CQUMxQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJO2lCQUNKO2dCQUMzQixDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQzVCLEtBQUssRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RSxvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQy9GLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsNEJBQTRCLENBQUMsUUFBd0I7UUFDbkQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILDBCQUEwQixDQUFDLFFBQXdCO1FBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxDQUFDLFlBQVksSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILHNCQUFzQixDQUFDLE1BQTZCLEVBQUUsUUFBaUI7UUFDckUsTUFBTSxNQUFNLEdBQXFCO1lBQy9CLFFBQVEsRUFBRSxRQUFRLElBQUksaUJBQWlCO1lBQ3ZDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUM1QyxRQUFRLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1lBQzNELE1BQU0sRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7WUFDckQsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3BDLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUM7UUFDRixJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsZUFBZTtnQkFDcEIsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVE7b0JBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDdEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsTUFBTSxDQUFDLFNBQVM7Z0JBQ2QsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVE7b0JBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDdEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUMvQixNQUFNLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDO1lBQy9ELE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsbUJBQW1CLENBQUMsR0FBeUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQzthQUM1QixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUM7YUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILDZCQUE2QixDQUFDLGNBQXdCLEVBQUUscUJBQTZCO1FBQ25GLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLE9BQU8sQ0FBQyxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztJQUNsRixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtCRztJQUNILG1DQUFtQyxDQUNqQyxLQUFzQixFQUN0QixNQUFnQixFQUNoQixNQUE4QjtRQUU5QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxjQUFjLENBQUMsR0FBK0I7UUFDNUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxrQkFBa0IsQ0FBQyxLQUFxQjtRQUN0QyxJQUFJLFdBQXFCLENBQUM7UUFFMUIsUUFBUSxLQUFLLEVBQUUsQ0FBQztZQUNkLEtBQUssa0JBQWtCLENBQUMsU0FBUztnQkFDL0IsV0FBVyxHQUFHLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDM0UsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsS0FBSyxrQkFBa0IsQ0FBQyxXQUFXO2dCQUNqQyxXQUFXLEdBQUcsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzdELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hELEtBQUssa0JBQWtCLENBQUMsaUJBQWlCO2dCQUN2QyxXQUFXLEdBQUcsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2hEO2dCQUNFLFdBQVcsR0FBRyxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUM3QyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxzQkFBc0IsQ0FBQyxLQUFhLEVBQUUsTUFBZ0IsRUFBRSxNQUE2QjtRQUNuRixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTFELE9BQU8saUJBQWlCLElBQUksZUFBZSxJQUFJLGFBQWEsQ0FBQztJQUMvRCxDQUFDO0lBQ0Q7Ozs7Ozs7Ozs7T0FVRztJQUNILGtCQUFrQixDQUFDLFFBQXNCLEVBQUUsTUFBNkI7UUFDdEUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsTUFBZ0IsRUFBRSxNQUE2QjtRQUM3RSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxlQUFlLENBQUMsTUFBNkIsRUFBRSxLQUFhO1FBQzFELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN2RixDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNLLG9CQUFvQixDQUFDLFdBQXFCO1FBQ2hELE9BQU8sWUFBWSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDN0MsQ0FBQzs4R0F0V1Usa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FETCxNQUFNOzsyRkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFsYXJtUXVlcnlGaWx0ZXIsXG4gIEFsYXJtU3RhdHVzU2V0dGluZ3MsXG4gIEFsYXJtU3RhdHVzLFxuICBJQWxhcm0sXG4gIFNldmVyaXR5LFxuICBTZXZlcml0eUZpbHRlcixcbiAgU0VWRVJJVFlfTEFCRUxTXG59IGZyb20gJ0BjOHkvY2xpZW50JztcblxuaW1wb3J0IHsgU2V2ZXJpdHlTZXR0aW5ncywgU2V2ZXJpdHlUeXBlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQWxhcm1zVmlld1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2FsYXJtcyc7XG5pbXBvcnQge1xuICBBTEFSTV9PUkRFUl9WQUxVRVMsXG4gIEFsYXJtTGlzdFdpZGdldENvbmZpZyxcbiAgQWxhcm1PcmRlclR5cGUsXG4gIExlZ2FjeUFsYXJtTGlzdENvbmZpZyxcbiAgUkVDRU5UX0FMQVJNU19XSURHRVRfSURcbn0gZnJvbSAnLi9hbGFybS1saXN0LXdpZGdldC5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BBR0VfU0laRSA9IDIwO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFsYXJtV2lkZ2V0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxhcm1zVmlld1NlcnZpY2U6IEFsYXJtc1ZpZXdTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHByb3ZpZGVkIGRhdGEgZm9sbG93cyB0aGUgTGVnYWN5QWxhcm1Db25maWcgc3RydWN0dXJlLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGRldGVybWluZXMgaWYgYSBnaXZlbiBkYXRhIG9iamVjdCBpcyBhbiBpbnN0YW5jZSBvZiBMZWdhY3lBbGFybUNvbmZpZ1xuICAgKiBieSBjaGVja2luZyBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSAnb3B0aW9ucycgcHJvcGVydHkuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm5zIC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGRhdGEgb2JqZWN0IGlzIGEgTGVnYWN5QWxhcm1Db25maWcsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgaXNPbGRBbGFybUNvbmZpZ1N0cnVjdHVyZShcbiAgICBkYXRhOiBMZWdhY3lBbGFybUxpc3RDb25maWcgfCBBbGFybUxpc3RXaWRnZXRDb25maWdcbiAgKTogZGF0YSBpcyBMZWdhY3lBbGFybUxpc3RDb25maWcge1xuICAgIHJldHVybiBkYXRhICE9PSBudWxsICYmIHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJiAnb3B0aW9ucycgaW4gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHByZWRlZmluZWQgd2lkZ2V0IGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGEgbmV3IGNvbmZpZ3VyYXRpb24gb2JqZWN0IGJhc2VkIG9uXG4gICAqIGEgd2lkZ2V0cyBJRCAodGhhdCBkZXRlcm1pbmVzIGlmIGlzIGEgbGVnYWN5IFJlY2VudCBvciBDcml0aWNhbCBhbGFybXMgd2lkZ2V0KS5cbiAgICpcbiAgICogQHBhcmFtIGlzSW50ZXJ2YWxSZWZyZXNoIC0gZGV0ZXJtaW5lcyBhIHR5cGUgb2YgYSByZWZyZXNoLlxuICAgKiBAcGFyYW0gd2lkZ2V0SWQgLSBkZXRlcm1pbmVzIGlmIGEgY29uZmlnIHNob3VsZCBiZSBkb25lIGZvciBSZWNlbnQgb3IgQ3JpdGljYWwgYWxhcm1zIHdpZGdldC5cbiAgICogQHJldHVybnMgVGhlIG5ldywgcHJlZGVmaW5lZCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICovXG4gIGdldFByZWRlZmluZWRDb25maWd1cmF0aW9uKGlzSW50ZXJ2YWxSZWZyZXNoOiBib29sZWFuLCB3aWRnZXRJZD86IHN0cmluZyk6IEFsYXJtTGlzdFdpZGdldENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9yZGVyOiBBTEFSTV9PUkRFUl9WQUxVRVMuQllfQUNUSVZFLFxuICAgICAgc2V2ZXJpdGllczpcbiAgICAgICAgd2lkZ2V0SWQgPT09IFJFQ0VOVF9BTEFSTVNfV0lER0VUX0lEXG4gICAgICAgICAgPyAoe1xuICAgICAgICAgICAgICBbU2V2ZXJpdHkuQ1JJVElDQUxdOiB0cnVlLFxuICAgICAgICAgICAgICBbU2V2ZXJpdHkuTUFKT1JdOiB0cnVlLFxuICAgICAgICAgICAgICBbU2V2ZXJpdHkuTUlOT1JdOiB0cnVlLFxuICAgICAgICAgICAgICBbU2V2ZXJpdHkuV0FSTklOR106IHRydWVcbiAgICAgICAgICAgIH0gYXMgU2V2ZXJpdHlTZXR0aW5ncylcbiAgICAgICAgICA6ICh7XG4gICAgICAgICAgICAgIFtTZXZlcml0eS5DUklUSUNBTF06IHRydWUsXG4gICAgICAgICAgICAgIFtTZXZlcml0eS5NQUpPUl06IGZhbHNlLFxuICAgICAgICAgICAgICBbU2V2ZXJpdHkuTUlOT1JdOiBmYWxzZSxcbiAgICAgICAgICAgICAgW1NldmVyaXR5LldBUk5JTkddOiBmYWxzZVxuICAgICAgICAgICAgfSBhcyBTZXZlcml0eVNldHRpbmdzKSxcbiAgICAgIHN0YXR1czpcbiAgICAgICAgd2lkZ2V0SWQgPT09IFJFQ0VOVF9BTEFSTVNfV0lER0VUX0lEXG4gICAgICAgICAgPyAoe1xuICAgICAgICAgICAgICBbQWxhcm1TdGF0dXMuQUNLTk9XTEVER0VEXTogdHJ1ZSxcbiAgICAgICAgICAgICAgW0FsYXJtU3RhdHVzLkFDVElWRV06IHRydWUsXG4gICAgICAgICAgICAgIFtBbGFybVN0YXR1cy5DTEVBUkVEXTogdHJ1ZVxuICAgICAgICAgICAgfSBhcyBBbGFybVN0YXR1c1NldHRpbmdzKVxuICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgW0FsYXJtU3RhdHVzLkFDS05PV0xFREdFRF06IGZhbHNlLFxuICAgICAgICAgICAgICBbQWxhcm1TdGF0dXMuQUNUSVZFXTogdHJ1ZSxcbiAgICAgICAgICAgICAgW0FsYXJtU3RhdHVzLkNMRUFSRURdOiBmYWxzZVxuICAgICAgICAgICAgfSBhcyBBbGFybVN0YXR1c1NldHRpbmdzKSxcbiAgICAgIHR5cGVzOiBbJyddLFxuICAgICAgaXNSZWFsdGltZTogIWlzSW50ZXJ2YWxSZWZyZXNoLFxuICAgICAgaXNBdXRvUmVmcmVzaEVuYWJsZWQ6IHRydWUsXG4gICAgICByZWZyZXNoSW50ZXJ2YWw6IGlzSW50ZXJ2YWxSZWZyZXNoID8gdGhpcy5hbGFybXNWaWV3U2VydmljZS5ERUZBVUxUX0lOVEVSVkFMX1ZBTFVFIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIGEgTGVnYWN5QWxhcm1Db25maWcgb2JqZWN0IGludG8gYW4gQWxhcm1MaXN0V2lkZ2V0Q29uZmlnIG9iamVjdC5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiBtYXBzIHRoZSBwcm9wZXJ0aWVzIGZyb20gYW4gb2xkIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIChMZWdhY3lBbGFybUNvbmZpZylcbiAgICogdG8gYSBuZXcgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgKEFsYXJtTGlzdFdpZGdldENvbmZpZykuXG4gICAqXG4gICAqIEBwYXJhbSBvbGRDb25maWcgLSBUaGUgb2xkIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHRvIGJlIHRyYW5zZm9ybWVkLlxuICAgKiBAcmV0dXJucyAtIFRoZSBuZXcgY29uZmlndXJhdGlvbiBvYmplY3QgbWFwcGVkIGZyb20gdGhlIG9sZCBvbmUuXG4gICAqL1xuICBtYXBUb05ld0NvbmZpZ1N0cnVjdHVyZShcbiAgICBvbGRDb25maWc6IExlZ2FjeUFsYXJtTGlzdENvbmZpZyxcbiAgICBpc0ludGVydmFsUmVmcmVzaDogYm9vbGVhblxuICApOiBBbGFybUxpc3RXaWRnZXRDb25maWcge1xuICAgIGNvbnN0IG9yZGVyOiBBbGFybU9yZGVyVHlwZSA9XG4gICAgICBvbGRDb25maWcub3B0aW9ucy5vcmRlck1vZGUgPT09ICdBQ1RJVkVfRklSU1QnXG4gICAgICAgID8gQUxBUk1fT1JERVJfVkFMVUVTLkJZX0FDVElWRVxuICAgICAgICA6IEFMQVJNX09SREVSX1ZBTFVFUy5CWV9TRVZFUklUWTtcblxuICAgIGlmICghdGhpcy5pc0NvbnRhaW5pbmdBbGxTZXZlcml0eVR5cGVzKG9sZENvbmZpZy5vcHRpb25zLnNldmVyaXR5KSkge1xuICAgICAgb2xkQ29uZmlnLm9wdGlvbnMuc2V2ZXJpdHkgPSB0aGlzLmFkZEFsbE1pc3NpbmdTZXZlcml0eVR5cGVzKG9sZENvbmZpZy5vcHRpb25zLnNldmVyaXR5KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3JkZXI6IG9yZGVyLFxuICAgICAgaXNSZWFsdGltZTogb2xkQ29uZmlnLnJlYWx0aW1lLFxuICAgICAgZGV2aWNlOiBvbGRDb25maWcuZGV2aWNlLFxuICAgICAgc2hvd0FsYXJtc0ZvckNoaWxkcmVuOiBmYWxzZSxcbiAgICAgIHNldmVyaXRpZXM6IG9sZENvbmZpZy5vcHRpb25zLnNldmVyaXR5LFxuICAgICAgc3RhdHVzOiB0aGlzLmFsbFZhbHVlc0ZhbHNlKG9sZENvbmZpZy5vcHRpb25zLnN0YXR1cylcbiAgICAgICAgPyAoe1xuICAgICAgICAgICAgW0FsYXJtU3RhdHVzLkFDS05PV0xFREdFRF06IHRydWUsXG4gICAgICAgICAgICBbQWxhcm1TdGF0dXMuQUNUSVZFXTogdHJ1ZSxcbiAgICAgICAgICAgIFtBbGFybVN0YXR1cy5DTEVBUkVEXTogdHJ1ZVxuICAgICAgICAgIH0gYXMgQWxhcm1TdGF0dXNTZXR0aW5ncylcbiAgICAgICAgOiBvbGRDb25maWcub3B0aW9ucy5zdGF0dXMsXG4gICAgICB0eXBlczogb2xkQ29uZmlnLm9wdGlvbnMudHlwZXM/Lmxlbmd0aCA/IG9sZENvbmZpZy5vcHRpb25zLnR5cGVzIDogWycnXSxcbiAgICAgIGlzQXV0b1JlZnJlc2hFbmFibGVkOiB0cnVlLFxuICAgICAgcmVmcmVzaEludGVydmFsOiBpc0ludGVydmFsUmVmcmVzaCA/IHRoaXMuYWxhcm1zVmlld1NlcnZpY2UuREVGQVVMVF9JTlRFUlZBTF9WQUxVRSA6IHVuZGVmaW5lZFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCBzZXZlcml0eSBvYmplY3QgY29udGFpbnMgYWxsIHRoZSBwcmVkZWZpbmVkIHNldmVyaXR5IHR5cGVzLlxuICAgKlxuICAgKiBAcGFyYW0gc2V2ZXJpdHkgLSBBIHJlY29yZCBvYmplY3Qgd2hlcmUga2V5cyBhcmUgc2V2ZXJpdHkgdHlwZSBzdHJpbmdzIGFuZCB2YWx1ZXMgYXJlIGJvb2xlYW4uXG4gICAqICAgICAgICAgICAgICAgICAtIFRoaXMgb2JqZWN0IGlzIGNoZWNrZWQgYWdhaW5zdCB0aGUgcHJlZGVmaW5lZCBzZXZlcml0eSB0eXBlcy5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIGFsbCBwcmVkZWZpbmVkIHNldmVyaXR5IHR5cGVzIGFyZSBwcmVzZW50IGluIHRoZSBzZXZlcml0eSBvYmplY3Q7IG90aGVyd2lzZSwgYGZhbHNlYC5cbiAgICovXG4gIGlzQ29udGFpbmluZ0FsbFNldmVyaXR5VHlwZXMoc2V2ZXJpdHk6IFNldmVyaXR5RmlsdGVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKFNFVkVSSVRZX0xBQkVMUykuZXZlcnkoc2V2ZXJpdHlUeXBlID0+IHNldmVyaXR5VHlwZSBpbiBzZXZlcml0eSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbnkgbWlzc2luZyBzZXZlcml0eSB0eXBlcyB0byB0aGUgcHJvdmlkZWQgc2V2ZXJpdHkgb2JqZWN0IHdpdGggYSBkZWZhdWx0IHZhbHVlIG9mIGBmYWxzZWAuXG4gICAqXG4gICAqIEBwYXJhbSBzZXZlcml0eSAtIEEgcmVjb3JkIG9iamVjdCB3aGVyZSBrZXlzIGFyZSBzZXZlcml0eSB0eXBlIHN0cmluZ3MgYW5kIHZhbHVlcyBhcmUgYm9vbGVhbi5cbiAgICogICAgICAgICAgICAgICAgIC0gTWlzc2luZyBzZXZlcml0eSB0eXBlcyB3aWxsIGJlIGFkZGVkIHRvIHRoaXMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBUaGUgbW9kaWZpZWQgc2V2ZXJpdHkgb2JqZWN0LCB3aGljaCBpbmNsdWRlcyBhbGwgcHJlZGVmaW5lZCBzZXZlcml0eSB0eXBlcywgYWRkaW5nIGFueVxuICAgKiAgICAgICAgICB0aGF0IHdlcmUgbWlzc2luZyB3aXRoIGEgdmFsdWUgb2YgYGZhbHNlYC5cbiAgICovXG4gIGFkZEFsbE1pc3NpbmdTZXZlcml0eVR5cGVzKHNldmVyaXR5OiBTZXZlcml0eUZpbHRlcik6IFNldmVyaXR5RmlsdGVyIHtcbiAgICBPYmplY3Qua2V5cyhTRVZFUklUWV9MQUJFTFMpLmZvckVhY2goc2V2ZXJpdHlUeXBlID0+IHtcbiAgICAgIGlmICghKHNldmVyaXR5VHlwZSBpbiBzZXZlcml0eSkpIHtcbiAgICAgICAgc2V2ZXJpdHlbc2V2ZXJpdHlUeXBlXSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBzZXZlcml0eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXBzIGFuIEFsYXJtTGlzdFdpZGdldENvbmZpZyBvYmplY3QgdG8gYW4gQWxhcm1RdWVyeUZpbHRlci5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0aGUgcHJvdmlkZWQgQWxhcm1MaXN0V2lkZ2V0Q29uZmlnIGludG8gYSBmb3JtYXQgc3VpdGFibGUgZm9yIHF1ZXJ5aW5nIGFsYXJtcy5cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgdGhlIGFsYXJtIGxpc3Qgd2lkZ2V0LlxuICAgKiBAcGFyYW0gcGFnZVNpemUgLSBPcHRpb25hbCBudW1iZXIgc3BlY2lmeWluZyB0aGUgc2l6ZSBvZiB0aGUgcGFnZXMgdG8gYmUgcmV0dXJuZWQgaW4gdGhlIHF1ZXJ5LlxuICAgKiBAcmV0dXJucyAtIFRoZSBxdWVyeSBmaWx0ZXIgb2JqZWN0IGNvbnN0cnVjdGVkIGZyb20gdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBtYXBDb25maWdUb1F1ZXJ5RmlsdGVyKGNvbmZpZzogQWxhcm1MaXN0V2lkZ2V0Q29uZmlnLCBwYWdlU2l6ZT86IG51bWJlcik6IEFsYXJtUXVlcnlGaWx0ZXIge1xuICAgIGNvbnN0IGZpbHRlcjogQWxhcm1RdWVyeUZpbHRlciA9IHtcbiAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZSB8fCBERUZBVUxUX1BBR0VfU0laRSxcbiAgICAgIHF1ZXJ5OiB0aGlzLmdldE9yZGVyUGFyYW1ldGVycyhjb25maWcub3JkZXIpLFxuICAgICAgc2V2ZXJpdHk6IHRoaXMuZXh0cmFjdEZpbHRlclBhcmFtcyhjb25maWcuc2V2ZXJpdGllcyB8fCB7fSksXG4gICAgICBzdGF0dXM6IHRoaXMuZXh0cmFjdEZpbHRlclBhcmFtcyhjb25maWcuc3RhdHVzIHx8IHt9KSxcbiAgICAgIHR5cGU6IChjb25maWcudHlwZXMgfHwgW10pLmpvaW4oJywnKSxcbiAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlXG4gICAgfTtcbiAgICBpZiAoY29uZmlnLmRhdGVGaWx0ZXIpIHtcbiAgICAgIGZpbHRlci5sYXN0VXBkYXRlZEZyb20gPVxuICAgICAgICB0eXBlb2YgY29uZmlnLmRhdGVGaWx0ZXJbMF0gPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBjb25maWcuZGF0ZUZpbHRlclswXVxuICAgICAgICAgIDogY29uZmlnLmRhdGVGaWx0ZXJbMF0udG9JU09TdHJpbmcoKTtcbiAgICAgIGZpbHRlci5jcmVhdGVkVG8gPVxuICAgICAgICB0eXBlb2YgY29uZmlnLmRhdGVGaWx0ZXJbMV0gPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBjb25maWcuZGF0ZUZpbHRlclsxXVxuICAgICAgICAgIDogY29uZmlnLmRhdGVGaWx0ZXJbMV0udG9JU09TdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5kZXZpY2UpIHtcbiAgICAgIGZpbHRlci5zb3VyY2UgPSBjb25maWcuZGV2aWNlLmlkO1xuICAgICAgZmlsdGVyLndpdGhTb3VyY2VBc3NldHMgPSB0cnVlO1xuICAgICAgZmlsdGVyLndpdGhTb3VyY2VEZXZpY2VzID0gdHJ1ZTtcbiAgICAgIGZpbHRlci53aXRoU291cmNlQXNzZXRzID0gY29uZmlnLnNob3dBbGFybXNGb3JDaGlsZHJlbiA/PyB0cnVlO1xuICAgICAgZmlsdGVyLndpdGhTb3VyY2VEZXZpY2VzID0gY29uZmlnLnNob3dBbGFybXNGb3JDaGlsZHJlbiA/PyB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmlsdGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RzIGFuZCBjb25jYXRlbmF0ZXMgZmlsdGVyIHBhcmFtZXRlcnMgZnJvbSBhIGdpdmVuIG9iamVjdC5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiB0YWtlcyBhbiBvYmplY3QgY29udGFpbmluZyBmaWx0ZXIgc2V0dGluZ3MgKGVpdGhlciBTZXZlcml0eUZpbHRlclxuICAgKiBvciBBbGFybVN0YXR1c1NldHRpbmdzKSBhbmQgcmV0dXJucyBhIHN0cmluZyBvZiBhbGwga2V5cyB3aGVyZSB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZSBpcyB0cnVlLlxuICAgKiBJZiB0aGUgb2JqZWN0IGlzIGVtcHR5IG9yIG51bGwsIGFuIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC5cbiAgICpcbiAgICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgY29udGFpbmluZyBmaWx0ZXIgc2V0dGluZ3MuXG4gICAqIEByZXR1cm5zIC0gQSBjb25jYXRlbmF0ZWQgc3RyaW5nIG9mIGtleXMgd2l0aCB0cnVlIHZhbHVlcywgc2VwYXJhdGVkIGJ5IGNvbW1hcy5cbiAgICovXG4gIGV4dHJhY3RGaWx0ZXJQYXJhbXMob2JqOiBTZXZlcml0eUZpbHRlciB8IEFsYXJtU3RhdHVzU2V0dGluZ3MpOiBzdHJpbmcge1xuICAgIGlmICghb2JqKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhvYmopXG4gICAgICAuZmlsdGVyKChbLCB2YWx1ZV0pID0+IHZhbHVlKVxuICAgICAgLm1hcCgoW2tleV0pID0+IGtleSlcbiAgICAgIC5qb2luKCcsJyk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBhbiBpbmNvbWluZyByZWFsLXRpbWUgYWxhcm0gaGFzIGEgZGlmZmVyZW50IHN0YXR1cyB0aGFuIGFuIGV4aXN0aW5nIGFsYXJtLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgcHJvdmlkZWQgaW5jb21pbmcgcmVhbC10aW1lIGFsYXJtJ3Mgc3RhdHVzIGRpZmZlcnNcbiAgICogZnJvbSB0aGF0IG9mIGFuIGV4aXN0aW5nIGFsYXJtIHdpdGggdGhlIHNhbWUgSUQgaW4gdGhlIGdpdmVuIGFycmF5IG9mIGFsYXJtcy5cbiAgICpcbiAgICogQHBhcmFtIGV4aXN0aW5nQWxhcm1zIC0gVGhlIGFycmF5IG9mIGV4aXN0aW5nIGFsYXJtcy5cbiAgICogQHBhcmFtIGluY29taW5nUmVhbHRpbWVBbGFybSAtIFRoZSBpbmNvbWluZyByZWFsLXRpbWUgYWxhcm0gdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIC0gVHJ1ZSBpZiB0aGUgZXhpc3RpbmcgYWxhcm0ncyBzdGF0dXMgaGFzIGNoYW5nZWQsIG90aGVyd2lzZSBmYWxzZS5cbiAgICovXG4gIGhhc0V4aXN0aW5nQWxhcm1DaGFuZ2VkU3RhdHVzKGV4aXN0aW5nQWxhcm1zOiBJQWxhcm1bXSwgaW5jb21pbmdSZWFsdGltZUFsYXJtOiBJQWxhcm0pOiBib29sZWFuIHtcbiAgICBjb25zdCBleGlzdGluZ0FsYXJtID0gZXhpc3RpbmdBbGFybXMuZmluZChhbGFybSA9PiBhbGFybS5pZCA9PT0gaW5jb21pbmdSZWFsdGltZUFsYXJtLmlkKTtcbiAgICByZXR1cm4gISFleGlzdGluZ0FsYXJtICYmIGV4aXN0aW5nQWxhcm0uc3RhdHVzICE9PSBpbmNvbWluZ1JlYWx0aW1lQWxhcm0uc3RhdHVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgYWxhcm1zIGJhc2VkIG9uIHRoZWlyIHN0YXR1cywgc2V2ZXJpdHksIGFuZCB0eXBlLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBkZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gYWxhcm0sIGlkZW50aWZpZWQgZWl0aGVyIGJ5IGEgbnVtZXJpYyBJRCBvciBhbiBgSUFsYXJtYCBvYmplY3QsXG4gICAqIG1hdGNoZXMgc3BlY2lmaWMgY3JpdGVyaWEgZGVmaW5lZCBpbiBgYWxhcm1zYCBhbmQgb3B0aW9uYWxseSBgY29uZmlnYC5cbiAgICpcbiAgICogQHBhcmFtIGFsYXJtIC0gVGhlIGFsYXJtIHRvIGNoZWNrLCByZXByZXNlbnRlZCBlaXRoZXIgYnkgYSBudW1lcmljIElEIG9yIGFuIGBJQWxhcm1gIG9iamVjdC5cbiAgICogQHBhcmFtIGFsYXJtcyAtIEFuIGFycmF5IG9mIGBJQWxhcm1gIG9iamVjdHMgYWdhaW5zdCB3aGljaCB0aGUgZ2l2ZW4gYWxhcm0gaXMgZXZhbHVhdGVkLlxuICAgKiBAcGFyYW0gY29uZmlnIC0gT3B0aW9uYWwuIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhbGFybSBsaXN0IHdpZGdldCwgdXNlZCB0byBkZWZpbmUgYWRkaXRpb25hbFxuICAgKiAgICAgICAgICAgICAgICAgZmlsdGVyaW5nIGNyaXRlcmlhLlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFsYXJtIG1hdGNoZXMgdGhlIHNwZWNpZmllZCBjcml0ZXJpYTsgb3RoZXJ3aXNlLCBgZmFsc2VgLlxuICAgKiAgICAgICAgICBJZiBgYWxhcm1gIGlzIGEgbnVtYmVyLCBpdCBhbHdheXMgcmV0dXJucyBgZmFsc2VgLlxuICAgKiAgICAgICAgICBJZiBgY29uZmlnYCBpcyBub3QgcHJvdmlkZWQsIGl0IHVzZXMgYSBsZWdhY3kgZmlsdGVyIGZvciBjcml0aWNhbCBhbGFybXMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIC0gV2hlbiBgYWxhcm1gIGlzIGEgbnVtZXJpYyBJRCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgYGZhbHNlYCBhcyBpdCBjYW5ub3QgbWF0Y2ggYWdhaW5zdCB0eXBlIGFuZCBzZXZlcml0eS5cbiAgICogLSBJZiBgY29uZmlnYCBpcyBub3QgcHJvdmlkZWQsIHRoZSBmdW5jdGlvbiBhc3N1bWVzIGEgbGVnYWN5IHNjZW5hcmlvIGZvciBmaWx0ZXJpbmcgYWxsIGNyaXRpY2FsIGFsYXJtcy5cbiAgICovXG4gIGZpbHRlckFsYXJtc0J5U3RhdHVzU2V2ZXJpdHlBbmRUeXBlKFxuICAgIGFsYXJtOiBudW1iZXIgfCBJQWxhcm0sXG4gICAgYWxhcm1zOiBJQWxhcm1bXSxcbiAgICBjb25maWc/OiBBbGFybUxpc3RXaWRnZXRDb25maWdcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKHR5cGVvZiBhbGFybSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pc0FsYXJtTWF0Y2hlZEJ5Q29uZmlnKGFsYXJtLCBhbGFybXMsIGNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBhbGwgdmFsdWVzIGluIHRoZSBnaXZlbiBvYmplY3QgYXJlIGZhbHNlLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBldmVyeSB2YWx1ZSBpbiB0aGUgcHJvdmlkZWQgb2JqZWN0IHRvIHNlZSBpZiB0aGV5IGFyZSBhbGwgZmFsc2UuXG4gICAqXG4gICAqIEBwYXJhbSBvYmogLSBBbiBvYmplY3Qgd2l0aCBib29sZWFuIHZhbHVlcy5cbiAgICogQHJldHVybnMgLSBSZXR1cm5zIGB0cnVlYCBpZiBhbGwgdmFsdWVzIGluIHRoZSBvYmplY3QgYXJlIGZhbHNlLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICovXG4gIGFsbFZhbHVlc0ZhbHNlKG9iajogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhvYmopLmV2ZXJ5KHZhbHVlID0+ICF2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIHN0cmluZyBvZiBvcmRlciBwYXJhbWV0ZXJzIGZvciBhIHF1ZXJ5IGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgYWxhcm0gb3JkZXIuXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgYW4gYWxhcm0gb3JkZXIgYW5kIG1hcHMgaXQgdG8gYSBjb3JyZXNwb25kaW5nIHNldCBvZiBvcmRlciBwYXJhbWV0ZXJzLlxuICAgKiBJdCBzdXBwb3J0cyBkaWZmZXJlbnQgb3JkZXJpbmcgdHlwZXMsIHN1Y2ggYXMgQllfQUNUSVZFLCBCWV9TRVZFUklUWSwgYW5kIEJZX0RBVEVfQVNDRU5ESU5HLlxuICAgKiBUaGUgb3JkZXIgcGFyYW1ldGVycyBhcmUgdXNlZCB0byBjb25zdHJ1Y3QgYSBxdWVyeSBzdHJpbmcgdGhhdCBkZXRlcm1pbmVzIHRoZSBvcmRlclxuICAgKiBpbiB3aGljaCBhbGFybXMgYXJlIHJldHJpZXZlZCBvciBkaXNwbGF5ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBvcmRlciAtIFRoZSBzcGVjaWZpZWQgb3JkZXIgZm9yIHNvcnRpbmcgYWxhcm1zIChlLmcuLCBCWV9BQ1RJVkUpLlxuICAgKiBAcmV0dXJucyAtIEEgc3RyaW5nIG9mIG9yZGVyIHBhcmFtZXRlcnMgdG8gYmUgdXNlZCBpbiBhIHF1ZXJ5LCBvciBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIG9yZGVyIHR5cGUgaXMgdW5yZWNvZ25pemVkLlxuICAgKi9cbiAgZ2V0T3JkZXJQYXJhbWV0ZXJzKG9yZGVyOiBBbGFybU9yZGVyVHlwZSk6IHN0cmluZyB7XG4gICAgbGV0IG9yZGVyUGFyYW1zOiBzdHJpbmdbXTtcblxuICAgIHN3aXRjaCAob3JkZXIpIHtcbiAgICAgIGNhc2UgQUxBUk1fT1JERVJfVkFMVUVTLkJZX0FDVElWRTpcbiAgICAgICAgb3JkZXJQYXJhbXMgPSBbJ3N0YXR1cyBhc2MnLCAnc2V2ZXJpdHkgYXNjJywgJ3RpbWUuZGF0ZSBkZXNjJywgJ3RleHQgYXNjJ107XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkT3JkZXJQYXJhbWV0ZXJzKG9yZGVyUGFyYW1zKTtcbiAgICAgIGNhc2UgQUxBUk1fT1JERVJfVkFMVUVTLkJZX1NFVkVSSVRZOlxuICAgICAgICBvcmRlclBhcmFtcyA9IFsnc2V2ZXJpdHkgYXNjJywgJ3RpbWUuZGF0ZSBkZXNjJywgJ3RleHQgYXNjJ107XG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkT3JkZXJQYXJhbWV0ZXJzKG9yZGVyUGFyYW1zKTtcbiAgICAgIGNhc2UgQUxBUk1fT1JERVJfVkFMVUVTLkJZX0RBVEVfQVNDRU5ESU5HOlxuICAgICAgICBvcmRlclBhcmFtcyA9IFsndGltZS5kYXRlIGFzYycsICd0ZXh0IGFzYyddO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZE9yZGVyUGFyYW1ldGVycyhvcmRlclBhcmFtcyk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBvcmRlclBhcmFtcyA9IFsndGltZS5kYXRlIGRlc2MnLCAndGV4dCBhc2MnXTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRPcmRlclBhcmFtZXRlcnMob3JkZXJQYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGFuIGFsYXJtIGlzIG1hdGNoZWQgYnkgdGhlIHNwZWNpZmllZCB3aWRnZXQgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiBldmFsdWF0ZXMgd2hldGhlciBhIGdpdmVuIGFsYXJtIHNob3VsZCBiZSBpbmNsdWRlZCBiYXNlZCBvbiB0aGUgc2V2ZXJpdHksXG4gICAqIHN0YXR1cywgYW5kIHR5cGUgZmlsdGVycyBkZWZpbmVkIGluIHRoZSBBbGFybUxpc3RXaWRnZXRDb25maWcuIEl0IGNoZWNrcyBpZiB0aGUgYWxhcm0nc1xuICAgKiBzZXZlcml0eSBhbmQgc3RhdHVzIG1hdGNoIHRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGFuZCBpZiB0aGUgYWxhcm0ncyB0eXBlIGlzIGluY2x1ZGVkXG4gICAqIGluIHRoZSBjb25maWd1cmF0aW9uJ3MgdHlwZXMgKGlmIHNwZWNpZmllZCkuXG4gICAqXG4gICAqIEBpZ25vcmVcbiAgICogQHBhcmFtIGFsYXJtIC0gVGhlIGFsYXJtIHRvIGV2YWx1YXRlLlxuICAgKiBAcGFyYW0gYWxhcm1zIC0gQW4gYXJyYXkgb2YgZXhpc3RpbmcgYWxhcm1zLCB1c2VkIGZvciBzdGF0dXMgbWF0Y2hpbmcuXG4gICAqIEBwYXJhbSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyB0byBtYXRjaCBhZ2FpbnN0LlxuICAgKiBAcmV0dXJucyAtIFJldHVybnMgYHRydWVgIGlmIHRoZSBhbGFybSBtYXRjaGVzIHRoZSBjb25maWd1cmF0aW9uIGNyaXRlcmlhOyBvdGhlcndpc2UsIGBmYWxzZWAuXG4gICAqL1xuICBpc0FsYXJtTWF0Y2hlZEJ5Q29uZmlnKGFsYXJtOiBJQWxhcm0sIGFsYXJtczogSUFsYXJtW10sIGNvbmZpZzogQWxhcm1MaXN0V2lkZ2V0Q29uZmlnKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNTZXZlcml0eU1hdGNoZWQgPSB0aGlzLmlzU2V2ZXJpdHlNYXRjaGluZyhhbGFybS5zZXZlcml0eSwgY29uZmlnKTtcbiAgICBjb25zdCBpc1N0YXR1c01hdGNoZWQgPSB0aGlzLmlzU3RhdHVzTWF0Y2hpbmcoYWxhcm0sIGFsYXJtcywgY29uZmlnKTtcbiAgICBjb25zdCBpc1R5cGVNYXRjaGVkID0gdGhpcy5pc1R5cGVzTWF0Y2hpbmcoY29uZmlnLCBhbGFybSk7XG5cbiAgICByZXR1cm4gaXNTZXZlcml0eU1hdGNoZWQgJiYgaXNTdGF0dXNNYXRjaGVkICYmIGlzVHlwZU1hdGNoZWQ7XG4gIH1cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgc2V2ZXJpdHkgb2YgYW4gYWxhcm0gbWF0Y2hlcyB0aGUgY29uZmlndXJhdGlvbiBzZXR0aW5nLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGRldGVybWluZXMgd2hldGhlciB0aGUgc2V2ZXJpdHkgb2YgYW4gYWxhcm0gaXMgaW5jbHVkZWQgaW4gdGhlXG4gICAqIHNldmVyaXR5IHNldHRpbmdzIGRlZmluZWQgaW4gdGhlIEFsYXJtTGlzdFdpZGdldENvbmZpZy5cbiAgICpcbiAgICogQGlnbm9yZVxuICAgKiBAcGFyYW0gc2V2ZXJpdHkgLSBUaGUgc2V2ZXJpdHkgb2YgdGhlIGFsYXJtIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gd2l0aCBzZXZlcml0eSBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgLSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgYWxhcm0ncyBzZXZlcml0eSBtYXRjaGVzIHRoZSBjb25maWd1cmF0aW9uOyBvdGhlcndpc2UsIGBmYWxzZWAuXG4gICAqL1xuICBpc1NldmVyaXR5TWF0Y2hpbmcoc2V2ZXJpdHk6IFNldmVyaXR5VHlwZSwgY29uZmlnOiBBbGFybUxpc3RXaWRnZXRDb25maWcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFjb25maWcuc2V2ZXJpdGllc1tzZXZlcml0eV07XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGVzIGlmIHRoZSBzdGF0dXMgb2YgYW4gYWxhcm0gbWF0Y2hlcyB0aGUgY29uZmlndXJhdGlvbiBzZXR0aW5nIG9yIGhhcyBjaGFuZ2VkLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgc3RhdHVzIG9mIGFuIGFsYXJtIGlzIGluY2x1ZGVkIGluIHRoZSBzdGF0dXMgc2V0dGluZ3MgZGVmaW5lZCBpblxuICAgKiB0aGUgQWxhcm1MaXN0V2lkZ2V0Q29uZmlnLCBvciBpZiB0aGUgYWxhcm0ncyBzdGF0dXMgaGFzIGNoYW5nZWQgYmFzZWQgb24gdGhlIGV4aXN0aW5nIGFsYXJtcy5cbiAgICpcbiAgICogQGlnbm9yZVxuICAgKiBAcGFyYW0gYWxhcm0gLSBUaGUgYWxhcm0gd2hvc2Ugc3RhdHVzIGlzIHRvIGJlIGV2YWx1YXRlZC5cbiAgICogQHBhcmFtIGFsYXJtcyAtIEFuIGFycmF5IG9mIGV4aXN0aW5nIGFsYXJtcyB0byBjb21wYXJlIGFnYWluc3QgZm9yIHN0YXR1cyBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gd2l0aCBzdGF0dXMgc2V0dGluZ3MuXG4gICAqIEByZXR1cm5zIC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFsYXJtJ3Mgc3RhdHVzIG1hdGNoZXMgb3IgaGFzIGNoYW5nZWQgYXMgcGVyIHRoZSBjb25maWd1cmF0aW9uOyBvdGhlcndpc2UsIGBmYWxzZWAuXG4gICAqL1xuICBpc1N0YXR1c01hdGNoaW5nKGFsYXJtOiBJQWxhcm0sIGFsYXJtczogSUFsYXJtW10sIGNvbmZpZzogQWxhcm1MaXN0V2lkZ2V0Q29uZmlnKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhY29uZmlnLnN0YXR1c1thbGFybS5zdGF0dXNdIHx8IHRoaXMuaGFzRXhpc3RpbmdBbGFybUNoYW5nZWRTdGF0dXMoYWxhcm1zLCBhbGFybSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb25maWd1cmF0aW9uJ3MgdHlwZXMgYXJyYXkgY29udGFpbnMgb25seSBlbXB0eSBzdHJpbmcgb3IgaW5jbHVkZXMgYSBzcGVjaWZpYyBhbGFybSB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHdpdGggYSBgdHlwZXNgIHByb3BlcnR5LlxuICAgKiBAcGFyYW0gYWxhcm0gLSBUaGUgYWxhcm0gb2JqZWN0IHdpdGggYSBgdHlwZWAgcHJvcGVydHkgdG8gY2hlY2sgYWdhaW5zdCB0aGUgY29uZmlnJ3MgdHlwZXMuXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29uZmlnJ3MgdHlwZXMgYXJyYXkgY29udGFpbnMgb25seSBlbXB0eSBzdHJpbmcgb3IgaW5jbHVkZXMgdGhlIGFsYXJtJ3MgdHlwZSwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBpc1R5cGVzTWF0Y2hpbmcoY29uZmlnOiBBbGFybUxpc3RXaWRnZXRDb25maWcsIGFsYXJtOiBJQWxhcm0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25maWcudHlwZXMpICYmIGNvbmZpZy50eXBlcy5sZW5ndGggPT09IDEgJiYgY29uZmlnLnR5cGVzWzBdID09PSAnJ1xuICAgICAgPyB0cnVlXG4gICAgICA6IGNvbmZpZy50eXBlcz8uaW5jbHVkZXMoYWxhcm0udHlwZSkgPz8gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIHF1ZXJ5IHN0cmluZyBmcm9tIGFuIGFycmF5IG9mIG9yZGVyIHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgYW4gYXJyYXkgb2Ygb3JkZXJpbmcgcGFyYW1ldGVycyBhbmQgY29uc3RydWN0cyBhIHF1ZXJ5IHN0cmluZ1xuICAgKiBmb3IgdXNlIGluIGFsYXJtIG9yZGVyaW5nIHF1ZXJpZXMuIFRoZSBwYXJhbWV0ZXJzIGFyZSBjb25jYXRlbmF0ZWQgaW50byBhIHNpbmdsZSBzdHJpbmcsXG4gICAqIHByZWZpeGVkIHdpdGggJyRvcmRlcmJ5PScuXG4gICAqXG4gICAqIEBpZ25vcmVcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIG9yZGVyUGFyYW1zIC0gVGhlIG9yZGVyIHBhcmFtZXRlcnMgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHF1ZXJ5LlxuICAgKiBAcmV0dXJucyAtIEEgcXVlcnkgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgb3JkZXIgcGFyYW1ldGVycy5cbiAgICovXG4gIHByaXZhdGUgYnVpbGRPcmRlclBhcmFtZXRlcnMob3JkZXJQYXJhbXM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCRvcmRlcmJ5PSR7b3JkZXJQYXJhbXMuam9pbignLCcpfWA7XG4gIH1cbn1cbiJdfQ==
@@ -70,7 +70,7 @@ export class InfoGaugeWidgetConfigComponent {
70
70
  createForm() {
71
71
  return this.formBuilder.group({
72
72
  fractionSize: [
73
- 1,
73
+ 2,
74
74
  [
75
75
  Validators.required,
76
76
  Validators.min(this.limits.numberOfDecimalPlacesMin),
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
94
94
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i1.NgForm }, { type: i2.WidgetConfigComponent }], propDecorators: { config: [{
95
95
  type: Input
96
96
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2luZm8tZ2F1Z2UvaW5mby1nYXVnZS13aWRnZXQtY29uZmlnL2luZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi93aWRnZXRzL2ltcGxlbWVudGF0aW9ucy9pbmZvLWdhdWdlL2luZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZy9pbmZvLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsTUFBTSxFQUNOLG1CQUFtQixFQUVuQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsdUJBQXVCLEVBSXhCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQUcvRCxTQUFTLDBDQUEwQyxDQUNqRCx1QkFBaUM7SUFFakMsT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtRQUNsQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2hDLEtBQUssTUFBTSxpQkFBaUIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQ3hELE1BQU0sWUFBWSxHQUFpQixTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dC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LENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztvQkFDcEQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO2lCQUNyRDthQUNGO1lBQ0QsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEVBQWMsRUFBRSxFQUFFLENBQUM7WUFDdkUsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUUsRUFBRSxDQUFDO1NBQ3ZFLEVBQ0Q7WUFDRSxVQUFVLEVBQUU7Z0JBQ1YsMENBQTBDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3BGO1NBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQzs4R0E1RVUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsc0hDOUMzQywwNkRBMERBLDJDRGRZLFVBQVUsZ3dEQUFFLG1CQUFtQiw4QkFBRSx1QkFBdUIsMlNBRm5ELENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDOzsyRkFJeEQsOEJBQThCO2tCQVAxQyxTQUFTOytCQUNFLDhCQUE4QixpQkFFekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsY0FDdkQsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDO3lJQUcxRCxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUJ1aWxkZXIsXG4gIE5nRm9ybSxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGUsXG4gIHR5cGUgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIHR5cGUgRGF0YXBvaW50U2VsZWN0b3JNb2RhbE9wdGlvbnMsXG4gIHR5cGUgS1BJRGV0YWlsc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBXaWRnZXRDb25maWdDb21wb25lbnQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2NvbnRleHQtZGFzaGJvYXJkJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIE9uQmVmb3JlU2F2ZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5mdW5jdGlvbiBlbnN1cmVBdExlYXN0T25lRGF0YXBvaW50U2VsZWN0ZWRBbmRBY3RpdmUoXG4gIGRhdGFwb2ludExpc3RBdHRyaWJ1dGVzOiBzdHJpbmdbXVxuKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgZm9yIChjb25zdCBsaXN0QXR0cmlidXRlTmFtZSBvZiBkYXRhcG9pbnRMaXN0QXR0cmlidXRlcykge1xuICAgICAgY29uc3QgdmFsdWVGb3JMaXN0OiBLUElEZXRhaWxzW10gPSBmb3JtVmFsdWVbbGlzdEF0dHJpYnV0ZU5hbWVdO1xuICAgICAgaWYgKCF2YWx1ZUZvckxpc3QgfHwgIUFycmF5LmlzQXJyYXkodmFsdWVGb3JMaXN0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlRm9yTGlzdC5maW5kKGRwID0+IGRwLl9fYWN0aXZlKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgbm9BY3RpdmVEYXRhcG9pbnQ6IHRydWUgfTtcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWluZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25CZWZvcmVTYXZlIHtcbiAgQElucHV0KCkgY29uZmlnOiB7XG4gICAgZGF0YXBvaW50c0xhYmVscz86IEtQSURldGFpbHNbXTtcbiAgICBkYXRhcG9pbnRzR2F1Z2U6IEtQSURldGFpbHNbXTtcbiAgICBmcmFjdGlvblNpemU6IG51bWJlcjtcbiAgfTtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY3JlYXRlRm9ybSddPjtcbiAgZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnOiBQYXJ0aWFsPERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zPiA9IHt9O1xuICBkZWZhdWx0Rm9ybU9wdGlvbnM6IFBhcnRpYWw8RGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWc+ID0ge1xuICAgIHNob3dSZWRSYW5nZTogdHJ1ZSxcbiAgICBzaG93WWVsbG93UmFuZ2U6IHRydWUsXG4gICAgc2hvd1JhbmdlOiB0cnVlXG4gIH07XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIG51bWJlck9mRGVjaW1hbFBsYWNlc01heDogMTAsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluOiAwXG4gIH0gYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm0sXG4gICAgcHJpdmF0ZSB3aWRnZXRDb25maWc6IFdpZGdldENvbmZpZ0NvbXBvbmVudFxuICApIHt9XG5cbiAgb25CZWZvcmVTYXZlKFxuICAgIGNvbmZpZz86IEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY29uZmlnJ11cbiAgKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud2lkZ2V0Q29uZmlnLmNvbnRleHQ/LmlkKSB7XG4gICAgICB0aGlzLmRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZy5jb250ZXh0QXNzZXQgPSB0aGlzLndpZGdldENvbmZpZz8uY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50c0xhYmVscykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGRhdGFwb2ludHNMYWJlbHM6IHRoaXMuY29uZmlnLmRhdGFwb2ludHNMYWJlbHMgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50c0dhdWdlKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZGF0YXBvaW50c0dhdWdlOiB0aGlzLmNvbmZpZy5kYXRhcG9pbnRzR2F1Z2UgfSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWc/LmZyYWN0aW9uU2l6ZSA9PT0gJ251bWJlcicgJiYgIU51bWJlci5pc05hTih0aGlzLmNvbmZpZz8uZnJhY3Rpb25TaXplKSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGZyYWN0aW9uU2l6ZTogdGhpcy5jb25maWcuZnJhY3Rpb25TaXplIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmZvcm0uZm9ybS5hZGRDb250cm9sKCdjb25maWcnLCB0aGlzLmZvcm1Hcm91cCk7XG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIGZyYWN0aW9uU2l6ZTogW1xuICAgICAgICAgIDEsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMubWluKHRoaXMubGltaXRzLm51bWJlck9mRGVjaW1hbFBsYWNlc01pbiksXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgICAgXVxuICAgICAgICBdLFxuICAgICAgICBkYXRhcG9pbnRzTGFiZWxzOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtdKSxcbiAgICAgICAgZGF0YXBvaW50c0dhdWdlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtdKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW1xuICAgICAgICAgIGVuc3VyZUF0TGVhc3RPbmVEYXRhcG9pbnRTZWxlY3RlZEFuZEFjdGl2ZShbJ2RhdGFwb2ludHNMYWJlbHMnLCAnZGF0YXBvaW50c0dhdWdlJ10pXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1sLTI0IHAtci0yNFwiPlxuICA8Zm9ybVxuICAgIGNsYXNzPVwibm8tY2FyZC1jb250ZXh0XCJcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwicC10LThcIj5cbiAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkRlY2ltYWwgcGxhY2VzPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIG5hbWU9XCJmcmFjdGlvblNpemVcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmcmFjdGlvblNpemVcIlxuICAgICAgICAgICAgc3RlcD1cIjFcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGM4eS1tZXNzYWdlcyBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHMuZnJhY3Rpb25TaXplLmVycm9yc1wiPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgcC10LThcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgICAgICAqbmdJZj1cImZvcm1Hcm91cC5lcnJvcnM/Lm5vQWN0aXZlRGF0YXBvaW50XCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgPlxuICAgICAgICAgIEF0IGxlYXN0IG9uZSBkYXRhIHBvaW50IGZvciB0aGUgbGFiZWxzIG9yIHRoZSBnYXVnZSBuZWVkcyB0byBiZSBzZWxlY3RlZC5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICA8Yzh5LWRhdGFwb2ludC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICAgIGNsYXNzPVwiYmctaW5oZXJpdCBzZXBhcmF0b3ItdG9wIHAtdC0xNiBkLWJsb2NrXCJcbiAgICAgICAgICBuYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgICAgbGlzdFRpdGxlPVwie3sgJ011bHRpcGxlIGxhYmVsIGFuZCB2YWx1ZSBwYWlycycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkZWZhdWx0Rm9ybU9wdGlvbnNdPVwiZGVmYXVsdEZvcm1PcHRpb25zXCJcbiAgICAgICAgICBbY29uZmlnXT1cImRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZ1wiXG4gICAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjBcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGFwb2ludHNMYWJlbHNcIlxuICAgICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgPGM4eS1kYXRhcG9pbnQtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgICBjbGFzcz1cImJnLWluaGVyaXQgc2VwYXJhdG9yLXRvcCBwLXQtMTYgZC1ibG9ja1wiXG4gICAgICAgICAgbmFtZT1cImRhdGFwb2ludHNcIlxuICAgICAgICAgIGxpc3RUaXRsZT1cInt7ICdHYXVnZWBkaXNwbGF5YCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkZWZhdWx0Rm9ybU9wdGlvbnNdPVwiZGVmYXVsdEZvcm1PcHRpb25zXCJcbiAgICAgICAgICBbY29uZmlnXT1cImRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZ1wiXG4gICAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjBcIlxuICAgICAgICAgIFttYXhBY3RpdmVDb3VudF09XCIxXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRhcG9pbnRzR2F1Z2VcIlxuICAgICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2luZm8tZ2F1Z2UvaW5mby1nYXVnZS13aWRnZXQtY29uZmlnL2luZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi93aWRnZXRzL2ltcGxlbWVudGF0aW9ucy9pbmZvLWdhdWdlL2luZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZy9pbmZvLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsTUFBTSxFQUNOLG1CQUFtQixFQUVuQixVQUFVLEVBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsdUJBQXVCLEVBSXhCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQUcvRCxTQUFTLDBDQUEwQyxDQUNqRCx1QkFBaUM7SUFFakMsT0FBTyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtRQUNsQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2hDLEtBQUssTUFBTSxpQkFBaUIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQ3hELE1BQU0sWUFBWSxHQUFpQixTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dC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LENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztvQkFDcEQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO2lCQUNyRDthQUNGO1lBQ0QsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEVBQWMsRUFBRSxFQUFFLENBQUM7WUFDdkUsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUUsRUFBRSxDQUFDO1NBQ3ZFLEVBQ0Q7WUFDRSxVQUFVLEVBQUU7Z0JBQ1YsMENBQTBDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3BGO1NBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQzs4R0E1RVUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsc0hDOUMzQywwNkRBMERBLDJDRGRZLFVBQVUsZ3dEQUFFLG1CQUFtQiw4QkFBRSx1QkFBdUIsMlNBRm5ELENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDOzsyRkFJeEQsOEJBQThCO2tCQVAxQyxTQUFTOytCQUNFLDhCQUE4QixpQkFFekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsY0FDdkQsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDO3lJQUcxRCxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybUJ1aWxkZXIsXG4gIE5nRm9ybSxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGUsXG4gIHR5cGUgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIHR5cGUgRGF0YXBvaW50U2VsZWN0b3JNb2RhbE9wdGlvbnMsXG4gIHR5cGUgS1BJRGV0YWlsc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBXaWRnZXRDb25maWdDb21wb25lbnQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2NvbnRleHQtZGFzaGJvYXJkJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIE9uQmVmb3JlU2F2ZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5mdW5jdGlvbiBlbnN1cmVBdExlYXN0T25lRGF0YXBvaW50U2VsZWN0ZWRBbmRBY3RpdmUoXG4gIGRhdGFwb2ludExpc3RBdHRyaWJ1dGVzOiBzdHJpbmdbXVxuKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgZm9yIChjb25zdCBsaXN0QXR0cmlidXRlTmFtZSBvZiBkYXRhcG9pbnRMaXN0QXR0cmlidXRlcykge1xuICAgICAgY29uc3QgdmFsdWVGb3JMaXN0OiBLUElEZXRhaWxzW10gPSBmb3JtVmFsdWVbbGlzdEF0dHJpYnV0ZU5hbWVdO1xuICAgICAgaWYgKCF2YWx1ZUZvckxpc3QgfHwgIUFycmF5LmlzQXJyYXkodmFsdWVGb3JMaXN0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlRm9yTGlzdC5maW5kKGRwID0+IGRwLl9fYWN0aXZlKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgbm9BY3RpdmVEYXRhcG9pbnQ6IHRydWUgfTtcbiAgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWluZm8tZ2F1Z2Utd2lkZ2V0LWNvbmZpZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH1dLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25CZWZvcmVTYXZlIHtcbiAgQElucHV0KCkgY29uZmlnOiB7XG4gICAgZGF0YXBvaW50c0xhYmVscz86IEtQSURldGFpbHNbXTtcbiAgICBkYXRhcG9pbnRzR2F1Z2U6IEtQSURldGFpbHNbXTtcbiAgICBmcmFjdGlvblNpemU6IG51bWJlcjtcbiAgfTtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY3JlYXRlRm9ybSddPjtcbiAgZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnOiBQYXJ0aWFsPERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zPiA9IHt9O1xuICBkZWZhdWx0Rm9ybU9wdGlvbnM6IFBhcnRpYWw8RGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWc+ID0ge1xuICAgIHNob3dSZWRSYW5nZTogdHJ1ZSxcbiAgICBzaG93WWVsbG93UmFuZ2U6IHRydWUsXG4gICAgc2hvd1JhbmdlOiB0cnVlXG4gIH07XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIG51bWJlck9mRGVjaW1hbFBsYWNlc01heDogMTAsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluOiAwXG4gIH0gYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm0sXG4gICAgcHJpdmF0ZSB3aWRnZXRDb25maWc6IFdpZGdldENvbmZpZ0NvbXBvbmVudFxuICApIHt9XG5cbiAgb25CZWZvcmVTYXZlKFxuICAgIGNvbmZpZz86IEluZm9HYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY29uZmlnJ11cbiAgKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud2lkZ2V0Q29uZmlnLmNvbnRleHQ/LmlkKSB7XG4gICAgICB0aGlzLmRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZy5jb250ZXh0QXNzZXQgPSB0aGlzLndpZGdldENvbmZpZz8uY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50c0xhYmVscykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGRhdGFwb2ludHNMYWJlbHM6IHRoaXMuY29uZmlnLmRhdGFwb2ludHNMYWJlbHMgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50c0dhdWdlKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZGF0YXBvaW50c0dhdWdlOiB0aGlzLmNvbmZpZy5kYXRhcG9pbnRzR2F1Z2UgfSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWc/LmZyYWN0aW9uU2l6ZSA9PT0gJ251bWJlcicgJiYgIU51bWJlci5pc05hTih0aGlzLmNvbmZpZz8uZnJhY3Rpb25TaXplKSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGZyYWN0aW9uU2l6ZTogdGhpcy5jb25maWcuZnJhY3Rpb25TaXplIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgICB0aGlzLmZvcm0uZm9ybS5hZGRDb250cm9sKCdjb25maWcnLCB0aGlzLmZvcm1Hcm91cCk7XG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLmNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoXG4gICAgICB7XG4gICAgICAgIGZyYWN0aW9uU2l6ZTogW1xuICAgICAgICAgIDIsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMubWluKHRoaXMubGltaXRzLm51bWJlck9mRGVjaW1hbFBsYWNlc01pbiksXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgICAgXVxuICAgICAgICBdLFxuICAgICAgICBkYXRhcG9pbnRzTGFiZWxzOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtdKSxcbiAgICAgICAgZGF0YXBvaW50c0dhdWdlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtdKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW1xuICAgICAgICAgIGVuc3VyZUF0TGVhc3RPbmVEYXRhcG9pbnRTZWxlY3RlZEFuZEFjdGl2ZShbJ2RhdGFwb2ludHNMYWJlbHMnLCAnZGF0YXBvaW50c0dhdWdlJ10pXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1sLTI0IHAtci0yNFwiPlxuICA8Zm9ybVxuICAgIGNsYXNzPVwibm8tY2FyZC1jb250ZXh0XCJcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwicC10LThcIj5cbiAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkRlY2ltYWwgcGxhY2VzPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIG5hbWU9XCJmcmFjdGlvblNpemVcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmcmFjdGlvblNpemVcIlxuICAgICAgICAgICAgc3RlcD1cIjFcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGM4eS1tZXNzYWdlcyBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHMuZnJhY3Rpb25TaXplLmVycm9yc1wiPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgcC10LThcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgICAgICAqbmdJZj1cImZvcm1Hcm91cC5lcnJvcnM/Lm5vQWN0aXZlRGF0YXBvaW50XCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgPlxuICAgICAgICAgIEF0IGxlYXN0IG9uZSBkYXRhIHBvaW50IGZvciB0aGUgbGFiZWxzIG9yIHRoZSBnYXVnZSBuZWVkcyB0byBiZSBzZWxlY3RlZC5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICA8Yzh5LWRhdGFwb2ludC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICAgIGNsYXNzPVwiYmctaW5oZXJpdCBzZXBhcmF0b3ItdG9wIHAtdC0xNiBkLWJsb2NrXCJcbiAgICAgICAgICBuYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgICAgbGlzdFRpdGxlPVwie3sgJ011bHRpcGxlIGxhYmVsIGFuZCB2YWx1ZSBwYWlycycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkZWZhdWx0Rm9ybU9wdGlvbnNdPVwiZGVmYXVsdEZvcm1PcHRpb25zXCJcbiAgICAgICAgICBbY29uZmlnXT1cImRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZ1wiXG4gICAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjBcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGFwb2ludHNMYWJlbHNcIlxuICAgICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgPGM4eS1kYXRhcG9pbnQtc2VsZWN0aW9uLWxpc3RcbiAgICAgICAgICBjbGFzcz1cImJnLWluaGVyaXQgc2VwYXJhdG9yLXRvcCBwLXQtMTYgZC1ibG9ja1wiXG4gICAgICAgICAgbmFtZT1cImRhdGFwb2ludHNcIlxuICAgICAgICAgIGxpc3RUaXRsZT1cInt7ICdHYXVnZWBkaXNwbGF5YCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkZWZhdWx0Rm9ybU9wdGlvbnNdPVwiZGVmYXVsdEZvcm1PcHRpb25zXCJcbiAgICAgICAgICBbY29uZmlnXT1cImRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZ1wiXG4gICAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjBcIlxuICAgICAgICAgIFttYXhBY3RpdmVDb3VudF09XCIxXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRhcG9pbnRzR2F1Z2VcIlxuICAgICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
@@ -67,7 +67,7 @@ export class KpiWidgetConfigComponent {
67
67
  createForm() {
68
68
  return this.formBuilder.group({
69
69
  numberOfDecimalPlaces: [
70
- 1,
70
+ 2,
71
71
  [
72
72
  Validators.required,
73
73
  Validators.min(this.limits.numberOfDecimalPlacesMin),
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
102
102
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i1.NgForm }, { type: i2.WidgetConfigComponent }], propDecorators: { config: [{
103
103
  type: Input
104
104
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3BpLXdpZGdldC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMva3BpL2twaS13aWRnZXQtY29uZmlnL2twaS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2twaS9rcGktd2lkZ2V0LWNvbmZpZy9rcGktd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxNQUFNLEVBR04sVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBR0wsdUJBQXVCLEVBRXhCLE1BQU0sd0NBQXdDLENBQUM7QUFHaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQUV0RCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELE1BQU0sVUFBVSxHQUFpQixPQUFPLENBQUMsS0FBSyxDQUFDO1FBRS9DLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTVFLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN0RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBU0QsTUFBTSxPQUFPLHdCQUF3QjtJQWdCbkMsWUFDVSxXQUF3QixFQUN4QixJQUFZLEVBQ1osWUFBbUM7UUFGbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQWpCN0MsNkJBQXdCLEdBQTJDLEVBQUUsQ0FBQztRQUN0RSx1QkFBa0IsR0FBMkM7WUFDM0QsWUFBWSxFQUFFLElBQUk7WUFDbEIsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQztRQUVGLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFdBQU0sR0FBRztZQUNmLFdBQVcsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLEVBQUU7WUFDZix3QkFBd0IsRUFBRSxFQUFFO1lBQzVCLHdCQUF3QixFQUFFLENBQUM7U0FDbkIsQ0FBQztJQU1SLENBQUM7SUFFSixZQUFZLENBQUMsTUFBd0I7UUFDbkMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUM7UUFDMUUsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7SUFDSCxDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sVUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzVCLHFCQUFxQixFQUFFO2dCQUNyQixDQUFDO2dCQUNEO29CQUNFLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUM7b0JBQ3BELFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztpQkFDckQ7YUFDRjtZQUNELGFBQWEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDekIsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNyQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9ELFFBQVEsRUFBRTtnQkFDUixFQUFFO2dCQUNGO29CQUNFLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO29CQUN2QyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUN4QzthQUNGO1lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUU7Z0JBQzVELFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsNkJBQTZCLEVBQUU7YUFDaEMsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7OEdBMUVVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLCtHQ2hEckMsbXJIQWlHQSwyQ0RwRFksVUFBVSw2MERBQUUsdUJBQXVCLHFUQUFFLGtCQUFrQixpTkFBRSxhQUFhLG9WQUNqRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7MkZBRXhELHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FFckIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxpQkFDbEUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7eUlBRzFELE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sQ29udGFpbmVyLFxuICBGb3JtQnVpbGRlcixcbiAgTmdGb3JtLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlLCBPbkJlZm9yZVNhdmUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ0NvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvY29udGV4dC1kYXNoYm9hcmQnO1xuaW1wb3J0IHtcbiAgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zLFxuICBEYXRhcG9pbnRTZWxlY3Rvck1vZHVsZSxcbiAgS1BJRGV0YWlsc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLcGlXaWRnZXRDb25maWcgfSBmcm9tICcuLi9rcGktd2lkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IEljb25TZWxlY3Rvck1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvaWNvbi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4YWN0bHlBU2luZ2xlRGF0YXBvaW50QWN0aXZlKCk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgZGF0YXBvaW50czogS1BJRGV0YWlsc1tdID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICghZGF0YXBvaW50cyB8fCAhZGF0YXBvaW50cy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZURhdGFwb2ludHMgPSBkYXRhcG9pbnRzLmZpbHRlcihkYXRhcG9pbnQgPT4gZGF0YXBvaW50Ll9fYWN0aXZlKTtcblxuICAgIGlmIChhY3RpdmVEYXRhcG9pbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZXhhY3RseU9uZURhdGFwb2ludE5lZWRzVG9CZUFjdGl2ZTogdHJ1ZSB9O1xuICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHkta3BpLXdpZGdldC1jb25maWcnLFxuICB0ZW1wbGF0ZVVybDogJy4va3BpLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGUsIEljb25TZWxlY3Rvck1vZHVsZSwgUG9wb3Zlck1vZHVsZV0sXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV1cbn0pXG5leHBvcnQgY2xhc3MgS3BpV2lkZ2V0Q29uZmlnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkJlZm9yZVNhdmUge1xuICBASW5wdXQoKSBjb25maWc6IEtwaVdpZGdldENvbmZpZztcbiAgZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnOiBQYXJ0aWFsPERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zPiA9IHt9O1xuICBkZWZhdWx0Rm9ybU9wdGlvbnM6IFBhcnRpYWw8RGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWc+ID0ge1xuICAgIHNob3dSZWRSYW5nZTogdHJ1ZSxcbiAgICBzaG93WWVsbG93UmFuZ2U6IHRydWVcbiAgfTtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEtwaVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY3JlYXRlRm9ybSddPjtcbiAgYXZhaWxhYmxlSWNvbnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIGZvbnRTaXplTWF4OiA3MixcbiAgICBmb250U2l6ZU1pbjogMTgsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWF4OiAxMCxcbiAgICBudW1iZXJPZkRlY2ltYWxQbGFjZXNNaW46IDBcbiAgfSBhcyBjb25zdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGZvcm06IE5nRm9ybSxcbiAgICBwcml2YXRlIHdpZGdldENvbmZpZzogV2lkZ2V0Q29uZmlnQ29tcG9uZW50XG4gICkge31cblxuICBvbkJlZm9yZVNhdmUoY29uZmlnPzogS3BpV2lkZ2V0Q29uZmlnKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud2lkZ2V0Q29uZmlnLmNvbnRleHQ/LmlkKSB7XG4gICAgICB0aGlzLmRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZy5jb250ZXh0QXNzZXQgPSB0aGlzLndpZGdldENvbmZpZz8uY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50cykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGRhdGFwb2ludHM6IHRoaXMuY29uZmlnLmRhdGFwb2ludHMgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuZm9ybS5mb3JtLmFkZENvbnRyb2woJ2NvbmZpZycsIHRoaXMuZm9ybUdyb3VwKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBudW1iZXJPZkRlY2ltYWxQbGFjZXM6IFtcbiAgICAgICAgMSxcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMubnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluKSxcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgIF1cbiAgICAgIF0sXG4gICAgICBzaG93VGltZXN0YW1wOiBbdHJ1ZSwgW11dLFxuICAgICAgc2hvd1RyZW5kOiBbdHJ1ZSwgW11dLFxuICAgICAgc2hvd0ljb246IFt0cnVlLCBbXV0sXG4gICAgICBpY29uOiBbJ3dhdGVyJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpXV0sXG4gICAgICBmb250U2l6ZTogW1xuICAgICAgICAzNixcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMuZm9udFNpemVNaW4pLFxuICAgICAgICAgIFZhbGlkYXRvcnMubWF4KHRoaXMubGltaXRzLmZvbnRTaXplTWF4KVxuICAgICAgICBdXG4gICAgICBdLFxuICAgICAgZGF0YXBvaW50czogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG5ldyBBcnJheTxLUElEZXRhaWxzPigpLCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpLFxuICAgICAgICBleGFjdGx5QVNpbmdsZURhdGFwb2ludEFjdGl2ZSgpXG4gICAgICBdKVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1sLTI0IHAtci0yNFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwicm93IG5vLWNhcmQtY29udGV4dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBiZy1sZXZlbC0wXCI+XG4gICAgICA8Yzh5LWRhdGFwb2ludC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICBbZGVmYXVsdEZvcm1PcHRpb25zXT1cImRlZmF1bHRGb3JtT3B0aW9uc1wiXG4gICAgICAgIFtjb25maWddPVwiZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnXCJcbiAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjFcIlxuICAgICAgICBbbWF4QWN0aXZlQ291bnRdPVwiMVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGFwb2ludHNcIlxuICAgICAgICBuYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgIGNsYXNzPVwiYmctaW5oZXJpdFwiXG4gICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHNlcGFyYXRvclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBoNFwiPnt7ICdMYXlvdXQnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxsYWJlbCB0cmFuc2xhdGU+SWNvbjwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICAgICAgPGM4eS1pY29uLXNlbGVjdG9yLXdyYXBwZXIgbmFtZT1cImljb25cIiBmb3JtQ29udHJvbE5hbWU9XCJpY29uXCI+PC9jOHktaWNvbi1zZWxlY3Rvci13cmFwcGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ051bWJlciBvZiBkZWNpbWFsIHBsYWNlcycgfCB0cmFuc2xhdGVcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgTnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzXG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJudW1iZXJPZkRlY2ltYWxQbGFjZXNcIlxuICAgICAgICAgIG5hbWU9XCJudW1iZXJPZkRlY2ltYWxQbGFjZXNcIlxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAxIH1cIlxuICAgICAgICAvPlxuICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgW3Nob3ddPVwiXG4gICAgICAgICAgICBmb3JtR3JvdXAuY29udHJvbHM/Lm51bWJlck9mRGVjaW1hbFBsYWNlcz8udG91Y2hlZCAmJlxuICAgICAgICAgICAgZm9ybUdyb3VwPy5jb250cm9scz8ubnVtYmVyT2ZEZWNpbWFsUGxhY2VzPy5lcnJvcnNcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsPnt7ICdEaXNwbGF5JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTE2IGZsZXgtd3JhcFwiPlxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ1Nob3cgdGltZXN0YW1wJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwiYzh5LWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJzaG93VGltZXN0YW1wXCIgbmFtZT1cInNob3dUaW1lc3RhbXBcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IHRpbWVzdGFtcDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cblxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ1Nob3cgaWNvbicgfCB0cmFuc2xhdGVcIiBjbGFzcz1cImM4eS1jaGVja2JveFwiPlxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwic2hvd0ljb25cIiBuYW1lPVwic2hvd0ljb25cIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IGljb248L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG5cbiAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8bGFiZWwgW3RpdGxlXT1cIidTaG93IHRyZW5kIGljb24nIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJjOHktY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cInNob3dUcmVuZFwiIG5hbWU9XCJzaG93VHJlbmRcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IHRyZW5kIGljb248L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1oZWxwIGJ0bi1oZWxwLS1zbVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIHBvcG92ZXI9XCJ7e1xuICAgICAgICAgICAgICAgICAgJ0luZGljYXRlcyB0aGUgdHJlbmQgYmV0d2VlbiB0aGUgbGFzdCB0d28gbWVhc3VyZW1lbnQgdmFsdWVzLicgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICA8bGFiZWwgW3RpdGxlXT1cIidGb250IHNpemUgb2YgbWVhc3VyZW1lbnQgdmFsdWUgKHB4KScgfCB0cmFuc2xhdGVcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBGb250IHNpemUgb2YgbWVhc3VyZW1lbnQgdmFsdWUgKHB4KVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmb250U2l6ZVwiXG4gICAgICAgICAgICBuYW1lPVwiZm9udFNpemVcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGU6IHsgZXhhbXBsZTogMzYgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHM/LmZvbnRTaXplPy50b3VjaGVkICYmIGZvcm1Hcm91cD8uY29udHJvbHM/LmZvbnRTaXplPy5lcnJvcnNcIlxuICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3BpLXdpZGdldC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMva3BpL2twaS13aWRnZXQtY29uZmlnL2twaS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2twaS9rcGktd2lkZ2V0LWNvbmZpZy9rcGktd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxNQUFNLEVBR04sVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBR0wsdUJBQXVCLEVBRXhCLE1BQU0sd0NBQXdDLENBQUM7QUFHaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQUV0RCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELE1BQU0sVUFBVSxHQUFpQixPQUFPLENBQUMsS0FBSyxDQUFDO1FBRS9DLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENB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QUFFO2dCQUNGO29CQUNFLFVBQVUsQ0FBQyxRQUFRO29CQUNuQixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO29CQUN2QyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2lCQUN4QzthQUNGO1lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUU7Z0JBQzVELFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsNkJBQTZCLEVBQUU7YUFDaEMsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7OEdBMUVVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLCtHQ2hEckMsbXJIQWlHQSwyQ0RwRFksVUFBVSw2MERBQUUsdUJBQXVCLHFUQUFFLGtCQUFrQixpTkFBRSxhQUFhLG9WQUNqRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7MkZBRXhELHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FFckIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLGFBQWEsQ0FBQyxpQkFDbEUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7eUlBRzFELE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sQ29udGFpbmVyLFxuICBGb3JtQnVpbGRlcixcbiAgTmdGb3JtLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbiAgVmFsaWRhdG9yc1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlLCBPbkJlZm9yZVNhdmUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ0NvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvY29udGV4dC1kYXNoYm9hcmQnO1xuaW1wb3J0IHtcbiAgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zLFxuICBEYXRhcG9pbnRTZWxlY3Rvck1vZHVsZSxcbiAgS1BJRGV0YWlsc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBLcGlXaWRnZXRDb25maWcgfSBmcm9tICcuLi9rcGktd2lkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IEljb25TZWxlY3Rvck1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvaWNvbi1zZWxlY3Rvcic7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4YWN0bHlBU2luZ2xlRGF0YXBvaW50QWN0aXZlKCk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgZGF0YXBvaW50czogS1BJRGV0YWlsc1tdID0gY29udHJvbC52YWx1ZTtcblxuICAgIGlmICghZGF0YXBvaW50cyB8fCAhZGF0YXBvaW50cy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGFjdGl2ZURhdGFwb2ludHMgPSBkYXRhcG9pbnRzLmZpbHRlcihkYXRhcG9pbnQgPT4gZGF0YXBvaW50Ll9fYWN0aXZlKTtcblxuICAgIGlmIChhY3RpdmVEYXRhcG9pbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZXhhY3RseU9uZURhdGFwb2ludE5lZWRzVG9CZUFjdGl2ZTogdHJ1ZSB9O1xuICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHkta3BpLXdpZGdldC1jb25maWcnLFxuICB0ZW1wbGF0ZVVybDogJy4va3BpLXdpZGdldC1jb25maWcuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGUsIEljb25TZWxlY3Rvck1vZHVsZSwgUG9wb3Zlck1vZHVsZV0sXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV1cbn0pXG5leHBvcnQgY2xhc3MgS3BpV2lkZ2V0Q29uZmlnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkJlZm9yZVNhdmUge1xuICBASW5wdXQoKSBjb25maWc6IEtwaVdpZGdldENvbmZpZztcbiAgZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnOiBQYXJ0aWFsPERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zPiA9IHt9O1xuICBkZWZhdWx0Rm9ybU9wdGlvbnM6IFBhcnRpYWw8RGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWc+ID0ge1xuICAgIHNob3dSZWRSYW5nZTogdHJ1ZSxcbiAgICBzaG93WWVsbG93UmFuZ2U6IHRydWVcbiAgfTtcbiAgZm9ybUdyb3VwOiBSZXR1cm5UeXBlPEtwaVdpZGdldENvbmZpZ0NvbXBvbmVudFsnY3JlYXRlRm9ybSddPjtcbiAgYXZhaWxhYmxlSWNvbnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIGZvbnRTaXplTWF4OiA3MixcbiAgICBmb250U2l6ZU1pbjogMTgsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWF4OiAxMCxcbiAgICBudW1iZXJPZkRlY2ltYWxQbGFjZXNNaW46IDBcbiAgfSBhcyBjb25zdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGZvcm06IE5nRm9ybSxcbiAgICBwcml2YXRlIHdpZGdldENvbmZpZzogV2lkZ2V0Q29uZmlnQ29tcG9uZW50XG4gICkge31cblxuICBvbkJlZm9yZVNhdmUoY29uZmlnPzogS3BpV2lkZ2V0Q29uZmlnKTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud2lkZ2V0Q29uZmlnLmNvbnRleHQ/LmlkKSB7XG4gICAgICB0aGlzLmRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZy5jb250ZXh0QXNzZXQgPSB0aGlzLndpZGdldENvbmZpZz8uY29udGV4dDtcbiAgICB9XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIGlmICh0aGlzLmNvbmZpZz8uZGF0YXBvaW50cykge1xuICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7IGRhdGFwb2ludHM6IHRoaXMuY29uZmlnLmRhdGFwb2ludHMgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuZm9ybS5mb3JtLmFkZENvbnRyb2woJ2NvbmZpZycsIHRoaXMuZm9ybUdyb3VwKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBudW1iZXJPZkRlY2ltYWxQbGFjZXM6IFtcbiAgICAgICAgMixcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMubnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluKSxcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgIF1cbiAgICAgIF0sXG4gICAgICBzaG93VGltZXN0YW1wOiBbdHJ1ZSwgW11dLFxuICAgICAgc2hvd1RyZW5kOiBbdHJ1ZSwgW11dLFxuICAgICAgc2hvd0ljb246IFt0cnVlLCBbXV0sXG4gICAgICBpY29uOiBbJ3dhdGVyJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpXV0sXG4gICAgICBmb250U2l6ZTogW1xuICAgICAgICAzNixcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMuZm9udFNpemVNaW4pLFxuICAgICAgICAgIFZhbGlkYXRvcnMubWF4KHRoaXMubGltaXRzLmZvbnRTaXplTWF4KVxuICAgICAgICBdXG4gICAgICBdLFxuICAgICAgZGF0YXBvaW50czogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG5ldyBBcnJheTxLUElEZXRhaWxzPigpLCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpLFxuICAgICAgICBleGFjdGx5QVNpbmdsZURhdGFwb2ludEFjdGl2ZSgpXG4gICAgICBdKVxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicC1sLTI0IHAtci0yNFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwicm93IG5vLWNhcmQtY29udGV4dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBiZy1sZXZlbC0wXCI+XG4gICAgICA8Yzh5LWRhdGFwb2ludC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICBbZGVmYXVsdEZvcm1PcHRpb25zXT1cImRlZmF1bHRGb3JtT3B0aW9uc1wiXG4gICAgICAgIFtjb25maWddPVwiZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnXCJcbiAgICAgICAgW21pbkFjdGl2ZUNvdW50XT1cIjFcIlxuICAgICAgICBbbWF4QWN0aXZlQ291bnRdPVwiMVwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGFwb2ludHNcIlxuICAgICAgICBuYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgIGNsYXNzPVwiYmctaW5oZXJpdFwiXG4gICAgICA+PC9jOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHNlcGFyYXRvclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBoNFwiPnt7ICdMYXlvdXQnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxsYWJlbCB0cmFuc2xhdGU+SWNvbjwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXJcIj5cbiAgICAgICAgPGM4eS1pY29uLXNlbGVjdG9yLXdyYXBwZXIgbmFtZT1cImljb25cIiBmb3JtQ29udHJvbE5hbWU9XCJpY29uXCI+PC9jOHktaWNvbi1zZWxlY3Rvci13cmFwcGVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ051bWJlciBvZiBkZWNpbWFsIHBsYWNlcycgfCB0cmFuc2xhdGVcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgTnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzXG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJudW1iZXJPZkRlY2ltYWxQbGFjZXNcIlxuICAgICAgICAgIG5hbWU9XCJudW1iZXJPZkRlY2ltYWxQbGFjZXNcIlxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAxIH1cIlxuICAgICAgICAvPlxuICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgW3Nob3ddPVwiXG4gICAgICAgICAgICBmb3JtR3JvdXAuY29udHJvbHM/Lm51bWJlck9mRGVjaW1hbFBsYWNlcz8udG91Y2hlZCAmJlxuICAgICAgICAgICAgZm9ybUdyb3VwPy5jb250cm9scz8ubnVtYmVyT2ZEZWNpbWFsUGxhY2VzPy5lcnJvcnNcbiAgICAgICAgICBcIlxuICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsPnt7ICdEaXNwbGF5JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTE2IGZsZXgtd3JhcFwiPlxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ1Nob3cgdGltZXN0YW1wJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwiYzh5LWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBmb3JtQ29udHJvbE5hbWU9XCJzaG93VGltZXN0YW1wXCIgbmFtZT1cInNob3dUaW1lc3RhbXBcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IHRpbWVzdGFtcDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cblxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDxsYWJlbCBbdGl0bGVdPVwiJ1Nob3cgaWNvbicgfCB0cmFuc2xhdGVcIiBjbGFzcz1cImM4eS1jaGVja2JveFwiPlxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgZm9ybUNvbnRyb2xOYW1lPVwic2hvd0ljb25cIiBuYW1lPVwic2hvd0ljb25cIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IGljb248L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG5cbiAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8bGFiZWwgW3RpdGxlXT1cIidTaG93IHRyZW5kIGljb24nIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJjOHktY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cInNob3dUcmVuZFwiIG5hbWU9XCJzaG93VHJlbmRcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5TaG93IHRyZW5kIGljb248L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1oZWxwIGJ0bi1oZWxwLS1zbVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIHBvcG92ZXI9XCJ7e1xuICAgICAgICAgICAgICAgICAgJ0luZGljYXRlcyB0aGUgdHJlbmQgYmV0d2VlbiB0aGUgbGFzdCB0d28gbWVhc3VyZW1lbnQgdmFsdWVzLicgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICA8bGFiZWwgW3RpdGxlXT1cIidGb250IHNpemUgb2YgbWVhc3VyZW1lbnQgdmFsdWUgKHB4KScgfCB0cmFuc2xhdGVcIiB0cmFuc2xhdGU+XG4gICAgICAgICAgICBGb250IHNpemUgb2YgbWVhc3VyZW1lbnQgdmFsdWUgKHB4KVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmb250U2l6ZVwiXG4gICAgICAgICAgICBuYW1lPVwiZm9udFNpemVcIlxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGU6IHsgZXhhbXBsZTogMzYgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHM/LmZvbnRTaXplPy50b3VjaGVkICYmIGZvcm1Hcm91cD8uY29udHJvbHM/LmZvbnRTaXplPy5lcnJvcnNcIlxuICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
@@ -52,7 +52,7 @@ export class LinearGaugeWidgetConfigComponent {
52
52
  createForm() {
53
53
  return this.formBuilder.group({
54
54
  fractionSize: [
55
- 1,
55
+ 2,
56
56
  [
57
57
  Validators.required,
58
58
  Validators.min(this.limits.numberOfDecimalPlacesMin),
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
71
71
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i1.NgForm }, { type: i2.WidgetConfigComponent }], propDecorators: { config: [{
72
72
  type: Input
73
73
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZWFyLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvbGluZWFyLWdhdWdlL2xpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnL2xpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2xpbmVhci1nYXVnZS9saW5lYXItZ2F1Z2Utd2lkZ2V0LWNvbmZpZy9saW5lYXItZ2F1Z2Utd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU10RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7QUFRakYsTUFBTSxPQUFPLGdDQUFnQztJQWtCM0MsWUFDVSxXQUF3QixFQUN4QixJQUFZLEVBQ1osWUFBbUM7UUFGbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQWY3Qyw2QkFBd0IsR0FBMkMsRUFBRSxDQUFDO1FBQ3RFLHVCQUFrQixHQUEyQztZQUMzRCxZQUFZLEVBQUUsSUFBSTtZQUNsQixlQUFlLEVBQUUsSUFBSTtZQUNyQixTQUFTLEVBQUUsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFDTSxXQUFNLEdBQUc7WUFDZix3QkFBd0IsRUFBRSxFQUFFO1lBQzVCLHdCQUF3QixFQUFFLENBQUM7U0FDbkIsQ0FBQztJQU1SLENBQUM7SUFFSixZQUFZLENBQ1YsTUFBbUQ7UUFFbkQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQztRQUMxRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksS0FBSyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDNUIsWUFBWSxFQUFFO2dCQUNaLENBQUM7Z0JBQ0Q7b0JBQ0UsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztvQkFDcEQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO2lCQUNyRDthQUNGO1lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FqRVUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0Msd0hDbEI3QyxvaENBa0NBLDJDRGxCWSx1QkFBdUIscVRBQUUsbUJBQW1CLDhtQ0FBRSxVQUFVOzsyRkFFdkQsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLGdDQUFnQyxjQUU5QixJQUFJLFdBQ1AsQ0FBQyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLENBQUM7eUlBRzFELE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIE5nRm9ybSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHtcbiAgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zLFxuICBLUElEZXRhaWxzXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50LXNlbGVjdG9yJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ0NvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvY29udGV4dC1kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgT25CZWZvcmVTYXZlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEYXRhcG9pbnRTZWxlY3Rvck1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50LXNlbGVjdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWxpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0RhdGFwb2ludFNlbGVjdG9yTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBDb3JlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBMaW5lYXJHYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25CZWZvcmVTYXZlIHtcbiAgQElucHV0KCkgY29uZmlnOiB7XG4gICAgZGF0YXBvaW50czogS1BJRGV0YWlsc1tdO1xuICAgIGZyYWN0aW9uU2l6ZTogbnVtYmVyO1xuICB9O1xuICBmb3JtR3JvdXA6IFJldHVyblR5cGU8TGluZWFyR2F1Z2VXaWRnZXRDb25maWdDb21wb25lbnRbJ2NyZWF0ZUZvcm0nXT47XG4gIGRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZzogUGFydGlhbDxEYXRhcG9pbnRTZWxlY3Rvck1vZGFsT3B0aW9ucz4gPSB7fTtcbiAgZGVmYXVsdEZvcm1PcHRpb25zOiBQYXJ0aWFsPERhdGFwb2ludEF0dHJpYnV0ZXNGb3JtQ29uZmlnPiA9IHtcbiAgICBzaG93UmVkUmFuZ2U6IHRydWUsXG4gICAgc2hvd1llbGxvd1JhbmdlOiB0cnVlLFxuICAgIHNob3dSYW5nZTogdHJ1ZSxcbiAgICBzaG93VGFyZ2V0OiB0cnVlXG4gIH07XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIG51bWJlck9mRGVjaW1hbFBsYWNlc01heDogMTAsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluOiAwXG4gIH0gYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm0sXG4gICAgcHJpdmF0ZSB3aWRnZXRDb25maWc6IFdpZGdldENvbmZpZ0NvbXBvbmVudFxuICApIHt9XG5cbiAgb25CZWZvcmVTYXZlKFxuICAgIGNvbmZpZz86IExpbmVhckdhdWdlV2lkZ2V0Q29uZmlnQ29tcG9uZW50Wydjb25maWcnXVxuICApOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB8IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgT2JqZWN0LmFzc2lnbihjb25maWcsIHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy53aWRnZXRDb25maWcuY29udGV4dD8uaWQpIHtcbiAgICAgIHRoaXMuZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnLmNvbnRleHRBc3NldCA9IHRoaXMud2lkZ2V0Q29uZmlnPy5jb250ZXh0O1xuICAgIH1cbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5kYXRhcG9pbnRzKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZGF0YXBvaW50czogdGhpcy5jb25maWcuZGF0YXBvaW50cyB9KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZz8uZnJhY3Rpb25TaXplID09PSAnbnVtYmVyJyAmJiAhTnVtYmVyLmlzTmFOKHRoaXMuY29uZmlnPy5mcmFjdGlvblNpemUpKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZnJhY3Rpb25TaXplOiB0aGlzLmNvbmZpZy5mcmFjdGlvblNpemUgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuZm9ybS5mb3JtLmFkZENvbnRyb2woJ2NvbmZpZycsIHRoaXMuZm9ybUdyb3VwKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBmcmFjdGlvblNpemU6IFtcbiAgICAgICAgMSxcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMubnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluKSxcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgIF1cbiAgICAgIF0sXG4gICAgICBkYXRhcG9pbnRzOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInAtbC0yNCBwLXItMjRcIj5cbiAgPGZvcm1cbiAgICBjbGFzcz1cIm5vLWNhcmQtY29udGV4dFwiXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgIDxjOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0XG4gICAgICAgICAgY2xhc3M9XCJiZy1pbmhlcml0IHAtdC04IGQtYmxvY2tcIlxuICAgICAgICAgIG5hbWU9XCJkYXRhcG9pbnRzXCJcbiAgICAgICAgICBbZGVmYXVsdEZvcm1PcHRpb25zXT1cImRlZmF1bHRGb3JtT3B0aW9uc1wiXG4gICAgICAgICAgW2NvbmZpZ109XCJkYXRhcG9pbnRTZWxlY3Rpb25Db25maWdcIlxuICAgICAgICAgIFttaW5BY3RpdmVDb3VudF09XCIxXCJcbiAgICAgICAgICBbbWF4QWN0aXZlQ291bnRdPVwiMVwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgID48L2M4eS1kYXRhcG9pbnQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cInAtdC04XCI+XG4gICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5EZWNpbWFsIHBsYWNlczwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBuYW1lPVwiZnJhY3Rpb25TaXplXCJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZnJhY3Rpb25TaXplXCJcbiAgICAgICAgICAgIHN0ZXA9XCIxXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxjOHktbWVzc2FnZXMgW3Nob3ddPVwiZm9ybUdyb3VwLmNvbnRyb2xzLmZyYWN0aW9uU2l6ZS5lcnJvcnNcIj48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZWFyLWdhdWdlLXdpZGdldC1jb25maWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vd2lkZ2V0cy9pbXBsZW1lbnRhdGlvbnMvbGluZWFyLWdhdWdlL2xpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnL2xpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3dpZGdldHMvaW1wbGVtZW50YXRpb25zL2xpbmVhci1nYXVnZS9saW5lYXItZ2F1Z2Utd2lkZ2V0LWNvbmZpZy9saW5lYXItZ2F1Z2Utd2lkZ2V0LWNvbmZpZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU10RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7QUFRakYsTUFBTSxPQUFPLGdDQUFnQztJQWtCM0MsWUFDVSxXQUF3QixFQUN4QixJQUFZLEVBQ1osWUFBbUM7UUFGbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQWY3Qyw2QkFBd0IsR0FBMkMsRUFBRSxDQUFDO1FBQ3RFLHVCQUFrQixHQUEyQztZQUMzRCxZQUFZLEVBQUUsSUFBSTtZQUNsQixlQUFlLEVBQUUsSUFBSTtZQUNyQixTQUFTLEVBQUUsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFDTSxXQUFNLEdBQUc7WUFDZix3QkFBd0IsRUFBRSxFQUFFO1lBQzVCLHdCQUF3QixFQUFFLENBQUM7U0FDbkIsQ0FBQztJQU1SLENBQUM7SUFFSixZQUFZLENBQ1YsTUFBbUQ7UUFFbkQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQztRQUMxRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksS0FBSyxRQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDNUIsWUFBWSxFQUFFO2dCQUNaLENBQUM7Z0JBQ0Q7b0JBQ0UsVUFBVSxDQUFDLFFBQVE7b0JBQ25CLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztvQkFDcEQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDO2lCQUNyRDthQUNGO1lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFjLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FqRVUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0Msd0hDbEI3QyxvaENBa0NBLDJDRGxCWSx1QkFBdUIscVRBQUUsbUJBQW1CLDhtQ0FBRSxVQUFVOzsyRkFFdkQsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLGdDQUFnQyxjQUU5QixJQUFJLFdBQ1AsQ0FBQyx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLENBQUM7eUlBRzFELE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIE5nRm9ybSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHtcbiAgRGF0YXBvaW50QXR0cmlidXRlc0Zvcm1Db25maWcsXG4gIERhdGFwb2ludFNlbGVjdG9yTW9kYWxPcHRpb25zLFxuICBLUElEZXRhaWxzXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50LXNlbGVjdG9yJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ0NvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvY29udGV4dC1kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSwgT25CZWZvcmVTYXZlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEYXRhcG9pbnRTZWxlY3Rvck1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50LXNlbGVjdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWxpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmVhci1nYXVnZS13aWRnZXQtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0RhdGFwb2ludFNlbGVjdG9yTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBDb3JlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBMaW5lYXJHYXVnZVdpZGdldENvbmZpZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25CZWZvcmVTYXZlIHtcbiAgQElucHV0KCkgY29uZmlnOiB7XG4gICAgZGF0YXBvaW50czogS1BJRGV0YWlsc1tdO1xuICAgIGZyYWN0aW9uU2l6ZTogbnVtYmVyO1xuICB9O1xuICBmb3JtR3JvdXA6IFJldHVyblR5cGU8TGluZWFyR2F1Z2VXaWRnZXRDb25maWdDb21wb25lbnRbJ2NyZWF0ZUZvcm0nXT47XG4gIGRhdGFwb2ludFNlbGVjdGlvbkNvbmZpZzogUGFydGlhbDxEYXRhcG9pbnRTZWxlY3Rvck1vZGFsT3B0aW9ucz4gPSB7fTtcbiAgZGVmYXVsdEZvcm1PcHRpb25zOiBQYXJ0aWFsPERhdGFwb2ludEF0dHJpYnV0ZXNGb3JtQ29uZmlnPiA9IHtcbiAgICBzaG93UmVkUmFuZ2U6IHRydWUsXG4gICAgc2hvd1llbGxvd1JhbmdlOiB0cnVlLFxuICAgIHNob3dSYW5nZTogdHJ1ZSxcbiAgICBzaG93VGFyZ2V0OiB0cnVlXG4gIH07XG4gIHByaXZhdGUgbGltaXRzID0ge1xuICAgIG51bWJlck9mRGVjaW1hbFBsYWNlc01heDogMTAsXG4gICAgbnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluOiAwXG4gIH0gYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb3JtOiBOZ0Zvcm0sXG4gICAgcHJpdmF0ZSB3aWRnZXRDb25maWc6IFdpZGdldENvbmZpZ0NvbXBvbmVudFxuICApIHt9XG5cbiAgb25CZWZvcmVTYXZlKFxuICAgIGNvbmZpZz86IExpbmVhckdhdWdlV2lkZ2V0Q29uZmlnQ29tcG9uZW50Wydjb25maWcnXVxuICApOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB8IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgT2JqZWN0LmFzc2lnbihjb25maWcsIHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy53aWRnZXRDb25maWcuY29udGV4dD8uaWQpIHtcbiAgICAgIHRoaXMuZGF0YXBvaW50U2VsZWN0aW9uQ29uZmlnLmNvbnRleHRBc3NldCA9IHRoaXMud2lkZ2V0Q29uZmlnPy5jb250ZXh0O1xuICAgIH1cbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5kYXRhcG9pbnRzKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZGF0YXBvaW50czogdGhpcy5jb25maWcuZGF0YXBvaW50cyB9KTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZz8uZnJhY3Rpb25TaXplID09PSAnbnVtYmVyJyAmJiAhTnVtYmVyLmlzTmFOKHRoaXMuY29uZmlnPy5mcmFjdGlvblNpemUpKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgZnJhY3Rpb25TaXplOiB0aGlzLmNvbmZpZy5mcmFjdGlvblNpemUgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuZm9ybS5mb3JtLmFkZENvbnRyb2woJ2NvbmZpZycsIHRoaXMuZm9ybUdyb3VwKTtcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBmcmFjdGlvblNpemU6IFtcbiAgICAgICAgMixcbiAgICAgICAgW1xuICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgVmFsaWRhdG9ycy5taW4odGhpcy5saW1pdHMubnVtYmVyT2ZEZWNpbWFsUGxhY2VzTWluKSxcbiAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLmxpbWl0cy5udW1iZXJPZkRlY2ltYWxQbGFjZXNNYXgpXG4gICAgICAgIF1cbiAgICAgIF0sXG4gICAgICBkYXRhcG9pbnRzOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobmV3IEFycmF5PEtQSURldGFpbHM+KCksIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInAtbC0yNCBwLXItMjRcIj5cbiAgPGZvcm1cbiAgICBjbGFzcz1cIm5vLWNhcmQtY29udGV4dFwiXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgIDxjOHktZGF0YXBvaW50LXNlbGVjdGlvbi1saXN0XG4gICAgICAgICAgY2xhc3M9XCJiZy1pbmhlcml0IHAtdC04IGQtYmxvY2tcIlxuICAgICAgICAgIG5hbWU9XCJkYXRhcG9pbnRzXCJcbiAgICAgICAgICBbZGVmYXVsdEZvcm1PcHRpb25zXT1cImRlZmF1bHRGb3JtT3B0aW9uc1wiXG4gICAgICAgICAgW2NvbmZpZ109XCJkYXRhcG9pbnRTZWxlY3Rpb25Db25maWdcIlxuICAgICAgICAgIFttaW5BY3RpdmVDb3VudF09XCIxXCJcbiAgICAgICAgICBbbWF4QWN0aXZlQ291bnRdPVwiMVwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0YXBvaW50c1wiXG4gICAgICAgID48L2M4eS1kYXRhcG9pbnQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cInAtdC04XCI+XG4gICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5EZWNpbWFsIHBsYWNlczwvbGFiZWw+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBuYW1lPVwiZnJhY3Rpb25TaXplXCJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZnJhY3Rpb25TaXplXCJcbiAgICAgICAgICAgIHN0ZXA9XCIxXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxjOHktbWVzc2FnZXMgW3Nob3ddPVwiZm9ybUdyb3VwLmNvbnRyb2xzLmZyYWN0aW9uU2l6ZS5lcnJvcnNcIj48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==