@c8y/ngx-components 1021.35.2 → 1021.37.5

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 (74) hide show
  1. package/alarms/alarms-view.service.d.ts.map +1 -1
  2. package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
  3. package/core/common/forOf.directive.d.ts.map +1 -1
  4. package/core/data-grid/data-grid.model.d.ts +2 -0
  5. package/core/data-grid/data-grid.model.d.ts.map +1 -1
  6. package/core/data-grid/data-grid.service.d.ts.map +1 -1
  7. package/core/file-picker/file-picker.component.d.ts +4 -2
  8. package/core/file-picker/file-picker.component.d.ts.map +1 -1
  9. package/core/forms/validation-pattern.d.ts +8 -0
  10. package/core/forms/validation-pattern.d.ts.map +1 -1
  11. package/device-profile/device-profile.component.d.ts +3 -1
  12. package/device-profile/device-profile.component.d.ts.map +1 -1
  13. package/device-profile/device-profile.service.d.ts +25 -0
  14. package/device-profile/device-profile.service.d.ts.map +1 -1
  15. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts +7 -10
  16. package/device-profile/device-tab-profile/device-tab-profile.component.d.ts.map +1 -1
  17. package/esm2022/alarms/alarms-view.service.mjs +3 -1
  18. package/esm2022/alarms/alarms.component.mjs +2 -2
  19. package/esm2022/assets-navigator/asset-selector/asset-selector.component.mjs +3 -3
  20. package/esm2022/context-dashboard/context-dashboard.component.mjs +8 -2
  21. package/esm2022/core/common/forOf.directive.mjs +5 -1
  22. package/esm2022/core/data-grid/data-grid.model.mjs +1 -1
  23. package/esm2022/core/data-grid/data-grid.service.mjs +5 -2
  24. package/esm2022/core/file-picker/file-picker.component.mjs +7 -5
  25. package/esm2022/core/forms/validation-pattern.mjs +9 -1
  26. package/esm2022/core/navigator/navigator-bottom/navigator-bottom.component.mjs +3 -3
  27. package/esm2022/device-profile/device-profile.component.mjs +14 -10
  28. package/esm2022/device-profile/device-profile.service.mjs +58 -2
  29. package/esm2022/device-profile/device-tab-profile/device-tab-profile.component.mjs +40 -34
  30. package/esm2022/operations/operations-list/operations-list-item.component.mjs +14 -6
  31. package/esm2022/operations/operations-list/operations-list.component.mjs +13 -5
  32. package/esm2022/repository/configuration/list/configuration-detail.component.mjs +5 -4
  33. package/esm2022/repository/firmware/list/add-firmware-modal.component.mjs +5 -4
  34. package/esm2022/repository/software/list/add-software-modal.component.mjs +5 -4
  35. package/fesm2022/c8y-ngx-components-alarms.mjs +3 -1
  36. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  37. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +2 -2
  38. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  39. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +6 -0
  40. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  41. package/fesm2022/c8y-ngx-components-device-profile.mjs +107 -43
  42. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  43. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +25 -9
  44. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  45. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +10 -9
  46. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  47. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +4 -3
  48. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  49. package/fesm2022/c8y-ngx-components-repository-software.mjs +4 -3
  50. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  51. package/fesm2022/c8y-ngx-components.mjs +88 -72
  52. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  53. package/locales/de.po +10 -4
  54. package/locales/es.po +10 -4
  55. package/locales/fr.po +10 -4
  56. package/locales/ja_JP.po +10 -5
  57. package/locales/ko.po +10 -5
  58. package/locales/locales.pot +8 -2
  59. package/locales/nl.po +10 -4
  60. package/locales/pl.po +10 -4
  61. package/locales/pt_BR.po +10 -4
  62. package/locales/zh_CN.po +10 -5
  63. package/locales/zh_TW.po +10 -5
  64. package/operations/operations-list/operations-list-item.component.d.ts +3 -1
  65. package/operations/operations-list/operations-list-item.component.d.ts.map +1 -1
  66. package/operations/operations-list/operations-list.component.d.ts +1 -0
  67. package/operations/operations-list/operations-list.component.d.ts.map +1 -1
  68. package/package.json +1 -1
  69. package/repository/configuration/list/configuration-detail.component.d.ts +2 -1
  70. package/repository/configuration/list/configuration-detail.component.d.ts.map +1 -1
  71. package/repository/firmware/list/add-firmware-modal.component.d.ts +2 -1
  72. package/repository/firmware/list/add-firmware-modal.component.d.ts.map +1 -1
  73. package/repository/software/list/add-software-modal.component.d.ts +2 -1
  74. package/repository/software/list/add-software-modal.component.d.ts.map +1 -1
@@ -28,4 +28,4 @@ export var BuiltInActionType;
28
28
  /** Export built-in action. */
29
29
  BuiltInActionType["Export"] = "EXPORT";
30
30
  })(BuiltInActionType || (BuiltInActionType = {}));
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kYXRhLWdyaWQvZGF0YS1ncmlkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBLQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFFekMsNENBQTRDO0FBQzVDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLDZDQUE2QztJQUM3QyxJQUFJLEVBQUUsQ0FBQztJQUVQLGdEQUFnRDtJQUNoRCxPQUFPLEVBQUUsQ0FBQztJQUVWLG1EQUFtRDtJQUNuRCxZQUFZLEVBQUUsSUFBSTtJQUVsQixrREFBa0Q7SUFDbEQsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQWFGLHlCQUF5QjtBQUN6QixNQUFNLENBQU4sSUFBWSxtQkFNWDtBQU5ELFdBQVksbUJBQW1CO0lBQzdCLDZEQUE2RDtJQUM3RCxtREFBNEIsQ0FBQTtJQUU1Qiw2REFBNkQ7SUFDN0QsbURBQTRCLENBQUE7QUFDOUIsQ0FBQyxFQU5XLG1CQUFtQixLQUFuQixtQkFBbUIsUUFNOUI7QUE2TkQsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBTixJQUFZLGlCQVNYO0FBVEQsV0FBWSxpQkFBaUI7SUFDM0IsNEJBQTRCO0lBQzVCLGtDQUFhLENBQUE7SUFFYiw4QkFBOEI7SUFDOUIsc0NBQWlCLENBQUE7SUFFakIsOEJBQThCO0lBQzlCLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFUVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBUzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV4dGVuc2lvbkZhY3RvcnkgfSBmcm9tICcuLi9jb21tb24vZXh0ZW5zaW9uLWhvb2tzJztcbmltcG9ydCB7IEdyaWRDb25maWdDb250ZXh0IH0gZnJvbSAnLi9kYXRhLWdyaWQtY29uZmlndXJhdGlvbi5tb2RlbCc7XG5cbi8qKiBEZXNjcmliZXMgdGhlIGludGVyZmFjZSBvZiB0aGUgZGF0YSBncmlkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhR3JpZCB7XG4gIC8qKiBUaGUgbGlzdCBvZiBjb2x1bW5zLiAqL1xuICBjb2x1bW5zOiBDb2x1bW5bXTtcblxuICAvKiogVGhlIGxpc3Qgb2YgaXRlbXMuICovXG4gIHJvd3M6IFJvd1tdO1xuXG4gIC8qKiBQYWdpbmF0aW9uIG9iamVjdC4gKi9cbiAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbjtcblxuICAvKiogQSBjYWxsYmFjayBmdW5jdGlvbiB0byBmZXRjaCBzZXJ2ZXIgZGF0YS4gKi9cbiAgc2VydmVyU2lkZURhdGFDYWxsYmFjazogU2VydmVyU2lkZURhdGFDYWxsYmFjaztcblxuICAvKiogV2hldGhlciBpdGVtcyBhcmUgc2VsZWN0YWJsZS4gKi9cbiAgc2VsZWN0YWJsZTogYm9vbGVhbjtcblxuICAvKiogVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5IHByb3BlcnR5LiAqL1xuICBzZWxlY3Rpb25QcmltYXJ5S2V5OiBzdHJpbmc7XG5cbiAgLyoqIERhdGEgZ3JpZCBkaXNwbGF5IG9wdGlvbnMuICovXG4gIGRpc3BsYXlPcHRpb25zOiBEaXNwbGF5T3B0aW9ucztcblxuICAvKiogSW5kaXZpZHVhbCBhY3Rpb24gY29udHJvbHMuICovXG4gIGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sW107XG5cbiAgLyoqIEJ1bGsgYWN0aW9uIGNvbnRyb2xzLiAqL1xuICBidWxrQWN0aW9uQ29udHJvbHM6IEJ1bGtBY3Rpb25Db250cm9sW107XG5cbiAgLyoqIEhlYWRlciBhY3Rpb24gY29udHJvbHMuICovXG4gIGhlYWRlckFjdGlvbkNvbnRyb2xzPzogSGVhZGVyQWN0aW9uQ29udHJvbFtdO1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBncmlkIGNvbHVtbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uIHtcbiAgLyoqIFRoZSBuYW1lIGZvciB0aGUgY29sdW1uLiAqL1xuICBuYW1lOiBzdHJpbmcgfCBTcGVjaWFsQ29sdW1uTmFtZTtcbiAgLyoqIFRoZSBjb2x1bW4ncyBoZWFkZXIgKGlmIG5vdCBnaXZlbiwgYG5hbWVgIGlzIHVzZWQgYnkgZGVmYXVsdCkuICovXG4gIGhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBwYXRoIGluIGEgcm93IGl0ZW0gdG8gcmVhZCB0aGUgY2VsbCB2YWx1ZSBmcm9tLiAqL1xuICBwYXRoPzogc3RyaW5nO1xuICAvKiogV2hldGhlciB0aGUgY29sdW1uIGlzIGRpc3BsYXllZC4gKi9cbiAgdmlzaWJsZT86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBjb2x1bW4gY2FuIGJlIG1vdmVkIHRvIGFub3RoZXIgcG9zaXRpb24uICovXG4gIHBvc2l0aW9uRml4ZWQ/OiBib29sZWFuO1xuICAvKiogTWFya3MgYSB1c2VyIGNvbmZpZ3VyZWQgY3VzdG9tIGNvbHVtbiAqL1xuICBjdXN0b20/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgY29sdW1uIGNhbiBiZSByZXNpemVkLiAqL1xuICByZXNpemFibGU/OiBib29sZWFuO1xuICAvKiogT3B0aW9uYWwgdHlwZSBvZiBkYXRhIGluIHRoZSBjb2x1bW4gKHVzZWQgdG8gc2V0IGRhdGEtdHlwZSBhdHRyaWJ1dGUsIGUuZy4gZm9yIGFkZGl0aW9uYWwgc3R5bGluZykuICovXG4gIGRhdGFUeXBlPzogQ29sdW1uRGF0YVR5cGU7XG4gIC8qKiBUaGUgY29sdW1uJ3Mgc2l6ZSwgZS5nLiBcIjQwIHB4XCIuICovXG4gIGdyaWRUcmFja1NpemU/OiBzdHJpbmc7XG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzc2VzIGZvciB0aGUgaGVhZGVyIGNlbGwuICovXG4gIGhlYWRlckNTU0NsYXNzTmFtZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKiogQWRkaXRpb25hbCBDU1MgY2xhc3NlcyBmb3IgZGF0YSBjZWxscy4gKi9cbiAgY2VsbENTU0NsYXNzTmFtZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb2x1bW4gaXMgc29ydGFibGUuICovXG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHNvcnQgb3JkZXIgaXMgYXNjZW5kaW5nLCBkZXNjZW5kaW5nIG9yIG5vdCBzcGVjaWZpZWQuICovXG4gIHNvcnRPcmRlcj86IFNvcnRPcmRlcjtcbiAgc29ydGluZ0NvbmZpZz86IENvbHVtblNvcnRpbmdDb25maWc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBmaWx0ZXJhYmxlLiAqL1xuICBmaWx0ZXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqIFRoZSBzdHJpbmcgdG8gc2VhcmNoIGZvciBvciBhIGZ1bmN0aW9uIGZvciBjbGllbnQtc2lkZSBmaWx0ZXJpbmcuICovXG4gIGZpbHRlclByZWRpY2F0ZT86IHN0cmluZyB8IEZpbHRlclByZWRpY2F0ZUZ1bmN0aW9uO1xuICAvKiogQ3VzdG9tIGZpbHRlcmluZyBmb3JtIHJlbmRlcmVyIGNhbiBzZXQgYW55IHZhbHVlIGhlcmUgYW5kIGl0IGNhbiBiZSB1c2VkIHRvIGJ1aWxkIGEgcXVlcnkgdG8gdGhlIHNlcnZlci4gKi9cbiAgZXh0ZXJuYWxGaWx0ZXJRdWVyeT86IGFueTtcbiAgZmlsdGVyaW5nQ29uZmlnPzogRm9ybWx5Q29sdW1uRmlsdGVyaW5nQ29uZmlnO1xuXG4gIC8qKiBDdXN0b20gZGF0YSBjZWxsIHJlbmRlcmVyIGNvbXBvbmVudC4gSW5qZWN0IGBDZWxsUmVuZGVyZXJDb250ZXh0YCB0byBnZXQgYWNjZXNzIHRvIGRhdGEgdmFsdWUsIGl0ZW0gYW5kIGNvbHVtbiBvYmplY3QuICovXG4gIGNlbGxSZW5kZXJlckNvbXBvbmVudD86IFR5cGU8YW55PjtcbiAgLyoqIEN1c3RvbSBoZWFkZXIgY2VsbCByZW5kZXJlciBjb21wb25lbnQuIEluamVjdCBgQ2VsbFJlbmRlcmVyQ29udGV4dGAgdG8gZ2V0IGFjY2VzcyB0byBoZWFkZXIgdmFsdWUgYW5kIGNvbHVtbiBvYmplY3QuICovXG4gIGhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudD86IFR5cGU8YW55PjtcbiAgLyoqIEN1c3RvbSBmaWx0ZXJpbmcgZm9ybSByZW5kZXJlciBjb21wb25lbnQuIEluamVjdCBgRmlsdGVyaW5nRm9ybVJlbmRlcmVyQ29udGV4dGAgdG8gZ2V0IGFjY2VzcyB0byBjb2x1bW4gb2JqZWN0IGFuZCBtZXRob2RzOiBhcHBseUZpbHRlciwgcmVzZXRGaWx0ZXIuICovXG4gIGZpbHRlcmluZ0Zvcm1SZW5kZXJlckNvbXBvbmVudD86IFR5cGU8YW55Pjtcbn1cblxuLyoqIERlc2NyaWJlcyBhIGNvbHVtbiBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Db25maWcge1xuICAvKiogVGhlIG5hbWUgZm9yIHRoZSBjb2x1bW4uICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBkaXNwbGF5ZWQuICovXG4gIHZpc2libGU/OiBib29sZWFuO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBzb3J0IG9yZGVyIGlzIGFzY2VuZGluZywgZGVzY2VuZGluZyBvciBub3Qgc3BlY2lmaWVkLiAqL1xuICBzb3J0T3JkZXI/OiBTb3J0T3JkZXI7XG5cbiAgLyoqIFRoZSBzZXR0aW5ncyBvZiBmaWx0ZXIgaW4gYSBjb2x1bW4uICovXG4gIGZpbHRlcj86IEZpbHRlcjtcbn1cblxuLyoqIERlc2NyaWJlcyBhIGN1c3RvbSBjb2x1bW4gY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29sdW1uQ29uZmlnIGV4dGVuZHMgQ29sdW1uQ29uZmlnIHtcbiAgLyoqIEpTT04gcGF0aCB0byB0aGUgbWFuYWdlZCBvYmplY3QgcHJvcGVydHkgdG8gYmUgZGlzcGxheWVkICovXG4gIHBhdGg6IHN0cmluZztcblxuICAvKiogQ29sdW1uIGhlYWRlciB0aXRsZSAqL1xuICBoZWFkZXI6IHN0cmluZztcblxuICAvKiogRmxhZyB0byBpZGVudGlmeSBjdXN0b20gY29sdW1ucyAqL1xuICBjdXN0b206IGJvb2xlYW47XG59XG5cbi8qKiBEZXNjcmliZXMgdGhlIHNldHRpbmdzIG9mIGZpbHRlciBpbiBhIGNvbHVtbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgLyoqIEN1c3RvbSBmaWx0ZXJpbmcgZm9ybSByZW5kZXJlciBjYW4gc2V0IGFueSB2YWx1ZSBoZXJlIGFuZCBpdCBjYW4gYmUgdXNlZCB0byBidWlsZCBhIHF1ZXJ5IHRvIHRoZSBzZXJ2ZXIuICovXG4gIGV4dGVybmFsRmlsdGVyUXVlcnk/OiBhbnk7XG59XG5cbi8qKiBEZXNjcmliZXMgYW4gb2JqZWN0IHdpdGggZGF0YSBncmlkIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRDb25maWcge1xuICAvKiogVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0cyBmb3IgYWxsIHRoZSBjb2x1bW5zLiAqL1xuICBjb2x1bW5zOiBDb2x1bW5Db25maWdbXTtcblxuICAvKiogUGFnaW5hdGlvbiBvYmplY3QuICovXG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb247XG59XG5cbi8qKiAgKi9cbmV4cG9ydCBjb25zdCBlbnVtIFNwZWNpYWxDb2x1bW5OYW1lIHtcbiAgLyoqIENvbHVtbiB3aXRoIGNoZWNrYm94LiAqL1xuICBDaGVja2JveCA9ICdjaGVja2JveCcsXG5cbiAgLyoqIENvbHVtbiB3aXRoIHJhZGlvIGJ1dHRvbi4gKi9cbiAgUmFkaW9CdXR0b24gPSAncmFkaW8tYnV0dG9uJyxcblxuICAvKiogQ29sdW1uIHdpdGggcm93IGFjdGlvbnMuICovXG4gIEFjdGlvbnMgPSAnYWN0aW9ucydcbn1cblxuLyoqICAqL1xuZXhwb3J0IGNvbnN0IGVudW0gQ29sdW1uRGF0YVR5cGUge1xuICAvKiogQ29sdW1uIHdpdGggaWNvbi4gKi9cbiAgSWNvbiA9ICdpY29uJyxcblxuICAvKiogTnVtZXJpYyBjb2x1bW4uICovXG4gIE51bWVyaWMgPSAnbnVtZXJpYycsXG5cbiAgLyoqIENvbHVtbiB3aXRoIHNob3J0IHRleHQuICovXG4gIFRleHRTaG9ydCA9ICd0ZXh0LXNob3J0JyxcblxuICAvKiogQ29sdW1uIHdpdGggbG9uZyB0ZXh0LiAqL1xuICBUZXh0TG9uZyA9ICd0ZXh0LWxvbmcnXG59XG5cbi8qKiBDbGFzc2VzIGZvciBjb2x1bW4gZGF0YSByZWNvcmQuICovXG5leHBvcnQgY29uc3QgZW51bSBDb2x1bW5EYXRhUmVjb3JkQ2xhc3NOYW1lIHtcbiAgLyoqIEFuIGljb24uICovXG4gIEljb24gPSAnZGF0YS1yZWNvcmQtaWNvbicsXG5cbiAgLyoqIEEgaGVhZGVyLiAqL1xuICBIZWFkZXIgPSAnZGF0YS1yZWNvcmQtaGVhZGVyJyxcblxuICAvKiogRGVmYXVsdCAtIGVtcHR5LiAqL1xuICBEZWZhdWx0ID0gJydcbn1cblxuZXhwb3J0IGNvbnN0IG1pbkNvbHVtbkdyaWRUcmFja1NpemUgPSA4MDtcblxuLyoqIE1hcHMgY29sdW1uIHR5cGVzIHRvIHJlbGF0aXZlIHdpZHRocy4gKi9cbmV4cG9ydCBjb25zdCByYXRpb3NCeUNvbHVtblR5cGVzID0ge1xuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3IgaWNvbiBjb2x1bW4gdHlwZS4gKi9cbiAgaWNvbjogMSxcblxuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3IgbnVtZXJpYyBjb2x1bW4gdHlwZS4gKi9cbiAgbnVtZXJpYzogMSxcblxuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3Igc2hvcnQgdGV4dCBjb2x1bW4gdHlwZS4gKi9cbiAgJ3RleHQtc2hvcnQnOiAxLjY3LFxuXG4gIC8qKiBUaGUgd2lkdGggcmF0aW9uIGZvciBsb25nIHRleHQgY29sdW1uIHR5cGUuICovXG4gICd0ZXh0LWxvbmcnOiAzLjMzXG59O1xuXG4vKiogU29ydGluZyBvcmRlcjogYXNjZW5kaW5nLCBkZXNjZW5kaW5nLCBvciBub3Qgc3BlY2lmaWVkLiAqL1xuZXhwb3J0IHR5cGUgU29ydE9yZGVyID0gJ2FzYycgfCAnZGVzYycgfCAnJztcblxuLyoqXG4gKiBBIGZpbHRlciBwcmVkaWNhdGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gaXRlbSBUaGUgY3VycmVudCBpdGVtIHRvIGJlIGNoZWNrZWQuXG4gKiBAcGFyYW0gcGF0aCBUaGUgcHJvcGVydHkgcGF0aCBjb25maWd1cmVkIGluIHRoZSBjdXJyZW50IGNvbHVtbi5cbiAqIEByZXR1cm5zIFRoZSBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0aGUgaXRlbSBtYXRjaGVzIGEgY29uZGl0aW9uIG9yIG5vdC5cbiAqL1xuZXhwb3J0IHR5cGUgRmlsdGVyUHJlZGljYXRlRnVuY3Rpb24gPSAoaXRlbTogb2JqZWN0LCBwYXRoOiBzdHJpbmcpID0+IGJvb2xlYW47XG5cbi8qKiBGaWx0ZXJpbmcgYWN0aW9ucy4gKi9cbmV4cG9ydCBlbnVtIEZpbHRlcmluZ0FjdGlvblR5cGUge1xuICAvKiogQWN0aW9uIGludm9rZWQgd2hlbiBmaWx0ZXIgc2V0dGluZ3MgYXJlIHRvIGJlIGFwcGxpZWQuICovXG4gIEFwcGx5RmlsdGVyID0gJ0FQUExZX0ZJTFRFUicsXG5cbiAgLyoqIEFjdGlvbiBpbnZva2VkIHdoZW4gZmlsdGVyIHNldHRpbmdzIGFyZSB0byBiZSBjbGVhcmVkLiAqL1xuICBSZXNldEZpbHRlciA9ICdSRVNFVF9GSUxURVInXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5Q29sdW1uRmlsdGVyaW5nQ29uZmlnIHtcbiAgLyoqIERlZmluZXMgYSBGaWVsZENvbmZpZyBjb25maWd1cmF0aW9uIGZvciBGb3JtbHkuICAqL1xuICBmaWVsZHM/OiBGb3JtbHlGaWVsZENvbmZpZ1tdO1xuICAvKiogRGVmaW5lcyBhIEpTT04gc2NoZW1hIGZvciBmaWx0ZXJpbmcgY29uZmlnIG1vZGVsLiBDYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIGBmaWVsZHNgICovXG4gIHNjaGVtYT86IG9iamVjdDtcbiAgLyoqIERlZmluZXMgYSBtb2RlbCB0aGF0IHdpbGwgYmUgYXBwbGllZCB0byByZW5kZXJlZCBmb3JtLiAqL1xuICBtb2RlbD86IG9iamVjdDtcbiAgLyoqIERlZmluZXMgRm9ybUdyb3VwIGluc3RhbmNlICovXG4gIGZvcm1Hcm91cD86IEZvcm1Hcm91cDtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgYSBmaWx0ZXJpbmcgY29uZmlnIG1vZGVsIHRvIGFuIGFycmF5IG9mIHBhcnRpYWwgZmlsdGVyIGNoaXAgb2JqZWN0cy5cbiAgICogQHBhcmFtIG1vZGVsIEFuIG9iamVjdCB3aXRoIGRlZmluZWQgc3RydWN0dXJlIChlLmcuIGJ5IHNjaGVtYSkuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBhcnRpYWwgZmlsdGVyIGNoaXAgb2JqZWN0cywgZWFjaCBjb250YWluaW5nIGF0IGxlYXN0IGBkaXNwbGF5VmFsdWVgIGFuZCB0aGUgYWN0dWFsIGB2YWx1ZWAgdG8gYmUgdXBkYXRlZC5cbiAgICogT3B0aW9uYWxseSwgb3RoZXIgcHJvcGVydGllcyBmcm9tIGBGaWx0ZXJDaGlwYCBhcmUgYWxsb3dlZCwgZm9yIGV4YW1wbGUsIGEgY3VzdG9tIGByZW1vdmVgIGNhbGxiYWNrIHRvIGJlIGV4ZWN1dGVkIHdoZW4gYSBjaGlwIGlzIGJlaW5nIHJlbW92ZWQuXG4gICAqL1xuICBnZW5lcmF0ZUNoaXBzPzogKG1vZGVsOiBhbnkpID0+IFBhcnRpYWxGaWx0ZXJDaGlwR2VuZXJhdGlvblR5cGVbXTtcbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgYSBmaWx0ZXJpbmcgY29uZmlnIG1vZGVsIChlLmcuIGNvbWluZyBmcm9tIHNjaGVtYSBmb3JtIGNvbXBvbmVudCkgdG8gYSBxdWVyeSBvYmplY3QuXG4gICAqIEhvd2V2ZXIsIHVzaW5nIHNjaGVtYSBmb3JtIGNvbXBvbmVudCBpcyBub3QgbmVjZXNzYXJ5LlxuICAgKiBNb2RlbCBjYW4gYmUgZGVmaW5lZCBhcmJpdHJhcmlseSBidXQgbXVzdCBjb252ZXJ0ZWQgdG8gYSB2YWxpZCBxdWVyeSBvYmplY3QuXG4gICAqIEBwYXJhbSBtb2RlbCBBbiBvYmplY3Qgd2l0aCBkZWZpbmVkIHN0cnVjdHVyZSAoZS5nLiBieSBzY2hlbWEpLlxuICAgKiBAcmV0dXJucyBBIHF1ZXJ5IG9iamVjdCB0byBiZSB1c2VkIHRvIGdlbmVyYXRlIGEgcXVlcnkgc3RyaW5nIChRdWVyeVV0aWxzKS5cbiAgICovXG4gIGdldEZpbHRlcjogKG1vZGVsOiBhbnkpID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Tb3J0aW5nQ29uZmlnIHtcbiAgcGF0aFNvcnRpbmdDb25maWdzOiBQYXRoU29ydGluZ0NvbmZpZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdGhTb3J0aW5nQ29uZmlnIHtcbiAgcGF0aDogc3RyaW5nO1xuICBzb3J0T3JkZXJNb2RpZmllcj86IFNvcnRPcmRlck1vZGlmaWVyO1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBTb3J0T3JkZXJNb2RpZmllciB7XG4gIEtlZXAsXG4gIEludmVydFxufVxuXG4vKiogRGVzY3JpYmVzIGFuIGl0ZW0gaW4gdGhlIHJvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm93IHtcbiAgLyoqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbS4gKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKiogQW55IGl0ZW0gcHJvcGVydHkuICovXG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuLyoqIERlc2NyaWJlcyBhIHBhZ2luYXRpb24gb2JqZWN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uIHtcbiAgLyoqIFRoZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgcGFnZS4gKi9cbiAgY3VycmVudFBhZ2U/OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgdGhlIG5leHQgcGFnZS4gKi9cbiAgbmV4dFBhZ2U/OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgb24gYSBzaW5nbGUgcGFnZS4gKi9cbiAgcGFnZVNpemU6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGZldGNoIHNlcnZlciBkYXRhLlxuICogQHBhcmFtIGRhdGFTb3VyY2VNb2RpZmllciBUaGUgY3VycmVudCBkYXRhIHNvdXJjZSBtb2RpZmllci5cbiAqIEByZXR1cm5zIFJldHVybnMgdGhlIHJlc3VsdCBmcm9tIHNlcnZlci5cbiAqL1xuZXhwb3J0IHR5cGUgU2VydmVyU2lkZURhdGFDYWxsYmFjayA9IChcbiAgZGF0YVNvdXJjZU1vZGlmaWVyOiBEYXRhU291cmNlTW9kaWZpZXJcbikgPT4gU2VydmVyU2lkZURhdGFSZXN1bHQgfCBQcm9taXNlPFNlcnZlclNpZGVEYXRhUmVzdWx0PiB8IE9ic2VydmFibGU8U2VydmVyU2lkZURhdGFSZXN1bHQ+O1xuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBzb3VyY2UgbW9kaWZpZXIgZm9yIHJlcXVlc3Rpbmcgc2VydmVyIGRhdGEuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2VNb2RpZmllciB7XG4gIC8qKiBUaGUgbGlzdCBvZiBjb2x1bW5zLiAqL1xuICBjb2x1bW5zOiBDb2x1bW5bXTtcblxuICAvKiogVGV4dCB0byBzZWFyY2guICovXG4gIHNlYXJjaFRleHQ6IHN0cmluZztcblxuICAvKiogUGFnaW5hdGlvbiBvYmplY3QuICovXG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb247XG5cbiAgLyoqIFNlbGVjdGlvbiBpbmZvIG9iamVjdC4gKi9cbiAgc2VsZWN0aW9uOiB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIHNlbGVjdGlvbiBpcyBlbmFibGVkLiAqL1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAvKiogVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5LiAqL1xuICAgIHByaW1hcnlLZXk6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqIERlc2NyaWJlcyBhIHJlc3VsdCBmcm9tIHNlcnZlciB3aXRoIGRhdGEgYW5kIGFkZGl0aW9uYWwgc3RhdGlzdGljcy4gKi9cbmV4cG9ydCB0eXBlIFNlcnZlclNpZGVEYXRhUmVzdWx0ID0gSVJlc3VsdExpc3Q8b2JqZWN0PiAmIHtcbiAgLyoqIFRoZSByZWFsIGdyYW5kIHRvdGFsIG51bWJlciBvZiBpdGVtcyAodGhlIHdob2xlIGRhdGFzZXQpLiAqL1xuICBzaXplOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgYWZ0ZXIgZmlsdGVyaW5nIGFwcGxpZWQgdG8gdGhlIHdob2xlIGRhdGFzZXQgKHN1YnNldCkuICovXG4gIGZpbHRlcmVkU2l6ZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbGlzdCBvZiBpZHMgb2YgYWxsIGZpbHRlcmVkIGl0ZW1zIChzdWJzZXQpLiAqL1xuICBmaWx0ZXJlZERhdGFJZHM/OiBzdHJpbmdbXTtcbn07XG5cbi8qKiBEZXNjcmliZXMgYW4gb2JqZWN0IHdpdGggZGF0YSBzb3VyY2Ugc3RhdGlzdGljcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVNvdXJjZVN0YXRzIHtcbiAgLyoqIFRoZSByZWFsIGdyYW5kIHRvdGFsIG51bWJlciBvZiBpdGVtcyAodGhlIHdob2xlIGRhdGFzZXQpLiAqL1xuICBzaXplOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgYWZ0ZXIgZmlsdGVyaW5nIGFwcGxpZWQgdG8gdGhlIHdob2xlIGRhdGFzZXQgKHN1YnNldCkuICovXG4gIGZpbHRlcmVkU2l6ZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhZ2UuICovXG4gIGN1cnJlbnRQYWdlOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgdGhlIG5leHQgcGFnZS4gKi9cbiAgbmV4dFBhZ2U/OiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgY3VycmVudGx5IHNob3duIGluIHRoZSBsaXN0IHZpZXcsIGEuay5hLiBjdXJyZW50IHBhZ2UgKHdoYXQgdGhlIHVzZXIgc2VlcyBvbiBzY3JlZW4pLiAqL1xuICBjdXJyZW50UGFnZVNpemU6IG51bWJlcjtcblxuICAvKiogVGhlIG51bWJlciBvZiBpdGVtcyBvbiB0aGUgZmlyc3QgcGFnZS4gICovXG4gIGZpcnN0UGFnZVNpemU6IG51bWJlcjtcbn1cblxuLyoqIERlc2NyaWJlcyBkYXRhIGdyaWQgZGlzcGxheSBvcHRpb25zLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEaXNwbGF5T3B0aW9ucyB7XG4gIC8qKiBTaG93IG9yIGhpZGUgemVicmEtc3RyaXBpbmcgaW4gdGhlIHRhYmxlICovXG4gIHN0cmlwZWQ6IGJvb2xlYW47XG5cbiAgLyoqIFNob3cgb3IgaGlkZSBlYWNoIGNlbGwgYm9yZGVyICovXG4gIGJvcmRlcmVkOiBib29sZWFuO1xuXG4gIC8qKiBTaG93IG9yIGhpZGUgdGhlIGdyaWQgaGVhZGVyICovXG4gIGdyaWRIZWFkZXI6IGJvb2xlYW47XG5cbiAgLyoqIFNob3cgb3IgaGlkZSBmaWx0ZXIgbGFiZWwgaW4gdGhlIGdyaWQgaGVhZGVyICovXG4gIGZpbHRlcjogYm9vbGVhbjtcblxuICAvKiogRW5hYmxlIHRvIGRpc3BsYXkgYSBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyICovXG4gIGhvdmVyOiBib29sZWFuO1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBncmlkIGFjdGlvbiBjb250cm9sIGZvciBpbmRpdmlkdWFsIGl0ZW0uICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnRyb2wge1xuICAvKiogVGhlIHR5cGUgb2YgdGhlIGFjdGlvbiwgcHJlZGVmaW5lZCBvciBjdXN0b20uICovXG4gIHR5cGU6IEJ1aWx0SW5BY3Rpb25UeXBlIHwgc3RyaW5nO1xuXG4gIC8qKiBUaGUgbGFiZWwgZm9yIHRoZSBhY3Rpb24gYnV0dG9uLiAqL1xuICB0ZXh0Pzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgaWNvbiBmb3IgdGhlIGFjdGlvbiBidXR0b24uICovXG4gIGljb24/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBpY29uIGNsYXNzZXMgZm9yIHRoZSBhY3Rpb24gYnV0dG9uIGljb24uICovXG4gIGljb25DbGFzc2VzPzogc3RyaW5nO1xuXG4gIC8qKiBBY3Rpb24gaWNvbiB3aWxsIGJlIHZpc2libGUgb24gaG92ZXIgb25seSAqL1xuICBzaG93T25Ib3Zlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBpdGVtIFRoZSBpdGVtIHRvIHBlcmZvcm0gdGhlIGFjdGlvbiBvbi5cbiAgICogQHBhcmFtIHJlbG9hZCBUaGUgZnVuY3Rpb24gdG8gY2FsbCwgaWYgeW91IHdhbnQgdG8gcmVsb2FkIHRoZSBncmlkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgY2FsbGJhY2s6ICgoaXRlbTogUm93LCByZWxvYWQ6ICgpID0+IHZvaWQpID0+IHZvaWQpIHwgRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGFjdGlvbiBzaG91bGQgYmUgc2hvd24gZm9yIGdpdmVuIGl0ZW0gKGlmIG5vdCBkZWZpbmVkLCB0aGUgYWN0aW9uIHdpbGwgYmUgc2hvd24gYWx3YXlzKS5cbiAgICogQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gZm9yIHdoaWNoIHRoZSBhY3Rpb24gaXMgc3VwcG9zZWQgdG8gYmUgcGVyZm9ybWVkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgc2hvd0lmPzogKChpdGVtOiBSb3cgJiBzdHJpbmdbXSkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+KSB8IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBvcmRlciBpbiB3aGljaCBhY3Rpb24gY29udHJvbHMgYXBwZWFyLiBIaWdoZXIgdmFsdWUgbWVhbnMgZWFybGllciBwb3NpdGlvbi5cbiAgICogQ29udHJvbHMgd2l0aG91dCBwcmlvcml0eSBhcmUgaGFuZGxlZCB3aXRoIHByaW9yaXR5ID0gMC4gSWYgeW91IHdhbnQgdG8gcGxhY2UgYW4gYWN0aW9uIGFmdGVyXG4gICAqIGFuIGFjdGlvbiB3aXRob3V0IHByaW9yaXR5LCBuZWdhdGl2ZSBudW1iZXJzIGNhbiBiZSB1c2VkLlxuICAgKi9cbiAgcHJpb3JpdHk/OiBudW1iZXI7XG5cbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBncmlkIGFjdGlvbiBjb250cm9sIGZvciBtdWx0aXBsZSBpdGVtcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVsa0FjdGlvbkNvbnRyb2wgZXh0ZW5kcyBBY3Rpb25Db250cm9sIHtcbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1JZHMgVGhlIGxpc3Qgb2YgaWRzIG9mIHRoZSBzZWxlY3RlZCBpdGVtcy5cbiAgICogQHBhcmFtIHJlbG9hZCBUaGUgZnVuY3Rpb24gdG8gY2FsbCwgaWYgeW91IHdhbnQgdG8gcmVsb2FkIHRoZSBncmlkLlxuICAgKi9cbiAgY2FsbGJhY2soc2VsZWN0ZWRJdGVtSWRzOiBzdHJpbmdbXSwgcmVsb2FkOiAoKSA9PiB2b2lkKTogdm9pZDtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgYWN0aW9uIHNob3VsZCBiZSBzaG93biBmb3IgZ2l2ZW4gc2VsZWN0ZWQgaXRlbXMgKGlmIG5vdCBkZWZpbmVkLCB0aGUgYWN0aW9uIHdpbGwgYmUgc2hvd24gYWx3YXlzKS5cbiAgICogQHBhcmFtIHNlbGVjdGVkSXRlbUlkcyBUaGUgbGlzdCBvZiBpZHMgb2YgdGhlIHNlbGVjdGVkIGl0ZW1zIGZvciB3aGljaCB0aGUgYWN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHBlcmZvcm1lZC5cbiAgICovXG4gIHNob3dJZj8oc2VsZWN0ZWRJdGVtSWRzOiBzdHJpbmdbXSk6IGJvb2xlYW47XG59XG5cbi8qKiBEZXNjcmliZXMgYSBkYXRhIGdyaWQgYWN0aW9uIGNvbnRyb2wgZm9yIHRoZSBoZWFkZXIuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlckFjdGlvbkNvbnRyb2wgZXh0ZW5kcyBBY3Rpb25Db250cm9sIHtcbiAgLyoqXG4gICAqIEN1c3RvbSB0ZW1wbGF0ZSBjYW4gYmUgcHJvdmlkZWQuIElmIG5vIHRlbXBsYXRlIGlzIHByb3ZpZGVkLFxuICAgKiB0aGUgZGVmYXVsdCBoZWFkZXJBY3Rpb25Db250cm9sIHRlbXBsYXRlIGlzIHVzZWQuXG4gICAqL1xuICB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqL1xuICBjYWxsYmFjaygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBhY3Rpb24gc2hvdWxkIGJlIHNob3duLlxuICAgKi9cbiAgc2hvd0lmPygpOiBib29sZWFuO1xufVxuXG4vKiogUHJlZGVmaW5lZCB0eXBlcyBvZiBhY3Rpb25zLiAqL1xuZXhwb3J0IGVudW0gQnVpbHRJbkFjdGlvblR5cGUge1xuICAvKiogRWRpdCBidWlsdC1pbiBhY3Rpb24uICovXG4gIEVkaXQgPSAnRURJVCcsXG5cbiAgLyoqIERlbGV0ZSBidWlsdC1pbiBhY3Rpb24uICovXG4gIERlbGV0ZSA9ICdERUxFVEUnLFxuXG4gIC8qKiBFeHBvcnQgYnVpbHQtaW4gYWN0aW9uLiAqL1xuICBFeHBvcnQgPSAnRVhQT1JUJ1xufVxuXG4vKipcbiAqIEFsbG93cyB0byBhdHRhY2ggYWN0aW9uIGNvbnRyb2xzIHRvIHNwZWNpZmllZCBncmlkcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db250cm9sSG9vayB7XG4gIC8qKlxuICAgKiBUaGUgYWN0aW9uIGNvbnRyb2wocykgdGhhdCB3aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBncmlkLlxuICAgKi9cbiAgYWN0aW9uQ29udHJvbHM6IEFjdGlvbkNvbnRyb2wgfCBBY3Rpb25Db250cm9sW107XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9ucyB0aGF0IGRldGVybWluZXMgdG8gd2hpY2ggZ3JpZChzKSB0aGUgYWN0aW9uIGNvbnRyb2wocykgd2lsbCBiZSBhdHRhY2hlZC5cbiAgICogTm90IHByb3ZpZGluZyBhIGZ1bmN0aW9uIHJlc3VsdHMgaW4gdGhlIGFjdGlvbnMgY29udHJvbChzKSBub3QgYmVpbmcgYXR0YWNoZWQgdG8gYW55IGdyaWQuXG4gICAqL1xuICBtYXRjaGVzR3JpZDogKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBjb250ZXh0PzogR3JpZENvbmZpZ0NvbnRleHRcbiAgKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB8IE9ic2VydmFibGU8Ym9vbGVhbj47XG59XG5cbi8qKlxuICogRmFjdG9yeSB0byBpbXBsZW1lbnQgaW4gb3JkZXIgdG8gYWRkIGFjdGlvbiBjb250cm9scyBmcm9tIGFuIGV4dGVuc2lvbi5cbiAqL1xuZXhwb3J0IHR5cGUgQWN0aW9uQ29udHJvbEZhY3RvcnkgPSBFeHRlbnNpb25GYWN0b3J5PEFjdGlvbkNvbnRyb2xIb29rPjtcblxuLyoqXG4gKiBEZWZpbmVzIGFuIGludGVyZmFjZSBmb3IgYSBmaWx0ZXIgY2hpcCBvYmplY3QsIHdoaWNoIHJlcHJlc2VudHMgYSBmaWx0ZXIgYXBwbGllZCB0byBhIGNvbHVtbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDaGlwIHtcbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgdmFsdWUgdGhhdCB0aGUgY2hpcCB3aWxsIGhvbGQuXG4gICAqIEl0IGNhbiBiZSBqdXN0IGEgc3RyaW5nIG9yIGEgbW9yZSBjb21wbGV4IG9iamVjdCBsaWtlXG4gICAqIHtpZDogMTIzLCBuYW1lOiBUZXN0LCB2YWx1ZTogdGVzdH0uXG4gICAqL1xuICB2YWx1ZTogYW55O1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgdGhhdCB0aGUgY2hpcCB3aWxsIGRpc3BsYXkgaW4gdGhlIGRyb3Bkb3duLlxuICAgKi9cbiAgZGlzcGxheVZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGxhYmVsIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaWYgZmlsdGVyIGNoaXBzIGFyZSBzZXBhcmF0ZWQgaW50byBtdWx0aXBsZSBncm91cHMuXG4gICAqL1xuICBsYWJlbD86IHN0cmluZztcblxuICAvKiogQW4gb3B0aW9uYWwgcHJvcGVydHkgdGhhdCBob2xkcyB0aGUgcGF0aCB0byB0aGUgY2hpcCB2YWx1ZSBpbiB0aGUgZXh0ZXJuYWxGaWx0ZXJRdWVyeS4gKi9cbiAgcGF0aD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBwcm9wZXJ0eSB0aGF0IGhvbGRzIHRoZSBmb3JtIHZhbHVlIHRha2VuIGZyb20gdGhlIGNvbHVtbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgZXh0ZXJuYWxGaWx0ZXJRdWVyeT86IGFueTtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcHJvcGVydHkgdGhhdCBob2xkcyB0aGUgZm9ybWx5IGZpbHRlcmluZyBjb25maWd1cmF0aW9uIGZvciB0aGUgY29sdW1uIHRoYXQgdGhpcyBmaWx0ZXIgaXMgYXBwbGllZCB0by5cbiAgICovXG4gIGZpbHRlcmluZ0NvbmZpZz86IEZvcm1seUNvbHVtbkZpbHRlcmluZ0NvbmZpZztcblxuICAvKiogQW4gb3B0aW9uYWwgcHJvcGVydHkgdGhhdCBob2xkcyBhIHN0cmluZyB0byBzZWFyY2ggZm9yLiAqL1xuICBmaWx0ZXJQcmVkaWNhdGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gdGhhdCB0aGlzIGZpbHRlciBpcyBhcHBsaWVkIHRvLlxuICAgKi9cbiAgY29sdW1uTmFtZTogc3RyaW5nIHwgU3BlY2lhbENvbHVtbk5hbWU7XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIGZ1bmN0aW9uIHRvIHJlbW92ZSB0aGlzIGZpbHRlciBmcm9tIHRoZSBjb2x1bW4uXG4gICAqIElmIG5vdCBwcm92aWRlZCB3aWxsIHNldCBkZWZhdWx0IHJlbW92YWwgZnVuY3Rpb24gdGhhdCB3aWxsIHJlZHVjZSB0aGUgZXh0ZXJuYWwgcXVlcnkgYnkgcmVtb3ZpbmcgdGhlIG9iamVjdCB0aGF0IGlzIHJlc29sdmVkIGJ5IHRoZSBwYXRoIHNldCBpbiB0aGUgRmlsdGVyQ2hpcC5cbiAgICogQHJldHVybnMgQW4gb2JqZWN0IGRlZmluZWQgYnkgdGhlIGBGaWx0ZXJDaGlwYCB0eXBlLCBpbmNsdWRpbmcgdGhlIGBjb2x1bW5OYW1lYCBhbmQgIHVwZGF0ZWQgYGV4dGVybmFsRmlsdGVyUXVlcnlgIG9yICdmaWx0ZXJQcmVkaWNhdGUnIHByb3BlcnRpZXMuXG4gICAqIFRoZSByZXR1cm5lZCBvYmplY3QgbWF5IGFsc28gaW5jbHVkZSBhZGRpdGlvbmFsIHByb3BlcnRpZXMgZGVmaW5lZCBieSB0aGUgYEZpbHRlckNoaXBgIHR5cGUgYXMgcGFydGlhbHMuXG4gICAqL1xuICByZW1vdmU/OiAoKSA9PiBQYXJ0aWFsRmlsdGVyQ2hpcFJlbW92YWxUeXBlO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBwYXJ0aWFsIGZpbHRlciBjaGlwIHdpdGggZWl0aGVyICdjb2x1bW5OYW1lJyBhbmQgJ2V4dGVybmFsRmlsdGVyUXVlcnknIG9yICdjb2x1bW5OYW1lJyBhbmQgJ2ZpbHRlclByZWRpY2F0ZScuXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBQYXJ0aWFsRmlsdGVyQ2hpcFJlbW92YWxUeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY29sdW1uTmFtZSAtIFRoZSBjb2x1bW4gbmFtZSBmb3IgdGhlIGZpbHRlciBjaGlwLlxuICogQHByb3BlcnR5IHthbnl9IFtleHRlcm5hbEZpbHRlclF1ZXJ5XSAtIFRoZSBleHRlcm5hbCBmaWx0ZXIgcXVlcnkgZm9yIHRoZSBjaGlwIHVzZWQgZm9yIGNvbXBsZXggZmlsdGVycy5cbiAqIEBwcm9wZXJ0eSB7YW55fSBbZmlsdGVyUHJlZGljYXRlXSAtIFRoZSBmaWx0ZXJpbmcgcHJlZGljYXRlIGZvciB0aGUgY2hpcCB1c2VkIGZvciBzaW1wbGUgZmlsdGVycyB3aXRoIGNsaWVudC1zaWRlIGZpbHRlcmluZy5cbiAqIEBwcm9wZXJ0eSB7Li4uRmlsdGVyQ2hpcH0gW29wdGlvbmFsUHJvcGVydGllc10gLSBPcHRpb25hbCBwcm9wZXJ0aWVzIGZyb20gdGhlIEZpbHRlckNoaXAgdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgUGFydGlhbEZpbHRlckNoaXBSZW1vdmFsVHlwZSA9IChcbiAgfCBSZXF1aXJlZDxQaWNrPEZpbHRlckNoaXAsICdjb2x1bW5OYW1lJyB8ICdleHRlcm5hbEZpbHRlclF1ZXJ5Jz4+XG4gIHwgUmVxdWlyZWQ8UGljazxGaWx0ZXJDaGlwLCAnY29sdW1uTmFtZScgfCAnZmlsdGVyUHJlZGljYXRlJz4+XG4pICZcbiAgUGFydGlhbDxGaWx0ZXJDaGlwPjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcGFydGlhbCBmaWx0ZXIgY2hpcCB3aXRoIHJlcXVpcmVkIHByb3BlcnRpZXMgJ2Rpc3BsYXlWYWx1ZScgYW5kICd2YWx1ZScuXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBQYXJ0aWFsRmlsdGVyQ2hpcEdlbmVyYXRpb25UeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gZGlzcGxheVZhbHVlIC0gVGhlIGRpc3BsYXkgdmFsdWUgZm9yIHRoZSBmaWx0ZXIgY2hpcC5cbiAqIEBwcm9wZXJ0eSB7YW55fSB2YWx1ZSAtIFRoZSB2YWx1ZSBmb3IgdGhlIGZpbHRlciBjaGlwLlxuICogQHByb3BlcnR5IHsuLi5GaWx0ZXJDaGlwfSBbb3B0aW9uYWxQcm9wZXJ0aWVzXSAtIE9wdGlvbmFsIHByb3BlcnRpZXMgZnJvbSB0aGUgRmlsdGVyQ2hpcCB0eXBlLlxuICovXG5leHBvcnQgdHlwZSBQYXJ0aWFsRmlsdGVyQ2hpcEdlbmVyYXRpb25UeXBlID0gUmVxdWlyZWQ8UGljazxGaWx0ZXJDaGlwLCAnZGlzcGxheVZhbHVlJyB8ICd2YWx1ZSc+PiAmXG4gIFBhcnRpYWw8RmlsdGVyQ2hpcD47XG5cbi8qKlxuICogRGVmaW5lcyBhbiBpbnRlcmZhY2UgZm9yIGEgbWFwcGVyIGZ1bmN0aW9uIHRoYXQgbWFwcyBhIGBGb3JtbHlGaWVsZENvbmZpZ2AgdG8gYSBgRmlsdGVyQ2hpcGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyTWFwcGVyIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9yIHR5cGVzIG9mIHRoZSBgRm9ybWx5RmllbGRDb25maWdgIHRoYXQgdGhpcyBtYXBwZXIgYXBwbGllcyB0by5cbiAgICovXG4gIGZpZWxkVHlwZTogc3RyaW5nW10gfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1hcHMgYSBgRm9ybWx5RmllbGRDb25maWdgIGFuZCBhIGBGaWx0ZXJDaGlwYCB0byBhbiBgT2JzZXJ2YWJsZWAgb2YgYSBgRmlsdGVyQ2hpcGAuXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gZXh0ZW5kcyB0aGUgcHJvdmlkZWQgYEZpbHRlckNoaXBgIG9iamVjdCB3aXRoIGFkZGl0aW9uYWwgcHJvcGVydGllcyBiYXNlZCBvbiB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIGBGb3JtbHlGaWVsZENvbmZpZ2AuXG4gICAqIFRoZSBtYXBwaW5nIHByb2Nlc3MgZGVwZW5kcyBvbiB0aGUgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIGBGaWx0ZXJNYXBwZXJgLlxuICAgKlxuICAgKiBAcGFyYW0gZmllbGQgLSBUaGUgYEZvcm1seUZpZWxkQ29uZmlnYCB0byBtYXAuXG4gICAqIEBwYXJhbSBmaWx0ZXIgLSBUaGUgYEZpbHRlckNoaXBgIHRvIG1hcC5cbiAgICogQHJldHVybnMgQW4gYE9ic2VydmFibGVgIHRoYXQgZW1pdHMgdGhlIG1hcHBlZCBgRmlsdGVyQ2hpcGAuXG4gICAqIElmIHVuZGVmaW5lZCBpcyByZXR1cm5lZCBhbiBlcnJvciBpcyB0aHJvd24gYW5kIHRoZSBjaGlwIGlzIG5vdCB2aXN1YWxpemVkLlxuICAgKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIC8vIEV4YW1wbGUgaW1wbGVtZW50YXRpb24gb2YgYG1hcGAgZnVuY3Rpb24gaW4gYSBgRmlsdGVyTWFwcGVyYFxuICAgKiBtYXAoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBmaWx0ZXI6IEZpbHRlckNoaXApOiBPYnNlcnZhYmxlPEZpbHRlckNoaXA+IHtcbiAgICogICBpZiAodGhpcy5maWVsZFR5cGUuaW5jbHVkZXMoZmllbGQudHlwZS50b1N0cmluZygpKSkge1xuICAgKiAgICAgcmV0dXJuIHRvT2JzZXJ2YWJsZShmaWVsZC50ZW1wbGF0ZU9wdGlvbnMub3B0aW9ucykucGlwZShcbiAgICogICAgICAgbWFwKG9wdGlvbnMgPT4ge1xuICAgKiAgICAgICAgIGNvbnN0IG9iamVjdCA9IG9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLnZhbHVlID09PSBnZXQoZmlsdGVyLmV4dGVybmFsRmlsdGVyUXVlcnksIGZpbHRlci5wYXRoKSk7XG4gICAqICAgICAgICAgcmV0dXJuIHtcbiAgICogICAgICAgICAgIC4uLmZpbHRlcixcbiAgICogICAgICAgICAgIHZhbHVlOiBvYmplY3QsXG4gICAqICAgICAgICAgICBkaXNwbGF5VmFsdWU6IG9iamVjdD8ubGFiZWxcbiAgICogICAgICAgICB9O1xuICAgKiAgICAgICB9KVxuICAgKiAgICAgKTtcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBtYXA6IChmaWVsZDogRm9ybWx5RmllbGRDb25maWcsIGZpbHRlcjogRmlsdGVyQ2hpcCkgPT4gT2JzZXJ2YWJsZTxGaWx0ZXJDaGlwPjtcbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kYXRhLWdyaWQvZGF0YS1ncmlkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRLQSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLENBQUM7QUFFekMsNENBQTRDO0FBQzVDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLDZDQUE2QztJQUM3QyxJQUFJLEVBQUUsQ0FBQztJQUVQLGdEQUFnRDtJQUNoRCxPQUFPLEVBQUUsQ0FBQztJQUVWLG1EQUFtRDtJQUNuRCxZQUFZLEVBQUUsSUFBSTtJQUVsQixrREFBa0Q7SUFDbEQsV0FBVyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQWFGLHlCQUF5QjtBQUN6QixNQUFNLENBQU4sSUFBWSxtQkFNWDtBQU5ELFdBQVksbUJBQW1CO0lBQzdCLDZEQUE2RDtJQUM3RCxtREFBNEIsQ0FBQTtJQUU1Qiw2REFBNkQ7SUFDN0QsbURBQTRCLENBQUE7QUFDOUIsQ0FBQyxFQU5XLG1CQUFtQixLQUFuQixtQkFBbUIsUUFNOUI7QUE2TkQsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBTixJQUFZLGlCQVNYO0FBVEQsV0FBWSxpQkFBaUI7SUFDM0IsNEJBQTRCO0lBQzVCLGtDQUFhLENBQUE7SUFFYiw4QkFBOEI7SUFDOUIsc0NBQWlCLENBQUE7SUFFakIsOEJBQThCO0lBQzlCLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFUVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBUzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV4dGVuc2lvbkZhY3RvcnkgfSBmcm9tICcuLi9jb21tb24vZXh0ZW5zaW9uLWhvb2tzJztcbmltcG9ydCB7IEdyaWRDb25maWdDb250ZXh0IH0gZnJvbSAnLi9kYXRhLWdyaWQtY29uZmlndXJhdGlvbi5tb2RlbCc7XG5cbi8qKiBEZXNjcmliZXMgdGhlIGludGVyZmFjZSBvZiB0aGUgZGF0YSBncmlkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhR3JpZCB7XG4gIC8qKiBUaGUgbGlzdCBvZiBjb2x1bW5zLiAqL1xuICBjb2x1bW5zOiBDb2x1bW5bXTtcblxuICAvKiogVGhlIGxpc3Qgb2YgaXRlbXMuICovXG4gIHJvd3M6IFJvd1tdO1xuXG4gIC8qKiBQYWdpbmF0aW9uIG9iamVjdC4gKi9cbiAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbjtcblxuICAvKiogQSBjYWxsYmFjayBmdW5jdGlvbiB0byBmZXRjaCBzZXJ2ZXIgZGF0YS4gKi9cbiAgc2VydmVyU2lkZURhdGFDYWxsYmFjazogU2VydmVyU2lkZURhdGFDYWxsYmFjaztcblxuICAvKiogV2hldGhlciBpdGVtcyBhcmUgc2VsZWN0YWJsZS4gKi9cbiAgc2VsZWN0YWJsZTogYm9vbGVhbjtcblxuICAvKiogVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5IHByb3BlcnR5LiAqL1xuICBzZWxlY3Rpb25QcmltYXJ5S2V5OiBzdHJpbmc7XG5cbiAgLyoqIERhdGEgZ3JpZCBkaXNwbGF5IG9wdGlvbnMuICovXG4gIGRpc3BsYXlPcHRpb25zOiBEaXNwbGF5T3B0aW9ucztcblxuICAvKiogSW5kaXZpZHVhbCBhY3Rpb24gY29udHJvbHMuICovXG4gIGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sW107XG5cbiAgLyoqIEJ1bGsgYWN0aW9uIGNvbnRyb2xzLiAqL1xuICBidWxrQWN0aW9uQ29udHJvbHM6IEJ1bGtBY3Rpb25Db250cm9sW107XG5cbiAgLyoqIEhlYWRlciBhY3Rpb24gY29udHJvbHMuICovXG4gIGhlYWRlckFjdGlvbkNvbnRyb2xzPzogSGVhZGVyQWN0aW9uQ29udHJvbFtdO1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBncmlkIGNvbHVtbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uIHtcbiAgLyoqIFRoZSBuYW1lIGZvciB0aGUgY29sdW1uLiAqL1xuICBuYW1lOiBzdHJpbmcgfCBTcGVjaWFsQ29sdW1uTmFtZTtcbiAgLyoqIFRoZSBjb2x1bW4ncyBoZWFkZXIgKGlmIG5vdCBnaXZlbiwgYG5hbWVgIGlzIHVzZWQgYnkgZGVmYXVsdCkuICovXG4gIGhlYWRlcj86IHN0cmluZztcbiAgLyoqIFRoZSBwYXRoIGluIGEgcm93IGl0ZW0gdG8gcmVhZCB0aGUgY2VsbCB2YWx1ZSBmcm9tLiAqL1xuICBwYXRoPzogc3RyaW5nO1xuICAvKiogV2hldGhlciB0aGUgY29sdW1uIGlzIGRpc3BsYXllZC4gKi9cbiAgdmlzaWJsZT86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRoZSBjb2x1bW4gY2FuIGJlIG1vdmVkIHRvIGFub3RoZXIgcG9zaXRpb24uICovXG4gIHBvc2l0aW9uRml4ZWQ/OiBib29sZWFuO1xuICAvKiogTWFya3MgYSB1c2VyIGNvbmZpZ3VyZWQgY3VzdG9tIGNvbHVtbiAqL1xuICBjdXN0b20/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgY29sdW1uIGNhbiBiZSByZXNpemVkLiAqL1xuICByZXNpemFibGU/OiBib29sZWFuO1xuICAvKiogT3B0aW9uYWwgdHlwZSBvZiBkYXRhIGluIHRoZSBjb2x1bW4gKHVzZWQgdG8gc2V0IGRhdGEtdHlwZSBhdHRyaWJ1dGUsIGUuZy4gZm9yIGFkZGl0aW9uYWwgc3R5bGluZykuICovXG4gIGRhdGFUeXBlPzogQ29sdW1uRGF0YVR5cGU7XG4gIC8qKiBUaGUgY29sdW1uJ3Mgc2l6ZSwgZS5nLiBcIjQwIHB4XCIuICovXG4gIGdyaWRUcmFja1NpemU/OiBzdHJpbmc7XG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzc2VzIGZvciB0aGUgaGVhZGVyIGNlbGwuICovXG4gIGhlYWRlckNTU0NsYXNzTmFtZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKiogQWRkaXRpb25hbCBDU1MgY2xhc3NlcyBmb3IgZGF0YSBjZWxscy4gKi9cbiAgY2VsbENTU0NsYXNzTmFtZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBjb2x1bW4gaXMgc29ydGFibGUuICovXG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHNvcnQgb3JkZXIgaXMgYXNjZW5kaW5nLCBkZXNjZW5kaW5nIG9yIG5vdCBzcGVjaWZpZWQuICovXG4gIHNvcnRPcmRlcj86IFNvcnRPcmRlcjtcbiAgc29ydGluZ0NvbmZpZz86IENvbHVtblNvcnRpbmdDb25maWc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBmaWx0ZXJhYmxlLiAqL1xuICBmaWx0ZXJhYmxlPzogYm9vbGVhbjtcbiAgLyoqIFRoZSBzdHJpbmcgdG8gc2VhcmNoIGZvciBvciBhIGZ1bmN0aW9uIGZvciBjbGllbnQtc2lkZSBmaWx0ZXJpbmcuICovXG4gIGZpbHRlclByZWRpY2F0ZT86IHN0cmluZyB8IEZpbHRlclByZWRpY2F0ZUZ1bmN0aW9uO1xuICAvKiogQ3VzdG9tIGZpbHRlcmluZyBmb3JtIHJlbmRlcmVyIGNhbiBzZXQgYW55IHZhbHVlIGhlcmUgYW5kIGl0IGNhbiBiZSB1c2VkIHRvIGJ1aWxkIGEgcXVlcnkgdG8gdGhlIHNlcnZlci4gKi9cbiAgZXh0ZXJuYWxGaWx0ZXJRdWVyeT86IGFueTtcbiAgZmlsdGVyaW5nQ29uZmlnPzogRm9ybWx5Q29sdW1uRmlsdGVyaW5nQ29uZmlnO1xuXG4gIC8qKiBDdXN0b20gZGF0YSBjZWxsIHJlbmRlcmVyIGNvbXBvbmVudC4gSW5qZWN0IGBDZWxsUmVuZGVyZXJDb250ZXh0YCB0byBnZXQgYWNjZXNzIHRvIGRhdGEgdmFsdWUsIGl0ZW0gYW5kIGNvbHVtbiBvYmplY3QuICovXG4gIGNlbGxSZW5kZXJlckNvbXBvbmVudD86IFR5cGU8YW55PjtcbiAgLyoqIEN1c3RvbSBoZWFkZXIgY2VsbCByZW5kZXJlciBjb21wb25lbnQuIEluamVjdCBgQ2VsbFJlbmRlcmVyQ29udGV4dGAgdG8gZ2V0IGFjY2VzcyB0byBoZWFkZXIgdmFsdWUgYW5kIGNvbHVtbiBvYmplY3QuICovXG4gIGhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudD86IFR5cGU8YW55PjtcbiAgLyoqIEN1c3RvbSBmaWx0ZXJpbmcgZm9ybSByZW5kZXJlciBjb21wb25lbnQuIEluamVjdCBgRmlsdGVyaW5nRm9ybVJlbmRlcmVyQ29udGV4dGAgdG8gZ2V0IGFjY2VzcyB0byBjb2x1bW4gb2JqZWN0IGFuZCBtZXRob2RzOiBhcHBseUZpbHRlciwgcmVzZXRGaWx0ZXIuICovXG4gIGZpbHRlcmluZ0Zvcm1SZW5kZXJlckNvbXBvbmVudD86IFR5cGU8YW55Pjtcbn1cblxuLyoqIERlc2NyaWJlcyBhIGNvbHVtbiBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5Db25maWcge1xuICAvKiogVGhlIG5hbWUgZm9yIHRoZSBjb2x1bW4uICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbHVtbiBpcyBkaXNwbGF5ZWQuICovXG4gIHZpc2libGU/OiBib29sZWFuO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBzb3J0IG9yZGVyIGlzIGFzY2VuZGluZywgZGVzY2VuZGluZyBvciBub3Qgc3BlY2lmaWVkLiAqL1xuICBzb3J0T3JkZXI/OiBTb3J0T3JkZXI7XG5cbiAgLyoqIFRoZSBzZXR0aW5ncyBvZiBmaWx0ZXIgaW4gYSBjb2x1bW4uICovXG4gIGZpbHRlcj86IEZpbHRlcjtcbn1cblxuLyoqIERlc2NyaWJlcyBhIGN1c3RvbSBjb2x1bW4gY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29sdW1uQ29uZmlnIGV4dGVuZHMgQ29sdW1uQ29uZmlnIHtcbiAgLyoqIEpTT04gcGF0aCB0byB0aGUgbWFuYWdlZCBvYmplY3QgcHJvcGVydHkgdG8gYmUgZGlzcGxheWVkICovXG4gIHBhdGg6IHN0cmluZztcblxuICAvKiogQ29sdW1uIGhlYWRlciB0aXRsZSAqL1xuICBoZWFkZXI6IHN0cmluZztcblxuICAvKiogRmxhZyB0byBpZGVudGlmeSBjdXN0b20gY29sdW1ucyAqL1xuICBjdXN0b206IGJvb2xlYW47XG59XG5cbi8qKiBEZXNjcmliZXMgdGhlIHNldHRpbmdzIG9mIGZpbHRlciBpbiBhIGNvbHVtbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyIHtcbiAgLyoqIEN1c3RvbSBmaWx0ZXJpbmcgZm9ybSByZW5kZXJlciBjYW4gc2V0IGFueSB2YWx1ZSBoZXJlIGFuZCBpdCBjYW4gYmUgdXNlZCB0byBidWlsZCBhIHF1ZXJ5IHRvIHRoZSBzZXJ2ZXIuICovXG4gIGV4dGVybmFsRmlsdGVyUXVlcnk/OiBhbnk7XG4gIC8qKiBBbiBvcHRpb25hbCBwcm9wZXJ0eSB0aGF0IGhvbGRzIGEgc3RyaW5nIHRvIHNlYXJjaCBmb3IuICovXG4gIGZpbHRlclByZWRpY2F0ZT86IHN0cmluZyB8IEZpbHRlclByZWRpY2F0ZUZ1bmN0aW9uO1xufVxuXG4vKiogRGVzY3JpYmVzIGFuIG9iamVjdCB3aXRoIGRhdGEgZ3JpZCBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmlkQ29uZmlnIHtcbiAgLyoqIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdHMgZm9yIGFsbCB0aGUgY29sdW1ucy4gKi9cbiAgY29sdW1uczogQ29sdW1uQ29uZmlnW107XG5cbiAgLyoqIFBhZ2luYXRpb24gb2JqZWN0LiAqL1xuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uO1xufVxuXG4vKiogICovXG5leHBvcnQgY29uc3QgZW51bSBTcGVjaWFsQ29sdW1uTmFtZSB7XG4gIC8qKiBDb2x1bW4gd2l0aCBjaGVja2JveC4gKi9cbiAgQ2hlY2tib3ggPSAnY2hlY2tib3gnLFxuXG4gIC8qKiBDb2x1bW4gd2l0aCByYWRpbyBidXR0b24uICovXG4gIFJhZGlvQnV0dG9uID0gJ3JhZGlvLWJ1dHRvbicsXG5cbiAgLyoqIENvbHVtbiB3aXRoIHJvdyBhY3Rpb25zLiAqL1xuICBBY3Rpb25zID0gJ2FjdGlvbnMnXG59XG5cbi8qKiAgKi9cbmV4cG9ydCBjb25zdCBlbnVtIENvbHVtbkRhdGFUeXBlIHtcbiAgLyoqIENvbHVtbiB3aXRoIGljb24uICovXG4gIEljb24gPSAnaWNvbicsXG5cbiAgLyoqIE51bWVyaWMgY29sdW1uLiAqL1xuICBOdW1lcmljID0gJ251bWVyaWMnLFxuXG4gIC8qKiBDb2x1bW4gd2l0aCBzaG9ydCB0ZXh0LiAqL1xuICBUZXh0U2hvcnQgPSAndGV4dC1zaG9ydCcsXG5cbiAgLyoqIENvbHVtbiB3aXRoIGxvbmcgdGV4dC4gKi9cbiAgVGV4dExvbmcgPSAndGV4dC1sb25nJ1xufVxuXG4vKiogQ2xhc3NlcyBmb3IgY29sdW1uIGRhdGEgcmVjb3JkLiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gQ29sdW1uRGF0YVJlY29yZENsYXNzTmFtZSB7XG4gIC8qKiBBbiBpY29uLiAqL1xuICBJY29uID0gJ2RhdGEtcmVjb3JkLWljb24nLFxuXG4gIC8qKiBBIGhlYWRlci4gKi9cbiAgSGVhZGVyID0gJ2RhdGEtcmVjb3JkLWhlYWRlcicsXG5cbiAgLyoqIERlZmF1bHQgLSBlbXB0eS4gKi9cbiAgRGVmYXVsdCA9ICcnXG59XG5cbmV4cG9ydCBjb25zdCBtaW5Db2x1bW5HcmlkVHJhY2tTaXplID0gODA7XG5cbi8qKiBNYXBzIGNvbHVtbiB0eXBlcyB0byByZWxhdGl2ZSB3aWR0aHMuICovXG5leHBvcnQgY29uc3QgcmF0aW9zQnlDb2x1bW5UeXBlcyA9IHtcbiAgLyoqIFRoZSB3aWR0aCByYXRpb24gZm9yIGljb24gY29sdW1uIHR5cGUuICovXG4gIGljb246IDEsXG5cbiAgLyoqIFRoZSB3aWR0aCByYXRpb24gZm9yIG51bWVyaWMgY29sdW1uIHR5cGUuICovXG4gIG51bWVyaWM6IDEsXG5cbiAgLyoqIFRoZSB3aWR0aCByYXRpb24gZm9yIHNob3J0IHRleHQgY29sdW1uIHR5cGUuICovXG4gICd0ZXh0LXNob3J0JzogMS42NyxcblxuICAvKiogVGhlIHdpZHRoIHJhdGlvbiBmb3IgbG9uZyB0ZXh0IGNvbHVtbiB0eXBlLiAqL1xuICAndGV4dC1sb25nJzogMy4zM1xufTtcblxuLyoqIFNvcnRpbmcgb3JkZXI6IGFzY2VuZGluZywgZGVzY2VuZGluZywgb3Igbm90IHNwZWNpZmllZC4gKi9cbmV4cG9ydCB0eXBlIFNvcnRPcmRlciA9ICdhc2MnIHwgJ2Rlc2MnIHwgJyc7XG5cbi8qKlxuICogQSBmaWx0ZXIgcHJlZGljYXRlIGZ1bmN0aW9uLlxuICogQHBhcmFtIGl0ZW0gVGhlIGN1cnJlbnQgaXRlbSB0byBiZSBjaGVja2VkLlxuICogQHBhcmFtIHBhdGggVGhlIHByb3BlcnR5IHBhdGggY29uZmlndXJlZCBpbiB0aGUgY3VycmVudCBjb2x1bW4uXG4gKiBAcmV0dXJucyBUaGUgYm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGl0ZW0gbWF0Y2hlcyBhIGNvbmRpdGlvbiBvciBub3QuXG4gKi9cbmV4cG9ydCB0eXBlIEZpbHRlclByZWRpY2F0ZUZ1bmN0aW9uID0gKGl0ZW06IG9iamVjdCwgcGF0aDogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4vKiogRmlsdGVyaW5nIGFjdGlvbnMuICovXG5leHBvcnQgZW51bSBGaWx0ZXJpbmdBY3Rpb25UeXBlIHtcbiAgLyoqIEFjdGlvbiBpbnZva2VkIHdoZW4gZmlsdGVyIHNldHRpbmdzIGFyZSB0byBiZSBhcHBsaWVkLiAqL1xuICBBcHBseUZpbHRlciA9ICdBUFBMWV9GSUxURVInLFxuXG4gIC8qKiBBY3Rpb24gaW52b2tlZCB3aGVuIGZpbHRlciBzZXR0aW5ncyBhcmUgdG8gYmUgY2xlYXJlZC4gKi9cbiAgUmVzZXRGaWx0ZXIgPSAnUkVTRVRfRklMVEVSJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1seUNvbHVtbkZpbHRlcmluZ0NvbmZpZyB7XG4gIC8qKiBEZWZpbmVzIGEgRmllbGRDb25maWcgY29uZmlndXJhdGlvbiBmb3IgRm9ybWx5LiAgKi9cbiAgZmllbGRzPzogRm9ybWx5RmllbGRDb25maWdbXTtcbiAgLyoqIERlZmluZXMgYSBKU09OIHNjaGVtYSBmb3IgZmlsdGVyaW5nIGNvbmZpZyBtb2RlbC4gQ2FuIGJlIHVzZWQgaW5zdGVhZCBvZiBgZmllbGRzYCAqL1xuICBzY2hlbWE/OiBvYmplY3Q7XG4gIC8qKiBEZWZpbmVzIGEgbW9kZWwgdGhhdCB3aWxsIGJlIGFwcGxpZWQgdG8gcmVuZGVyZWQgZm9ybS4gKi9cbiAgbW9kZWw/OiBvYmplY3Q7XG4gIC8qKiBEZWZpbmVzIEZvcm1Hcm91cCBpbnN0YW5jZSAqL1xuICBmb3JtR3JvdXA/OiBGb3JtR3JvdXA7XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIGEgZmlsdGVyaW5nIGNvbmZpZyBtb2RlbCB0byBhbiBhcnJheSBvZiBwYXJ0aWFsIGZpbHRlciBjaGlwIG9iamVjdHMuXG4gICAqIEBwYXJhbSBtb2RlbCBBbiBvYmplY3Qgd2l0aCBkZWZpbmVkIHN0cnVjdHVyZSAoZS5nLiBieSBzY2hlbWEpLlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBwYXJ0aWFsIGZpbHRlciBjaGlwIG9iamVjdHMsIGVhY2ggY29udGFpbmluZyBhdCBsZWFzdCBgZGlzcGxheVZhbHVlYCBhbmQgdGhlIGFjdHVhbCBgdmFsdWVgIHRvIGJlIHVwZGF0ZWQuXG4gICAqIE9wdGlvbmFsbHksIG90aGVyIHByb3BlcnRpZXMgZnJvbSBgRmlsdGVyQ2hpcGAgYXJlIGFsbG93ZWQsIGZvciBleGFtcGxlLCBhIGN1c3RvbSBgcmVtb3ZlYCBjYWxsYmFjayB0byBiZSBleGVjdXRlZCB3aGVuIGEgY2hpcCBpcyBiZWluZyByZW1vdmVkLlxuICAgKi9cbiAgZ2VuZXJhdGVDaGlwcz86IChtb2RlbDogYW55KSA9PiBQYXJ0aWFsRmlsdGVyQ2hpcEdlbmVyYXRpb25UeXBlW107XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIGEgZmlsdGVyaW5nIGNvbmZpZyBtb2RlbCAoZS5nLiBjb21pbmcgZnJvbSBzY2hlbWEgZm9ybSBjb21wb25lbnQpIHRvIGEgcXVlcnkgb2JqZWN0LlxuICAgKiBIb3dldmVyLCB1c2luZyBzY2hlbWEgZm9ybSBjb21wb25lbnQgaXMgbm90IG5lY2Vzc2FyeS5cbiAgICogTW9kZWwgY2FuIGJlIGRlZmluZWQgYXJiaXRyYXJpbHkgYnV0IG11c3QgY29udmVydGVkIHRvIGEgdmFsaWQgcXVlcnkgb2JqZWN0LlxuICAgKiBAcGFyYW0gbW9kZWwgQW4gb2JqZWN0IHdpdGggZGVmaW5lZCBzdHJ1Y3R1cmUgKGUuZy4gYnkgc2NoZW1hKS5cbiAgICogQHJldHVybnMgQSBxdWVyeSBvYmplY3QgdG8gYmUgdXNlZCB0byBnZW5lcmF0ZSBhIHF1ZXJ5IHN0cmluZyAoUXVlcnlVdGlscykuXG4gICAqL1xuICBnZXRGaWx0ZXI6IChtb2RlbDogYW55KSA9PiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uU29ydGluZ0NvbmZpZyB7XG4gIHBhdGhTb3J0aW5nQ29uZmlnczogUGF0aFNvcnRpbmdDb25maWdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXRoU29ydGluZ0NvbmZpZyB7XG4gIHBhdGg6IHN0cmluZztcbiAgc29ydE9yZGVyTW9kaWZpZXI/OiBTb3J0T3JkZXJNb2RpZmllcjtcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gU29ydE9yZGVyTW9kaWZpZXIge1xuICBLZWVwLFxuICBJbnZlcnRcbn1cblxuLyoqIERlc2NyaWJlcyBhbiBpdGVtIGluIHRoZSByb3cuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvdyB7XG4gIC8qKiBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0uICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqIEFueSBpdGVtIHByb3BlcnR5LiAqL1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbi8qKiBEZXNjcmliZXMgYSBwYWdpbmF0aW9uIG9iamVjdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbiB7XG4gIC8qKiBUaGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhZ2UuICovXG4gIGN1cnJlbnRQYWdlPzogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHRoZSBuZXh0IHBhZ2UuICovXG4gIG5leHRQYWdlPzogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIG9uIGEgc2luZ2xlIHBhZ2UuICovXG4gIHBhZ2VTaXplOiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBjYWxsYmFjayBmdW5jdGlvbiB0byBmZXRjaCBzZXJ2ZXIgZGF0YS5cbiAqIEBwYXJhbSBkYXRhU291cmNlTW9kaWZpZXIgVGhlIGN1cnJlbnQgZGF0YSBzb3VyY2UgbW9kaWZpZXIuXG4gKiBAcmV0dXJucyBSZXR1cm5zIHRoZSByZXN1bHQgZnJvbSBzZXJ2ZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFNlcnZlclNpZGVEYXRhQ2FsbGJhY2sgPSAoXG4gIGRhdGFTb3VyY2VNb2RpZmllcjogRGF0YVNvdXJjZU1vZGlmaWVyXG4pID0+IFNlcnZlclNpZGVEYXRhUmVzdWx0IHwgUHJvbWlzZTxTZXJ2ZXJTaWRlRGF0YVJlc3VsdD4gfCBPYnNlcnZhYmxlPFNlcnZlclNpZGVEYXRhUmVzdWx0PjtcblxuLyoqIERlc2NyaWJlcyBhIGRhdGEgc291cmNlIG1vZGlmaWVyIGZvciByZXF1ZXN0aW5nIHNlcnZlciBkYXRhLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU291cmNlTW9kaWZpZXIge1xuICAvKiogVGhlIGxpc3Qgb2YgY29sdW1ucy4gKi9cbiAgY29sdW1uczogQ29sdW1uW107XG5cbiAgLyoqIFRleHQgdG8gc2VhcmNoLiAqL1xuICBzZWFyY2hUZXh0OiBzdHJpbmc7XG5cbiAgLyoqIFBhZ2luYXRpb24gb2JqZWN0LiAqL1xuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uO1xuXG4gIC8qKiBTZWxlY3Rpb24gaW5mbyBvYmplY3QuICovXG4gIHNlbGVjdGlvbjoge1xuICAgIC8qKiBXaGV0aGVyIHRoZSBzZWxlY3Rpb24gaXMgZW5hYmxlZC4gKi9cbiAgICBlbmFibGVkOiBib29sZWFuO1xuXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBwcmltYXJ5IGtleS4gKi9cbiAgICBwcmltYXJ5S2V5OiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKiBEZXNjcmliZXMgYSByZXN1bHQgZnJvbSBzZXJ2ZXIgd2l0aCBkYXRhIGFuZCBhZGRpdGlvbmFsIHN0YXRpc3RpY3MuICovXG5leHBvcnQgdHlwZSBTZXJ2ZXJTaWRlRGF0YVJlc3VsdCA9IElSZXN1bHRMaXN0PG9iamVjdD4gJiB7XG4gIC8qKiBUaGUgcmVhbCBncmFuZCB0b3RhbCBudW1iZXIgb2YgaXRlbXMgKHRoZSB3aG9sZSBkYXRhc2V0KS4gKi9cbiAgc2l6ZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIGFmdGVyIGZpbHRlcmluZyBhcHBsaWVkIHRvIHRoZSB3aG9sZSBkYXRhc2V0IChzdWJzZXQpLiAqL1xuICBmaWx0ZXJlZFNpemU6IG51bWJlcjtcblxuICAvKiogVGhlIGxpc3Qgb2YgaWRzIG9mIGFsbCBmaWx0ZXJlZCBpdGVtcyAoc3Vic2V0KS4gKi9cbiAgZmlsdGVyZWREYXRhSWRzPzogc3RyaW5nW107XG59O1xuXG4vKiogRGVzY3JpYmVzIGFuIG9iamVjdCB3aXRoIGRhdGEgc291cmNlIHN0YXRpc3RpY3MuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2VTdGF0cyB7XG4gIC8qKiBUaGUgcmVhbCBncmFuZCB0b3RhbCBudW1iZXIgb2YgaXRlbXMgKHRoZSB3aG9sZSBkYXRhc2V0KS4gKi9cbiAgc2l6ZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIGFmdGVyIGZpbHRlcmluZyBhcHBsaWVkIHRvIHRoZSB3aG9sZSBkYXRhc2V0IChzdWJzZXQpLiAqL1xuICBmaWx0ZXJlZFNpemU6IG51bWJlcjtcblxuICAvKiogVGhlIG51bWJlciBvZiB0aGUgY3VycmVudCBwYWdlLiAqL1xuICBjdXJyZW50UGFnZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIHRoZSBuZXh0IHBhZ2UuICovXG4gIG5leHRQYWdlPzogbnVtYmVyO1xuXG4gIC8qKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIGN1cnJlbnRseSBzaG93biBpbiB0aGUgbGlzdCB2aWV3LCBhLmsuYS4gY3VycmVudCBwYWdlICh3aGF0IHRoZSB1c2VyIHNlZXMgb24gc2NyZWVuKS4gKi9cbiAgY3VycmVudFBhZ2VTaXplOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgaXRlbXMgb24gdGhlIGZpcnN0IHBhZ2UuICAqL1xuICBmaXJzdFBhZ2VTaXplOiBudW1iZXI7XG59XG5cbi8qKiBEZXNjcmliZXMgZGF0YSBncmlkIGRpc3BsYXkgb3B0aW9ucy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcGxheU9wdGlvbnMge1xuICAvKiogU2hvdyBvciBoaWRlIHplYnJhLXN0cmlwaW5nIGluIHRoZSB0YWJsZSAqL1xuICBzdHJpcGVkOiBib29sZWFuO1xuXG4gIC8qKiBTaG93IG9yIGhpZGUgZWFjaCBjZWxsIGJvcmRlciAqL1xuICBib3JkZXJlZDogYm9vbGVhbjtcblxuICAvKiogU2hvdyBvciBoaWRlIHRoZSBncmlkIGhlYWRlciAqL1xuICBncmlkSGVhZGVyOiBib29sZWFuO1xuXG4gIC8qKiBTaG93IG9yIGhpZGUgZmlsdGVyIGxhYmVsIGluIHRoZSBncmlkIGhlYWRlciAqL1xuICBmaWx0ZXI6IGJvb2xlYW47XG5cbiAgLyoqIEVuYWJsZSB0byBkaXNwbGF5IGEgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciAqL1xuICBob3ZlcjogYm9vbGVhbjtcbn1cblxuLyoqIERlc2NyaWJlcyBhIGRhdGEgZ3JpZCBhY3Rpb24gY29udHJvbCBmb3IgaW5kaXZpZHVhbCBpdGVtLiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25Db250cm9sIHtcbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSBhY3Rpb24sIHByZWRlZmluZWQgb3IgY3VzdG9tLiAqL1xuICB0eXBlOiBCdWlsdEluQWN0aW9uVHlwZSB8IHN0cmluZztcblxuICAvKiogVGhlIGxhYmVsIGZvciB0aGUgYWN0aW9uIGJ1dHRvbi4gKi9cbiAgdGV4dD86IHN0cmluZztcblxuICAvKiogVGhlIGljb24gZm9yIHRoZSBhY3Rpb24gYnV0dG9uLiAqL1xuICBpY29uPzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgaWNvbiBjbGFzc2VzIGZvciB0aGUgYWN0aW9uIGJ1dHRvbiBpY29uLiAqL1xuICBpY29uQ2xhc3Nlcz86IHN0cmluZztcblxuICAvKiogQWN0aW9uIGljb24gd2lsbCBiZSB2aXNpYmxlIG9uIGhvdmVyIG9ubHkgKi9cbiAgc2hvd09uSG92ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0gaXRlbSBUaGUgaXRlbSB0byBwZXJmb3JtIHRoZSBhY3Rpb24gb24uXG4gICAqIEBwYXJhbSByZWxvYWQgVGhlIGZ1bmN0aW9uIHRvIGNhbGwsIGlmIHlvdSB3YW50IHRvIHJlbG9hZCB0aGUgZ3JpZC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIGNhbGxiYWNrOiAoKGl0ZW06IFJvdywgcmVsb2FkOiAoKSA9PiB2b2lkKSA9PiB2b2lkKSB8IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBhY3Rpb24gc2hvdWxkIGJlIHNob3duIGZvciBnaXZlbiBpdGVtIChpZiBub3QgZGVmaW5lZCwgdGhlIGFjdGlvbiB3aWxsIGJlIHNob3duIGFsd2F5cykuXG4gICAqIEBwYXJhbSBpdGVtIFRoZSBpdGVtIGZvciB3aGljaCB0aGUgYWN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHBlcmZvcm1lZC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIHNob3dJZj86ICgoaXRlbTogUm93ICYgc3RyaW5nW10pID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHwgT2JzZXJ2YWJsZTxib29sZWFuPikgfCBGdW5jdGlvbjtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgb3JkZXIgaW4gd2hpY2ggYWN0aW9uIGNvbnRyb2xzIGFwcGVhci4gSGlnaGVyIHZhbHVlIG1lYW5zIGVhcmxpZXIgcG9zaXRpb24uXG4gICAqIENvbnRyb2xzIHdpdGhvdXQgcHJpb3JpdHkgYXJlIGhhbmRsZWQgd2l0aCBwcmlvcml0eSA9IDAuIElmIHlvdSB3YW50IHRvIHBsYWNlIGFuIGFjdGlvbiBhZnRlclxuICAgKiBhbiBhY3Rpb24gd2l0aG91dCBwcmlvcml0eSwgbmVnYXRpdmUgbnVtYmVycyBjYW4gYmUgdXNlZC5cbiAgICovXG4gIHByaW9yaXR5PzogbnVtYmVyO1xuXG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuLyoqIERlc2NyaWJlcyBhIGRhdGEgZ3JpZCBhY3Rpb24gY29udHJvbCBmb3IgbXVsdGlwbGUgaXRlbXMuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1bGtBY3Rpb25Db250cm9sIGV4dGVuZHMgQWN0aW9uQ29udHJvbCB7XG4gIC8qKlxuICAgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0gc2VsZWN0ZWRJdGVtSWRzIFRoZSBsaXN0IG9mIGlkcyBvZiB0aGUgc2VsZWN0ZWQgaXRlbXMuXG4gICAqIEBwYXJhbSByZWxvYWQgVGhlIGZ1bmN0aW9uIHRvIGNhbGwsIGlmIHlvdSB3YW50IHRvIHJlbG9hZCB0aGUgZ3JpZC5cbiAgICovXG4gIGNhbGxiYWNrKHNlbGVjdGVkSXRlbUlkczogc3RyaW5nW10sIHJlbG9hZDogKCkgPT4gdm9pZCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGFjdGlvbiBzaG91bGQgYmUgc2hvd24gZm9yIGdpdmVuIHNlbGVjdGVkIGl0ZW1zIChpZiBub3QgZGVmaW5lZCwgdGhlIGFjdGlvbiB3aWxsIGJlIHNob3duIGFsd2F5cykuXG4gICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1JZHMgVGhlIGxpc3Qgb2YgaWRzIG9mIHRoZSBzZWxlY3RlZCBpdGVtcyBmb3Igd2hpY2ggdGhlIGFjdGlvbiBpcyBzdXBwb3NlZCB0byBiZSBwZXJmb3JtZWQuXG4gICAqL1xuICBzaG93SWY/KHNlbGVjdGVkSXRlbUlkczogc3RyaW5nW10pOiBib29sZWFuO1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGF0YSBncmlkIGFjdGlvbiBjb250cm9sIGZvciB0aGUgaGVhZGVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJBY3Rpb25Db250cm9sIGV4dGVuZHMgQWN0aW9uQ29udHJvbCB7XG4gIC8qKlxuICAgKiBDdXN0b20gdGVtcGxhdGUgY2FuIGJlIHByb3ZpZGVkLiBJZiBubyB0ZW1wbGF0ZSBpcyBwcm92aWRlZCxcbiAgICogdGhlIGRlZmF1bHQgaGVhZGVyQWN0aW9uQ29udHJvbCB0ZW1wbGF0ZSBpcyB1c2VkLlxuICAgKi9cbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKi9cbiAgY2FsbGJhY2soKTogdm9pZDtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgYWN0aW9uIHNob3VsZCBiZSBzaG93bi5cbiAgICovXG4gIHNob3dJZj8oKTogYm9vbGVhbjtcbn1cblxuLyoqIFByZWRlZmluZWQgdHlwZXMgb2YgYWN0aW9ucy4gKi9cbmV4cG9ydCBlbnVtIEJ1aWx0SW5BY3Rpb25UeXBlIHtcbiAgLyoqIEVkaXQgYnVpbHQtaW4gYWN0aW9uLiAqL1xuICBFZGl0ID0gJ0VESVQnLFxuXG4gIC8qKiBEZWxldGUgYnVpbHQtaW4gYWN0aW9uLiAqL1xuICBEZWxldGUgPSAnREVMRVRFJyxcblxuICAvKiogRXhwb3J0IGJ1aWx0LWluIGFjdGlvbi4gKi9cbiAgRXhwb3J0ID0gJ0VYUE9SVCdcbn1cblxuLyoqXG4gKiBBbGxvd3MgdG8gYXR0YWNoIGFjdGlvbiBjb250cm9scyB0byBzcGVjaWZpZWQgZ3JpZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udHJvbEhvb2sge1xuICAvKipcbiAgICogVGhlIGFjdGlvbiBjb250cm9sKHMpIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgZ3JpZC5cbiAgICovXG4gIGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sIHwgQWN0aW9uQ29udHJvbFtdO1xuICAvKipcbiAgICogQSBmdW5jdGlvbnMgdGhhdCBkZXRlcm1pbmVzIHRvIHdoaWNoIGdyaWQocykgdGhlIGFjdGlvbiBjb250cm9sKHMpIHdpbGwgYmUgYXR0YWNoZWQuXG4gICAqIE5vdCBwcm92aWRpbmcgYSBmdW5jdGlvbiByZXN1bHRzIGluIHRoZSBhY3Rpb25zIGNvbnRyb2wocykgbm90IGJlaW5nIGF0dGFjaGVkIHRvIGFueSBncmlkLlxuICAgKi9cbiAgbWF0Y2hlc0dyaWQ6IChcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgY29udGV4dD86IEdyaWRDb25maWdDb250ZXh0XG4gICkgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xufVxuXG4vKipcbiAqIEZhY3RvcnkgdG8gaW1wbGVtZW50IGluIG9yZGVyIHRvIGFkZCBhY3Rpb24gY29udHJvbHMgZnJvbSBhbiBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEFjdGlvbkNvbnRyb2xGYWN0b3J5ID0gRXh0ZW5zaW9uRmFjdG9yeTxBY3Rpb25Db250cm9sSG9vaz47XG5cbi8qKlxuICogRGVmaW5lcyBhbiBpbnRlcmZhY2UgZm9yIGEgZmlsdGVyIGNoaXAgb2JqZWN0LCB3aGljaCByZXByZXNlbnRzIGEgZmlsdGVyIGFwcGxpZWQgdG8gYSBjb2x1bW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQ2hpcCB7XG4gIC8qKlxuICAgKiBUaGUgYWN0dWFsIHZhbHVlIHRoYXQgdGhlIGNoaXAgd2lsbCBob2xkLlxuICAgKiBJdCBjYW4gYmUganVzdCBhIHN0cmluZyBvciBhIG1vcmUgY29tcGxleCBvYmplY3QgbGlrZVxuICAgKiB7aWQ6IDEyMywgbmFtZTogVGVzdCwgdmFsdWU6IHRlc3R9LlxuICAgKi9cbiAgdmFsdWU6IGFueTtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIHRoYXQgdGhlIGNoaXAgd2lsbCBkaXNwbGF5IGluIHRoZSBkcm9wZG93bi5cbiAgICovXG4gIGRpc3BsYXlWYWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBsYWJlbCB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGlmIGZpbHRlciBjaGlwcyBhcmUgc2VwYXJhdGVkIGludG8gbXVsdGlwbGUgZ3JvdXBzLlxuICAgKi9cbiAgbGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqIEFuIG9wdGlvbmFsIHByb3BlcnR5IHRoYXQgaG9sZHMgdGhlIHBhdGggdG8gdGhlIGNoaXAgdmFsdWUgaW4gdGhlIGV4dGVybmFsRmlsdGVyUXVlcnkuICovXG4gIHBhdGg/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcHJvcGVydHkgdGhhdCBob2xkcyB0aGUgZm9ybSB2YWx1ZSB0YWtlbiBmcm9tIHRoZSBjb2x1bW4gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGV4dGVybmFsRmlsdGVyUXVlcnk/OiBhbnk7XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHByb3BlcnR5IHRoYXQgaG9sZHMgdGhlIGZvcm1seSBmaWx0ZXJpbmcgY29uZmlndXJhdGlvbiBmb3IgdGhlIGNvbHVtbiB0aGF0IHRoaXMgZmlsdGVyIGlzIGFwcGxpZWQgdG8uXG4gICAqL1xuICBmaWx0ZXJpbmdDb25maWc/OiBGb3JtbHlDb2x1bW5GaWx0ZXJpbmdDb25maWc7XG5cbiAgLyoqIEFuIG9wdGlvbmFsIHByb3BlcnR5IHRoYXQgaG9sZHMgYSBzdHJpbmcgdG8gc2VhcmNoIGZvci4gKi9cbiAgZmlsdGVyUHJlZGljYXRlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgY29sdW1uIHRoYXQgdGhpcyBmaWx0ZXIgaXMgYXBwbGllZCB0by5cbiAgICovXG4gIGNvbHVtbk5hbWU6IHN0cmluZyB8IFNwZWNpYWxDb2x1bW5OYW1lO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBmdW5jdGlvbiB0byByZW1vdmUgdGhpcyBmaWx0ZXIgZnJvbSB0aGUgY29sdW1uLlxuICAgKiBJZiBub3QgcHJvdmlkZWQgd2lsbCBzZXQgZGVmYXVsdCByZW1vdmFsIGZ1bmN0aW9uIHRoYXQgd2lsbCByZWR1Y2UgdGhlIGV4dGVybmFsIHF1ZXJ5IGJ5IHJlbW92aW5nIHRoZSBvYmplY3QgdGhhdCBpcyByZXNvbHZlZCBieSB0aGUgcGF0aCBzZXQgaW4gdGhlIEZpbHRlckNoaXAuXG4gICAqIEByZXR1cm5zIEFuIG9iamVjdCBkZWZpbmVkIGJ5IHRoZSBgRmlsdGVyQ2hpcGAgdHlwZSwgaW5jbHVkaW5nIHRoZSBgY29sdW1uTmFtZWAgYW5kICB1cGRhdGVkIGBleHRlcm5hbEZpbHRlclF1ZXJ5YCBvciAnZmlsdGVyUHJlZGljYXRlJyBwcm9wZXJ0aWVzLlxuICAgKiBUaGUgcmV0dXJuZWQgb2JqZWN0IG1heSBhbHNvIGluY2x1ZGUgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIGRlZmluZWQgYnkgdGhlIGBGaWx0ZXJDaGlwYCB0eXBlIGFzIHBhcnRpYWxzLlxuICAgKi9cbiAgcmVtb3ZlPzogKCkgPT4gUGFydGlhbEZpbHRlckNoaXBSZW1vdmFsVHlwZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcGFydGlhbCBmaWx0ZXIgY2hpcCB3aXRoIGVpdGhlciAnY29sdW1uTmFtZScgYW5kICdleHRlcm5hbEZpbHRlclF1ZXJ5JyBvciAnY29sdW1uTmFtZScgYW5kICdmaWx0ZXJQcmVkaWNhdGUnLlxuICogQHR5cGVkZWYge09iamVjdH0gUGFydGlhbEZpbHRlckNoaXBSZW1vdmFsVHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNvbHVtbk5hbWUgLSBUaGUgY29sdW1uIG5hbWUgZm9yIHRoZSBmaWx0ZXIgY2hpcC5cbiAqIEBwcm9wZXJ0eSB7YW55fSBbZXh0ZXJuYWxGaWx0ZXJRdWVyeV0gLSBUaGUgZXh0ZXJuYWwgZmlsdGVyIHF1ZXJ5IGZvciB0aGUgY2hpcCB1c2VkIGZvciBjb21wbGV4IGZpbHRlcnMuXG4gKiBAcHJvcGVydHkge2FueX0gW2ZpbHRlclByZWRpY2F0ZV0gLSBUaGUgZmlsdGVyaW5nIHByZWRpY2F0ZSBmb3IgdGhlIGNoaXAgdXNlZCBmb3Igc2ltcGxlIGZpbHRlcnMgd2l0aCBjbGllbnQtc2lkZSBmaWx0ZXJpbmcuXG4gKiBAcHJvcGVydHkgey4uLkZpbHRlckNoaXB9IFtvcHRpb25hbFByb3BlcnRpZXNdIC0gT3B0aW9uYWwgcHJvcGVydGllcyBmcm9tIHRoZSBGaWx0ZXJDaGlwIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnRpYWxGaWx0ZXJDaGlwUmVtb3ZhbFR5cGUgPSAoXG4gIHwgUmVxdWlyZWQ8UGljazxGaWx0ZXJDaGlwLCAnY29sdW1uTmFtZScgfCAnZXh0ZXJuYWxGaWx0ZXJRdWVyeSc+PlxuICB8IFJlcXVpcmVkPFBpY2s8RmlsdGVyQ2hpcCwgJ2NvbHVtbk5hbWUnIHwgJ2ZpbHRlclByZWRpY2F0ZSc+PlxuKSAmXG4gIFBhcnRpYWw8RmlsdGVyQ2hpcD47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHBhcnRpYWwgZmlsdGVyIGNoaXAgd2l0aCByZXF1aXJlZCBwcm9wZXJ0aWVzICdkaXNwbGF5VmFsdWUnIGFuZCAndmFsdWUnLlxuICogQHR5cGVkZWYge09iamVjdH0gUGFydGlhbEZpbHRlckNoaXBHZW5lcmF0aW9uVHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGRpc3BsYXlWYWx1ZSAtIFRoZSBkaXNwbGF5IHZhbHVlIGZvciB0aGUgZmlsdGVyIGNoaXAuXG4gKiBAcHJvcGVydHkge2FueX0gdmFsdWUgLSBUaGUgdmFsdWUgZm9yIHRoZSBmaWx0ZXIgY2hpcC5cbiAqIEBwcm9wZXJ0eSB7Li4uRmlsdGVyQ2hpcH0gW29wdGlvbmFsUHJvcGVydGllc10gLSBPcHRpb25hbCBwcm9wZXJ0aWVzIGZyb20gdGhlIEZpbHRlckNoaXAgdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgUGFydGlhbEZpbHRlckNoaXBHZW5lcmF0aW9uVHlwZSA9IFJlcXVpcmVkPFBpY2s8RmlsdGVyQ2hpcCwgJ2Rpc3BsYXlWYWx1ZScgfCAndmFsdWUnPj4gJlxuICBQYXJ0aWFsPEZpbHRlckNoaXA+O1xuXG4vKipcbiAqIERlZmluZXMgYW4gaW50ZXJmYWNlIGZvciBhIG1hcHBlciBmdW5jdGlvbiB0aGF0IG1hcHMgYSBgRm9ybWx5RmllbGRDb25maWdgIHRvIGEgYEZpbHRlckNoaXBgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlck1hcHBlciB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvciB0eXBlcyBvZiB0aGUgYEZvcm1seUZpZWxkQ29uZmlnYCB0aGF0IHRoaXMgbWFwcGVyIGFwcGxpZXMgdG8uXG4gICAqL1xuICBmaWVsZFR5cGU6IHN0cmluZ1tdIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYXBzIGEgYEZvcm1seUZpZWxkQ29uZmlnYCBhbmQgYSBgRmlsdGVyQ2hpcGAgdG8gYW4gYE9ic2VydmFibGVgIG9mIGEgYEZpbHRlckNoaXBgLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGV4dGVuZHMgdGhlIHByb3ZpZGVkIGBGaWx0ZXJDaGlwYCBvYmplY3Qgd2l0aCBhZGRpdGlvbmFsIHByb3BlcnRpZXMgYmFzZWQgb24gdGhlIGluZm9ybWF0aW9uIGluIHRoZSBgRm9ybWx5RmllbGRDb25maWdgLlxuICAgKiBUaGUgbWFwcGluZyBwcm9jZXNzIGRlcGVuZHMgb24gdGhlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHRoZSBgRmlsdGVyTWFwcGVyYC5cbiAgICpcbiAgICogQHBhcmFtIGZpZWxkIC0gVGhlIGBGb3JtbHlGaWVsZENvbmZpZ2AgdG8gbWFwLlxuICAgKiBAcGFyYW0gZmlsdGVyIC0gVGhlIGBGaWx0ZXJDaGlwYCB0byBtYXAuXG4gICAqIEByZXR1cm5zIEFuIGBPYnNlcnZhYmxlYCB0aGF0IGVtaXRzIHRoZSBtYXBwZWQgYEZpbHRlckNoaXBgLlxuICAgKiBJZiB1bmRlZmluZWQgaXMgcmV0dXJuZWQgYW4gZXJyb3IgaXMgdGhyb3duIGFuZCB0aGUgY2hpcCBpcyBub3QgdmlzdWFsaXplZC5cbiAgICpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiAvLyBFeGFtcGxlIGltcGxlbWVudGF0aW9uIG9mIGBtYXBgIGZ1bmN0aW9uIGluIGEgYEZpbHRlck1hcHBlcmBcbiAgICogbWFwKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZywgZmlsdGVyOiBGaWx0ZXJDaGlwKTogT2JzZXJ2YWJsZTxGaWx0ZXJDaGlwPiB7XG4gICAqICAgaWYgKHRoaXMuZmllbGRUeXBlLmluY2x1ZGVzKGZpZWxkLnR5cGUudG9TdHJpbmcoKSkpIHtcbiAgICogICAgIHJldHVybiB0b09ic2VydmFibGUoZmllbGQudGVtcGxhdGVPcHRpb25zLm9wdGlvbnMpLnBpcGUoXG4gICAqICAgICAgIG1hcChvcHRpb25zID0+IHtcbiAgICogICAgICAgICBjb25zdCBvYmplY3QgPSBvcHRpb25zLmZpbmQob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gZ2V0KGZpbHRlci5leHRlcm5hbEZpbHRlclF1ZXJ5LCBmaWx0ZXIucGF0aCkpO1xuICAgKiAgICAgICAgIHJldHVybiB7XG4gICAqICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAqICAgICAgICAgICB2YWx1ZTogb2JqZWN0LFxuICAgKiAgICAgICAgICAgZGlzcGxheVZhbHVlOiBvYmplY3Q/LmxhYmVsXG4gICAqICAgICAgICAgfTtcbiAgICogICAgICAgfSlcbiAgICogICAgICk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgbWFwOiAoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLCBmaWx0ZXI6IEZpbHRlckNoaXApID0+IE9ic2VydmFibGU8RmlsdGVyQ2hpcD47XG59XG4iXX0=
@@ -43,7 +43,8 @@ export class DataGridService {
43
43
  const customColumns = config.columns
44
44
  .filter(col => col.custom)
45
45
  .map((col) => new CustomColumn(col));
46
- const allColumns = [...columns, ...customColumns];
46
+ // Avoid config properties to be applied to the original column object by creating shallow copy of columns
47
+ const allColumns = [...columns.map(col => ({ ...col })), ...customColumns];
47
48
  noConfigColumns = allColumns.filter(col => !config.columns.some(configCol => col.name === configCol.name));
48
49
  config.columns.forEach(({ visible, name, sortOrder, filter }) => {
49
50
  const columnToReorder = allColumns.find(col => col.name === name);
@@ -52,6 +53,8 @@ export class DataGridService {
52
53
  columnToReorder.sortOrder = sortOrder;
53
54
  columnToReorder.externalFilterQuery =
54
55
  columnToReorder.externalFilterQuery ?? filter?.externalFilterQuery;
56
+ columnToReorder.filterPredicate =
57
+ columnToReorder.filterPredicate ?? filter?.filterPredicate;
55
58
  reOrderedColumns.push(columnToReorder);
56
59
  }
57
60
  });
@@ -97,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
97
100
  providedIn: 'root'
98
101
  }]
99
102
  }], ctorParameters: () => [{ type: i1.UserPreferencesService }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGEtZ3JpZC9kYXRhLWdyaWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQU10RCxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFzQixzQkFBOEM7UUFBOUMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUoxRCxzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFLL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQ0QsTUFBTSxDQUFDLEVBQUUsQ0FDUCxNQUFNLElBQUk7WUFDUixPQUFPLEVB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bkMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLEVBQUU7Z0JBQ25FLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLENBQUMsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0F4R1UsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVyaWVzVXRpbCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGFzc2lnbiwgZm9yRWFjaCwgZ2V0LCBpZGVudGl0eSwgdHJhbnNmb3JtIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGZyb20sIGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmUsIHRha2UsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi91c2VyLXByZWZlcmVuY2VzL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21Db2x1bW4gfSBmcm9tICcuL2NvbHVtbi9jdXN0b20uY29sdW1uJztcbmltcG9ydCB7IENvbHVtbiwgQ3VzdG9tQ29sdW1uQ29uZmlnLCBHcmlkQ29uZmlnIH0gZnJvbSAnLi9kYXRhLWdyaWQubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZFNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgREVGQVVMVF9QQUdFX1NJWkUgPSAyMDtcblxuICBwcm90ZWN0ZWQgcXVlcmllc1V0aWw6IFF1ZXJpZXNVdGlsO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlKSB7XG4gICAgdGhpcy5xdWVyaWVzVXRpbCA9IG5ldyBRdWVyaWVzVXRpbCgpO1xuICB9XG5cbiAgY2xlYXJDb25maWcoa2V5OiBzdHJpbmcpIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICB9XG5cbiAgZ2V0Q29uZmlnJChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8R3JpZENvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2UuZ2V0KGtleSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgY29uZmlnID0+XG4gICAgICAgICAgY29uZmlnIHx8IHtcbiAgICAgICAgICAgIGNvbHVtbnM6IFtdLFxuICAgICAgICAgICAgcGFnaW5hdGlvbjogeyBwYWdlU2l6ZTogdGhpcy5ERUZBVUxUX1BBR0VfU0laRSwgY3VycmVudFBhZ2U6IDEgfVxuICAgICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgc2F2ZUNvbmZpZyQoY29uZmlnOiBHcmlkQ29uZmlnLCBrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8R3JpZENvbmZpZz4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMudXNlclByZWZlcmVuY2VzU2VydmljZS5zZXQoa2V5LCBjb25maWcpKTtcbiAgfVxuXG4gIGdldFVzZXJDb25maWd1cmVkQ29sdW1ucyQoY29sdW1uczogQ29sdW1uW10gfCBPYnNlcnZhYmxlPENvbHVtbltdPiwgc3RvcmFnZUtleT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldENvbmZpZyQoc3RvcmFnZUtleSkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxuICAgICAgICBpc09ic2VydmFibGUoY29sdW1ucykgPyBjb2x1bW5zIDogKG9mKGNvbHVtbnMpIGFzIHVua25vd24gYXMgT2JzZXJ2YWJsZTxDb2x1bW5bXT4pXG4gICAgICApLFxuICAgICAgbWFwKChbY29uZmlnLCBjb2xzXSkgPT4gdGhpcy5hcHBseUNvbmZpZ1RvQ29sdW1ucyhjb25maWcsIGNvbHMsIHN0b3JhZ2VLZXkpKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBzaGFyZSgpXG4gICAgKTtcbiAgfVxuXG4gIGdldFF1ZXJ5T2JqKGNvbHVtbnM6IENvbHVtbltdLCBkZWZhdWx0RmlsdGVyID0ge30pOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0oY29sdW1ucywgKHF1ZXJ5LCBjb2x1bW4pID0+IHRoaXMuZXh0ZW5kUXVlcnlCeUNvbHVtbihxdWVyeSwgY29sdW1uKSwge1xuICAgICAgX19maWx0ZXI6IHt9LFxuICAgICAgX19vcmRlcmJ5OiBbXSxcbiAgICAgIC4uLmRlZmF1bHRGaWx0ZXJcbiAgICB9KTtcbiAgfVxuXG4gIGFwcGx5Q29uZmlnVG9Db2x1bW5zKGNvbmZpZzogR3JpZENvbmZpZywgY29sdW1uczogQ29sdW1uW10sIHN0b3JhZ2VLZXk/OiBzdHJpbmcpOiBDb2x1bW5bXSB7XG4gICAgaWYgKGNvbmZpZz8uY29sdW1ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcmVPcmRlcmVkQ29sdW1ucyA9IFtdO1xuICAgICAgbGV0IG5vQ29uZmlnQ29sdW1ucyA9IFtdO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY3VzdG9tQ29sdW1ucyA9IGNvbmZpZy5jb2x1bW5zXG4gICAgICAgICAgLmZpbHRlcihjb2wgPT4gKGNvbCBhcyBDdXN0b21Db2x1bW5Db25maWcpLmN1c3RvbSlcbiAgICAgICAgICAubWFwKChjb2w6IEN1c3RvbUNvbHVtbkNvbmZpZykgPT4gbmV3IEN1c3RvbUNvbHVtbihjb2wpKTtcblxuICAgICAgICBjb25zdCBhbGxDb2x1bW5zID0gWy4uLmNvbHVtbnMsIC4uLmN1c3RvbUNvbHVtbnNdO1xuXG4gICAgICAgIG5vQ29uZmlnQ29sdW1ucyA9IGFsbENvbHVtbnMuZmlsdGVyKFxuICAgICAgICAgIGNvbCA9PiAhY29uZmlnLmNvbHVtbnMuc29tZShjb25maWdDb2wgPT4gY29sLm5hbWUgPT09IGNvbmZpZ0NvbC5uYW1lKVxuICAgICAgICApO1xuICAgICAgICBjb25maWcuY29sdW1ucy5mb3JFYWNoKCh7IHZpc2libGUsIG5hbWUsIHNvcnRPcmRlciwgZmlsdGVyIH0pID0+IHtcbiAgICAgICAgICBjb25zdCBjb2x1bW5Ub1Jlb3JkZXIgPSBhbGxDb2x1bW5zLmZpbmQoY29sID0+IGNvbC5uYW1lID09PSBuYW1lKTtcbiAgICAgICAgICBpZiAoY29sdW1uVG9SZW9yZGVyKSB7XG4gICAgICAgICAgICBjb2x1bW5Ub1Jlb3JkZXIudmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgICAgICBjb2x1bW5Ub1Jlb3JkZXIuc29ydE9yZGVyID0gc29ydE9yZGVyO1xuICAgICAgICAgICAgY29sdW1uVG9SZW9yZGVyLmV4dGVybmFsRmlsdGVyUXVlcnkgPVxuICAgICAgICAgICAgICBjb2x1bW5Ub1Jlb3JkZXIuZXh0ZXJuYWxGaWx0ZXJRdWVyeSA/PyBmaWx0ZXI/LmV4dGVybmFsRmlsdGVyUXVlcnk7XG4gICAgICAgICAgICByZU9yZGVyZWRDb2x1bW5zLnB1c2goY29sdW1uVG9SZW9yZGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgdGhpcy5jbGVhckNvbmZpZyhzdG9yYWdlS2V5KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbLi4ucmVPcmRlcmVkQ29sdW1ucywgLi4ubm9Db25maWdDb2x1bW5zXTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbHVtbnM7XG4gIH1cblxuICBwcml2YXRlIGV4dGVuZFF1ZXJ5QnlDb2x1bW4ocXVlcnk6IGFueSwgY29sdW1uOiBDb2x1bW4pOiB2b2lkIHtcbiAgICBpZiAoY29sdW1uLmZpbHRlcmFibGUgJiYgY29sdW1uLmV4dGVybmFsRmlsdGVyUXVlcnkpIHtcbiAgICAgIGNvbnN0IGdldEZpbHRlciA9IGNvbHVtbi5maWx0ZXJpbmdDb25maWcuZ2V0RmlsdGVyIHx8IGlkZW50aXR5O1xuICAgICAgY29uc3QgcXVlcnlPYmogPSBnZXRGaWx0ZXIoY29sdW1uLmV4dGVybmFsRmlsdGVyUXVlcnkpO1xuXG4gICAgICBpZiAocXVlcnlPYmouX19vcikge1xuICAgICAgICBxdWVyeS5fX2ZpbHRlci5fX2FuZCA9IHF1ZXJ5Ll9fZmlsdGVyLl9fYW5kIHx8IFtdO1xuICAgICAgICBxdWVyeS5fX2ZpbHRlci5fX2FuZC5wdXNoKHF1ZXJ5T2JqKTtcbiAgICAgIH0gZWxzZSBpZiAocXVlcnlPYmouX19hbmQgJiYgZ2V0KHF1ZXJ5LCAnX19maWx0ZXIuX19hbmQnKSkge1xuICAgICAgICBxdWVyeU9iai5fX2FuZC5tYXAob2JqID0+IHF1ZXJ5Ll9fZmlsdGVyLl9fYW5kLnB1c2gob2JqKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhc3NpZ24ocXVlcnkuX19maWx0ZXIsIHF1ZXJ5T2JqKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29sdW1uLnNvcnRhYmxlICYmIGNvbHVtbi5zb3J0T3JkZXIpIHtcbiAgICAgIGNvbnN0IGNzID0ge307XG4gICAgICBmb3JFYWNoKGNvbHVtbi5zb3J0aW5nQ29uZmlnLnBhdGhTb3J0aW5nQ29uZmlncywgcGF0aFNvcnRpbmdDb25maWcgPT4ge1xuICAgICAgICBjc1twYXRoU29ydGluZ0NvbmZpZy5wYXRoXSA9XG4gICAgICAgICAgKGNvbHVtbi5zb3J0T3JkZXIgPT09ICdhc2MnID8gMSA6IC0xKSAqIChwYXRoU29ydGluZ0NvbmZpZy5zb3J0T3JkZXJNb2RpZmllciB8fCAxKTtcbiAgICAgIH0pO1xuICAgICAgcXVlcnkuX19vcmRlcmJ5LnB1c2goY3MpO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGEtZ3JpZC9kYXRhLWdyaWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQU10RCxNQUFNLE9BQU8sZUFBZTtJQUsxQixZQUFzQixzQkFBOEM7UUFBOUMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUoxRCxzQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFLL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNyQixZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM5QyxHQUFHLENBQ0QsTUFBTSxDQUFDLEVBQUUsQ0FDUCxNQUFNLElBQUk7WUFDUixPQUFPLEVB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RyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLEVBQUU7Z0JBQ25FLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLENBQUMsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs4R0EzR1UsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVyaWVzVXRpbCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGFzc2lnbiwgZm9yRWFjaCwgZ2V0LCBpZGVudGl0eSwgdHJhbnNmb3JtIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGZyb20sIGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmUsIHRha2UsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi91c2VyLXByZWZlcmVuY2VzL3VzZXItcHJlZmVyZW5jZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21Db2x1bW4gfSBmcm9tICcuL2NvbHVtbi9jdXN0b20uY29sdW1uJztcbmltcG9ydCB7IENvbHVtbiwgQ3VzdG9tQ29sdW1uQ29uZmlnLCBHcmlkQ29uZmlnIH0gZnJvbSAnLi9kYXRhLWdyaWQubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZFNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgREVGQVVMVF9QQUdFX1NJWkUgPSAyMDtcblxuICBwcm90ZWN0ZWQgcXVlcmllc1V0aWw6IFF1ZXJpZXNVdGlsO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlKSB7XG4gICAgdGhpcy5xdWVyaWVzVXRpbCA9IG5ldyBRdWVyaWVzVXRpbCgpO1xuICB9XG5cbiAgY2xlYXJDb25maWcoa2V5OiBzdHJpbmcpIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICB9XG5cbiAgZ2V0Q29uZmlnJChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8R3JpZENvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJQcmVmZXJlbmNlc1NlcnZpY2UuZ2V0KGtleSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgY29uZmlnID0+XG4gICAgICAgICAgY29uZmlnIHx8IHtcbiAgICAgICAgICAgIGNvbHVtbnM6IFtdLFxuICAgICAgICAgICAgcGFnaW5hdGlvbjogeyBwYWdlU2l6ZTogdGhpcy5ERUZBVUxUX1BBR0VfU0laRSwgY3VycmVudFBhZ2U6IDEgfVxuICAgICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgc2F2ZUNvbmZpZyQoY29uZmlnOiBHcmlkQ29uZmlnLCBrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8R3JpZENvbmZpZz4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMudXNlclByZWZlcmVuY2VzU2VydmljZS5zZXQoa2V5LCBjb25maWcpKTtcbiAgfVxuXG4gIGdldFVzZXJDb25maWd1cmVkQ29sdW1ucyQoY29sdW1uczogQ29sdW1uW10gfCBPYnNlcnZhYmxlPENvbHVtbltdPiwgc3RvcmFnZUtleT86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldENvbmZpZyQoc3RvcmFnZUtleSkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKFxuICAgICAgICBpc09ic2VydmFibGUoY29sdW1ucykgPyBjb2x1bW5zIDogKG9mKGNvbHVtbnMpIGFzIHVua25vd24gYXMgT2JzZXJ2YWJsZTxDb2x1bW5bXT4pXG4gICAgICApLFxuICAgICAgbWFwKChbY29uZmlnLCBjb2xzXSkgPT4gdGhpcy5hcHBseUNvbmZpZ1RvQ29sdW1ucyhjb25maWcsIGNvbHMsIHN0b3JhZ2VLZXkpKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBzaGFyZSgpXG4gICAgKTtcbiAgfVxuXG4gIGdldFF1ZXJ5T2JqKGNvbHVtbnM6IENvbHVtbltdLCBkZWZhdWx0RmlsdGVyID0ge30pOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0oY29sdW1ucywgKHF1ZXJ5LCBjb2x1bW4pID0+IHRoaXMuZXh0ZW5kUXVlcnlCeUNvbHVtbihxdWVyeSwgY29sdW1uKSwge1xuICAgICAgX19maWx0ZXI6IHt9LFxuICAgICAgX19vcmRlcmJ5OiBbXSxcbiAgICAgIC4uLmRlZmF1bHRGaWx0ZXJcbiAgICB9KTtcbiAgfVxuXG4gIGFwcGx5Q29uZmlnVG9Db2x1bW5zKGNvbmZpZzogR3JpZENvbmZpZywgY29sdW1uczogQ29sdW1uW10sIHN0b3JhZ2VLZXk/OiBzdHJpbmcpOiBDb2x1bW5bXSB7XG4gICAgaWYgKGNvbmZpZz8uY29sdW1ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcmVPcmRlcmVkQ29sdW1ucyA9IFtdO1xuICAgICAgbGV0IG5vQ29uZmlnQ29sdW1ucyA9IFtdO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY3VzdG9tQ29sdW1ucyA9IGNvbmZpZy5jb2x1bW5zXG4gICAgICAgICAgLmZpbHRlcihjb2wgPT4gKGNvbCBhcyBDdXN0b21Db2x1bW5Db25maWcpLmN1c3RvbSlcbiAgICAgICAgICAubWFwKChjb2w6IEN1c3RvbUNvbHVtbkNvbmZpZykgPT4gbmV3IEN1c3RvbUNvbHVtbihjb2wpKTtcblxuICAgICAgICAvLyBBdm9pZCBjb25maWcgcHJvcGVydGllcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBvcmlnaW5hbCBjb2x1bW4gb2JqZWN0IGJ5IGNyZWF0aW5nIHNoYWxsb3cgY29weSBvZiBjb2x1bW5zXG4gICAgICAgIGNvbnN0IGFsbENvbHVtbnMgPSBbLi4uY29sdW1ucy5tYXAoY29sID0+ICh7IC4uLmNvbCB9KSksIC4uLmN1c3RvbUNvbHVtbnNdO1xuXG4gICAgICAgIG5vQ29uZmlnQ29sdW1ucyA9IGFsbENvbHVtbnMuZmlsdGVyKFxuICAgICAgICAgIGNvbCA9PiAhY29uZmlnLmNvbHVtbnMuc29tZShjb25maWdDb2wgPT4gY29sLm5hbWUgPT09IGNvbmZpZ0NvbC5uYW1lKVxuICAgICAgICApO1xuICAgICAgICBjb25maWcuY29sdW1ucy5mb3JFYWNoKCh7IHZpc2libGUsIG5hbWUsIHNvcnRPcmRlciwgZmlsdGVyIH0pID0+IHtcbiAgICAgICAgICBjb25zdCBjb2x1bW5Ub1Jlb3JkZXIgPSBhbGxDb2x1bW5zLmZpbmQoY29sID0+IGNvbC5uYW1lID09PSBuYW1lKTtcbiAgICAgICAgICBpZiAoY29sdW1uVG9SZW9yZGVyKSB7XG4gICAgICAgICAgICBjb2x1bW5Ub1Jlb3JkZXIudmlzaWJsZSA9IHZpc2libGU7XG4gICAgICAgICAgICBjb2x1bW5Ub1Jlb3JkZXIuc29ydE9yZGVyID0gc29ydE9yZGVyO1xuICAgICAgICAgICAgY29sdW1uVG9SZW9yZGVyLmV4dGVybmFsRmlsdGVyUXVlcnkgPVxuICAgICAgICAgICAgICBjb2x1bW5Ub1Jlb3JkZXIuZXh0ZXJuYWxGaWx0ZXJRdWVyeSA/PyBmaWx0ZXI/LmV4dGVybmFsRmlsdGVyUXVlcnk7XG4gICAgICAgICAgICBjb2x1bW5Ub1Jlb3JkZXIuZmlsdGVyUHJlZGljYXRlID1cbiAgICAgICAgICAgICAgY29sdW1uVG9SZW9yZGVyLmZpbHRlclByZWRpY2F0ZSA/PyBmaWx0ZXI/LmZpbHRlclByZWRpY2F0ZTtcbiAgICAgICAgICAgIHJlT3JkZXJlZENvbHVtbnMucHVzaChjb2x1bW5Ub1Jlb3JkZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICB0aGlzLmNsZWFyQ29uZmlnKHN0b3JhZ2VLZXkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFsuLi5yZU9yZGVyZWRDb2x1bW5zLCAuLi5ub0NvbmZpZ0NvbHVtbnNdO1xuICAgIH1cbiAgICByZXR1cm4gY29sdW1ucztcbiAgfVxuXG4gIHByaXZhdGUgZXh0ZW5kUXVlcnlCeUNvbHVtbihxdWVyeTogYW55LCBjb2x1bW46IENvbHVtbik6IHZvaWQge1xuICAgIGlmIChjb2x1bW4uZmlsdGVyYWJsZSAmJiBjb2x1bW4uZXh0ZXJuYWxGaWx0ZXJRdWVyeSkge1xuICAgICAgY29uc3QgZ2V0RmlsdGVyID0gY29sdW1uLmZpbHRlcmluZ0NvbmZpZy5nZXRGaWx0ZXIgfHwgaWRlbnRpdHk7XG4gICAgICBjb25zdCBxdWVyeU9iaiA9IGdldEZpbHRlcihjb2x1bW4uZXh0ZXJuYWxGaWx0ZXJRdWVyeSk7XG5cbiAgICAgIGlmIChxdWVyeU9iai5fX29yKSB7XG4gICAgICAgIHF1ZXJ5Ll9fZmlsdGVyLl9fYW5kID0gcXVlcnkuX19maWx0ZXIuX19hbmQgfHwgW107XG4gICAgICAgIHF1ZXJ5Ll9fZmlsdGVyLl9fYW5kLnB1c2gocXVlcnlPYmopO1xuICAgICAgfSBlbHNlIGlmIChxdWVyeU9iai5fX2FuZCAmJiBnZXQocXVlcnksICdfX2ZpbHRlci5fX2FuZCcpKSB7XG4gICAgICAgIHF1ZXJ5T2JqLl9fYW5kLm1hcChvYmogPT4gcXVlcnkuX19maWx0ZXIuX19hbmQucHVzaChvYmopKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFzc2lnbihxdWVyeS5fX2ZpbHRlciwgcXVlcnlPYmopO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjb2x1bW4uc29ydGFibGUgJiYgY29sdW1uLnNvcnRPcmRlcikge1xuICAgICAgY29uc3QgY3MgPSB7fTtcbiAgICAgIGZvckVhY2goY29sdW1uLnNvcnRpbmdDb25maWcucGF0aFNvcnRpbmdDb25maWdzLCBwYXRoU29ydGluZ0NvbmZpZyA9PiB7XG4gICAgICAgIGNzW3BhdGhTb3J0aW5nQ29uZmlnLnBhdGhdID1cbiAgICAgICAgICAoY29sdW1uLnNvcnRPcmRlciA9PT0gJ2FzYycgPyAxIDogLTEpICogKHBhdGhTb3J0aW5nQ29uZmlnLnNvcnRPcmRlck1vZGlmaWVyIHx8IDEpO1xuICAgICAgfSk7XG4gICAgICBxdWVyeS5fX29yZGVyYnkucHVzaChjcyk7XG4gICAgfVxuICAgIHJldHVybiBxdWVyeTtcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
- import { Component, Output, Input, EventEmitter, ViewChild } from '@angular/core';
2
- import { DropAreaComponent } from '../drop-area/drop-area.component';
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
2
  import { isEmpty } from 'lodash-es';
3
+ import { DropAreaComponent } from '../drop-area/drop-area.component';
4
+ import { ValidationPattern } from '../forms/validation-pattern';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/forms";
6
7
  import * as i2 from "../forms/form-group.component";
@@ -28,6 +29,7 @@ export class FilePickerComponent {
28
29
  this.maxAllowedFiles = Infinity;
29
30
  this.uploadChoice = 'uploadBinary';
30
31
  this.config = { maxlength: 2048 };
32
+ this.ValidationPattern = ValidationPattern;
31
33
  }
32
34
  /**
33
35
  * @ignore
@@ -81,11 +83,11 @@ export class FilePickerComponent {
81
83
  return !isEmpty(this.fileUrlPopover);
82
84
  }
83
85
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FilePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: FilePickerComponent, selector: "c8y-file-picker", inputs: { maxAllowedFiles: "maxAllowedFiles", uploadChoice: "uploadChoice", fileUrl: "fileUrl", fileBinary: "fileBinary", config: "config", filePickerIndex: "filePickerIndex", fileUrlPopover: "fileUrlPopover" }, outputs: { onFilesPicked: "onFilesPicked" }, viewQueries: [{ propertyName: "dropArea", first: true, predicate: DropAreaComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"form-group\">\n <label title=\"{{ 'Upload a binary' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadBinary\"\n name=\"uploadChoice-{{filePickerIndex}}\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearInputFromUrl()\"\n />\n <span></span>\n <span>{{ 'Upload a binary' | translate }}</span>\n </label>\n <label\n title=\"{{ 'Provide a file path' | translate }}\"\n class=\"c8y-radio radio-inline m-l-8\"\n data-cy=\"file-picker--file-path-input\"\n >\n <input\n #radio\n type=\"radio\"\n value=\"uploadUrl\"\n name=\"uploadChoice-{{filePickerIndex}}\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearSelectedFiles()\"\n />\n <span></span>\n <span>\n {{ 'Provide a file path' | translate }}\n </span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ fileUrlPopover | translate }}\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n placement=\"top\"\n *ngIf=\"isPopoverUsed()\"\n ></button>\n </label>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadBinary'\">\n <c8y-form-group class=\"m-0\">\n <c8y-drop-area\n class=\"drop-area-sm\"\n (dropped)=\"onFileDropped($event)\"\n [title]=\"'Drop file or click to browse' | translate\"\n [attr.aria-label]=\"'Drop file or click to browse' | translate\"\n [maxAllowedFiles]=\"maxAllowedFiles\"\n [files]=\"droppedFiles\"\n ></c8y-drop-area>\n </c8y-form-group>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadUrl'\">\n <c8y-form-group class=\"m-0\">\n <div class=\"m-b-4 p-b-8\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <i c8yIcon=\"globe\"></i>\n </span>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"fileUrl\"\n data-cy=\"file-picker--fileUrl\"\n [(ngModel)]=\"fileUrl\"\n (ngModelChange)=\"onFileUrlChange($event)\"\n placeholder=\"{{ 'e.g.' | translate }} http://example.com/binary.zip\"\n maxlength=\"{{ config.maxlength }}\"\n required\n />\n </div>\n </div>\n </c8y-form-group>\n</div>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i3.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.DropAreaComponent, selector: "c8y-drop-area", inputs: ["formControl", "title", "message", "icon", "loadingMessage", "forceHideList", "alwaysShow", "clickToOpen", "loading", "progress", "maxAllowedFiles", "files", "maxFileSizeInMegaBytes", "accept"], outputs: ["dropped"] }, { kind: "directive", type: i6.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i7.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i8.C8yTranslatePipe, name: "translate" }] }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: FilePickerComponent, selector: "c8y-file-picker", inputs: { maxAllowedFiles: "maxAllowedFiles", uploadChoice: "uploadChoice", fileUrl: "fileUrl", fileBinary: "fileBinary", config: "config", filePickerIndex: "filePickerIndex", fileUrlPopover: "fileUrlPopover" }, outputs: { onFilesPicked: "onFilesPicked" }, viewQueries: [{ propertyName: "dropArea", first: true, predicate: DropAreaComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"form-group\">\n <label title=\"{{ 'Upload a binary' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadBinary\"\n name=\"uploadChoice-{{filePickerIndex}}\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearInputFromUrl()\"\n />\n <span></span>\n <span>{{ 'Upload a binary' | translate }}</span>\n </label>\n <label\n title=\"{{ 'Provide a file path' | translate }}\"\n class=\"c8y-radio radio-inline m-l-8\"\n data-cy=\"file-picker--file-path-input\"\n >\n <input\n #radio\n type=\"radio\"\n value=\"uploadUrl\"\n name=\"uploadChoice-{{filePickerIndex}}\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearSelectedFiles()\"\n />\n <span></span>\n <span>\n {{ 'Provide a file path' | translate }}\n </span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ fileUrlPopover | translate }}\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n placement=\"top\"\n *ngIf=\"isPopoverUsed()\"\n ></button>\n </label>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadBinary'\">\n <c8y-form-group class=\"m-0\">\n <c8y-drop-area\n class=\"drop-area-sm\"\n (dropped)=\"onFileDropped($event)\"\n [title]=\"'Drop file or click to browse' | translate\"\n [attr.aria-label]=\"'Drop file or click to browse' | translate\"\n [maxAllowedFiles]=\"maxAllowedFiles\"\n [files]=\"droppedFiles\"\n ></c8y-drop-area>\n </c8y-form-group>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadUrl'\">\n <c8y-form-group class=\"m-0\">\n <div class=\"m-b-4 p-b-8\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <i c8yIcon=\"globe\"></i>\n </span>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"fileUrl\"\n data-cy=\"file-picker--fileUrl\"\n [(ngModel)]=\"fileUrl\"\n (ngModelChange)=\"onFileUrlChange($event)\"\n placeholder=\"{{ 'e.g.' | translate }} http://example.com/binary.zip\"\n maxlength=\"{{ config.maxlength }}\"\n required\n [pattern]=\"ValidationPattern.rules.noWhiteSpaceOnly.pattern\"\n />\n </div>\n </div>\n </c8y-form-group>\n</div>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i3.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.DropAreaComponent, selector: "c8y-drop-area", inputs: ["formControl", "title", "message", "icon", "loadingMessage", "forceHideList", "alwaysShow", "clickToOpen", "loading", "progress", "maxAllowedFiles", "files", "maxFileSizeInMegaBytes", "accept"], outputs: ["dropped"] }, { kind: "directive", type: i6.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i7.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "pipe", type: i8.C8yTranslatePipe, name: "translate" }] }); }
85
87
  }
86
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FilePickerComponent, decorators: [{
87
89
  type: Component,
88
- args: [{ selector: 'c8y-file-picker', template: "<div class=\"form-group\">\n <label title=\"{{ 'Upload a binary' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadBinary\"\n name=\"uploadChoice-{{filePickerIndex}}\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearInputFromUrl()\"\n />\n <span></span>\n <span>{{ 'Upload a binary' | translate }}</span>\n </label>\n <label\n title=\"{{ 'Provide a file path' | translate }}\"\n class=\"c8y-radio radio-inline m-l-8\"\n data-cy=\"file-picker--file-path-input\"\n >\n <input\n #radio\n type=\"radio\"\n value=\"uploadUrl\"\n name=\"uploadChoice-{{filePickerIndex}}\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearSelectedFiles()\"\n />\n <span></span>\n <span>\n {{ 'Provide a file path' | translate }}\n </span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ fileUrlPopover | translate }}\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n placement=\"top\"\n *ngIf=\"isPopoverUsed()\"\n ></button>\n </label>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadBinary'\">\n <c8y-form-group class=\"m-0\">\n <c8y-drop-area\n class=\"drop-area-sm\"\n (dropped)=\"onFileDropped($event)\"\n [title]=\"'Drop file or click to browse' | translate\"\n [attr.aria-label]=\"'Drop file or click to browse' | translate\"\n [maxAllowedFiles]=\"maxAllowedFiles\"\n [files]=\"droppedFiles\"\n ></c8y-drop-area>\n </c8y-form-group>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadUrl'\">\n <c8y-form-group class=\"m-0\">\n <div class=\"m-b-4 p-b-8\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <i c8yIcon=\"globe\"></i>\n </span>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"fileUrl\"\n data-cy=\"file-picker--fileUrl\"\n [(ngModel)]=\"fileUrl\"\n (ngModelChange)=\"onFileUrlChange($event)\"\n placeholder=\"{{ 'e.g.' | translate }} http://example.com/binary.zip\"\n maxlength=\"{{ config.maxlength }}\"\n required\n />\n </div>\n </div>\n </c8y-form-group>\n</div>\n" }]
90
+ args: [{ selector: 'c8y-file-picker', template: "<div class=\"form-group\">\n <label title=\"{{ 'Upload a binary' | translate }}\" class=\"c8y-radio radio-inline\">\n <input\n #radio\n type=\"radio\"\n value=\"uploadBinary\"\n name=\"uploadChoice-{{filePickerIndex}}\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearInputFromUrl()\"\n />\n <span></span>\n <span>{{ 'Upload a binary' | translate }}</span>\n </label>\n <label\n title=\"{{ 'Provide a file path' | translate }}\"\n class=\"c8y-radio radio-inline m-l-8\"\n data-cy=\"file-picker--file-path-input\"\n >\n <input\n #radio\n type=\"radio\"\n value=\"uploadUrl\"\n name=\"uploadChoice-{{filePickerIndex}}\"\n [(ngModel)]=\"uploadChoice\"\n (click)=\"clearSelectedFiles()\"\n />\n <span></span>\n <span>\n {{ 'Provide a file path' | translate }}\n </span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ fileUrlPopover | translate }}\"\n placement=\"top\"\n triggers=\"focus\"\n container=\"body\"\n placement=\"top\"\n *ngIf=\"isPopoverUsed()\"\n ></button>\n </label>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadBinary'\">\n <c8y-form-group class=\"m-0\">\n <c8y-drop-area\n class=\"drop-area-sm\"\n (dropped)=\"onFileDropped($event)\"\n [title]=\"'Drop file or click to browse' | translate\"\n [attr.aria-label]=\"'Drop file or click to browse' | translate\"\n [maxAllowedFiles]=\"maxAllowedFiles\"\n [files]=\"droppedFiles\"\n ></c8y-drop-area>\n </c8y-form-group>\n</div>\n\n<div [hidden]=\"uploadChoice !== 'uploadUrl'\">\n <c8y-form-group class=\"m-0\">\n <div class=\"m-b-4 p-b-8\">\n <div class=\"input-group\">\n <span class=\"input-group-addon\">\n <i c8yIcon=\"globe\"></i>\n </span>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"fileUrl\"\n data-cy=\"file-picker--fileUrl\"\n [(ngModel)]=\"fileUrl\"\n (ngModelChange)=\"onFileUrlChange($event)\"\n placeholder=\"{{ 'e.g.' | translate }} http://example.com/binary.zip\"\n maxlength=\"{{ config.maxlength }}\"\n required\n [pattern]=\"ValidationPattern.rules.noWhiteSpaceOnly.pattern\"\n />\n </div>\n </div>\n </c8y-form-group>\n</div>\n" }]
89
91
  }], propDecorators: { dropArea: [{
90
92
  type: ViewChild,
91
93
  args: [DropAreaComponent, { static: true }]
@@ -106,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
106
108
  }], fileUrlPopover: [{
107
109
  type: Input
108
110
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9maWxlLXBpY2tlci9maWxlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2ZpbGUtcGlja2VyL2ZpbGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBZSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWxGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7Ozs7QUFHcEM7Ozs7Ozs7Ozs7O0dBV0c7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBSmhDO1FBTVksa0JBQWEsR0FBOEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvRCxvQkFBZSxHQUFHLFFBQVEsQ0FBQztRQUMzQixpQkFBWSxHQUFpQyxjQUFjLENBQUM7UUFHNUQsV0FBTSxHQUFxQixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztLQXFFekQ7SUF4REM7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLFlBQTJCO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLFlBQVk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLEVBQUUsU0FBUztTQUNmLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixZQUFZLEVBQUUsU0FBUztTQUN4QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxNQUFNO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsR0FBRyxFQUFFLE1BQU07U0FDWixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDOzhHQTNFVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixrV0FDbkIsaUJBQWlCLDhEQ3hCOUIsb3pFQStFQTs7MkZEeERhLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBSXFCLFFBQVE7c0JBQXZELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNwQyxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcm9wcGVkRmlsZSwgRHJvcEFyZWFDb21wb25lbnQgfSBmcm9tICcuLi9kcm9wLWFyZWEvZHJvcC1hcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaWNrZWRGaWxlcyB9IGZyb20gJy4vZmlsZS1waWNrZXIubW9kZWwnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBGaWxlUGlja2VyQ29uZmlnIH0gZnJvbSAnLi9maWxlLXBpY2tlci1jb25maWcubW9kZWwnO1xuXG4vKipcbiAqIFVzZXIgY2FuIHVwbG9hZCBhIGJpbmFyeSBkaXJlY3RseSBvciB1c2UgYW4gVVJMLlxuICpcbiAqICMjIFVzYWdlXG4gKlxuICogYGBgaHRtbFxuICogPGRpdj5cbiAqIDxjOHktZmlsZS1waWNrZXIgW21heEFsbG93ZWRGaWxlc109XCIxXCIgKG9uRmlsZXNQaWNrZWQpPVwib25GaWxlKCRldmVudClcIj5cbiAqIDwvYzh5LWZpbGUtcGlja2VyPlxuICogPC9kaXY+XG4gKiBgYGBcbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZmlsZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKERyb3BBcmVhQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wQXJlYTogRHJvcEFyZWFDb21wb25lbnQ7XG4gIEBPdXRwdXQoKSBvbkZpbGVzUGlja2VkOiBFdmVudEVtaXR0ZXI8UGlja2VkRmlsZXM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSBtYXhBbGxvd2VkRmlsZXMgPSBJbmZpbml0eTtcbiAgQElucHV0KCkgdXBsb2FkQ2hvaWNlOiAndXBsb2FkQmluYXJ5JyB8ICd1cGxvYWRVcmwnID0gJ3VwbG9hZEJpbmFyeSc7XG4gIEBJbnB1dCgpIGZpbGVVcmw6IHN0cmluZztcbiAgQElucHV0KCkgZmlsZUJpbmFyeTogRHJvcHBlZEZpbGU7XG4gIEBJbnB1dCgpIGNvbmZpZzogRmlsZVBpY2tlckNvbmZpZyA9IHsgbWF4bGVuZ3RoOiAyMDQ4IH07XG4gIC8qKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIGZpbGUgcGlja2VycyBpbiB0aGUgc2FtZSB2aWV3LlxuICAgKi9cbiAgQElucHV0KCkgZmlsZVBpY2tlckluZGV4OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHN0cmluZyB0byBiZSBkaXNwbGF5ZWQgaW4gYSBwb3BvdmVyLlxuICAgKi9cbiAgQElucHV0KCkgZmlsZVVybFBvcG92ZXI6IHN0cmluZztcblxuICBkcm9wcGVkRmlsZXM6IERyb3BwZWRGaWxlW107XG4gIHByaXZhdGUgZmlsZVRvU2F2ZTogUGlja2VkRmlsZXM7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbGVCaW5hcnkpIHtcbiAgICAgIHRoaXMuZHJvcHBlZEZpbGVzID0gW3RoaXMuZmlsZUJpbmFyeV07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCBieSBkcm9wcGVkIGZpbGUgaW4gY29tcG9uZW50IGFuZCBwYXNzIGl0IGludG8gZHJvcC1hcmVhIGNvbXBvbmVudC5cbiAgICovXG4gIG9uRmlsZURyb3BwZWQoZHJvcHBlZEZpbGVzOiBEcm9wcGVkRmlsZVtdKTogdm9pZCB7XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQoe1xuICAgICAgZHJvcHBlZEZpbGVzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdXNlciBjaGFuZ2VzIHVwbG9hZCBjaG9pY2UsIGZyb20gdXBsb2FkIHVybCB0byB1cGxvYWQgYmluYXJ5LlxuICAgKi9cbiAgY2xlYXJJbnB1dEZyb21VcmwoKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMuZmlsZVVybDtcbiAgICB0aGlzLmZpbGVUb1NhdmUgPSB7XG4gICAgICB1cmw6IHVuZGVmaW5lZFxuICAgIH07XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQodGhpcy5maWxlVG9TYXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiB1c2VyIGNoYW5nZXMgdXBsb2FkIGNob2ljZSwgdG8gYXZvaWQgY3VtdWxhdGlvbiBvZiBkcm9wcGVkRmlsZXMuXG4gICAqL1xuICBjbGVhclNlbGVjdGVkRmlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wQXJlYS5vbkRlbGV0ZSgpO1xuICAgIHRoaXMuZmlsZVRvU2F2ZSA9IHtcbiAgICAgIGRyb3BwZWRGaWxlczogdW5kZWZpbmVkXG4gICAgfTtcbiAgICB0aGlzLm9uRmlsZXNQaWNrZWQuZW1pdCh0aGlzLmZpbGVUb1NhdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHVzZXIgcHV0cyBiaW5hcnkncyB1cmwgdG8gdXBsb2FkLlxuICAgKi9cbiAgb25GaWxlVXJsQ2hhbmdlKHVybFN0cik6IHZvaWQge1xuICAgIHRoaXMuZmlsZVRvU2F2ZSA9IHtcbiAgICAgIHVybDogdXJsU3RyXG4gICAgfTtcbiAgICB0aGlzLm9uRmlsZXNQaWNrZWQuZW1pdCh0aGlzLmZpbGVUb1NhdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGVyZSBpcyBwb3BvdmVyIHRvIGRpc3BsYXkuXG4gICAqL1xuICBpc1BvcG92ZXJVc2VkKCkge1xuICAgIHJldHVybiAhaXNFbXB0eSh0aGlzLmZpbGVVcmxQb3BvdmVyKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPGxhYmVsIHRpdGxlPVwie3sgJ1VwbG9hZCBhIGJpbmFyeScgfCB0cmFuc2xhdGUgfX1cIiBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmVcIj5cbiAgICA8aW5wdXRcbiAgICAgICNyYWRpb1xuICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgIHZhbHVlPVwidXBsb2FkQmluYXJ5XCJcbiAgICAgIG5hbWU9XCJ1cGxvYWRDaG9pY2Ute3tmaWxlUGlja2VySW5kZXh9fVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInVwbG9hZENob2ljZVwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dEZyb21VcmwoKVwiXG4gICAgLz5cbiAgICA8c3Bhbj48L3NwYW4+XG4gICAgPHNwYW4+e3sgJ1VwbG9hZCBhIGJpbmFyeScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxsYWJlbFxuICAgIHRpdGxlPVwie3sgJ1Byb3ZpZGUgYSBmaWxlIHBhdGgnIHwgdHJhbnNsYXRlIH19XCJcbiAgICBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmUgbS1sLThcIlxuICAgIGRhdGEtY3k9XCJmaWxlLXBpY2tlci0tZmlsZS1wYXRoLWlucHV0XCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgI3JhZGlvXG4gICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgdmFsdWU9XCJ1cGxvYWRVcmxcIlxuICAgICAgbmFtZT1cInVwbG9hZENob2ljZS17e2ZpbGVQaWNrZXJJbmRleH19XCJcbiAgICAgIFsobmdNb2RlbCldPVwidXBsb2FkQ2hvaWNlXCJcbiAgICAgIChjbGljayk9XCJjbGVhclNlbGVjdGVkRmlsZXMoKVwiXG4gICAgLz5cbiAgICA8c3Bhbj48L3NwYW4+XG4gICAgPHNwYW4+XG4gICAgICB7eyAnUHJvdmlkZSBhIGZpbGUgcGF0aCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4taGVscFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgIHBvcG92ZXI9XCJ7eyBmaWxlVXJsUG9wb3ZlciB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgdHJpZ2dlcnM9XCJmb2N1c1wiXG4gICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgIHBsYWNlbWVudD1cInRvcFwiXG4gICAgICAqbmdJZj1cImlzUG9wb3ZlclVzZWQoKVwiXG4gICAgPjwvYnV0dG9uPlxuICA8L2xhYmVsPlxuPC9kaXY+XG5cbjxkaXYgW2hpZGRlbl09XCJ1cGxvYWRDaG9pY2UgIT09ICd1cGxvYWRCaW5hcnknXCI+XG4gIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tMFwiPlxuICAgIDxjOHktZHJvcC1hcmVhXG4gICAgICBjbGFzcz1cImRyb3AtYXJlYS1zbVwiXG4gICAgICAoZHJvcHBlZCk9XCJvbkZpbGVEcm9wcGVkKCRldmVudClcIlxuICAgICAgW3RpdGxlXT1cIidEcm9wIGZpbGUgb3IgY2xpY2sgdG8gYnJvd3NlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidEcm9wIGZpbGUgb3IgY2xpY2sgdG8gYnJvd3NlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbbWF4QWxsb3dlZEZpbGVzXT1cIm1heEFsbG93ZWRGaWxlc1wiXG4gICAgICBbZmlsZXNdPVwiZHJvcHBlZEZpbGVzXCJcbiAgICA+PC9jOHktZHJvcC1hcmVhPlxuICA8L2M4eS1mb3JtLWdyb3VwPlxuPC9kaXY+XG5cbjxkaXYgW2hpZGRlbl09XCJ1cGxvYWRDaG9pY2UgIT09ICd1cGxvYWRVcmwnXCI+XG4gIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtLWItNCBwLWItOFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYWRkb25cIj5cbiAgICAgICAgICA8aSBjOHlJY29uPVwiZ2xvYmVcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBuYW1lPVwiZmlsZVVybFwiXG4gICAgICAgICAgZGF0YS1jeT1cImZpbGUtcGlja2VyLS1maWxlVXJsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbGVVcmxcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmlsZVVybENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuJyB8IHRyYW5zbGF0ZSB9fSBodHRwOi8vZXhhbXBsZS5jb20vYmluYXJ5LnppcFwiXG4gICAgICAgICAgbWF4bGVuZ3RoPVwie3sgY29uZmlnLm1heGxlbmd0aCB9fVwiXG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2M4eS1mb3JtLWdyb3VwPlxuPC9kaXY+XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9maWxlLXBpY2tlci9maWxlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2ZpbGUtcGlja2VyL2ZpbGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFlLE1BQU0sa0NBQWtDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFJaEU7Ozs7Ozs7Ozs7O0dBV0c7QUFNSCxNQUFNLE9BQU8sbUJBQW1CO0lBSmhDO1FBTVksa0JBQWEsR0FBOEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvRCxvQkFBZSxHQUFHLFFBQVEsQ0FBQztRQUMzQixpQkFBWSxHQUFpQyxjQUFjLENBQUM7UUFHNUQsV0FBTSxHQUFxQixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQVV4RCxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztLQTREdkM7SUF4REM7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLFlBQTJCO1FBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLFlBQVk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLEVBQUUsU0FBUztTQUNmLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixZQUFZLEVBQUUsU0FBUztTQUN4QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxNQUFNO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsR0FBRyxFQUFFLE1BQU07U0FDWixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDOzhHQTVFVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixrV0FDbkIsaUJBQWlCLDhEQ3pCOUIsODNFQWdGQTs7MkZEeERhLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDRSxpQkFBaUI7OEJBSXFCLFFBQVE7c0JBQXZELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNwQyxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERyb3BBcmVhQ29tcG9uZW50LCBEcm9wcGVkRmlsZSB9IGZyb20gJy4uL2Ryb3AtYXJlYS9kcm9wLWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IFZhbGlkYXRpb25QYXR0ZXJuIH0gZnJvbSAnLi4vZm9ybXMvdmFsaWRhdGlvbi1wYXR0ZXJuJztcbmltcG9ydCB7IEZpbGVQaWNrZXJDb25maWcgfSBmcm9tICcuL2ZpbGUtcGlja2VyLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBQaWNrZWRGaWxlcyB9IGZyb20gJy4vZmlsZS1waWNrZXIubW9kZWwnO1xuXG4vKipcbiAqIFVzZXIgY2FuIHVwbG9hZCBhIGJpbmFyeSBkaXJlY3RseSBvciB1c2UgYW4gVVJMLlxuICpcbiAqICMjIFVzYWdlXG4gKlxuICogYGBgaHRtbFxuICogPGRpdj5cbiAqIDxjOHktZmlsZS1waWNrZXIgW21heEFsbG93ZWRGaWxlc109XCIxXCIgKG9uRmlsZXNQaWNrZWQpPVwib25GaWxlKCRldmVudClcIj5cbiAqIDwvYzh5LWZpbGUtcGlja2VyPlxuICogPC9kaXY+XG4gKiBgYGBcbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZmlsZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKERyb3BBcmVhQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wQXJlYTogRHJvcEFyZWFDb21wb25lbnQ7XG4gIEBPdXRwdXQoKSBvbkZpbGVzUGlja2VkOiBFdmVudEVtaXR0ZXI8UGlja2VkRmlsZXM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSBtYXhBbGxvd2VkRmlsZXMgPSBJbmZpbml0eTtcbiAgQElucHV0KCkgdXBsb2FkQ2hvaWNlOiAndXBsb2FkQmluYXJ5JyB8ICd1cGxvYWRVcmwnID0gJ3VwbG9hZEJpbmFyeSc7XG4gIEBJbnB1dCgpIGZpbGVVcmw6IHN0cmluZztcbiAgQElucHV0KCkgZmlsZUJpbmFyeTogRHJvcHBlZEZpbGU7XG4gIEBJbnB1dCgpIGNvbmZpZzogRmlsZVBpY2tlckNvbmZpZyA9IHsgbWF4bGVuZ3RoOiAyMDQ4IH07XG4gIC8qKlxuICAgKiBVc2VkIG9ubHkgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIGZpbGUgcGlja2VycyBpbiB0aGUgc2FtZSB2aWV3LlxuICAgKi9cbiAgQElucHV0KCkgZmlsZVBpY2tlckluZGV4OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHN0cmluZyB0byBiZSBkaXNwbGF5ZWQgaW4gYSBwb3BvdmVyLlxuICAgKi9cbiAgQElucHV0KCkgZmlsZVVybFBvcG92ZXI6IHN0cmluZztcblxuICBWYWxpZGF0aW9uUGF0dGVybiA9IFZhbGlkYXRpb25QYXR0ZXJuO1xuICBkcm9wcGVkRmlsZXM6IERyb3BwZWRGaWxlW107XG4gIHByaXZhdGUgZmlsZVRvU2F2ZTogUGlja2VkRmlsZXM7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbGVCaW5hcnkpIHtcbiAgICAgIHRoaXMuZHJvcHBlZEZpbGVzID0gW3RoaXMuZmlsZUJpbmFyeV07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCBieSBkcm9wcGVkIGZpbGUgaW4gY29tcG9uZW50IGFuZCBwYXNzIGl0IGludG8gZHJvcC1hcmVhIGNvbXBvbmVudC5cbiAgICovXG4gIG9uRmlsZURyb3BwZWQoZHJvcHBlZEZpbGVzOiBEcm9wcGVkRmlsZVtdKTogdm9pZCB7XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQoe1xuICAgICAgZHJvcHBlZEZpbGVzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdXNlciBjaGFuZ2VzIHVwbG9hZCBjaG9pY2UsIGZyb20gdXBsb2FkIHVybCB0byB1cGxvYWQgYmluYXJ5LlxuICAgKi9cbiAgY2xlYXJJbnB1dEZyb21VcmwoKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMuZmlsZVVybDtcbiAgICB0aGlzLmZpbGVUb1NhdmUgPSB7XG4gICAgICB1cmw6IHVuZGVmaW5lZFxuICAgIH07XG4gICAgdGhpcy5vbkZpbGVzUGlja2VkLmVtaXQodGhpcy5maWxlVG9TYXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgd2hlbiB1c2VyIGNoYW5nZXMgdXBsb2FkIGNob2ljZSwgdG8gYXZvaWQgY3VtdWxhdGlvbiBvZiBkcm9wcGVkRmlsZXMuXG4gICAqL1xuICBjbGVhclNlbGVjdGVkRmlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wQXJlYS5vbkRlbGV0ZSgpO1xuICAgIHRoaXMuZmlsZVRvU2F2ZSA9IHtcbiAgICAgIGRyb3BwZWRGaWxlczogdW5kZWZpbmVkXG4gICAgfTtcbiAgICB0aGlzLm9uRmlsZXNQaWNrZWQuZW1pdCh0aGlzLmZpbGVUb1NhdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHVzZXIgcHV0cyBiaW5hcnkncyB1cmwgdG8gdXBsb2FkLlxuICAgKi9cbiAgb25GaWxlVXJsQ2hhbmdlKHVybFN0cik6IHZvaWQge1xuICAgIHRoaXMuZmlsZVRvU2F2ZSA9IHtcbiAgICAgIHVybDogdXJsU3RyXG4gICAgfTtcbiAgICB0aGlzLm9uRmlsZXNQaWNrZWQuZW1pdCh0aGlzLmZpbGVUb1NhdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGVyZSBpcyBwb3BvdmVyIHRvIGRpc3BsYXkuXG4gICAqL1xuICBpc1BvcG92ZXJVc2VkKCkge1xuICAgIHJldHVybiAhaXNFbXB0eSh0aGlzLmZpbGVVcmxQb3BvdmVyKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgPGxhYmVsIHRpdGxlPVwie3sgJ1VwbG9hZCBhIGJpbmFyeScgfCB0cmFuc2xhdGUgfX1cIiBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmVcIj5cbiAgICA8aW5wdXRcbiAgICAgICNyYWRpb1xuICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgIHZhbHVlPVwidXBsb2FkQmluYXJ5XCJcbiAgICAgIG5hbWU9XCJ1cGxvYWRDaG9pY2Ute3tmaWxlUGlja2VySW5kZXh9fVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInVwbG9hZENob2ljZVwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJJbnB1dEZyb21VcmwoKVwiXG4gICAgLz5cbiAgICA8c3Bhbj48L3NwYW4+XG4gICAgPHNwYW4+e3sgJ1VwbG9hZCBhIGJpbmFyeScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxsYWJlbFxuICAgIHRpdGxlPVwie3sgJ1Byb3ZpZGUgYSBmaWxlIHBhdGgnIHwgdHJhbnNsYXRlIH19XCJcbiAgICBjbGFzcz1cImM4eS1yYWRpbyByYWRpby1pbmxpbmUgbS1sLThcIlxuICAgIGRhdGEtY3k9XCJmaWxlLXBpY2tlci0tZmlsZS1wYXRoLWlucHV0XCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgI3JhZGlvXG4gICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgdmFsdWU9XCJ1cGxvYWRVcmxcIlxuICAgICAgbmFtZT1cInVwbG9hZENob2ljZS17e2ZpbGVQaWNrZXJJbmRleH19XCJcbiAgICAgIFsobmdNb2RlbCldPVwidXBsb2FkQ2hvaWNlXCJcbiAgICAgIChjbGljayk9XCJjbGVhclNlbGVjdGVkRmlsZXMoKVwiXG4gICAgLz5cbiAgICA8c3Bhbj48L3NwYW4+XG4gICAgPHNwYW4+XG4gICAgICB7eyAnUHJvdmlkZSBhIGZpbGUgcGF0aCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4taGVscFwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgIHBvcG92ZXI9XCJ7eyBmaWxlVXJsUG9wb3ZlciB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgdHJpZ2dlcnM9XCJmb2N1c1wiXG4gICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgIHBsYWNlbWVudD1cInRvcFwiXG4gICAgICAqbmdJZj1cImlzUG9wb3ZlclVzZWQoKVwiXG4gICAgPjwvYnV0dG9uPlxuICA8L2xhYmVsPlxuPC9kaXY+XG5cbjxkaXYgW2hpZGRlbl09XCJ1cGxvYWRDaG9pY2UgIT09ICd1cGxvYWRCaW5hcnknXCI+XG4gIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tMFwiPlxuICAgIDxjOHktZHJvcC1hcmVhXG4gICAgICBjbGFzcz1cImRyb3AtYXJlYS1zbVwiXG4gICAgICAoZHJvcHBlZCk9XCJvbkZpbGVEcm9wcGVkKCRldmVudClcIlxuICAgICAgW3RpdGxlXT1cIidEcm9wIGZpbGUgb3IgY2xpY2sgdG8gYnJvd3NlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidEcm9wIGZpbGUgb3IgY2xpY2sgdG8gYnJvd3NlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbbWF4QWxsb3dlZEZpbGVzXT1cIm1heEFsbG93ZWRGaWxlc1wiXG4gICAgICBbZmlsZXNdPVwiZHJvcHBlZEZpbGVzXCJcbiAgICA+PC9jOHktZHJvcC1hcmVhPlxuICA8L2M4eS1mb3JtLWdyb3VwPlxuPC9kaXY+XG5cbjxkaXYgW2hpZGRlbl09XCJ1cGxvYWRDaG9pY2UgIT09ICd1cGxvYWRVcmwnXCI+XG4gIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cIm0tMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtLWItNCBwLWItOFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYWRkb25cIj5cbiAgICAgICAgICA8aSBjOHlJY29uPVwiZ2xvYmVcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBuYW1lPVwiZmlsZVVybFwiXG4gICAgICAgICAgZGF0YS1jeT1cImZpbGUtcGlja2VyLS1maWxlVXJsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbGVVcmxcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmlsZVVybENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuJyB8IHRyYW5zbGF0ZSB9fSBodHRwOi8vZXhhbXBsZS5jb20vYmluYXJ5LnppcFwiXG4gICAgICAgICAgbWF4bGVuZ3RoPVwie3sgY29uZmlnLm1heGxlbmd0aCB9fVwiXG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICBbcGF0dGVybl09XCJWYWxpZGF0aW9uUGF0dGVybi5ydWxlcy5ub1doaXRlU3BhY2VPbmx5LnBhdHRlcm5cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvYzh5LWZvcm0tZ3JvdXA+XG48L2Rpdj5cbiJdfQ==
@@ -43,6 +43,8 @@ export class ValidationPattern {
43
43
  user: gettext('Username must not contain spaces nor slashes ("/", "\\") nor ("+"), (":"), ("$") signs.'),
44
44
  httpUrl: gettext('Must be a valid HTTP(S) URL.'),
45
45
  colonedHexNumber: gettext('Must be a valid hexadecimal number. Must contain only the following characters: 0-9, a-f, A-F, :.'),
46
+ noWhiteSpaceOnly: gettext('This field must not contain only whitespaces'),
47
+ noWhiteSpaceAtBeginning: gettext('Name must not contain white spaces at the beginning or ending.'),
46
48
  noDots: gettext('Dots not allowed.'),
47
49
  integer: gettext('Invalid type, expected integer.'),
48
50
  simpleJsonPath: gettext('Must be a valid JSON path'),
@@ -87,6 +89,12 @@ export class ValidationPattern {
87
89
  loginAlias: {
88
90
  pattern: /^[^\\/$:+]*$/
89
91
  },
92
+ noWhiteSpaceOnly: {
93
+ pattern: /^(?!\s*$).+/
94
+ },
95
+ noWhiteSpaceAtBeginning: {
96
+ pattern: /^[^\s].+[^\s]$/
97
+ },
90
98
  noDots: {
91
99
  pattern: /^[^.]*$/
92
100
  },
@@ -105,4 +113,4 @@ export class ValidationPattern {
105
113
  return pattern;
106
114
  }
107
115
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1wYXR0ZXJuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9mb3Jtcy92YWxpZGF0aW9uLXBhdHRlcm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVMxQyxNQUFNLENBQU4sSUFBWSxnQ0FXWDtBQVhELFdBQVksZ0NBQWdDO0lBQzFDLDREQUF3QixDQUFBO0lBQ3hCLHVEQUFtQixDQUFBO0lBQ25CLG9FQUFnQyxDQUFBO0lBQ2hDLDJFQUF1QyxDQUFBO0lBQ3ZDLHFGQUFpRCxDQUFBO0lBQ2pELCtFQUEyQyxDQUFBO0lBQzNDLHFGQUFpRCxDQUFBO0lBQ2pELCtFQUEyQyxDQUFBO0lBQzNDLHVFQUFtQyxDQUFBO0lBQ25DLHVFQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUFYVyxnQ0FBZ0MsS0FBaEMsZ0NBQWdDLFFBVzNDO0FBRUQsV0FBVztBQUNYLE1BQU0sT0FBTyxpQkFBaUI7YUFDWixhQUFRLEdBQUc7UUFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxxREFBcUQsQ0FBQztRQUN4RSxNQUFNLEVBQUUsT0FBTyxDQUNiLG1GQUFtRjtZQUNqRixvRkFBb0YsQ0FDdkY7UUFDRCxLQUFLLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixDQUFDO1FBQ3hDLE1BQU0sRUFBRSxPQUFPLENBQUMsMEJBQTBCLENBQUM7UUFDM0Msd0JBQXdCLEVBQUUsT0FBTyxDQUMvQiwwSUFBMEksQ0FDM0k7UUFDRCxVQUFVLEVBQUUsT0FBTyxDQUNqQixpRkFBaUYsQ0FDbEY7UUFDRCxZQUFZLEVBQUUsT0FBTyxDQUFDLHFDQUFxQyxDQUFDO1FBQzVELEdBQUcsRUFBRSxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFDcEMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztRQUNwQyxTQUFTLEVBQUUsT0FBTyxDQUFDLGtEQUFr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QUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sT0FBMEIsQ0FBQztJQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IG1heC1saW5lLWxlbmd0aFxuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJ1bGVzIHtcbiAgcGF0dGVybj86IFJlZ0V4cDtcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIERhdGFwb2ludExpYnJhcnlWYWxpZGF0aW9uRXJyb3JzIHtcbiAgSVNfUkVRVUlSRUQgPSAncmVxdWlyZWQnLFxuICBQQVRURVJOID0gJ3BhdHRlcm4nLFxuICBTSE9VTERfQ09OVEFJTl9OVU1CRVIgPSAnbnVtYmVyJyxcbiAgU0hPVUxEX0JFX0RFRklORUQgPSAnc2hvdWxkLWJlLWRlZmluZWQnLFxuICBHUkVBVEVSX1RIQU5fU0NBTEVfTUFYID0gJ2dyZWF0ZXItdGhhbi1zY2FsZS1tYXgnLFxuICBMRVNTX1RIQU5fU0NBTEVfTUlOID0gJ2xlc3MtdGhhbi1zY2FsZS1taW4nLFxuICBHUkVBVEVSX1RIQU5fUkFOR0VfTUFYID0gJ2dyZWF0ZXItdGhhbi1yYW5nZS1tYXgnLFxuICBMRVNTX1RIQU5fUkFOR0VfTUlOID0gJ2xlc3MtdGhhbi1yYW5nZS1taW4nLFxuICBNSU5fQUNUSVZFX0NPVU5UID0gJ21pbkFjdGl2ZUNvdW50JyxcbiAgTUFYX0FDVElWRV9DT1VOVCA9ICdtYXhBY3RpdmVDb3VudCdcbn1cblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uUGF0dGVybiB7XG4gIHN0YXRpYyByZWFkb25seSBtZXNzYWdlcyA9IHtcbiAgICBkZXZpY2VJZDogZ2V0dGV4dCgnRGV2aWNlIElEIG11c3Qgbm90IGNvbnRhaW4gc3BhY2VzIG9yIHNsYXNoZXMgKFwiL1wiKS4nKSxcbiAgICBkb21haW46IGdldHRleHQoXG4gICAgICAnT25seSBsb3dlcmNhc2UgbGV0dGVycywgZGlnaXRzIGFuZCBoeXBoZW5zIGFsbG93ZWQgaW4gdGhlIGZpcnN0IHBhcnQgb2YgdGhlIFVSSS4gJyArXG4gICAgICAgICdNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXI7IGh5cGhlbnMgb25seSBhbGxvd2VkIGluIHRoZSBtaWRkbGUuIE11c3QgYmUgYSB2YWxpZCBVUkkuJ1xuICAgICksXG4gICAgZW1haWw6IGdldHRleHQoJ0ludmFsaWQgZW1haWwgYWRkcmVzcy4nKSxcbiAgICBlbWFpbHM6IGdldHRleHQoJ0ludmFsaWQgZW1haWwgYWRkcmVzc2VzLicpLFxuICAgIGludGVybmF0aW9uYWxQaG9uZU51bWJlcjogZ2V0dGV4dChcbiAgICAgICdNdXN0IGJlIGEgdmFsaWQgcGhvbmUgbnVtYmVyIChvbmx5IGRpZ2l0cywgc3BhY2VzLCBzbGFzaGVzIChcIi9cIiksIGRhc2hlcyAoXCItXCIpLCBhbmQgcGx1cyAoXCIrXCIpIGFsbG93ZWQsIGZvciBleGFtcGxlOiArNDkgOSA4NzYgNTQzIDIxMCkuJ1xuICAgICksXG4gICAgbG9naW5BbGlhczogZ2V0dGV4dChcbiAgICAgICdMb2dpbiBhbGlhcyBtdXN0IG5vdCBjb250YWluIHNsYXNoZXMgKFwiL1wiLCBcIlxcXFxcIikgbm9yIChcIitcIiksIChcIjpcIiksIChcIiRcIikgc2lnbnMuJ1xuICAgICksXG4gICAgaW52YWxpZENvbG9yOiBnZXR0ZXh0KCdJbnZhbGlkIGNvbG9yIFwie3sgY3VycmVudFZhbHVlIH19XCIuJyksXG4gICAgbWF4OiBnZXR0ZXh0KCdNYXggdmFsdWU6IHt7IG1heCB9fScpLFxuICAgIG1pbjogZ2V0dGV4dCgnTWluIHZhbHVlOiB7eyBtaW4gfX0nKSxcbiAgICBtaW5MZW5ndGg6IGdldHRleHQoJ1Nob3VsZCBoYXZlIGF0IGxlYXN0IHt7IG1pbkxlbmd0aCB9fSBjaGFyYWN0ZXJzLicpLFxuICAgIG1pbmxlbmd0aDogZ2V0dGV4dCgnU2hvdWxkIGhhdmUgYXQgbGVhc3Qge3sgcmVxdWlyZWRMZW5ndGggfX0gY2hhcmFjdGVycy4nKSxcbiAgICBtYXhMZW5ndGg6IGdldHRleHQoJ1Nob3VsZCBoYXZlIGF0IG1vc3Qge3sgbWF4TGVuZ3RoIH19IGNoYXJhY3RlcnMuJyksXG4gICAgbWF4bGVuZ3RoOiBnZXR0ZXh0KCdTaG91bGQgaGF2ZSBhdCBtb3N0IHt7IHJlcXVpcmVkTGVuZ3RoIH19IGNoYXJhY3RlcnMuJyksXG4gICAgcGF0dGVybjogZ2V0dGV4dCgnRG9lcyBub3QgbWF0Y2ggcGF0dGVybiB7eyByZXF1aXJlZFBhdHRlcm4gfX0uJyksXG4gICAgb3BjdWFCcm93c2VQYXRoOiBnZXR0ZXh0KCdJbnZhbGlkIE9QQyBVQSBVUkkuJyksXG4gICAgcGFzc3dvcmQ6IGdldHRleHQoXG4gICAgICAnUGFzc3dvcmQgbXVzdCBoYXZlIGF0IGxlYXN0IDggY2hhcmFjdGVycyBhbmQgbm8gbW9yZSB0aGFuIDMyIGFuZCBjYW4gb25seSBjb250YWluIGxldHRlcnMsIG51bWJlcnMgYW5kIGZvbGxvd2luZyBzeW1ib2xzOiBgfiFAIyQlXiYqKClffCstPT87OlxcJ1wiLC48Pnt9W11cXFxcLydcbiAgICApLFxuICAgIHBhc3N3b3JkQ29uZmlybTogZ2V0dGV4dCgnUGFzc3dvcmRzIGRvIG5vdCBtYXRjaC4nKSxcbiAgICBwYXNzd29yZFN0cmVuZ3RoOiBnZXR0ZXh0KCdQYXNzd29yZCBpcyBub3Qgc3Ryb25nIGVub3VnaCwgdXNlIGEgc3Ryb25nZXIgcGFzc3dvcmQuJyksXG4gICAgcGFzc3dvcmRTdHJlbmd0aENoZWNrbGlzdDogZ2V0dGV4dChcbiAgICAgICdQYXNzd29yZCBpcyBub3Qgc3Ryb25nIGVub3VnaCwgdXNlIGEgc3Ryb25nZXIgcGFzc3dvcmQuIENoZWNrIHRoZSByZXF1aXJlbWVudHMgbGlzdGVkIG9uIHRoZSByaWdodC4nXG4gICAgKSxcbiAgICByZXF1aXJlZDogZ2V0dGV4dCgnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nKSxcbiAgICB0ZW5hbnRJZDogZ2V0dGV4dChcbiAgICAgICdNYXkgY29udGFpbiBsb3dlcmNhc2UgbGV0dGVycywgZGlnaXRzLCBhbmQgaHlwaGVucy4gJyArXG4gICAgICAgICdNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXI7IGh5cGhlbnMgb25seSBhbGxvd2VkIGluIHRoZSBtaWRkbGU7IG1pbmltdW0gMiBjaGFyYWN0ZXJzLidcbiAgICApLFxuICAgIHVybFNlZ21lbnQ6IGdldHRleHQoJ1NsYXNoLCBzaW5nbGUgb3IgZG91YmxlIGRvdHMgYW5kIHdoaXRlIHNwYWNlIG5vdCBhbGxvd2VkLicpLFxuICAgIHVzZXI6IGdldHRleHQoXG4gICAgICAnVXNlcm5hbWUgbXVzdCBub3QgY29udGFpbiBzcGFjZXMgbm9yIHNsYXNoZXMgKFwiL1wiLCBcIlxcXFxcIikgbm9yIChcIitcIiksIChcIjpcIiksIChcIiRcIikgc2lnbnMuJ1xuICAgICksXG4gICAgaHR0cFVybDogZ2V0dGV4dCgnTXVzdCBiZSBhIHZhbGlkIEhUVFAoUykgVVJMLicpLFxuICAgIGNvbG9uZWRIZXhOdW1iZXI6IGdldHRleHQoXG4gICAgICAnTXVzdCBiZSBhIHZhbGlkIGhleGFkZWNpbWFsIG51bWJlci4gTXVzdCBjb250YWluIG9ubHkgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiAwLTksIGEtZiwgQS1GLCA6LidcbiAgICApLFxuICAgIG5vRG90czogZ2V0dGV4dCgnRG90cyBub3QgYWxsb3dlZC4nKSxcbiAgICBpbnRlZ2VyOiBnZXR0ZXh0KCdJbnZhbGlkIHR5cGUsIGV4cGVjdGVkIGludGVnZXIuJyksXG4gICAgc2ltcGxlSnNvblBhdGg6IGdldHRleHQoJ011c3QgYmUgYSB2YWxpZCBKU09OIHBhdGgnKSxcbiAgICBbRGF0YXBvaW50TGlicmFyeVZhbGlkYXRpb25FcnJvcnMuU0hPVUxEX0NPTlRBSU5fTlVNQkVSXTogZ2V0dGV4dChcbiAgICAgICdUaGlzIGZpZWxkIG11c3QgY29udGFpbiBhIG51bWJlci4nXG4gICAgKSxcbiAgICBbRGF0YXBvaW50TGlicmFyeVZhbGlkYXRpb25FcnJvcnMuU0hPVUxEX0JFX0RFRklORURdOiBnZXR0ZXh0KCdWYWx1ZSBtdXN0IGJlIGRlZmluZWQuJyksXG4gICAgW0RhdGFwb2ludExpYnJhcnlWYWxpZGF0aW9uRXJyb3JzLkdSRUFURVJfVEhBTl9TQ0FMRV9NQVhdOiBnZXR0ZXh0KFxuICAgICAgJ1ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIHNjYWxlIG1heGltdW0uJ1xuICAgICksXG4gICAgW0RhdGFwb2ludExpYnJhcnlWYWxpZGF0aW9uRXJyb3JzLkxFU1NfVEhBTl9TQ0FMRV9NSU5dOiBnZXR0ZXh0KFxuICAgICAgJ1ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHNjYWxlIG1pbmltdW0uJ1xuICAgICksXG4gICAgW0RhdGFwb2ludExpYnJhcnlWYWxpZGF0aW9uRXJyb3JzLkdSRUFURVJfVEhBTl9SQU5HRV9NQVhdOiBnZXR0ZXh0KFxuICAgICAgJ1ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIHJlc3BlY3RpdmUgbWF4aW11bS4nXG4gICAgKSxcbiAgICBbRGF0YXBvaW50TGlicmFyeVZhbGlkYXRpb25FcnJvcnMuTEVTU19USEFOX1JBTkdFX01JTl06IGdldHRleHQoXG4gICAgICAnVmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gcmVzcGVjdGl2ZSBtaW5pbXVtLidcbiAgICApXG4gIH0gYXMgY29uc3Q7XG5cbiAgc3RhdGljIHJlYWRvbmx5IHJ1bGVzID0ge1xuICAgIGRldmljZUlkOiB7XG4gICAgICBwYXR0ZXJuOiAvXlteXFxzL10qJC9cbiAgICB9LFxuICAgIGRvbWFpbjoge1xuICAgICAgcGF0dGVybjogL15bYS16XStbYS16MC05LV0qW2EtejAtOV0rXFwuezF9LiskL1xuICAgIH0sXG4gICAgZ3JvdXBOYW1lOiB7XG4gICAgICBtYXhMZW5ndGg6IDI1NFxuICAgIH0sXG4gICAgaG9zdG5hbWU6IHtcbiAgICAgIHBhdHRlcm46XG4gICAgICAgIC9eKChbYS16QS1aMC05XXxbYS16QS1aMC05XVthLXpBLVowLTktXSpbYS16QS1aMC05XSlcXC4pKihbQS1aYS16MC05XXxbQS1aYS16MC05XVtBLVphLXowLTktXSpbQS1aYS16MC05XSkkL1xuICAgIH0sXG4gICAgaXA6IHtcbiAgICAgIHBhdHRlcm46XG4gICAgICAgIC9eKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KVxcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pJC9cbiAgICB9LFxuICAgIG9wY3VhQnJvd3NlUGF0aDoge1xuICAgICAgcGF0dGVybjogL14ob3BjLnRjcHxodHRwfGh0dHBzKTpcXC9cXC9bXiBcIl0rJC9cbiAgICB9LFxuICAgIHBhc3N3b3JkOiB7XG4gICAgICBwYXR0ZXJuOiAvXlthLXpBLVowLTlgfiFAIyQlXiYqKClffCtcXC09Pzs6J1wiLC48Pnt9W1xcXVxcXFwvXXs4LDMyfSQvXG4gICAgfSxcbiAgICB0ZW5hbnRJZDoge1xuICAgICAgcGF0dGVybjogL15bYS16XStbYS16MC05LV0qW2EtejAtOV0rJC9cbiAgICB9LFxuICAgIHVzZXI6IHtcbiAgICAgIHBhdHRlcm46IC9eW15cXFxcL1xccyQ6K10qJC9cbiAgICB9LFxuICAgIHVybFNlZ21lbnQ6IHtcbiAgICAgIHBhdHRlcm46IC9eKChbLl17MSwyfSl8KFsvXSkrfCgoWy9dKikoWy5dezEsMn0pKFsvXSopKXwoKC4qKShbL118WyBdKykoLiopKXwoXFxzKykpJC9cbiAgICB9LFxuICAgIGxvZ2luQWxpYXM6IHtcbiAgICAgIHBhdHRlcm46IC9eW15cXFxcLyQ6K10qJC9cbiAgICB9LFxuICAgIG5vRG90czoge1xuICAgICAgcGF0dGVybjogL15bXi5dKiQvXG4gICAgfSxcbiAgICBodHRwVXJsOiB7XG4gICAgICBwYXR0ZXJuOiAvXihodHRwcz8pOlxcL1xcLy4qJC9cbiAgICB9LFxuICAgIGNvbG9uZWRIZXhOdW1iZXI6IHtcbiAgICAgIHBhdHRlcm46IC9eWzAtOWEtZkEtRjpdKyQvXG4gICAgfSxcbiAgICBpbnRlZ2VyOiB7XG4gICAgICBwYXR0ZXJuOiAvXi0/XFxkKyQvXG4gICAgfVxuICB9O1xuXG4gIHN0YXRpYyBnZXQoa2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXR0ZXJuID0gdGhpcy5ydWxlc1trZXldO1xuICAgIHJldHVybiBwYXR0ZXJuIGFzIFZhbGlkYXRpb25SdWxlcztcbiAgfVxufVxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1wYXR0ZXJuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9mb3Jtcy92YWxpZGF0aW9uLXBhdHRlcm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVMxQyxNQUFNLENBQU4sSUFBWSxnQ0FXWDtBQVhELFdBQVksZ0NBQWdDO0lBQzFDLDREQUF3QixDQUFBO0lBQ3hCLHVEQUFtQixDQUFBO0lBQ25CLG9FQUFnQyxDQUFBO0lBQ2hDLDJFQUF1QyxDQUFBO0lBQ3ZDLHFGQUFpRCxDQUFBO0lBQ2pELCtFQUEyQyxDQUFBO0lBQzNDLHFGQUFpRCxDQUFBO0lBQ2pELCtFQUEyQyxDQUFBO0lBQzNDLHVFQUFtQyxDQUFBO0lBQ25DLHVFQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUFYVyxnQ0FBZ0MsS0FBaEMsZ0NBQWdDLFFBVzNDO0FBRUQsV0FBVztBQUNYLE1BQU0sT0FBTyxpQkFBaUI7YUFDWixhQUFRLEdBQUc7UUFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxxREFBcUQsQ0FBQztRQUN4RSxNQUFNLEVBQUUsT0FBTyxDQUNiLG1GQUFtRjtZQUNqRixvRkFBb0YsQ0FDdkY7UUFDRCxLQUFLLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixDQUFDO1FBQ3hDLE1BQU0sRUFBRSxPQUFPLENBQUMsMEJBQTBCLENBQUM7UUFDM0Msd0JBQXdCLEVBQUUsT0FBTyxDQUMvQiwwSUFBMEksQ0FDM0k7UUFDRCxVQUFVLEVBQUUsT0FBTyxDQUNqQixpRkFBaUYsQ0FDbEY7UUFDRCxZQUFZLEVBQUUsT0FBTyxDQUFDLHFDQUFxQyxDQUFDO1FBQzVELEdBQUcsRUFBRSxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFDcEMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztRQUNwQyxTQUFTLEVBQUUsT0FBTyxDQUFDLGtEQUFr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QUFPLEVBQUU7WUFDUCxPQUFPLEVBQUUsbUJBQW1CO1NBQzdCO1FBQ0QsZ0JBQWdCLEVBQUU7WUFDaEIsT0FBTyxFQUFFLGlCQUFpQjtTQUMzQjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxTQUFTO1NBQ25CO0tBQ0YsQ0FBQztJQUVGLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNwQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sT0FBMEIsQ0FBQztJQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IG1heC1saW5lLWxlbmd0aFxuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJ1bGVzIHtcbiAgcGF0dGVybj86IFJlZ0V4cDtcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBtaW5MZW5ndGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIERhdGFwb2ludExpYnJhcnlWYWxpZGF0aW9uRXJyb3JzIHtcbiAgSVNfUkVRVUlSRUQgPSAncmVxdWlyZWQnLFxuICBQQVRURVJOID0gJ3BhdHRlcm4nLFxuICBTSE9VTERfQ09OVEFJTl9OVU1CRVIgPSAnbnVtYmVyJyxcbiAgU0hPVUxEX0JFX0RFRklORUQgPSAnc2hvdWxkLWJlLWRlZmluZWQnLFxuICBHUkVBVEVSX1RIQU5fU0NBTEVfTUFYID0gJ2dyZWF0ZXItdGhhbi1zY2FsZS1tYXgnLFxuICBMRVNTX1RIQU5fU0NBTEVfTUlOID0gJ2xlc3MtdGhhbi1zY2FsZS1taW4nLFxuICBHUkVBVEVSX1RIQU5fUkFOR0VfTUFYID0gJ2dyZWF0ZXItdGhhbi1yYW5nZS1tYXgnLFxuICBMRVNTX1RIQU5fUkFOR0VfTUlOID0gJ2xlc3MtdGhhbi1yYW5nZS1taW4nLFxuICBNSU5fQUNUSVZFX0NPVU5UID0gJ21pbkFjdGl2ZUNvdW50JyxcbiAgTUFYX0FDVElWRV9DT1VOVCA9ICdtYXhBY3RpdmVDb3VudCdcbn1cblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uUGF0dGVybiB7XG4gIHN0YXRpYyByZWFkb25seSBtZXNzYWdlcyA9IHtcbiAgICBkZXZpY2VJZDogZ2V0dGV4dCgnRGV2aWNlIElEIG11c3Qgbm90IGNvbnRhaW4gc3BhY2VzIG9yIHNsYXNoZXMgKFwiL1wiKS4nKSxcbiAgICBkb21haW46IGdldHRleHQoXG4gICAgICAnT25seSBsb3dlcmNhc2UgbGV0dGVycywgZGlnaXRzIGFuZCBoeXBoZW5zIGFsbG93ZWQgaW4gdGhlIGZpcnN0IHBhcnQgb2YgdGhlIFVSSS4gJyArXG4gICAgICAgICdNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXI7IGh5cGhlbnMgb25seSBhbGxvd2VkIGluIHRoZSBtaWRkbGUuIE11c3QgYmUgYSB2YWxpZCBVUkkuJ1xuICAgICksXG4gICAgZW1haWw6IGdldHRleHQoJ0ludmFsaWQgZW1haWwgYWRkcmVzcy4nKSxcbiAgICBlbWFpbHM6IGdldHRleHQoJ0ludmFsaWQgZW1haWwgYWRkcmVzc2VzLicpLFxuICAgIGludGVybmF0aW9uYWxQaG9uZU51bWJlcjogZ2V0dGV4dChcbiAgICAgICdNdXN0IGJlIGEgdmFsaWQgcGhvbmUgbnVtYmVyIChvbmx5IGRpZ2l0cywgc3BhY2VzLCBzbGFzaGVzIChcIi9cIiksIGRhc2hlcyAoXCItXCIpLCBhbmQgcGx1cyAoXCIrXCIpIGFsbG93ZWQsIGZvciBleGFtcGxlOiArNDkgOSA4NzYgNTQzIDIxMCkuJ1xuICAgICksXG4gICAgbG9naW5BbGlhczogZ2V0dGV4dChcbiAgICAgICdMb2dpbiBhbGlhcyBtdXN0IG5vdCBjb250YWluIHNsYXNoZXMgKFwiL1wiLCBcIlxcXFxcIikgbm9yIChcIitcIiksIChcIjpcIiksIChcIiRcIikgc2lnbnMuJ1xuICAgICksXG4gICAgaW52YWxpZENvbG9yOiBnZXR0ZXh0KCdJbnZhbGlkIGNvbG9yIFwie3sgY3VycmVudFZhbHVlIH19XCIuJyksXG4gICAgbWF4OiBnZXR0ZXh0KCdNYXggdmFsdWU6IHt7IG1heCB9fScpLFxuICAgIG1pbjogZ2V0dGV4dCgnTWluIHZhbHVlOiB7eyBtaW4gfX0nKSxcbiAgICBtaW5MZW5ndGg6IGdldHRleHQoJ1Nob3VsZCBoYXZlIGF0IGxlYXN0IHt7IG1pbkxlbmd0aCB9fSBjaGFyYWN0ZXJzLicpLFxuICAgIG1pbmxlbmd0aDogZ2V0dGV4dCgnU2hvdWxkIGhhdmUgYXQgbGVhc3Qge3sgcmVxdWlyZWRMZW5ndGggfX0gY2hhcmFjdGVycy4nKSxcbiAgICBtYXhMZW5ndGg6IGdldHRleHQoJ1Nob3VsZCBoYXZlIGF0IG1vc3Qge3sgbWF4TGVuZ3RoIH19IGNoYXJhY3RlcnMuJyksXG4gICAgbWF4bGVuZ3RoOiBnZXR0ZXh0KCdTaG91bGQgaGF2ZSBhdCBtb3N0IHt7IHJlcXVpcmVkTGVuZ3RoIH19IGNoYXJhY3RlcnMuJyksXG4gICAgcGF0dGVybjogZ2V0dGV4dCgnRG9lcyBub3QgbWF0Y2ggcGF0dGVybiB7eyByZXF1aXJlZFBhdHRlcm4gfX0uJyksXG4gICAgb3BjdWFCcm93c2VQYXRoOiBnZXR0ZXh0KCdJbnZhbGlkIE9QQyBVQSBVUkkuJyksXG4gICAgcGFzc3dvcmQ6IGdldHRleHQoXG4gICAgICAnUGFzc3dvcmQgbXVzdCBoYXZlIGF0IGxlYXN0IDggY2hhcmFjdGVycyBhbmQgbm8gbW9yZSB0aGFuIDMyIGFuZCBjYW4gb25seSBjb250YWluIGxldHRlcnMsIG51bWJlcnMgYW5kIGZvbGxvd2luZyBzeW1ib2xzOiBgfiFAIyQlXiYqKClffCstPT87OlxcJ1wiLC48Pnt9W11cXFxcLydcbiAgICApLFxuICAgIHBhc3N3b3JkQ29uZmlybTogZ2V0dGV4dCgnUGFzc3dvcmRzIGRvIG5vdCBtYXRjaC4nKSxcbiAgICBwYXNzd29yZFN0cmVuZ3RoOiBnZXR0ZXh0KCdQYXNzd29yZCBpcyBub3Qgc3Ryb25nIGVub3VnaCwgdXNlIGEgc3Ryb25nZXIgcGFzc3dvcmQuJyksXG4gICAgcGFzc3dvcmRTdHJlbmd0aENoZWNrbGlzdDogZ2V0dGV4dChcbiAgICAgICdQYXNzd29yZCBpcyBub3Qgc3Ryb25nIGVub3VnaCwgdXNlIGEgc3Ryb25nZXIgcGFzc3dvcmQuIENoZWNrIHRoZSByZXF1aXJlbWVudHMgbGlzdGVkIG9uIHRoZSByaWdodC4nXG4gICAgKSxcbiAgICByZXF1aXJlZDogZ2V0dGV4dCgnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nKSxcbiAgICB0ZW5hbnRJZDogZ2V0dGV4dChcbiAgICAgICdNYXkgY29udGFpbiBsb3dlcmNhc2UgbGV0dGVycywgZGlnaXRzLCBhbmQgaHlwaGVucy4gJyArXG4gICAgICAgICdNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXI7IGh5cGhlbnMgb25seSBhbGxvd2VkIGluIHRoZSBtaWRkbGU7IG1pbmltdW0gMiBjaGFyYWN0ZXJzLidcbiAgICApLFxuICAgIHVybFNlZ21lbnQ6IGdldHRleHQoJ1NsYXNoLCBzaW5nbGUgb3IgZG91YmxlIGRvdHMgYW5kIHdoaXRlIHNwYWNlIG5vdCBhbGxvd2VkLicpLFxuICAgIHVzZXI6IGdldHRleHQoXG4gICAgICAnVXNlcm5hbWUgbXVzdCBub3QgY29udGFpbiBzcGFjZXMgbm9yIHNsYXNoZXMgKFwiL1wiLCBcIlxcXFxcIikgbm9yIChcIitcIiksIChcIjpcIiksIChcIiRcIikgc2lnbnMuJ1xuICAgICksXG4gICAgaHR0cFVybDogZ2V0dGV4dCgnTXVzdCBiZSBhIHZhbGlkIEhUVFAoUykgVVJMLicpLFxuICAgIGNvbG9uZWRIZXhOdW1iZXI6IGdldHRleHQoXG4gICAgICAnTXVzdCBiZSBhIHZhbGlkIGhleGFkZWNpbWFsIG51bWJlci4gTXVzdCBjb250YWluIG9ubHkgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiAwLTksIGEtZiwgQS1GLCA6LidcbiAgICApLFxuICAgIG5vV2hpdGVTcGFjZU9ubHk6IGdldHRleHQoJ1RoaXMgZmllbGQgbXVzdCBub3QgY29udGFpbiBvbmx5IHdoaXRlc3BhY2VzJyksXG4gICAgbm9XaGl0ZVNwYWNlQXRCZWdpbm5pbmc6IGdldHRleHQoXG4gICAgICAnTmFtZSBtdXN0IG5vdCBjb250YWluIHdoaXRlIHNwYWNlcyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZGluZy4nXG4gICAgKSxcbiAgICBub0RvdHM6IGdldHRleHQoJ0RvdHMgbm90IGFsbG93ZWQuJyksXG4gICAgaW50ZWdlcjogZ2V0dGV4dCgnSW52YWxpZCB0eXBlLCBleHBlY3RlZCBpbnRlZ2VyLicpLFxuICAgIHNpbXBsZUpzb25QYXRoOiBnZXR0ZXh0KCdNdXN0IGJlIGEgdmFsaWQgSlNPTiBwYXRoJyksXG4gICAgW0RhdGFwb2ludExpYnJhcnlWYWxpZGF0aW9uRXJyb3JzLlNIT1VMRF9DT05UQUlOX05VTUJFUl06IGdldHRleHQoXG4gICAgICAnVGhpcyBmaWVsZCBtdXN0IGNvbnRhaW4gYSBudW1iZXIuJ1xuICAgICksXG4gICAgW0RhdGFwb2ludExpYnJhcnlWYWxpZGF0aW9uRXJyb3JzLlNIT1VMRF9CRV9ERUZJTkVEXTogZ2V0dGV4dCgnVmFsdWUgbXVzdCBiZSBkZWZpbmVkLicpLFxuICAgIFtEYXRhcG9pbnRMaWJyYXJ5VmFsaWRhdGlvbkVycm9ycy5HUkVBVEVSX1RIQU5fU0NBTEVfTUFYXTogZ2V0dGV4dChcbiAgICAgICdWYWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiBzY2FsZSBtYXhpbXVtLidcbiAgICApLFxuICAgIFtEYXRhcG9pbnRMaWJyYXJ5VmFsaWRhdGlvbkVycm9ycy5MRVNTX1RIQU5fU0NBTEVfTUlOXTogZ2V0dGV4dChcbiAgICAgICdWYWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBzY2FsZSBtaW5pbXVtLidcbiAgICApLFxuICAgIFtEYXRhcG9pbnRMaWJyYXJ5VmFsaWRhdGlvbkVycm9ycy5HUkVBVEVSX1RIQU5fUkFOR0VfTUFYXTogZ2V0dGV4dChcbiAgICAgICdWYWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiByZXNwZWN0aXZlIG1heGltdW0uJ1xuICAgICksXG4gICAgW0RhdGFwb2ludExpYnJhcnlWYWxpZGF0aW9uRXJyb3JzLkxFU1NfVEhBTl9SQU5HRV9NSU5dOiBnZXR0ZXh0KFxuICAgICAgJ1ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHJlc3BlY3RpdmUgbWluaW11bS4nXG4gICAgKVxuICB9IGFzIGNvbnN0O1xuXG4gIHN0YXRpYyByZWFkb25seSBydWxlcyA9IHtcbiAgICBkZXZpY2VJZDoge1xuICAgICAgcGF0dGVybjogL15bXlxccy9dKiQvXG4gICAgfSxcbiAgICBkb21haW46IHtcbiAgICAgIHBhdHRlcm46IC9eW2Etel0rW2EtejAtOS1dKlthLXowLTldK1xcLnsxfS4rJC9cbiAgICB9LFxuICAgIGdyb3VwTmFtZToge1xuICAgICAgbWF4TGVuZ3RoOiAyNTRcbiAgICB9LFxuICAgIGhvc3RuYW1lOiB7XG4gICAgICBwYXR0ZXJuOlxuICAgICAgICAvXigoW2EtekEtWjAtOV18W2EtekEtWjAtOV1bYS16QS1aMC05LV0qW2EtekEtWjAtOV0pXFwuKSooW0EtWmEtejAtOV18W0EtWmEtejAtOV1bQS1aYS16MC05LV0qW0EtWmEtejAtOV0pJC9cbiAgICB9LFxuICAgIGlwOiB7XG4gICAgICBwYXR0ZXJuOlxuICAgICAgICAvXig/Oig/OjI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPylcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KSQvXG4gICAgfSxcbiAgICBvcGN1YUJyb3dzZVBhdGg6IHtcbiAgICAgIHBhdHRlcm46IC9eKG9wYy50Y3B8aHR0cHxodHRwcyk6XFwvXFwvW14gXCJdKyQvXG4gICAgfSxcbiAgICBwYXNzd29yZDoge1xuICAgICAgcGF0dGVybjogL15bYS16QS1aMC05YH4hQCMkJV4mKigpX3wrXFwtPT87OidcIiwuPD57fVtcXF1cXFxcL117OCwzMn0kL1xuICAgIH0sXG4gICAgdGVuYW50SWQ6IHtcbiAgICAgIHBhdHRlcm46IC9eW2Etel0rW2EtejAtOS1dKlthLXowLTldKyQvXG4gICAgfSxcbiAgICB1c2VyOiB7XG4gICAgICBwYXR0ZXJuOiAvXlteXFxcXC9cXHMkOitdKiQvXG4gICAgfSxcbiAgICB1cmxTZWdtZW50OiB7XG4gICAgICBwYXR0ZXJuOiAvXigoWy5dezEsMn0pfChbL10pK3woKFsvXSopKFsuXXsxLDJ9KShbL10qKSl8KCguKikoWy9dfFsgXSspKC4qKSl8KFxccyspKSQvXG4gICAgfSxcbiAgICBsb2dpbkFsaWFzOiB7XG4gICAgICBwYXR0ZXJuOiAvXlteXFxcXC8kOitdKiQvXG4gICAgfSxcbiAgICBub1doaXRlU3BhY2VPbmx5OiB7XG4gICAgICBwYXR0ZXJuOiAvXig/IVxccyokKS4rL1xuICAgIH0sXG4gICAgbm9XaGl0ZVNwYWNlQXRCZWdpbm5pbmc6IHtcbiAgICAgIHBhdHRlcm46IC9eW15cXHNdLitbXlxcc10kL1xuICAgIH0sXG4gICAgbm9Eb3RzOiB7XG4gICAgICBwYXR0ZXJuOiAvXlteLl0qJC9cbiAgICB9LFxuICAgIGh0dHBVcmw6IHtcbiAgICAgIHBhdHRlcm46IC9eKGh0dHBzPyk6XFwvXFwvLiokL1xuICAgIH0sXG4gICAgY29sb25lZEhleE51bWJlcjoge1xuICAgICAgcGF0dGVybjogL15bMC05YS1mQS1GOl0rJC9cbiAgICB9LFxuICAgIGludGVnZXI6IHtcbiAgICAgIHBhdHRlcm46IC9eLT9cXGQrJC9cbiAgICB9XG4gIH07XG5cbiAgc3RhdGljIGdldChrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHBhdHRlcm4gPSB0aGlzLnJ1bGVzW2tleV07XG4gICAgcmV0dXJuIHBhdHRlcm4gYXMgVmFsaWRhdGlvblJ1bGVzO1xuICB9XG59XG4iXX0=
@@ -11,12 +11,12 @@ export class NavigatorBottomComponent {
11
11
  this.hasHidePoweredSet$ = this.bottomService.hasHidePoweredSet();
12
12
  }
13
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavigatorBottomComponent, deps: [{ token: i1.NavigatorBottomService }], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: NavigatorBottomComponent, isStandalone: true, selector: "c8y-navigator-bottom", host: { classAttribute: "navigator-slot-bottom" }, ngImport: i0, template: "<div\n class=\"d-flex gap-8 {{!(hasCustomNavigatorLogoSet$ | async) ? 'c8y-logo' : ''}}\"\n *ngIf=\"!(hasCustomNavigatorLogoSet$ | async); else branded\"\n>\n <p\n *ngIf=\"!(hasHidePoweredSet$ | async)\"\n class=\"powered-by text-left a-s-end\"\n translate\n >\n powered by\n </p>\n <a href=\"https://cumulocity.com\" target=\"_blank\" title=\"Cumulocity\" class=\"tenant-brand\"></a>\n</div>\n<ng-template #branded>\n <div class=\"logo-spacer\"></div>\n <div class=\"tenant-brand\"></div>\n <p\n class=\"powered-by text-center a-s-center\"\n *ngIf=\"!(hasHidePoweredSet$ | async)\"\n translate\n >\n powered by <a href=\"https://cumulocity.com\" target=\"_blank\">Cumulocity</a>\n </p>\n <div class=\"logo-spacer\"></div>\n</ng-template>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }] }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: NavigatorBottomComponent, isStandalone: true, selector: "c8y-navigator-bottom", host: { classAttribute: "navigator-slot-bottom" }, ngImport: i0, template: "<div\n class=\"d-flex gap-8 {{!(hasCustomNavigatorLogoSet$ | async) ? 'c8y-logo' : ''}}\"\n *ngIf=\"!(hasCustomNavigatorLogoSet$ | async); else branded\"\n>\n <p\n *ngIf=\"!(hasHidePoweredSet$ | async)\"\n class=\"powered-by text-left a-s-end\"\n translate\n >\n powered by`KEEP_ORIGINAL`\n </p>\n <a href=\"https://cumulocity.com\" target=\"_blank\" title=\"Cumulocity\" class=\"tenant-brand\"></a>\n</div>\n<ng-template #branded>\n <div class=\"logo-spacer\"></div>\n <div class=\"tenant-brand\"></div>\n <p\n class=\"powered-by text-center a-s-center\"\n *ngIf=\"!(hasHidePoweredSet$ | async)\"\n translate\n >\n powered by <a href=\"https://cumulocity.com\" target=\"_blank\">Cumulocity</a>`KEEP_ORIGINAL`\n </p>\n <div class=\"logo-spacer\"></div>\n</ng-template>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }] }); }
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavigatorBottomComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'c8y-navigator-bottom', host: {
19
19
  class: 'navigator-slot-bottom'
20
- }, standalone: true, imports: [AsyncPipe, NgIf, C8yTranslateDirective], template: "<div\n class=\"d-flex gap-8 {{!(hasCustomNavigatorLogoSet$ | async) ? 'c8y-logo' : ''}}\"\n *ngIf=\"!(hasCustomNavigatorLogoSet$ | async); else branded\"\n>\n <p\n *ngIf=\"!(hasHidePoweredSet$ | async)\"\n class=\"powered-by text-left a-s-end\"\n translate\n >\n powered by\n </p>\n <a href=\"https://cumulocity.com\" target=\"_blank\" title=\"Cumulocity\" class=\"tenant-brand\"></a>\n</div>\n<ng-template #branded>\n <div class=\"logo-spacer\"></div>\n <div class=\"tenant-brand\"></div>\n <p\n class=\"powered-by text-center a-s-center\"\n *ngIf=\"!(hasHidePoweredSet$ | async)\"\n translate\n >\n powered by <a href=\"https://cumulocity.com\" target=\"_blank\">Cumulocity</a>\n </p>\n <div class=\"logo-spacer\"></div>\n</ng-template>\n" }]
20
+ }, standalone: true, imports: [AsyncPipe, NgIf, C8yTranslateDirective], template: "<div\n class=\"d-flex gap-8 {{!(hasCustomNavigatorLogoSet$ | async) ? 'c8y-logo' : ''}}\"\n *ngIf=\"!(hasCustomNavigatorLogoSet$ | async); else branded\"\n>\n <p\n *ngIf=\"!(hasHidePoweredSet$ | async)\"\n class=\"powered-by text-left a-s-end\"\n translate\n >\n powered by`KEEP_ORIGINAL`\n </p>\n <a href=\"https://cumulocity.com\" target=\"_blank\" title=\"Cumulocity\" class=\"tenant-brand\"></a>\n</div>\n<ng-template #branded>\n <div class=\"logo-spacer\"></div>\n <div class=\"tenant-brand\"></div>\n <p\n class=\"powered-by text-center a-s-center\"\n *ngIf=\"!(hasHidePoweredSet$ | async)\"\n translate\n >\n powered by <a href=\"https://cumulocity.com\" target=\"_blank\">Cumulocity</a>`KEEP_ORIGINAL`\n </p>\n <div class=\"logo-spacer\"></div>\n</ng-template>\n" }]
21
21
  }], ctorParameters: () => [{ type: i1.NavigatorBottomService }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLWJvdHRvbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL25hdmlnYXRvci9uYXZpZ2F0b3ItYm90dG9tL25hdmlnYXRvci1ib3R0b20uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29yZS9uYXZpZ2F0b3IvbmF2aWdhdG9yLWJvdHRvbS9uYXZpZ2F0b3ItYm90dG9tLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQVduRCxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQW9CLGFBQXFDO1FBQXJDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQUh6RCwrQkFBMEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDNUUsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBRUEsQ0FBQzs4R0FKbEQsd0JBQXdCO2tHQUF4Qix3QkFBd0IsbUlDZHJDLDB3QkF5QkEsdUNEYlksU0FBUyw4Q0FBRSxJQUFJLDZGQUFFLHFCQUFxQjs7MkZBRXJDLHdCQUF3QjtrQkFUcEMsU0FBUzsrQkFDRSxzQkFBc0IsUUFFMUI7d0JBQ0osS0FBSyxFQUFFLHVCQUF1QjtxQkFDL0IsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JCb3R0b21TZXJ2aWNlIH0gZnJvbSAnLi9uYXZpZ2F0b3ItYm90dG9tLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEM4eVRyYW5zbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktbmF2aWdhdG9yLWJvdHRvbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0b3ItYm90dG9tLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbmF2aWdhdG9yLXNsb3QtYm90dG9tJ1xuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0lmLCBDOHlUcmFuc2xhdGVEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRvckJvdHRvbUNvbXBvbmVudCB7XG4gIGhhc0N1c3RvbU5hdmlnYXRvckxvZ29TZXQkID0gdGhpcy5ib3R0b21TZXJ2aWNlLmhhc0N1c3RvbU5hdmlnYXRvckxvZ29TZXQoKTtcbiAgaGFzSGlkZVBvd2VyZWRTZXQkID0gdGhpcy5ib3R0b21TZXJ2aWNlLmhhc0hpZGVQb3dlcmVkU2V0KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBib3R0b21TZXJ2aWNlOiBOYXZpZ2F0b3JCb3R0b21TZXJ2aWNlKSB7fVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImQtZmxleCBnYXAtOCB7eyEoaGFzQ3VzdG9tTmF2aWdhdG9yTG9nb1NldCQgfCBhc3luYykgPyAnYzh5LWxvZ28nIDogJyd9fVwiXG4gICpuZ0lmPVwiIShoYXNDdXN0b21OYXZpZ2F0b3JMb2dvU2V0JCB8IGFzeW5jKTsgZWxzZSBicmFuZGVkXCJcbj5cbiAgPHBcbiAgICAqbmdJZj1cIiEoaGFzSGlkZVBvd2VyZWRTZXQkIHwgYXN5bmMpXCJcbiAgICBjbGFzcz1cInBvd2VyZWQtYnkgdGV4dC1sZWZ0IGEtcy1lbmRcIlxuICAgIHRyYW5zbGF0ZVxuICA+XG4gICAgcG93ZXJlZCBieVxuICA8L3A+XG4gIDxhIGhyZWY9XCJodHRwczovL2N1bXVsb2NpdHkuY29tXCIgdGFyZ2V0PVwiX2JsYW5rXCIgdGl0bGU9XCJDdW11bG9jaXR5XCIgY2xhc3M9XCJ0ZW5hbnQtYnJhbmRcIj48L2E+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjYnJhbmRlZD5cbiAgPGRpdiBjbGFzcz1cImxvZ28tc3BhY2VyXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0ZW5hbnQtYnJhbmRcIj48L2Rpdj5cbiAgPHBcbiAgICBjbGFzcz1cInBvd2VyZWQtYnkgdGV4dC1jZW50ZXIgYS1zLWNlbnRlclwiXG4gICAgKm5nSWY9XCIhKGhhc0hpZGVQb3dlcmVkU2V0JCB8IGFzeW5jKVwiXG4gICAgdHJhbnNsYXRlXG4gID5cbiAgICBwb3dlcmVkIGJ5IDxhIGhyZWY9XCJodHRwczovL2N1bXVsb2NpdHkuY29tXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Q3VtdWxvY2l0eTwvYT5cbiAgPC9wPlxuICA8ZGl2IGNsYXNzPVwibG9nby1zcGFjZXJcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLWJvdHRvbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL25hdmlnYXRvci9uYXZpZ2F0b3ItYm90dG9tL25hdmlnYXRvci1ib3R0b20uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29yZS9uYXZpZ2F0b3IvbmF2aWdhdG9yLWJvdHRvbS9uYXZpZ2F0b3ItYm90dG9tLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQVduRCxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLFlBQW9CLGFBQXFDO1FBQXJDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQUh6RCwrQkFBMEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDNUUsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBRUEsQ0FBQzs4R0FKbEQsd0JBQXdCO2tHQUF4Qix3QkFBd0IsbUlDZHJDLHd5QkF5QkEsdUNEYlksU0FBUyw4Q0FBRSxJQUFJLDZGQUFFLHFCQUFxQjs7MkZBRXJDLHdCQUF3QjtrQkFUcEMsU0FBUzsrQkFDRSxzQkFBc0IsUUFFMUI7d0JBQ0osS0FBSyxFQUFFLHVCQUF1QjtxQkFDL0IsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JCb3R0b21TZXJ2aWNlIH0gZnJvbSAnLi9uYXZpZ2F0b3ItYm90dG9tLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEM4eVRyYW5zbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktbmF2aWdhdG9yLWJvdHRvbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0b3ItYm90dG9tLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbmF2aWdhdG9yLXNsb3QtYm90dG9tJ1xuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0lmLCBDOHlUcmFuc2xhdGVEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIE5hdmlnYXRvckJvdHRvbUNvbXBvbmVudCB7XG4gIGhhc0N1c3RvbU5hdmlnYXRvckxvZ29TZXQkID0gdGhpcy5ib3R0b21TZXJ2aWNlLmhhc0N1c3RvbU5hdmlnYXRvckxvZ29TZXQoKTtcbiAgaGFzSGlkZVBvd2VyZWRTZXQkID0gdGhpcy5ib3R0b21TZXJ2aWNlLmhhc0hpZGVQb3dlcmVkU2V0KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBib3R0b21TZXJ2aWNlOiBOYXZpZ2F0b3JCb3R0b21TZXJ2aWNlKSB7fVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImQtZmxleCBnYXAtOCB7eyEoaGFzQ3VzdG9tTmF2aWdhdG9yTG9nb1NldCQgfCBhc3luYykgPyAnYzh5LWxvZ28nIDogJyd9fVwiXG4gICpuZ0lmPVwiIShoYXNDdXN0b21OYXZpZ2F0b3JMb2dvU2V0JCB8IGFzeW5jKTsgZWxzZSBicmFuZGVkXCJcbj5cbiAgPHBcbiAgICAqbmdJZj1cIiEoaGFzSGlkZVBvd2VyZWRTZXQkIHwgYXN5bmMpXCJcbiAgICBjbGFzcz1cInBvd2VyZWQtYnkgdGV4dC1sZWZ0IGEtcy1lbmRcIlxuICAgIHRyYW5zbGF0ZVxuICA+XG4gICAgcG93ZXJlZCBieWBLRUVQX09SSUdJTkFMYFxuICA8L3A+XG4gIDxhIGhyZWY9XCJodHRwczovL2N1bXVsb2NpdHkuY29tXCIgdGFyZ2V0PVwiX2JsYW5rXCIgdGl0bGU9XCJDdW11bG9jaXR5XCIgY2xhc3M9XCJ0ZW5hbnQtYnJhbmRcIj48L2E+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjYnJhbmRlZD5cbiAgPGRpdiBjbGFzcz1cImxvZ28tc3BhY2VyXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0ZW5hbnQtYnJhbmRcIj48L2Rpdj5cbiAgPHBcbiAgICBjbGFzcz1cInBvd2VyZWQtYnkgdGV4dC1jZW50ZXIgYS1zLWNlbnRlclwiXG4gICAgKm5nSWY9XCIhKGhhc0hpZGVQb3dlcmVkU2V0JCB8IGFzeW5jKVwiXG4gICAgdHJhbnNsYXRlXG4gID5cbiAgICBwb3dlcmVkIGJ5IDxhIGhyZWY9XCJodHRwczovL2N1bXVsb2NpdHkuY29tXCIgdGFyZ2V0PVwiX2JsYW5rXCI+Q3VtdWxvY2l0eTwvYT5gS0VFUF9PUklHSU5BTGBcbiAgPC9wPlxuICA8ZGl2IGNsYXNzPVwibG9nby1zcGFjZXJcIj48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=