@posiwise/smart-crm 0.0.37 → 0.0.39

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 (84) hide show
  1. package/esm2022/lib/private/components/smart-crm-accounts/smart-crm-account-details/smart-crm-account-details.component.mjs +10 -10
  2. package/esm2022/lib/private/components/smart-crm-accounts/smart-crm-account-files/smart-crm-account-files.component.mjs +8 -8
  3. package/esm2022/lib/private/components/smart-crm-accounts/smart-crm-account-info/smart-crm-account-info.component.mjs +23 -23
  4. package/esm2022/lib/private/components/smart-crm-accounts/smart-crm-account-invoices/smart-crm-account-invoices.component.mjs +10 -10
  5. package/esm2022/lib/private/components/smart-crm-accounts/smart-crm-accounts.component.mjs +9 -9
  6. package/esm2022/lib/private/components/smart-crm-actions/smart-crm-actions.component.mjs +20 -18
  7. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions-details/smart-crm-actions-details.component.mjs +5 -5
  8. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions.component.mjs +5 -5
  9. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-configuration.component.mjs +4 -4
  10. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories-details/smart-crm-opportunity-categories-details.component.mjs +3 -3
  11. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories.component.mjs +6 -6
  12. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source-details/smart-crm-source-details.component.mjs +3 -3
  13. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source.component.mjs +9 -9
  14. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stage-details/smart-crm-stage-details.component.mjs +4 -4
  15. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stages.component.mjs +9 -9
  16. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets-details/smart-crm-widgets-details.component.mjs +3 -3
  17. package/esm2022/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets.component.mjs +8 -8
  18. package/esm2022/lib/private/components/smart-crm-contacts/smart-crm-contact-details/smart-crm-contact-details.component.mjs +8 -8
  19. package/esm2022/lib/private/components/smart-crm-contacts/smart-crm-contact-info/smart-crm-contact-info.component.mjs +17 -17
  20. package/esm2022/lib/private/components/smart-crm-contacts/smart-crm-contacts.component.mjs +13 -13
  21. package/esm2022/lib/private/components/smart-crm-customer/smart-crm-customer-success/smart-crm-customer-success.component.mjs +3 -3
  22. package/esm2022/lib/private/components/smart-crm-insight/smart-crm-account-insight/smart-crm-account-insight.component.mjs +3 -3
  23. package/esm2022/lib/private/components/smart-crm-insight/smart-crm-analysis-insight/smart-crm-analysis.component.mjs +3 -3
  24. package/esm2022/lib/private/components/smart-crm-insight/smart-crm-contact-insight/smart-crm-contact-insight.component.mjs +7 -7
  25. package/esm2022/lib/private/components/smart-crm-insight/smart-crm-insight.component.mjs +4 -4
  26. package/esm2022/lib/private/components/smart-crm-insight/smart-crm-marketing-insight/smart-crm-marketing-insight.component.mjs +5 -5
  27. package/esm2022/lib/private/components/smart-crm-insight/smart-crm-opportunities-insight/smart-crm-opportunities-insight.component.mjs +10 -10
  28. package/esm2022/lib/private/components/smart-crm-leads/smart-crm-leads-details/smart-crm-leads-details.component.mjs +6 -6
  29. package/esm2022/lib/private/components/smart-crm-leads/smart-crm-leads.component.mjs +7 -7
  30. package/esm2022/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-contacts/smart-crm-marketing-contacts.component.mjs +7 -7
  31. package/esm2022/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-details/smart-crm-marketing-details.component.mjs +6 -6
  32. package/esm2022/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-list.component.mjs +10 -10
  33. package/esm2022/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-view-details/smart-crm-marketing-view-details.component.mjs +3 -3
  34. package/esm2022/lib/private/components/smart-crm-opportunities/smart-crm-board/smart-crm-board.component.mjs +9 -9
  35. package/esm2022/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-details/smart-crm-opportunities-details.component.mjs +17 -17
  36. package/esm2022/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-info/smart-crm-opportunities-info.component.mjs +13 -11
  37. package/esm2022/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-list.component.mjs +10 -10
  38. package/esm2022/lib/private/components/smart-crm-tabs/smart-crm-tabs.component.mjs +3 -3
  39. package/esm2022/lib/private/smart-crm-private.module.mjs +33 -33
  40. package/esm2022/lib/private/smart-crm-private.routing.module.mjs +8 -8
  41. package/esm2022/lib/public/components/smart-crm-newsletter-confirmation/smart-crm-newsletter-confirmation.component.mjs +1 -1
  42. package/esm2022/lib/public/components/smart-crm-newsletter-unsubscribe/smart-crm-newsletter-unsubscribe.component.mjs +3 -3
  43. package/esm2022/lib/public/components/smart-crm-signup/smart-crm-signup.component.mjs +2 -2
  44. package/esm2022/lib/public/smart-crm-public.module.mjs +4 -4
  45. package/esm2022/lib/public/smart-crm-public.routing.module.mjs +1 -1
  46. package/fesm2022/posiwise-smart-crm.mjs +162 -159
  47. package/fesm2022/posiwise-smart-crm.mjs.map +1 -1
  48. package/lib/private/components/smart-crm-accounts/smart-crm-account-details/smart-crm-account-details.component.d.ts +16 -16
  49. package/lib/private/components/smart-crm-accounts/smart-crm-account-files/smart-crm-account-files.component.d.ts +12 -12
  50. package/lib/private/components/smart-crm-accounts/smart-crm-account-info/smart-crm-account-info.component.d.ts +46 -47
  51. package/lib/private/components/smart-crm-accounts/smart-crm-account-invoices/smart-crm-account-invoices.component.d.ts +10 -10
  52. package/lib/private/components/smart-crm-accounts/smart-crm-accounts.component.d.ts +12 -12
  53. package/lib/private/components/smart-crm-actions/smart-crm-actions.component.d.ts +15 -15
  54. package/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions-details/smart-crm-actions-details.component.d.ts +8 -8
  55. package/lib/private/components/smart-crm-configuration/smart-crm-actions/smart-crm-actions.component.d.ts +5 -5
  56. package/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories-details/smart-crm-opportunity-categories-details.component.d.ts +4 -4
  57. package/lib/private/components/smart-crm-configuration/smart-crm-opportunity-categories/smart-crm-opportunity-categories.component.d.ts +7 -7
  58. package/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source-details/smart-crm-source-details.component.d.ts +1 -1
  59. package/lib/private/components/smart-crm-configuration/smart-crm-source/smart-crm-source.component.d.ts +6 -6
  60. package/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stage-details/smart-crm-stage-details.component.d.ts +5 -5
  61. package/lib/private/components/smart-crm-configuration/smart-crm-stages/smart-crm-stages.component.d.ts +8 -8
  62. package/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets-details/smart-crm-widgets-details.component.d.ts +7 -7
  63. package/lib/private/components/smart-crm-configuration/smart-crm-widgets/smart-crm-widgets.component.d.ts +9 -9
  64. package/lib/private/components/smart-crm-contacts/smart-crm-contact-details/smart-crm-contact-details.component.d.ts +11 -11
  65. package/lib/private/components/smart-crm-contacts/smart-crm-contact-info/smart-crm-contact-info.component.d.ts +27 -27
  66. package/lib/private/components/smart-crm-contacts/smart-crm-contacts.component.d.ts +19 -19
  67. package/lib/private/components/smart-crm-insight/smart-crm-account-insight/smart-crm-account-insight.component.d.ts +19 -19
  68. package/lib/private/components/smart-crm-insight/smart-crm-analysis-insight/smart-crm-analysis.component.d.ts +7 -7
  69. package/lib/private/components/smart-crm-insight/smart-crm-contact-insight/smart-crm-contact-insight.component.d.ts +13 -13
  70. package/lib/private/components/smart-crm-insight/smart-crm-marketing-insight/smart-crm-marketing-insight.component.d.ts +8 -8
  71. package/lib/private/components/smart-crm-insight/smart-crm-opportunities-insight/smart-crm-opportunities-insight.component.d.ts +18 -18
  72. package/lib/private/components/smart-crm-leads/smart-crm-leads-details/smart-crm-leads-details.component.d.ts +6 -6
  73. package/lib/private/components/smart-crm-leads/smart-crm-leads.component.d.ts +9 -9
  74. package/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-contacts/smart-crm-marketing-contacts.component.d.ts +7 -7
  75. package/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-details/smart-crm-marketing-details.component.d.ts +10 -10
  76. package/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-list.component.d.ts +8 -8
  77. package/lib/private/components/smart-crm-marketing/smart-crm-marketing-list/smart-crm-marketing-view-details/smart-crm-marketing-view-details.component.d.ts +3 -3
  78. package/lib/private/components/smart-crm-opportunities/smart-crm-board/smart-crm-board.component.d.ts +10 -10
  79. package/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-details/smart-crm-opportunities-details.component.d.ts +23 -23
  80. package/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-info/smart-crm-opportunities-info.component.d.ts +27 -27
  81. package/lib/private/components/smart-crm-opportunities/smart-crm-opportunities-list/smart-crm-opportunities-list.component.d.ts +12 -12
  82. package/lib/private/components/smart-crm-tabs/smart-crm-tabs.component.d.ts +1 -1
  83. package/lib/public/components/smart-crm-newsletter-unsubscribe/smart-crm-newsletter-unsubscribe.component.d.ts +1 -1
  84. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  import { ChangeDetectorRef, Component, Injector } from '@angular/core';
2
- import { ROUTERS } from '../../../../shared/routers/routers';
3
- import { CrmService } from '@posiwise/smart-crm-shared';
4
- import { PAGE_SIZE } from '@posiwise/common-utilities';
5
2
  import { AppBaseComponent } from '@posiwise/app-base-component';
3
+ import { PAGE_SIZE } from '@posiwise/common-utilities';
6
4
  import { HelperService } from '@posiwise/helper-service';
5
+ import { CrmService } from '@posiwise/smart-crm-shared';
6
+ import { ROUTERS } from '../../../../shared/routers/routers';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@posiwise/smart-crm-shared";
9
9
  import * as i2 from "@angular/common";
@@ -22,6 +22,7 @@ export class SmartCrmActionsComponent extends AppBaseComponent {
22
22
  super(injector);
23
23
  this.crmService = crmService;
24
24
  this.cdr = cdr;
25
+ this.page = 1;
25
26
  this.data = {
26
27
  crm_actions: [],
27
28
  object_count: 0,
@@ -31,7 +32,6 @@ export class SmartCrmActionsComponent extends AppBaseComponent {
31
32
  this.loading = true;
32
33
  this.hasAccess = false;
33
34
  this.isLoaded = false;
34
- this.page = 1;
35
35
  this.routers = ROUTERS;
36
36
  }
37
37
  ngOnInit() {
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
115
115
  type: Component,
116
116
  args: [{ selector: 'pw-smart-crm-actions', template: "<div class=\"row\">\n <div class=\"col-12 mb-3\">\n <p>{{ 'Crm.Actions.Config.Description' | transloco }}</p>\n <a *ngIf=\"data.object_count === 0 && data.unfiltered_count === 0 && isLoaded\"\n class=\"btn btn-sm btn-outline-primary float-end build-default-action-button\"\n (click)=\"buildDefaultActions()\"\n data-cy=\"add-action\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i>\n {{ 'Crm.Settings.BuildDefaultAction' | transloco }}\n </a>\n <a *ngIf=\"hasAccess\"\n class=\"btn btn-sm btn-outline-primary float-end\"\n [routerLink]=\"['/' + subscription?.slug + routers.configurationDetails + 'add']\"\n data-cy=\"add-action\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i>\n {{ 'Crm.Settings.AddAction' | transloco }}\n </a>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"col-12\">\n <div class=\"primeng-datatable-container table-responsive\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #dt\n [value]=\"data.crm_actions\"\n [paginator]=\"data.object_count!==0\"\n [lazy]=\"true\"\n [rows]=\"100\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [customSort]=\"true\">\n <ng-template pTemplate=\"caption\">\n <div class=\"text-end\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search action...\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"mw-90\" />\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\" >\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"name\">\n {{ 'Crm.Settings.Name' | transloco }}\n <p-sortIcon field=\"name\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"target_week\">\n {{ 'Crm.Settings.TargetWeek' | transloco }}\n <p-sortIcon field=\"target_week\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"target_week_min\">\n {{ 'Crm.Settings.TargetWeekMin' | transloco }}\n <p-sortIcon field=\"target_week_min\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"visible\">\n {{ 'Crm.Settings.Visible' | transloco }}\n <p-sortIcon field=\"visible\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n *ngIf=\"hasAccess\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-action>\n <tr>\n <td data-head=\"Name\">{{ action.name }}</td>\n <td data-head=\"TargetWeek\">{{ action.target_week }}</td>\n <td data-head=\"TargetWeekMin\">{{ action.target_week_min }}</td>\n <td data-head=\"Visible\">\n <span [appDynamicBadge]=\"{\n itemsArray: [true, false],\n item: action?.visible\n }\"\n color=\"success-danger\"\n class=\"badge\">{{ !!action?.visible }}</span>\n </td>\n <td data-head=\"Action\"\n *ngIf=\"hasAccess\">\n <ul class=\"list-unstyled list-inline list-action\">\n <li ngbTooltip=\"Edit\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"[\n '/' + subscription?.slug + routers.configurationDetails,\n action.id\n ]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"Delete\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fa fa-trash delete-icon\"\n (keydown.enter)=\"onDeleteContact(contact.id)\"\n (keydown.space)=\"onDeleteContact(contact.id)\"\n (click)=\"onDelete(action.id)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n <div *ngIf=\"data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage'| transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n </div>\n <span class=\"total-records-count\" *ngIf=\"data.object_count!==0\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n </div>\n <div *ngIf=\"data.unfiltered_count === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Crm.Settings.NoActionMessage' | transloco\"> </pw-no-data>\n </div>\n </div>\n</div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.build-default-action-button{margin-left:7px}\n"] }]
117
117
  }], ctorParameters: () => [{ type: i1.CrmService }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLWFjdGlvbnMvc21hcnQtY3JtLWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLWFjdGlvbnMvc21hcnQtY3JtLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUdYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFNBQVMsRUFBd0IsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBT3pELE1BQU0sT0FBTyx3QkFDVCxTQUFRLGdCQUFnQjtJQTJCeEIsWUFDcUIsVUFBc0IsRUFDdkMsUUFBa0IsRUFDRCxHQUFzQjtRQUV2QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBM0IzQyxTQUFJLEdBQXNCO1lBQ3RCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RCLENBQUM7UUFJRixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFJZixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFVCxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBSWpCLFlBQU8sR0FBRyxPQUFPLENBQUM7SUFRbEIsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7WUFDN0IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoRSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQW9CO1FBQzNCLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixTQUFTLEVBQUUsU0FBUztZQUNwQixRQUFRLEVBQUUsV0FBVyxDQUFDLFNBQVM7WUFDL0IsZUFBZSxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQ3RDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtTQUMxQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELCtDQUErQztJQUN2QyxVQUFVLENBQUMsTUFBYztRQUM3QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxVQUFVO3FCQUNWLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQztxQkFDMUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixDQUFDLENBQUM7cUJBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE1BQWM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEUsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsU0FBUyxFQUFFLFNBQVM7YUFDdkIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxRQUFRLENBQUMsRUFBVTtRQUNmLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRTthQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNuRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDZCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUM1RCxDQUFDO29CQUNGLElBQUksQ0FBQyxVQUFVLENBQUM7d0JBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO3dCQUNmLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7cUJBQzFCLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFUSxXQUFXO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQXZIUSx3QkFBd0I7bUdBQXhCLHdCQUF3QixtRkN0QnJDLHM3S0E0SEE7OzRGRHRHYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgQ3JtU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9zbWFydC1jcm0tc2hhcmVkJztcbmltcG9ydCB7IExhenlMb2FkRXZlbnQgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7IFBBR0VfU0laRSwgUGFnaW5nLCBTdWJzY3JpcHRpb24gfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBDcm1BY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2UvY3JtLWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctc21hcnQtY3JtLWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1jcm0tYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc21hcnQtY3JtLWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTbWFydENybUFjdGlvbnNDb21wb25lbnRcbiAgICBleHRlbmRzIEFwcEJhc2VDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkXG57XG4gICAgZGF0YTogQ3JtQWN0aW9uUmVzcG9uc2UgPSB7XG4gICAgICAgIGNybV9hY3Rpb25zOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBsb2FkaW5nID0gdHJ1ZTtcblxuICAgIHVzZXJJZDogbnVtYmVyO1xuXG4gICAgaGFzQWNjZXNzID0gZmFsc2U7XG5cbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcm91dGVycyA9IFJPVVRFUlM7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjcm1TZXJ2aWNlOiBDcm1TZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0VXNlclN1YnNjcmlwdGlvbigpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uPy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzQWNjZXNzID0gdGhpcy5oYXNBZG1pbkFjY2Vzcyh0aGlzLnN1YnNjcmlwdGlvbj8uaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldEFjdGlvbnMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICBvcmRlcl9ieTogcGFnZURldGFpbHMuc29ydEZpZWxkLFxuICAgICAgICAgICAgb3JkZXJfZGlyZWN0aW9uOiBwYWdlRGV0YWlscy5zb3J0T3JkZXIsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaG91bGRTaG93VGFibGVDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnVuZmlsdGVyZWRfY291bnQgIT09IDA7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBhbmQgc2hvdyBhbGwgdGhlIGFjdGlvbnMgKi9cbiAgICBwcml2YXRlIGdldEFjdGlvbnMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5nZXRVc2VyU3Vic2NyaXB0aW9uSWQoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNybVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmdldEFsbEFjdGlvbnModGhpcy5zdWJzY3JpcHRpb25JZCwgcGFnaW5nKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGludm9rZUdldEFjdGlvbnMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5nZXRBY3Rpb25zKHBhZ2luZyk7XG4gICAgfVxuXG4gICAgYnVpbGREZWZhdWx0QWN0aW9ucygpIHtcbiAgICAgICAgdGhpcy5jcm1TZXJ2aWNlLmJ1aWxkRGVmYXVsdEFjdGlvbnModGhpcy5zdWJzY3JpcHRpb24/LmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRBY3Rpb25zKHtcbiAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdDcm0uQ29tbW9uTWVzc2FnZS5BZGRlZE1lc3NhZ2UnKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBGdW5jdGlvbiB0byBkZWxldGUgZXhpc3Rpbmcgc2V0dGluZyAqL1xuICAgIG9uRGVsZXRlKGlkOiBudW1iZXIpIHtcbiAgICAgICAgSGVscGVyU2VydmljZS5yYWlzZURlbGV0ZVBvcHVwKClcbiAgICAgICAgICAgIC50aGVuKHJlc3AgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JtU2VydmljZS5kZWxldGVBY3Rpb24odGhpcy5zdWJzY3JpcHRpb24/LmlkLCBpZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQ3JtLlNldHRpbmdzLkRlbGV0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFjdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4gdGhpcy50b2FzdC5zaG93VG9hc3QoZXJyb3IpKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItM1wiPlxuICAgIDxwPnt7ICdDcm0uQWN0aW9ucy5Db25maWcuRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvIH19PC9wPlxuICAgIDxhICpuZ0lmPVwiZGF0YS5vYmplY3RfY291bnQgPT09IDAgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwICYmIGlzTG9hZGVkXCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1wcmltYXJ5IGZsb2F0LWVuZCBidWlsZC1kZWZhdWx0LWFjdGlvbi1idXR0b25cIlxuICAgICAgKGNsaWNrKT1cImJ1aWxkRGVmYXVsdEFjdGlvbnMoKVwiXG4gICAgICBkYXRhLWN5PVwiYWRkLWFjdGlvblwiPlxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgIHt7ICdDcm0uU2V0dGluZ3MuQnVpbGREZWZhdWx0QWN0aW9uJyB8IHRyYW5zbG9jbyB9fVxuICAgIDwvYT5cbiAgICA8YSAqbmdJZj1cImhhc0FjY2Vzc1wiXG4gICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeSBmbG9hdC1lbmRcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiWycvJyArIHN1YnNjcmlwdGlvbj8uc2x1ZyArIHJvdXRlcnMuY29uZmlndXJhdGlvbkRldGFpbHMgKyAnYWRkJ11cIlxuICAgICAgZGF0YS1jeT1cImFkZC1hY3Rpb25cIj5cbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICB7eyAnQ3JtLlNldHRpbmdzLkFkZEFjdGlvbicgfCB0cmFuc2xvY28gfX1cbiAgICA8L2E+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICAgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciB0YWJsZS1yZXNwb25zaXZlXCJcbiAgICBbY2xhc3MuaGlkZVRhYmxlXT1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMFwiPlxuICAgICAgPHAtdGFibGUgI2R0XG4gICAgICAgIFt2YWx1ZV09XCJkYXRhLmNybV9hY3Rpb25zXCJcbiAgICAgICAgW3BhZ2luYXRvcl09XCJkYXRhLm9iamVjdF9jb3VudCE9PTBcIlxuICAgICAgICBbbGF6eV09XCJ0cnVlXCJcbiAgICAgICAgW3Jvd3NdPVwiMTAwXCJcbiAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJkYXRhLm9iamVjdF9jb3VudFwiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICBbZmlsdGVyRGVsYXldPVwiMTAwMFwiXG4gICAgICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiXG4gICAgICAgIFtjdXN0b21Tb3J0XT1cInRydWVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmRcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIG10LTIgbWUtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYWN0aW9uLi4uXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXctOTBcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiA+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cIm5hbWVcIj5cbiAgICAgICAgICAgICAgICB7eyAnQ3JtLlNldHRpbmdzLk5hbWUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJuYW1lXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ0YXJnZXRfd2Vla1wiPlxuICAgICAgICAgICAgICAgIHt7ICdDcm0uU2V0dGluZ3MuVGFyZ2V0V2VlaycgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInRhcmdldF93ZWVrXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ0YXJnZXRfd2Vla19taW5cIj5cbiAgICAgICAgICAgICAgICB7eyAnQ3JtLlNldHRpbmdzLlRhcmdldFdlZWtNaW4nIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJ0YXJnZXRfd2Vla19taW5cIj48L3Atc29ydEljb24+XG4gICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInZpc2libGVcIj5cbiAgICAgICAgICAgICAgICB7eyAnQ3JtLlNldHRpbmdzLlZpc2libGUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJ2aXNpYmxlXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0FjY2Vzc1wiPnt7ICdMYWJlbC5BY3Rpb25zJyB8IHRyYW5zbG9jbyB9fTwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCJcbiAgICAgICAgICBsZXQtYWN0aW9uPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJOYW1lXCI+e3sgYWN0aW9uLm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlRhcmdldFdlZWtcIj57eyBhY3Rpb24udGFyZ2V0X3dlZWsgfX08L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlRhcmdldFdlZWtNaW5cIj57eyBhY3Rpb24udGFyZ2V0X3dlZWtfbWluIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJWaXNpYmxlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIFthcHBEeW5hbWljQmFkZ2VdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNBcnJheTogW3RydWUsIGZhbHNlXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IGFjdGlvbj8udmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInN1Y2Nlc3MtZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlXCI+e3sgISFhY3Rpb24/LnZpc2libGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkFjdGlvblwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaGFzQWNjZXNzXCI+XG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbGlzdC1pbmxpbmUgbGlzdC1hY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIkVkaXRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIlxuICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN1YnNjcmlwdGlvbj8uc2x1ZyArIHJvdXRlcnMuY29uZmlndXJhdGlvbkRldGFpbHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uLmlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgZWRpdC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJEZWxldGVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25EZWxldGVDb250YWN0KGNvbnRhY3QuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkRlbGV0ZUNvbnRhY3QoY29udGFjdC5pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShhY3Rpb24uaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9wLXRhYmxlPlxuICAgICAgPGRpdiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ID09PSAwICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCAhPT0gMFwiPlxuICAgICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInU2VhcmNoLk5vRGF0YU1lc3NhZ2UnfCB0cmFuc2xvY29cIiBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIiA+XG4gICAgPC9wdy1uby1kYXRhPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50IT09MFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7IGRhdGEub2JqZWN0X2NvdW50IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDAgJiYgaXNMb2FkZWRcIj5cbiAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidDcm0uU2V0dGluZ3MuTm9BY3Rpb25NZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLWFjdGlvbnMvc21hcnQtY3JtLWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLWFjdGlvbnMvc21hcnQtY3JtLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUdYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQXdCLE1BQU0sNEJBQTRCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUt4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTzdELE1BQU0sT0FBTyx3QkFDVCxTQUFRLGdCQUFnQjtJQXVCeEIsWUFDcUIsVUFBc0IsRUFDdkMsUUFBa0IsRUFDRCxHQUFzQjtRQUV2QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdkJuQyxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLFNBQUksR0FBc0I7WUFDdEIsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsQ0FBQztZQUNmLGdCQUFnQixFQUFFLENBQUM7U0FDdEIsQ0FBQztRQU1GLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFFaEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixZQUFPLEdBQUcsT0FBTyxDQUFDO0lBUWxCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1lBQzdCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEUsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLFNBQVM7WUFDcEIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQy9CLGVBQWUsRUFBRSxXQUFXLENBQUMsU0FBUztZQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDMUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCwrQ0FBK0M7SUFDdkMsVUFBVSxDQUFDLE1BQWM7UUFDN0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDO1lBQy9CLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsVUFBVTtxQkFDVixhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUM7cUJBQzFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDckIsQ0FBQyxDQUFDO3FCQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixDQUFDLENBQUMsQ0FBQztZQUNYLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFNBQVMsRUFBRSxTQUFTO2FBQ3ZCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsUUFBUSxDQUFDLEVBQVU7UUFDZixhQUFhLENBQUMsZ0JBQWdCLEVBQUU7YUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDbkUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FDNUQsQ0FBQztvQkFDRixJQUFJLENBQUMsVUFBVSxDQUFDO3dCQUNaLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixTQUFTLEVBQUUsU0FBUzt3QkFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO3FCQUMxQixDQUFDLENBQUM7Z0JBQ1AsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRVEsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FuSFEsd0JBQXdCO21HQUF4Qix3QkFBd0IsbUZDeEJyQyxzN0tBNEhBOzs0RkRwR2Esd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUEFHRV9TSVpFLCBQYWdpbmcsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JtU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9zbWFydC1jcm0tc2hhcmVkJztcblxuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgQ3JtQWN0aW9uUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2NybS1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFJPVVRFUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvcm91dGVycy9yb3V0ZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1zbWFydC1jcm0tYWN0aW9ucycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWNybS1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zbWFydC1jcm0tYWN0aW9ucy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0Q3JtQWN0aW9uc0NvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgICBwcml2YXRlIHBhZ2UgPSAxO1xuXG4gICAgZGF0YTogQ3JtQWN0aW9uUmVzcG9uc2UgPSB7XG4gICAgICAgIGNybV9hY3Rpb25zOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG4gICAgdXNlcklkOiBudW1iZXI7XG5cbiAgICBzZWFyY2hUZXh0ID0gJyc7XG5cbiAgICBsb2FkaW5nID0gdHJ1ZTtcbiAgICBoYXNBY2Nlc3MgPSBmYWxzZTtcbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgcm91dGVycyA9IFJPVVRFUlM7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjcm1TZXJ2aWNlOiBDcm1TZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0VXNlclN1YnNjcmlwdGlvbigpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uPy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzQWNjZXNzID0gdGhpcy5oYXNBZG1pbkFjY2Vzcyh0aGlzLnN1YnNjcmlwdGlvbj8uaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldEFjdGlvbnMoe1xuICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICBvcmRlcl9ieTogcGFnZURldGFpbHMuc29ydEZpZWxkLFxuICAgICAgICAgICAgb3JkZXJfZGlyZWN0aW9uOiBwYWdlRGV0YWlscy5zb3J0T3JkZXIsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaG91bGRTaG93VGFibGVDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnVuZmlsdGVyZWRfY291bnQgIT09IDA7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBhbmQgc2hvdyBhbGwgdGhlIGFjdGlvbnMgKi9cbiAgICBwcml2YXRlIGdldEFjdGlvbnMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5nZXRVc2VyU3Vic2NyaXB0aW9uSWQoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNybVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmdldEFsbEFjdGlvbnModGhpcy5zdWJzY3JpcHRpb25JZCwgcGFnaW5nKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGludm9rZUdldEFjdGlvbnMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5nZXRBY3Rpb25zKHBhZ2luZyk7XG4gICAgfVxuXG4gICAgYnVpbGREZWZhdWx0QWN0aW9ucygpIHtcbiAgICAgICAgdGhpcy5jcm1TZXJ2aWNlLmJ1aWxkRGVmYXVsdEFjdGlvbnModGhpcy5zdWJzY3JpcHRpb24/LmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRBY3Rpb25zKHtcbiAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdDcm0uQ29tbW9uTWVzc2FnZS5BZGRlZE1lc3NhZ2UnKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBGdW5jdGlvbiB0byBkZWxldGUgZXhpc3Rpbmcgc2V0dGluZyAqL1xuICAgIG9uRGVsZXRlKGlkOiBudW1iZXIpIHtcbiAgICAgICAgSGVscGVyU2VydmljZS5yYWlzZURlbGV0ZVBvcHVwKClcbiAgICAgICAgICAgIC50aGVuKHJlc3AgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JtU2VydmljZS5kZWxldGVBY3Rpb24odGhpcy5zdWJzY3JpcHRpb24/LmlkLCBpZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQ3JtLlNldHRpbmdzLkRlbGV0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFjdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4gdGhpcy50b2FzdC5zaG93VG9hc3QoZXJyb3IpKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItM1wiPlxuICAgIDxwPnt7ICdDcm0uQWN0aW9ucy5Db25maWcuRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvIH19PC9wPlxuICAgIDxhICpuZ0lmPVwiZGF0YS5vYmplY3RfY291bnQgPT09IDAgJiYgZGF0YS51bmZpbHRlcmVkX2NvdW50ID09PSAwICYmIGlzTG9hZGVkXCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1wcmltYXJ5IGZsb2F0LWVuZCBidWlsZC1kZWZhdWx0LWFjdGlvbi1idXR0b25cIlxuICAgICAgKGNsaWNrKT1cImJ1aWxkRGVmYXVsdEFjdGlvbnMoKVwiXG4gICAgICBkYXRhLWN5PVwiYWRkLWFjdGlvblwiPlxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzLWNpcmNsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgIHt7ICdDcm0uU2V0dGluZ3MuQnVpbGREZWZhdWx0QWN0aW9uJyB8IHRyYW5zbG9jbyB9fVxuICAgIDwvYT5cbiAgICA8YSAqbmdJZj1cImhhc0FjY2Vzc1wiXG4gICAgICBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeSBmbG9hdC1lbmRcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiWycvJyArIHN1YnNjcmlwdGlvbj8uc2x1ZyArIHJvdXRlcnMuY29uZmlndXJhdGlvbkRldGFpbHMgKyAnYWRkJ11cIlxuICAgICAgZGF0YS1jeT1cImFkZC1hY3Rpb25cIj5cbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICB7eyAnQ3JtLlNldHRpbmdzLkFkZEFjdGlvbicgfCB0cmFuc2xvY28gfX1cbiAgICA8L2E+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICAgKm5nSWY9XCIhaXNMb2FkZWRcIj5cbiAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgPGRpdiBjbGFzcz1cInByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciB0YWJsZS1yZXNwb25zaXZlXCJcbiAgICBbY2xhc3MuaGlkZVRhYmxlXT1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMFwiPlxuICAgICAgPHAtdGFibGUgI2R0XG4gICAgICAgIFt2YWx1ZV09XCJkYXRhLmNybV9hY3Rpb25zXCJcbiAgICAgICAgW3BhZ2luYXRvcl09XCJkYXRhLm9iamVjdF9jb3VudCE9PTBcIlxuICAgICAgICBbbGF6eV09XCJ0cnVlXCJcbiAgICAgICAgW3Jvd3NdPVwiMTAwXCJcbiAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJkYXRhLm9iamVjdF9jb3VudFwiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICBbZmlsdGVyRGVsYXldPVwiMTAwMFwiXG4gICAgICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiXG4gICAgICAgIFtjdXN0b21Tb3J0XT1cInRydWVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmRcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIG10LTIgbWUtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYWN0aW9uLi4uXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXctOTBcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiA+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cIm5hbWVcIj5cbiAgICAgICAgICAgICAgICB7eyAnQ3JtLlNldHRpbmdzLk5hbWUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJuYW1lXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ0YXJnZXRfd2Vla1wiPlxuICAgICAgICAgICAgICAgIHt7ICdDcm0uU2V0dGluZ3MuVGFyZ2V0V2VlaycgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInRhcmdldF93ZWVrXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJ0YXJnZXRfd2Vla19taW5cIj5cbiAgICAgICAgICAgICAgICB7eyAnQ3JtLlNldHRpbmdzLlRhcmdldFdlZWtNaW4nIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJ0YXJnZXRfd2Vla19taW5cIj48L3Atc29ydEljb24+XG4gICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cInZpc2libGVcIj5cbiAgICAgICAgICAgICAgICB7eyAnQ3JtLlNldHRpbmdzLlZpc2libGUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJ2aXNpYmxlXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0FjY2Vzc1wiPnt7ICdMYWJlbC5BY3Rpb25zJyB8IHRyYW5zbG9jbyB9fTwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCJcbiAgICAgICAgICBsZXQtYWN0aW9uPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJOYW1lXCI+e3sgYWN0aW9uLm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlRhcmdldFdlZWtcIj57eyBhY3Rpb24udGFyZ2V0X3dlZWsgfX08L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlRhcmdldFdlZWtNaW5cIj57eyBhY3Rpb24udGFyZ2V0X3dlZWtfbWluIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJWaXNpYmxlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIFthcHBEeW5hbWljQmFkZ2VdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNBcnJheTogW3RydWUsIGZhbHNlXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IGFjdGlvbj8udmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInN1Y2Nlc3MtZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlXCI+e3sgISFhY3Rpb24/LnZpc2libGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkFjdGlvblwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaGFzQWNjZXNzXCI+XG4gICAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgbGlzdC1pbmxpbmUgbGlzdC1hY3Rpb25cIj5cbiAgICAgICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIkVkaXRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIlxuICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN1YnNjcmlwdGlvbj8uc2x1ZyArIHJvdXRlcnMuY29uZmlndXJhdGlvbkRldGFpbHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uLmlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgZWRpdC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJEZWxldGVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25EZWxldGVDb250YWN0KGNvbnRhY3QuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkRlbGV0ZUNvbnRhY3QoY29udGFjdC5pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShhY3Rpb24uaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9wLXRhYmxlPlxuICAgICAgPGRpdiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ID09PSAwICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCAhPT0gMFwiPlxuICAgICAgICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInU2VhcmNoLk5vRGF0YU1lc3NhZ2UnfCB0cmFuc2xvY29cIiBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIiA+XG4gICAgPC9wdy1uby1kYXRhPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50IT09MFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7IGRhdGEub2JqZWN0X2NvdW50IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDAgJiYgaXNMb2FkZWRcIj5cbiAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidDcm0uU2V0dGluZ3MuTm9BY3Rpb25NZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Component, Injector } from '@angular/core';
2
- import { ROUTERS } from '../../../shared/routers/routers';
3
2
  import { AppBaseComponent } from '@posiwise/app-base-component';
3
+ import { ROUTERS } from '../../../shared/routers/routers';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@posiwise/directives";
6
6
  import * as i2 from "@ng-bootstrap/ng-bootstrap";
@@ -26,10 +26,10 @@ export class SmartCrmConfigurationComponent extends AppBaseComponent {
26
26
  });
27
27
  }
28
28
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartCrmConfigurationComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartCrmConfigurationComponent, selector: "pw-configuration", usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-12 mb-0\">\n <h2>CRM Configuration</h2>\n </div>\n</div>\n<ul ngbNav\n #nav=\"ngbNav\"\n [(activeId)]=\"activeTab\"\n (navChange)=\"onTabChange($event)\"\n class=\"nav-tabs\">\n <li [ngbNavItem]=\"'actions'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Actions</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-actions></pw-smart-crm-actions>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'categories'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Categories</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-opportunity-categories></pw-smart-crm-opportunity-categories>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'stage'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Stages</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-stages></pw-smart-crm-stages>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'source'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Sources</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-source></pw-smart-crm-source>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'widget'\"\n *rbacAllow=\"'SubscriptionAdmin' && 'SuperAdmin'\">\n <a ngbNavLink>Widgets</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-widgets></pw-smart-crm-widgets>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'admin'\"\n *rbacAllow=\"'SubscriptionAdmin' && 'SuperAdmin'\">\n <a ngbNavLink>Admin</a>\n <ng-template ngbNavContent>\n <pw-coming-soon message=\"Admin\"></pw-coming-soon>\n </ng-template>\n </li>\n</ul>\n\n<div [ngbNavOutlet]=\"nav\"></div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}\n"], dependencies: [{ kind: "directive", type: i1.RbacAllowDirective, selector: "[rbacAllow]", inputs: ["rbacAllow"] }, { kind: "directive", type: i2.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i2.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i2.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i2.NgbNavItemRole, selector: "[ngbNavItem]:not(ng-container)" }, { kind: "directive", type: i2.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "directive", type: i2.NgbNavLinkBase, selector: "[ngbNavLink]" }, { kind: "component", type: i2.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "component", type: i3.ComingSoonComponent, selector: "pw-coming-soon", inputs: ["message"] }, { kind: "component", type: i4.SmartCrmCompanySourceComponent, selector: "pw-smart-crm-source" }, { kind: "component", type: i5.SmartCrmWidgetsComponent, selector: "pw-smart-crm-widgets" }, { kind: "component", type: i6.SmartCrmActionsComponent, selector: "pw-smart-crm-actions" }, { kind: "component", type: i7.SmartCrmStagesComponent, selector: "pw-smart-crm-stages" }, { kind: "component", type: i8.SmartCrmOpportunityCategoriesComponent, selector: "pw-smart-crm-opportunity-categories" }] }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartCrmConfigurationComponent, selector: "pw-configuration", usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-12 mb-0\">\n <h2>CRM Configuration</h2>\n </div>\n</div>\n<ul ngbNav\n #nav=\"ngbNav\"\n [(activeId)]=\"activeTab\"\n (navChange)=\"onTabChange($event)\"\n class=\"nav-tabs\">\n <li [ngbNavItem]=\"'actions'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Actions</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-actions></pw-smart-crm-actions>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'categories'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Categories</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-opportunity-categories></pw-smart-crm-opportunity-categories>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'stage'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Stages</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-stages></pw-smart-crm-stages>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'source'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Sources</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-source></pw-smart-crm-source>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'widget'\"\n *rbacAllow=\"'SuperAdmin'\">\n <a ngbNavLink>Widgets</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-widgets></pw-smart-crm-widgets>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'admin'\"\n *rbacAllow=\"'SuperAdmin'\">\n <a ngbNavLink>Admin</a>\n <ng-template ngbNavContent>\n <pw-coming-soon message=\"Admin\"></pw-coming-soon>\n </ng-template>\n </li>\n</ul>\n\n<div [ngbNavOutlet]=\"nav\"></div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}\n"], dependencies: [{ kind: "directive", type: i1.RbacAllowDirective, selector: "[rbacAllow]", inputs: ["rbacAllow"] }, { kind: "directive", type: i2.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i2.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i2.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i2.NgbNavItemRole, selector: "[ngbNavItem]:not(ng-container)" }, { kind: "directive", type: i2.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "directive", type: i2.NgbNavLinkBase, selector: "[ngbNavLink]" }, { kind: "component", type: i2.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "component", type: i3.ComingSoonComponent, selector: "pw-coming-soon", inputs: ["message"] }, { kind: "component", type: i4.SmartCrmCompanySourceComponent, selector: "pw-smart-crm-source" }, { kind: "component", type: i5.SmartCrmWidgetsComponent, selector: "pw-smart-crm-widgets" }, { kind: "component", type: i6.SmartCrmActionsComponent, selector: "pw-smart-crm-actions" }, { kind: "component", type: i7.SmartCrmStagesComponent, selector: "pw-smart-crm-stages" }, { kind: "component", type: i8.SmartCrmOpportunityCategoriesComponent, selector: "pw-smart-crm-opportunity-categories" }] }); }
30
30
  }
31
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartCrmConfigurationComponent, decorators: [{
32
32
  type: Component,
33
- args: [{ selector: 'pw-configuration', template: "<div class=\"row\">\n <div class=\"col-12 mb-0\">\n <h2>CRM Configuration</h2>\n </div>\n</div>\n<ul ngbNav\n #nav=\"ngbNav\"\n [(activeId)]=\"activeTab\"\n (navChange)=\"onTabChange($event)\"\n class=\"nav-tabs\">\n <li [ngbNavItem]=\"'actions'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Actions</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-actions></pw-smart-crm-actions>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'categories'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Categories</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-opportunity-categories></pw-smart-crm-opportunity-categories>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'stage'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Stages</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-stages></pw-smart-crm-stages>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'source'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Sources</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-source></pw-smart-crm-source>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'widget'\"\n *rbacAllow=\"'SubscriptionAdmin' && 'SuperAdmin'\">\n <a ngbNavLink>Widgets</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-widgets></pw-smart-crm-widgets>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'admin'\"\n *rbacAllow=\"'SubscriptionAdmin' && 'SuperAdmin'\">\n <a ngbNavLink>Admin</a>\n <ng-template ngbNavContent>\n <pw-coming-soon message=\"Admin\"></pw-coming-soon>\n </ng-template>\n </li>\n</ul>\n\n<div [ngbNavOutlet]=\"nav\"></div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}\n"] }]
33
+ args: [{ selector: 'pw-configuration', template: "<div class=\"row\">\n <div class=\"col-12 mb-0\">\n <h2>CRM Configuration</h2>\n </div>\n</div>\n<ul ngbNav\n #nav=\"ngbNav\"\n [(activeId)]=\"activeTab\"\n (navChange)=\"onTabChange($event)\"\n class=\"nav-tabs\">\n <li [ngbNavItem]=\"'actions'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Actions</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-actions></pw-smart-crm-actions>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'categories'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Categories</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-opportunity-categories></pw-smart-crm-opportunity-categories>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'stage'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Stages</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-stages></pw-smart-crm-stages>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'source'\"\n *rbacAllow=\"'SubscriptionAdmin'\">\n <a ngbNavLink>Sources</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-source></pw-smart-crm-source>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'widget'\"\n *rbacAllow=\"'SuperAdmin'\">\n <a ngbNavLink>Widgets</a>\n <ng-template ngbNavContent>\n <pw-smart-crm-widgets></pw-smart-crm-widgets>\n </ng-template>\n </li>\n\n <li [ngbNavItem]=\"'admin'\"\n *rbacAllow=\"'SuperAdmin'\">\n <a ngbNavLink>Admin</a>\n <ng-template ngbNavContent>\n <pw-coming-soon message=\"Admin\"></pw-coming-soon>\n </ng-template>\n </li>\n</ul>\n\n<div [ngbNavOutlet]=\"nav\"></div>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}\n"] }]
34
34
  }], ctorParameters: () => [{ type: i0.Injector }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7O0FBT2hFLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxnQkFBZ0I7SUFHaEUsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIcEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztJQUl0QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FqQlEsOEJBQThCO21HQUE5Qiw4QkFBOEIsK0VDVjNDLHFvREE0REE7OzRGRGxEYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0ksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1jb25maWd1cmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NtYXJ0LWNybS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU21hcnRDcm1Db25maWd1cmF0aW9uQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgYWN0aXZlVGFiID0gJ2FjdGlvbnMnO1xuXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSBkYXRhWyd0YWJJZCddIHx8ICdhY3Rpb25zJztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25UYWJDaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5nZXRVc2VyU3Vic2NyaXB0aW9uKCkuc3Vic2NyaWJlKHN1YnNjcmlwdGlvbiA9PiB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYCR7c3Vic2NyaXB0aW9uLnNsdWd9JHtST1VURVJTLmNvbmZpZ3VyYXRpb25zfSR7ZXZlbnQubmV4dElkfWBdKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTBcIj5cbiAgICA8aDI+Q1JNIENvbmZpZ3VyYXRpb248L2gyPlxuICA8L2Rpdj5cbjwvZGl2PlxuPHVsIG5nYk5hdlxuICAjbmF2PVwibmdiTmF2XCJcbiAgWyhhY3RpdmVJZCldPVwiYWN0aXZlVGFiXCJcbiAgKG5hdkNoYW5nZSk9XCJvblRhYkNoYW5nZSgkZXZlbnQpXCJcbiAgY2xhc3M9XCJuYXYtdGFic1wiPlxuICA8bGkgW25nYk5hdkl0ZW1dPVwiJ2FjdGlvbnMnXCJcbiAgICAqcmJhY0FsbG93PVwiJ1N1YnNjcmlwdGlvbkFkbWluJ1wiPlxuICAgIDxhIG5nYk5hdkxpbms+QWN0aW9uczwvYT5cbiAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cbiAgICAgIDxwdy1zbWFydC1jcm0tYWN0aW9ucz48L3B3LXNtYXJ0LWNybS1hY3Rpb25zPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG5cbiAgPGxpIFtuZ2JOYXZJdGVtXT1cIidjYXRlZ29yaWVzJ1wiXG4gICAgKnJiYWNBbGxvdz1cIidTdWJzY3JpcHRpb25BZG1pbidcIj5cbiAgICA8YSBuZ2JOYXZMaW5rPkNhdGVnb3JpZXM8L2E+XG4gICAgPG5nLXRlbXBsYXRlIG5nYk5hdkNvbnRlbnQ+XG4gICAgICA8cHctc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXM+PC9wdy1zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xpPlxuXG4gIDxsaSBbbmdiTmF2SXRlbV09XCInc3RhZ2UnXCJcbiAgICAqcmJhY0FsbG93PVwiJ1N1YnNjcmlwdGlvbkFkbWluJ1wiPlxuICAgIDxhIG5nYk5hdkxpbms+U3RhZ2VzPC9hPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ2JOYXZDb250ZW50PlxuICAgICAgPHB3LXNtYXJ0LWNybS1zdGFnZXM+PC9wdy1zbWFydC1jcm0tc3RhZ2VzPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG5cbiAgPGxpIFtuZ2JOYXZJdGVtXT1cIidzb3VyY2UnXCJcbiAgICAqcmJhY0FsbG93PVwiJ1N1YnNjcmlwdGlvbkFkbWluJ1wiPlxuICAgIDxhIG5nYk5hdkxpbms+U291cmNlczwvYT5cbiAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cbiAgICAgIDxwdy1zbWFydC1jcm0tc291cmNlPjwvcHctc21hcnQtY3JtLXNvdXJjZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xpPlxuXG4gIDxsaSBbbmdiTmF2SXRlbV09XCInd2lkZ2V0J1wiXG4gICAgKnJiYWNBbGxvdz1cIidTdWJzY3JpcHRpb25BZG1pbicgJiYgJ1N1cGVyQWRtaW4nXCI+XG4gICAgPGEgbmdiTmF2TGluaz5XaWRnZXRzPC9hPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ2JOYXZDb250ZW50PlxuICAgICAgPHB3LXNtYXJ0LWNybS13aWRnZXRzPjwvcHctc21hcnQtY3JtLXdpZGdldHM+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cblxuICA8bGkgW25nYk5hdkl0ZW1dPVwiJ2FkbWluJ1wiXG4gICAgKnJiYWNBbGxvdz1cIidTdWJzY3JpcHRpb25BZG1pbicgJiYgJ1N1cGVyQWRtaW4nXCI+XG4gICAgPGEgbmdiTmF2TGluaz5BZG1pbjwvYT5cbiAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cbiAgICAgIDxwdy1jb21pbmctc29vbiBtZXNzYWdlPVwiQWRtaW5cIj48L3B3LWNvbWluZy1zb29uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG48L3VsPlxuXG48ZGl2IFtuZ2JOYXZPdXRsZXRdPVwibmF2XCI+PC9kaXY+XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7O0FBTzFELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxnQkFBZ0I7SUFHaEUsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIcEIsY0FBUyxHQUFHLFNBQVMsQ0FBQztJQUl0QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FqQlEsOEJBQThCO21HQUE5Qiw4QkFBOEIsK0VDWDNDLHVsREE0REE7OzRGRGpEYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0ksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcblxuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWNvbmZpZ3VyYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1jcm0tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTbWFydENybUNvbmZpZ3VyYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBhY3RpdmVUYWIgPSAnYWN0aW9ucyc7XG5cbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYiA9IGRhdGFbJ3RhYklkJ10gfHwgJ2FjdGlvbnMnO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblRhYkNoYW5nZShldmVudCkge1xuICAgICAgICB0aGlzLmdldFVzZXJTdWJzY3JpcHRpb24oKS5zdWJzY3JpYmUoc3Vic2NyaXB0aW9uID0+IHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgJHtzdWJzY3JpcHRpb24uc2x1Z30ke1JPVVRFUlMuY29uZmlndXJhdGlvbnN9JHtldmVudC5uZXh0SWR9YF0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItMFwiPlxuICAgIDxoMj5DUk0gQ29uZmlndXJhdGlvbjwvaDI+XG4gIDwvZGl2PlxuPC9kaXY+XG48dWwgbmdiTmF2XG4gICNuYXY9XCJuZ2JOYXZcIlxuICBbKGFjdGl2ZUlkKV09XCJhY3RpdmVUYWJcIlxuICAobmF2Q2hhbmdlKT1cIm9uVGFiQ2hhbmdlKCRldmVudClcIlxuICBjbGFzcz1cIm5hdi10YWJzXCI+XG4gIDxsaSBbbmdiTmF2SXRlbV09XCInYWN0aW9ucydcIlxuICAgICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uQWRtaW4nXCI+XG4gICAgPGEgbmdiTmF2TGluaz5BY3Rpb25zPC9hPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ2JOYXZDb250ZW50PlxuICAgICAgPHB3LXNtYXJ0LWNybS1hY3Rpb25zPjwvcHctc21hcnQtY3JtLWFjdGlvbnM+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cblxuICA8bGkgW25nYk5hdkl0ZW1dPVwiJ2NhdGVnb3JpZXMnXCJcbiAgICAqcmJhY0FsbG93PVwiJ1N1YnNjcmlwdGlvbkFkbWluJ1wiPlxuICAgIDxhIG5nYk5hdkxpbms+Q2F0ZWdvcmllczwvYT5cbiAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cbiAgICAgIDxwdy1zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcz48L3B3LXNtYXJ0LWNybS1vcHBvcnR1bml0eS1jYXRlZ29yaWVzPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG5cbiAgPGxpIFtuZ2JOYXZJdGVtXT1cIidzdGFnZSdcIlxuICAgICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uQWRtaW4nXCI+XG4gICAgPGEgbmdiTmF2TGluaz5TdGFnZXM8L2E+XG4gICAgPG5nLXRlbXBsYXRlIG5nYk5hdkNvbnRlbnQ+XG4gICAgICA8cHctc21hcnQtY3JtLXN0YWdlcz48L3B3LXNtYXJ0LWNybS1zdGFnZXM+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cblxuICA8bGkgW25nYk5hdkl0ZW1dPVwiJ3NvdXJjZSdcIlxuICAgICpyYmFjQWxsb3c9XCInU3Vic2NyaXB0aW9uQWRtaW4nXCI+XG4gICAgPGEgbmdiTmF2TGluaz5Tb3VyY2VzPC9hPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ2JOYXZDb250ZW50PlxuICAgICAgPHB3LXNtYXJ0LWNybS1zb3VyY2U+PC9wdy1zbWFydC1jcm0tc291cmNlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG5cbiAgPGxpIFtuZ2JOYXZJdGVtXT1cIid3aWRnZXQnXCJcbiAgICAqcmJhY0FsbG93PVwiJ1N1cGVyQWRtaW4nXCI+XG4gICAgPGEgbmdiTmF2TGluaz5XaWRnZXRzPC9hPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ2JOYXZDb250ZW50PlxuICAgICAgPHB3LXNtYXJ0LWNybS13aWRnZXRzPjwvcHctc21hcnQtY3JtLXdpZGdldHM+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9saT5cblxuICA8bGkgW25nYk5hdkl0ZW1dPVwiJ2FkbWluJ1wiXG4gICAgKnJiYWNBbGxvdz1cIidTdXBlckFkbWluJ1wiPlxuICAgIDxhIG5nYk5hdkxpbms+QWRtaW48L2E+XG4gICAgPG5nLXRlbXBsYXRlIG5nYk5hdkNvbnRlbnQ+XG4gICAgICA8cHctY29taW5nLXNvb24gbWVzc2FnZT1cIkFkbWluXCI+PC9wdy1jb21pbmctc29vbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xpPlxuPC91bD5cblxuPGRpdiBbbmdiTmF2T3V0bGV0XT1cIm5hdlwiPjwvZGl2PlxuIl19
@@ -1,9 +1,9 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Component, Injector } from '@angular/core';
3
- import { AppSmartCrm } from '../../../../../shared/models/smart-crm.model';
4
- import { CrmService } from '@posiwise/smart-crm-shared';
5
3
  import { AppBaseComponent } from '@posiwise/app-base-component';
4
+ import { CrmService } from '@posiwise/smart-crm-shared';
6
5
  import { ValidateForm } from '@posiwise/utils';
6
+ import { AppSmartCrm } from '../../../../../shared/models/smart-crm.model';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@posiwise/smart-crm-shared";
9
9
  import * as i2 from "@angular/common";
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
84
84
  type: Component,
85
85
  args: [{ selector: 'pw-smart-crm-opportunity-categories-details', template: "<div class=\"col-12 d-flex ps-0\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <div class=\"me-auto col-xs-6\">\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.CategoriesMessages.Category' | transloco }}:\n {{ isLoading ? '' : (data?.name || ('Label.AddNew' | transloco)) }}</span>\n </h3>\n </div>\n</div>\n\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n<div class=\"container-fluid pw-tab\">\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n *ngIf=\"!isLoading\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.CategoriesMessages.Name' | transloco\"\n name=\"name\"\n [errorMsg]=\"'Crm.CategoriesMessages.NameRequired' | transloco\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"\n 'Crm.CategoriesMessages.Tooltip.PreviousCategory' | transloco\n \"\n [label]=\"'Crm.CategoriesMessages.PreviousCategory' | transloco\"\n name=\"previous_category_id\"\n [errorMsg]=\"'Crm.CategoriesMessages.PreviousCategoryRequired' | transloco\"\n *ngIf=\"categories$ | async as categories\">\n <select formControlName=\"previous_category_id\"\n class=\"form-control form-select\"\n [ngClass]=\"{ 'is-invalid': submitted && f['previous_category_id'].errors }\">\n <option value=\"\">select previous category</option>\n <option *ngFor=\"let option of categories['crm_opportunity_categories']\"\n [value]=\"option.id\">\n {{ option.name }}\n </option>\n </select>\n </pw-input-container>\n </div>\n <div class=\"col col-md-2\">\n <div class=\"mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Crm.CategoriesMessages.Tooltip.Visible' | transloco\"\n [label]=\"'Crm.CategoriesMessages.Visible' | transloco\"\n name=\"is_visible\">\n <ui-switch class=\"d-block\"\n formControlName=\"is_visible\"\n name=\"is_visible\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col col-md-2\"\n *rbacAllow=\"'SuperAdmin'\">\n <div class=\"mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [label]=\"'Crm.CategoriesMessages.Default' | transloco\"\n [tooltipText]=\"'Crm.CategoriesMessages.Tooltip.Default' | transloco\"\n name=\"is_default\">\n <ui-switch class=\"d-block\"\n formControlName=\"is_default\"\n name=\"is_default\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n</div>\n" }]
86
86
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CrmService }], propDecorators: { onSave: [] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NtYXJ0LWNybS9zcmMvbGliL3ByaXZhdGUvY29tcG9uZW50cy9zbWFydC1jcm0tY29uZmlndXJhdGlvbi9zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcy9zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcy1kZXRhaWxzL3NtYXJ0LWNybS1vcHBvcnR1bml0eS1jYXRlZ29yaWVzLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMvc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMtZGV0YWlscy9zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcy1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUl4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7QUFNL0MsTUFBTSxPQUFPLDZDQUNULFNBQVEsZ0JBQWdCO0lBaUJ4QixZQUNJLFFBQWtCLEVBQ0QsVUFBc0I7UUFFdkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVQzQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFXYixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlDLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3BGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNuRSxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDN0IsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELDBDQUEwQztJQUNsQyxxQkFBcUIsQ0FBQyxFQUFVO1FBQ3BDLElBQUksQ0FBQyxVQUFVO2FBQ1YsNkJBQTZCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7YUFDdEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELG9DQUFvQztJQUNwQyxJQUFJLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCx5QkFBeUI7SUFFekIsTUFBTTtRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN4RixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDO1lBQ25GLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVEsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0EvRVEsNkNBQTZDO21HQUE3Qyw2Q0FBNkMsMEdDZDFELHMySEErRkE7O0FEbkJJO0lBREMsWUFBWSxDQUFDLE1BQU0sQ0FBQzs7OzsyRUFjcEI7NEZBM0VRLDZDQUE2QztrQkFKekQsU0FBUzsrQkFDSSw2Q0FBNkM7c0dBaUV2RCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBcHBTbWFydENybSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvc21hcnQtY3JtLm1vZGVsJztcbmltcG9ydCB7IENybVNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2Uvc21hcnQtY3JtLXNoYXJlZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENybU9wcG9ydHVuaXR5Q2F0ZWdvcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2NybS1vcHBvcnR1bml0eS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVmFsaWRhdGVGb3JtIH0gZnJvbSAnQHBvc2l3aXNlL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcy1kZXRhaWxzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMtZGV0YWlscy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRDcm1PcHBvcnR1bml0eUNhdGVnb3JpZXNEZXRhaWxzQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBkYXRhOiBDcm1PcHBvcnR1bml0eUNhdGVnb3J5O1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIHN1Ym1pdHRlZDogYm9vbGVhbjtcbiAgICBidXR0b25CdXN5ID0gZmFsc2U7XG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGlkOiBudW1iZXI7XG5cbiAgICBjYXRlZ29yaWVzJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjcm1TZXJ2aWNlOiBDcm1TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5mb3JtID0gQXBwU21hcnRDcm0uZ2V0T3Bwb3J0dW5pdHlDYXRlZ29yaWVzRm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFVzZXJTdWJzY3JpcHRpb25JZCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzJCA9IHRoaXMuY3JtU2VydmljZS5nZXRBbGxPcHBvcnR1bml0eUNhdGVnb3JpZXModGhpcy5zdWJzY3JpcHRpb25JZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLmdldCgnc3Vic2NyaXB0aW9uX2lkJykuc2V0VmFsdWUodGhpcy5zdWJzY3JpcHRpb25JZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gTnVtYmVyKGRhdGFbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldE9wcG9ydHVuaXR5RGV0YWlscyh0aGlzLmlkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBvcHBvcnR1bml0eSBEZXRhaWxzICovXG4gICAgcHJpdmF0ZSBnZXRPcHBvcnR1bml0eURldGFpbHMoaWQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLmNybVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRPcHBvcnR1bml0eUNhdGVnb3J5RGV0YWlscyh0aGlzLnN1YnNjcmlwdGlvbklkLCBpZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUocmVzcG9uc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBmb3JtIGNvbnRyb2xzICovXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgLyoqIG9uIHN1Ym1pdCB0aGUgZm9ybSAqL1xuICAgIEBWYWxpZGF0ZUZvcm0oJ2Zvcm0nKVxuICAgIG9uU2F2ZSgpIHtcbiAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgICAgICBjb25zdCBzdWIkID0gdGhpcy5pZFxuICAgICAgICAgICAgPyB0aGlzLmNybVNlcnZpY2UuZWRpdE9wcG9ydHVuaXR5Q2F0ZWdvcnkodGhpcy5zdWJzY3JpcHRpb25JZCwgdGhpcy5pZCwgdGhpcy5mb3JtLnZhbHVlKVxuICAgICAgICAgICAgOiB0aGlzLmNybVNlcnZpY2UucG9zdE9wcG9ydHVuaXR5Q2F0ZWdvcnkodGhpcy5zdWJzY3JpcHRpb25JZCwgdGhpcy5mb3JtLnZhbHVlKTtcbiAgICAgICAgc3ViJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdDcm0uQ29tbW9uTWVzc2FnZS5VcGRhdGVkTWVzc2FnZScpKTtcbiAgICAgICAgICAgIHRoaXMuYmFjaygpO1xuICAgICAgICB9KS5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IHBzLTBcIj5cbiAgPGEgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIFRhcmdldFwiXG4gICAgKGNsaWNrKT1cImJhY2soKVwiXG4gICAgY2xhc3M9XCJwcmV2aW91c1wiPjxpIGNsYXNzPVwiZmEgZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvYT5cbiAgPGRpdiBjbGFzcz1cIm1lLWF1dG8gY29sLXhzLTZcIj5cbiAgICA8aDMgY2xhc3M9XCJtLXN1YmhlYWRlcl9fdGl0bGUgbS1zdWJoZWFkZXJfX3RpdGxlLS1zZXBhcmF0b3JcIj5cbiAgICAgIDxzcGFuPnt7ICdDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLkNhdGVnb3J5JyB8IHRyYW5zbG9jbyB9fTpcbiAgICAgICAge3sgaXNMb2FkaW5nID8gJycgOiAoZGF0YT8ubmFtZSB8fCAoJ0xhYmVsLkFkZE5ldycgfCB0cmFuc2xvY28pKSB9fTwvc3Bhbj5cbiAgICA8L2gzPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgPC9kaXY+XG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIHB3LXRhYlwiPlxuICA8ZGl2IGNsYXNzPVwicC0yIG10LTNcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICpuZ0lmPVwiIWlzTG9hZGluZ1wiXG4gICAgICAobmdTdWJtaXQpPVwib25TYXZlKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS00XCI+XG4gICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuTmFtZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgbmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLk5hbWVSZXF1aXJlZCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnbmFtZSddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTRcIj5cbiAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5Ub29sdGlwLlByZXZpb3VzQ2F0ZWdvcnknIHwgdHJhbnNsb2NvXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLlByZXZpb3VzQ2F0ZWdvcnknIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIG5hbWU9XCJwcmV2aW91c19jYXRlZ29yeV9pZFwiXG4gICAgICAgICAgICBbZXJyb3JNc2ddPVwiJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuUHJldmlvdXNDYXRlZ29yeVJlcXVpcmVkJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAqbmdJZj1cImNhdGVnb3JpZXMkIHwgYXN5bmMgYXMgY2F0ZWdvcmllc1wiPlxuICAgICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJwcmV2aW91c19jYXRlZ29yeV9pZFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tc2VsZWN0XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydwcmV2aW91c19jYXRlZ29yeV9pZCddLmVycm9ycyB9XCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj5zZWxlY3QgcHJldmlvdXMgY2F0ZWdvcnk8L29wdGlvbj5cbiAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNhdGVnb3JpZXNbJ2NybV9vcHBvcnR1bml0eV9jYXRlZ29yaWVzJ11cIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24uaWRcIj5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtbWQtMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLlRvb2x0aXAuVmlzaWJsZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuVmlzaWJsZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICBuYW1lPVwiaXNfdmlzaWJsZVwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGNsYXNzPVwiZC1ibG9ja1wiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNfdmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImlzX3Zpc2libGVcIj5cbiAgICAgICAgICAgICAgPC91aS1zd2l0Y2g+XG4gICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLW1kLTJcIlxuICAgICAgICAgICpyYmFjQWxsb3c9XCInU3VwZXJBZG1pbidcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5EZWZhdWx0JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5Ub29sdGlwLkRlZmF1bHQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgbmFtZT1cImlzX2RlZmF1bHRcIj5cbiAgICAgICAgICAgICAgPHVpLXN3aXRjaCBjbGFzcz1cImQtYmxvY2tcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzX2RlZmF1bHRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJpc19kZWZhdWx0XCI+XG4gICAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHRleHQtZW5kIG10LTNcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGVmYXVsdCBtZS0yXCJcbiAgICAgICAgICAgIChjbGljayk9XCJiYWNrKClcIj5cbiAgICAgICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBbYnV0dG9uQnVzeV09XCJidXR0b25CdXN5XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAgICAgICAgICB7eyAnQnV0dG9uLlN1Ym1pdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NtYXJ0LWNybS9zcmMvbGliL3ByaXZhdGUvY29tcG9uZW50cy9zbWFydC1jcm0tY29uZmlndXJhdGlvbi9zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcy9zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcy1kZXRhaWxzL3NtYXJ0LWNybS1vcHBvcnR1bml0eS1jYXRlZ29yaWVzLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMvc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMtZGV0YWlscy9zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcy1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUsvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7Ozs7QUFNM0UsTUFBTSxPQUFPLDZDQUNULFNBQVEsZ0JBQWdCO0lBZXhCLFlBQ0ksUUFBa0IsRUFDRCxVQUFzQjtRQUV2QyxLQUFLLENBQUMsUUFBUSxD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QztJQUNQLENBQUM7SUFFUSxXQUFXO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQTdFUSw2Q0FBNkM7bUdBQTdDLDZDQUE2QywwR0NoQjFELHMySEErRkE7O0FEbkJJO0lBREMsWUFBWSxDQUFDLE1BQU0sQ0FBQzs7OzsyRUFjcEI7NEZBekVRLDZDQUE2QztrQkFKekQsU0FBUzsrQkFDSSw2Q0FBNkM7c0dBK0R2RCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IENybVNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2Uvc21hcnQtY3JtLXNoYXJlZCc7XG5pbXBvcnQgeyBWYWxpZGF0ZUZvcm0gfSBmcm9tICdAcG9zaXdpc2UvdXRpbHMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENybU9wcG9ydHVuaXR5Q2F0ZWdvcnkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2NybS1vcHBvcnR1bml0eS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwU21hcnRDcm0gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3NtYXJ0LWNybS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMtZGV0YWlscycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWNybS1vcHBvcnR1bml0eS1jYXRlZ29yaWVzLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0Q3JtT3Bwb3J0dW5pdHlDYXRlZ29yaWVzRGV0YWlsc0NvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgaWQ6IG51bWJlcjtcbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgZGF0YTogQ3JtT3Bwb3J0dW5pdHlDYXRlZ29yeTtcbiAgICBjYXRlZ29yaWVzJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgc3VibWl0dGVkOiBib29sZWFuO1xuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjcm1TZXJ2aWNlOiBDcm1TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5mb3JtID0gQXBwU21hcnRDcm0uZ2V0T3Bwb3J0dW5pdHlDYXRlZ29yaWVzRm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFVzZXJTdWJzY3JpcHRpb25JZCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzJCA9IHRoaXMuY3JtU2VydmljZS5nZXRBbGxPcHBvcnR1bml0eUNhdGVnb3JpZXModGhpcy5zdWJzY3JpcHRpb25JZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLmdldCgnc3Vic2NyaXB0aW9uX2lkJykuc2V0VmFsdWUodGhpcy5zdWJzY3JpcHRpb25JZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlkID0gTnVtYmVyKGRhdGFbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldE9wcG9ydHVuaXR5RGV0YWlscyh0aGlzLmlkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBvcHBvcnR1bml0eSBEZXRhaWxzICovXG4gICAgcHJpdmF0ZSBnZXRPcHBvcnR1bml0eURldGFpbHMoaWQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLmNybVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRPcHBvcnR1bml0eUNhdGVnb3J5RGV0YWlscyh0aGlzLnN1YnNjcmlwdGlvbklkLCBpZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUocmVzcG9uc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBmb3JtIGNvbnRyb2xzICovXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgLyoqIG9uIHN1Ym1pdCB0aGUgZm9ybSAqL1xuICAgIEBWYWxpZGF0ZUZvcm0oJ2Zvcm0nKVxuICAgIG9uU2F2ZSgpIHtcbiAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgICAgICBjb25zdCBzdWIkID0gdGhpcy5pZFxuICAgICAgICAgICAgPyB0aGlzLmNybVNlcnZpY2UuZWRpdE9wcG9ydHVuaXR5Q2F0ZWdvcnkodGhpcy5zdWJzY3JpcHRpb25JZCwgdGhpcy5pZCwgdGhpcy5mb3JtLnZhbHVlKVxuICAgICAgICAgICAgOiB0aGlzLmNybVNlcnZpY2UucG9zdE9wcG9ydHVuaXR5Q2F0ZWdvcnkodGhpcy5zdWJzY3JpcHRpb25JZCwgdGhpcy5mb3JtLnZhbHVlKTtcbiAgICAgICAgc3ViJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdDcm0uQ29tbW9uTWVzc2FnZS5VcGRhdGVkTWVzc2FnZScpKTtcbiAgICAgICAgICAgIHRoaXMuYmFjaygpO1xuICAgICAgICB9KS5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb2wtMTIgZC1mbGV4IHBzLTBcIj5cbiAgPGEgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIFRhcmdldFwiXG4gICAgKGNsaWNrKT1cImJhY2soKVwiXG4gICAgY2xhc3M9XCJwcmV2aW91c1wiPjxpIGNsYXNzPVwiZmEgZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvYT5cbiAgPGRpdiBjbGFzcz1cIm1lLWF1dG8gY29sLXhzLTZcIj5cbiAgICA8aDMgY2xhc3M9XCJtLXN1YmhlYWRlcl9fdGl0bGUgbS1zdWJoZWFkZXJfX3RpdGxlLS1zZXBhcmF0b3JcIj5cbiAgICAgIDxzcGFuPnt7ICdDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLkNhdGVnb3J5JyB8IHRyYW5zbG9jbyB9fTpcbiAgICAgICAge3sgaXNMb2FkaW5nID8gJycgOiAoZGF0YT8ubmFtZSB8fCAoJ0xhYmVsLkFkZE5ldycgfCB0cmFuc2xvY28pKSB9fTwvc3Bhbj5cbiAgICA8L2gzPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgPC9kaXY+XG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIHB3LXRhYlwiPlxuICA8ZGl2IGNsYXNzPVwicC0yIG10LTNcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICpuZ0lmPVwiIWlzTG9hZGluZ1wiXG4gICAgICAobmdTdWJtaXQpPVwib25TYXZlKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS00XCI+XG4gICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuTmFtZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgbmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLk5hbWVSZXF1aXJlZCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnbmFtZSddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTRcIj5cbiAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5Ub29sdGlwLlByZXZpb3VzQ2F0ZWdvcnknIHwgdHJhbnNsb2NvXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2xhYmVsXT1cIidDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLlByZXZpb3VzQ2F0ZWdvcnknIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIG5hbWU9XCJwcmV2aW91c19jYXRlZ29yeV9pZFwiXG4gICAgICAgICAgICBbZXJyb3JNc2ddPVwiJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuUHJldmlvdXNDYXRlZ29yeVJlcXVpcmVkJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAqbmdJZj1cImNhdGVnb3JpZXMkIHwgYXN5bmMgYXMgY2F0ZWdvcmllc1wiPlxuICAgICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJwcmV2aW91c19jYXRlZ29yeV9pZFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tc2VsZWN0XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydwcmV2aW91c19jYXRlZ29yeV9pZCddLmVycm9ycyB9XCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj5zZWxlY3QgcHJldmlvdXMgY2F0ZWdvcnk8L29wdGlvbj5cbiAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGNhdGVnb3JpZXNbJ2NybV9vcHBvcnR1bml0eV9jYXRlZ29yaWVzJ11cIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24uaWRcIj5cbiAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtbWQtMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCI+XG4gICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLlRvb2x0aXAuVmlzaWJsZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuVmlzaWJsZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICBuYW1lPVwiaXNfdmlzaWJsZVwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGNsYXNzPVwiZC1ibG9ja1wiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNfdmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImlzX3Zpc2libGVcIj5cbiAgICAgICAgICAgICAgPC91aS1zd2l0Y2g+XG4gICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLW1kLTJcIlxuICAgICAgICAgICpyYmFjQWxsb3c9XCInU3VwZXJBZG1pbidcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5EZWZhdWx0JyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5Ub29sdGlwLkRlZmF1bHQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgbmFtZT1cImlzX2RlZmF1bHRcIj5cbiAgICAgICAgICAgICAgPHVpLXN3aXRjaCBjbGFzcz1cImQtYmxvY2tcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzX2RlZmF1bHRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJpc19kZWZhdWx0XCI+XG4gICAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHRleHQtZW5kIG10LTNcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGVmYXVsdCBtZS0yXCJcbiAgICAgICAgICAgIChjbGljayk9XCJiYWNrKClcIj5cbiAgICAgICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBbYnV0dG9uQnVzeV09XCJidXR0b25CdXN5XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAgICAgICAgICB7eyAnQnV0dG9uLlN1Ym1pdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,9 +1,9 @@
1
1
  import { ChangeDetectorRef, Component, Injector } from '@angular/core';
2
- import { ROUTERS } from '../../../../shared/routers/routers';
3
- import { CrmService } from '@posiwise/smart-crm-shared';
4
- import { PAGE_SIZE } from '@posiwise/common-utilities';
5
2
  import { AppBaseComponent } from '@posiwise/app-base-component';
3
+ import { PAGE_SIZE } from '@posiwise/common-utilities';
6
4
  import { HelperService } from '@posiwise/helper-service';
5
+ import { CrmService } from '@posiwise/smart-crm-shared';
6
+ import { ROUTERS } from '../../../../shared/routers/routers';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@posiwise/smart-crm-shared";
9
9
  import * as i2 from "@angular/common";
@@ -22,17 +22,17 @@ export class SmartCrmOpportunityCategoriesComponent extends AppBaseComponent {
22
22
  super(injector);
23
23
  this.crmService = crmService;
24
24
  this.cdr = cdr;
25
+ this.page = 1;
25
26
  this.data = {
26
27
  crm_opportunity_categories: [],
27
28
  object_count: 0,
28
29
  unfiltered_count: 0
29
30
  };
31
+ this.categoryNames = [];
30
32
  this.searchText = '';
31
33
  this.loading = true;
32
34
  this.hasAccess = false;
33
35
  this.isLoaded = false;
34
- this.page = 1;
35
- this.categoryNames = [];
36
36
  this.routers = ROUTERS;
37
37
  }
38
38
  ngOnInit() {
@@ -116,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
116
116
  type: Component,
117
117
  args: [{ selector: 'pw-smart-crm-opportunity-categories', template: "<div class=\"row\">\n <div class=\"col-12\">\n <p>{{ 'Crm.Categories.Config.Description' | transloco }}</p>\n <div class=\"col-12\" *ngIf=\"data.object_count === 0 && data.unfiltered_count === 0 && isLoaded\">\n <a class=\"btn btn-sm btn-outline-primary float-end build-category-button\"\n data-cy=\"add-category\"\n (click)=\"buildCategories()\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i>\n {{ 'Crm.CategoriesMessages.BuildCategory' | transloco }}\n </a>\n </div>\n <div class=\"col-12\">\n <a class=\"btn btn-sm btn-outline-primary float-end mr-2\"\n data-cy=\"add-category\"\n [routerLink]=\"['/' + subscription?.slug + routers.categoryDetails + 'add']\">\n <i class=\"fa fa-plus-circle\" aria-hidden=\"true\"></i>\n {{ 'Crm.CategoriesMessages.AddCategory' | transloco }}\n </a>\n </div>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"!isLoaded\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"col-12\">\n <div class=\"primeng-datatable-container table-responsive\"\n [class.hideTable]=\"data.unfiltered_count === 0\">\n <p-table #dt\n [value]=\"data.crm_opportunity_categories\"\n [paginator]=\"data.object_count !== 0\"\n [lazy]=\"true\"\n [rows]=\"PAGE_SIZE\"\n [totalRecords]=\"data.object_count\"\n [loading]=\"loading\"\n [filterDelay]=\"1000\"\n (onLazyLoad)=\"onLazyLoad($event)\"\n [customSort]=\"true\">\n <ng-template pTemplate=\"caption\">\n <div class=\"text-end\">\n <i class=\"fa fa-search mt-2 me-2\" aria-hidden=\"true\"></i>\n <input type=\"text\"\n [(ngModel)]=\"searchText\"\n pInputText\n size=\"50\"\n placeholder=\"Search stages...\"\n (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\n class=\"mw-90\" />\n </div>\n </ng-template>\n <ng-template pTemplate=\"header\">\n <tr>\n <th scope=\"true\"\n pSortableColumn=\"name\">\n {{ 'Crm.CategoriesMessages.Name' | transloco }}\n <p-sortIcon field=\"name\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"previous_category_id\">\n {{ 'Crm.CategoriesMessages.PreviousCategory' | transloco }}\n <p-sortIcon field=\"previous_category_id\"></p-sortIcon>\n </th>\n <th scope=\"true\"\n pSortableColumn=\"is_visible\">\n {{ 'Crm.CategoriesMessages.Visible' | transloco }}\n <p-sortIcon field=\"is_visible\"></p-sortIcon>\n </th>\n <th scope=\"true\">{{ 'Label.Actions' | transloco }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\"\n let-stage>\n <tr>\n <td data-head=\"Name\">{{ stage?.name }}</td>\n <td data-head=\"Previous Stage\">\n <span class=\"badge\"\n [appDynamicBadge]=\"{\n itemsArray: categoryNames,\n item: stage?.previous_category?.name\n }\"\n color=\"blue-grey\">{{ stage?.previous_category?.name }}</span>\n </td>\n <td data-head=\"Visible\">\n <span [appDynamicBadge]=\"{\n itemsArray: [true, false],\n item: stage?.is_visible\n }\"\n color=\"success-danger\"\n class=\"badge\">{{ stage?.is_visible }}</span>\n </td>\n <td data-head=\"Action\">\n <ul class=\"list-unstyled list-inline list-action\">\n <ng-container *ngIf=\"hasAccess\">\n <li ngbTooltip=\"Edit\"\n class=\"me-2 me-sm-3\"\n [routerLink]=\"[\n '/' + subscription?.slug + routers.categoryDetails,\n stage.id\n ]\">\n <i class=\"fa fa-edit edit-icon\" aria-hidden=\"true\"></i>\n </li>\n <li ngbTooltip=\"Delete\"\n class=\"me-2 me-sm-3\">\n <i\n class=\"fa fa-trash delete-icon\"\n (keydown.enter)=\"onDelete(stage.id)\"\n (keydown.space)=\"onDelete(stage.id)\"\n (click)=\"onDelete(stage.id)\"\n aria-hidden=\"true\"\n ></i>\n </li>\n </ng-container>\n </ul>\n </td>\n </tr>\n </ng-template>\n </p-table>\n <div *ngIf=\"data.object_count === 0 && data.unfiltered_count !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage'| transloco\" [description]=\"'Search.NoDataDescription' | transloco\" >\n </pw-no-data>\n </div>\n <span class=\"total-records-count\" *ngIf=\"data.object_count !== 0\">{{ 'Label.Total' | transloco }}: {{ data.object_count }}</span>\n </div>\n </div>\n</div>\n<div *ngIf=\"data.unfiltered_count === 0 && isLoaded\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Crm.CategoriesMessages.NoCategoriesMessage' | transloco\"> </pw-no-data>\n</div>\n", styles: [".build-category-button{margin-left:7px}\n"] }]
118
118
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CrmService }, { type: i0.ChangeDetectorRef }] });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMvc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMvc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUdYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFNBQVMsRUFBOEIsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBT3pELE1BQU0sT0FBTyxzQ0FDVCxTQUFRLGdCQUFnQjtJQTZCeEIsWUFDSSxRQUFrQixFQUNELFVBQXNCLEVBQ3RCLEdBQXNCO1FBRXZDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIs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QyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7cUJBQ3BELFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ1osSUFBSSxDQUFDLDJCQUEyQixDQUFDO3dCQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7d0JBQ2YsU0FBUyxFQUFFLFNBQVM7d0JBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtxQkFDMUIsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGtDQUFrQyxDQUFDLENBQ2pFLENBQUM7Z0JBQ04sQ0FBQyxDQUFDLENBQUM7WUFDWCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZFLElBQUksQ0FBQywyQkFBMkIsQ0FBQztnQkFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFNBQVMsRUFBRSxTQUFTO2FBQ3ZCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUSxXQUFXO1FBQ2hCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQXhIUSxzQ0FBc0M7bUdBQXRDLHNDQUFzQyxrR0N0Qm5ELG1uTEErSEE7OzRGRHpHYSxzQ0FBc0M7a0JBTGxELFNBQVM7K0JBQ0kscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3RvcixcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgQ3JtU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9zbWFydC1jcm0tc2hhcmVkJztcbmltcG9ydCB7IExhenlMb2FkRXZlbnQgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7IFBBR0VfU0laRSwgUGFnaW5nLCBTdWJzY3JpcHRpb24sIFVzZXIgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBDcm1PcHBvcnR1bml0eUNhdGVnb3J5UmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2NybS1vcHBvcnR1bml0eS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTbWFydENybU9wcG9ydHVuaXR5Q2F0ZWdvcmllc0NvbXBvbmVudFxuICAgIGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWRcbntcbiAgICBkYXRhOiBDcm1PcHBvcnR1bml0eUNhdGVnb3J5UmVzcG9uc2UgPSB7XG4gICAgICAgIGNybV9vcHBvcnR1bml0eV9jYXRlZ29yaWVzOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgaGFzQWNjZXNzID0gZmFsc2U7XG5cbiAgICBpc0xvYWRlZCA9IGZhbHNlO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIHVzZXI6IFVzZXI7XG5cbiAgICBwcml2YXRlIHBhZ2UgPSAxO1xuXG4gICAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjYXRlZ29yeU5hbWVzID0gW107XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY3JtU2VydmljZTogQ3JtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZXRVc2VyU3Vic2NyaXB0aW9uKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gcmVzcG9uc2U7XG4gICAgICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24/LmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNBY2Nlc3MgPSB0aGlzLmhhc0FkbWluQWNjZXNzKHRoaXMuc3Vic2NyaXB0aW9uPy5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0QWxsT3Bwb3J0dW5pdHlDYXRlZ29yaWVzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBhbGwgY2F0ZWdvcmllcyAqL1xuICAgIHByaXZhdGUgZ2V0QWxsT3Bwb3J0dW5pdHlDYXRlZ29yaWVzKHBhZ2luZzogUGFnaW5nKSB7XG4gICAgICAgIHRoaXMuZ2V0VXNlclN1YnNjcmlwdGlvbklkKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNybVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmdldEFsbE9wcG9ydHVuaXR5Q2F0ZWdvcmllcyh0aGlzLnN1YnNjcmlwdGlvbklkLCBwYWdpbmcpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlOYW1lcyA9IHJlcz8uY3JtX29wcG9ydHVuaXR5X2NhdGVnb3JpZXM/Lm1hcChjYXRlZ29yeSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5Py5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbnZva2VHZXRBbGxPcHBvcnR1bml0eUNhdGVnb3JpZXMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5nZXRBbGxPcHBvcnR1bml0eUNhdGVnb3JpZXMocGFnaW5nKTtcbiAgICB9XG5cbiAgICAvKiogRnVuY3Rpb24gdG8gZGVsZXRlIGNhdGVnb3JpZXMgKi9cbiAgICBvbkRlbGV0ZShpZDogbnVtYmVyKSB7XG4gICAgICAgIEhlbHBlclNlcnZpY2UucmFpc2VEZWxldGVQb3B1cCgpLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNybVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmRlbGV0ZU9wcG9ydHVuaXR5Q2F0ZWdvcnkodGhpcy5zdWJzY3JpcHRpb24/LmlkLCBpZClcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFsbE9wcG9ydHVuaXR5Q2F0ZWdvcmllcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQ3JtLkNvbW1vbk1lc3NhZ2UuRGVsZXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGJ1aWxkQ2F0ZWdvcmllcygpIHtcbiAgICAgICAgdGhpcy5jcm1TZXJ2aWNlLmJ1aWxkRGVmYXVsdFNldHRpbmdzKHRoaXMuc3Vic2NyaXB0aW9uPy5pZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0QWxsT3Bwb3J0dW5pdHlDYXRlZ29yaWVzKHtcbiAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdDcm0uQ29tbW9uTWVzc2FnZS5BZGRlZE1lc3NhZ2UnKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgIDxwPnt7ICdDcm0uQ2F0ZWdvcmllcy5Db25maWcuRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvIH19PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ID09PSAwICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMCAmJiBpc0xvYWRlZFwiPlxuICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXByaW1hcnkgZmxvYXQtZW5kIGJ1aWxkLWNhdGVnb3J5LWJ1dHRvblwiXG4gICAgICAgIGRhdGEtY3k9XCJhZGQtY2F0ZWdvcnlcIlxuICAgICAgICAgIChjbGljayk9XCJidWlsZENhdGVnb3JpZXMoKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICB7eyAnQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5CdWlsZENhdGVnb3J5JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXByaW1hcnkgZmxvYXQtZW5kIG1yLTJcIlxuICAgICAgICAgIGRhdGEtY3k9XCJhZGQtY2F0ZWdvcnlcIlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnLycgKyBzdWJzY3JpcHRpb24/LnNsdWcgKyByb3V0ZXJzLmNhdGVnb3J5RGV0YWlscyArICdhZGQnXVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAge3sgJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuQWRkQ2F0ZWdvcnknIHwgdHJhbnNsb2NvIH19XG4gICAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIHRhYmxlLXJlc3BvbnNpdmVcIlxuICAgICAgW2NsYXNzLmhpZGVUYWJsZV09XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgICAgIDxwLXRhYmxlICNkdFxuICAgICAgICBbdmFsdWVdPVwiZGF0YS5jcm1fb3Bwb3J0dW5pdHlfY2F0ZWdvcmllc1wiXG4gICAgICAgIFtwYWdpbmF0b3JdPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIlxuICAgICAgICBbbGF6eV09XCJ0cnVlXCJcbiAgICAgICAgW3Jvd3NdPVwiUEFHRV9TSVpFXCJcbiAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJkYXRhLm9iamVjdF9jb3VudFwiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICBbZmlsdGVyRGVsYXldPVwiMTAwMFwiXG4gICAgICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiXG4gICAgICAgIFtjdXN0b21Tb3J0XT1cInRydWVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmRcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIG10LTIgbWUtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggc3RhZ2VzLi4uXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXctOTBcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cIm5hbWVcIj5cbiAgICAgICAgICAgICAge3sgJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuTmFtZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJuYW1lXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJwcmV2aW91c19jYXRlZ29yeV9pZFwiPlxuICAgICAgICAgICAgICB7eyAnQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5QcmV2aW91c0NhdGVnb3J5JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInByZXZpb3VzX2NhdGVnb3J5X2lkXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJpc192aXNpYmxlXCI+XG4gICAgICAgICAgICAgIHt7ICdDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLlZpc2libGUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiaXNfdmlzaWJsZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCI+e3sgJ0xhYmVsLkFjdGlvbnMnIHwgdHJhbnNsb2NvIH19PC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiXG4gICAgICAgICAgbGV0LXN0YWdlPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJOYW1lXCI+e3sgc3RhZ2U/Lm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlByZXZpb3VzIFN0YWdlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VcIlxuICAgICAgICAgICAgICAgIFthcHBEeW5hbWljQmFkZ2VdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNBcnJheTogY2F0ZWdvcnlOYW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IHN0YWdlPy5wcmV2aW91c19jYXRlZ29yeT8ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cImJsdWUtZ3JleVwiPnt7IHN0YWdlPy5wcmV2aW91c19jYXRlZ29yeT8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiVmlzaWJsZVwiPlxuICAgICAgICAgICAgICA8c3BhbiBbYXBwRHluYW1pY0JhZGdlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zQXJyYXk6IFt0cnVlLCBmYWxzZV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtOiBzdGFnZT8uaXNfdmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInN1Y2Nlc3MtZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlXCI+e3sgc3RhZ2U/LmlzX3Zpc2libGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkFjdGlvblwiPlxuICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIGxpc3QtaW5saW5lIGxpc3QtYWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0FjY2Vzc1wiPlxuICAgICAgICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJFZGl0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN1YnNjcmlwdGlvbj8uc2x1ZyArIHJvdXRlcnMuY2F0ZWdvcnlEZXRhaWxzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFnZS5pZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lZGl0IGVkaXQtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIkRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWUtMiBtZS1zbS0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkRlbGV0ZShzdGFnZS5pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkRlbGV0ZShzdGFnZS5pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUoc3RhZ2UuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvcC10YWJsZT5cbiAgICAgIDxkaXYgKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCA9PT0gMCAmJiBkYXRhLnVuZmlsdGVyZWRfY291bnQgIT09IDBcIj5cbiAgICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJ3wgdHJhbnNsb2NvXCIgW2Rlc2NyaXB0aW9uXT1cIidTZWFyY2guTm9EYXRhRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvXCIgPlxuICAgIDwvcHctbm8tZGF0YT5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCIgKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7IGRhdGEub2JqZWN0X2NvdW50IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMCAmJiBpc0xvYWRlZFwiPlxuICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5Ob0NhdGVnb3JpZXNNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMvc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zbWFydC1jcm0vc3JjL2xpYi9wcml2YXRlL2NvbXBvbmVudHMvc21hcnQtY3JtLWNvbmZpZ3VyYXRpb24vc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMvc21hcnQtY3JtLW9wcG9ydHVuaXR5LWNhdGVnb3JpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUdYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQThCLE1BQU0sNEJBQTRCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUt4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTzdELE1BQU0sT0FBTyxzQ0FDVCxTQUFRLGdCQUFnQjtJQXlCeEIsWUFDSSxRQUFrQixFQUNELFVBQXNCLEVBQ3RCLEdBQXNCO1FBRXZDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIs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QUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO3FCQUNwRCxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQywyQkFBMkIsQ0FBQzt3QkFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO3dCQUNmLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7cUJBQzFCLENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDZCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUNqRSxDQUFDO2dCQUNOLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN2RSxJQUFJLENBQUMsMkJBQTJCLENBQUM7Z0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixTQUFTLEVBQUUsU0FBUzthQUN2QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVEsV0FBVztRQUNoQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FwSFEsc0NBQXNDO21HQUF0QyxzQ0FBc0Msa0dDeEJuRCxtbkxBK0hBOzs0RkR2R2Esc0NBQXNDO2tCQUxsRCxTQUFTOytCQUNJLHFDQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUEFHRV9TSVpFLCBQYWdpbmcsIFN1YnNjcmlwdGlvbiwgVXNlciB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JtU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9zbWFydC1jcm0tc2hhcmVkJztcblxuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuaW1wb3J0IHsgQ3JtT3Bwb3J0dW5pdHlDYXRlZ29yeVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZS9jcm0tb3Bwb3J0dW5pdHkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJPVVRFUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvcm91dGVycy9yb3V0ZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWNybS1vcHBvcnR1bml0eS1jYXRlZ29yaWVzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zbWFydC1jcm0tb3Bwb3J0dW5pdHktY2F0ZWdvcmllcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0Q3JtT3Bwb3J0dW5pdHlDYXRlZ29yaWVzQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZFxue1xuICAgIHByaXZhdGUgcGFnZSA9IDE7XG5cbiAgICBkYXRhOiBDcm1PcHBvcnR1bml0eUNhdGVnb3J5UmVzcG9uc2UgPSB7XG4gICAgICAgIGNybV9vcHBvcnR1bml0eV9jYXRlZ29yaWVzOiBbXSxcbiAgICAgICAgb2JqZWN0X2NvdW50OiAwLFxuICAgICAgICB1bmZpbHRlcmVkX2NvdW50OiAwXG4gICAgfTtcblxuICAgIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG4gICAgdXNlcjogVXNlcjtcblxuICAgIGNhdGVnb3J5TmFtZXMgPSBbXTtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGxvYWRpbmcgPSB0cnVlO1xuICAgIGhhc0FjY2VzcyA9IGZhbHNlO1xuICAgIGlzTG9hZGVkID0gZmFsc2U7XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY3JtU2VydmljZTogQ3JtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5nZXRVc2VyU3Vic2NyaXB0aW9uKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gcmVzcG9uc2U7XG4gICAgICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24/LmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNBY2Nlc3MgPSB0aGlzLmhhc0FkbWluQWNjZXNzKHRoaXMuc3Vic2NyaXB0aW9uPy5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0QWxsT3Bwb3J0dW5pdHlDYXRlZ29yaWVzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBhbGwgY2F0ZWdvcmllcyAqL1xuICAgIHByaXZhdGUgZ2V0QWxsT3Bwb3J0dW5pdHlDYXRlZ29yaWVzKHBhZ2luZzogUGFnaW5nKSB7XG4gICAgICAgIHRoaXMuZ2V0VXNlclN1YnNjcmlwdGlvbklkKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNybVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmdldEFsbE9wcG9ydHVuaXR5Q2F0ZWdvcmllcyh0aGlzLnN1YnNjcmlwdGlvbklkLCBwYWdpbmcpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlOYW1lcyA9IHJlcz8uY3JtX29wcG9ydHVuaXR5X2NhdGVnb3JpZXM/Lm1hcChjYXRlZ29yeSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhdGVnb3J5Py5uYW1lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbnZva2VHZXRBbGxPcHBvcnR1bml0eUNhdGVnb3JpZXMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5nZXRBbGxPcHBvcnR1bml0eUNhdGVnb3JpZXMocGFnaW5nKTtcbiAgICB9XG5cbiAgICAvKiogRnVuY3Rpb24gdG8gZGVsZXRlIGNhdGVnb3JpZXMgKi9cbiAgICBvbkRlbGV0ZShpZDogbnVtYmVyKSB7XG4gICAgICAgIEhlbHBlclNlcnZpY2UucmFpc2VEZWxldGVQb3B1cCgpLnRoZW4ocmVzID0+IHtcbiAgICAgICAgICAgIGlmIChyZXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNybVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmRlbGV0ZU9wcG9ydHVuaXR5Q2F0ZWdvcnkodGhpcy5zdWJzY3JpcHRpb24/LmlkLCBpZClcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFsbE9wcG9ydHVuaXR5Q2F0ZWdvcmllcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQ3JtLkNvbW1vbk1lc3NhZ2UuRGVsZXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGJ1aWxkQ2F0ZWdvcmllcygpIHtcbiAgICAgICAgdGhpcy5jcm1TZXJ2aWNlLmJ1aWxkRGVmYXVsdFNldHRpbmdzKHRoaXMuc3Vic2NyaXB0aW9uPy5pZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0QWxsT3Bwb3J0dW5pdHlDYXRlZ29yaWVzKHtcbiAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdDcm0uQ29tbW9uTWVzc2FnZS5BZGRlZE1lc3NhZ2UnKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgIDxwPnt7ICdDcm0uQ2F0ZWdvcmllcy5Db25maWcuRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvIH19PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIiAqbmdJZj1cImRhdGEub2JqZWN0X2NvdW50ID09PSAwICYmIGRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMCAmJiBpc0xvYWRlZFwiPlxuICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXByaW1hcnkgZmxvYXQtZW5kIGJ1aWxkLWNhdGVnb3J5LWJ1dHRvblwiXG4gICAgICAgIGRhdGEtY3k9XCJhZGQtY2F0ZWdvcnlcIlxuICAgICAgICAgIChjbGljayk9XCJidWlsZENhdGVnb3JpZXMoKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICB7eyAnQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5CdWlsZENhdGVnb3J5JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXByaW1hcnkgZmxvYXQtZW5kIG1yLTJcIlxuICAgICAgICAgIGRhdGEtY3k9XCJhZGQtY2F0ZWdvcnlcIlxuICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIlsnLycgKyBzdWJzY3JpcHRpb24/LnNsdWcgKyByb3V0ZXJzLmNhdGVnb3J5RGV0YWlscyArICdhZGQnXVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAge3sgJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuQWRkQ2F0ZWdvcnknIHwgdHJhbnNsb2NvIH19XG4gICAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgICAqbmdJZj1cIiFpc0xvYWRlZFwiPlxuICAgIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIHRhYmxlLXJlc3BvbnNpdmVcIlxuICAgICAgW2NsYXNzLmhpZGVUYWJsZV09XCJkYXRhLnVuZmlsdGVyZWRfY291bnQgPT09IDBcIj5cbiAgICAgIDxwLXRhYmxlICNkdFxuICAgICAgICBbdmFsdWVdPVwiZGF0YS5jcm1fb3Bwb3J0dW5pdHlfY2F0ZWdvcmllc1wiXG4gICAgICAgIFtwYWdpbmF0b3JdPVwiZGF0YS5vYmplY3RfY291bnQgIT09IDBcIlxuICAgICAgICBbbGF6eV09XCJ0cnVlXCJcbiAgICAgICAgW3Jvd3NdPVwiUEFHRV9TSVpFXCJcbiAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJkYXRhLm9iamVjdF9jb3VudFwiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICBbZmlsdGVyRGVsYXldPVwiMTAwMFwiXG4gICAgICAgIChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiXG4gICAgICAgIFtjdXN0b21Tb3J0XT1cInRydWVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmRcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtc2VhcmNoIG10LTIgbWUtMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXG4gICAgICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggc3RhZ2VzLi4uXCJcbiAgICAgICAgICAgICAgKGlucHV0KT1cImR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwibXctOTBcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIHBTb3J0YWJsZUNvbHVtbj1cIm5hbWVcIj5cbiAgICAgICAgICAgICAge3sgJ0NybS5DYXRlZ29yaWVzTWVzc2FnZXMuTmFtZScgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgICAgPHAtc29ydEljb24gZmllbGQ9XCJuYW1lXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJwcmV2aW91c19jYXRlZ29yeV9pZFwiPlxuICAgICAgICAgICAgICB7eyAnQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5QcmV2aW91c0NhdGVnb3J5JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgICA8cC1zb3J0SWNvbiBmaWVsZD1cInByZXZpb3VzX2NhdGVnb3J5X2lkXCI+PC9wLXNvcnRJY29uPlxuICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInRydWVcIlxuICAgICAgICAgICAgICBwU29ydGFibGVDb2x1bW49XCJpc192aXNpYmxlXCI+XG4gICAgICAgICAgICAgIHt7ICdDcm0uQ2F0ZWdvcmllc01lc3NhZ2VzLlZpc2libGUnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICAgIDxwLXNvcnRJY29uIGZpZWxkPVwiaXNfdmlzaWJsZVwiPjwvcC1zb3J0SWNvbj5cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJ0cnVlXCI+e3sgJ0xhYmVsLkFjdGlvbnMnIHwgdHJhbnNsb2NvIH19PC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiXG4gICAgICAgICAgbGV0LXN0YWdlPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0ZCBkYXRhLWhlYWQ9XCJOYW1lXCI+e3sgc3RhZ2U/Lm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIlByZXZpb3VzIFN0YWdlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2VcIlxuICAgICAgICAgICAgICAgIFthcHBEeW5hbWljQmFkZ2VdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNBcnJheTogY2F0ZWdvcnlOYW1lcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IHN0YWdlPy5wcmV2aW91c19jYXRlZ29yeT8ubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cImJsdWUtZ3JleVwiPnt7IHN0YWdlPy5wcmV2aW91c19jYXRlZ29yeT8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQgZGF0YS1oZWFkPVwiVmlzaWJsZVwiPlxuICAgICAgICAgICAgICA8c3BhbiBbYXBwRHluYW1pY0JhZGdlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zQXJyYXk6IFt0cnVlLCBmYWxzZV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtOiBzdGFnZT8uaXNfdmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInN1Y2Nlc3MtZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJhZGdlXCI+e3sgc3RhZ2U/LmlzX3Zpc2libGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGRhdGEtaGVhZD1cIkFjdGlvblwiPlxuICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIGxpc3QtaW5saW5lIGxpc3QtYWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0FjY2Vzc1wiPlxuICAgICAgICAgICAgICAgICAgPGxpIG5nYlRvb2x0aXA9XCJFZGl0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZS0yIG1lLXNtLTNcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN1YnNjcmlwdGlvbj8uc2x1ZyArIHJvdXRlcnMuY2F0ZWdvcnlEZXRhaWxzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFnZS5pZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1lZGl0IGVkaXQtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8bGkgbmdiVG9vbHRpcD1cIkRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWUtMiBtZS1zbS0zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkRlbGV0ZShzdGFnZS5pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkRlbGV0ZShzdGFnZS5pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUoc3RhZ2UuaWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvcC10YWJsZT5cbiAgICAgIDxkaXYgKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCA9PT0gMCAmJiBkYXRhLnVuZmlsdGVyZWRfY291bnQgIT09IDBcIj5cbiAgICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJ3wgdHJhbnNsb2NvXCIgW2Rlc2NyaXB0aW9uXT1cIidTZWFyY2guTm9EYXRhRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvXCIgPlxuICAgIDwvcHctbm8tZGF0YT5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCIgKm5nSWY9XCJkYXRhLm9iamVjdF9jb3VudCAhPT0gMFwiPnt7ICdMYWJlbC5Ub3RhbCcgfCB0cmFuc2xvY28gfX06IHt7IGRhdGEub2JqZWN0X2NvdW50IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cImRhdGEudW5maWx0ZXJlZF9jb3VudCA9PT0gMCAmJiBpc0xvYWRlZFwiPlxuICA8cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiBbbWVzc2FnZV09XCInQ3JtLkNhdGVnb3JpZXNNZXNzYWdlcy5Ob0NhdGVnb3JpZXNNZXNzYWdlJyB8IHRyYW5zbG9jb1wiPiA8L3B3LW5vLWRhdGE+XG48L2Rpdj5cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { Component, Injector } from '@angular/core';
2
- import { AppSmartCrm } from '../../../../../shared/models/smart-crm.model';
3
- import { CrmService } from '@posiwise/smart-crm-shared';
4
2
  import { AppBaseComponent } from '@posiwise/app-base-component';
3
+ import { CrmService } from '@posiwise/smart-crm-shared';
4
+ import { AppSmartCrm } from '../../../../../shared/models/smart-crm.model';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@posiwise/smart-crm-shared";
7
7
  import * as i2 from "@angular/common";
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
76
76
  type: Component,
77
77
  args: [{ selector: 'pw-smart-crm-source-details', template: "<div class=\"col-12 d-flex ps-0\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <div class=\"me-auto col-xs-6\">\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.AccountSourceMessage.AccountSource' | transloco }}:\n {{ isLoading ? '' : (data?.name ? data?.name : ('Label.AddNew' | transloco)) }}</span>\n </h3>\n </div>\n</div>\n\n<div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"sourceForm\"\n *ngIf=\"!isLoading\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row mb-3\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountSourceMessage.Name' | transloco\"\n name=\"name\"\n [errorMsg]=\"'name is required' | transloco\">\n <input type=\"text\"\n class=\"form-control\"\n formControlName=\"name\"\n id=\"name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-md-3 col-lg-2 pe-0 cancel-button\"\n *rbacAllow=\"'SuperAdmin'\">\n <div class=\"mb-3\">\n <label class=\"d-sm-block vertical-bottom mb-2\" for=\"Message\">{{\n 'Crm.AccountSourceMessage.IsDefault' | transloco\n }}</label>\n <ui-switch class=\"ms-3 ms-sm-0\"\n name=\"is_default\"\n formControlName=\"is_default\">\n </ui-switch>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n</div>\n" }]
78
78
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CrmService }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLXNvdXJjZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc21hcnQtY3JtL3NyYy9saWIvcHJpdmF0ZS9jb21wb25lbnRzL3NtYXJ0LWNybS1jb25maWd1cmF0aW9uL3NtYXJ0LWNybS1zb3VyY2Uvc21hcnQtY3JtLXNvdXJjZS1kZXRhaWxzL3NtYXJ0LWNybS1zb3VyY2UtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NtYXJ0LWNybS9zcmMvbGliL3ByaXZhdGUvY29tcG9uZW50cy9zbWFydC1jcm0tY29uZmlndXJhdGlvbi9zbWFydC1jcm0tc291cmNlL3NtYXJ0LWNybS1zb3VyY2UtZGV0YWlscy9zbWFydC1jcm0tc291cmNlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFNaEUsTUFBTSxPQUFPLDhCQUErQixTQUFRLGdCQUFnQjtJQWFoRSxZQUNJLFFBQWtCLEVBQ0QsVUFBc0I7UUFFdkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVozQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQWFiLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFB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QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXBwU21hcnRDcm0gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3NtYXJ0LWNybS5tb2RlbCc7XG5pbXBvcnQgeyBDcm1TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL3NtYXJ0LWNybS1zaGFyZWQnO1xuXG5pbXBvcnQgeyBDcm1Tb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2NybS1zb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1zbWFydC1jcm0tc291cmNlLWRldGFpbHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1jcm0tc291cmNlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0Q3JtU291cmNlRGV0YWlsc0NvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIHN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgc291cmNlRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICAgIGRhdGE6IENybVNvdXJjZTtcblxuICAgIHNvdXJjZUlkOiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNybVNlcnZpY2U6IENybVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLnNvdXJjZUZvcm0gPSBBcHBTbWFydENybS5nZXRTb3VyY2VGb3JtKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0VXNlclN1YnNjcmlwdGlvbklkKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSByZXNwb25zZTtcbiAgICAgICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbklkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zb3VyY2VGb3JtLmdldCgnc3Vic2NyaXB0aW9uX2lkJykuc2V0VmFsdWUodGhpcy5zdWJzY3JpcHRpb25JZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNvdXJjZUlkID0gTnVtYmVyKGRhdGFbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKHRoaXMuc291cmNlSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNvdXJjZURldGFpbHModGhpcy5zb3VyY2VJZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBGdW5jdGlvbiB0byBnZXQgc291cmNlIGRldGFpbHMgKi9cbiAgICBwcml2YXRlIGdldFNvdXJjZURldGFpbHMoaWQpIHtcbiAgICAgICAgdGhpcy5jcm1TZXJ2aWNlLmdldEFjY291bnRTb3VyY2VEZXRhaWxzKHRoaXMuc3Vic2NyaXB0aW9uSWQsIGlkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgdGhpcy5zb3VyY2VGb3JtLnBhdGNoVmFsdWUocmVzcG9uc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblNhdmUoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuc291cmNlRm9ybS52YWxpZCkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuc291cmNlRm9ybS52YWx1ZTtcbiAgICAgICAgICAgIGNvbnN0IHN1YiQgPSB0aGlzLnNvdXJjZUlkXG4gICAgICAgICAgICAgICAgPyB0aGlzLmNybVNlcnZpY2UudXBkYXRlQWNjb3VudFNvdXJjZSh0aGlzLnN1YnNjcmlwdGlvbklkLCB0aGlzLnNvdXJjZUlkLCBkYXRhKVxuICAgICAgICAgICAgICAgIDogdGhpcy5jcm1TZXJ2aWNlLnNhdmVBY2NvdW50U291cmNlKHRoaXMuc3Vic2NyaXB0aW9uSWQsIGRhdGEpO1xuICAgICAgICAgICAgc3ViJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0NybS5BY2NvdW50U291cmNlTWVzc2FnZS5VcGRhdGVkTWVzc2FnZScpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJhY2soKTtcbiAgICAgICAgICAgIH0pLmFkZCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBmb3JtIGNvbnRyb2xzICovXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvdXJjZUZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbC0xMiBkLWZsZXggcHMtMFwiPlxuICA8YSBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgdG8gVGFyZ2V0XCJcbiAgICAoY2xpY2spPVwiYmFjaygpXCJcbiAgICBjbGFzcz1cInByZXZpb3VzXCI+PGkgY2xhc3M9XCJmYSBmYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+PC9hPlxuICA8ZGl2IGNsYXNzPVwibWUtYXV0byBjb2wteHMtNlwiPlxuICAgIDxoMyBjbGFzcz1cIm0tc3ViaGVhZGVyX190aXRsZSBtLXN1YmhlYWRlcl9fdGl0bGUtLXNlcGFyYXRvclwiPlxuICAgICAgPHNwYW4+e3sgJ0NybS5BY2NvdW50U291cmNlTWVzc2FnZS5BY2NvdW50U291cmNlJyB8IHRyYW5zbG9jbyB9fTpcbiAgICAgICAge3sgaXNMb2FkaW5nID8gJycgOiAoZGF0YT8ubmFtZSA/IGRhdGE/Lm5hbWUgOiAoJ0xhYmVsLkFkZE5ldycgfCB0cmFuc2xvY28pKSB9fTwvc3Bhbj5cbiAgICA8L2gzPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwidy0xMDAgdGV4dC1jZW50ZXIgbXQtM1wiXG4gICpuZ0lmPVwiaXNMb2FkaW5nXCI+XG4gIDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj4gPC9wLXByb2dyZXNzU3Bpbm5lcj5cbiAgPC9kaXY+XG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIHB3LXRhYiBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgPGRpdiBjbGFzcz1cInAtMiBtdC0zXCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJzb3VyY2VGb3JtXCJcbiAgICAgICpuZ0lmPVwiIWlzTG9hZGluZ1wiXG4gICAgICAobmdTdWJtaXQpPVwib25TYXZlKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS00XCI+XG4gICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbbGFiZWxdPVwiJ0NybS5BY2NvdW50U291cmNlTWVzc2FnZS5OYW1lJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICBuYW1lPVwibmFtZVwiXG4gICAgICAgICAgICBbZXJyb3JNc2ddPVwiJ25hbWUgaXMgcmVxdWlyZWQnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICBpZD1cIm5hbWVcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ25hbWUnXS5lcnJvcnMgfVwiIC8+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTMgY29sLWxnLTIgcGUtMCBjYW5jZWwtYnV0dG9uXCJcbiAgICAgICAgICAqcmJhY0FsbG93PVwiJ1N1cGVyQWRtaW4nXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImQtc20tYmxvY2sgdmVydGljYWwtYm90dG9tIG1iLTJcIiBmb3I9XCJNZXNzYWdlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQ3JtLkFjY291bnRTb3VyY2VNZXNzYWdlLklzRGVmYXVsdCcgfCB0cmFuc2xvY29cbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDx1aS1zd2l0Y2ggY2xhc3M9XCJtcy0zIG1zLXNtLTBcIlxuICAgICAgICAgICAgICBuYW1lPVwiaXNfZGVmYXVsdFwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImlzX2RlZmF1bHRcIj5cbiAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiB0ZXh0LWVuZCBtdC0zXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLWRlZmF1bHQgbWUtMlwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYmFjaygpXCI+XG4gICAgICAgICAgICB7eyAnQnV0dG9uLkNhbmNlbCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgW2J1dHRvbkJ1c3ldPVwiYnV0dG9uQnVzeVwiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPlxuICAgICAgICAgICAge3sgJ0J1dHRvbi5TdWJtaXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY3JtLXNvdXJjZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc21hcnQtY3JtL3NyYy9saWIvcHJpdmF0ZS9jb21wb25lbnRzL3NtYXJ0LWNybS1jb25maWd1cmF0aW9uL3NtYXJ0LWNybS1zb3VyY2Uvc21hcnQtY3JtLXNvdXJjZS1kZXRhaWxzL3NtYXJ0LWNybS1zb3VyY2UtZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NtYXJ0LWNybS9zcmMvbGliL3ByaXZhdGUvY29tcG9uZW50cy9zbWFydC1jcm0tY29uZmlndXJhdGlvbi9zbWFydC1jcm0tc291cmNlL3NtYXJ0LWNybS1zb3VyY2UtZGV0YWlscy9zbWFydC1jcm0tc291cmNlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUd4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7Ozs7QUFNM0UsTUFBTSxPQUFPLDhCQUErQixTQUFRLGdCQUFnQjtJQWFoRSxZQUNJLFFBQWtCLEVBQ0QsVUFBc0I7UUFFdkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVozQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQWFiLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFB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QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDcm1TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL3NtYXJ0LWNybS1zaGFyZWQnO1xuXG5pbXBvcnQgeyBDcm1Tb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlL2NybS1zb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcFNtYXJ0Q3JtIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkL21vZGVscy9zbWFydC1jcm0ubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXNtYXJ0LWNybS1zb3VyY2UtZGV0YWlscycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWNybS1zb3VyY2UtZGV0YWlscy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRDcm1Tb3VyY2VEZXRhaWxzQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuXG4gICAgc3VibWl0dGVkID0gZmFsc2U7XG4gICAgYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgIGlzTG9hZGluZyA9IHRydWU7XG5cbiAgICBzb3VyY2VGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgZGF0YTogQ3JtU291cmNlO1xuXG4gICAgc291cmNlSWQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY3JtU2VydmljZTogQ3JtU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuc291cmNlRm9ybSA9IEFwcFNtYXJ0Q3JtLmdldFNvdXJjZUZvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRVc2VyU3Vic2NyaXB0aW9uSWQoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IHJlc3BvbnNlO1xuICAgICAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNvdXJjZUZvcm0uZ2V0KCdzdWJzY3JpcHRpb25faWQnKS5zZXRWYWx1ZSh0aGlzLnN1YnNjcmlwdGlvbklkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgIHRoaXMuc291cmNlSWQgPSBOdW1iZXIoZGF0YVsnaWQnXSk7XG4gICAgICAgICAgICBpZiAodGhpcy5zb3VyY2VJZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U291cmNlRGV0YWlscyh0aGlzLnNvdXJjZUlkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEZ1bmN0aW9uIHRvIGdldCBzb3VyY2UgZGV0YWlscyAqL1xuICAgIHByaXZhdGUgZ2V0U291cmNlRGV0YWlscyhpZCkge1xuICAgICAgICB0aGlzLmNybVNlcnZpY2UuZ2V0QWNjb3VudFNvdXJjZURldGFpbHModGhpcy5zdWJzY3JpcHRpb25JZCwgaWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICB0aGlzLnNvdXJjZUZvcm0ucGF0Y2hWYWx1ZShyZXNwb25zZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uU2F2ZSgpIHtcbiAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgICAgICBpZiAodGhpcy5zb3VyY2VGb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5zb3VyY2VGb3JtLnZhbHVlO1xuICAgICAgICAgICAgY29uc3Qgc3ViJCA9IHRoaXMuc291cmNlSWRcbiAgICAgICAgICAgICAgICA/IHRoaXMuY3JtU2VydmljZS51cGRhdGVBY2NvdW50U291cmNlKHRoaXMuc3Vic2NyaXB0aW9uSWQsIHRoaXMuc291cmNlSWQsIGRhdGEpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNybVNlcnZpY2Uuc2F2ZUFjY291bnRTb3VyY2UodGhpcy5zdWJzY3JpcHRpb25JZCwgZGF0YSk7XG4gICAgICAgICAgICBzdWIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQ3JtLkFjY291bnRTb3VyY2VNZXNzYWdlLlVwZGF0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuYmFjaygpO1xuICAgICAgICAgICAgfSkuYWRkKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogRnVuY3Rpb24gdG8gZ2V0IGZvcm0gY29udHJvbHMgKi9cbiAgICBnZXQgZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc291cmNlRm9ybS5jb250cm9scztcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sLTEyIGQtZmxleCBwcy0wXCI+XG4gIDxhIGFyaWEtbGFiZWw9XCJOYXZpZ2F0ZSB0byBUYXJnZXRcIlxuICAgIChjbGljayk9XCJiYWNrKClcIlxuICAgIGNsYXNzPVwicHJldmlvdXNcIj48aSBjbGFzcz1cImZhIGZhLWFycm93LWFsdC1jaXJjbGUtbGVmdFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT48L2E+XG4gIDxkaXYgY2xhc3M9XCJtZS1hdXRvIGNvbC14cy02XCI+XG4gICAgPGgzIGNsYXNzPVwibS1zdWJoZWFkZXJfX3RpdGxlIG0tc3ViaGVhZGVyX190aXRsZS0tc2VwYXJhdG9yXCI+XG4gICAgICA8c3Bhbj57eyAnQ3JtLkFjY291bnRTb3VyY2VNZXNzYWdlLkFjY291bnRTb3VyY2UnIHwgdHJhbnNsb2NvIH19OlxuICAgICAgICB7eyBpc0xvYWRpbmcgPyAnJyA6IChkYXRhPy5uYW1lID8gZGF0YT8ubmFtZSA6ICgnTGFiZWwuQWRkTmV3JyB8IHRyYW5zbG9jbykpIH19PC9zcGFuPlxuICAgIDwvaDM+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuICA8L2Rpdj5cbjxkaXYgY2xhc3M9XCJjb250YWluZXItZmx1aWQgcHctdGFiIG92ZXJmbG93LWhpZGRlblwiPlxuICA8ZGl2IGNsYXNzPVwicC0yIG10LTNcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNvdXJjZUZvcm1cIlxuICAgICAgKm5nSWY9XCIhaXNMb2FkaW5nXCJcbiAgICAgIChuZ1N1Ym1pdCk9XCJvblNhdmUoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBtYi0zXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTRcIj5cbiAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtsYWJlbF09XCInQ3JtLkFjY291bnRTb3VyY2VNZXNzYWdlLk5hbWUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIG5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgIFtlcnJvck1zZ109XCInbmFtZSBpcyByZXF1aXJlZCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgIGlkPVwibmFtZVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnbmFtZSddLmVycm9ycyB9XCIgLz5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMyBjb2wtbGctMiBwZS0wIGNhbmNlbC1idXR0b25cIlxuICAgICAgICAgICpyYmFjQWxsb3c9XCInU3VwZXJBZG1pbidcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZC1zbS1ibG9jayB2ZXJ0aWNhbC1ib3R0b20gbWItMlwiIGZvcj1cIk1lc3NhZ2VcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDcm0uQWNjb3VudFNvdXJjZU1lc3NhZ2UuSXNEZWZhdWx0JyB8IHRyYW5zbG9jb1xuICAgICAgICAgICAgICAgICAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICAgICAgPHVpLXN3aXRjaCBjbGFzcz1cIm1zLTMgbXMtc20tMFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJpc19kZWZhdWx0XCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiaXNfZGVmYXVsdFwiPlxuICAgICAgICAgICAgPC91aS1zd2l0Y2g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHRleHQtZW5kIG10LTNcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGVmYXVsdCBtZS0yXCJcbiAgICAgICAgICAgIChjbGljayk9XCJiYWNrKClcIj5cbiAgICAgICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBbYnV0dG9uQnVzeV09XCJidXR0b25CdXN5XCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAgICAgICAgICB7eyAnQnV0dG9uLlN1Ym1pdCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=