@alauda-fe/common 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/a-chart/base-chart.d.ts +4 -3
  2. package/a-chart/types.d.ts +5 -0
  3. package/a-chart/utils.d.ts +1 -1
  4. package/a-metric-chart/a-metric-chart.component.d.ts +5 -1
  5. package/a-metric-chart/stat-chart/stat-chart.component.d.ts +5 -1
  6. package/a-metric-chart/types.d.ts +15 -0
  7. package/a-metric-chart/utils/util.d.ts +6 -1
  8. package/array-form-table/string-array-form/component.d.ts +2 -1
  9. package/core/constants/tokens.d.ts +1 -1
  10. package/core/pipes/cron-human-readable.pipe.d.ts +1 -6
  11. package/core/pipes/k8s-util.pipe.d.ts +1 -9
  12. package/core/pipes/k8s-util.pipe.module.d.ts +3 -3
  13. package/core/pipes/parse-json-translate.pipe.d.ts +4 -4
  14. package/core/services/aui-paginator-intl.service.d.ts +1 -1
  15. package/core/services/k8s-util.service.d.ts +3 -1
  16. package/core/types/k8s/crd.d.ts +1 -4
  17. package/esm2022/a-chart/base-chart.mjs +47 -33
  18. package/esm2022/a-chart/chart.component.mjs +9 -5
  19. package/esm2022/a-chart/types.mjs +1 -1
  20. package/esm2022/a-chart/utils.mjs +3 -3
  21. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +53 -19
  22. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +1 -1
  23. package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +63 -25
  24. package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +2 -2
  25. package/esm2022/a-metric-chart/types.mjs +9 -1
  26. package/esm2022/a-metric-chart/utils/util.mjs +20 -2
  27. package/esm2022/array-form-table/string-array-form/component.mjs +32 -22
  28. package/esm2022/business/resource-select/internals/data-grid/component.mjs +2 -2
  29. package/esm2022/business/resource-select/internals/namespace-list/component.mjs +5 -5
  30. package/esm2022/core/constants/tokens.mjs +15 -16
  31. package/esm2022/core/pipes/cron-human-readable.pipe.mjs +3 -6
  32. package/esm2022/core/pipes/k8s-util.pipe.mjs +2 -24
  33. package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -5
  34. package/esm2022/core/pipes/parse-json-translate.pipe.mjs +1 -1
  35. package/esm2022/core/services/k8s-util.service.mjs +4 -5
  36. package/esm2022/core/services/time.service.mjs +3 -5
  37. package/esm2022/core/types/k8s/crd.mjs +1 -1
  38. package/esm2022/core/utils/common.mjs +7 -1
  39. package/esm2022/metric-chart/types.mjs +1 -1
  40. package/esm2022/notification/notification-util.service.mjs +2 -3
  41. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +2 -2
  42. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +78 -81
  43. package/esm2022/page-scaffold/page-header/account-menu/module.mjs +1 -1
  44. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +2 -2
  45. package/esm2022/table/component.mjs +12 -5
  46. package/esm2022/translate/constants.mjs +2 -6
  47. package/esm2022/translate/helpers.mjs +4 -18
  48. package/esm2022/translate/i18n-assets-loader.mjs +58 -0
  49. package/esm2022/translate/i18n-config.mjs +25 -0
  50. package/esm2022/translate/public-api.mjs +3 -1
  51. package/esm2022/translate/tokens.mjs +3 -8
  52. package/esm2022/translate/translate.module.mjs +1 -52
  53. package/esm2022/translate/translate.pipe.mjs +4 -6
  54. package/esm2022/translate/translate.service.mjs +44 -76
  55. package/esm2022/translate/types.mjs +1 -1
  56. package/esm2022/view-zchart/units.mjs +3 -3
  57. package/esm2022/widget/date-range-picker/component.mjs +14 -23
  58. package/esm2022/widget/foldable-item-in-table/component.mjs +3 -3
  59. package/esm2022/widget/password-input/component.mjs +5 -3
  60. package/esm2022/widget/search-panel/component.mjs +2 -2
  61. package/esm2022/widget/tags-label/component.mjs +8 -6
  62. package/esm2022/xterm/xterm.component.mjs +2 -2
  63. package/metric-chart/types.d.ts +1 -1
  64. package/package.json +2 -1
  65. package/page-scaffold/page-header/account-menu/component/component.d.ts +6 -2
  66. package/page-scaffold/page-header/component.d.ts +1 -1
  67. package/styles/global.scss +3 -3
  68. package/styles/mixins.scss +13 -3
  69. package/styles/tailwind-preset.scss +1 -1
  70. package/table/component.d.ts +3 -1
  71. package/translate/constants.d.ts +1 -7
  72. package/translate/helpers.d.ts +1 -10
  73. package/translate/i18n-assets-loader.d.ts +19 -0
  74. package/translate/i18n-config.d.ts +12 -0
  75. package/translate/public-api.d.ts +2 -0
  76. package/translate/tokens.d.ts +3 -7
  77. package/translate/translate.module.d.ts +0 -1214
  78. package/translate/translate.pipe.d.ts +4 -4
  79. package/translate/translate.service.d.ts +15 -21
  80. package/translate/types.d.ts +8 -8
  81. package/widget/date-range-picker/component.d.ts +3 -7
  82. package/widget/foldable-item-in-table/component.d.ts +1 -2
  83. package/widget/tags-label/component.d.ts +6 -1
  84. package/assets/icons/bicolor-icons.js +0 -1
  85. package/assets/icons/navigation-icons.js +0 -1
  86. package/assets/icons/prod-icons.js +0 -1
  87. package/esm2022/graphql/graphql.module.mjs +0 -62
  88. package/esm2022/graphql/graphql.service.mjs +0 -45
  89. package/esm2022/graphql/public-api.mjs +0 -4
  90. package/esm2022/graphql/queries.mjs +0 -29
  91. package/esm2022/graphql/types.mjs +0 -6
  92. package/esm2022/translate/en.json +0 -602
  93. package/esm2022/translate/zh.json +0 -600
  94. package/graphql/graphql.module.d.ts +0 -12
  95. package/graphql/graphql.service.d.ts +0 -14
  96. package/graphql/public-api.d.ts +0 -3
  97. package/graphql/queries.d.ts +0 -5
  98. package/graphql/types.d.ts +0 -46
@@ -155,6 +155,9 @@ export class K8sUtilService {
155
155
  })), catchError(() => this.retryUpdate(put, get, resource, silent)))), catchError(() => throwError(() => err)));
156
156
  return put(resource).pipe(catchError((err) => err.code === 409 ? waitUserConfirmRetry(err) : throwError(() => err)));
157
157
  }
158
+ /**
159
+ * @deprecated
160
+ */
158
161
  // eslint-disable-next-line sonar/function-name
159
162
  $get(resource, type) {
160
163
  return this.getAnnotation(resource, {
@@ -163,10 +166,6 @@ export class K8sUtilService {
163
166
  prefix: TRANSLATION,
164
167
  });
165
168
  }
166
- // eslint-disable-next-line sonar/function-name
167
- $translate(resource, type, data) {
168
- return this.translate.get(this.$get(resource, type), data);
169
- }
170
169
  static { this.ɵfac = function K8sUtilService_Factory(t) { return new (t || K8sUtilService)(i0.ɵɵinject(i0.Injector)); }; }
171
170
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: K8sUtilService, factory: K8sUtilService.ɵfac, providedIn: 'root' }); }
172
171
  }
@@ -176,4 +175,4 @@ export class K8sUtilService {
176
175
  providedIn: 'root',
177
176
  }]
178
177
  }], function () { return [{ type: i0.Injector }]; }, null); })();
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL2s4cy11dGlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBRUwsSUFBSSxFQUNKLFVBQVUsRUFDVixFQUFFLEVBQ0YsVUFBVSxFQUNWLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsYUFBYSxFQUF3QixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7O0FBRTdCLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxZQUFZ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LENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQ3JFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCwrQ0FBK0M7SUFDL0MsSUFBSSxDQUErQixRQUFXLEVBQUUsSUFBWTtRQUMxRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQ2xDLElBQUk7WUFDSixVQUFVLEVBQUUsVUFBVTtZQUN0QixNQUFNLEVBQUUsV0FBVztTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLFVBQVUsQ0FDUixRQUFXLEVBQ1gsSUFBWSxFQUNaLElBQWM7UUFFZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7K0VBeFJVLGNBQWM7dUVBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTs7dUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG4gIGZyb20sXG4gIHRocm93RXJyb3IsXG4gIG9mLFxuICBjYXRjaEVycm9yLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UsIFJlc291cmNlRGVsZXRlUGFyYW1zIH0gZnJvbSAnLi4vLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFNQQUNFLCBUT0tFTl9CQVNFX0RPTUFJTiB9IGZyb20gJy4uL2NvbnN0YW50cy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEt1YmVybmV0ZXNSZXNvdXJjZSwgU3RhdHVzIH0gZnJvbSAnLi4vdHlwZXMvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBjYXRjaFByb21pc2UsXG4gIHNraXBFcnJvcixcbiAgaWZFeGlzdCxcbiAgd3JhcFRleHQsXG59IGZyb20gJy4uL3V0aWxzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgTUVUQURBVEEgPSAnbWV0YWRhdGEnO1xuZXhwb3J0IGNvbnN0IE5BTUVTUEFDRSA9ICduYW1lc3BhY2UnO1xuZXhwb3J0IGNvbnN0IE5BTUUgPSAnbmFtZSc7XG5leHBvcnQgY29uc3QgQ1JFQVRJT05fVElNRVNUQU1QID0gJ2NyZWF0aW9uVGltZXN0YW1wJztcbmV4cG9ydCBjb25zdCBBTk5PVEFUSU9OUyA9ICdhbm5vdGF0aW9ucyc7XG5leHBvcnQgY29uc3QgTEFCRUxTID0gJ2xhYmVscyc7XG5leHBvcnQgY29uc3QgRElTUExBWV9OQU1FID0gJ2Rpc3BsYXktbmFtZSc7XG5leHBvcnQgY29uc3QgREVTQ1JJUFRJT04gPSAnZGVzY3JpcHRpb24nO1xuZXhwb3J0IGNvbnN0IENSRUFUT1IgPSAnY3JlYXRvcic7XG5leHBvcnQgY29uc3QgVVBEQVRFRF9fQVQgPSAndXBkYXRlZC1hdCc7XG5leHBvcnQgY29uc3QgUFJPSkVDVCA9ICdwcm9qZWN0JztcbmV4cG9ydCBjb25zdCBDTFVTVEVSID0gJ2NsdXN0ZXInO1xuZXhwb3J0IGNvbnN0IFRSQU5TTEFUSU9OID0gJ3RyYW5zbGF0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyB7XG4gIHR5cGU6IHN0cmluZztcbiAgYmFzZURvbWFpbjogc3RyaW5nO1xuICBwcmVmaXg/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBLOHNVdGlsU2VydmljZTxSIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiB7XG4gIHByb3RlY3RlZCBkaWFsb2c6IERpYWxvZ1NlcnZpY2U7XG4gIHByb3RlY3RlZCBtZXNzYWdlOiBNZXNzYWdlU2VydmljZTtcbiAgcHJvdGVjdGVkIGs4c0FwaTogSzhzQXBpU2VydmljZTxSPjtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZTtcbiAgcHJvdGVjdGVkIGJhc2VEb21haW46IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5kaWFsb2cgPSBpbmplY3Rvci5nZXQoRGlhbG9nU2VydmljZSBhcyBUeXBlPERpYWxvZ1NlcnZpY2U+KTtcbiAgICB0aGlzLm1lc3NhZ2UgPSBpbmplY3Rvci5nZXQoTWVzc2FnZVNlcnZpY2UgYXMgVHlwZTxNZXNzYWdlU2VydmljZT4pO1xuICAgIHRoaXMuazhzQXBpID0gaW5qZWN0b3IuZ2V0KEs4c0FwaVNlcnZpY2UgYXMgVHlwZTxLOHNBcGlTZXJ2aWNlPik7XG4gICAgdGhpcy50cmFuc2xhdGUgPSBpbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSBhcyBUeXBlPFRyYW5zbGF0ZVNlcnZpY2U+KTtcbiAgICB0aGlzLmJhc2VEb21haW4gPSBpbmplY3Rvci5nZXQoVE9LRU5fQkFTRV9ET01BSU4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB0eXBlIC0g5a+55bqU6LWE5rqQ55qE57+76K+RIGtleVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBSZXNvdXJjZURlbGV0ZVBhcmFtczxSLCBUPixcbiAgICB0eXBlT3JPcHRpb25zOiBzdHJpbmcgfCB7IHR5cGU6IHN0cmluZzsgY29udGVudDogc3RyaW5nIH0sXG4gICkge1xuICAgIGNvbnN0IHsgdHlwZSwgY29udGVudCB9ID1cbiAgICAgIHR5cGVvZiB0eXBlT3JPcHRpb25zID09PSAnc3RyaW5nJ1xuICAgICAgICA/IHsgdHlwZTogdHlwZU9yT3B0aW9ucywgY29udGVudDogbnVsbCB9XG4gICAgICAgIDogdHlwZU9yT3B0aW9ucztcbiAgICByZXR1cm4gY2F0Y2hQcm9taXNlKFxuICAgICAgdGhpcy5kaWFsb2cuY29uZmlybSh7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NvbmZpcm1fZGVsZXRlX3Jlc291cmNlJywge1xuICAgICAgICAgIHR5cGU6IHRoaXMudHJhbnNsYXRlLmdldCh0eXBlKSxcbiAgICAgICAgICBuYW1lOiAnbmFtZScgaW4gcGFyYW1zID8gcGFyYW1zLm5hbWUgOiB0aGlzLmdldE5hbWUocGFyYW1zLnJlc291cmNlKSxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIGNvbmZpcm1UZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2RlbGV0ZScpLFxuICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgICBiZWZvcmVDb25maXJtOiAoKSA9PlxuICAgICAgICAgICgnY2x1c3RlcicgaW4gcGFyYW1zXG4gICAgICAgICAgICA/IHRoaXMuazhzQXBpLmRlbGV0ZVJlc291cmNlKHBhcmFtcylcbiAgICAgICAgICAgIDogdGhpcy5rOHNBcGkuZGVsZXRlR2xvYmFsUmVzb3VyY2UocGFyYW1zKVxuICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PlxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2Uuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0ZS5nZXQoJ2RlbGV0ZV9zdWNjZXNzJykpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNraXBFcnJvcigpLFxuICAgICAgICAgICksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oe1xuICAgIHR5cGUsXG4gICAgY2x1c3RlcixcbiAgICByZXNvdXJjZSxcbiAgICBzaWxlbnQsXG4gIH06IHtcbiAgICB0eXBlOiBSO1xuICAgIGNsdXN0ZXI6IHN0cmluZztcbiAgICByZXNvdXJjZTogVDtcbiAgICBzaWxlbnQ/OiBib29sZWFuO1xuICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcHV0ID0gKHJlczogVCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLnB1dFJlc291cmNlKHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgY2x1c3RlcixcbiAgICAgICAgcmVzb3VyY2U6IHJlcyxcbiAgICAgICAgbm90aWZ5T25FcnJvcjogIXNpbGVudCxcbiAgICAgIH0pO1xuICAgIGNvbnN0IGdldCA9ICgpID0+XG4gICAgICB0aGlzLms4c0FwaS5nZXRSZXNvdXJjZTxUPih7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIGNsdXN0ZXIsXG4gICAgICAgIG5hbWVzcGFjZTogcmVzb3VyY2UubWV0YWRhdGEubmFtZXNwYWNlLFxuICAgICAgICBuYW1lOiByZXNvdXJjZS5tZXRhZGF0YS5uYW1lLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcmVzb3VyY2UsIHNpbGVudCk7XG4gIH1cblxuICB1cGRhdGVHbG9iYWxSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPih7XG4gICAgdHlwZSxcbiAgICBuYW1lc3BhY2VkLFxuICAgIHJlc291cmNlLFxuICAgIG5hbWVzcGFjZSxcbiAgICBzaWxlbnQsXG4gIH06IHtcbiAgICB0eXBlOiBSO1xuICAgIG5hbWVzcGFjZWQ/OiBib29sZWFuO1xuICAgIHJlc291cmNlOiBUO1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICBzaWxlbnQ/OiBib29sZWFuO1xuICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcHV0ID0gKHJlczogVCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLnB1dEdsb2JhbFJlc291cmNlKHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbmFtZXNwYWNlZCxcbiAgICAgICAgcmVzb3VyY2U6IHJlcyxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBub3RpZnlPbkVycm9yOiAhc2lsZW50LFxuICAgICAgfSk7XG4gICAgY29uc3QgZ2V0ID0gKCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLmdldEdsb2JhbFJlc291cmNlPFQ+KHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbmFtZXNwYWNlZCxcbiAgICAgICAgbmFtZTogcmVzb3VyY2UubWV0YWRhdGEubmFtZSxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcmVzb3VyY2UsIHNpbGVudCk7XG4gIH1cblxuICAvLyByZWZlcmVuY2U6IGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYXRlY2guY29tL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MjcxNjY5NDZcbiAgbm9ybWFsaXplVHlwZSh0eXBlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZyk6IHN0cmluZztcbiAgbm9ybWFsaXplVHlwZShwYXJhbXM6IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zKTogc3RyaW5nO1xuICBub3JtYWxpemVUeXBlKFxuICAgIHR5cGVPclBhcmFtczogc3RyaW5nIHwgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdHlwZU9yUGFyYW1zID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGAke2lmRXhpc3QocHJlZml4LCBwcmVmaXggKyAnLicpfSR7XG4gICAgICAgIHRoaXMuYmFzZURvbWFpblxuICAgICAgfS8ke3R5cGVPclBhcmFtc31gO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtpZkV4aXN0KHR5cGVPclBhcmFtcy5wcmVmaXgsIHR5cGVPclBhcmFtcy5wcmVmaXggKyAnLicpfSR7XG4gICAgICB0eXBlT3JQYXJhbXMuYmFzZURvbWFpblxuICAgIH0vJHt0eXBlT3JQYXJhbXMudHlwZX1gO1xuICB9XG5cbiAgZ2V0QW5ub3RhdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0QW5ub3RhdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICBwYXJhbXM6IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0QW5ub3RhdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICBwYXJhbXNPclR5cGU6IHN0cmluZyB8IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zLFxuICAgIHByZWZpeD86IHN0cmluZyxcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0KHJlc291cmNlLCBbXG4gICAgICBNRVRBREFUQSxcbiAgICAgIEFOTk9UQVRJT05TLFxuICAgICAgdGhpcy5ub3JtYWxpemVUeXBlKHBhcmFtc09yVHlwZSBhcyBzdHJpbmcsIHByZWZpeCksXG4gICAgXSk7XG4gIH1cblxuICBnZXROYW1lc3BhY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQpIHtcbiAgICByZXR1cm4gZ2V0KHJlc291cmNlLCBbTUVUQURBVEEsIE5BTUVTUEFDRV0pO1xuICB9XG5cbiAgZ2V0TmFtZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCkge1xuICAgIHJldHVybiBnZXQocmVzb3VyY2UsIFtNRVRBREFUQSwgTkFNRV0pO1xuICB9XG5cbiAgZ2V0Q3JlYXRpb25UaW1lc3RhbXA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQpIHtcbiAgICByZXR1cm4gZ2V0KHJlc291cmNlLCBbTUVUQURBVEEsIENSRUFUSU9OX1RJTUVTVEFNUF0pO1xuICB9XG5cbiAgZ2V0RGlzcGxheU5hbWU8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQsIHByZWZpeD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEFubm90YXRpb24ocmVzb3VyY2UsIERJU1BMQVlfTkFNRSwgcHJlZml4KTtcbiAgfVxuXG4gIGdldFVuaW9uRGlzcGxheU5hbWU8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgbmFtZVByZWZpeD86IHN0cmluZyB8IGZhbHNlLFxuICAgIGRpc3BsYXlOYW1lUHJlZml4Pzogc3RyaW5nLFxuICApIHtcbiAgICBpZiAoIXJlc291cmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5hbWUgPVxuICAgICAgKG5hbWVQcmVmaXggIT09IGZhbHNlICYmXG4gICAgICAgIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgTkFNRSwgbmFtZVByZWZpeCkpIHx8XG4gICAgICB0aGlzLmdldE5hbWUocmVzb3VyY2UpO1xuICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gdGhpcy5nZXREaXNwbGF5TmFtZShyZXNvdXJjZSwgZGlzcGxheU5hbWVQcmVmaXgpO1xuICAgIHJldHVybiBuYW1lICsgaWZFeGlzdChkaXNwbGF5TmFtZSwgU1BBQ0UgKyB3cmFwVGV4dChkaXNwbGF5TmFtZSkpO1xuICB9XG5cbiAgZ2V0RGVzY3JpcHRpb248VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQsIHByZWZpeD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEFubm90YXRpb24ocmVzb3VyY2UsIERFU0NSSVBUSU9OLCBwcmVmaXgpO1xuICB9XG5cbiAgZ2V0Q3JlYXRvcjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCwgcHJlZml4Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgQ1JFQVRPUiwgcHJlZml4KTtcbiAgfVxuXG4gIGdldFVwZGF0ZWRBdDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCwgcHJlZml4Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgVVBEQVRFRF9fQVQsIHByZWZpeCk7XG4gIH1cblxuICBnZXRMYWJlbDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0TGFiZWw8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgcGFyYW1zOiBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgKTogc3RyaW5nO1xuXG4gIGdldExhYmVsPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHJlc291cmNlOiBULFxuICAgIHBhcmFtc09yVHlwZTogc3RyaW5nIHwgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXQocmVzb3VyY2UsIFtcbiAgICAgIE1FVEFEQVRBLFxuICAgICAgTEFCRUxTLFxuICAgICAgdGhpcy5ub3JtYWxpemVUeXBlKHBhcmFtc09yVHlwZSBhcyBzdHJpbmcsIHByZWZpeCksXG4gICAgXSk7XG4gIH1cblxuICBnZXRQcm9qZWN0PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHJlc291cmNlOiBUKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGFiZWwocmVzb3VyY2UsIFBST0pFQ1QpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXRyeVVwZGF0ZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwdXQ6IChyZXNvdXJjZTogVCkgPT4gT2JzZXJ2YWJsZTxUPixcbiAgICBnZXQ6ICgpID0+IE9ic2VydmFibGU8VD4sXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgc2lsZW50PzogYm9vbGVhbixcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgd2FpdFVzZXJDb25maXJtUmV0cnkgPSAoZXJyOiBTdGF0dXMpID0+XG4gICAgICAoc2lsZW50XG4gICAgICAgID8gb2YobnVsbClcbiAgICAgICAgOiBmcm9tKFxuICAgICAgICAgICAgdGhpcy5kaWFsb2cuY29uZmlybSh7XG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3Jlc291cmNlX3ZlcnNpb25fY29uZmxpY3QnKSxcbiAgICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGUuZ2V0KCdjb25maXJtX3JldHJ5X3dpdGhfbGF0ZXN0X3ZlcnNpb24nKSxcbiAgICAgICAgICAgICAgY29uZmlybVRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnY29uZmlybScpLFxuICAgICAgICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuICAgICAgKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICBnZXQoKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKG5ld1Jlc291cmNlID0+XG4gICAgICAgICAgICAgIHB1dCh7XG4gICAgICAgICAgICAgICAgLi4ucmVzb3VyY2UsXG4gICAgICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICAgIC4uLnJlc291cmNlLm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgcmVzb3VyY2VWZXJzaW9uOiBuZXdSZXNvdXJjZS5tZXRhZGF0YS5yZXNvdXJjZVZlcnNpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aGlzLnJldHJ5VXBkYXRlKHB1dCwgZ2V0LCByZXNvdXJjZSwgc2lsZW50KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycikpLFxuICAgICAgKTtcblxuICAgIHJldHVybiBwdXQocmVzb3VyY2UpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnI6IFN0YXR1cykgPT5cbiAgICAgICAgZXJyLmNvZGUgPT09IDQwOSA/IHdhaXRVc2VyQ29uZmlybVJldHJ5KGVycikgOiB0aHJvd0Vycm9yKCgpID0+IGVyciksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXIvZnVuY3Rpb24tbmFtZVxuICAkZ2V0PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHJlc291cmNlOiBULCB0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbm5vdGF0aW9uKHJlc291cmNlLCB7XG4gICAgICB0eXBlLFxuICAgICAgYmFzZURvbWFpbjogJ2NwYWFzLmlvJyxcbiAgICAgIHByZWZpeDogVFJBTlNMQVRJT04sXG4gICAgfSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXIvZnVuY3Rpb24tbmFtZVxuICAkdHJhbnNsYXRlPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHJlc291cmNlOiBULFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBkYXRhPzogdW5rbm93bixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmdldCh0aGlzLiRnZXQocmVzb3VyY2UsIHR5cGUpLCBkYXRhKTtcbiAgfVxufVxuIl19
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL2s4cy11dGlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBRUwsSUFBSSxFQUNKLFVBQVUsRUFDVixFQUFFLEVBQ0YsVUFBVSxFQUNWLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsYUFBYSxFQUF3QixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLFNBQVMsRUFDVCxPQUFPLEVBQ1AsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7O0FBRTdCLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxZQUFZ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LENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQ3JFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILCtDQUErQztJQUMvQyxJQUFJLENBQStCLFFBQVcsRUFBRSxJQUFZO1FBQzFELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7WUFDbEMsSUFBSTtZQUNKLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLE1BQU0sRUFBRSxXQUFXO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7K0VBbFJVLGNBQWM7dUVBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTs7dUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG4gIGZyb20sXG4gIHRocm93RXJyb3IsXG4gIG9mLFxuICBjYXRjaEVycm9yLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEs4c0FwaVNlcnZpY2UsIFJlc291cmNlRGVsZXRlUGFyYW1zIH0gZnJvbSAnLi4vLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFNQQUNFLCBUT0tFTl9CQVNFX0RPTUFJTiB9IGZyb20gJy4uL2NvbnN0YW50cy9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEt1YmVybmV0ZXNSZXNvdXJjZSwgU3RhdHVzIH0gZnJvbSAnLi4vdHlwZXMvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBjYXRjaFByb21pc2UsXG4gIHNraXBFcnJvcixcbiAgaWZFeGlzdCxcbiAgd3JhcFRleHQsXG59IGZyb20gJy4uL3V0aWxzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgTUVUQURBVEEgPSAnbWV0YWRhdGEnO1xuZXhwb3J0IGNvbnN0IE5BTUVTUEFDRSA9ICduYW1lc3BhY2UnO1xuZXhwb3J0IGNvbnN0IE5BTUUgPSAnbmFtZSc7XG5leHBvcnQgY29uc3QgQ1JFQVRJT05fVElNRVNUQU1QID0gJ2NyZWF0aW9uVGltZXN0YW1wJztcbmV4cG9ydCBjb25zdCBBTk5PVEFUSU9OUyA9ICdhbm5vdGF0aW9ucyc7XG5leHBvcnQgY29uc3QgTEFCRUxTID0gJ2xhYmVscyc7XG5leHBvcnQgY29uc3QgRElTUExBWV9OQU1FID0gJ2Rpc3BsYXktbmFtZSc7XG5leHBvcnQgY29uc3QgREVTQ1JJUFRJT04gPSAnZGVzY3JpcHRpb24nO1xuZXhwb3J0IGNvbnN0IENSRUFUT1IgPSAnY3JlYXRvcic7XG5leHBvcnQgY29uc3QgVVBEQVRFRF9fQVQgPSAndXBkYXRlZC1hdCc7XG5leHBvcnQgY29uc3QgUFJPSkVDVCA9ICdwcm9qZWN0JztcbmV4cG9ydCBjb25zdCBDTFVTVEVSID0gJ2NsdXN0ZXInO1xuZXhwb3J0IGNvbnN0IFRSQU5TTEFUSU9OID0gJ3RyYW5zbGF0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyB7XG4gIHR5cGU6IHN0cmluZztcbiAgYmFzZURvbWFpbjogc3RyaW5nO1xuICBwcmVmaXg/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBLOHNVdGlsU2VydmljZTxSIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nPiB7XG4gIHByb3RlY3RlZCBkaWFsb2c6IERpYWxvZ1NlcnZpY2U7XG4gIHByb3RlY3RlZCBtZXNzYWdlOiBNZXNzYWdlU2VydmljZTtcbiAgcHJvdGVjdGVkIGs4c0FwaTogSzhzQXBpU2VydmljZTxSPjtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZTtcbiAgcHJvdGVjdGVkIGJhc2VEb21haW46IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5kaWFsb2cgPSBpbmplY3Rvci5nZXQoRGlhbG9nU2VydmljZSBhcyBUeXBlPERpYWxvZ1NlcnZpY2U+KTtcbiAgICB0aGlzLm1lc3NhZ2UgPSBpbmplY3Rvci5nZXQoTWVzc2FnZVNlcnZpY2UgYXMgVHlwZTxNZXNzYWdlU2VydmljZT4pO1xuICAgIHRoaXMuazhzQXBpID0gaW5qZWN0b3IuZ2V0KEs4c0FwaVNlcnZpY2UgYXMgVHlwZTxLOHNBcGlTZXJ2aWNlPik7XG4gICAgdGhpcy50cmFuc2xhdGUgPSBpbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSBhcyBUeXBlPFRyYW5zbGF0ZVNlcnZpY2U+KTtcbiAgICB0aGlzLmJhc2VEb21haW4gPSBpbmplY3Rvci5nZXQoVE9LRU5fQkFTRV9ET01BSU4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB0eXBlIC0g5a+55bqU6LWE5rqQ55qE57+76K+RIGtleVxuICAgKi9cbiAgZGVsZXRlUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcGFyYW1zOiBSZXNvdXJjZURlbGV0ZVBhcmFtczxSLCBUPixcbiAgICB0eXBlT3JPcHRpb25zOiBzdHJpbmcgfCB7IHR5cGU6IHN0cmluZzsgY29udGVudDogc3RyaW5nIH0sXG4gICkge1xuICAgIGNvbnN0IHsgdHlwZSwgY29udGVudCB9ID1cbiAgICAgIHR5cGVvZiB0eXBlT3JPcHRpb25zID09PSAnc3RyaW5nJ1xuICAgICAgICA/IHsgdHlwZTogdHlwZU9yT3B0aW9ucywgY29udGVudDogbnVsbCB9XG4gICAgICAgIDogdHlwZU9yT3B0aW9ucztcbiAgICByZXR1cm4gY2F0Y2hQcm9taXNlKFxuICAgICAgdGhpcy5kaWFsb2cuY29uZmlybSh7XG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NvbmZpcm1fZGVsZXRlX3Jlc291cmNlJywge1xuICAgICAgICAgIHR5cGU6IHRoaXMudHJhbnNsYXRlLmdldCh0eXBlKSxcbiAgICAgICAgICBuYW1lOiAnbmFtZScgaW4gcGFyYW1zID8gcGFyYW1zLm5hbWUgOiB0aGlzLmdldE5hbWUocGFyYW1zLnJlc291cmNlKSxcbiAgICAgICAgfSksXG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIGNvbmZpcm1UZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2RlbGV0ZScpLFxuICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgICBiZWZvcmVDb25maXJtOiAoKSA9PlxuICAgICAgICAgICgnY2x1c3RlcicgaW4gcGFyYW1zXG4gICAgICAgICAgICA/IHRoaXMuazhzQXBpLmRlbGV0ZVJlc291cmNlKHBhcmFtcylcbiAgICAgICAgICAgIDogdGhpcy5rOHNBcGkuZGVsZXRlR2xvYmFsUmVzb3VyY2UocGFyYW1zKVxuICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PlxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2Uuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0ZS5nZXQoJ2RlbGV0ZV9zdWNjZXNzJykpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNraXBFcnJvcigpLFxuICAgICAgICAgICksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUmVzb3VyY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oe1xuICAgIHR5cGUsXG4gICAgY2x1c3RlcixcbiAgICByZXNvdXJjZSxcbiAgICBzaWxlbnQsXG4gIH06IHtcbiAgICB0eXBlOiBSO1xuICAgIGNsdXN0ZXI6IHN0cmluZztcbiAgICByZXNvdXJjZTogVDtcbiAgICBzaWxlbnQ/OiBib29sZWFuO1xuICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcHV0ID0gKHJlczogVCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLnB1dFJlc291cmNlKHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgY2x1c3RlcixcbiAgICAgICAgcmVzb3VyY2U6IHJlcyxcbiAgICAgICAgbm90aWZ5T25FcnJvcjogIXNpbGVudCxcbiAgICAgIH0pO1xuICAgIGNvbnN0IGdldCA9ICgpID0+XG4gICAgICB0aGlzLms4c0FwaS5nZXRSZXNvdXJjZTxUPih7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIGNsdXN0ZXIsXG4gICAgICAgIG5hbWVzcGFjZTogcmVzb3VyY2UubWV0YWRhdGEubmFtZXNwYWNlLFxuICAgICAgICBuYW1lOiByZXNvdXJjZS5tZXRhZGF0YS5uYW1lLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcmVzb3VyY2UsIHNpbGVudCk7XG4gIH1cblxuICB1cGRhdGVHbG9iYWxSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPih7XG4gICAgdHlwZSxcbiAgICBuYW1lc3BhY2VkLFxuICAgIHJlc291cmNlLFxuICAgIG5hbWVzcGFjZSxcbiAgICBzaWxlbnQsXG4gIH06IHtcbiAgICB0eXBlOiBSO1xuICAgIG5hbWVzcGFjZWQ/OiBib29sZWFuO1xuICAgIHJlc291cmNlOiBUO1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICBzaWxlbnQ/OiBib29sZWFuO1xuICB9KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgcHV0ID0gKHJlczogVCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLnB1dEdsb2JhbFJlc291cmNlKHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbmFtZXNwYWNlZCxcbiAgICAgICAgcmVzb3VyY2U6IHJlcyxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICBub3RpZnlPbkVycm9yOiAhc2lsZW50LFxuICAgICAgfSk7XG4gICAgY29uc3QgZ2V0ID0gKCkgPT5cbiAgICAgIHRoaXMuazhzQXBpLmdldEdsb2JhbFJlc291cmNlPFQ+KHtcbiAgICAgICAgdHlwZSxcbiAgICAgICAgbmFtZXNwYWNlZCxcbiAgICAgICAgbmFtZTogcmVzb3VyY2UubWV0YWRhdGEubmFtZSxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXRyeVVwZGF0ZShwdXQsIGdldCwgcmVzb3VyY2UsIHNpbGVudCk7XG4gIH1cblxuICAvLyByZWZlcmVuY2U6IGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYXRlY2guY29tL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MjcxNjY5NDZcbiAgbm9ybWFsaXplVHlwZSh0eXBlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZyk6IHN0cmluZztcbiAgbm9ybWFsaXplVHlwZShwYXJhbXM6IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zKTogc3RyaW5nO1xuICBub3JtYWxpemVUeXBlKFxuICAgIHR5cGVPclBhcmFtczogc3RyaW5nIHwgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdHlwZU9yUGFyYW1zID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGAke2lmRXhpc3QocHJlZml4LCBwcmVmaXggKyAnLicpfSR7XG4gICAgICAgIHRoaXMuYmFzZURvbWFpblxuICAgICAgfS8ke3R5cGVPclBhcmFtc31gO1xuICAgIH1cblxuICAgIHJldHVybiBgJHtpZkV4aXN0KHR5cGVPclBhcmFtcy5wcmVmaXgsIHR5cGVPclBhcmFtcy5wcmVmaXggKyAnLicpfSR7XG4gICAgICB0eXBlT3JQYXJhbXMuYmFzZURvbWFpblxuICAgIH0vJHt0eXBlT3JQYXJhbXMudHlwZX1gO1xuICB9XG5cbiAgZ2V0QW5ub3RhdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0QW5ub3RhdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICBwYXJhbXM6IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0QW5ub3RhdGlvbjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICBwYXJhbXNPclR5cGU6IHN0cmluZyB8IEJhc2VOb3JtYWxpemVUeXBlUGFyYW1zLFxuICAgIHByZWZpeD86IHN0cmluZyxcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0KHJlc291cmNlLCBbXG4gICAgICBNRVRBREFUQSxcbiAgICAgIEFOTk9UQVRJT05TLFxuICAgICAgdGhpcy5ub3JtYWxpemVUeXBlKHBhcmFtc09yVHlwZSBhcyBzdHJpbmcsIHByZWZpeCksXG4gICAgXSk7XG4gIH1cblxuICBnZXROYW1lc3BhY2U8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQpIHtcbiAgICByZXR1cm4gZ2V0KHJlc291cmNlLCBbTUVUQURBVEEsIE5BTUVTUEFDRV0pO1xuICB9XG5cbiAgZ2V0TmFtZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCkge1xuICAgIHJldHVybiBnZXQocmVzb3VyY2UsIFtNRVRBREFUQSwgTkFNRV0pO1xuICB9XG5cbiAgZ2V0Q3JlYXRpb25UaW1lc3RhbXA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQpIHtcbiAgICByZXR1cm4gZ2V0KHJlc291cmNlLCBbTUVUQURBVEEsIENSRUFUSU9OX1RJTUVTVEFNUF0pO1xuICB9XG5cbiAgZ2V0RGlzcGxheU5hbWU8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQsIHByZWZpeD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEFubm90YXRpb24ocmVzb3VyY2UsIERJU1BMQVlfTkFNRSwgcHJlZml4KTtcbiAgfVxuXG4gIGdldFVuaW9uRGlzcGxheU5hbWU8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgbmFtZVByZWZpeD86IHN0cmluZyB8IGZhbHNlLFxuICAgIGRpc3BsYXlOYW1lUHJlZml4Pzogc3RyaW5nLFxuICApIHtcbiAgICBpZiAoIXJlc291cmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG5hbWUgPVxuICAgICAgKG5hbWVQcmVmaXggIT09IGZhbHNlICYmXG4gICAgICAgIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgTkFNRSwgbmFtZVByZWZpeCkpIHx8XG4gICAgICB0aGlzLmdldE5hbWUocmVzb3VyY2UpO1xuICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gdGhpcy5nZXREaXNwbGF5TmFtZShyZXNvdXJjZSwgZGlzcGxheU5hbWVQcmVmaXgpO1xuICAgIHJldHVybiBuYW1lICsgaWZFeGlzdChkaXNwbGF5TmFtZSwgU1BBQ0UgKyB3cmFwVGV4dChkaXNwbGF5TmFtZSkpO1xuICB9XG5cbiAgZ2V0RGVzY3JpcHRpb248VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQsIHByZWZpeD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEFubm90YXRpb24ocmVzb3VyY2UsIERFU0NSSVBUSU9OLCBwcmVmaXgpO1xuICB9XG5cbiAgZ2V0Q3JlYXRvcjxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCwgcHJlZml4Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgQ1JFQVRPUiwgcHJlZml4KTtcbiAgfVxuXG4gIGdldFVwZGF0ZWRBdDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihyZXNvdXJjZTogVCwgcHJlZml4Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QW5ub3RhdGlvbihyZXNvdXJjZSwgVVBEQVRFRF9fQVQsIHByZWZpeCk7XG4gIH1cblxuICBnZXRMYWJlbDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogVCxcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmc7XG5cbiAgZ2V0TGFiZWw8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgcGFyYW1zOiBCYXNlTm9ybWFsaXplVHlwZVBhcmFtcyxcbiAgKTogc3RyaW5nO1xuXG4gIGdldExhYmVsPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICAgIHJlc291cmNlOiBULFxuICAgIHBhcmFtc09yVHlwZTogc3RyaW5nIHwgQmFzZU5vcm1hbGl6ZVR5cGVQYXJhbXMsXG4gICAgcHJlZml4Pzogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXQocmVzb3VyY2UsIFtcbiAgICAgIE1FVEFEQVRBLFxuICAgICAgTEFCRUxTLFxuICAgICAgdGhpcy5ub3JtYWxpemVUeXBlKHBhcmFtc09yVHlwZSBhcyBzdHJpbmcsIHByZWZpeCksXG4gICAgXSk7XG4gIH1cblxuICBnZXRQcm9qZWN0PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHJlc291cmNlOiBUKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGFiZWwocmVzb3VyY2UsIFBST0pFQ1QpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXRyeVVwZGF0ZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICBwdXQ6IChyZXNvdXJjZTogVCkgPT4gT2JzZXJ2YWJsZTxUPixcbiAgICBnZXQ6ICgpID0+IE9ic2VydmFibGU8VD4sXG4gICAgcmVzb3VyY2U6IFQsXG4gICAgc2lsZW50PzogYm9vbGVhbixcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgd2FpdFVzZXJDb25maXJtUmV0cnkgPSAoZXJyOiBTdGF0dXMpID0+XG4gICAgICAoc2lsZW50XG4gICAgICAgID8gb2YobnVsbClcbiAgICAgICAgOiBmcm9tKFxuICAgICAgICAgICAgdGhpcy5kaWFsb2cuY29uZmlybSh7XG4gICAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3Jlc291cmNlX3ZlcnNpb25fY29uZmxpY3QnKSxcbiAgICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGUuZ2V0KCdjb25maXJtX3JldHJ5X3dpdGhfbGF0ZXN0X3ZlcnNpb24nKSxcbiAgICAgICAgICAgICAgY29uZmlybVRleHQ6IHRoaXMudHJhbnNsYXRlLmdldCgnY29uZmlybScpLFxuICAgICAgICAgICAgICBjYW5jZWxUZXh0OiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ2NhbmNlbCcpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKVxuICAgICAgKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICBnZXQoKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKG5ld1Jlc291cmNlID0+XG4gICAgICAgICAgICAgIHB1dCh7XG4gICAgICAgICAgICAgICAgLi4ucmVzb3VyY2UsXG4gICAgICAgICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgICAgICAgIC4uLnJlc291cmNlLm1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgcmVzb3VyY2VWZXJzaW9uOiBuZXdSZXNvdXJjZS5tZXRhZGF0YS5yZXNvdXJjZVZlcnNpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aGlzLnJldHJ5VXBkYXRlKHB1dCwgZ2V0LCByZXNvdXJjZSwgc2lsZW50KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycikpLFxuICAgICAgKTtcblxuICAgIHJldHVybiBwdXQocmVzb3VyY2UpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChlcnI6IFN0YXR1cykgPT5cbiAgICAgICAgZXJyLmNvZGUgPT09IDQwOSA/IHdhaXRVc2VyQ29uZmlybVJldHJ5KGVycikgOiB0aHJvd0Vycm9yKCgpID0+IGVyciksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hci9mdW5jdGlvbi1uYW1lXG4gICRnZXQ8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ocmVzb3VyY2U6IFQsIHR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEFubm90YXRpb24ocmVzb3VyY2UsIHtcbiAgICAgIHR5cGUsXG4gICAgICBiYXNlRG9tYWluOiAnY3BhYXMuaW8nLFxuICAgICAgcHJlZml4OiBUUkFOU0xBVElPTixcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -7,7 +7,7 @@ import dayjs from 'dayjs';
7
7
  import relativeTime from 'dayjs/plugin/relativeTime';
8
8
  import timezone from 'dayjs/plugin/timezone';
9
9
  import utc from 'dayjs/plugin/utc';
10
- import { Locale, TranslateService } from '../../translate/public-api';
10
+ import { TranslateService } from '../../translate/public-api';
11
11
  import { DATE_TIME_FORMAT } from '../constants/public-api';
12
12
  import * as i0 from "@angular/core";
13
13
  dayjs.extend(relativeTime);
@@ -29,9 +29,7 @@ export class TimeService {
29
29
  }
30
30
  distance(date, baseDate) {
31
31
  return dayjs(date)
32
- .locale(this.injector.get(TranslateService).locale === Locale.ZH
33
- ? 'zh-cn'
34
- : 'en')
32
+ .locale(this.injector.get(TranslateService).locale === 'zh' ? 'zh-cn' : 'en')
35
33
  .from(baseDate);
36
34
  }
37
35
  static { this.ɵfac = function TimeService_Factory(t) { return new (t || TimeService)(i0.ɵɵinject(i0.Injector)); }; }
@@ -43,4 +41,4 @@ export class TimeService {
43
41
  providedIn: 'root',
44
42
  }]
45
43
  }], function () { return [{ type: i0.Injector }]; }, null); })();
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvc2VydmljZXMvdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sS0FBcUIsTUFBTSxPQUFPLENBQUM7QUFDMUMsT0FBTyxZQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFFbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUUzRCxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzNCLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUtsQixNQUFNLE9BQU8sV0FBVztJQUN0QixJQUFJLE1BQU07UUFDUixPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQTZCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRW5ELEdBQUcsQ0FBQyxHQUFhO1FBQ2YsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDcEIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBaUIsRUFBRSxVQUFVLEdBQUcsZ0JBQWdCO1FBQ3JELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQWdCLEVBQUUsUUFBcUI7UUFDOUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ2YsTUFBTSxDQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxFQUFFO1lBQ3RELENBQUMsQ0FBQyxPQUFPO1lBQ1QsQ0FBQyxDQUFDLElBQUksQ0FDVDthQUNBLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQixDQUFDOzRFQXhCVSxXQUFXO3VFQUFYLFdBQVcsV0FBWCxXQUFXLG1CQUZWLE1BQU07O3VGQUVQLFdBQVc7Y0FIdkIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGRheWpzLCB7IENvbmZpZ1R5cGUgfSBmcm9tICdkYXlqcyc7XG5pbXBvcnQgcmVsYXRpdmVUaW1lIGZyb20gJ2RheWpzL3BsdWdpbi9yZWxhdGl2ZVRpbWUnO1xuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xuXG5pbXBvcnQgeyBMb2NhbGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBEQVRFX1RJTUVfRk9STUFUIH0gZnJvbSAnLi4vY29uc3RhbnRzL3B1YmxpYy1hcGknO1xuXG5kYXlqcy5leHRlbmQocmVsYXRpdmVUaW1lKTtcbmRheWpzLmV4dGVuZCh0aW1lem9uZSk7XG5kYXlqcy5leHRlbmQodXRjKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVTZXJ2aWNlIHtcbiAgZ2V0IGN1cnJUeigpIHtcbiAgICByZXR1cm4gZGF5anMudHouZ3Vlc3MoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIG5vdyh1dGM/OiBib29sZWFuKSB7XG4gICAgY29uc3Qgbm93ID0gZGF5anMoKTtcbiAgICByZXR1cm4gdXRjID8gbm93LnV0YygpIDogbm93O1xuICB9XG5cbiAgZm9ybWF0KGRhdGU/OiBDb25maWdUeXBlLCBkYXRlRm9ybWF0ID0gREFURV9USU1FX0ZPUk1BVCkge1xuICAgIHJldHVybiBkYXlqcyhkYXRlKS5mb3JtYXQoZGF0ZUZvcm1hdCk7XG4gIH1cblxuICBkaXN0YW5jZShkYXRlOiBDb25maWdUeXBlLCBiYXNlRGF0ZT86IENvbmZpZ1R5cGUpIHtcbiAgICByZXR1cm4gZGF5anMoZGF0ZSlcbiAgICAgIC5sb2NhbGUoXG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpLmxvY2FsZSA9PT0gTG9jYWxlLlpIXG4gICAgICAgICAgPyAnemgtY24nXG4gICAgICAgICAgOiAnZW4nLFxuICAgICAgKVxuICAgICAgLmZyb20oYmFzZURhdGUpO1xuICB9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvc2VydmljZXMvdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sS0FBcUIsTUFBTSxPQUFPLENBQUM7QUFDMUMsT0FBTyxZQUFZLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUM7QUFFbkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTNELEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDM0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN2QixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBS2xCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLElBQUksTUFBTTtRQUNSLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBNkIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFbkQsR0FBRyxDQUFDLEdBQWE7UUFDZixNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFpQixFQUFFLFVBQVUsR0FBRyxnQkFBZ0I7UUFDckQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZ0IsRUFBRSxRQUFxQjtRQUM5QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDZixNQUFNLENBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckU7YUFDQSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs0RUF0QlUsV0FBVzt1RUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNOzt1RkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcywgeyBDb25maWdUeXBlIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IHJlbGF0aXZlVGltZSBmcm9tICdkYXlqcy9wbHVnaW4vcmVsYXRpdmVUaW1lJztcbmltcG9ydCB0aW1lem9uZSBmcm9tICdkYXlqcy9wbHVnaW4vdGltZXpvbmUnO1xuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IERBVEVfVElNRV9GT1JNQVQgfSBmcm9tICcuLi9jb25zdGFudHMvcHVibGljLWFwaSc7XG5cbmRheWpzLmV4dGVuZChyZWxhdGl2ZVRpbWUpO1xuZGF5anMuZXh0ZW5kKHRpbWV6b25lKTtcbmRheWpzLmV4dGVuZCh1dGMpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGltZVNlcnZpY2Uge1xuICBnZXQgY3VyclR6KCkge1xuICAgIHJldHVybiBkYXlqcy50ei5ndWVzcygpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgbm93KHV0Yz86IGJvb2xlYW4pIHtcbiAgICBjb25zdCBub3cgPSBkYXlqcygpO1xuICAgIHJldHVybiB1dGMgPyBub3cudXRjKCkgOiBub3c7XG4gIH1cblxuICBmb3JtYXQoZGF0ZT86IENvbmZpZ1R5cGUsIGRhdGVGb3JtYXQgPSBEQVRFX1RJTUVfRk9STUFUKSB7XG4gICAgcmV0dXJuIGRheWpzKGRhdGUpLmZvcm1hdChkYXRlRm9ybWF0KTtcbiAgfVxuXG4gIGRpc3RhbmNlKGRhdGU6IENvbmZpZ1R5cGUsIGJhc2VEYXRlPzogQ29uZmlnVHlwZSkge1xuICAgIHJldHVybiBkYXlqcyhkYXRlKVxuICAgICAgLmxvY2FsZShcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSkubG9jYWxlID09PSAnemgnID8gJ3poLWNuJyA6ICdlbicsXG4gICAgICApXG4gICAgICAuZnJvbShiYXNlRGF0ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -38,4 +38,4 @@ export var HelmRequestPhaseEnum;
38
38
  HelmRequestPhaseEnum["Pending"] = "Pending";
39
39
  HelmRequestPhaseEnum["Uninstalling"] = "Uninstalling";
40
40
  })(HelmRequestPhaseEnum || (HelmRequestPhaseEnum = {}));
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdHlwZXMvazhzL2NyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5SEEsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixpREFBMEIsQ0FBQTtJQUMxQiwwQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQVVYO0FBVkQsV0FBWSxrQkFBa0I7SUFDNUIsa0RBQTRCLENBQUE7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7SUFDckIsNkNBQXVCLENBQUE7SUFDdkIsb0RBQThCLENBQUE7SUFDOUIsNkNBQXVCLENBQUE7SUFDdkIsc0RBQWdDLENBQUE7SUFDaEMsNkNBQXVCLENBQUE7SUFDdkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVZXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFVN0I7QUE4Q0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxNQUFNO0lBQ1osa0JBQWtCLEVBQUUsbUJBQW1CO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGFBQWEsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUErYlgsTUFBTSxDQUFOLElBQVkseUJBTVg7QUFORCxXQUFZLHlCQUF5QjtJQUNuQyxnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQiw4Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBTXBDO0FBV0QsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM5Qix5Q0FBaUIsQ0FBQTtJQUNqQix5Q0FBaUIsQ0FBQTtJQUNqQiwyQ0FBbUIsQ0FBQTtJQUNuQixxREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBTFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUsvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vY29tbW9ucyc7XG5cbmltcG9ydCB7IENvbmRpdGlvbiwgS3ViZXJuZXRlc1Jlc291cmNlLCBPYmplY3RNZXRhIH0gZnJvbSAnLi9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ01hcEtleVJlZixcbiAgTm9kZSxcbiAgTm9kZVN0YXR1cyxcbiAgTm9kZVRhaW50LFxuICBTZWNyZXRLZXlSZWYsXG59IGZyb20gJy4vcmF3JztcblxuLyoqXG4gKiDlj6rkv53nlZljb21tb27kuK3pnIDopoHnlKjliLDnmoRjcmQg5omp5bGV57G7XG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQ29uZGl0aW9uIHtcbiAgc3RhdHVzPzogJ1N1Y2Nlc3MnIHwgJ0ZhaWxlZCcgfCAnUHJvY2Vzc2luZycgfCAnUGVuZGluZyc7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbGFzdFRyYW5zaXRpb25UaW1lPzogc3RyaW5nO1xuICBsYXN0SGVhcnRiZWF0VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQXZhaWxhYmxlVmVyc2lvbiB7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuICByaXNrTGV2ZWw/OiAnTG93JyB8ICdNaWRkbGUnIHwgJ0hpZ2gnO1xuICBkZXBlbmRlbmNpZXM/OiBBcnJheTx7XG4gICAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb25zTWF0Y2g6IHN0cmluZ1tdO1xuICB9PjtcbiAgdXBncmFkZUJlZm9yZT86IEFycmF5PHtcbiAgICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUluZm8gZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzoge1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludD86IHN0cmluZztcbiAgICBzZWxlY3RlZENsdXN0ZXI/OiBBcnJheTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PjsgLy8ge3BsdWdpbi1uYW1lOiBjbHVzdGVyLW5hbWV9W11cbiAgICB2YWx1ZXNPdmVycmlkZTogU3RyaW5nTWFwO1xuICAgIGNvbmZpZz86IGFueTtcbiAgfTtcbiAgc3RhdHVzPzoge1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBwaGFzZTogJ1Byb2Nlc3NpbmcnIHwgJ1J1bm5pbmcnIHwgJ0ZhaWxlZCcgfCAnQmxvY2tlZCc7XG4gICAgcmVtb3ZlSXNQcmV2ZW50ZWQ/OiBib29sZWFuO1xuICAgIGJsb2NrUmVhc29ucz86IHN0cmluZ1tdO1xuICAgIGNvbmRpdGlvbnM/OiBNb2R1bGVJbmZvQ29uZGl0aW9uW107XG4gICAgYXZhaWxhYmxlVmVyc2lvbnM6IE1vZHVsZUluZm9BdmFpbGFibGVWZXJzaW9uW107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclNwZWMge1xuICBhdXRoSW5mbz86IHtcbiAgICBjb250cm9sbGVyOiB7XG4gICAgICBraW5kOiBzdHJpbmc7XG4gICAgICBuYW1lc3BhY2U6IHN0cmluZztcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBrdWJlcm5ldGVzQXBpRW5kcG9pbnRzPzoge1xuICAgIGNhQnVuZGxlPzogc3RyaW5nO1xuICAgIHNlcnZlckVuZHBvaW50czogQXJyYXk8e1xuICAgICAgY2xpZW50Q0lEUjogc3RyaW5nO1xuICAgICAgc2VydmVyQWRkcmVzczogc3RyaW5nO1xuICAgIH0+O1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBDbHVzdGVyU3RhdHVzUmVhc29uID1cbiAgfCAnVGltZW91dCdcbiAgfCAnRm9yYmlkZGVuJ1xuICB8ICdVbmF1dGhvcml6ZWQnXG4gIHwgJ1NvbWVDb21wb25lbnRzVW5oZWFsdGh5J1xuICB8ICdTb21lTm9kZXNOb3RSZWFkeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1c0NvbmRpdGlvbiBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGxhc3RUcmFuc2l0aW9uVGltZTogc3RyaW5nO1xuICB0eXBlOlxuICAgIHwgJ05vdFJlYWNoYWJsZSdcbiAgICB8ICdOb3RBY2Nlc3NpYmxlJ1xuICAgIHwgJ0NvbXBvbmVudE5vdEhlYWx0aHknXG4gICAgfCAnTm9kZU5vdFJlYWR5JztcbiAgc3RhdHVzOiAnVHJ1ZScgfCAnRmFsc2UnO1xuICByZWFzb246IENsdXN0ZXJTdGF0dXNSZWFzb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1cyB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgY29uZGl0aW9uczogQ2x1c3RlclN0YXR1c0NvbmRpdGlvbltdO1xufVxuXG4vLyBjbHVzdGVycy5jbHVzdGVycmVnaXN0cnkuazhzLmlvIOeahOexu+Wei+WumuS5iVxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgbWV0YWRhdGE/OiBPYmplY3RNZXRhICYge1xuICAgIGZpbmFsaXplcnM/OiBzdHJpbmdbXTtcbiAgfTtcbiAgc3BlYz86IENsdXN0ZXJTcGVjO1xuICBzdGF0dXM/OiBDbHVzdGVyU3RhdHVzO1xuICBkZXRhaWxzPzoge1xuICAgIGdyb3VwOiBzdHJpbmc7XG4gICAga2luZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgfTtcbn1cblxuLy8gQWxhdWRhIFByb2R1Y3RcbmV4cG9ydCBpbnRlcmZhY2UgQWxhdWRhUHJvZHVjdFN0YXR1cyBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGRlcGxveVN0YXR1cz86IEFsYXVkYURlcGxveVN0YXR1cztcbiAgcnVubmluZ1N0YXR1cz86IEFsYXVkYVJ1bm5pbmdTdGF0dXM7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGVwbG95VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQWxhdWRhUnVubmluZ1N0YXR1cyB7XG4gIE5PVF9SVU5OSU5HID0gJ05vdFJ1bm5pbmcnLFxuICBIRUFMVEhZID0gJ0hlYWx0aHknLFxuICBBQk5PUk1BTCA9ICdBYm5vcm1hbCcsXG59XG5cbmV4cG9ydCBlbnVtIEFsYXVkYURlcGxveVN0YXR1cyB7XG4gIE5PVF9ERVBMT1lFRCA9ICdOb3REZXBsb3llZCcsXG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXG4gIEFCTk9STUFMID0gJ0Fibm9ybWFsJyxcbiAgREVQTE9ZSU5HID0gJ0RlcGxveWluZycsXG4gIERFUExPWV9GQUlMRUQgPSAnRGVwbG95RmFpbGVkJyxcbiAgVVBHUkFESU5HID0gJ1VwZ3JhZGluZycsXG4gIFVQR1JBREVfRkFJTEVEID0gJ1VwZ3JhZGVGYWlsZWQnLFxuICBDT01QTEVURUQgPSAnQ29tcGxldGVkJyxcbiAgUEVORElORyA9ICdQZW5kaW5nJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2UgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBQcm9kdWN0QmFzZVNwZWM7XG4gIHN0YXR1cz86IFByb2R1Y3RCYXNlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTdGF0dXNDb25kaXRpb24ge1xuICBzdGF0dXM/OiAnVHJ1ZScgfCAnRmFsc2UnIHwgJ1Vua25vd24nO1xuICByZWFzb24/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHR5cGU6ICdSZWFkeScgfCAnSW5pdGlhbGl6ZWQnIHwgJ1JlY2xhaW1lZCcgfCAnU3VjY2VlZCc7XG4gIGxhc3RUcmFuc2l0aW9uVGltZT86IHN0cmluZztcbiAgbGFzdEhlYXJ0YmVhdFRpbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2VTdGF0dXMge1xuICBnbG9iYWxJRDogc3RyaW5nO1xuICBjbG91ZDoge1xuICAgIHBoYXNlOiAnT05MaW5lJyB8ICdDb25uZWN0RmFpbGVkJyB8ICdDb25uZWN0aW5nJyB8ICdPRkZMaW5lJztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgY29ubmVjdFVSTDogc3RyaW5nO1xuICB9O1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHBoYXNlPzogLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyL21heC11bmlvbi1zaXplXG4gIHwgJ1BlbmRpbmcnXG4gICAgfCAnUHJvdmlzaW9uaW5nJ1xuICAgIHwgJ1Byb3Zpc2lvbmVkJ1xuICAgIHwgJ0RlbGV0aW5nJ1xuICAgIHwgJ0ZhaWxlZCdcbiAgICB8ICdSdW5uaW5nJ1xuICAgIHwgJ0luc3RhbGxpbmcnIC8vIHRkc3FsXG4gICAgfCAnVXBncmFkaW5nJztcbiAgcHJvZHVjdEVudHJ5cG9pbnQ/OiBzdHJpbmc7XG4gIGRlbGV0YWJsZT86IGJvb2xlYW47XG4gIGNvbmRpdGlvbnM/OiBQcm9kdWN0U3RhdHVzQ29uZGl0aW9uW107XG4gIHByb21ldGhldXNBZGRyZXNzPzogc3RyaW5nO1xuICBlbGFzdGljU2VhcmNoQWRkcmVzcz86IHN0cmluZztcbiAga2Fma2FBZGRyZXNzPzogc3RyaW5nO1xuICBjb250YWluZXJQbGF0Zm9ybT86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIGRldm9wcz86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIHNlcnZpY2VNZXNoPzogQWxhdWRhUHJvZHVjdFN0YXR1cztcbiAgZGF0YVNlcnZpY2VzPzogQWxhdWRhUHJvZHVjdFN0YXR1cztcbiAgYmFzZT86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIHByb2dyZXNzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgUHJvZHVjdEtleSA9IHtcbiAgQkFTRTogJ2Jhc2UnLFxuICBDT05UQUlORVJfUExBVEZPUk06ICdjb250YWluZXJQbGF0Zm9ybScsXG4gIERFVk9QUzogJ2Rldm9wcycsXG4gIFNFUlZJQ0VfTUVTSDogJ3NlcnZpY2VNZXNoJyxcbiAgREFUQV9TRVJWSUNFUzogJ2RhdGFTZXJ2aWNlcycsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0S2V5ID0gVmFsdWVPZjx0eXBlb2YgUHJvZHVjdEtleT47XG5cbnR5cGUgR2VuUHJvZHVjdDxUIGV4dGVuZHMgUHJvZHVjdEtleT4gPSBSZWNvcmQ8VCwgeyBpbnN0YWxsOiBib29sZWFuIH0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRscyB7XG4gIGNlcnQ6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2VTcGVjIGV4dGVuZHMgR2VuUHJvZHVjdDxQcm9kdWN0S2V5PiB7XG4gIGFsdGVybmF0aXZlVVJMczogc3RyaW5nW107XG4gIGNoYXJ0TXVzZXVtOiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH07XG4gIHBhY2thZ2VFZGl0aW9uOiBzdHJpbmc7XG4gIHZhbHVlc092ZXJyaWRlPzoge1xuICAgIGRleDogU3RyaW5nTWFwO1xuICB9O1xuICBjaGFydFZlcnNpb25zOiBbeyBuYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZyB9XTtcbiAgZGVmYXVsdEFkbWluOiB7XG4gICAgYWNjb3VudDogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgfTtcbiAgZGVmYXVsdFJlZGlyZWN0UGF0aDogc3RyaW5nO1xuICBkZXBsb3lUeXBlOiBzdHJpbmc7XG4gIGVsYXN0aWNzZWFyY2g6IHtcbiAgICBpbnN0YWxsOiBib29sZWFuO1xuICAgIG5vZGVzOiBzdHJpbmdbXTtcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICBodHRwOiB7XG4gICAgZm9yY2VSZWRpcmVjdEh0dHBzPzogYm9vbGVhbjtcbiAgICBodHRwUG9ydD86IG51bWJlcjtcbiAgICBodHRwc1BvcnQ/OiBudW1iZXI7XG4gICAgdGxzPzogVGxzO1xuICB9O1xuICBpbmdyZXNzOiB7XG4gICAgY29udHJvbGxlcjogeyBpbnN0YWxsOiBib29sZWFuOyBub2Rlczogc3RyaW5nW10gfTtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgaW5ncmVzc0NsYXNzTmFtZTogc3RyaW5nO1xuICB9O1xuICBrYWZrYToge1xuICAgIGF1dGg6IGJvb2xlYW47XG4gICAgaW5zdGFsbDogYm9vbGVhbjtcbiAgICBub2Rlczogc3RyaW5nW107XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgbG9nQWdlbnQ6IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gIH07XG4gIGxvZ0NlbnRlcjoge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgfTtcbiAgcGxhdGZvcm1VUkw6IHN0cmluZztcbiAgcHJvbWV0aGV1czoge1xuICAgIGluc3RhbGw6IGJvb2xlYW47XG4gICAgcmVwbGljYXM6IG51bWJlcjtcbiAgICBzdG9yYWdlOiB7IGNhcGFjaXR5OiBudW1iZXI7IG5vZGVzOiBzdHJpbmdbXTsgcGF0aDogc3RyaW5nOyB0eXBlOiBzdHJpbmcgfTtcbiAgfTtcblxuICByZWdpc3RyeToge1xuICAgIGV4dGVybmFsPzogc3RyaW5nO1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICByZXBsaWNhczogbnVtYmVyO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGNsb3VkOiB7XG4gICAgY29ubmVjdDogYm9vbGVhbjtcbiAgICBjb25uZWN0VHlwZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RTcGVjIHtcbiAgY2x1c3RlcnM6IFByb2plY3RDbHVzdGVyW107XG4gIHN0YXR1cz86IHtcbiAgICBwaGFzZTogc3RyaW5nO1xuICB9O1xuICBjbHVzdGVyRGVsZXRlUG9saWN5PzogJ0RlbGV0ZScgfCAnUmV0YWluJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0Q2x1c3RlciB7XG4gIG5hbWU6IHN0cmluZztcbiAgcXVvdGE6IHN0cmluZzsgLy8gXCJ7XFxcImNwdVxcXCI6LTEsXFxcIm1lbW9yeVxcXCI6LTEsXFxcInBvZHNcXFwiOi0xLFxcXCJwdmNfbnVtXFxcIjotMSxcXFwic3RvcmFnZVxcXCI6LTF9XCJcbiAgdHlwZT86ICcnIHwgJ0ZlZE1lbWJlcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamVjdCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IFByb2plY3RTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgcGhhc2U6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlTWVzaEdyb3VwIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIGs4c1ZlcnNpb246IHN0cmluZztcbiAgICB3aXRob3V0SXN0aW8/OiBib29sZWFuO1xuICAgIGlzdGlvVmVyc2lvbjogc3RyaW5nO1xuICAgIHByaW1hcnk6IHN0cmluZztcbiAgICBzZWxlY3Rvcjoge1xuICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgIH07XG4gICAgY2x1c3RlcnM6IHN0cmluZ1tdO1xuICAgIG1lc2hDb21tb25Db25maWc/OiBNZXNoQ29tbW9uQ29uZmlnO1xuICAgIGNsdXN0ZXJDb25maWdzPzoge1xuICAgICAgW2NsdXN0ZXJOYW1lOiBzdHJpbmddOiBDbHVzdGVyQ29uZmlnO1xuICAgIH07XG4gIH07XG4gIHN0YXR1czoge1xuICAgIHN0YXR1czogc3RyaW5nO1xuICAgIE1lc3NhZ2U6IHN0cmluZztcbiAgICBjbHVzdGVyQ291bnQ6IG51bWJlcjtcbiAgICBsYXRlc3RVcGRhdGVUaW1lOiBzdHJpbmc7XG4gICAgTm9uUmVhZHlDbHVzdGVyQ291bnQ6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNoQ29tbW9uQ29uZmlnIHtcbiAgZWxhc3RpY3NlYXJjaDoge1xuICAgIGlzRGVmYXVsdDogYm9vbGVhbjtcbiAgICBwYXNzd29yZD86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICB1c2VybmFtZT86IHN0cmluZztcbiAgfTtcbiAgbW9uaXRvclR5cGU6IHN0cmluZztcbiAgcHJvbWV0aGV1c0Jhc2ljQXV0aDoge1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgaXNEZWZhdWx0TW9uaXRvcjogYm9vbGVhbjtcbiAgcHJvbWV0aGV1c1VSTDogc3RyaW5nO1xuICB0cmFjZVNhbXBsaW5nOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlckNvbmZpZyB7XG4gIGlzdGlvU2lkZWNhcjoge1xuICAgIGNwdVZhbHVlOiBzdHJpbmc7XG4gICAgbWVtb3J5VmFsdWU6IHN0cmluZztcbiAgfTtcbiAga2Fma2E/OiB7XG4gICAgYXV0aGVudGljYXRpb246IHN0cmluZztcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgcmVkaXM/OiBSZWRpc0NvbmZpZztcbiAgdHJhY2VTYW1wbGluZzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZGlzQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAga2luZDogJ3NpbmdsZScgfCAnY2x1c3RlcicgfCAnc2VudGluZWwnO1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG4gIG1hc3Rlck5hbWU/OiBzdHJpbmc7XG59XG5cbi8vIFRLRVxuZXhwb3J0IGludGVyZmFjZSBUS0VDbHVzdGVyU3BlYyB7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHNlcnZpY2VDSURSPzogc3RyaW5nO1xuICBkb2NrZXJFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIGt1YmVsZXRFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIGNvbnRyb2xsZXJNYW5hZ2VyRXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBzY2hlZHVsZXJFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIHB1YmxpY0FsdGVybmF0aXZlTmFtZXM/OiBzdHJpbmdbXTtcbiAgY2x1c3RlckNJRFI/OiBzdHJpbmc7XG4gIG5ldHdvcmtEZXZpY2U/OiBzdHJpbmc7XG4gIHByb3BlcnRpZXM/OiB7XG4gICAgbWF4Q2x1c3RlclNlcnZpY2VOdW0/OiBudW1iZXI7XG4gICAgbWF4Tm9kZVBvZE51bT86IG51bWJlcjtcbiAgICBvdmVyc29sZFJhdGlvPzoge1xuICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICBtZW1vcnk6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBmZWF0dXJlcz86IHtcbiAgICBlbmFibGVNYXN0ZXJTY2hlZHVsZT86IGJvb2xlYW47XG4gICAgaXB2NkR1YWxTdGFjaz86IGJvb2xlYW47XG4gICAgZ3B1VHlwZT86ICdQaHlzaWNhbCcgfCAnVmlydHVhbCc7XG4gICAgZmlsZXM/OiBBcnJheTx7XG4gICAgICBzcmM/OiBzdHJpbmc7XG4gICAgICBkc3Q/OiBzdHJpbmc7XG4gICAgfT47XG4gICAgaGE/OiB7XG4gICAgICB0aGlyZFBhcnR5Pzoge1xuICAgICAgICB2aXA/OiBzdHJpbmc7XG4gICAgICAgIHZwb3J0PzogbnVtYmVyO1xuICAgICAgfTtcbiAgICAgIHRrZT86IHtcbiAgICAgICAgdnJpZD86IHVua25vd247XG4gICAgICB9O1xuICAgIH07XG4gIH07XG4gIHR5cGU6ICdCYXJlbWV0YWwnIHwgJ0ltcG9ydGVkJztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgbWFjaGluZXM/OiBUS0VNYWNoaW5lU3BlY1tdO1xuICBkbnNEb21haW4/OiBzdHJpbmc7XG4gIGFwaVNlcnZlckV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAgY2x1c3RlckNyZWRlbnRpYWxSZWY/OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRLRUNsdXN0ZXIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogVEtFQ2x1c3RlclNwZWM7XG4gIHN0YXR1cz86IHtcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICAgIHBoYXNlPzogc3RyaW5nO1xuICAgIGNvbmRpdGlvbnM/OiBDb25kaXRpb25bXTtcbiAgICBhZGRyZXNzZXM/OiBBcnJheTx7XG4gICAgICBob3N0OiBzdHJpbmc7XG4gICAgICBwYXRoPzogJyc7XG4gICAgICB0eXBlOiAnQWR2ZXJ0aXNlJyB8ICdQdWJsaWMnO1xuICAgICAgcG9ydDogbnVtYmVyO1xuICAgIH0+O1xuICAgIHNlcnZpY2VDSURSPzogc3RyaW5nO1xuICAgIG5vZGVDSURSTWFza1NpemU/OiBudW1iZXI7XG4gICAgZG5zSVA/OiBzdHJpbmc7XG4gIH07XG4gIGdhdGV3YXlOb2RlPzogTm9kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUS0VNYWNoaW5lU3BlYyB7XG4gIGNsdXN0ZXJOYW1lPzogc3RyaW5nO1xuICByb2xlPzogJ25vZGUnIHwgJ21hc3Rlcic7XG4gIGlwPzogc3RyaW5nO1xuICBpcHY2Pzogc3RyaW5nO1xuICBwdWJsaWNJUD86IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIG5ldHdvcmtEZXZpY2U/OiBzdHJpbmc7XG4gIHBvcnQ6IG51bWJlcjtcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHByaXZhdGVLZXk/OiBzdHJpbmc7XG4gIHBhc3NQaHJhc2U/OiBzdHJpbmc7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG4gIGxhYmVscz86IHtcbiAgICBbJ252aWRpYS1kZXZpY2UtZW5hYmxlJ10/OiBzdHJpbmc7XG4gICAgWydub2RlLXJvbGUua3ViZXJuZXRlcy5pby9jcGFhcy1zeXN0ZW0nXT86IHN0cmluZztcbiAgfTtcbiAgdHlwZT86IHN0cmluZztcbiAgcHJveHk/OiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG4gIGFubm90YXRpb25zPzogU3RyaW5nTWFwO1xuICB0YWludHM/OiBOb2RlVGFpbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyQ3JlZGVudGlhbCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG4gIGNhQ2VydDogc3RyaW5nO1xuICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRLRU1hY2hpbmUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogVEtFTWFjaGluZVNwZWM7XG4gIHN0YXR1cz86IE5vZGVTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFjaGluZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBNYWNoaW5lU3BlYztcbiAgc3RhdHVzPzogTWFjaGluZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYWNoaW5lU3BlYyB7XG4gIGNsdXN0ZXI6IHN0cmluZztcbiAgcHJvdmlkZXI6IHN0cmluZztcbiAgcHJvdmlkZXJTcGVjOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hY2hpbmVTdGF0dXMge1xuICB1c2VyRGF0YVNlY3JldD86IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9O1xuICBub2RlUmVmPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gIH07XG4gIGxhc3RVcGRhdGU6IHN0cmluZztcbiAgZXJyUmVhc29uOiBzdHJpbmc7XG4gIGVyck1lc3NhZ2U6IHN0cmluZztcbiAgcGhhc2U6IHN0cmluZztcbiAgY29uZGl0aW9uczogQ29uZGl0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclZpZXcgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogdm9pZDtcbiAgc3RhdHVzPzogQ2x1c3RlclZpZXdTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclZpZXdTdGF0dXMge1xuICBwcm92aXNpb25UeXBlOiAnU2VsZkhvc3RlZCcgfCAnUHJvdmlkZXJIb3N0ZWQnIHwgJ0ltcG9ydGVkJyB8ICdSZWdpc3RlcmVkJztcbiAgY2x1c3RlclR5cGU6IHN0cmluZztcbiAgc3VwcG9ydFdpbmRvd3M6IGJvb2xlYW47XG4gIHJlZ2lzdHJ5QWRkcmVzczogc3RyaW5nO1xuICBjb25kaXRpb25zOiBDb25kaXRpb25bXTtcbiAgcHJvamVjdHM6IEFycmF5PHsgbmFtZTogc3RyaW5nOyBkaXNwbGF5TmFtZTogc3RyaW5nIH0+O1xuICBjb250cm9sUGxhbmVFbmRwb2ludHM6IHtcbiAgICBkZWZhdWx0OiBzdHJpbmc7XG4gICAgYWR2ZXJ0aXNlOiBzdHJpbmc7XG4gICAgcHVibGljPzogc3RyaW5nO1xuICB9O1xuICBub2Rlc0luZm86IHtcbiAgICByZWFkeU5vZGVzOiBudW1iZXI7XG4gICAgbm90UmVhZHlOb2RlczogbnVtYmVyO1xuICAgIGFyY2hpdGVjdHVyZXM6IHN0cmluZ1tdO1xuICAgIHRvdGFsQ1BVQ29yZXM6IG51bWJlcjtcbiAgICB0b3RhbE1lbW9yaWVzOiBudW1iZXI7XG4gICAgdG90YWxOdmlkaWFDb3JlczogbnVtYmVyO1xuICAgIHRvdGFsVkdQVUNvcmVzOiBudW1iZXI7XG4gICAgdG90YWxWR1BVTWVtb3J5VW5pdHM6IG51bWJlcjtcbiAgICBleHRyYVJlc291cmNlczogdW5rbm93bjtcbiAgICBjcmlWZXJzaW9uczogc3RyaW5nW107XG4gIH07XG4gIGNsdXN0ZXJOZXR3b3JrOiB7XG4gICAgaGFMb2FkQmFsYW5jZXJUeXBlPzogJ0FsaXZlJyB8ICdUaGlyZFBhcnR5JztcbiAgICBjbmlUeXBlOiBzdHJpbmc7XG4gICAgcHJvdG9jb2xTdGFjazogJ0lQdjQnIHwgJ0lQdjYnIHwgJ0R1YWwtU3RhY2snO1xuICAgIHNlcnZpY2VDSURSczogc3RyaW5nW107XG4gICAgcG9kQ0lEUnM6IHN0cmluZ1tdO1xuICAgIGV4dHJhSW5mbzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICB2cmlkPzogbnVtYmVyO1xuICAgIG1heE5vZGVzPzogbnVtYmVyO1xuICB9O1xuICBtYW5hZ2VkQnk/OiB7XG4gICAgcGx1Z2luTmFtZTogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnQ6IHN0cmluZztcbiAgfTtcbiAgZ3B1UGx1Z2luVHlwZT86ICdWaXJ0dWFsJyB8ICdQaHlzaWNhbCc7XG4gIGhpZ2hBdmFpbGFibGU6IGJvb2xlYW47XG4gIG5lZWRVcGdyYWRlOiBib29sZWFuO1xuICB1cGdyYWRhYmxlOiBib29sZWFuO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHBoYXNlOiBzdHJpbmc7XG4gIGV4dHJhQXJnczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG4gIHB1YmxpY0FsdGVybmF0aXZlTmFtZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyTmV0d29ya1NwZWMge1xuICBkZWZhdWx0SW50ZXJmYWNlOiBzdHJpbmc7XG4gIGN1c3RvbUludGVyZmFjZXM6IEFycmF5PHtcbiAgICBpbnRlcmZhY2U6IHN0cmluZztcbiAgICBub2Rlczogc3RyaW5nW107XG4gIH0+O1xuICBleGNsdWRlTm9kZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyTmV0d29yayBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IFByb3ZpZGVyTmV0d29ya1NwZWM7XG4gIHN0YXR1cz86IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbGVEaXNwbGF5IHtcbiAgemg6IHN0cmluZztcbiAgZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RW50cnlTcGVjIHtcbiAgbG9nbz86IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBMb2NhbGVEaXNwbGF5O1xuICBkZXNjcmlwdGlvbj86IExvY2FsZURpc3BsYXk7XG4gIGNhdGFsb2c/OiBMb2NhbGVEaXNwbGF5O1xuICBlbnRyeXBvaW50Pzogc3RyaW5nO1xuICBzc29FbmFibGVkPzogYm9vbGVhbjtcbiAgcGFja1R5cGU/OiAnSW50ZWdyYXRlZCcgfCAnQnVpbGRJbicgfCAnQWRtaW5QYWdlJztcbiAgdmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RW50cnlTdGF0dXMge1xuICBoaWRkZW5PblBvcnRhbD86IGJvb2xlYW47XG4gIGhpZGRlbk9uTWVudT86IGJvb2xlYW47XG4gIG9yZGVyT25Qb3J0YWw/OiBudW1iZXI7XG4gIG9yZGVyT25NZW51PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RFbnRyeSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBQcm9kdWN0RW50cnlTcGVjO1xuICBzdGF0dXM/OiBQcm9kdWN0RW50cnlTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFN0YXR1cyB7XG4gIHR5cGU6IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hci9tYXgtdW5pb24tc2l6ZVxuICB8ICdOb3REZXBsb3llZCdcbiAgICB8ICdJbkRlcGxveW1lbnQnXG4gICAgfCAnUnVubmluZydcbiAgICB8ICdEZXBsb3ltZW50RmFpbHVyZSdcbiAgICB8ICdSdW5uaW5nQWJub3JtYWwnXG4gICAgfCAnRGVsZXRpbmcnXG4gICAgfCAnRGVsZXRlRmFpbHVyZSdcbiAgICB8ICdEZXBsb3ltZW50U3VjY2VlZCdcbiAgICB8ICdTeXN0ZW1FcnJvcidcbiAgICB8ICdVcGdyYWRpbmcnO1xuICBpY29uOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RG9jc0VudHJ5IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIGdyb3VwczogQXJyYXk8e1xuICAgICAgZ3JvdXBOYW1lOiBMb2NhbGVEaXNwbGF5O1xuICAgICAgZG9jczogQXJyYXk8e1xuICAgICAgICBsb2dvOiBzdHJpbmc7XG4gICAgICAgIGRvY0VudHJ5cG9pbnQ6IHN0cmluZztcbiAgICAgICAgZGlzcGxheU5hbWU6IExvY2FsZURpc3BsYXk7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBMb2NhbGVEaXNwbGF5O1xuICAgICAgfT47XG4gICAgfT47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RDb25kaXRpb24ge1xuICBsYXN0UHJvYmVUaW1lPzogc3RyaW5nO1xuICBsYXN0VHJhbnNpdGlvblRpbWU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgcmVhc29uOiBzdHJpbmc7IC8vIFBlcm1pc3Npb25DaGVja0ZhaWxlZFxuICBzdGF0dXM6ICdUcnVlJyB8ICdGYWxzZSc7XG4gIHR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAbGluayBodHRwczovL2dpdGxhYi1jZS5hbGF1ZGEuY24vY29udGFpbmVyLXBsYXRmb3JtL2NhcHRhaW4vLS9ibG9iL21hc3Rlci9kb2NzL2NyZC5tZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IEhlbG1SZXF1ZXN0U3BlYztcbiAgc3RhdHVzPzoge1xuICAgIHBoYXNlOiBIZWxtUmVxdWVzdFBoYXNlRW51bTtcbiAgICBub3Rlcz86IHN0cmluZztcbiAgICBsYXN0U3BlY0hhc2g/OiBzdHJpbmc7XG4gICAgcmVhc29uPzogc3RyaW5nO1xuICAgIGNvbmRpdGlvbnM/OiBIZWxtUmVxdWVzdENvbmRpdGlvbltdO1xuICAgIHRhcmdldENsdXN0ZXJTeW5jUmVzdWx0cz86IEhlbG1SZXF1ZXN0Q2x1c3RlclN5bmNSZXN1bHRzO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0Q2x1c3RlclN5bmNSZXN1bHRzIHtcbiAgW2NsdXN0ZXI6IHN0cmluZ106IEhlbG1SZXF1ZXN0Q2x1c3RlclN5bmNSZXN1bHQ7XG59XG5cbmV4cG9ydCBlbnVtIENsb3VkSGVsbVJlcXVlc3RTdGF0ZUVudW0ge1xuICBQZW5kaW5nID0gJ1BlbmRpbmcnLFxuICBSdW5uaW5nID0gJ1J1bm5pbmcnLFxuICBTdG9wcGVkID0gJ1N0b3BwZWQnLFxuICBGYWlsZWQgPSAnRmFpbGVkJyxcbiAgRW1wdHkgPSAnRW1wdHknLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0Q2x1c3RlclN5bmNSZXN1bHQge1xuICBhcHBTdGF0dXM6IENsb3VkSGVsbVJlcXVlc3RTdGF0ZUVudW07XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIGxhc3RVcGRhdGVBdDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBoYXNlOiBIZWxtUmVxdWVzdFBoYXNlRW51bTtcbiAgcmVhc29uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEhlbG1SZXF1ZXN0UGhhc2VFbnVtIHtcbiAgU3luY2VkID0gJ1N5bmNlZCcsXG4gIEZhaWxlZCA9ICdGYWlsZWQnLFxuICBQZW5kaW5nID0gJ1BlbmRpbmcnLFxuICBVbmluc3RhbGxpbmcgPSAnVW5pbnN0YWxsaW5nJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdFNwZWMge1xuICBjaGFydDogc3RyaW5nO1xuICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICB2YWx1ZXNGcm9tPzogQXJyYXk8e1xuICAgIGNvbmZpZ01hcEtleVJlZj86IENvbmZpZ01hcEtleVJlZjtcbiAgICBzZWNyZXRLZXlSZWY/OiBTZWNyZXRLZXlSZWY7XG4gIH0+O1xuICBjbHVzdGVyTmFtZT86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICByZWxlYXNlTmFtZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmc7XG4gIHNvdXJjZT86IHtcbiAgICBvY2k/OiBIZWxtUmVxdWVzdE9jaTtcbiAgICBodHRwPzogSGVsbVJlcXVlc3RIdHRwO1xuICB9O1xuICB0YXJnZXRDbHVzdGVycz86IHtcbiAgICBjbHVzdGVyTmFtZXM6IHtcbiAgICAgIG5hbWVzOiBzdHJpbmdbXTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0T2NpIHtcbiAgcmVwbzogc3RyaW5nO1xuICBzZWNyZXRSZWY6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RIdHRwIHtcbiAgdXJsOiBzdHJpbmc7XG4gIHNlY3JldFJlZjogc3RyaW5nO1xufVxuXG4vKipcbiAqIGh0dHBzOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0xNzY4ODM0NzBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVc2VyQmluZGluZyBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBVc2VyQmluZGluZ1NwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckJpbmRpbmdTcGVjIHtcbiAgc3ViamVjdHM6IEFycmF5PHtcbiAgICBraW5kOiAnVXNlcicgfCAnR3JvdXAnIHwgJ1NlcnZpY2VBY2NvdW50JztcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH0+O1xuICByb2xlUmVmOiBzdHJpbmc7XG4gIHNjb3BlOiBzdHJpbmc7IC8vIOaUr+aMgeexu+Wei3BsYXRmb3JtLCBjbHVzdGVyLCBwcm9qZWN0LCBuYW1lc3BhY2VcbiAgY29uc3RyYWludDogQXJyYXk8e1xuICAgIHByb2plY3Q/OiBzdHJpbmc7XG4gICAgY2x1c3Rlcj86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIH0+O1xufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdHlwZXMvazhzL2NyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5SEEsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixpREFBMEIsQ0FBQTtJQUMxQiwwQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQVVYO0FBVkQsV0FBWSxrQkFBa0I7SUFDNUIsa0RBQTRCLENBQUE7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsMkNBQXFCLENBQUE7SUFDckIsNkNBQXVCLENBQUE7SUFDdkIsb0RBQThCLENBQUE7SUFDOUIsNkNBQXVCLENBQUE7SUFDdkIsc0RBQWdDLENBQUE7SUFDaEMsNkNBQXVCLENBQUE7SUFDdkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVZXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFVN0I7QUE4Q0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxNQUFNO0lBQ1osa0JBQWtCLEVBQUUsbUJBQW1CO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGFBQWEsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUE0YlgsTUFBTSxDQUFOLElBQVkseUJBTVg7QUFORCxXQUFZLHlCQUF5QjtJQUNuQyxnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQixnREFBbUIsQ0FBQTtJQUNuQiw4Q0FBaUIsQ0FBQTtJQUNqQiw0Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFOVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBTXBDO0FBV0QsTUFBTSxDQUFOLElBQVksb0JBS1g7QUFMRCxXQUFZLG9CQUFvQjtJQUM5Qix5Q0FBaUIsQ0FBQTtJQUNqQix5Q0FBaUIsQ0FBQTtJQUNqQiwyQ0FBbUIsQ0FBQTtJQUNuQixxREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBTFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUsvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vY29tbW9ucyc7XG5cbmltcG9ydCB7IENvbmRpdGlvbiwgS3ViZXJuZXRlc1Jlc291cmNlLCBPYmplY3RNZXRhIH0gZnJvbSAnLi9jb3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ01hcEtleVJlZixcbiAgTm9kZSxcbiAgTm9kZVN0YXR1cyxcbiAgTm9kZVRhaW50LFxuICBTZWNyZXRLZXlSZWYsXG59IGZyb20gJy4vcmF3JztcblxuLyoqXG4gKiDlj6rkv53nlZljb21tb27kuK3pnIDopoHnlKjliLDnmoRjcmQg5omp5bGV57G7XG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQ29uZGl0aW9uIHtcbiAgc3RhdHVzPzogJ1N1Y2Nlc3MnIHwgJ0ZhaWxlZCcgfCAnUHJvY2Vzc2luZycgfCAnUGVuZGluZyc7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbGFzdFRyYW5zaXRpb25UaW1lPzogc3RyaW5nO1xuICBsYXN0SGVhcnRiZWF0VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvQXZhaWxhYmxlVmVyc2lvbiB7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuICByaXNrTGV2ZWw/OiAnTG93JyB8ICdNaWRkbGUnIHwgJ0hpZ2gnO1xuICBkZXBlbmRlbmNpZXM/OiBBcnJheTx7XG4gICAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb25zTWF0Y2g6IHN0cmluZ1tdO1xuICB9PjtcbiAgdXBncmFkZUJlZm9yZT86IEFycmF5PHtcbiAgICBtb2R1bGVOYW1lOiBzdHJpbmc7XG4gIH0+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUluZm8gZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzoge1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludD86IHN0cmluZztcbiAgICBzZWxlY3RlZENsdXN0ZXI/OiBBcnJheTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PjsgLy8ge3BsdWdpbi1uYW1lOiBjbHVzdGVyLW5hbWV9W11cbiAgICB2YWx1ZXNPdmVycmlkZTogU3RyaW5nTWFwO1xuICAgIGNvbmZpZz86IGFueTtcbiAgfTtcbiAgc3RhdHVzPzoge1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBwaGFzZTogJ1Byb2Nlc3NpbmcnIHwgJ1J1bm5pbmcnIHwgJ0ZhaWxlZCcgfCAnQmxvY2tlZCc7XG4gICAgcmVtb3ZlSXNQcmV2ZW50ZWQ/OiBib29sZWFuO1xuICAgIGJsb2NrUmVhc29ucz86IHN0cmluZ1tdO1xuICAgIGNvbmRpdGlvbnM/OiBNb2R1bGVJbmZvQ29uZGl0aW9uW107XG4gICAgYXZhaWxhYmxlVmVyc2lvbnM6IE1vZHVsZUluZm9BdmFpbGFibGVWZXJzaW9uW107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclNwZWMge1xuICBhdXRoSW5mbz86IHtcbiAgICBjb250cm9sbGVyOiB7XG4gICAgICBraW5kOiBzdHJpbmc7XG4gICAgICBuYW1lc3BhY2U6IHN0cmluZztcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBrdWJlcm5ldGVzQXBpRW5kcG9pbnRzPzoge1xuICAgIGNhQnVuZGxlPzogc3RyaW5nO1xuICAgIHNlcnZlckVuZHBvaW50czogQXJyYXk8e1xuICAgICAgY2xpZW50Q0lEUjogc3RyaW5nO1xuICAgICAgc2VydmVyQWRkcmVzczogc3RyaW5nO1xuICAgIH0+O1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBDbHVzdGVyU3RhdHVzUmVhc29uID1cbiAgfCAnVGltZW91dCdcbiAgfCAnRm9yYmlkZGVuJ1xuICB8ICdVbmF1dGhvcml6ZWQnXG4gIHwgJ1NvbWVDb21wb25lbnRzVW5oZWFsdGh5J1xuICB8ICdTb21lTm9kZXNOb3RSZWFkeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1c0NvbmRpdGlvbiBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGxhc3RUcmFuc2l0aW9uVGltZTogc3RyaW5nO1xuICB0eXBlOlxuICAgIHwgJ05vdFJlYWNoYWJsZSdcbiAgICB8ICdOb3RBY2Nlc3NpYmxlJ1xuICAgIHwgJ0NvbXBvbmVudE5vdEhlYWx0aHknXG4gICAgfCAnTm9kZU5vdFJlYWR5JztcbiAgc3RhdHVzOiAnVHJ1ZScgfCAnRmFsc2UnO1xuICByZWFzb246IENsdXN0ZXJTdGF0dXNSZWFzb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclN0YXR1cyB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgY29uZGl0aW9uczogQ2x1c3RlclN0YXR1c0NvbmRpdGlvbltdO1xufVxuXG4vLyBjbHVzdGVycy5jbHVzdGVycmVnaXN0cnkuazhzLmlvIOeahOexu+Wei+WumuS5iVxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgbWV0YWRhdGE/OiBPYmplY3RNZXRhICYge1xuICAgIGZpbmFsaXplcnM/OiBzdHJpbmdbXTtcbiAgfTtcbiAgc3BlYz86IENsdXN0ZXJTcGVjO1xuICBzdGF0dXM/OiBDbHVzdGVyU3RhdHVzO1xuICBkZXRhaWxzPzoge1xuICAgIGdyb3VwOiBzdHJpbmc7XG4gICAga2luZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgfTtcbn1cblxuLy8gQWxhdWRhIFByb2R1Y3RcbmV4cG9ydCBpbnRlcmZhY2UgQWxhdWRhUHJvZHVjdFN0YXR1cyBleHRlbmRzIENvbmRpdGlvbiB7XG4gIGRlcGxveVN0YXR1cz86IEFsYXVkYURlcGxveVN0YXR1cztcbiAgcnVubmluZ1N0YXR1cz86IEFsYXVkYVJ1bm5pbmdTdGF0dXM7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGVwbG95VGltZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQWxhdWRhUnVubmluZ1N0YXR1cyB7XG4gIE5PVF9SVU5OSU5HID0gJ05vdFJ1bm5pbmcnLFxuICBIRUFMVEhZID0gJ0hlYWx0aHknLFxuICBBQk5PUk1BTCA9ICdBYm5vcm1hbCcsXG59XG5cbmV4cG9ydCBlbnVtIEFsYXVkYURlcGxveVN0YXR1cyB7XG4gIE5PVF9ERVBMT1lFRCA9ICdOb3REZXBsb3llZCcsXG4gIFNVQ0NFU1MgPSAnc3VjY2VzcycsXG4gIEFCTk9STUFMID0gJ0Fibm9ybWFsJyxcbiAgREVQTE9ZSU5HID0gJ0RlcGxveWluZycsXG4gIERFUExPWV9GQUlMRUQgPSAnRGVwbG95RmFpbGVkJyxcbiAgVVBHUkFESU5HID0gJ1VwZ3JhZGluZycsXG4gIFVQR1JBREVfRkFJTEVEID0gJ1VwZ3JhZGVGYWlsZWQnLFxuICBDT01QTEVURUQgPSAnQ29tcGxldGVkJyxcbiAgUEVORElORyA9ICdQZW5kaW5nJyxcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2UgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBQcm9kdWN0QmFzZVNwZWM7XG4gIHN0YXR1cz86IFByb2R1Y3RCYXNlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTdGF0dXNDb25kaXRpb24ge1xuICBzdGF0dXM/OiAnVHJ1ZScgfCAnRmFsc2UnIHwgJ1Vua25vd24nO1xuICByZWFzb24/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHR5cGU6ICdSZWFkeScgfCAnSW5pdGlhbGl6ZWQnIHwgJ1JlY2xhaW1lZCcgfCAnU3VjY2VlZCc7XG4gIGxhc3RUcmFuc2l0aW9uVGltZT86IHN0cmluZztcbiAgbGFzdEhlYXJ0YmVhdFRpbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2VTdGF0dXMge1xuICBnbG9iYWxJRDogc3RyaW5nO1xuICBjbG91ZDoge1xuICAgIHBoYXNlOiAnT05MaW5lJyB8ICdDb25uZWN0RmFpbGVkJyB8ICdDb25uZWN0aW5nJyB8ICdPRkZMaW5lJztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgY29ubmVjdFVSTDogc3RyaW5nO1xuICB9O1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHBoYXNlPzogLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyL21heC11bmlvbi1zaXplXG4gIHwgJ1BlbmRpbmcnXG4gICAgfCAnUHJvdmlzaW9uaW5nJ1xuICAgIHwgJ1Byb3Zpc2lvbmVkJ1xuICAgIHwgJ0RlbGV0aW5nJ1xuICAgIHwgJ0ZhaWxlZCdcbiAgICB8ICdSdW5uaW5nJ1xuICAgIHwgJ0luc3RhbGxpbmcnIC8vIHRkc3FsXG4gICAgfCAnVXBncmFkaW5nJztcbiAgcHJvZHVjdEVudHJ5cG9pbnQ/OiBzdHJpbmc7XG4gIGRlbGV0YWJsZT86IGJvb2xlYW47XG4gIGNvbmRpdGlvbnM/OiBQcm9kdWN0U3RhdHVzQ29uZGl0aW9uW107XG4gIHByb21ldGhldXNBZGRyZXNzPzogc3RyaW5nO1xuICBlbGFzdGljU2VhcmNoQWRkcmVzcz86IHN0cmluZztcbiAga2Fma2FBZGRyZXNzPzogc3RyaW5nO1xuICBjb250YWluZXJQbGF0Zm9ybT86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIGRldm9wcz86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIHNlcnZpY2VNZXNoPzogQWxhdWRhUHJvZHVjdFN0YXR1cztcbiAgZGF0YVNlcnZpY2VzPzogQWxhdWRhUHJvZHVjdFN0YXR1cztcbiAgYmFzZT86IEFsYXVkYVByb2R1Y3RTdGF0dXM7XG4gIHByb2dyZXNzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgUHJvZHVjdEtleSA9IHtcbiAgQkFTRTogJ2Jhc2UnLFxuICBDT05UQUlORVJfUExBVEZPUk06ICdjb250YWluZXJQbGF0Zm9ybScsXG4gIERFVk9QUzogJ2Rldm9wcycsXG4gIFNFUlZJQ0VfTUVTSDogJ3NlcnZpY2VNZXNoJyxcbiAgREFUQV9TRVJWSUNFUzogJ2RhdGFTZXJ2aWNlcycsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0S2V5ID0gVmFsdWVPZjx0eXBlb2YgUHJvZHVjdEtleT47XG5cbnR5cGUgR2VuUHJvZHVjdDxUIGV4dGVuZHMgUHJvZHVjdEtleT4gPSBSZWNvcmQ8VCwgeyBpbnN0YWxsOiBib29sZWFuIH0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRscyB7XG4gIGNlcnQ6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEJhc2VTcGVjIGV4dGVuZHMgR2VuUHJvZHVjdDxQcm9kdWN0S2V5PiB7XG4gIGFsdGVybmF0aXZlVVJMczogc3RyaW5nW107XG4gIGNoYXJ0TXVzZXVtOiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH07XG4gIHBhY2thZ2VFZGl0aW9uOiBzdHJpbmc7XG4gIHZhbHVlc092ZXJyaWRlPzoge1xuICAgIGRleDogU3RyaW5nTWFwO1xuICB9O1xuICBjaGFydFZlcnNpb25zOiBbeyBuYW1lOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZyB9XTtcbiAgZGVmYXVsdEFkbWluOiB7XG4gICAgYWNjb3VudDogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgfTtcbiAgZGVmYXVsdFJlZGlyZWN0UGF0aDogc3RyaW5nO1xuICBkZXBsb3lUeXBlOiBzdHJpbmc7XG4gIGVsYXN0aWNzZWFyY2g6IHtcbiAgICBpbnN0YWxsOiBib29sZWFuO1xuICAgIG5vZGVzOiBzdHJpbmdbXTtcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICBodHRwOiB7XG4gICAgZm9yY2VSZWRpcmVjdEh0dHBzPzogYm9vbGVhbjtcbiAgICBodHRwUG9ydD86IG51bWJlcjtcbiAgICBodHRwc1BvcnQ/OiBudW1iZXI7XG4gICAgdGxzPzogVGxzO1xuICB9O1xuICBpbmdyZXNzOiB7XG4gICAgY29udHJvbGxlcjogeyBpbnN0YWxsOiBib29sZWFuOyBub2Rlczogc3RyaW5nW10gfTtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgaW5ncmVzc0NsYXNzTmFtZTogc3RyaW5nO1xuICB9O1xuICBrYWZrYToge1xuICAgIGF1dGg6IGJvb2xlYW47XG4gICAgaW5zdGFsbDogYm9vbGVhbjtcbiAgICBub2Rlczogc3RyaW5nW107XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgbG9nQWdlbnQ6IHtcbiAgICBlbmFibGU6IGJvb2xlYW47XG4gIH07XG4gIGxvZ0NlbnRlcjoge1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgfTtcbiAgcGxhdGZvcm1VUkw6IHN0cmluZztcbiAgcHJvbWV0aGV1czoge1xuICAgIGluc3RhbGw6IGJvb2xlYW47XG4gICAgcmVwbGljYXM6IG51bWJlcjtcbiAgICBzdG9yYWdlOiB7IGNhcGFjaXR5OiBudW1iZXI7IG5vZGVzOiBzdHJpbmdbXTsgcGF0aDogc3RyaW5nOyB0eXBlOiBzdHJpbmcgfTtcbiAgfTtcblxuICByZWdpc3RyeToge1xuICAgIGV4dGVybmFsPzogc3RyaW5nO1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICB9O1xuICByZXBsaWNhczogbnVtYmVyO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGNsb3VkOiB7XG4gICAgY29ubmVjdDogYm9vbGVhbjtcbiAgICBjb25uZWN0VHlwZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RTcGVjIHtcbiAgY2x1c3RlcnM6IFByb2plY3RDbHVzdGVyW107XG4gIHN0YXR1cz86IHtcbiAgICBwaGFzZTogc3RyaW5nO1xuICB9O1xuICBjbHVzdGVyRGVsZXRlUG9saWN5PzogJ0RlbGV0ZScgfCAnUmV0YWluJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9qZWN0Q2x1c3RlciB7XG4gIG5hbWU6IHN0cmluZztcbiAgcXVvdGE6IHN0cmluZzsgLy8gXCJ7XFxcImNwdVxcXCI6LTEsXFxcIm1lbW9yeVxcXCI6LTEsXFxcInBvZHNcXFwiOi0xLFxcXCJwdmNfbnVtXFxcIjotMSxcXFwic3RvcmFnZVxcXCI6LTF9XCJcbiAgdHlwZT86ICcnIHwgJ0ZlZE1lbWJlcic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvamVjdCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IFByb2plY3RTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgcGhhc2U6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlTWVzaEdyb3VwIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIGs4c1ZlcnNpb246IHN0cmluZztcbiAgICB3aXRob3V0SXN0aW8/OiBib29sZWFuO1xuICAgIGlzdGlvVmVyc2lvbjogc3RyaW5nO1xuICAgIHByaW1hcnk6IHN0cmluZztcbiAgICBzZWxlY3Rvcjoge1xuICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgIH07XG4gICAgY2x1c3RlcnM6IHN0cmluZ1tdO1xuICAgIG1lc2hDb21tb25Db25maWc/OiBNZXNoQ29tbW9uQ29uZmlnO1xuICAgIGNsdXN0ZXJDb25maWdzPzoge1xuICAgICAgW2NsdXN0ZXJOYW1lOiBzdHJpbmddOiBDbHVzdGVyQ29uZmlnO1xuICAgIH07XG4gIH07XG4gIHN0YXR1czoge1xuICAgIHN0YXR1czogc3RyaW5nO1xuICAgIE1lc3NhZ2U6IHN0cmluZztcbiAgICBjbHVzdGVyQ291bnQ6IG51bWJlcjtcbiAgICBsYXRlc3RVcGRhdGVUaW1lOiBzdHJpbmc7XG4gICAgTm9uUmVhZHlDbHVzdGVyQ291bnQ6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNoQ29tbW9uQ29uZmlnIHtcbiAgZWxhc3RpY3NlYXJjaDoge1xuICAgIGlzRGVmYXVsdDogYm9vbGVhbjtcbiAgICBwYXNzd29yZD86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICB1c2VybmFtZT86IHN0cmluZztcbiAgfTtcbiAgbW9uaXRvclR5cGU6IHN0cmluZztcbiAgcHJvbWV0aGV1c0Jhc2ljQXV0aDoge1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgaXNEZWZhdWx0TW9uaXRvcjogYm9vbGVhbjtcbiAgcHJvbWV0aGV1c1VSTDogc3RyaW5nO1xuICB0cmFjZVNhbXBsaW5nOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlckNvbmZpZyB7XG4gIGlzdGlvU2lkZWNhcjoge1xuICAgIGNwdVZhbHVlOiBzdHJpbmc7XG4gICAgbWVtb3J5VmFsdWU6IHN0cmluZztcbiAgfTtcbiAga2Fma2E/OiB7XG4gICAgYXV0aGVudGljYXRpb246IHN0cmluZztcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgcmVkaXM/OiBSZWRpc0NvbmZpZztcbiAgdHJhY2VTYW1wbGluZzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZGlzQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAga2luZDogJ3NpbmdsZScgfCAnY2x1c3RlcicgfCAnc2VudGluZWwnO1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG4gIG1hc3Rlck5hbWU/OiBzdHJpbmc7XG59XG5cbi8vIFRLRVxuZXhwb3J0IGludGVyZmFjZSBUS0VDbHVzdGVyU3BlYyB7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHNlcnZpY2VDSURSPzogc3RyaW5nO1xuICBkb2NrZXJFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIGt1YmVsZXRFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIGNvbnRyb2xsZXJNYW5hZ2VyRXh0cmFBcmdzPzogU3RyaW5nTWFwO1xuICBzY2hlZHVsZXJFeHRyYUFyZ3M/OiBTdHJpbmdNYXA7XG4gIHB1YmxpY0FsdGVybmF0aXZlTmFtZXM/OiBzdHJpbmdbXTtcbiAgY2x1c3RlckNJRFI/OiBzdHJpbmc7XG4gIG5ldHdvcmtEZXZpY2U/OiBzdHJpbmc7XG4gIHByb3BlcnRpZXM/OiB7XG4gICAgbWF4Q2x1c3RlclNlcnZpY2VOdW0/OiBudW1iZXI7XG4gICAgbWF4Tm9kZVBvZE51bT86IG51bWJlcjtcbiAgICBvdmVyc29sZFJhdGlvPzoge1xuICAgICAgY3B1OiBzdHJpbmc7XG4gICAgICBtZW1vcnk6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBmZWF0dXJlcz86IHtcbiAgICBlbmFibGVNYXN0ZXJTY2hlZHVsZT86IGJvb2xlYW47XG4gICAgaXB2NkR1YWxTdGFjaz86IGJvb2xlYW47XG4gICAgZ3B1VHlwZT86ICdQaHlzaWNhbCcgfCAnVmlydHVhbCc7XG4gICAgZmlsZXM/OiBBcnJheTx7XG4gICAgICBzcmM/OiBzdHJpbmc7XG4gICAgICBkc3Q/OiBzdHJpbmc7XG4gICAgfT47XG4gICAgaGE/OiB7XG4gICAgICB0aGlyZFBhcnR5Pzoge1xuICAgICAgICB2aXA/OiBzdHJpbmc7XG4gICAgICAgIHZwb3J0PzogbnVtYmVyO1xuICAgICAgfTtcbiAgICAgIHRrZT86IHtcbiAgICAgICAgdnJpZD86IHVua25vd247XG4gICAgICB9O1xuICAgIH07XG4gIH07XG4gIHR5cGU6ICdCYXJlbWV0YWwnIHwgJ0ltcG9ydGVkJztcbiAgdmVyc2lvbj86IHN0cmluZztcbiAgbWFjaGluZXM/OiBUS0VNYWNoaW5lU3BlY1tdO1xuICBkbnNEb21haW4/OiBzdHJpbmc7XG4gIGFwaVNlcnZlckV4dHJhQXJncz86IFN0cmluZ01hcDtcbiAgY2x1c3RlckNyZWRlbnRpYWxSZWY/OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRLRUNsdXN0ZXIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogVEtFQ2x1c3RlclNwZWM7XG4gIHN0YXR1cz86IHtcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICAgIHBoYXNlPzogc3RyaW5nO1xuICAgIGNvbmRpdGlvbnM/OiBDb25kaXRpb25bXTtcbiAgICBhZGRyZXNzZXM/OiBBcnJheTx7XG4gICAgICBob3N0OiBzdHJpbmc7XG4gICAgICBwYXRoPzogJyc7XG4gICAgICB0eXBlOiAnQWR2ZXJ0aXNlJyB8ICdQdWJsaWMnO1xuICAgICAgcG9ydDogbnVtYmVyO1xuICAgIH0+O1xuICAgIHNlcnZpY2VDSURSPzogc3RyaW5nO1xuICAgIG5vZGVDSURSTWFza1NpemU/OiBudW1iZXI7XG4gICAgZG5zSVA/OiBzdHJpbmc7XG4gIH07XG4gIGdhdGV3YXlOb2RlPzogTm9kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUS0VNYWNoaW5lU3BlYyB7XG4gIGNsdXN0ZXJOYW1lPzogc3RyaW5nO1xuICByb2xlPzogJ25vZGUnIHwgJ21hc3Rlcic7XG4gIGlwPzogc3RyaW5nO1xuICBpcHY2Pzogc3RyaW5nO1xuICBwdWJsaWNJUD86IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIG5ldHdvcmtEZXZpY2U/OiBzdHJpbmc7XG4gIHBvcnQ6IG51bWJlcjtcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHByaXZhdGVLZXk/OiBzdHJpbmc7XG4gIHBhc3NQaHJhc2U/OiBzdHJpbmc7XG4gIHVzZXJuYW1lOiBzdHJpbmc7XG4gIGxhYmVscz86IHtcbiAgICBbJ252aWRpYS1kZXZpY2UtZW5hYmxlJ10/OiBzdHJpbmc7XG4gICAgWydub2RlLXJvbGUua3ViZXJuZXRlcy5pby9jcGFhcy1zeXN0ZW0nXT86IHN0cmluZztcbiAgfTtcbiAgdHlwZT86IHN0cmluZztcbiAgcHJveHk/OiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG4gIGFubm90YXRpb25zPzogU3RyaW5nTWFwO1xuICB0YWludHM/OiBOb2RlVGFpbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyQ3JlZGVudGlhbCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG4gIGNhQ2VydDogc3RyaW5nO1xuICB0b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRLRU1hY2hpbmUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogVEtFTWFjaGluZVNwZWM7XG4gIHN0YXR1cz86IE5vZGVTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFjaGluZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBNYWNoaW5lU3BlYztcbiAgc3RhdHVzPzogTWFjaGluZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYWNoaW5lU3BlYyB7XG4gIGNsdXN0ZXI6IHN0cmluZztcbiAgcHJvdmlkZXI6IHN0cmluZztcbiAgcHJvdmlkZXJTcGVjOiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hY2hpbmVTdGF0dXMge1xuICB1c2VyRGF0YVNlY3JldD86IHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICB9O1xuICBub2RlUmVmPzoge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gIH07XG4gIGxhc3RVcGRhdGU6IHN0cmluZztcbiAgZXJyUmVhc29uOiBzdHJpbmc7XG4gIGVyck1lc3NhZ2U6IHN0cmluZztcbiAgcGhhc2U6IHN0cmluZztcbiAgY29uZGl0aW9uczogQ29uZGl0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclZpZXcgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogdm9pZDtcbiAgc3RhdHVzPzogQ2x1c3RlclZpZXdTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2x1c3RlclZpZXdTdGF0dXMge1xuICBwcm92aXNpb25UeXBlOiAnU2VsZkhvc3RlZCcgfCAnUHJvdmlkZXJIb3N0ZWQnIHwgJ0ltcG9ydGVkJyB8ICdSZWdpc3RlcmVkJztcbiAgY2x1c3RlclR5cGU6IHN0cmluZztcbiAgc3VwcG9ydFdpbmRvd3M6IGJvb2xlYW47XG4gIHJlZ2lzdHJ5QWRkcmVzczogc3RyaW5nO1xuICBjb25kaXRpb25zOiBDb25kaXRpb25bXTtcbiAgcHJvamVjdHM6IEFycmF5PHsgbmFtZTogc3RyaW5nOyBkaXNwbGF5TmFtZTogc3RyaW5nIH0+O1xuICBjb250cm9sUGxhbmVFbmRwb2ludHM6IHtcbiAgICBkZWZhdWx0OiBzdHJpbmc7XG4gICAgYWR2ZXJ0aXNlOiBzdHJpbmc7XG4gICAgcHVibGljPzogc3RyaW5nO1xuICB9O1xuICBub2Rlc0luZm86IHtcbiAgICByZWFkeU5vZGVzOiBudW1iZXI7XG4gICAgbm90UmVhZHlOb2RlczogbnVtYmVyO1xuICAgIGFyY2hpdGVjdHVyZXM6IHN0cmluZ1tdO1xuICAgIHRvdGFsQ1BVQ29yZXM6IG51bWJlcjtcbiAgICB0b3RhbE1lbW9yaWVzOiBudW1iZXI7XG4gICAgdG90YWxOdmlkaWFDb3JlczogbnVtYmVyO1xuICAgIHRvdGFsVkdQVUNvcmVzOiBudW1iZXI7XG4gICAgdG90YWxWR1BVTWVtb3J5VW5pdHM6IG51bWJlcjtcbiAgICBleHRyYVJlc291cmNlczogdW5rbm93bjtcbiAgICBjcmlWZXJzaW9uczogc3RyaW5nW107XG4gIH07XG4gIGNsdXN0ZXJOZXR3b3JrOiB7XG4gICAgaGFMb2FkQmFsYW5jZXJUeXBlPzogJ0FsaXZlJyB8ICdUaGlyZFBhcnR5JztcbiAgICBjbmlUeXBlOiBzdHJpbmc7XG4gICAgcHJvdG9jb2xTdGFjazogJ0lQdjQnIHwgJ0lQdjYnIHwgJ0R1YWwtU3RhY2snO1xuICAgIHNlcnZpY2VDSURSczogc3RyaW5nW107XG4gICAgcG9kQ0lEUnM6IHN0cmluZ1tdO1xuICAgIGV4dHJhSW5mbzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICB2cmlkPzogbnVtYmVyO1xuICAgIG1heE5vZGVzPzogbnVtYmVyO1xuICB9O1xuICBtYW5hZ2VkQnk/OiB7XG4gICAgcGx1Z2luTmFtZTogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnQ6IHN0cmluZztcbiAgfTtcbiAgZ3B1UGx1Z2luVHlwZT86ICdWaXJ0dWFsJyB8ICdQaHlzaWNhbCc7XG4gIGhpZ2hBdmFpbGFibGU6IGJvb2xlYW47XG4gIG5lZWRVcGdyYWRlOiBib29sZWFuO1xuICB1cGdyYWRhYmxlOiBib29sZWFuO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHBoYXNlOiBzdHJpbmc7XG4gIGV4dHJhQXJnczogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG4gIHB1YmxpY0FsdGVybmF0aXZlTmFtZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyTmV0d29ya1NwZWMge1xuICBkZWZhdWx0SW50ZXJmYWNlOiBzdHJpbmc7XG4gIGN1c3RvbUludGVyZmFjZXM6IEFycmF5PHtcbiAgICBpbnRlcmZhY2U6IHN0cmluZztcbiAgICBub2Rlczogc3RyaW5nW107XG4gIH0+O1xuICBleGNsdWRlTm9kZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyTmV0d29yayBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IFByb3ZpZGVyTmV0d29ya1NwZWM7XG4gIHN0YXR1cz86IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgTG9jYWxlRGlzcGxheSA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEVudHJ5U3BlYyB7XG4gIGxvZ28/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogTG9jYWxlRGlzcGxheTtcbiAgZGVzY3JpcHRpb24/OiBMb2NhbGVEaXNwbGF5O1xuICBjYXRhbG9nPzogTG9jYWxlRGlzcGxheTtcbiAgZW50cnlwb2ludD86IHN0cmluZztcbiAgc3NvRW5hYmxlZD86IGJvb2xlYW47XG4gIHBhY2tUeXBlPzogJ0ludGVncmF0ZWQnIHwgJ0J1aWxkSW4nIHwgJ0FkbWluUGFnZSc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdEVudHJ5U3RhdHVzIHtcbiAgaGlkZGVuT25Qb3J0YWw/OiBib29sZWFuO1xuICBoaWRkZW5Pbk1lbnU/OiBib29sZWFuO1xuICBvcmRlck9uUG9ydGFsPzogbnVtYmVyO1xuICBvcmRlck9uTWVudT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0RW50cnkgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogUHJvZHVjdEVudHJ5U3BlYztcbiAgc3RhdHVzPzogUHJvZHVjdEVudHJ5U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTdGF0dXMge1xuICB0eXBlOiAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXIvbWF4LXVuaW9uLXNpemVcbiAgfCAnTm90RGVwbG95ZWQnXG4gICAgfCAnSW5EZXBsb3ltZW50J1xuICAgIHwgJ1J1bm5pbmcnXG4gICAgfCAnRGVwbG95bWVudEZhaWx1cmUnXG4gICAgfCAnUnVubmluZ0Fibm9ybWFsJ1xuICAgIHwgJ0RlbGV0aW5nJ1xuICAgIHwgJ0RlbGV0ZUZhaWx1cmUnXG4gICAgfCAnRGVwbG95bWVudFN1Y2NlZWQnXG4gICAgfCAnU3lzdGVtRXJyb3InXG4gICAgfCAnVXBncmFkaW5nJztcbiAgaWNvbjogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdERvY3NFbnRyeSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM6IHtcbiAgICBncm91cHM6IEFycmF5PHtcbiAgICAgIGdyb3VwTmFtZTogTG9jYWxlRGlzcGxheTtcbiAgICAgIGRvY3M6IEFycmF5PHtcbiAgICAgICAgbG9nbzogc3RyaW5nO1xuICAgICAgICBkb2NFbnRyeXBvaW50OiBzdHJpbmc7XG4gICAgICAgIGRpc3BsYXlOYW1lOiBMb2NhbGVEaXNwbGF5O1xuICAgICAgICBkZXNjcmlwdGlvbjogTG9jYWxlRGlzcGxheTtcbiAgICAgIH0+O1xuICAgIH0+O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0Q29uZGl0aW9uIHtcbiAgbGFzdFByb2JlVGltZT86IHN0cmluZztcbiAgbGFzdFRyYW5zaXRpb25UaW1lPzogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYXNvbjogc3RyaW5nOyAvLyBQZXJtaXNzaW9uQ2hlY2tGYWlsZWRcbiAgc3RhdHVzOiAnVHJ1ZScgfCAnRmFsc2UnO1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGxpbmsgaHR0cHM6Ly9naXRsYWItY2UuYWxhdWRhLmNuL2NvbnRhaW5lci1wbGF0Zm9ybS9jYXB0YWluLy0vYmxvYi9tYXN0ZXIvZG9jcy9jcmQubWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBIZWxtUmVxdWVzdFNwZWM7XG4gIHN0YXR1cz86IHtcbiAgICBwaGFzZTogSGVsbVJlcXVlc3RQaGFzZUVudW07XG4gICAgbm90ZXM/OiBzdHJpbmc7XG4gICAgbGFzdFNwZWNIYXNoPzogc3RyaW5nO1xuICAgIHJlYXNvbj86IHN0cmluZztcbiAgICBjb25kaXRpb25zPzogSGVsbVJlcXVlc3RDb25kaXRpb25bXTtcbiAgICB0YXJnZXRDbHVzdGVyU3luY1Jlc3VsdHM/OiBIZWxtUmVxdWVzdENsdXN0ZXJTeW5jUmVzdWx0cztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdENsdXN0ZXJTeW5jUmVzdWx0cyB7XG4gIFtjbHVzdGVyOiBzdHJpbmddOiBIZWxtUmVxdWVzdENsdXN0ZXJTeW5jUmVzdWx0O1xufVxuXG5leHBvcnQgZW51bSBDbG91ZEhlbG1SZXF1ZXN0U3RhdGVFbnVtIHtcbiAgUGVuZGluZyA9ICdQZW5kaW5nJyxcbiAgUnVubmluZyA9ICdSdW5uaW5nJyxcbiAgU3RvcHBlZCA9ICdTdG9wcGVkJyxcbiAgRmFpbGVkID0gJ0ZhaWxlZCcsXG4gIEVtcHR5ID0gJ0VtcHR5Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdENsdXN0ZXJTeW5jUmVzdWx0IHtcbiAgYXBwU3RhdHVzOiBDbG91ZEhlbG1SZXF1ZXN0U3RhdGVFbnVtO1xuICBlbmRwb2ludDogc3RyaW5nO1xuICBsYXN0VXBkYXRlQXQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwaGFzZTogSGVsbVJlcXVlc3RQaGFzZUVudW07XG4gIHJlYXNvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBIZWxtUmVxdWVzdFBoYXNlRW51bSB7XG4gIFN5bmNlZCA9ICdTeW5jZWQnLFxuICBGYWlsZWQgPSAnRmFpbGVkJyxcbiAgUGVuZGluZyA9ICdQZW5kaW5nJyxcbiAgVW5pbnN0YWxsaW5nID0gJ1VuaW5zdGFsbGluZycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVsbVJlcXVlc3RTcGVjIHtcbiAgY2hhcnQ6IHN0cmluZztcbiAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgdmFsdWVzRnJvbT86IEFycmF5PHtcbiAgICBjb25maWdNYXBLZXlSZWY/OiBDb25maWdNYXBLZXlSZWY7XG4gICAgc2VjcmV0S2V5UmVmPzogU2VjcmV0S2V5UmVmO1xuICB9PjtcbiAgY2x1c3Rlck5hbWU/OiBzdHJpbmc7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgcmVsZWFzZU5hbWU/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG4gIHByb2plY3ROYW1lPzogc3RyaW5nO1xuICBzb3VyY2U/OiB7XG4gICAgb2NpPzogSGVsbVJlcXVlc3RPY2k7XG4gICAgaHR0cD86IEhlbG1SZXF1ZXN0SHR0cDtcbiAgfTtcbiAgdGFyZ2V0Q2x1c3RlcnM/OiB7XG4gICAgY2x1c3Rlck5hbWVzOiB7XG4gICAgICBuYW1lczogc3RyaW5nW107XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWxtUmVxdWVzdE9jaSB7XG4gIHJlcG86IHN0cmluZztcbiAgc2VjcmV0UmVmOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlbG1SZXF1ZXN0SHR0cCB7XG4gIHVybDogc3RyaW5nO1xuICBzZWNyZXRSZWY6IHN0cmluZztcbn1cblxuLyoqXG4gKiBodHRwczovL2NvbmZsdWVuY2UuYWxhdWRhLmNuL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MTc2ODgzNDcwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckJpbmRpbmcgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogVXNlckJpbmRpbmdTcGVjO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJCaW5kaW5nU3BlYyB7XG4gIHN1YmplY3RzOiBBcnJheTx7XG4gICAga2luZDogJ1VzZXInIHwgJ0dyb3VwJyB8ICdTZXJ2aWNlQWNjb3VudCc7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9PjtcbiAgcm9sZVJlZjogc3RyaW5nO1xuICBzY29wZTogc3RyaW5nOyAvLyDmlK/mjIHnsbvlnotwbGF0Zm9ybSwgY2x1c3RlciwgcHJvamVjdCwgbmFtZXNwYWNlXG4gIGNvbnN0cmFpbnQ6IEFycmF5PHtcbiAgICBwcm9qZWN0Pzogc3RyaW5nO1xuICAgIGNsdXN0ZXI/OiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICB9Pjtcbn1cbiJdfQ==
@@ -214,6 +214,9 @@ export function appendImageHeader(value, prefix) {
214
214
  return `${header}${value}`;
215
215
  }
216
216
  export const getRelativePath = (from, to) => {
217
+ if (to === null || to === undefined || !from) {
218
+ return to;
219
+ }
217
220
  const fromParts = (from ?? '').split('/').filter(p => p !== '');
218
221
  const toParts = (to ?? '').split('/').filter(p => p !== '');
219
222
  let relativePath = '';
@@ -228,6 +231,9 @@ export const getRelativePath = (from, to) => {
228
231
  return relativePath;
229
232
  };
230
233
  export const getToPath = (from, relative) => {
234
+ if (relative === null || relative === undefined || !from) {
235
+ return relative;
236
+ }
231
237
  const fromParts = from.split('/').filter(p => p !== '');
232
238
  const relativeParts = relative.split('/').filter(p => p !== '');
233
239
  const dotDotCount = +relativeParts.filter(p => p === '..')?.length;
@@ -310,4 +316,4 @@ export const setWindowsXtermTools = (xterm) => {
310
316
  export const clearWindowsXtermTools = () => {
311
317
  delete window.__XTERM_TOOLS__;
312
318
  };
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUdILGlEQUFpRDtBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUl2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFVakQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBWSxFQUFFLEVBQUU7SUFDdkMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO1FBQ2IsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxHQUFHO1NBQ1AsY0FBYyxDQUFDLFVBQVUsRUFBRTtRQUMxQixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQXFCLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQzVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1FBQzNCLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDbEI7SUFDRCxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsRUFBRTtRQUM1QixPQUFPLEdBQUcsQ0FBQztLQUNaO0lBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNSLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxPQUFPLFFBQVEsQ0FBQyxDQUFD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LENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUN6QztTQUFNO1FBQ0wsTUFBTSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUM7S0FDdEI7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRztJQUNsQixjQUFjO0lBQ2QsY0FBYztJQUNkLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsUUFBUTtJQUNSLFdBQVc7SUFDWCxhQUFhO0NBQ0wsQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDckQsTUFBYyxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQ3pDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQ3hCLENBQUMsR0FBeUQsRUFBRSxFQUFFLENBQzVELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ2xCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLEVBQUU7SUFDekMsT0FBUSxNQUFjLENBQUMsZUFBZSxDQUFDO0FBQ3pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgU29ydCB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IHsgbGFzdCwgaXNFcXVhbCBhcyBfaXNFcXVhbCwgcGljaywgbWFwVmFsdWVzIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFVuaW9uVG9JbnRlcnNlY3Rpb24sIFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcbmltcG9ydCB7IFRlcm1pbmFsIH0gZnJvbSAneHRlcm0nO1xuXG5pbXBvcnQgeyBCcmFja2V0IH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBDYWxsYmFjayxcbiAgS2V5cyxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBOdWxsYWJsZSxcbiAgUmVhZG9ubHlhYmxlLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgbnVtVG9TdHIgPSAobnVtPzogbnVtYmVyKSA9PiB7XG4gIGlmIChudW0gPT09IDApIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG5cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbnVtXG4gICAgLnRvTG9jYWxlU3RyaW5nKCdmdWxsd2lkZScsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMyxcbiAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZSxcbiAgICB9KVxuICAgIC5yZXBsYWNlKC8oW14uXSlcXC4/MCskLywgJyQxJyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvcnROdW0gPSAobnVtPzogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHMgPSAyKSA9PiB7XG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgIG51bSA9IG51bS50cmltKCk7XG4gIH1cbiAgaWYgKG51bSA9PT0gMCB8fCBudW0gPT09ICcwJykge1xuICAgIHJldHVybiAnMCc7XG4gIH1cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIG51bVRvU3RyKCsoK251bSkudG9GaXhlZChkaWdpdHMpIHx8IE1hdGgucG93KDEwLCAtZGlnaXRzKSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNCbGFuayA9IChzdHI/OiB1bmtub3duKSA9PlxuICBzdHIgPT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4oc3RyIGFzIG51bWJlcikgfHwgIXN0ci50b1N0cmluZygpLnRyaW0oKTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2VIcmVmID0gKCkgPT4ge1xuICAvLyBUaGUgbGFzdCBiYXNlIGVsZW1lbnQgaGFzIGhpZ2hlc3QgcHJpdmlsZWdlXG4gIGNvbnN0IGJhc2UgPSBsYXN0KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Jhc2UnKSk7XG4gIC8vIHVzZSBgZ2V0QXR0cmlidXRlYCBpbnN0ZWFkIG9mIGBiYXNlLmhyZWZgIGJlY2F1c2UgdGhlIGF0dHJpYnV0ZSBjb3VsZCBiZSB2b2lkIGJ1dCByZXN1bHRzIGN1cnJlbnQgd2hvbGUgbG9jYXRpb24gdXJsXG4gIHJldHVybiBiYXNlPy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB8fCAnLyc7XG59O1xuXG5leHBvcnQgY29uc3QgaWZFeGlzdCA9IDxUPihcbiAgdG9DaGVjazogYm9vbGVhbiB8IE51bGxhYmxlPFQ+LFxuICB0cnV0aHlWYWx1ZTogVCxcbiAgZmFsbGJhY2s/OiBULFxuKSA9PiAodG9DaGVjayA/IHRydXRoeVZhbHVlIDogKChmYWxsYmFjayB8fCAnJykgYXMgVCkpO1xuXG5leHBvcnQgY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmw6IHN0cmluZykgPT4gL14oaHR0cHM/OlxcLyk/XFwvLy50ZXN0KHVybCk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbmV4cG9ydCBjb25zdCBub29wOiBDYWxsYmFjayA9ICgpID0+IHt9O1xuXG5leHBvcnQgY29uc3QgdG9LZXlzID0gPFQgZXh0ZW5kcyBvYmplY3Q+KHNvdXJjZTogVCk6IEtleXM8VD4gPT5cbiAgT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoKGFjYywgaykgPT4ge1xuICAgIGNvbnN0IGtleSA9IGsgYXMga2V5b2YgVDtcbiAgICBhY2Nba2V5XSA9IGtleTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBLZXlzPFQ+KTtcblxuZXhwb3J0IGNvbnN0IHdyYXBUZXh0ID0gKFxuICB0ZXh0Pzogc3RyaW5nLFxuICB3cmFwcGVyOiBSZWFkb25seWFibGU8W3N0cmluZywgc3RyaW5nXT4gPSBCcmFja2V0LlBBUkVOVEhFU0VTLFxuICBmYWxsYmFjaz86IHN0cmluZyxcbikgPT4gKHRleHQgPyB3cmFwcGVyLmpvaW4odGV4dCkgOiBmYWxsYmFjayB8fCAnJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUpTT05TdHJlYW08VD4odGV4dDogc3RyaW5nKTogVFtdIHtcbiAgcmV0dXJuIHRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLm1hcCh2ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHYpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcih2ID0+ICEhdik7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5VWlkID0gPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICBfOiBudW1iZXIsXG4gIHJlc291cmNlOiBULFxuKSA9PiByZXNvdXJjZS5tZXRhZGF0YS51aWQ7XG5cbmV4cG9ydCBjb25zdCBpc0s4c1Jlc291cmNlID0gPFxuICBUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlID0gS3ViZXJuZXRlc1Jlc291cmNlLFxuPihcbiAgdmFsdWU6IG9iamVjdCxcbik6IHZhbHVlIGlzIFQgPT5cbiAgdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAnYXBpVmVyc2lvbicgaW4gdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlLmFwaVZlcnNpb24gPT09ICdzdHJpbmcnICYmXG4gICdraW5kJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUua2luZCA9PT0gJ3N0cmluZycgJiZcbiAgJ21ldGFkYXRhJyBpbiB2YWx1ZSAmJlxuICB2YWx1ZS5tZXRhZGF0YSAmJlxuICB0eXBlb2YgdmFsdWUubWV0YWRhdGEgPT09ICdvYmplY3QnO1xuXG5leHBvcnQgY29uc3QgYXJyYXlpZnkgPSA8XG4gIFQsXG4gIFIgPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgUz4gPyBOb25OdWxsYWJsZTxTPiA6IE5vbk51bGxhYmxlPFQ+LFxuPihcbiAgLi4uYXJnczogQXJyYXk8UiB8IFJbXT5cbikgPT5cbiAgYXJncy5yZWR1Y2U8UltdPigoYXJyLCBjdXJyKSA9PiB7XG4gICAgYXJyLnB1c2goLi4uKEFycmF5LmlzQXJyYXkoY3VycikgPyBjdXJyIDogY3VyciA9PSBudWxsID8gW10gOiBbY3Vycl0pKTtcbiAgICByZXR1cm4gYXJyO1xuICB9LCBbXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtcyA9IDApIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlbGF5ID0gc2xlZXA7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhjb250YWluZXI6IEhUTUxFbGVtZW50LCBzZWxlY3RlZDogSFRNTEVsZW1lbnQpIHtcbiAgaWYgKCFzZWxlY3RlZCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRvcCA9IHNlbGVjdGVkLm9mZnNldFRvcDtcbiAgY29uc3QgYm90dG9tID0gc2VsZWN0ZWQub2Zmc2V0VG9wICsgc2VsZWN0ZWQub2Zmc2V0SGVpZ2h0O1xuICBjb25zdCB2aWV3UmVjdFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gIGNvbnN0IHZpZXdSZWN0Qm90dG9tID0gdmlld1JlY3RUb3AgKyBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuXG4gIGlmICh2aWV3UmVjdFRvcCA+IHRvcCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSB0b3A7XG4gIH0gZWxzZSBpZiAodmlld1JlY3RCb3R0b20gPCBib3R0b20pIHtcbiAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gYm90dG9tIC0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaXNFcXVhbDogPFQsIFYgPSBUPihhOiBULCBiOiBWKSA9PiBib29sZWFuID0gX2lzRXF1YWw7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb24gPSA8VD4oc3RyOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwpID0+IHtcbiAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25PYmplY3RTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHN0cik7XG4gICAgcmV0dXJuIHR5cGVvZiBwYXJzZWQgPT09ICdvYmplY3QnICYmIHBhcnNlZCAhPT0gbnVsbDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVZhbGlkSW1hZ2VOYW1lID0gKGltYWdlOiBzdHJpbmcpID0+XG4gIGltYWdlPy5yZXBsYWNlKC8oW146XSlcXC9cXC8vZywgJyQxLycpIHx8IGltYWdlO1xuXG5leHBvcnQgY29uc3QgYXRvYldpdGhGYWxsYmFjayA9IChzdHI6IHN0cmluZywgZmFsbGJhY2tWYWx1ZTogc3RyaW5nID0gbnVsbCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cuYXRvYihzdHIpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTYWZlQXNzaWduT3B0aW9ucyB7XG4gIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiBhbnk7XG59XG4vKipcbiAqIOW4pumHjeWkjeajgOafpeeahGFzc2lnbu+8jOWPquWBmuS4gOe6p2tleeeahOmHjeWkjeajgOafpVxuICog5aaC5p6c5pyJ6YeN5aSN6aG56buY6K6k5LyadGhyb3cgZXJyb3LvvIzlpoLmnpzkvaDmmI7noa7ov5nkuI3mmK/kuIDkuKrlhbPplK7mgKfplJnor6/vvIzliJnlj6/ku6XpgJrov4fmjIflrppub3RpY2Xlh73mlbDkv67mlLnor6Xpu5jorqTooYzkuLpcbiAqIEBwYXJhbSBzb3VyY2VzXG4gKiBAcGFyYW0gb3B0aW9uc09yTm90aWNlXG4gKiBAcmV0dXJuIG9iamVjdCDkuIDkuKrlhajmlrDnmoTlr7nosaFcbiAqL1xuZXhwb3J0IGNvbnN0IHNhZmVBc3NpZ24gPSA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICBzb3VyY2VzOiBUW10sXG4gIG9wdGlvbnNPck5vdGljZT86IFNhZmVBc3NpZ25PcHRpb25zWydub3RpY2UnXSB8IFNhZmVBc3NpZ25PcHRpb25zLFxuKTogVW5pb25Ub0ludGVyc2VjdGlvbjxUPiA9PiB7XG4gIGlmIChzb3VyY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBzb3VyY2VzWzBdIGFzIFVuaW9uVG9JbnRlcnNlY3Rpb248VD47XG4gIH1cblxuICBjb25zdCBvcHRpb246IFNhZmVBc3NpZ25PcHRpb25zID0ge1xuICAgIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGVyZSBhcmUgZHVwbGljYXRlIGRlZmluaXRpb25zOiAke2R1cGxpY2F0ZXMuam9pbignLCcpfWAsXG4gICAgICApO1xuICAgIH0sXG4gIH07XG4gIGlmICh0eXBlb2Ygb3B0aW9uc09yTm90aWNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgb3B0aW9uLm5vdGljZSA9IG9wdGlvbnNPck5vdGljZTtcbiAgfVxuICBpZiAodHlwZW9mIG9wdGlvbnNPck5vdGljZSA9PT0gJ29iamVjdCcpIHtcbiAgICBPYmplY3QuYXNzaWduKG9wdGlvbiwgb3B0aW9uc09yTm90aWNlKTtcbiAgfVxuXG4gIGNvbnN0IGR1cGxpY2F0ZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgYWxsS2V5ID0gbmV3IFNldChPYmplY3Qua2V5cyhzb3VyY2VzWzBdKSk7XG4gIHNvdXJjZXMuc2xpY2UoMSkuZm9yRWFjaChvYmogPT4ge1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGFsbEtleS5oYXMoa2V5KSkge1xuICAgICAgICBkdXBsaWNhdGVzLmFkZChrZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWxsS2V5LmFkZChrZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGR1cGxpY2F0ZXMuc2l6ZSkge1xuICAgIG9wdGlvbi5ub3RpY2UoWy4uLmR1cGxpY2F0ZXNdKTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgLi4uc291cmNlcyk7XG59O1xuXG5leHBvcnQgY29uc3QgdG9Mb3dlckZpcnN0TGV0dGVyID0gKHRleHQ6IHN0cmluZykgPT5cbiAgdHlwZW9mIHRleHQgPT09ICdzdHJpbmcnICYmIHRleHQubGVuZ3RoID4gMFxuICAgID8gdGV4dC5yZXBsYWNlKHRleHRbMF0sIHRleHRbMF0udG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICA6IHRleHQ7XG5cbmV4cG9ydCBjb25zdCBsb2FkRW52ID0gKGVudlRleHQ6IHN0cmluZyk6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+ID0+IHtcbiAgaWYgKCFlbnZUZXh0KSByZXR1cm4gW107XG4gIHJldHVybiBlbnZUZXh0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5maWx0ZXIocyA9PiAhIXMudHJpbSgpKVxuICAgIC5tYXAocyA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHMudHJpbSgpLmluY2x1ZGVzKCc9JylcbiAgICAgICAgPyBzLnRyaW0oKS5pbmRleE9mKCc9JylcbiAgICAgICAgOiBzLnRyaW0oKS5sZW5ndGg7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBzLnRyaW0oKS5zbGljZSgwLCBpbmRleCkudHJpbSgpLFxuICAgICAgICBzXG4gICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIC5zbGljZShpbmRleCArIDEpXG4gICAgICAgICAgLnRyaW0oKSxcbiAgICAgIF07XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRW1wdHlWYWx1ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBvYmo6IFQsXG4pOiBQYXJ0aWFsPFQ+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iaikucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBhY2Nba2V5IGFzIGtleW9mIFRdID0gdmFsdWUgYXMgVFtrZXlvZiBUXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUGFydGlhbDxUPik7XG59XG5cbmNvbnN0IElNQUdFX1RZUEVfTUFQUEVSOiBTdHJpbmdNYXAgPSB7XG4gICcvJzogJ2pwZycsXG4gIGk6ICdwbmcnLFxuICBQOiAnc3ZnK3htbCcsXG4gIFI6ICdnaWYnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmFzZTY0VHlwZShiYXNlNjRTdHI6IHN0cmluZykge1xuICBjb25zdCBmaXJzdENoYXIgPSBiYXNlNjRTdHIuY2hhckF0KDApO1xuICByZXR1cm4gSU1BR0VfVFlQRV9NQVBQRVJbZmlyc3RDaGFyXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZEltYWdlSGVhZGVyKHZhbHVlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghdmFsdWUgfHwgdmFsdWUuc3RhcnRzV2l0aCgnZGF0YTppbWFnZS8nKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBjb25zdCBoZWFkZXIgPVxuICAgIHByZWZpeCB8fCBgZGF0YTppbWFnZS8ke3BhcnNlQmFzZTY0VHlwZSh2YWx1ZSkgfHwgJ2pwZyd9O2Jhc2U2NCxgO1xuICByZXR1cm4gYCR7aGVhZGVyfSR7dmFsdWV9YDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlUGF0aCA9IChmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgZnJvbVBhcnRzID0gKGZyb20gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuICBjb25zdCB0b1BhcnRzID0gKHRvID8/ICcnKS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBsZXQgcmVsYXRpdmVQYXRoID0gJyc7XG4gIHdoaWxlIChcbiAgICBmcm9tUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIHRvUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIGZyb21QYXJ0c1swXSA9PT0gdG9QYXJ0c1swXVxuICApIHtcbiAgICBmcm9tUGFydHMuc2hpZnQoKTtcbiAgICB0b1BhcnRzLnNoaWZ0KCk7XG4gIH1cblxuICByZWxhdGl2ZVBhdGggPSAnLi4vJy5yZXBlYXQoZnJvbVBhcnRzLmxlbmd0aCk7XG5cbiAgcmVsYXRpdmVQYXRoICs9IHRvUGFydHMuam9pbignLycpO1xuXG4gIHJldHVybiByZWxhdGl2ZVBhdGg7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VG9QYXRoID0gKGZyb206IHN0cmluZywgcmVsYXRpdmU6IHN0cmluZykgPT4ge1xuICBjb25zdCBmcm9tUGFydHMgPSBmcm9tLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuICBjb25zdCByZWxhdGl2ZVBhcnRzID0gcmVsYXRpdmUuc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG5cbiAgY29uc3QgZG90RG90Q291bnQgPSArcmVsYXRpdmVQYXJ0cy5maWx0ZXIocCA9PiBwID09PSAnLi4nKT8ubGVuZ3RoO1xuXG4gIGNvbnN0IHMgPSBmcm9tUGFydHMuc3BsaWNlKDAsIGZyb21QYXJ0cy5sZW5ndGggLSBkb3REb3RDb3VudCk7XG5cbiAgcmV0dXJuIHMuY29uY2F0KHJlbGF0aXZlUGFydHMuc3BsaWNlKGRvdERvdENvdW50KSkuam9pbignLycpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRyYWNrQnlOYW1lID0gPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICBfOiBudW1iZXIsXG4gIHJlc291cmNlOiBULFxuKSA9PiByZXNvdXJjZS5tZXRhZGF0YS5uYW1lO1xuXG5leHBvcnQgZnVuY3Rpb24gdGFibGVTb3J0PFQ+KFxuICBsaXN0OiBUW10sXG4gIHNvcnQ6IFNvcnQsXG4gIHNvcnRBY3RpdmVWYWx1ZUZuOiAoaXRlbTogVCwgbmFtZTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudW1iZXIsXG4pOiBUW10ge1xuICByZXR1cm4gbGlzdC5zbGljZSgpLnNvcnQoKGEsIGIpID0+IHtcbiAgICBjb25zdCBrZXkgPSBzb3J0LmFjdGl2ZTtcbiAgICBjb25zdCBrZXlBID0gc29ydEFjdGl2ZVZhbHVlRm4oYSwga2V5KTtcbiAgICBjb25zdCBrZXlCID0gc29ydEFjdGl2ZVZhbHVlRm4oYiwga2V5KTtcbiAgICBpZiAoa2V5QSA9PT0ga2V5QikgcmV0dXJuIDA7XG4gICAgcmV0dXJuIHNvcnQuZGlyZWN0aW9uID09PSAnYXNjJ1xuICAgICAgPyBrZXlBID4ga2V5QlxuICAgICAgICA/IDFcbiAgICAgICAgOiAtMVxuICAgICAgOiBrZXlCID4ga2V5QVxuICAgICAgPyAxXG4gICAgICA6IC0xO1xuICB9KTtcbn1cblxuLy8g5pSv5oyB5Lit5paH5o6S5bqP77yM5o6o6I2Q5L2/55SoXG5leHBvcnQgZnVuY3Rpb24gdGFibGVTb3J0QWR2YW5jZTxUPihcbiAgbGlzdDogVFtdLFxuICBzb3J0OiBTb3J0LFxuICBzb3J0QWN0aXZlVmFsdWVGbjogKGl0ZW06IFQsIG5hbWU6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVtYmVyLFxuKTogVFtdIHtcbiAgcmV0dXJuIGxpc3Quc2xpY2UoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gc29ydC5hY3RpdmU7XG4gICAgY29uc3Qga2V5QSA9IHNvcnRBY3RpdmVWYWx1ZUZuKGEsIGtleSkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBrZXlCID0gc29ydEFjdGl2ZVZhbHVlRm4oYiwga2V5KS50b1N0cmluZygpO1xuICAgIGlmIChrZXlBID09PSBrZXlCKSByZXR1cm4gMDtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnXG4gICAgICA/IGtleUEubG9jYWxlQ29tcGFyZShrZXlCKVxuICAgICAgOiBrZXlCLmxvY2FsZUNvbXBhcmUoa2V5QSk7XG4gIH0pO1xufVxuXG4vLyDlsIboioLngrnlkI3ovazmiJDlnLDlnYBcbmV4cG9ydCBjb25zdCBub2RlTmFtZTJBZGRyZXNzID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICBpZiAobmFtZT8uc3RhcnRzV2l0aCgndjYtJykpIHtcbiAgICAvLyDmmK92NuWNj+iurlxuICAgIHJldHVybiBuYW1lLnNsaWNlKDMpLnJlcGxhY2VBbGwoJy0nLCAnOicpO1xuICB9XG4gIHJldHVybiBuYW1lO1xufTtcblxuLy8g5qC55o2uIHRhZ09yRGlnZXN0IOeUn+aIkOmVnOWDj+WcsOWdgFxuZXhwb3J0IGNvbnN0IGJ1aWxkSW1hZ2VBZGRyZXNzID0gKHVybDogc3RyaW5nLCB0YWdPckRpZ2VzdDogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBgJHt1cmx9JHt0YWdPckRpZ2VzdC5zdGFydHNXaXRoKCdzaGEyNTY6JykgPyAnQCcgOiAnOid9JHt0YWdPckRpZ2VzdH1gO1xufTtcblxuLy8g6Kej5p6Q6ZWc5YOP5Zyw5Z2AXG5leHBvcnQgY29uc3QgcGFyc2VJbWFnZUFkZHJlc3MgPSAoYWRkcjogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHJlc3VsdDoge1xuICAgIGRpZ2VzdD86IHN0cmluZztcbiAgICB0YWc/OiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH0gPSB7XG4gICAgdXJsOiAnJyxcbiAgfTtcblxuICBjb25zdCBbdXJsUGFydCwgZGlnZXN0UGFydF0gPSBhZGRyLnNwbGl0KCdAc2hhMjU2Jyk7XG4gIGlmIChkaWdlc3RQYXJ0KSB7XG4gICAgcmVzdWx0LmRpZ2VzdCA9IGBzaGEyNTYke2RpZ2VzdFBhcnR9YDtcbiAgfVxuXG4gIGNvbnN0IHRhZ0luZGV4ID0gdXJsUGFydC5sYXN0SW5kZXhPZignOicpO1xuICBpZiAodGFnSW5kZXggPiAwICYmIHRhZ0luZGV4ID4gdXJsUGFydC5sYXN0SW5kZXhPZignLycpKSB7XG4gICAgcmVzdWx0LnRhZyA9IHVybFBhcnQuc2xpY2UodGFnSW5kZXggKyAxKTtcbiAgICByZXN1bHQudXJsID0gdXJsUGFydC5zbGljZSgwLCB0YWdJbmRleCk7XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0LnVybCA9IHVybFBhcnQ7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuY29uc3QgYWxsb3dlZEFwaXMgPSBbXG4gICdoYXNTZWxlY3Rpb24nLFxuICAnZ2V0U2VsZWN0aW9uJyxcbiAgJ2dldFNlbGVjdGlvblBvc2l0aW9uJyxcbiAgJ2NsZWFyU2VsZWN0aW9uJyxcbiAgJ3NlbGVjdCcsXG4gICdzZWxlY3RBbGwnLFxuICAnc2VsZWN0TGluZXMnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IHNldFdpbmRvd3NYdGVybVRvb2xzID0gKHh0ZXJtOiBUZXJtaW5hbCkgPT4ge1xuICAod2luZG93IGFzIGFueSkuX19YVEVSTV9UT09MU19fID0gbWFwVmFsdWVzKFxuICAgIHBpY2soeHRlcm0sIGFsbG93ZWRBcGlzKSxcbiAgICAoZnVuOiBWYWx1ZU9mPFBpY2s8VGVybWluYWwsIFZhbHVlT2Y8dHlwZW9mIGFsbG93ZWRBcGlzPj4+KSA9PlxuICAgICAgZnVuLmJpbmQoeHRlcm0pLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyV2luZG93c1h0ZXJtVG9vbHMgPSAoKSA9PiB7XG4gIGRlbGV0ZSAod2luZG93IGFzIGFueSkuX19YVEVSTV9UT09MU19fO1xufTtcbiJdfQ==
319
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUdILGlEQUFpRDtBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUl2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFVakQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBWSxFQUFFLEVBQUU7SUFDdkMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO1FBQ2IsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxHQUFHO1NBQ1AsY0FBYyxDQUFDLFVBQVUsRUFBRTtRQUMxQixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQXFCLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQzVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1FBQzNCLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDbEI7SUFDRCxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsRUFBRTtRQUM1QixPQUFPLEdBQUcsQ0FBQztLQUNaO0lBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNSLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxPQUFPLFFBQVEsQ0FBQyxDQUFD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LENBQUM7SUFDMUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3ZELE1BQU0sQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUN6QztTQUFNO1FBQ0wsTUFBTSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUM7S0FDdEI7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRztJQUNsQixjQUFjO0lBQ2QsY0FBYztJQUNkLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsUUFBUTtJQUNSLFdBQVc7SUFDWCxhQUFhO0NBQ0wsQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDckQsTUFBYyxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQ3pDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQ3hCLENBQUMsR0FBeUQsRUFBRSxFQUFFLENBQzVELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ2xCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLEVBQUU7SUFDekMsT0FBUSxNQUFjLENBQUMsZUFBZSxDQUFDO0FBQ3pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHV0aWxzXG4gKi9cblxuaW1wb3J0IHsgU29ydCB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IHsgbGFzdCwgaXNFcXVhbCBhcyBfaXNFcXVhbCwgcGljaywgbWFwVmFsdWVzIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFVuaW9uVG9JbnRlcnNlY3Rpb24sIFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcbmltcG9ydCB7IFRlcm1pbmFsIH0gZnJvbSAneHRlcm0nO1xuXG5pbXBvcnQgeyBCcmFja2V0IH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBDYWxsYmFjayxcbiAgS2V5cyxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBOdWxsYWJsZSxcbiAgUmVhZG9ubHlhYmxlLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgbnVtVG9TdHIgPSAobnVtPzogbnVtYmVyKSA9PiB7XG4gIGlmIChudW0gPT09IDApIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG5cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbnVtXG4gICAgLnRvTG9jYWxlU3RyaW5nKCdmdWxsd2lkZScsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMyxcbiAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZSxcbiAgICB9KVxuICAgIC5yZXBsYWNlKC8oW14uXSlcXC4/MCskLywgJyQxJyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvcnROdW0gPSAobnVtPzogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHMgPSAyKSA9PiB7XG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgIG51bSA9IG51bS50cmltKCk7XG4gIH1cbiAgaWYgKG51bSA9PT0gMCB8fCBudW0gPT09ICcwJykge1xuICAgIHJldHVybiAnMCc7XG4gIH1cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIG51bVRvU3RyKCsoK251bSkudG9GaXhlZChkaWdpdHMpIHx8IE1hdGgucG93KDEwLCAtZGlnaXRzKSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNCbGFuayA9IChzdHI/OiB1bmtub3duKSA9PlxuICBzdHIgPT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4oc3RyIGFzIG51bWJlcikgfHwgIXN0ci50b1N0cmluZygpLnRyaW0oKTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2VIcmVmID0gKCkgPT4ge1xuICAvLyBUaGUgbGFzdCBiYXNlIGVsZW1lbnQgaGFzIGhpZ2hlc3QgcHJpdmlsZWdlXG4gIGNvbnN0IGJhc2UgPSBsYXN0KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Jhc2UnKSk7XG4gIC8vIHVzZSBgZ2V0QXR0cmlidXRlYCBpbnN0ZWFkIG9mIGBiYXNlLmhyZWZgIGJlY2F1c2UgdGhlIGF0dHJpYnV0ZSBjb3VsZCBiZSB2b2lkIGJ1dCByZXN1bHRzIGN1cnJlbnQgd2hvbGUgbG9jYXRpb24gdXJsXG4gIHJldHVybiBiYXNlPy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB8fCAnLyc7XG59O1xuXG5leHBvcnQgY29uc3QgaWZFeGlzdCA9IDxUPihcbiAgdG9DaGVjazogYm9vbGVhbiB8IE51bGxhYmxlPFQ+LFxuICB0cnV0aHlWYWx1ZTogVCxcbiAgZmFsbGJhY2s/OiBULFxuKSA9PiAodG9DaGVjayA/IHRydXRoeVZhbHVlIDogKChmYWxsYmFjayB8fCAnJykgYXMgVCkpO1xuXG5leHBvcnQgY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmw6IHN0cmluZykgPT4gL14oaHR0cHM/OlxcLyk/XFwvLy50ZXN0KHVybCk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbmV4cG9ydCBjb25zdCBub29wOiBDYWxsYmFjayA9ICgpID0+IHt9O1xuXG5leHBvcnQgY29uc3QgdG9LZXlzID0gPFQgZXh0ZW5kcyBvYmplY3Q+KHNvdXJjZTogVCk6IEtleXM8VD4gPT5cbiAgT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoKGFjYywgaykgPT4ge1xuICAgIGNvbnN0IGtleSA9IGsgYXMga2V5b2YgVDtcbiAgICBhY2Nba2V5XSA9IGtleTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBLZXlzPFQ+KTtcblxuZXhwb3J0IGNvbnN0IHdyYXBUZXh0ID0gKFxuICB0ZXh0Pzogc3RyaW5nLFxuICB3cmFwcGVyOiBSZWFkb25seWFibGU8W3N0cmluZywgc3RyaW5nXT4gPSBCcmFja2V0LlBBUkVOVEhFU0VTLFxuICBmYWxsYmFjaz86IHN0cmluZyxcbikgPT4gKHRleHQgPyB3cmFwcGVyLmpvaW4odGV4dCkgOiBmYWxsYmFjayB8fCAnJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUpTT05TdHJlYW08VD4odGV4dDogc3RyaW5nKTogVFtdIHtcbiAgcmV0dXJuIHRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLm1hcCh2ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHYpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcih2ID0+ICEhdik7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5VWlkID0gPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICBfOiBudW1iZXIsXG4gIHJlc291cmNlOiBULFxuKSA9PiByZXNvdXJjZS5tZXRhZGF0YS51aWQ7XG5cbmV4cG9ydCBjb25zdCBpc0s4c1Jlc291cmNlID0gPFxuICBUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlID0gS3ViZXJuZXRlc1Jlc291cmNlLFxuPihcbiAgdmFsdWU6IG9iamVjdCxcbik6IHZhbHVlIGlzIFQgPT5cbiAgdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAnYXBpVmVyc2lvbicgaW4gdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlLmFwaVZlcnNpb24gPT09ICdzdHJpbmcnICYmXG4gICdraW5kJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUua2luZCA9PT0gJ3N0cmluZycgJiZcbiAgJ21ldGFkYXRhJyBpbiB2YWx1ZSAmJlxuICB2YWx1ZS5tZXRhZGF0YSAmJlxuICB0eXBlb2YgdmFsdWUubWV0YWRhdGEgPT09ICdvYmplY3QnO1xuXG5leHBvcnQgY29uc3QgYXJyYXlpZnkgPSA8XG4gIFQsXG4gIFIgPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgUz4gPyBOb25OdWxsYWJsZTxTPiA6IE5vbk51bGxhYmxlPFQ+LFxuPihcbiAgLi4uYXJnczogQXJyYXk8UiB8IFJbXT5cbikgPT5cbiAgYXJncy5yZWR1Y2U8UltdPigoYXJyLCBjdXJyKSA9PiB7XG4gICAgYXJyLnB1c2goLi4uKEFycmF5LmlzQXJyYXkoY3VycikgPyBjdXJyIDogY3VyciA9PSBudWxsID8gW10gOiBbY3Vycl0pKTtcbiAgICByZXR1cm4gYXJyO1xuICB9LCBbXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtcyA9IDApIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlbGF5ID0gc2xlZXA7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhjb250YWluZXI6IEhUTUxFbGVtZW50LCBzZWxlY3RlZDogSFRNTEVsZW1lbnQpIHtcbiAgaWYgKCFzZWxlY3RlZCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRvcCA9IHNlbGVjdGVkLm9mZnNldFRvcDtcbiAgY29uc3QgYm90dG9tID0gc2VsZWN0ZWQub2Zmc2V0VG9wICsgc2VsZWN0ZWQub2Zmc2V0SGVpZ2h0O1xuICBjb25zdCB2aWV3UmVjdFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gIGNvbnN0IHZpZXdSZWN0Qm90dG9tID0gdmlld1JlY3RUb3AgKyBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuXG4gIGlmICh2aWV3UmVjdFRvcCA+IHRvcCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSB0b3A7XG4gIH0gZWxzZSBpZiAodmlld1JlY3RCb3R0b20gPCBib3R0b20pIHtcbiAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gYm90dG9tIC0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaXNFcXVhbDogPFQsIFYgPSBUPihhOiBULCBiOiBWKSA9PiBib29sZWFuID0gX2lzRXF1YWw7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb24gPSA8VD4oc3RyOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwpID0+IHtcbiAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25PYmplY3RTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHN0cik7XG4gICAgcmV0dXJuIHR5cGVvZiBwYXJzZWQgPT09ICdvYmplY3QnICYmIHBhcnNlZCAhPT0gbnVsbDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVZhbGlkSW1hZ2VOYW1lID0gKGltYWdlOiBzdHJpbmcpID0+XG4gIGltYWdlPy5yZXBsYWNlKC8oW146XSlcXC9cXC8vZywgJyQxLycpIHx8IGltYWdlO1xuXG5leHBvcnQgY29uc3QgYXRvYldpdGhGYWxsYmFjayA9IChzdHI6IHN0cmluZywgZmFsbGJhY2tWYWx1ZTogc3RyaW5nID0gbnVsbCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cuYXRvYihzdHIpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTYWZlQXNzaWduT3B0aW9ucyB7XG4gIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiBhbnk7XG59XG4vKipcbiAqIOW4pumHjeWkjeajgOafpeeahGFzc2lnbu+8jOWPquWBmuS4gOe6p2tleeeahOmHjeWkjeajgOafpVxuICog5aaC5p6c5pyJ6YeN5aSN6aG56buY6K6k5LyadGhyb3cgZXJyb3LvvIzlpoLmnpzkvaDmmI7noa7ov5nkuI3mmK/kuIDkuKrlhbPplK7mgKfplJnor6/vvIzliJnlj6/ku6XpgJrov4fmjIflrppub3RpY2Xlh73mlbDkv67mlLnor6Xpu5jorqTooYzkuLpcbiAqIEBwYXJhbSBzb3VyY2VzXG4gKiBAcGFyYW0gb3B0aW9uc09yTm90aWNlXG4gKiBAcmV0dXJuIG9iamVjdCDkuIDkuKrlhajmlrDnmoTlr7nosaFcbiAqL1xuZXhwb3J0IGNvbnN0IHNhZmVBc3NpZ24gPSA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICBzb3VyY2VzOiBUW10sXG4gIG9wdGlvbnNPck5vdGljZT86IFNhZmVBc3NpZ25PcHRpb25zWydub3RpY2UnXSB8IFNhZmVBc3NpZ25PcHRpb25zLFxuKTogVW5pb25Ub0ludGVyc2VjdGlvbjxUPiA9PiB7XG4gIGlmIChzb3VyY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBzb3VyY2VzWzBdIGFzIFVuaW9uVG9JbnRlcnNlY3Rpb248VD47XG4gIH1cblxuICBjb25zdCBvcHRpb246IFNhZmVBc3NpZ25PcHRpb25zID0ge1xuICAgIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGVyZSBhcmUgZHVwbGljYXRlIGRlZmluaXRpb25zOiAke2R1cGxpY2F0ZXMuam9pbignLCcpfWAsXG4gICAgICApO1xuICAgIH0sXG4gIH07XG4gIGlmICh0eXBlb2Ygb3B0aW9uc09yTm90aWNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgb3B0aW9uLm5vdGljZSA9IG9wdGlvbnNPck5vdGljZTtcbiAgfVxuICBpZiAodHlwZW9mIG9wdGlvbnNPck5vdGljZSA9PT0gJ29iamVjdCcpIHtcbiAgICBPYmplY3QuYXNzaWduKG9wdGlvbiwgb3B0aW9uc09yTm90aWNlKTtcbiAgfVxuXG4gIGNvbnN0IGR1cGxpY2F0ZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgYWxsS2V5ID0gbmV3IFNldChPYmplY3Qua2V5cyhzb3VyY2VzWzBdKSk7XG4gIHNvdXJjZXMuc2xpY2UoMSkuZm9yRWFjaChvYmogPT4ge1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGFsbEtleS5oYXMoa2V5KSkge1xuICAgICAgICBkdXBsaWNhdGVzLmFkZChrZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWxsS2V5LmFkZChrZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGR1cGxpY2F0ZXMuc2l6ZSkge1xuICAgIG9wdGlvbi5ub3RpY2UoWy4uLmR1cGxpY2F0ZXNdKTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgLi4uc291cmNlcyk7XG59O1xuXG5leHBvcnQgY29uc3QgdG9Mb3dlckZpcnN0TGV0dGVyID0gKHRleHQ6IHN0cmluZykgPT5cbiAgdHlwZW9mIHRleHQgPT09ICdzdHJpbmcnICYmIHRleHQubGVuZ3RoID4gMFxuICAgID8gdGV4dC5yZXBsYWNlKHRleHRbMF0sIHRleHRbMF0udG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICA6IHRleHQ7XG5cbmV4cG9ydCBjb25zdCBsb2FkRW52ID0gKGVudlRleHQ6IHN0cmluZyk6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+ID0+IHtcbiAgaWYgKCFlbnZUZXh0KSByZXR1cm4gW107XG4gIHJldHVybiBlbnZUZXh0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5maWx0ZXIocyA9PiAhIXMudHJpbSgpKVxuICAgIC5tYXAocyA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHMudHJpbSgpLmluY2x1ZGVzKCc9JylcbiAgICAgICAgPyBzLnRyaW0oKS5pbmRleE9mKCc9JylcbiAgICAgICAgOiBzLnRyaW0oKS5sZW5ndGg7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBzLnRyaW0oKS5zbGljZSgwLCBpbmRleCkudHJpbSgpLFxuICAgICAgICBzXG4gICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIC5zbGljZShpbmRleCArIDEpXG4gICAgICAgICAgLnRyaW0oKSxcbiAgICAgIF07XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRW1wdHlWYWx1ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBvYmo6IFQsXG4pOiBQYXJ0aWFsPFQ+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iaikucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBhY2Nba2V5IGFzIGtleW9mIFRdID0gdmFsdWUgYXMgVFtrZXlvZiBUXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUGFydGlhbDxUPik7XG59XG5cbmNvbnN0IElNQUdFX1RZUEVfTUFQUEVSOiBTdHJpbmdNYXAgPSB7XG4gICcvJzogJ2pwZycsXG4gIGk6ICdwbmcnLFxuICBQOiAnc3ZnK3htbCcsXG4gIFI6ICdnaWYnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmFzZTY0VHlwZShiYXNlNjRTdHI6IHN0cmluZykge1xuICBjb25zdCBmaXJzdENoYXIgPSBiYXNlNjRTdHIuY2hhckF0KDApO1xuICByZXR1cm4gSU1BR0VfVFlQRV9NQVBQRVJbZmlyc3RDaGFyXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZEltYWdlSGVhZGVyKHZhbHVlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghdmFsdWUgfHwgdmFsdWUuc3RhcnRzV2l0aCgnZGF0YTppbWFnZS8nKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBjb25zdCBoZWFkZXIgPVxuICAgIHByZWZpeCB8fCBgZGF0YTppbWFnZS8ke3BhcnNlQmFzZTY0VHlwZSh2YWx1ZSkgfHwgJ2pwZyd9O2Jhc2U2NCxgO1xuICByZXR1cm4gYCR7aGVhZGVyfSR7dmFsdWV9YDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlUGF0aCA9IChmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpID0+IHtcbiAgaWYgKHRvID09PSBudWxsIHx8IHRvID09PSB1bmRlZmluZWQgfHwgIWZyb20pIHtcbiAgICByZXR1cm4gdG87XG4gIH1cbiAgY29uc3QgZnJvbVBhcnRzID0gKGZyb20gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuICBjb25zdCB0b1BhcnRzID0gKHRvID8/ICcnKS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBsZXQgcmVsYXRpdmVQYXRoID0gJyc7XG4gIHdoaWxlIChcbiAgICBmcm9tUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIHRvUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIGZyb21QYXJ0c1swXSA9PT0gdG9QYXJ0c1swXVxuICApIHtcbiAgICBmcm9tUGFydHMuc2hpZnQoKTtcbiAgICB0b1BhcnRzLnNoaWZ0KCk7XG4gIH1cblxuICByZWxhdGl2ZVBhdGggPSAnLi4vJy5yZXBlYXQoZnJvbVBhcnRzLmxlbmd0aCk7XG5cbiAgcmVsYXRpdmVQYXRoICs9IHRvUGFydHMuam9pbignLycpO1xuXG4gIHJldHVybiByZWxhdGl2ZVBhdGg7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VG9QYXRoID0gKGZyb206IHN0cmluZywgcmVsYXRpdmU6IHN0cmluZykgPT4ge1xuICBpZiAocmVsYXRpdmUgPT09IG51bGwgfHwgcmVsYXRpdmUgPT09IHVuZGVmaW5lZCB8fCAhZnJvbSkge1xuICAgIHJldHVybiByZWxhdGl2ZTtcbiAgfVxuXG4gIGNvbnN0IGZyb21QYXJ0cyA9IGZyb20uc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gIGNvbnN0IHJlbGF0aXZlUGFydHMgPSByZWxhdGl2ZS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBjb25zdCBkb3REb3RDb3VudCA9ICtyZWxhdGl2ZVBhcnRzLmZpbHRlcihwID0+IHAgPT09ICcuLicpPy5sZW5ndGg7XG5cbiAgY29uc3QgcyA9IGZyb21QYXJ0cy5zcGxpY2UoMCwgZnJvbVBhcnRzLmxlbmd0aCAtIGRvdERvdENvdW50KTtcblxuICByZXR1cm4gcy5jb25jYXQocmVsYXRpdmVQYXJ0cy5zcGxpY2UoZG90RG90Q291bnQpKS5qb2luKCcvJyk7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhY2tCeU5hbWUgPSA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gIF86IG51bWJlcixcbiAgcmVzb3VyY2U6IFQsXG4pID0+IHJlc291cmNlLm1ldGFkYXRhLm5hbWU7XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnQ8VD4oXG4gIGxpc3Q6IFRbXSxcbiAgc29ydDogU29ydCxcbiAgc29ydEFjdGl2ZVZhbHVlRm46IChpdGVtOiBULCBuYW1lOiBzdHJpbmcpID0+IHN0cmluZyB8IG51bWJlcixcbik6IFRbXSB7XG4gIHJldHVybiBsaXN0LnNsaWNlKCkuc29ydCgoYSwgYikgPT4ge1xuICAgIGNvbnN0IGtleSA9IHNvcnQuYWN0aXZlO1xuICAgIGNvbnN0IGtleUEgPSBzb3J0QWN0aXZlVmFsdWVGbihhLCBrZXkpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpO1xuICAgIGlmIChrZXlBID09PSBrZXlCKSByZXR1cm4gMDtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnXG4gICAgICA/IGtleUEgPiBrZXlCXG4gICAgICAgID8gMVxuICAgICAgICA6IC0xXG4gICAgICA6IGtleUIgPiBrZXlBXG4gICAgICA/IDFcbiAgICAgIDogLTE7XG4gIH0pO1xufVxuXG4vLyDmlK/mjIHkuK3mlofmjpLluo/vvIzmjqjojZDkvb/nlKhcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnRBZHZhbmNlPFQ+KFxuICBsaXN0OiBUW10sXG4gIHNvcnQ6IFNvcnQsXG4gIHNvcnRBY3RpdmVWYWx1ZUZuOiAoaXRlbTogVCwgbmFtZTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudW1iZXIsXG4pOiBUW10ge1xuICByZXR1cm4gbGlzdC5zbGljZSgpLnNvcnQoKGEsIGIpID0+IHtcbiAgICBjb25zdCBrZXkgPSBzb3J0LmFjdGl2ZTtcbiAgICBjb25zdCBrZXlBID0gc29ydEFjdGl2ZVZhbHVlRm4oYSwga2V5KS50b1N0cmluZygpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpLnRvU3RyaW5nKCk7XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHJldHVybiAwO1xuICAgIHJldHVybiBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYydcbiAgICAgID8ga2V5QS5sb2NhbGVDb21wYXJlKGtleUIpXG4gICAgICA6IGtleUIubG9jYWxlQ29tcGFyZShrZXlBKTtcbiAgfSk7XG59XG5cbi8vIOWwhuiKgueCueWQjei9rOaIkOWcsOWdgFxuZXhwb3J0IGNvbnN0IG5vZGVOYW1lMkFkZHJlc3MgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gIGlmIChuYW1lPy5zdGFydHNXaXRoKCd2Ni0nKSkge1xuICAgIC8vIOaYr3Y25Y2P6K6uXG4gICAgcmV0dXJuIG5hbWUuc2xpY2UoMykucmVwbGFjZUFsbCgnLScsICc6Jyk7XG4gIH1cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG4vLyDmoLnmja4gdGFnT3JEaWdlc3Qg55Sf5oiQ6ZWc5YOP5Zyw5Z2AXG5leHBvcnQgY29uc3QgYnVpbGRJbWFnZUFkZHJlc3MgPSAodXJsOiBzdHJpbmcsIHRhZ09yRGlnZXN0OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGAke3VybH0ke3RhZ09yRGlnZXN0LnN0YXJ0c1dpdGgoJ3NoYTI1NjonKSA/ICdAJyA6ICc6J30ke3RhZ09yRGlnZXN0fWA7XG59O1xuXG4vLyDop6PmnpDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlQWRkcmVzcyA9IChhZGRyOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmVzdWx0OiB7XG4gICAgZGlnZXN0Pzogc3RyaW5nO1xuICAgIHRhZz86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgfSA9IHtcbiAgICB1cmw6ICcnLFxuICB9O1xuXG4gIGNvbnN0IFt1cmxQYXJ0LCBkaWdlc3RQYXJ0XSA9IGFkZHIuc3BsaXQoJ0BzaGEyNTYnKTtcbiAgaWYgKGRpZ2VzdFBhcnQpIHtcbiAgICByZXN1bHQuZGlnZXN0ID0gYHNoYTI1NiR7ZGlnZXN0UGFydH1gO1xuICB9XG5cbiAgY29uc3QgdGFnSW5kZXggPSB1cmxQYXJ0Lmxhc3RJbmRleE9mKCc6Jyk7XG4gIGlmICh0YWdJbmRleCA+IDAgJiYgdGFnSW5kZXggPiB1cmxQYXJ0Lmxhc3RJbmRleE9mKCcvJykpIHtcbiAgICByZXN1bHQudGFnID0gdXJsUGFydC5zbGljZSh0YWdJbmRleCArIDEpO1xuICAgIHJlc3VsdC51cmwgPSB1cmxQYXJ0LnNsaWNlKDAsIHRhZ0luZGV4KTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQudXJsID0gdXJsUGFydDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5jb25zdCBhbGxvd2VkQXBpcyA9IFtcbiAgJ2hhc1NlbGVjdGlvbicsXG4gICdnZXRTZWxlY3Rpb24nLFxuICAnZ2V0U2VsZWN0aW9uUG9zaXRpb24nLFxuICAnY2xlYXJTZWxlY3Rpb24nLFxuICAnc2VsZWN0JyxcbiAgJ3NlbGVjdEFsbCcsXG4gICdzZWxlY3RMaW5lcycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgc2V0V2luZG93c1h0ZXJtVG9vbHMgPSAoeHRlcm06IFRlcm1pbmFsKSA9PiB7XG4gICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX18gPSBtYXBWYWx1ZXMoXG4gICAgcGljayh4dGVybSwgYWxsb3dlZEFwaXMpLFxuICAgIChmdW46IFZhbHVlT2Y8UGljazxUZXJtaW5hbCwgVmFsdWVPZjx0eXBlb2YgYWxsb3dlZEFwaXM+Pj4pID0+XG4gICAgICBmdW4uYmluZCh4dGVybSksXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJXaW5kb3dzWHRlcm1Ub29scyA9ICgpID0+IHtcbiAgZGVsZXRlICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX187XG59O1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbWV0cmljLWNoYXJ0L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdHJpbmdNYXAgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJpY0FwaVBhcmFtcyB7XG4gIHN0YXJ0PzogbnVtYmVyO1xuICBlbmQ/OiBudW1iZXI7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIGNsdXN0ZXI/OiBzdHJpbmc7XG4gIHBvaW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGljYXRvciB7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBpbmRpY2F0b3I6IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgbGVnZW5kPzogc3RyaW5nO1xuICBtZXRyaWNTb3VyY2VLZXk/OiBrZXlvZiBTdHJpbmdNYXA7XG4gIHZhcmlhYmxlcz86IFN0cmluZ01hcDtcbiAgYWdncmVnYXRvcj86IHN0cmluZztcbiAgbGV2ZWw/OiBzdHJpbmc7XG4gIHJhbmdlPzogbnVtYmVyO1xuICBsYWJlbHM/OiBNZXRyaWNMYWJlbFtdO1xuICBncm91cF9ieT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRyaWNMYWJlbCB7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRyaWNSZXN1bHQge1xuICBpZDogc3RyaW5nO1xuICByZXN1bHRUeXBlOiBzdHJpbmc7XG4gIHJlc3VsdD86IE1ldHJpY1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJpYyB7XG4gIG1ldHJpYz86IFN0cmluZ01hcDtcbiAgdmFsdWVzPzogQXJyYXk8W251bWJlciwgc3RyaW5nXT47XG4gIHZhbHVlPzogW251bWJlciwgc3RyaW5nXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaWNrZXJUaW1lUmFuZ2VzIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzdGFydD86ICgpID0+IHN0cmluZztcbiAgZW5kPzogKCkgPT4gc3RyaW5nO1xuICBzdGFydFRpbWU/OiAoKSA9PiBudW1iZXI7XG4gIGVuZFRpbWU/OiAoKSA9PiBudW1iZXI7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIHpvb21TdGVwPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cHJlc3Npb25JdGVtIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBpbmRpY2F0b3I/OiBzdHJpbmc7XG4gIHZhcmlhYmxlcz86IFN0cmluZ01hcDtcbiAgbmFtZT86IHN0cmluZztcbiAgY29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljUXVlcnlJdGVtIHtcbiAgYWdncmVnYXRvcj86IHN0cmluZztcbiAgaW5kaWNhdG9yPzogc3RyaW5nO1xuICB2YXJpYWJsZXM/OiBTdHJpbmdNYXA7XG4gIGxldmVsPzogc3RyaW5nO1xuICByYW5nZT86IG51bWJlcjtcbiAgbGFiZWxzPzogTWV0cmljTGFiZWxzW107XG4gIGdyb3VwX2J5Pzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRyaWNMYWJlbHMge1xuICB0eXBlPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbWV0cmljLWNoYXJ0L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdHJpbmdNYXAgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJpY0FwaVBhcmFtcyB7XG4gIHN0YXJ0PzogbnVtYmVyO1xuICBlbmQ/OiBudW1iZXI7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIGNsdXN0ZXI/OiBzdHJpbmc7XG4gIHBvaW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGljYXRvciB7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBpbmRpY2F0b3I6IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgbGVnZW5kPzogc3RyaW5nO1xuICBtZXRyaWNTb3VyY2VLZXk/OiBrZXlvZiBTdHJpbmdNYXA7XG4gIHZhcmlhYmxlcz86IFN0cmluZ01hcDtcbiAgYWdncmVnYXRvcj86IHN0cmluZztcbiAgbGV2ZWw/OiBzdHJpbmc7XG4gIHJhbmdlPzogYm9vbGVhbjtcbiAgbGFiZWxzPzogTWV0cmljTGFiZWxbXTtcbiAgZ3JvdXBfYnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljTGFiZWwge1xuICB0eXBlPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljUmVzdWx0IHtcbiAgaWQ6IHN0cmluZztcbiAgcmVzdWx0VHlwZTogc3RyaW5nO1xuICByZXN1bHQ/OiBNZXRyaWNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRyaWMge1xuICBtZXRyaWM/OiBTdHJpbmdNYXA7XG4gIHZhbHVlcz86IEFycmF5PFtudW1iZXIsIHN0cmluZ10+O1xuICB2YWx1ZT86IFtudW1iZXIsIHN0cmluZ107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlja2VyVGltZVJhbmdlcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgc3RhcnQ/OiAoKSA9PiBzdHJpbmc7XG4gIGVuZD86ICgpID0+IHN0cmluZztcbiAgc3RhcnRUaW1lPzogKCkgPT4gbnVtYmVyO1xuICBlbmRUaW1lPzogKCkgPT4gbnVtYmVyO1xuICBzdGVwPzogbnVtYmVyO1xuICB6b29tU3RlcD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHByZXNzaW9uSXRlbSB7XG4gIGlkPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZztcbiAgaW5kaWNhdG9yPzogc3RyaW5nO1xuICB2YXJpYWJsZXM/OiBTdHJpbmdNYXA7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJpY1F1ZXJ5SXRlbSB7XG4gIGFnZ3JlZ2F0b3I/OiBzdHJpbmc7XG4gIGluZGljYXRvcj86IHN0cmluZztcbiAgdmFyaWFibGVzPzogU3RyaW5nTWFwO1xuICBsZXZlbD86IHN0cmluZztcbiAgcmFuZ2U/OiBudW1iZXI7XG4gIGxhYmVscz86IE1ldHJpY0xhYmVsc1tdO1xuICBncm91cF9ieT86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cmljTGFiZWxzIHtcbiAgdHlwZT86IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuIl19
@@ -9,7 +9,6 @@ import { take } from 'rxjs';
9
9
  import { CodeDisplayDialogComponent } from '../code/code-display-dialog/component';
10
10
  import { NOTIFY_DURATION_HEADER } from '../core/public-api';
11
11
  import { TimeService } from '../core/services/public-api';
12
- import { Locale } from '../translate/constants';
13
12
  import { TranslateService } from '../translate/translate.service';
14
13
  import { DEFAULT_ZH_ERROR, ZH_ERRORS } from './errors-mapper';
15
14
  import { FeedbackNotificationComponent, } from './feedback-notification/component';
@@ -96,7 +95,7 @@ export class NotificationUtilService {
96
95
  if (isK8sErrorStatus(resError)) {
97
96
  reason = resError.reason;
98
97
  reason =
99
- this.injector.get(TranslateService).locale === Locale.ZH
98
+ this.injector.get(TranslateService).locale === 'zh'
100
99
  ? ZH_ERRORS[reason] || DEFAULT_ZH_ERROR
101
100
  : reason;
102
101
  }
@@ -153,4 +152,4 @@ export class NotificationUtilService {
153
152
  providedIn: 'root',
154
153
  }]
155
154
  }], function () { return [{ type: i0.Injector }, { type: i1.DialogService }, { type: i2.TimeService }, { type: i1.NotificationService }]; }, null); })();
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQ0wsYUFBYSxFQUNiLFVBQVUsRUFDVixXQUFXLEVBQ1gsMkJBQTJCLEVBRTNCLG1CQUFtQixHQUNwQixNQUFNLFlBQVksQ0FBQztBQU1wQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBWSxzQkFBc0IsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFDTCw2QkFBNkIsR0FFOUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUF3QjdDLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDbUIsUUFBa0IsRUFDbEIsTUFBcUIsRUFDckIsSUFBaUIsRUFDakIsWUFBaUM7UUFIakMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQ2pELENBQUM7SUFFSixVQUFVLENBQUMsSUFBYSxFQUFFLEtBQWMsRUFBRSxjQUF1QjtRQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUMzQyxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUM5QixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsS0FBSyxFQUFFLEtBQUssSUFBSSxhQUFhO2dCQUM3QixRQUFRLEVBQUUsSUFBSTthQUNmO1lBQ0QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxHQUFHO1NBQ3JCLENBQUMsQ0FBQztRQUNILElBQUksY0FBYyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FDWixNQUFrQyxFQUNsQyxFQUNFLE9BQU8sRUFDUCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEdBQUcsRUFDSCxPQUFPLEVBQ1AsU0FBUyxFQUNULE9BQU8sTUFDZ0MsRUFBRTtRQUUzQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7WUFDNUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxLQUFLO1lBQ3ZCLEdBQUcsTUFBTTtZQUNULE9BQU8sRUFBRSxJQUFJO1lBQ2IsVUFBVSxFQUFFLDZCQUE2QjtTQUMxQyxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FDWixRQUFRLENBQUMsc0JBQXVELENBQUM7UUFFbkUsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQ3BCLE9BQU8sR0FBRyxhQUFhLENBQUM7U0FDekI7YUFBTSxJQUFJLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDN0IsU0FBUyxHQUFHLGFBQWEsQ0FBQztTQUMzQjtRQUVELE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3JDLElBQUksRUFDSixPQUFPLEVBQ1AsTUFBTSxDQUFDLEtBQUssRUFDWixRQUFRLENBQUMsUUFBUSxDQUNsQixDQUFDO1FBRUYsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDekIsU0FBUyxHQUFHLFVBQVUsQ0FBQztTQUN4QjtRQUVELElBQUksU0FBUyxFQUFFO1lBQ2IsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3ZEO2FBQU0sSUFBSSxTQUFTLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEMsV0FBVyxHQUFHLFVBQVUsQ0FBQztTQUMxQjtRQUVELElBQUksV0FBVyxFQUFFO1lBQ2YsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDdEIsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1lBQ3BDLEdBQUc7WUFDSCxPQUFPO1lBQ1AsU0FBUztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBYTtRQUNqQyxPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFDN0IsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBSUQsS0FBSyxDQUFDLE1BQU0sQ0FDVixXQUE2QyxFQUM3QyxHQUF1QjtRQUV2QiwwQ0FBMEM7UUFDMUMsTUFBTSxHQUFHLEdBQUcsQ0FDVixTQUFTLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQzFDLENBQUM7UUFFN0IsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNqQyxHQUFHLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3pCLGVBQWUsQ0FDYixHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxFQUN2QywyQkFBMkIsQ0FBQyxRQUFRLENBQ3JDLENBQ0YsQ0FBQztRQUVGLElBQUksTUFBYyxDQUFDO1FBQ25CLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFFekIsSUFBSSxRQUFRLFlBQVksSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLEVBQUU7WUFDcEUsSUFBSTtnQkFDRixRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQzlDO1lBQUMsTUFBTSxHQUFFO1NBQ1g7UUFFRCxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlCLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3pCLE1BQU07Z0JBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLEVBQUU7b0JBQ3RELENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksZ0JBQWdCO29CQUN2QyxDQUFDLENBQUMsTUFBTSxDQUFDO1NBQ2Q7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUNqQjtZQUNFLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztZQUM3QyxRQUFRO1NBQ1QsRUFDRDtZQUNFLE9BQU8sRUFBRTtnQkFDUCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxhQUFhO2dCQUM3QixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07Z0JBQ2xCLGFBQWEsRUFBRTtvQkFDYixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztvQkFDckMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztvQkFDdkMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO2lCQUNmO2dCQUNELGNBQWMsRUFBRTtvQkFDZCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ3hCLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO29CQUMvQyxVQUFVLEVBQUUsR0FBRyxDQUFDLE1BQU07b0JBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7b0JBQ3ZDLElBQUksRUFBRSxRQUFRO2lCQUNmO2FBQ0Y7WUFDRCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsR0FBc0I7UUFDL0MsT0FBTyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssUUFBUTtZQUNsQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUs7WUFDWCxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxLQUFLLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDNUMsaUNBQWlDO2dCQUNqQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztnQkFDbkMsR0FBRyxDQUFDLFVBQVUsQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYSxDQUFDLE9BQW9CO1FBQ3hDLE9BQU8sT0FBTzthQUNYLElBQUksRUFBRTthQUNOLE1BQU0sQ0FBb0MsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxNQUFNLEdBQXNCLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNoRCxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3BCO1lBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUNsQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7d0ZBOUtVLHVCQUF1Qjt1RUFBdkIsdUJBQXVCLFdBQXZCLHVCQUF1QixtQkFGdEIsTUFBTTs7dUZBRVAsdUJBQXVCO2NBSG5DLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIG5vdGlmaWNhdGlvblxuICovXG5cbmltcG9ydCB7XG4gIERpYWxvZ1NlcnZpY2UsXG4gIERpYWxvZ1NpemUsXG4gIE1lc3NhZ2VUeXBlLFxuICBOT1RJRklDQVRJT05fREVGQVVMVF9DT05GSUcsXG4gIE5vdGlmaWNhdGlvbkNvbmZpZyxcbiAgTm90aWZpY2F0aW9uU2VydmljZSxcbn0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgbnVtYmVyQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb2RlRGlzcGxheURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvZGUvY29kZS1kaXNwbGF5LWRpYWxvZy9jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FsbGJhY2ssIE5PVElGWV9EVVJBVElPTl9IRUFERVIsIFN0YXR1cyB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBUaW1lU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBMb2NhbGUgfSBmcm9tICcuLi90cmFuc2xhdGUvY29uc3RhbnRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi90cmFuc2xhdGUvdHJhbnNsYXRlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBERUZBVUxUX1pIX0VSUk9SLCBaSF9FUlJPUlMgfSBmcm9tICcuL2Vycm9ycy1tYXBwZXInO1xuaW1wb3J0IHtcbiAgRmVlZGJhY2tOb3RpZmljYXRpb25Db21wb25lbnQsXG4gIEZlZWRiYWNrTm90aWZpY2F0aW9uUHJvcHMsXG59IGZyb20gJy4vZmVlZGJhY2stbm90aWZpY2F0aW9uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBpc0s4c0Vycm9yU3RhdHVzIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25IdHRwUmVxdWVzdDxUID0gdW5rbm93bj4gZXh0ZW5kcyBIdHRwUmVxdWVzdDxUPiB7XG4gIHJlcXVlc3RBdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRmVlZGJhY2tOb3RpZmljYXRpb25Qcm9wc1dpdGhFdmVudHMgPSBPbWl0PFxuICBGZWVkYmFja05vdGlmaWNhdGlvblByb3BzLFxuICAnY29udGVudCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5J1xuPiAmXG4gIFBhcnRpYWw8e1xuICAgIGNvbnRlbnQ6IHVua25vd247XG4gICAgc3VtbWFyeTogdW5rbm93bjtcbiAgICBwcmltYXJ5OiBzdHJpbmcgfCB0cnVlO1xuICAgIHNlY29uZGFyeTogc3RyaW5nIHwgdHJ1ZTtcbiAgICBvblByaW1hcnk6IENhbGxiYWNrO1xuICAgIG9uU2Vjb25kYXJ5OiBDYWxsYmFjaztcbiAgfT47XG5cbmV4cG9ydCB0eXBlIEZlZWRiYWNrTm90aWZpY2F0aW9uQ29uZmlnID0gT21pdDxOb3RpZmljYXRpb25Db25maWcsICdjb250ZW50UmVmJz47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25VdGlsU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGltZTogVGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb246IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICkge31cblxuICB2aWV3RGV0YWlsKGpzb246IHVua25vd24sIHRpdGxlPzogc3RyaW5nLCBub3RpZmljYXRpb25JZD86IHN0cmluZykge1xuICAgIHRoaXMuZGlhbG9nLm9wZW4oQ29kZURpc3BsYXlEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgY29kZTogdGhpcy5ub3JtYWxpemVKc29uKGpzb24pLFxuICAgICAgICBsYW5ndWFnZTogJ2pzb24nLFxuICAgICAgICB0aXRsZTogdGl0bGUgfHwgJ3ZpZXdfZGV0YWlsJyxcbiAgICAgICAgZWxsaXBzaXM6IHRydWUsXG4gICAgICB9LFxuICAgICAgc2l6ZTogRGlhbG9nU2l6ZS5CaWcsXG4gICAgfSk7XG4gICAgaWYgKG5vdGlmaWNhdGlvbklkKSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvbi5yZW1vdmUobm90aWZpY2F0aW9uSWQpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUZlZWRiYWNrKFxuICAgIGNvbmZpZzogRmVlZGJhY2tOb3RpZmljYXRpb25Db25maWcsXG4gICAge1xuICAgICAgY29udGVudCxcbiAgICAgIG9uUHJpbWFyeSxcbiAgICAgIG9uU2Vjb25kYXJ5LFxuICAgICAgcHJlLFxuICAgICAgcHJpbWFyeSxcbiAgICAgIHNlY29uZGFyeSxcbiAgICAgIHN1bW1hcnksXG4gICAgfTogRmVlZGJhY2tOb3RpZmljYXRpb25Qcm9wc1dpdGhFdmVudHMgPSB7fSxcbiAgKSB7XG4gICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gdGhpcy5ub3RpZmljYXRpb24uY3JlYXRlKHtcbiAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkVycm9yLFxuICAgICAgLi4uY29uZmlnLFxuICAgICAgY29udGVudDogbnVsbCxcbiAgICAgIGNvbnRlbnRSZWY6IEZlZWRiYWNrTm90aWZpY2F0aW9uQ29tcG9uZW50LFxuICAgIH0pO1xuXG4gICAgY29uc3QgZmVlZGJhY2sgPVxuICAgICAgaW5zdGFuY2UuY2hpbGRDb21wb25lbnRJbnN0YW5jZSBhcyBGZWVkYmFja05vdGlmaWNhdGlvbkNvbXBvbmVudDtcblxuICAgIGlmIChwcmltYXJ5ID09PSB0cnVlKSB7XG4gICAgICBwcmltYXJ5ID0gJ3ZpZXdfZGV0YWlsJztcbiAgICB9IGVsc2UgaWYgKHNlY29uZGFyeSA9PT0gdHJ1ZSkge1xuICAgICAgc2Vjb25kYXJ5ID0gJ3ZpZXdfZGV0YWlsJztcbiAgICB9XG5cbiAgICBjb250ZW50ID0gdGhpcy5ub3JtYWxpemVKc29uKGNvbnRlbnQgfHwgY29uZmlnLmNvbnRlbnQpO1xuICAgIGNvbnN0IHZpZXdEZXRhaWwgPSB0aGlzLnZpZXdEZXRhaWwuYmluZChcbiAgICAgIHRoaXMsXG4gICAgICBjb250ZW50LFxuICAgICAgY29uZmlnLnRpdGxlLFxuICAgICAgaW5zdGFuY2UudW5pcXVlSWQsXG4gICAgKTtcblxuICAgIGlmIChwcmltYXJ5ICYmICFvblByaW1hcnkpIHtcbiAgICAgIG9uUHJpbWFyeSA9IHZpZXdEZXRhaWw7XG4gICAgfVxuXG4gICAgaWYgKG9uUHJpbWFyeSkge1xuICAgICAgZmVlZGJhY2sub25QcmltYXJ5LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG9uUHJpbWFyeSk7XG4gICAgfSBlbHNlIGlmIChzZWNvbmRhcnkgJiYgIW9uU2Vjb25kYXJ5KSB7XG4gICAgICBvblNlY29uZGFyeSA9IHZpZXdEZXRhaWw7XG4gICAgfVxuXG4gICAgaWYgKG9uU2Vjb25kYXJ5KSB7XG4gICAgICBmZWVkYmFjay5vblNlY29uZGFyeS5waXBlKHRha2UoMSkpLnN1YnNjcmliZShvblNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgT2JqZWN0LmFzc2lnbihmZWVkYmFjaywge1xuICAgICAgY29udGVudDogdGhpcy5ub3JtYWxpemVKc29uKHN1bW1hcnkpLFxuICAgICAgcHJlLFxuICAgICAgcHJpbWFyeSxcbiAgICAgIHNlY29uZGFyeSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplSnNvbihqc29uOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBqc29uID09PSAnc3RyaW5nJ1xuICAgICAgPyBqc29uXG4gICAgICA6IGpzb24gJiYgSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgMik7XG4gIH1cblxuICBub3RpZnkoc3RhdHVzOiBTdGF0dXMpOiB2b2lkO1xuICBub3RpZnkocmVxOiBOb3RpZmljYXRpb25IdHRwUmVxdWVzdCwgcmVzOiBIdHRwRXJyb3JSZXNwb25zZSk6IFByb21pc2U8dm9pZD47XG4gIGFzeW5jIG5vdGlmeShcbiAgICByZXFPclN0YXR1czogTm90aWZpY2F0aW9uSHR0cFJlcXVlc3QgfCBTdGF0dXMsXG4gICAgcmVzPzogSHR0cEVycm9yUmVzcG9uc2UsXG4gICkge1xuICAgIC8vIHdlIHN0b3JlZCBvcmlnaW5hbCByZXEgaW4gYGVyci5fX3JlcV9fYFxuICAgIGNvbnN0IHJlcSA9IChcbiAgICAgICdfX3JlcV9fJyBpbiByZXFPclN0YXR1cyA/IGdldChyZXFPclN0YXR1cywgJ19fcmVxX18nKSA6IHJlcU9yU3RhdHVzXG4gICAgKSBhcyBOb3RpZmljYXRpb25IdHRwUmVxdWVzdDtcblxuICAgIGlmIChpc0s4c0Vycm9yU3RhdHVzKHJlcU9yU3RhdHVzKSkge1xuICAgICAgcmVzID0gZ2V0KHJlcU9yU3RhdHVzLCAnX19vcmlnaW5fXycpO1xuICAgIH1cblxuICAgIGNvbnN0IGR1cmF0aW9uID0gTWF0aC5yb3VuZChcbiAgICAgIG51bWJlckF0dHJpYnV0ZShcbiAgICAgICAgcmVxLmhlYWRlcnMuZ2V0KE5PVElGWV9EVVJBVElPTl9IRUFERVIpLFxuICAgICAgICBOT1RJRklDQVRJT05fREVGQVVMVF9DT05GSUcuZHVyYXRpb24sXG4gICAgICApLFxuICAgICk7XG5cbiAgICBsZXQgcmVhc29uOiBzdHJpbmc7XG4gICAgbGV0IHJlc0Vycm9yID0gcmVzLmVycm9yO1xuXG4gICAgaWYgKHJlc0Vycm9yIGluc3RhbmNlb2YgQmxvYiAmJiByZXNFcnJvci50eXBlID09PSAnYXBwbGljYXRpb24vanNvbicpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlc0Vycm9yID0gSlNPTi5wYXJzZShhd2FpdCByZXNFcnJvci50ZXh0KCkpO1xuICAgICAgfSBjYXRjaCB7fVxuICAgIH1cblxuICAgIGlmIChpc0s4c0Vycm9yU3RhdHVzKHJlc0Vycm9yKSkge1xuICAgICAgcmVhc29uID0gcmVzRXJyb3IucmVhc29uO1xuICAgICAgcmVhc29uID1cbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSkubG9jYWxlID09PSBMb2NhbGUuWkhcbiAgICAgICAgICA/IFpIX0VSUk9SU1tyZWFzb25dIHx8IERFRkFVTFRfWkhfRVJST1JcbiAgICAgICAgICA6IHJlYXNvbjtcbiAgICB9XG5cbiAgICB0aGlzLmNyZWF0ZUZlZWRiYWNrKFxuICAgICAge1xuICAgICAgICB0aXRsZTogcmVhc29uIHx8IHRoaXMuZ2V0UmVzRXJyb3JNZXNzYWdlKHJlcyksXG4gICAgICAgIGR1cmF0aW9uLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29udGVudDoge1xuICAgICAgICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgICAgICAgUmVxdWVzdFVSSTogcmVxLnVybFdpdGhQYXJhbXMsXG4gICAgICAgICAgTWV0aG9kOiByZXEubWV0aG9kLFxuICAgICAgICAgIFJlcXVlc3RPYmplY3Q6IHtcbiAgICAgICAgICAgIFRpbWU6IHRoaXMudGltZS5mb3JtYXQocmVxLnJlcXVlc3RBdCksXG4gICAgICAgICAgICBIZWFkZXI6IHRoaXMuZ2V0QWxsSGVhZGVycyhyZXEuaGVhZGVycyksXG4gICAgICAgICAgICBCb2R5OiByZXEuYm9keSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIFJlc3BvbnNlT2JqZWN0OiB7XG4gICAgICAgICAgICBUaW1lOiB0aGlzLnRpbWUuZm9ybWF0KCksXG4gICAgICAgICAgICBSZWxhdGl2ZVRpbWU6IHRoaXMudGltZS5kaXN0YW5jZShyZXEucmVxdWVzdEF0KSxcbiAgICAgICAgICAgIFN0YXR1c0NvZGU6IHJlcy5zdGF0dXMsXG4gICAgICAgICAgICBIZWFkZXI6IHRoaXMuZ2V0QWxsSGVhZGVycyhyZXMuaGVhZGVycyksXG4gICAgICAgICAgICBCb2R5OiByZXNFcnJvcixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzZWNvbmRhcnk6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlc0Vycm9yTWVzc2FnZShyZXM6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiByZXMuZXJyb3IgPT09ICdzdHJpbmcnXG4gICAgICA/IHJlcy5lcnJvclxuICAgICAgOiAocmVzLnN0YXR1c1RleHQgPT09ICdPSycgJiYgcmVzLmVycm9yLm1lc3NhZ2UpIHx8XG4gICAgICAgICAgLy8gY29tcGF0aWJsZSB3aXRoIGxlZ2FjeSBBQ0UgQVBJXG4gICAgICAgICAgZ2V0KHJlcy5lcnJvciwgJ2Vycm9yc1swXS5tZXNzYWdlJykgfHxcbiAgICAgICAgICByZXMuc3RhdHVzVGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsSGVhZGVycyhoZWFkZXJzOiBIdHRwSGVhZGVycykge1xuICAgIHJldHVybiBoZWFkZXJzXG4gICAgICAua2V5cygpXG4gICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPj4oKGFjYywga2V5KSA9PiB7XG4gICAgICAgIGxldCB2YWx1ZXM6IHN0cmluZyB8IHN0cmluZ1tdID0gaGVhZGVycy5nZXRBbGwoa2V5KTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVzKSAmJiB2YWx1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgdmFsdWVzID0gdmFsdWVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIGFjY1trZXldID0gdmFsdWVzO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pO1xuICB9XG59XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQ0wsYUFBYSxFQUNiLFVBQVUsRUFDVixXQUFXLEVBQ1gsMkJBQTJCLEVBRTNCLG1CQUFtQixHQUNwQixNQUFNLFlBQVksQ0FBQztBQU1wQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBWSxzQkFBc0IsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLDZCQUE2QixHQUU5QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQXdCN0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNtQixRQUFrQixFQUNsQixNQUFxQixFQUNyQixJQUFpQixFQUNqQixZQUFpQztRQUhqQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBYTtR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LEdBQUcsRUFBRSxFQUFFO1lBQ3RELElBQUksTUFBTSxHQUFzQixPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDaEQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwQjtZQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDbEIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDO3dGQTlLVSx1QkFBdUI7dUVBQXZCLHVCQUF1QixXQUF2Qix1QkFBdUIsbUJBRnRCLE1BQU07O3VGQUVQLHVCQUF1QjtjQUhuQyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBub3RpZmljYXRpb25cbiAqL1xuXG5pbXBvcnQge1xuICBEaWFsb2dTZXJ2aWNlLFxuICBEaWFsb2dTaXplLFxuICBNZXNzYWdlVHlwZSxcbiAgTk9USUZJQ0FUSU9OX0RFRkFVTFRfQ09ORklHLFxuICBOb3RpZmljYXRpb25Db25maWcsXG4gIE5vdGlmaWNhdGlvblNlcnZpY2UsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBIZWFkZXJzLFxuICBIdHRwUmVxdWVzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIG51bWJlckF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29kZURpc3BsYXlEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb2RlL2NvZGUtZGlzcGxheS1kaWFsb2cvY29tcG9uZW50JztcbmltcG9ydCB7IENhbGxiYWNrLCBOT1RJRllfRFVSQVRJT05fSEVBREVSLCBTdGF0dXMgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVGltZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS90cmFuc2xhdGUuc2VydmljZSc7XG5cbmltcG9ydCB7IERFRkFVTFRfWkhfRVJST1IsIFpIX0VSUk9SUyB9IGZyb20gJy4vZXJyb3JzLW1hcHBlcic7XG5pbXBvcnQge1xuICBGZWVkYmFja05vdGlmaWNhdGlvbkNvbXBvbmVudCxcbiAgRmVlZGJhY2tOb3RpZmljYXRpb25Qcm9wcyxcbn0gZnJvbSAnLi9mZWVkYmFjay1ub3RpZmljYXRpb24vY29tcG9uZW50JztcbmltcG9ydCB7IGlzSzhzRXJyb3JTdGF0dXMgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkh0dHBSZXF1ZXN0PFQgPSB1bmtub3duPiBleHRlbmRzIEh0dHBSZXF1ZXN0PFQ+IHtcbiAgcmVxdWVzdEF0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGZWVkYmFja05vdGlmaWNhdGlvblByb3BzV2l0aEV2ZW50cyA9IE9taXQ8XG4gIEZlZWRiYWNrTm90aWZpY2F0aW9uUHJvcHMsXG4gICdjb250ZW50JyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknXG4+ICZcbiAgUGFydGlhbDx7XG4gICAgY29udGVudDogdW5rbm93bjtcbiAgICBzdW1tYXJ5OiB1bmtub3duO1xuICAgIHByaW1hcnk6IHN0cmluZyB8IHRydWU7XG4gICAgc2Vjb25kYXJ5OiBzdHJpbmcgfCB0cnVlO1xuICAgIG9uUHJpbWFyeTogQ2FsbGJhY2s7XG4gICAgb25TZWNvbmRhcnk6IENhbGxiYWNrO1xuICB9PjtcblxuZXhwb3J0IHR5cGUgRmVlZGJhY2tOb3RpZmljYXRpb25Db25maWcgPSBPbWl0PE5vdGlmaWNhdGlvbkNvbmZpZywgJ2NvbnRlbnRSZWYnPjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblV0aWxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2c6IERpYWxvZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aW1lOiBUaW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgKSB7fVxuXG4gIHZpZXdEZXRhaWwoanNvbjogdW5rbm93biwgdGl0bGU/OiBzdHJpbmcsIG5vdGlmaWNhdGlvbklkPzogc3RyaW5nKSB7XG4gICAgdGhpcy5kaWFsb2cub3BlbihDb2RlRGlzcGxheURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICBjb2RlOiB0aGlzLm5vcm1hbGl6ZUpzb24oanNvbiksXG4gICAgICAgIGxhbmd1YWdlOiAnanNvbicsXG4gICAgICAgIHRpdGxlOiB0aXRsZSB8fCAndmlld19kZXRhaWwnLFxuICAgICAgICBlbGxpcHNpczogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBzaXplOiBEaWFsb2dTaXplLkJpZyxcbiAgICB9KTtcbiAgICBpZiAobm90aWZpY2F0aW9uSWQpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uLnJlbW92ZShub3RpZmljYXRpb25JZCk7XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlRmVlZGJhY2soXG4gICAgY29uZmlnOiBGZWVkYmFja05vdGlmaWNhdGlvbkNvbmZpZyxcbiAgICB7XG4gICAgICBjb250ZW50LFxuICAgICAgb25QcmltYXJ5LFxuICAgICAgb25TZWNvbmRhcnksXG4gICAgICBwcmUsXG4gICAgICBwcmltYXJ5LFxuICAgICAgc2Vjb25kYXJ5LFxuICAgICAgc3VtbWFyeSxcbiAgICB9OiBGZWVkYmFja05vdGlmaWNhdGlvblByb3BzV2l0aEV2ZW50cyA9IHt9LFxuICApIHtcbiAgICBjb25zdCB7IGluc3RhbmNlIH0gPSB0aGlzLm5vdGlmaWNhdGlvbi5jcmVhdGUoe1xuICAgICAgdHlwZTogTWVzc2FnZVR5cGUuRXJyb3IsXG4gICAgICAuLi5jb25maWcsXG4gICAgICBjb250ZW50OiBudWxsLFxuICAgICAgY29udGVudFJlZjogRmVlZGJhY2tOb3RpZmljYXRpb25Db21wb25lbnQsXG4gICAgfSk7XG5cbiAgICBjb25zdCBmZWVkYmFjayA9XG4gICAgICBpbnN0YW5jZS5jaGlsZENvbXBvbmVudEluc3RhbmNlIGFzIEZlZWRiYWNrTm90aWZpY2F0aW9uQ29tcG9uZW50O1xuXG4gICAgaWYgKHByaW1hcnkgPT09IHRydWUpIHtcbiAgICAgIHByaW1hcnkgPSAndmlld19kZXRhaWwnO1xuICAgIH0gZWxzZSBpZiAoc2Vjb25kYXJ5ID09PSB0cnVlKSB7XG4gICAgICBzZWNvbmRhcnkgPSAndmlld19kZXRhaWwnO1xuICAgIH1cblxuICAgIGNvbnRlbnQgPSB0aGlzLm5vcm1hbGl6ZUpzb24oY29udGVudCB8fCBjb25maWcuY29udGVudCk7XG4gICAgY29uc3Qgdmlld0RldGFpbCA9IHRoaXMudmlld0RldGFpbC5iaW5kKFxuICAgICAgdGhpcyxcbiAgICAgIGNvbnRlbnQsXG4gICAgICBjb25maWcudGl0bGUsXG4gICAgICBpbnN0YW5jZS51bmlxdWVJZCxcbiAgICApO1xuXG4gICAgaWYgKHByaW1hcnkgJiYgIW9uUHJpbWFyeSkge1xuICAgICAgb25QcmltYXJ5ID0gdmlld0RldGFpbDtcbiAgICB9XG5cbiAgICBpZiAob25QcmltYXJ5KSB7XG4gICAgICBmZWVkYmFjay5vblByaW1hcnkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUob25QcmltYXJ5KTtcbiAgICB9IGVsc2UgaWYgKHNlY29uZGFyeSAmJiAhb25TZWNvbmRhcnkpIHtcbiAgICAgIG9uU2Vjb25kYXJ5ID0gdmlld0RldGFpbDtcbiAgICB9XG5cbiAgICBpZiAob25TZWNvbmRhcnkpIHtcbiAgICAgIGZlZWRiYWNrLm9uU2Vjb25kYXJ5LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG9uU2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICBPYmplY3QuYXNzaWduKGZlZWRiYWNrLCB7XG4gICAgICBjb250ZW50OiB0aGlzLm5vcm1hbGl6ZUpzb24oc3VtbWFyeSksXG4gICAgICBwcmUsXG4gICAgICBwcmltYXJ5LFxuICAgICAgc2Vjb25kYXJ5LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBub3JtYWxpemVKc29uKGpzb246IHVua25vd24pIHtcbiAgICByZXR1cm4gdHlwZW9mIGpzb24gPT09ICdzdHJpbmcnXG4gICAgICA/IGpzb25cbiAgICAgIDoganNvbiAmJiBKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCAyKTtcbiAgfVxuXG4gIG5vdGlmeShzdGF0dXM6IFN0YXR1cyk6IHZvaWQ7XG4gIG5vdGlmeShyZXE6IE5vdGlmaWNhdGlvbkh0dHBSZXF1ZXN0LCByZXM6IEh0dHBFcnJvclJlc3BvbnNlKTogUHJvbWlzZTx2b2lkPjtcbiAgYXN5bmMgbm90aWZ5KFxuICAgIHJlcU9yU3RhdHVzOiBOb3RpZmljYXRpb25IdHRwUmVxdWVzdCB8IFN0YXR1cyxcbiAgICByZXM/OiBIdHRwRXJyb3JSZXNwb25zZSxcbiAgKSB7XG4gICAgLy8gd2Ugc3RvcmVkIG9yaWdpbmFsIHJlcSBpbiBgZXJyLl9fcmVxX19gXG4gICAgY29uc3QgcmVxID0gKFxuICAgICAgJ19fcmVxX18nIGluIHJlcU9yU3RhdHVzID8gZ2V0KHJlcU9yU3RhdHVzLCAnX19yZXFfXycpIDogcmVxT3JTdGF0dXNcbiAgICApIGFzIE5vdGlmaWNhdGlvbkh0dHBSZXF1ZXN0O1xuXG4gICAgaWYgKGlzSzhzRXJyb3JTdGF0dXMocmVxT3JTdGF0dXMpKSB7XG4gICAgICByZXMgPSBnZXQocmVxT3JTdGF0dXMsICdfX29yaWdpbl9fJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZHVyYXRpb24gPSBNYXRoLnJvdW5kKFxuICAgICAgbnVtYmVyQXR0cmlidXRlKFxuICAgICAgICByZXEuaGVhZGVycy5nZXQoTk9USUZZX0RVUkFUSU9OX0hFQURFUiksXG4gICAgICAgIE5PVElGSUNBVElPTl9ERUZBVUxUX0NPTkZJRy5kdXJhdGlvbixcbiAgICAgICksXG4gICAgKTtcblxuICAgIGxldCByZWFzb246IHN0cmluZztcbiAgICBsZXQgcmVzRXJyb3IgPSByZXMuZXJyb3I7XG5cbiAgICBpZiAocmVzRXJyb3IgaW5zdGFuY2VvZiBCbG9iICYmIHJlc0Vycm9yLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9qc29uJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzRXJyb3IgPSBKU09OLnBhcnNlKGF3YWl0IHJlc0Vycm9yLnRleHQoKSk7XG4gICAgICB9IGNhdGNoIHt9XG4gICAgfVxuXG4gICAgaWYgKGlzSzhzRXJyb3JTdGF0dXMocmVzRXJyb3IpKSB7XG4gICAgICByZWFzb24gPSByZXNFcnJvci5yZWFzb247XG4gICAgICByZWFzb24gPVxuICAgICAgICB0aGlzLmluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlKS5sb2NhbGUgPT09ICd6aCdcbiAgICAgICAgICA/IFpIX0VSUk9SU1tyZWFzb25dIHx8IERFRkFVTFRfWkhfRVJST1JcbiAgICAgICAgICA6IHJlYXNvbjtcbiAgICB9XG5cbiAgICB0aGlzLmNyZWF0ZUZlZWRiYWNrKFxuICAgICAge1xuICAgICAgICB0aXRsZTogcmVhc29uIHx8IHRoaXMuZ2V0UmVzRXJyb3JNZXNzYWdlKHJlcyksXG4gICAgICAgIGR1cmF0aW9uLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29udGVudDoge1xuICAgICAgICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgICAgICAgUmVxdWVzdFVSSTogcmVxLnVybFdpdGhQYXJhbXMsXG4gICAgICAgICAgTWV0aG9kOiByZXEubWV0aG9kLFxuICAgICAgICAgIFJlcXVlc3RPYmplY3Q6IHtcbiAgICAgICAgICAgIFRpbWU6IHRoaXMudGltZS5mb3JtYXQocmVxLnJlcXVlc3RBdCksXG4gICAgICAgICAgICBIZWFkZXI6IHRoaXMuZ2V0QWxsSGVhZGVycyhyZXEuaGVhZGVycyksXG4gICAgICAgICAgICBCb2R5OiByZXEuYm9keSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIFJlc3BvbnNlT2JqZWN0OiB7XG4gICAgICAgICAgICBUaW1lOiB0aGlzLnRpbWUuZm9ybWF0KCksXG4gICAgICAgICAgICBSZWxhdGl2ZVRpbWU6IHRoaXMudGltZS5kaXN0YW5jZShyZXEucmVxdWVzdEF0KSxcbiAgICAgICAgICAgIFN0YXR1c0NvZGU6IHJlcy5zdGF0dXMsXG4gICAgICAgICAgICBIZWFkZXI6IHRoaXMuZ2V0QWxsSGVhZGVycyhyZXMuaGVhZGVycyksXG4gICAgICAgICAgICBCb2R5OiByZXNFcnJvcixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzZWNvbmRhcnk6IHRydWUsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlc0Vycm9yTWVzc2FnZShyZXM6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIHR5cGVvZiByZXMuZXJyb3IgPT09ICdzdHJpbmcnXG4gICAgICA/IHJlcy5lcnJvclxuICAgICAgOiAocmVzLnN0YXR1c1RleHQgPT09ICdPSycgJiYgcmVzLmVycm9yLm1lc3NhZ2UpIHx8XG4gICAgICAgICAgLy8gY29tcGF0aWJsZSB3aXRoIGxlZ2FjeSBBQ0UgQVBJXG4gICAgICAgICAgZ2V0KHJlcy5lcnJvciwgJ2Vycm9yc1swXS5tZXNzYWdlJykgfHxcbiAgICAgICAgICByZXMuc3RhdHVzVGV4dDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsSGVhZGVycyhoZWFkZXJzOiBIdHRwSGVhZGVycykge1xuICAgIHJldHVybiBoZWFkZXJzXG4gICAgICAua2V5cygpXG4gICAgICAucmVkdWNlPFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPj4oKGFjYywga2V5KSA9PiB7XG4gICAgICAgIGxldCB2YWx1ZXM6IHN0cmluZyB8IHN0cmluZ1tdID0gaGVhZGVycy5nZXRBbGwoa2V5KTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVzKSAmJiB2YWx1ZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgdmFsdWVzID0gdmFsdWVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIGFjY1trZXldID0gdmFsdWVzO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pO1xuICB9XG59XG4iXX0=