@flower-city-online/itinerary-lib 0.0.51 → 0.0.54

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 (113) hide show
  1. package/esm2022/lib/itinerary-app/_services/bottom-navigation.service.mjs +8 -8
  2. package/esm2022/lib/itinerary-app/_services/navigation-helper.service.mjs +128 -0
  3. package/esm2022/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.mjs +20 -17
  4. package/esm2022/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.mjs +5 -4
  5. package/esm2022/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.mjs +6 -5
  6. package/esm2022/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.mjs +6 -5
  7. package/esm2022/lib/itinerary-app/modules/itineraries/itineraries.component.mjs +18 -15
  8. package/esm2022/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.mjs +5 -4
  9. package/esm2022/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.mjs +23 -45
  10. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.mjs +22 -23
  11. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.mjs +21 -20
  12. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.mjs +5 -4
  13. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.mjs +25 -27
  14. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.mjs +7 -6
  15. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.mjs +3 -3
  16. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.mjs +8 -7
  17. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.mjs +7 -6
  18. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.mjs +6 -5
  19. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.mjs +4 -3
  20. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.mjs +19 -16
  21. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.mjs +12 -9
  22. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.mjs +6 -5
  23. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.mjs +19 -18
  24. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.mjs +18 -15
  25. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.mjs +19 -16
  26. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.mjs +15 -14
  27. package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.mjs +18 -15
  28. package/esm2022/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.mjs +5 -4
  29. package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.mjs +13 -10
  30. package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.mjs +13 -10
  31. package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.mjs +15 -12
  32. package/esm2022/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.mjs +30 -44
  33. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.mjs +28 -36
  34. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.mjs +27 -31
  35. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.mjs +22 -17
  36. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.mjs +4 -3
  37. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.mjs +5 -4
  38. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.mjs +5 -4
  39. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.mjs +5 -4
  40. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.mjs +4 -3
  41. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.mjs +5 -4
  42. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.mjs +18 -17
  43. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.mjs +17 -14
  44. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.mjs +14 -9
  45. package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.mjs +14 -9
  46. package/esm2022/lib/itinerary-app/modules/search/pages/main-search/main-search.component.mjs +4 -4
  47. package/esm2022/lib/itinerary-app/shared/bottom-modal/bottom-modal.component.mjs +65 -0
  48. package/esm2022/lib/itinerary-app/shared/card-component/card-component.component.mjs +5 -4
  49. package/esm2022/lib/itinerary-app/shared/comment/comment.component.mjs +19 -18
  50. package/esm2022/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.mjs +17 -12
  51. package/esm2022/lib/itinerary-app/shared/cutom-card/cutom-card.component.mjs +6 -5
  52. package/esm2022/lib/itinerary-app/shared/footer/footer.component.mjs +6 -6
  53. package/esm2022/lib/itinerary-app/shared/header/header.component.mjs +2 -2
  54. package/esm2022/lib/itinerary-app/shared/icon-button/icon-button.component.mjs +37 -10
  55. package/esm2022/lib/itinerary-app/shared/input-field-select/input-field-select.component.mjs +109 -0
  56. package/esm2022/lib/itinerary-app/shared/notification-tile/notification-tile.component.mjs +4 -4
  57. package/esm2022/lib/itinerary-app/shared/popup-modal/popup-modal.component.mjs +85 -0
  58. package/esm2022/lib/itinerary-app/shared/search-bar/search-bar.component.mjs +30 -0
  59. package/esm2022/lib/itinerary-app/shared/search-popup/search-popup.component.mjs +4 -4
  60. package/esm2022/lib/itinerary-app/shared/shared.module.mjs +29 -6
  61. package/fesm2022/flower-city-online-itinerary-lib.mjs +1009 -594
  62. package/fesm2022/flower-city-online-itinerary-lib.mjs.map +1 -1
  63. package/lib/itinerary-app/_services/bottom-navigation.service.d.ts +3 -3
  64. package/lib/itinerary-app/_services/navigation-helper.service.d.ts +19 -0
  65. package/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.d.ts +5 -3
  66. package/lib/itinerary-app/modules/itineraries/itineraries.component.d.ts +3 -1
  67. package/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.d.ts +4 -3
  68. package/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.d.ts +5 -3
  69. package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.d.ts +5 -3
  70. package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.d.ts +4 -3
  71. package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.d.ts +4 -3
  72. package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.d.ts +3 -1
  73. package/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.d.ts +4 -3
  74. package/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.d.ts +4 -3
  75. package/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.d.ts +4 -3
  76. package/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.d.ts +4 -3
  77. package/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.d.ts +4 -3
  78. package/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.d.ts +5 -3
  79. package/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.d.ts +5 -3
  80. package/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.d.ts +3 -1
  81. package/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.d.ts +5 -3
  82. package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.d.ts +6 -4
  83. package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.d.ts +5 -3
  84. package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.d.ts +5 -2
  85. package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.d.ts +5 -3
  86. package/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.d.ts +5 -3
  87. package/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.d.ts +5 -2
  88. package/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.d.ts +5 -2
  89. package/lib/itinerary-app/shared/bottom-modal/bottom-modal.component.d.ts +20 -0
  90. package/lib/itinerary-app/shared/comment/comment.component.d.ts +5 -3
  91. package/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.d.ts +5 -3
  92. package/lib/itinerary-app/shared/icon-button/icon-button.component.d.ts +13 -4
  93. package/lib/itinerary-app/shared/input-field-select/input-field-select.component.d.ts +35 -0
  94. package/lib/itinerary-app/shared/popup-modal/popup-modal.component.d.ts +30 -0
  95. package/lib/itinerary-app/shared/search-bar/search-bar.component.d.ts +12 -0
  96. package/lib/itinerary-app/shared/shared.module.d.ts +11 -7
  97. package/package.json +1 -1
  98. package/src/lib/itinerary-app/_styles/modal.scss +2 -2
  99. package/src/lib/itinerary-app/_styles/styles.scss +327 -327
  100. package/src/lib/itinerary-app/styles.scss +237 -289
  101. package/styles.css +1 -1
  102. package/src/lib/itinerary-app/_styles/component-global-styles/bottom-navigation.scss +0 -19
  103. package/src/lib/itinerary-app/_styles/component-global-styles/create-itinerary.scss +0 -16
  104. package/src/lib/itinerary-app/_styles/component-global-styles/custom-button.scss +0 -32
  105. package/src/lib/itinerary-app/_styles/component-global-styles/custom-menu.scss +0 -38
  106. package/src/lib/itinerary-app/_styles/component-global-styles/dashboard.scss +0 -5
  107. package/src/lib/itinerary-app/_styles/component-global-styles/delete-itineraries.scss +0 -7
  108. package/src/lib/itinerary-app/_styles/component-global-styles/filter-menu.scss +0 -36
  109. package/src/lib/itinerary-app/_styles/component-global-styles/header.scss +0 -22
  110. package/src/lib/itinerary-app/_styles/component-global-styles/navbar.scss +0 -47
  111. package/src/lib/itinerary-app/_styles/component-global-styles/search-bar.scss +0 -17
  112. package/src/lib/itinerary-app/_styles/component-global-styles/side-bar.scss +0 -28
  113. package/src/lib/itinerary-app/_styles/component-global-styles/tab-bar.scss +0 -21
@@ -6,8 +6,9 @@ import * as i1 from "@angular/forms";
6
6
  import * as i2 from "../../../../_services/share-popup-data";
7
7
  import * as i3 from "@angular/router";
8
8
  import * as i4 from "@angular/common";
9
- import * as i5 from "@naniteninja/ionic-lib";
10
- import * as i6 from "@ngx-translate/core";
9
+ import * as i5 from "../../../../shared/search-bar/search-bar.component";
10
+ import * as i6 from "@naniteninja/ionic-lib";
11
+ import * as i7 from "@ngx-translate/core";
11
12
  export class SharePopupComponent {
12
13
  fb;
13
14
  sharePopupDataService;
@@ -67,12 +68,12 @@ export class SharePopupComponent {
67
68
  this.accessType = value;
68
69
  }
69
70
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SharePopupComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SharePopupDataService }, { token: i3.Router }, { token: i4.PlatformLocation }], target: i0.ɵɵFactoryTarget.Component });
70
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SharePopupComponent, selector: "lib-share-popup", outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<div class=\"share-itinerary min-w-[300px] \">\r\n <h2 class=\"title\">Share Itinerary</h2>\r\n\r\n <!-- Add People -->\r\n <lib-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_PEOPLE_GROUP' | translate\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </lib-search-bar>\r\n\r\n <!-- People with Access -->\r\n <div class=\"section font-[Gilroy] font-bold text-[13.px] mt-4 mb-8\">\r\n <h3 class=\"mb-1 access-title\">People with Access</h3>\r\n <div class=\"person flex gap-2\">\r\n <img [src]=\"peopleWithAccess[0].avatar\" alt=\"avatar\" class=\"avatar object-cover\" />\r\n <div class=\"info\">\r\n <div class=\"person-name\">{{ peopleWithAccess[0].name }}</div>\r\n <div class=\"person-email\">{{ peopleWithAccess[0].email }}</div>\r\n </div>\r\n <div class=\"role-text text-[#8B8B8B]\">{{ peopleWithAccess[0].role }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- General Access -->\r\n <div class=\"section\">\r\n <h3 class=\"general-access-title font-[Gilroy] mb-1\">General Access</h3>\r\n <div class=\"access-row\">\r\n <div class=\"icon mt-[7px]\">\r\n <img src=\"assets/icons/restricted_icon.png\" class=\"h-[30px] w-[30px] object-cover p-[6px] rounded-full border-[0.68px] border-white\"/>\r\n </div>\r\n <div [formGroup]=\"accessForm\">\r\n <div class=\"relative inline-block text-white\">\r\n <select formControlName=\"access\" class=\"access-select appearance-none bg-transparent focus:outline-none\">\r\n <option value=\"Restricted\">Restricted</option>\r\n <option value=\"Public\">Public</option>\r\n </select>\r\n\r\n <!-- Custom arrow icon -->\r\n <div class=\"pointer-events-none absolute inset-y-0 right-1 flex items-center pl-6\">\r\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.35156 3.61768L6.40146 0.567782H0.301668L3.35156 3.61768Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n\r\n <div class=\"permission-description\">\r\n <ng-container *ngIf=\"accessType === 'Restricted'\">\r\n {{ \"ITINERARY.RESTRICTED_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"accessType === 'Public'\">\r\n {{ \"ITINERARY.PUBLIC_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"copyLink()\">\r\n {{ \"COMMON.COPY_LINK\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"close()\">\r\n {{ \"COMMON.DONE\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".title{text-align:center;font-family:Calistoga,serif;margin-bottom:20px}.info{flex:1}.name{font-weight:500}.email{font-size:13px;color:#a0a0a0}.role{font-size:14px;color:silver}.access-row{display:flex;align-items:center;gap:10px}.icon{font-size:20px}select{background:transparent;color:#fff;border:1px solid #555;border-radius:6px;padding:4px 8px}.desc{font-size:13px;color:#a0a0a0}.actions{display:flex;justify-content:space-between;margin-top:20px}.copy-btn{color:#f9f4d4;background:transparent;border:none;cursor:pointer;font-weight:600}.done-btn{color:#f85f75;background:transparent;border:none;cursor:pointer;font-weight:600}.access-title{font-size:var(--font-size-medium)}.person-name,.person-email{font-size:var(--font-size-small)}.person-email{font-weight:400}.role-text{font-size:var(--font-size-small);font-weight:400}.general-access-title{font-size:var(--font-size-medium);font-weight:700}.access-select{border:none!important;padding-right:12px;padding-left:0;font-family:var(--font-gilroy-bold);font-size:var(--font-size-small)}.permission-description{font-size:var(--font-size-small);color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.LazyImageDirective, selector: "img" }, { kind: "component", type: i5.SearchBarComponent, selector: "lib-search-bar", inputs: ["placeholderText", "inputText", "order", "clearIcon", "searchIcon"], outputs: ["searchStringChange", "cleared", "focused", "unfocused"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SharePopupComponent, selector: "lib-share-popup", outputs: { closeModal: "closeModal" }, ngImport: i0, template: "<div class=\"share-itinerary min-w-[300px] \">\r\n <h2 class=\"title\">Share Itinerary</h2>\r\n\r\n <!-- Add People -->\r\n <app-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_PEOPLE_GROUP' | translate\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </app-search-bar>\r\n\r\n <!-- People with Access -->\r\n <div class=\"section font-[Gilroy] font-bold text-[13.px] mt-4 mb-8\">\r\n <h3 class=\"mb-1 access-title\">People with Access</h3>\r\n <div class=\"person flex gap-2\">\r\n <img [src]=\"peopleWithAccess[0].avatar\" alt=\"avatar\" class=\"avatar object-cover\" />\r\n <div class=\"info\">\r\n <div class=\"person-name\">{{ peopleWithAccess[0].name }}</div>\r\n <div class=\"person-email\">{{ peopleWithAccess[0].email }}</div>\r\n </div>\r\n <div class=\"role-text text-[#8B8B8B]\">{{ peopleWithAccess[0].role }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- General Access -->\r\n <div class=\"section\">\r\n <h3 class=\"general-access-title font-[Gilroy] mb-1\">General Access</h3>\r\n <div class=\"access-row\">\r\n <div class=\"icon mt-[7px]\">\r\n <img src=\"assets/icons/restricted_icon.png\" class=\"h-[30px] w-[30px] object-cover p-[6px] rounded-full border-[0.68px] border-white\"/>\r\n </div>\r\n <div [formGroup]=\"accessForm\">\r\n <div class=\"relative inline-block text-white\">\r\n <select formControlName=\"access\" class=\"access-select appearance-none bg-transparent focus:outline-none\">\r\n <option value=\"Restricted\">Restricted</option>\r\n <option value=\"Public\">Public</option>\r\n </select>\r\n\r\n <!-- Custom arrow icon -->\r\n <div class=\"pointer-events-none absolute inset-y-0 right-1 flex items-center pl-6\">\r\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.35156 3.61768L6.40146 0.567782H0.301668L3.35156 3.61768Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n\r\n <div class=\"permission-description\">\r\n <ng-container *ngIf=\"accessType === 'Restricted'\">\r\n {{ \"ITINERARY.RESTRICTED_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"accessType === 'Public'\">\r\n {{ \"ITINERARY.PUBLIC_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"copyLink()\">\r\n {{ \"COMMON.COPY_LINK\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"close()\">\r\n {{ \"COMMON.DONE\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".title{text-align:center;font-family:Calistoga,serif;margin-bottom:20px}.info{flex:1}.name{font-weight:500}.email{font-size:13px;color:#a0a0a0}.role{font-size:14px;color:silver}.access-row{display:flex;align-items:center;gap:10px}.icon{font-size:20px}select{background:transparent;color:#fff;border:1px solid #555;border-radius:6px;padding:4px 8px}.desc{font-size:13px;color:#a0a0a0}.actions{display:flex;justify-content:space-between;margin-top:20px}.copy-btn{color:#f9f4d4;background:transparent;border:none;cursor:pointer;font-weight:600}.done-btn{color:#f85f75;background:transparent;border:none;cursor:pointer;font-weight:600}.access-title{font-size:var(--font-size-medium)}.person-name,.person-email{font-size:var(--font-size-small)}.person-email{font-weight:400}.role-text{font-size:var(--font-size-small);font-weight:400}.general-access-title{font-size:var(--font-size-medium);font-weight:700}.access-select{border:none!important;padding-right:12px;padding-left:0;font-family:var(--font-gilroy-bold);font-size:var(--font-size-small)}.permission-description{font-size:var(--font-size-small);color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.SearchBarComponent, selector: "app-search-bar", inputs: ["searchIcon", "placeholderText"], outputs: ["searchStringChange", "cleared"] }, { kind: "directive", type: i6.LazyImageDirective, selector: "img" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
71
72
  }
72
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SharePopupComponent, decorators: [{
73
74
  type: Component,
74
- args: [{ selector: 'lib-share-popup', standalone: false, template: "<div class=\"share-itinerary min-w-[300px] \">\r\n <h2 class=\"title\">Share Itinerary</h2>\r\n\r\n <!-- Add People -->\r\n <lib-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_PEOPLE_GROUP' | translate\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </lib-search-bar>\r\n\r\n <!-- People with Access -->\r\n <div class=\"section font-[Gilroy] font-bold text-[13.px] mt-4 mb-8\">\r\n <h3 class=\"mb-1 access-title\">People with Access</h3>\r\n <div class=\"person flex gap-2\">\r\n <img [src]=\"peopleWithAccess[0].avatar\" alt=\"avatar\" class=\"avatar object-cover\" />\r\n <div class=\"info\">\r\n <div class=\"person-name\">{{ peopleWithAccess[0].name }}</div>\r\n <div class=\"person-email\">{{ peopleWithAccess[0].email }}</div>\r\n </div>\r\n <div class=\"role-text text-[#8B8B8B]\">{{ peopleWithAccess[0].role }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- General Access -->\r\n <div class=\"section\">\r\n <h3 class=\"general-access-title font-[Gilroy] mb-1\">General Access</h3>\r\n <div class=\"access-row\">\r\n <div class=\"icon mt-[7px]\">\r\n <img src=\"assets/icons/restricted_icon.png\" class=\"h-[30px] w-[30px] object-cover p-[6px] rounded-full border-[0.68px] border-white\"/>\r\n </div>\r\n <div [formGroup]=\"accessForm\">\r\n <div class=\"relative inline-block text-white\">\r\n <select formControlName=\"access\" class=\"access-select appearance-none bg-transparent focus:outline-none\">\r\n <option value=\"Restricted\">Restricted</option>\r\n <option value=\"Public\">Public</option>\r\n </select>\r\n\r\n <!-- Custom arrow icon -->\r\n <div class=\"pointer-events-none absolute inset-y-0 right-1 flex items-center pl-6\">\r\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.35156 3.61768L6.40146 0.567782H0.301668L3.35156 3.61768Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n\r\n <div class=\"permission-description\">\r\n <ng-container *ngIf=\"accessType === 'Restricted'\">\r\n {{ \"ITINERARY.RESTRICTED_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"accessType === 'Public'\">\r\n {{ \"ITINERARY.PUBLIC_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"copyLink()\">\r\n {{ \"COMMON.COPY_LINK\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"close()\">\r\n {{ \"COMMON.DONE\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".title{text-align:center;font-family:Calistoga,serif;margin-bottom:20px}.info{flex:1}.name{font-weight:500}.email{font-size:13px;color:#a0a0a0}.role{font-size:14px;color:silver}.access-row{display:flex;align-items:center;gap:10px}.icon{font-size:20px}select{background:transparent;color:#fff;border:1px solid #555;border-radius:6px;padding:4px 8px}.desc{font-size:13px;color:#a0a0a0}.actions{display:flex;justify-content:space-between;margin-top:20px}.copy-btn{color:#f9f4d4;background:transparent;border:none;cursor:pointer;font-weight:600}.done-btn{color:#f85f75;background:transparent;border:none;cursor:pointer;font-weight:600}.access-title{font-size:var(--font-size-medium)}.person-name,.person-email{font-size:var(--font-size-small)}.person-email{font-weight:400}.role-text{font-size:var(--font-size-small);font-weight:400}.general-access-title{font-size:var(--font-size-medium);font-weight:700}.access-select{border:none!important;padding-right:12px;padding-left:0;font-family:var(--font-gilroy-bold);font-size:var(--font-size-small)}.permission-description{font-size:var(--font-size-small);color:#fff}\n"] }]
75
+ args: [{ selector: 'lib-share-popup', standalone: false, template: "<div class=\"share-itinerary min-w-[300px] \">\r\n <h2 class=\"title\">Share Itinerary</h2>\r\n\r\n <!-- Add People -->\r\n <app-search-bar class=\"search-field\" [placeholderText]=\"'SEARCH_PEOPLE_GROUP' | translate\"\r\n [searchIcon]=\"ICONS['dashboardSearch']\">\r\n </app-search-bar>\r\n\r\n <!-- People with Access -->\r\n <div class=\"section font-[Gilroy] font-bold text-[13.px] mt-4 mb-8\">\r\n <h3 class=\"mb-1 access-title\">People with Access</h3>\r\n <div class=\"person flex gap-2\">\r\n <img [src]=\"peopleWithAccess[0].avatar\" alt=\"avatar\" class=\"avatar object-cover\" />\r\n <div class=\"info\">\r\n <div class=\"person-name\">{{ peopleWithAccess[0].name }}</div>\r\n <div class=\"person-email\">{{ peopleWithAccess[0].email }}</div>\r\n </div>\r\n <div class=\"role-text text-[#8B8B8B]\">{{ peopleWithAccess[0].role }}</div>\r\n </div>\r\n </div>\r\n\r\n <!-- General Access -->\r\n <div class=\"section\">\r\n <h3 class=\"general-access-title font-[Gilroy] mb-1\">General Access</h3>\r\n <div class=\"access-row\">\r\n <div class=\"icon mt-[7px]\">\r\n <img src=\"assets/icons/restricted_icon.png\" class=\"h-[30px] w-[30px] object-cover p-[6px] rounded-full border-[0.68px] border-white\"/>\r\n </div>\r\n <div [formGroup]=\"accessForm\">\r\n <div class=\"relative inline-block text-white\">\r\n <select formControlName=\"access\" class=\"access-select appearance-none bg-transparent focus:outline-none\">\r\n <option value=\"Restricted\">Restricted</option>\r\n <option value=\"Public\">Public</option>\r\n </select>\r\n\r\n <!-- Custom arrow icon -->\r\n <div class=\"pointer-events-none absolute inset-y-0 right-1 flex items-center pl-6\">\r\n <svg width=\"7\" height=\"4\" viewBox=\"0 0 7 4\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M3.35156 3.61768L6.40146 0.567782H0.301668L3.35156 3.61768Z\" fill=\"white\"/>\r\n </svg>\r\n </div>\r\n</div>\r\n\r\n <div class=\"permission-description\">\r\n <ng-container *ngIf=\"accessType === 'Restricted'\">\r\n {{ \"ITINERARY.RESTRICTED_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"accessType === 'Public'\">\r\n {{ \"ITINERARY.PUBLIC_ACCESS_MESSAGE\" | translate }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Actions -->\r\n <div class=\"flex justify-center gap-10 mt-5\">\r\n <button class=\"custom-flat-button font-[Calistoga]\" (click)=\"copyLink()\">\r\n {{ \"COMMON.COPY_LINK\" | translate }}\r\n </button>\r\n <button class=\"custom-flat-button-highlighted-font font-[Calistoga]\" (click)=\"close()\">\r\n {{ \"COMMON.DONE\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".title{text-align:center;font-family:Calistoga,serif;margin-bottom:20px}.info{flex:1}.name{font-weight:500}.email{font-size:13px;color:#a0a0a0}.role{font-size:14px;color:silver}.access-row{display:flex;align-items:center;gap:10px}.icon{font-size:20px}select{background:transparent;color:#fff;border:1px solid #555;border-radius:6px;padding:4px 8px}.desc{font-size:13px;color:#a0a0a0}.actions{display:flex;justify-content:space-between;margin-top:20px}.copy-btn{color:#f9f4d4;background:transparent;border:none;cursor:pointer;font-weight:600}.done-btn{color:#f85f75;background:transparent;border:none;cursor:pointer;font-weight:600}.access-title{font-size:var(--font-size-medium)}.person-name,.person-email{font-size:var(--font-size-small)}.person-email{font-weight:400}.role-text{font-size:var(--font-size-small);font-weight:400}.general-access-title{font-size:var(--font-size-medium);font-weight:700}.access-select{border:none!important;padding-right:12px;padding-left:0;font-family:var(--font-gilroy-bold);font-size:var(--font-size-small)}.permission-description{font-size:var(--font-size-small);color:#fff}\n"] }]
75
76
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.SharePopupDataService }, { type: i3.Router }, { type: i4.PlatformLocation }], propDecorators: { closeModal: [{
76
77
  type: Output
77
78
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9jb21wb25lbnRzL3NoYXJlLXBvcHVwL3NoYXJlLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvY29tcG9uZW50cy9zaGFyZS1wb3B1cC9zaGFyZS1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBT3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7OztBQVNoRixNQUFNLE9BQU8sbUJBQW1CO0lBaUJwQjtJQUNBO0lBQ0E7SUFDQTtJQW5CQSxVQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFDcEUsS0FBSyxHQUFVLEtBQUssQ0FBQztJQUNyQixVQUFVLENBQWE7SUFDdkIsU0FBUyxHQUFxQixJQUFJLENBQUM7SUFFbkMsVUFBVSxHQUFHLFlBQVksQ0FBQztJQUMxQixnQkFBZ0IsR0FBRztRQUNqQjtZQUNFLElBQUksRUFBRSxhQUFhO1lBQ25CLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsSUFBSSxFQUFFLE9BQU87WUFDYixNQUFNLEVBQUUsMEJBQTBCLENBQUMscUJBQXFCO1NBQ3pEO0tBQ0YsQ0FBQztJQUVGLFlBQ1UsRUFBZSxFQUNmLHFCQUE0QyxFQUM1QyxNQUFjLEVBQ2QsZ0JBQWtDO1FBSGxDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3pDLENBQUM7SUFFSixpQkFBaUIsQ0FBQyxXQUFtQjtRQUNyQyxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtZQUN0RSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVyRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztZQUN0QyxxQkFBcUIsQ0FBQyxTQUFTO1lBQy9CLHFCQUFxQixDQUFDLGdCQUFnQjtZQUN0QyxXQUFXO1NBQ1osQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxHQUFHLFdBQVcsQ0FBQztRQUN0QyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDOUIsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsZ0JBQWdCO1NBQ3hDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxLQUFhO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7d0dBOURVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDhGQ2pCaEMsdTRGQWlFQTs7NEZEaERhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxpQkFBaUIsY0FHZixLQUFLO3dLQUdULFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi9fY29uc3RhbnRzL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IElpY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2ludGVyZmFjZS9pY29uJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2hhcmVQb3B1cERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vX3NlcnZpY2VzL3NoYXJlLXBvcHVwLWRhdGEnO1xyXG5pbXBvcnQgeyBJdGluZXJhcnkgfSBmcm9tICcuLi8uLi8uLi8uLi9fbW9kZWxzL0l0aW5lcmFyeSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFBsYXRmb3JtTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJdGluZXJhcmllc1JvdXRlc0VudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9fZW51bXMvSXRlbmFyaWVzUm91dGVzLmVudW0nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItc2hhcmUtcG9wdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9zaGFyZS1wb3B1cC5jb21wb25lbnQuc2NzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGNsb3NlTW9kYWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuICBhY2Nlc3NGb3JtITogRm9ybUdyb3VwO1xyXG4gIGl0aW5lcmFyeTogSXRpbmVyYXJ5IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGFjY2Vzc1R5cGUgPSAnUmVzdHJpY3RlZCc7XHJcbiAgcGVvcGxlV2l0aEFjY2VzcyA9IFtcclxuICAgIHtcclxuICAgICAgbmFtZTogJ00gQWxpICh5b3UpJyxcclxuICAgICAgZW1haWw6ICdtYWxpQGdtYWlsLmNvbScsXHJcbiAgICAgIHJvbGU6ICdPd25lcicsXHJcbiAgICAgIGF2YXRhcjogJ2Fzc2V0cy9pbWFnZXMvaW1hZ2U3LmpwZycgLy8gRXhhbXBsZSBhdmF0YXIgVVJMXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgc2hhcmVQb3B1cERhdGFTZXJ2aWNlOiBTaGFyZVBvcHVwRGF0YVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybUxvY2F0aW9uOiBQbGF0Zm9ybUxvY2F0aW9uXHJcbiAgKSB7fVxyXG5cclxuICBjb3B5QnV0dG9uQ2xpY2tlZChpdGluZXJhcnlJZDogc3RyaW5nKSB7XHJcbiAgY29uc3QgYmFzZVVybCA9IGAke3RoaXMucGxhdGZvcm1Mb2NhdGlvbi5wcm90b2NvbH0vLyR7dGhpcy5wbGF0Zm9ybUxvY2F0aW9uLmhvc3RuYW1lfWAgK1xyXG4gICAgICAgICAgICAgICAgICAodGhpcy5wbGF0Zm9ybUxvY2F0aW9uLnBvcnQgPyBgOiR7dGhpcy5wbGF0Zm9ybUxvY2F0aW9uLnBvcnR9YCA6ICcnKTtcclxuXHJcbiAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoW1xyXG4gICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZLFxyXG4gICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZX0RFVEFJTCxcclxuICAgICAgaXRpbmVyYXJ5SWRcclxuICAgIF0pO1xyXG4gICAgY29uc3QgcmVsYXRpdmVVcmwgPSB0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodXJsVHJlZSk7XHJcbiAgICBjb25zdCBmdWxsVXJsID0gYmFzZVVybCArIHJlbGF0aXZlVXJsO1xyXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZnVsbFVybCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgY29weUxpbmsoKSB7XHJcbiAgICBpZih0aGlzLml0aW5lcmFyeSkge1xyXG4gICAgICB0aGlzLmNvcHlCdXR0b25DbGlja2VkKHRoaXMuaXRpbmVyYXJ5LmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZU1vZGFsLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hY2Nlc3NGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGFjY2VzczogWydSZXN0cmljdGVkJ10gLy8gZGVmYXVsdCB2YWx1ZVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFjY2Vzc0Zvcm0uZ2V0KCdhY2Nlc3MnKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMucGVyZm9ybUFjdGlvbkJhc2VkT25BY2Nlc3ModmFsdWUpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNoYXJlUG9wdXBEYXRhU2VydmljZS5wb3B1cERhdGEkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLml0aW5lcmFyeSA9IGRhdGE7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHBlcmZvcm1BY3Rpb25CYXNlZE9uQWNjZXNzKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYWNjZXNzVHlwZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNoYXJlLWl0aW5lcmFyeSBtaW4tdy1bMzAwcHhdIFwiPlxyXG4gIDxoMiBjbGFzcz1cInRpdGxlXCI+U2hhcmUgSXRpbmVyYXJ5PC9oMj5cclxuXHJcbiAgPCEtLSBBZGQgUGVvcGxlIC0tPlxyXG4gIDxsaWItc2VhcmNoLWJhciBjbGFzcz1cInNlYXJjaC1maWVsZFwiIFtwbGFjZWhvbGRlclRleHRdPVwiJ1NFQVJDSF9QRU9QTEVfR1JPVVAnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgIFtzZWFyY2hJY29uXT1cIklDT05TWydkYXNoYm9hcmRTZWFyY2gnXVwiPlxyXG4gIDwvbGliLXNlYXJjaC1iYXI+XHJcblxyXG4gIDwhLS0gUGVvcGxlIHdpdGggQWNjZXNzIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJzZWN0aW9uIGZvbnQtW0dpbHJveV0gZm9udC1ib2xkIHRleHQtWzEzLnB4XSBtdC00IG1iLThcIj5cclxuICAgIDxoMyBjbGFzcz1cIm1iLTEgYWNjZXNzLXRpdGxlXCI+UGVvcGxlIHdpdGggQWNjZXNzPC9oMz5cclxuICAgIDxkaXYgY2xhc3M9XCJwZXJzb24gZmxleCBnYXAtMlwiPlxyXG4gICAgICA8aW1nIFtzcmNdPVwicGVvcGxlV2l0aEFjY2Vzc1swXS5hdmF0YXJcIiBhbHQ9XCJhdmF0YXJcIiBjbGFzcz1cImF2YXRhciBvYmplY3QtY292ZXJcIiAvPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5mb1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXJzb24tbmFtZVwiPnt7IHBlb3BsZVdpdGhBY2Nlc3NbMF0ubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXJzb24tZW1haWxcIj57eyBwZW9wbGVXaXRoQWNjZXNzWzBdLmVtYWlsIH19PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm9sZS10ZXh0IHRleHQtWyM4QjhCOEJdXCI+e3sgcGVvcGxlV2l0aEFjY2Vzc1swXS5yb2xlIH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBHZW5lcmFsIEFjY2VzcyAtLT5cclxuICA8ZGl2IGNsYXNzPVwic2VjdGlvblwiPlxyXG4gICAgPGgzIGNsYXNzPVwiZ2VuZXJhbC1hY2Nlc3MtdGl0bGUgIGZvbnQtW0dpbHJveV0gbWItMVwiPkdlbmVyYWwgQWNjZXNzPC9oMz5cclxuICAgIDxkaXYgY2xhc3M9XCJhY2Nlc3Mtcm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uIG10LVs3cHhdXCI+XHJcbiAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvaWNvbnMvcmVzdHJpY3RlZF9pY29uLnBuZ1wiIGNsYXNzPVwiaC1bMzBweF0gdy1bMzBweF0gb2JqZWN0LWNvdmVyIHAtWzZweF0gcm91bmRlZC1mdWxsIGJvcmRlci1bMC42OHB4XSBib3JkZXItd2hpdGVcIi8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiYWNjZXNzRm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBpbmxpbmUtYmxvY2sgdGV4dC13aGl0ZVwiPlxyXG4gICAgICAgICAgPHNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhY2Nlc3NcIiBjbGFzcz1cImFjY2Vzcy1zZWxlY3QgYXBwZWFyYW5jZS1ub25lIGJnLXRyYW5zcGFyZW50IGZvY3VzOm91dGxpbmUtbm9uZVwiPlxyXG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiUmVzdHJpY3RlZFwiPlJlc3RyaWN0ZWQ8L29wdGlvbj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlB1YmxpY1wiPlB1YmxpYzwvb3B0aW9uPlxyXG4gICAgICAgICAgPC9zZWxlY3Q+XHJcblxyXG4gICAgICAgICAgPCEtLSBDdXN0b20gYXJyb3cgaWNvbiAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb2ludGVyLWV2ZW50cy1ub25lIGFic29sdXRlIGluc2V0LXktMCByaWdodC0xIGZsZXggaXRlbXMtY2VudGVyIHBsLTZcIj5cclxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjdcIiBoZWlnaHQ9XCI0XCIgdmlld0JveD1cIjAgMCA3IDRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMuMzUxNTYgMy42MTc2OEw2LjQwMTQ2IDAuNTY3NzgySDAuMzAxNjY4TDMuMzUxNTYgMy42MTc2OFpcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVybWlzc2lvbi1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjY2Vzc1R5cGUgPT09ICdSZXN0cmljdGVkJ1wiPlxyXG4gICAgICAgICAgICB7eyBcIklUSU5FUkFSWS5SRVNUUklDVEVEX0FDQ0VTU19NRVNTQUdFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAgKm5nSWY9XCJhY2Nlc3NUeXBlID09PSAnUHVibGljJ1wiPlxyXG4gICAgICAgICAgICB7eyBcIklUSU5FUkFSWS5QVUJMSUNfQUNDRVNTX01FU1NBR0VcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gQWN0aW9ucyAtLT5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBnYXAtMTAgbXQtNVwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImN1c3RvbS1mbGF0LWJ1dHRvbiBmb250LVtDYWxpc3RvZ2FdXCIgKGNsaWNrKT1cImNvcHlMaW5rKClcIj5cclxuICAgICAge3sgXCJDT01NT04uQ09QWV9MSU5LXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImN1c3RvbS1mbGF0LWJ1dHRvbi1oaWdobGlnaHRlZC1mb250IGZvbnQtW0NhbGlzdG9nYV1cIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxyXG4gICAgICB7eyBcIkNPTU1PTi5ET05FXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9jb21wb25lbnRzL3NoYXJlLXBvcHVwL3NoYXJlLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvY29tcG9uZW50cy9zaGFyZS1wb3B1cC9zaGFyZS1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBT3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7QUFTaEYsTUFBTSxPQUFPLG1CQUFtQjtJQWlCcEI7SUFDQTtJQUNBO0lBQ0E7SUFuQkEsVUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ3BFLEtBQUssR0FBVSxLQUFLLENBQUM7SUFDckIsVUFBVSxDQUFhO0lBQ3ZCLFNBQVMsR0FBcUIsSUFBSSxDQUFDO0lBRW5DLFVBQVUsR0FBRyxZQUFZLENBQUM7SUFDMUIsZ0JBQWdCLEdBQUc7UUFDakI7WUFDRSxJQUFJLEVBQUUsYUFBYTtZQUNuQixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLElBQUksRUFBRSxPQUFPO1lBQ2IsTUFBTSxFQUFFLDBCQUEwQixDQUFDLHFCQUFxQjtTQUN6RDtLQUNGLENBQUM7SUFFRixZQUNVLEVBQWUsRUFDZixxQkFBNEMsRUFDNUMsTUFBYyxFQUNkLGdCQUFrQztRQUhsQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN6QyxDQUFDO0lBRUosaUJBQWlCLENBQUMsV0FBbUI7UUFDckMsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7WUFDdEUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDdEMscUJBQXFCLENBQUMsU0FBUztZQUMvQixxQkFBcUIsQ0FBQyxnQkFBZ0I7WUFDdEMsV0FBVztTQUNaLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sR0FBRyxXQUFXLENBQUM7UUFDdEMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzlCLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLGdCQUFnQjtTQUN4QyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsS0FBYTtRQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO3dHQTlEVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw4RkNqQmhDLHU0RkFpRUE7OzRGRGhEYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksaUJBQWlCLGNBR2YsS0FBSzt3S0FHVCxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNoYXJlUG9wdXBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9zaGFyZS1wb3B1cC1kYXRhJztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vX21vZGVscy9JdGluZXJhcnknO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBQbGF0Zm9ybUxvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2VudW1zL0l0ZW5hcmllc1JvdXRlcy5lbnVtJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLXNoYXJlLXBvcHVwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaGFyZS1wb3B1cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vc2hhcmUtcG9wdXAuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFNoYXJlUG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBjbG9zZU1vZGFsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcbiAgYWNjZXNzRm9ybSE6IEZvcm1Hcm91cDtcclxuICBpdGluZXJhcnk6IEl0aW5lcmFyeSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBhY2Nlc3NUeXBlID0gJ1Jlc3RyaWN0ZWQnO1xyXG4gIHBlb3BsZVdpdGhBY2Nlc3MgPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdNIEFsaSAoeW91KScsXHJcbiAgICAgIGVtYWlsOiAnbWFsaUBnbWFpbC5jb20nLFxyXG4gICAgICByb2xlOiAnT3duZXInLFxyXG4gICAgICBhdmF0YXI6ICdhc3NldHMvaW1hZ2VzL2ltYWdlNy5qcGcnIC8vIEV4YW1wbGUgYXZhdGFyIFVSTFxyXG4gICAgfVxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIHNoYXJlUG9wdXBEYXRhU2VydmljZTogU2hhcmVQb3B1cERhdGFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcGxhdGZvcm1Mb2NhdGlvbjogUGxhdGZvcm1Mb2NhdGlvblxyXG4gICkge31cclxuXHJcbiAgY29weUJ1dHRvbkNsaWNrZWQoaXRpbmVyYXJ5SWQ6IHN0cmluZykge1xyXG4gIGNvbnN0IGJhc2VVcmwgPSBgJHt0aGlzLnBsYXRmb3JtTG9jYXRpb24ucHJvdG9jb2x9Ly8ke3RoaXMucGxhdGZvcm1Mb2NhdGlvbi5ob3N0bmFtZX1gICtcclxuICAgICAgICAgICAgICAgICAgKHRoaXMucGxhdGZvcm1Mb2NhdGlvbi5wb3J0ID8gYDoke3RoaXMucGxhdGZvcm1Mb2NhdGlvbi5wb3J0fWAgOiAnJyk7XHJcblxyXG4gIGNvbnN0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFtcclxuICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWSxcclxuICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWV9ERVRBSUwsXHJcbiAgICAgIGl0aW5lcmFyeUlkXHJcbiAgICBdKTtcclxuICAgIGNvbnN0IHJlbGF0aXZlVXJsID0gdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpO1xyXG4gICAgY29uc3QgZnVsbFVybCA9IGJhc2VVcmwgKyByZWxhdGl2ZVVybDtcclxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGZ1bGxVcmwpO1xyXG4gIH1cclxuXHJcblxyXG4gIGNvcHlMaW5rKCkge1xyXG4gICAgaWYodGhpcy5pdGluZXJhcnkpIHtcclxuICAgICAgdGhpcy5jb3B5QnV0dG9uQ2xpY2tlZCh0aGlzLml0aW5lcmFyeS5pZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYWNjZXNzRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBhY2Nlc3M6IFsnUmVzdHJpY3RlZCddIC8vIGRlZmF1bHQgdmFsdWVcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hY2Nlc3NGb3JtLmdldCgnYWNjZXNzJyk/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLnBlcmZvcm1BY3Rpb25CYXNlZE9uQWNjZXNzKHZhbHVlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaGFyZVBvcHVwRGF0YVNlcnZpY2UucG9wdXBEYXRhJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy5pdGluZXJhcnkgPSBkYXRhO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwZXJmb3JtQWN0aW9uQmFzZWRPbkFjY2Vzcyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmFjY2Vzc1R5cGUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzaGFyZS1pdGluZXJhcnkgbWluLXctWzMwMHB4XSBcIj5cclxuICA8aDIgY2xhc3M9XCJ0aXRsZVwiPlNoYXJlIEl0aW5lcmFyeTwvaDI+XHJcblxyXG4gIDwhLS0gQWRkIFBlb3BsZSAtLT5cclxuICA8YXBwLXNlYXJjaC1iYXIgY2xhc3M9XCJzZWFyY2gtZmllbGRcIiBbcGxhY2Vob2xkZXJUZXh0XT1cIidTRUFSQ0hfUEVPUExFX0dST1VQJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICBbc2VhcmNoSWNvbl09XCJJQ09OU1snZGFzaGJvYXJkU2VhcmNoJ11cIj5cclxuICA8L2FwcC1zZWFyY2gtYmFyPlxyXG5cclxuICA8IS0tIFBlb3BsZSB3aXRoIEFjY2VzcyAtLT5cclxuICA8ZGl2IGNsYXNzPVwic2VjdGlvbiBmb250LVtHaWxyb3ldIGZvbnQtYm9sZCB0ZXh0LVsxMy5weF0gbXQtNCBtYi04XCI+XHJcbiAgICA8aDMgY2xhc3M9XCJtYi0xIGFjY2Vzcy10aXRsZVwiPlBlb3BsZSB3aXRoIEFjY2VzczwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwicGVyc29uIGZsZXggZ2FwLTJcIj5cclxuICAgICAgPGltZyBbc3JjXT1cInBlb3BsZVdpdGhBY2Nlc3NbMF0uYXZhdGFyXCIgYWx0PVwiYXZhdGFyXCIgY2xhc3M9XCJhdmF0YXIgb2JqZWN0LWNvdmVyXCIgLz5cclxuICAgICAgPGRpdiBjbGFzcz1cImluZm9cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVyc29uLW5hbWVcIj57eyBwZW9wbGVXaXRoQWNjZXNzWzBdLm5hbWUgfX08L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGVyc29uLWVtYWlsXCI+e3sgcGVvcGxlV2l0aEFjY2Vzc1swXS5lbWFpbCB9fTwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvbGUtdGV4dCB0ZXh0LVsjOEI4QjhCXVwiPnt7IHBlb3BsZVdpdGhBY2Nlc3NbMF0ucm9sZSB9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gR2VuZXJhbCBBY2Nlc3MgLS0+XHJcbiAgPGRpdiBjbGFzcz1cInNlY3Rpb25cIj5cclxuICAgIDxoMyBjbGFzcz1cImdlbmVyYWwtYWNjZXNzLXRpdGxlICBmb250LVtHaWxyb3ldIG1iLTFcIj5HZW5lcmFsIEFjY2VzczwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYWNjZXNzLXJvd1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaWNvbiBtdC1bN3B4XVwiPlxyXG4gICAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ljb25zL3Jlc3RyaWN0ZWRfaWNvbi5wbmdcIiBjbGFzcz1cImgtWzMwcHhdIHctWzMwcHhdIG9iamVjdC1jb3ZlciBwLVs2cHhdIHJvdW5kZWQtZnVsbCBib3JkZXItWzAuNjhweF0gYm9yZGVyLXdoaXRlXCIvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImFjY2Vzc0Zvcm1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaW5saW5lLWJsb2NrIHRleHQtd2hpdGVcIj5cclxuICAgICAgICAgIDxzZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWNjZXNzXCIgY2xhc3M9XCJhY2Nlc3Mtc2VsZWN0IGFwcGVhcmFuY2Utbm9uZSBiZy10cmFuc3BhcmVudCBmb2N1czpvdXRsaW5lLW5vbmVcIj5cclxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlJlc3RyaWN0ZWRcIj5SZXN0cmljdGVkPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJQdWJsaWNcIj5QdWJsaWM8L29wdGlvbj5cclxuICAgICAgICAgIDwvc2VsZWN0PlxyXG5cclxuICAgICAgICAgIDwhLS0gQ3VzdG9tIGFycm93IGljb24gLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC15LTAgcmlnaHQtMSBmbGV4IGl0ZW1zLWNlbnRlciBwbC02XCI+XHJcbiAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI3XCIgaGVpZ2h0PVwiNFwiIHZpZXdCb3g9XCIwIDAgNyA0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggZD1cIk0zLjM1MTU2IDMuNjE3NjhMNi40MDE0NiAwLjU2Nzc4MkgwLjMwMTY2OEwzLjM1MTU2IDMuNjE3NjhaXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBlcm1pc3Npb24tZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY2Nlc3NUeXBlID09PSAnUmVzdHJpY3RlZCdcIj5cclxuICAgICAgICAgICAge3sgXCJJVElORVJBUlkuUkVTVFJJQ1RFRF9BQ0NFU1NfTUVTU0FHRVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgICpuZ0lmPVwiYWNjZXNzVHlwZSA9PT0gJ1B1YmxpYydcIj5cclxuICAgICAgICAgICAge3sgXCJJVElORVJBUlkuUFVCTElDX0FDQ0VTU19NRVNTQUdFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIEFjdGlvbnMgLS0+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgZ2FwLTEwIG10LTVcIj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJjdXN0b20tZmxhdC1idXR0b24gZm9udC1bQ2FsaXN0b2dhXVwiIChjbGljayk9XCJjb3B5TGluaygpXCI+XHJcbiAgICAgIHt7IFwiQ09NTU9OLkNPUFlfTElOS1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gY2xhc3M9XCJjdXN0b20tZmxhdC1idXR0b24taGlnaGxpZ2h0ZWQtZm9udCBmb250LVtDYWxpc3RvZ2FdXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cclxuICAgICAge3sgXCJDT01NT04uRE9ORVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -6,32 +6,35 @@ import * as i1 from "@angular/router";
6
6
  import * as i2 from "../../_services/modal.service";
7
7
  import * as i3 from "../../_services/modal.shareurlservice";
8
8
  import * as i4 from "@angular/common";
9
- import * as i5 from "../../shared/tab-bar/tab-bar.component";
10
- import * as i6 from "../../shared/header/header.component";
11
- import * as i7 from "../../shared/footer/footer.component";
12
- import * as i8 from "@naniteninja/ionic-lib";
13
- import * as i9 from "./components/report-itinerary-modal/report-itinerary-modal.component";
14
- import * as i10 from "./components/share-popup/share-popup.component";
15
- import * as i11 from "./components/app-header-desktop/app-header-desktop.component";
16
- import * as i12 from "./components/app-sidebar-desktop/app-sidebar-desktop.component";
17
- import * as i13 from "@ngx-translate/core";
9
+ import * as i5 from "../../_services/navigation-helper.service";
10
+ import * as i6 from "../../shared/tab-bar/tab-bar.component";
11
+ import * as i7 from "../../shared/header/header.component";
12
+ import * as i8 from "../../shared/footer/footer.component";
13
+ import * as i9 from "@naniteninja/ionic-lib";
14
+ import * as i10 from "./components/report-itinerary-modal/report-itinerary-modal.component";
15
+ import * as i11 from "./components/share-popup/share-popup.component";
16
+ import * as i12 from "./components/app-header-desktop/app-header-desktop.component";
17
+ import * as i13 from "./components/app-sidebar-desktop/app-sidebar-desktop.component";
18
+ import * as i14 from "@ngx-translate/core";
18
19
  export class ItinerariesComponent {
19
20
  router;
20
21
  modalService;
21
22
  shareModalService;
22
23
  location;
24
+ navHelper;
23
25
  ICONS = ICONS;
24
- constructor(router, modalService, shareModalService, location) {
26
+ constructor(router, modalService, shareModalService, location, navHelper) {
25
27
  this.router = router;
26
28
  this.modalService = modalService;
27
29
  this.shareModalService = shareModalService;
28
30
  this.location = location;
31
+ this.navHelper = navHelper;
29
32
  }
30
33
  backButtonClick() {
31
34
  this.location.back();
32
35
  }
33
36
  searchButtonClick() {
34
- this.router.navigate([ItinerariesRoutesEnum.SEARCH]).then((_r) => { });
37
+ this.navHelper.navigate([ItinerariesRoutesEnum.SEARCH]);
35
38
  }
36
39
  closeUrlShareModal() {
37
40
  this.shareModalService.toggleModal = !this.shareModalService.toggleModal;
@@ -40,11 +43,11 @@ export class ItinerariesComponent {
40
43
  navigator.clipboard.writeText(window.location.origin + ItinerariesRoutesEnum.ITINERARY
41
44
  + '/' + ItinerariesRoutesEnum.ITINERARY_DETAIL);
42
45
  }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ItinerariesComponent, deps: [{ token: i1.Router }, { token: i2.ModalService }, { token: i3.ModalShareUrlClientService }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ItinerariesComponent, selector: "app-home", ngImport: i0, template: "<lib-app-header-desktop></lib-app-header-desktop>\r\n<div\r\n class=\"pl-2 pr-4 sticky top-0 left-0 z-10 block md:hidden\"\r\n style=\"background-color: #27242c\"\r\n>\r\n <ng-template #search>\r\n <img [src]=\"ICONS['search']\" alt=\"right-icon\" (click)=\"searchButtonClick()\" />\r\n </ng-template>\r\n\r\n <app-header\r\n (firstButton)=\"backButtonClick()\"\r\n [heading]=\"'SIDEBAR.ITINERARIES' | translate\"\r\n [headerSuffixTemplate]=\"search\"\r\n ></app-header>\r\n <app-tab-bar></app-tab-bar>\r\n</div>\r\n<div class=\"flex\">\r\n<lib-app-sidebar-desktop></lib-app-sidebar-desktop>\r\n<div\r\n class=\"min-screen-main w-screen max-padd-container bg-transparent md:bg-[#686868] mobile-height-adjust-outer\"\r\n>\r\n <div\r\n class=\"minScreen pl-4 pr-4 mobile-height-adjust\"\r\n >\r\n <router-outlet></router-outlet>\r\n </div>\r\n <lib-popup [isOpen]=\"modalService.toggleModal\">\r\n <app-report-itinerary-modal\r\n [popupTitle]=\"'Report Itinerary'\"\r\n ></app-report-itinerary-modal>\r\n </lib-popup>\r\n <app-footer></app-footer>\r\n <lib-popup [customClass]=\"'custom-popup-container'\" [isOpen]=\"shareModalService.toggleModal\">\r\n <lib-share-popup (closeModal)=\"closeUrlShareModal()\" (copyClicked)=\"copyButtonClicked()\"></lib-share-popup>\r\n </lib-popup>\r\n</div>\r\n</div>\r\n\r\n", styles: [".min-screen-main{overflow-y:auto!important}.bottom-padding{min-height:10px}.min-screen{padding-bottom:60px}@media (max-width: 767px){.mobile-height-adjust{height:calc(100% - 102px)!important}.mobile-height-adjust-outer{height:calc(100% - 103px)!important}}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i5.TabBarComponent, selector: "app-tab-bar", inputs: ["tabMenuItems"] }, { kind: "component", type: i6.HeaderComponent, selector: "app-header", inputs: ["heading", "headerRightIcon", "titleIcon", "cssClass", "headerSuffixTemplate"], outputs: ["firstButton", "titleIconClick"] }, { kind: "component", type: i7.FooterComponent, selector: "app-footer" }, { kind: "component", type: i8.LibModalComponent, selector: "lib-popup", inputs: ["isOpen", "icon", "title", "message", "extendedMessage", "cancelButton", "confirmButton", "checkboxText", "progBarCurrentStep", "progBarTotalSteps", "customClass", "backdropDismiss", "modalComponent", "modalComponentData"], outputs: ["modalConfirm", "modalDismiss", "afterCloseEvent"] }, { kind: "directive", type: i8.LazyImageDirective, selector: "img" }, { kind: "component", type: i9.ReportItineraryModalComponent, selector: "app-report-itinerary-modal", inputs: ["popupTitle"] }, { kind: "component", type: i10.SharePopupComponent, selector: "lib-share-popup", outputs: ["closeModal"] }, { kind: "component", type: i11.AppHeaderDesktopComponent, selector: "lib-app-header-desktop" }, { kind: "component", type: i12.AppSidebarDesktopComponent, selector: "lib-app-sidebar-desktop" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ItinerariesComponent, deps: [{ token: i1.Router }, { token: i2.ModalService }, { token: i3.ModalShareUrlClientService }, { token: i4.Location }, { token: i5.NavigationHelperService }], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ItinerariesComponent, selector: "app-home", ngImport: i0, template: "<lib-app-header-desktop></lib-app-header-desktop>\r\n<div\r\n class=\"pl-2 pr-4 sticky top-0 left-0 z-10 block md:hidden\"\r\n style=\"background-color: #27242c\"\r\n>\r\n <ng-template #search>\r\n <img [src]=\"ICONS['search']\" alt=\"right-icon\" (click)=\"searchButtonClick()\" />\r\n </ng-template>\r\n\r\n <app-header\r\n (firstButton)=\"backButtonClick()\"\r\n [heading]=\"'SIDEBAR.ITINERARIES' | translate\"\r\n [headerSuffixTemplate]=\"search\"\r\n ></app-header>\r\n <app-tab-bar></app-tab-bar>\r\n</div>\r\n<div class=\"flex\">\r\n<lib-app-sidebar-desktop></lib-app-sidebar-desktop>\r\n<div\r\n class=\"min-screen-main w-screen max-padd-container bg-transparent md:bg-[#686868] mobile-height-adjust-outer\"\r\n>\r\n <div\r\n class=\"minScreen pl-4 pr-4 mobile-height-adjust\"\r\n >\r\n <router-outlet></router-outlet>\r\n </div>\r\n <lib-popup [isOpen]=\"modalService.toggleModal\">\r\n <app-report-itinerary-modal\r\n [popupTitle]=\"'Report Itinerary'\"\r\n ></app-report-itinerary-modal>\r\n </lib-popup>\r\n <app-footer></app-footer>\r\n <lib-popup [customClass]=\"'custom-popup-container'\" [isOpen]=\"shareModalService.toggleModal\">\r\n <lib-share-popup (closeModal)=\"closeUrlShareModal()\" (copyClicked)=\"copyButtonClicked()\"></lib-share-popup>\r\n </lib-popup>\r\n</div>\r\n</div>\r\n\r\n", styles: [".min-screen-main{overflow-y:auto!important}.bottom-padding{min-height:10px}.min-screen{padding-bottom:60px}@media (max-width: 767px){.mobile-height-adjust{height:calc(100% - 102px)!important}.mobile-height-adjust-outer{height:calc(100% - 103px)!important}}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i6.TabBarComponent, selector: "app-tab-bar", inputs: ["tabMenuItems"] }, { kind: "component", type: i7.HeaderComponent, selector: "app-header", inputs: ["heading", "headerRightIcon", "titleIcon", "cssClass", "headerSuffixTemplate"], outputs: ["firstButton", "titleIconClick"] }, { kind: "component", type: i8.FooterComponent, selector: "app-footer" }, { kind: "component", type: i9.LibModalComponent, selector: "lib-popup", inputs: ["isOpen", "icon", "title", "message", "extendedMessage", "cancelButton", "confirmButton", "checkboxText", "progBarCurrentStep", "progBarTotalSteps", "customClass", "backdropDismiss", "modalComponent", "modalComponentData"], outputs: ["modalConfirm", "modalDismiss", "afterCloseEvent"] }, { kind: "directive", type: i9.LazyImageDirective, selector: "img" }, { kind: "component", type: i10.ReportItineraryModalComponent, selector: "app-report-itinerary-modal", inputs: ["popupTitle"] }, { kind: "component", type: i11.SharePopupComponent, selector: "lib-share-popup", outputs: ["closeModal"] }, { kind: "component", type: i12.AppHeaderDesktopComponent, selector: "lib-app-header-desktop" }, { kind: "component", type: i13.AppSidebarDesktopComponent, selector: "lib-app-sidebar-desktop" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
48
  }
46
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ItinerariesComponent, decorators: [{
47
50
  type: Component,
48
51
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-home', standalone: false, template: "<lib-app-header-desktop></lib-app-header-desktop>\r\n<div\r\n class=\"pl-2 pr-4 sticky top-0 left-0 z-10 block md:hidden\"\r\n style=\"background-color: #27242c\"\r\n>\r\n <ng-template #search>\r\n <img [src]=\"ICONS['search']\" alt=\"right-icon\" (click)=\"searchButtonClick()\" />\r\n </ng-template>\r\n\r\n <app-header\r\n (firstButton)=\"backButtonClick()\"\r\n [heading]=\"'SIDEBAR.ITINERARIES' | translate\"\r\n [headerSuffixTemplate]=\"search\"\r\n ></app-header>\r\n <app-tab-bar></app-tab-bar>\r\n</div>\r\n<div class=\"flex\">\r\n<lib-app-sidebar-desktop></lib-app-sidebar-desktop>\r\n<div\r\n class=\"min-screen-main w-screen max-padd-container bg-transparent md:bg-[#686868] mobile-height-adjust-outer\"\r\n>\r\n <div\r\n class=\"minScreen pl-4 pr-4 mobile-height-adjust\"\r\n >\r\n <router-outlet></router-outlet>\r\n </div>\r\n <lib-popup [isOpen]=\"modalService.toggleModal\">\r\n <app-report-itinerary-modal\r\n [popupTitle]=\"'Report Itinerary'\"\r\n ></app-report-itinerary-modal>\r\n </lib-popup>\r\n <app-footer></app-footer>\r\n <lib-popup [customClass]=\"'custom-popup-container'\" [isOpen]=\"shareModalService.toggleModal\">\r\n <lib-share-popup (closeModal)=\"closeUrlShareModal()\" (copyClicked)=\"copyButtonClicked()\"></lib-share-popup>\r\n </lib-popup>\r\n</div>\r\n</div>\r\n\r\n", styles: [".min-screen-main{overflow-y:auto!important}.bottom-padding{min-height:10px}.min-screen{padding-bottom:60px}@media (max-width: 767px){.mobile-height-adjust{height:calc(100% - 102px)!important}.mobile-height-adjust-outer{height:calc(100% - 103px)!important}}\n"] }]
49
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.ModalService }, { type: i3.ModalShareUrlClientService }, { type: i4.Location }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRpbmVyYXJpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9pdGluZXJhcmllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL2l0aW5lcmFyaWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFXbkQsTUFBTSxPQUFPLG9CQUFvQjtJQUl0QjtJQUNBO0lBQ0E7SUFDQztJQU5WLEtBQUssR0FBVSxLQUFLLENBQUM7SUFFckIsWUFDUyxNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsaUJBQTZDLEVBQzVDLFFBQWtCO1FBSG5CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBQzVDLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDeEIsQ0FBQztJQUVMLGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDO0lBQzNFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FDM0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcscUJBQXFCLENBQUMsU0FBUztjQUN0RCxHQUFHLEdBQUcscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRCxDQUFDO3dHQTFCVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixnRENoQmpDLDgwQ0FzQ0E7OzRGRHRCYSxvQkFBb0I7a0JBUGhDLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxVQUFVLGNBR1IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJdGluZXJhcmllc1JvdXRlc0VudW0gfSBmcm9tICcuLi8uLi9fZW51bXMvSXRlbmFyaWVzUm91dGVzLmVudW0nO1xyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vLi4vX2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBNb2RhbFNoYXJlVXJsQ2xpZW50U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9tb2RhbC5zaGFyZXVybHNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc2VsZWN0b3I6ICdhcHAtaG9tZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vaXRpbmVyYXJpZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2l0aW5lcmFyaWVzLmNvbXBvbmVudC5zY3NzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJdGluZXJhcmllc0NvbXBvbmVudCB7XHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNoYXJlTW9kYWxTZXJ2aWNlOiBNb2RhbFNoYXJlVXJsQ2xpZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uXHJcbiAgKSB7IH1cclxuXHJcbiAgYmFja0J1dHRvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hCdXR0b25DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtJdGluZXJhcmllc1JvdXRlc0VudW0uU0VBUkNIXSkudGhlbigoX3IpID0+IHsgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVVybFNoYXJlTW9kYWwoKSB7XHJcbiAgICB0aGlzLnNoYXJlTW9kYWxTZXJ2aWNlLnRvZ2dsZU1vZGFsID0gIXRoaXMuc2hhcmVNb2RhbFNlcnZpY2UudG9nZ2xlTW9kYWw7XHJcbiAgfVxyXG5cclxuICBjb3B5QnV0dG9uQ2xpY2tlZCgpIHtcclxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KFxyXG4gICAgICB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWVxyXG4gICAgICArICcvJyArIEl0aW5lcmFyaWVzUm91dGVzRW51bS5JVElORVJBUllfREVUQUlMKTtcclxuICB9XHJcbn1cclxuIiwiPGxpYi1hcHAtaGVhZGVyLWRlc2t0b3A+PC9saWItYXBwLWhlYWRlci1kZXNrdG9wPlxyXG48ZGl2XHJcbiAgY2xhc3M9XCJwbC0yIHByLTQgc3RpY2t5IHRvcC0wIGxlZnQtMCB6LTEwIGJsb2NrIG1kOmhpZGRlblwiXHJcbiAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyNDJjXCJcclxuPlxyXG4gIDxuZy10ZW1wbGF0ZSAjc2VhcmNoPlxyXG4gICAgPGltZyBbc3JjXT1cIklDT05TWydzZWFyY2gnXVwiIGFsdD1cInJpZ2h0LWljb25cIiAoY2xpY2spPVwic2VhcmNoQnV0dG9uQ2xpY2soKVwiIC8+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPGFwcC1oZWFkZXJcclxuICAgIChmaXJzdEJ1dHRvbik9XCJiYWNrQnV0dG9uQ2xpY2soKVwiXHJcbiAgICBbaGVhZGluZ109XCInU0lERUJBUi5JVElORVJBUklFUycgfCB0cmFuc2xhdGVcIlxyXG4gICAgW2hlYWRlclN1ZmZpeFRlbXBsYXRlXT1cInNlYXJjaFwiXHJcbiAgPjwvYXBwLWhlYWRlcj5cclxuICA8YXBwLXRhYi1iYXI+PC9hcHAtdGFiLWJhcj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcbjxsaWItYXBwLXNpZGViYXItZGVza3RvcD48L2xpYi1hcHAtc2lkZWJhci1kZXNrdG9wPlxyXG48ZGl2XHJcbiAgY2xhc3M9XCJtaW4tc2NyZWVuLW1haW4gdy1zY3JlZW4gbWF4LXBhZGQtY29udGFpbmVyIGJnLXRyYW5zcGFyZW50IG1kOmJnLVsjNjg2ODY4XSBtb2JpbGUtaGVpZ2h0LWFkanVzdC1vdXRlclwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIm1pblNjcmVlbiBwbC00IHByLTQgbW9iaWxlLWhlaWdodC1hZGp1c3RcIlxyXG4gID5cclxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICA8L2Rpdj5cclxuICA8bGliLXBvcHVwIFtpc09wZW5dPVwibW9kYWxTZXJ2aWNlLnRvZ2dsZU1vZGFsXCI+XHJcbiAgICA8YXBwLXJlcG9ydC1pdGluZXJhcnktbW9kYWxcclxuICAgICAgW3BvcHVwVGl0bGVdPVwiJ1JlcG9ydCBJdGluZXJhcnknXCJcclxuICAgID48L2FwcC1yZXBvcnQtaXRpbmVyYXJ5LW1vZGFsPlxyXG4gIDwvbGliLXBvcHVwPlxyXG4gIDxhcHAtZm9vdGVyPjwvYXBwLWZvb3Rlcj5cclxuICA8bGliLXBvcHVwIFtjdXN0b21DbGFzc109XCInY3VzdG9tLXBvcHVwLWNvbnRhaW5lcidcIiBbaXNPcGVuXT1cInNoYXJlTW9kYWxTZXJ2aWNlLnRvZ2dsZU1vZGFsXCI+XHJcbiAgICA8bGliLXNoYXJlLXBvcHVwIChjbG9zZU1vZGFsKT1cImNsb3NlVXJsU2hhcmVNb2RhbCgpXCIgKGNvcHlDbGlja2VkKT1cImNvcHlCdXR0b25DbGlja2VkKClcIj48L2xpYi1zaGFyZS1wb3B1cD5cclxuICA8L2xpYi1wb3B1cD5cclxuPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuIl19
52
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.ModalService }, { type: i3.ModalShareUrlClientService }, { type: i4.Location }, { type: i5.NavigationHelperService }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRpbmVyYXJpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXRpbmVyYXJ5LWxpYi9zcmMvbGliL2l0aW5lcmFyeS1hcHAvbW9kdWxlcy9pdGluZXJhcmllcy9pdGluZXJhcmllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL2l0aW5lcmFyaWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBWW5ELE1BQU0sT0FBTyxvQkFBb0I7SUFJdEI7SUFDQTtJQUNBO0lBQ0M7SUFDQTtJQVBWLEtBQUssR0FBVSxLQUFLLENBQUM7SUFFckIsWUFDUyxNQUFjLEVBQ2QsWUFBMEIsRUFDMUIsaUJBQTZDLEVBQzVDLFFBQWtCLEVBQ2xCLFNBQWtDO1FBSm5DLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBQzVDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBeUI7SUFDeEMsQ0FBQztJQUVMLGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztJQUMzRSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQzNCLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLHFCQUFxQixDQUFDLFNBQVM7Y0FDdEQsR0FBRyxHQUFHLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDcEQsQ0FBQzt3R0EzQlUsb0JBQW9COzRGQUFwQixvQkFBb0IsZ0RDakJqQyw4MENBc0NBOzs0RkRyQmEsb0JBQW9CO2tCQVBoQyxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsVUFBVSxjQUdSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9tb2RhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtIH0gZnJvbSAnLi4vLi4vX2VudW1zL0l0ZW5hcmllc1JvdXRlcy5lbnVtJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTW9kYWxTaGFyZVVybENsaWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvbW9kYWwuc2hhcmV1cmxzZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9uYXZpZ2F0aW9uLWhlbHBlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzZWxlY3RvcjogJ2FwcC1ob21lJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9pdGluZXJhcmllcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vaXRpbmVyYXJpZXMuY29tcG9uZW50LnNjc3MnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEl0aW5lcmFyaWVzQ29tcG9uZW50IHtcclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwdWJsaWMgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2hhcmVNb2RhbFNlcnZpY2U6IE1vZGFsU2hhcmVVcmxDbGllbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXHJcbiAgICBwcml2YXRlIG5hdkhlbHBlcjogTmF2aWdhdGlvbkhlbHBlclNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBiYWNrQnV0dG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaEJ1dHRvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5uYXZIZWxwZXIubmF2aWdhdGUoW0l0aW5lcmFyaWVzUm91dGVzRW51bS5TRUFSQ0hdKTtcclxuICB9XHJcblxyXG4gIGNsb3NlVXJsU2hhcmVNb2RhbCgpIHtcclxuICAgIHRoaXMuc2hhcmVNb2RhbFNlcnZpY2UudG9nZ2xlTW9kYWwgPSAhdGhpcy5zaGFyZU1vZGFsU2VydmljZS50b2dnbGVNb2RhbDtcclxuICB9XHJcblxyXG4gIGNvcHlCdXR0b25DbGlja2VkKCkge1xyXG4gICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoXHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBJdGluZXJhcmllc1JvdXRlc0VudW0uSVRJTkVSQVJZXHJcbiAgICAgICsgJy8nICsgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLklUSU5FUkFSWV9ERVRBSUwpO1xyXG4gIH1cclxufVxyXG4iLCI8bGliLWFwcC1oZWFkZXItZGVza3RvcD48L2xpYi1hcHAtaGVhZGVyLWRlc2t0b3A+XHJcbjxkaXZcclxuICBjbGFzcz1cInBsLTIgcHItNCBzdGlja3kgdG9wLTAgbGVmdC0wIHotMTAgYmxvY2sgbWQ6aGlkZGVuXCJcclxuICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMyNzI0MmNcIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlICNzZWFyY2g+XHJcbiAgICA8aW1nIFtzcmNdPVwiSUNPTlNbJ3NlYXJjaCddXCIgYWx0PVwicmlnaHQtaWNvblwiIChjbGljayk9XCJzZWFyY2hCdXR0b25DbGljaygpXCIgLz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8YXBwLWhlYWRlclxyXG4gICAgKGZpcnN0QnV0dG9uKT1cImJhY2tCdXR0b25DbGljaygpXCJcclxuICAgIFtoZWFkaW5nXT1cIidTSURFQkFSLklUSU5FUkFSSUVTJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbaGVhZGVyU3VmZml4VGVtcGxhdGVdPVwic2VhcmNoXCJcclxuICA+PC9hcHAtaGVhZGVyPlxyXG4gIDxhcHAtdGFiLWJhcj48L2FwcC10YWItYmFyPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImZsZXhcIj5cclxuPGxpYi1hcHAtc2lkZWJhci1kZXNrdG9wPjwvbGliLWFwcC1zaWRlYmFyLWRlc2t0b3A+XHJcbjxkaXZcclxuICBjbGFzcz1cIm1pbi1zY3JlZW4tbWFpbiB3LXNjcmVlbiBtYXgtcGFkZC1jb250YWluZXIgYmctdHJhbnNwYXJlbnQgbWQ6YmctWyM2ODY4NjhdIG1vYmlsZS1oZWlnaHQtYWRqdXN0LW91dGVyXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwibWluU2NyZWVuIHBsLTQgcHItNCBtb2JpbGUtaGVpZ2h0LWFkanVzdFwiXHJcbiAgPlxyXG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gIDwvZGl2PlxyXG4gIDxsaWItcG9wdXAgW2lzT3Blbl09XCJtb2RhbFNlcnZpY2UudG9nZ2xlTW9kYWxcIj5cclxuICAgIDxhcHAtcmVwb3J0LWl0aW5lcmFyeS1tb2RhbFxyXG4gICAgICBbcG9wdXBUaXRsZV09XCInUmVwb3J0IEl0aW5lcmFyeSdcIlxyXG4gICAgPjwvYXBwLXJlcG9ydC1pdGluZXJhcnktbW9kYWw+XHJcbiAgPC9saWItcG9wdXA+XHJcbiAgPGFwcC1mb290ZXI+PC9hcHAtZm9vdGVyPlxyXG4gIDxsaWItcG9wdXAgW2N1c3RvbUNsYXNzXT1cIidjdXN0b20tcG9wdXAtY29udGFpbmVyJ1wiIFtpc09wZW5dPVwic2hhcmVNb2RhbFNlcnZpY2UudG9nZ2xlTW9kYWxcIj5cclxuICAgIDxsaWItc2hhcmUtcG9wdXAgKGNsb3NlTW9kYWwpPVwiY2xvc2VVcmxTaGFyZU1vZGFsKClcIiAoY29weUNsaWNrZWQpPVwiY29weUJ1dHRvbkNsaWNrZWQoKVwiPjwvbGliLXNoYXJlLXBvcHVwPlxyXG4gIDwvbGliLXBvcHVwPlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
@@ -5,7 +5,8 @@ import * as i1 from "@angular/forms";
5
5
  import * as i2 from "@angular/common";
6
6
  import * as i3 from "@naniteninja/ionic-lib";
7
7
  import * as i4 from "../../../../shared/header/header.component";
8
- import * as i5 from "@ngx-translate/core";
8
+ import * as i5 from "../../../../shared/input-field-select/input-field-select.component";
9
+ import * as i6 from "@ngx-translate/core";
9
10
  export class AdvancedFiltersComponent {
10
11
  fb;
11
12
  location;
@@ -141,10 +142,10 @@ export class AdvancedFiltersComponent {
141
142
  this.location.back();
142
143
  }
143
144
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AdvancedFiltersComponent, deps: [{ token: i1.FormBuilder }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Component });
144
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AdvancedFiltersComponent, selector: "app-advanced-filters", ngImport: i0, template: "<div class=\"px-4\">\r\n <app-header heading=\"Advanced Filters\" (firstButton)=\"back()\"></app-header>\r\n</div>\r\n<div class=\"px-5 mt-4 mb-[5rem]\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"submitForm()\">\r\n <p class=\"normal-text-md normal-text-gray mb-[26px]\">Create and apply custom advance filters or select popular preset advance filters.</p>\r\n <h5 class=\"subtitle mb-[12px]\">Filters</h5>\r\n <div class=\"flex items-center mb-2\">\r\n <lib-input-field type=\"text\" label=\"Filter Name\" style=\"width: calc(100% - 80px) ;\" formControlName=\"filterName\">\r\n </lib-input-field>\r\n <button class=\"flex row items-center gap-1 mt-2 ms-1 cursor-pointer font-purple text-nowrap\" type=\"submit\">\r\n <img [ngSrc]=\"ICONS['plus']\" height=\"14\" width=\"15\" alt=\"lib-icon\" />\r\n <span class=\"shadow normal-text-md\">\r\n Add filter\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"flex gap-2\">\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select lib-input-field-select-component formControlName=\"filterField\" optionLabel=\"name\"\r\n optionValue=\"value\" label=\"Field\" [options]=\"fields\">\r\n </lib-input-field-select>\r\n </div>\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select lib-input-field-select-component formControlName=\"filterCondition\"\r\n [options]=\"conditions\" optionLabel=\"name\" optionValue=\"value\" label=\"Condition\">\r\n </lib-input-field-select>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"divider mt-4\">\r\n </div>\r\n <div class=\"mt-[20px]\">\r\n <div *ngFor=\"let filter of defaultFilterList\" class=\"flex row justify-between items-center mb-[32px]\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"normal-text-md \" [class]=\"selectedFilterId !== filter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">{{ filter.name }}</p>\r\n </div>\r\n <div class=\"flex row gap-[14px]\">\r\n <p class=\"normal-text-sm\">Default</p>\r\n <img *ngIf=\"selectedFilterId !== filter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n <img *ngIf=\"selectedFilterId === filter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let userFilter of userFilterList\" class=\"flex row justify-between mb-[32px] items-center\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"text-nowrap normal-text-md\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\" [class]=\"selectedFilterId !== userFilter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">\r\n <span class=\"truncate inline-block align-bottom\" style=\"max-width: 4rem;\">\r\n {{ userFilter.name }}\r\n </span>\r\n |\r\n {{ userFilter.sort?.field }}, {{ userFilter.sort?.direction == \"Ascending\" ? \"Sort A-Z\" : \"Sort Z-A\" }}</p>\r\n <!-- <p class=\"text-white\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\">{{ userFilter.name }} </p> -->\r\n </div>\r\n <div class=\"flex row gap-3\">\r\n <img [src]=\"ICONS['deletePink']\" class=\"lib-icon\" width=\"9.41\" height=\"12.29\" (click)=\"removeFilter(userFilter)\">\r\n <img [src]=\"ICONS['editPink']\" class=\"lib-icon\" width=\"12.31\" height=\"12.31\">\r\n <img *ngIf=\"selectedFilterId !== userFilter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n <img *ngIf=\"selectedFilterId === userFilter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"fixed w-[90%] bottom-[1rem] left-[5%]\">\r\n <div class=\"w-100 center\">\r\n <lib-primary-btn>{{\"ITINERARY.APPLY\" | translate }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n", styles: [".bg-shadow{text-shadow:2px 2px 10px red}.lib-icon{height:13px!important}.subtitle{font-weight:500;font-size:13.13px;line-height:160%;color:#fff}lib-input-field-select ::ng-deep path{color:#fe3c72}button span.shadow{text-shadow:var(--lib-primary-button-text-shadow)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.PrimaryBtnComponent, selector: "lib-primary-btn", inputs: ["hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "loading$"] }, { kind: "directive", type: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: i4.HeaderComponent, selector: "app-header", inputs: ["heading", "headerRightIcon", "titleIcon", "cssClass", "headerSuffixTemplate"], outputs: ["firstButton", "titleIconClick"] }, { kind: "directive", type: i3.LazyImageDirective, selector: "img" }, { kind: "component", type: i3.InputFieldSelectComponent, selector: "lib-input-field-select", inputs: ["multiple", "label", "placeholder", "optionLabel", "optionValue", "options", "optionsTemplates", "filterBy", "enableFilter", "readonly", "disabled", "showClear", "editable", "withTemplate", "enableTranslation"], outputs: ["valueChange"] }, { kind: "component", type: i3.InputFieldComponent, selector: "lib-input-field,[lib-input-field]", inputs: ["name", "autocomplete", "label", "placeholder", "type", "readonly", "focus", "enableGoogleAddress", "locationAutocompleteConfig", "defaultLocation", "mask", "prefix", "suffix", "maxLength", "value", "address", "textarea", "resize", "counter", "patterns", "trimWhiteSpace", "disabled"], outputs: ["mapError", "locationChange", "keyDown", "onBlur"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
145
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AdvancedFiltersComponent, selector: "app-advanced-filters", ngImport: i0, template: "<div class=\"px-4\">\r\n <app-header heading=\"Advanced Filters\" (firstButton)=\"back()\"></app-header>\r\n</div>\r\n<div class=\"px-5 mt-4 mb-[5rem]\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"submitForm()\">\r\n <p class=\"normal-text-md normal-text-gray mb-[26px]\">Create and apply custom advance filters or select popular preset advance filters.</p>\r\n <h5 class=\"subtitle mb-[12px]\">Filters</h5>\r\n <div class=\"flex items-center mb-2\">\r\n <lib-input-field type=\"text\" label=\"Filter Name\" style=\"width: calc(100% - 80px) ;\" formControlName=\"filterName\">\r\n </lib-input-field>\r\n <button class=\"flex row items-center gap-1 mt-2 ms-1 cursor-pointer font-purple text-nowrap\" type=\"submit\">\r\n <img [ngSrc]=\"ICONS['plus']\" height=\"14\" width=\"15\" alt=\"lib-icon\" />\r\n <span class=\"shadow normal-text-md\">\r\n Add filter\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"flex gap-2\">\r\n <div class=\"w-[50%]\">\r\n <app-input-field-select formControlName=\"filterField\" optionLabel=\"name\"\r\n optionValue=\"value\" label=\"Field\" [options]=\"fields\">\r\n </app-input-field-select>\r\n </div>\r\n <div class=\"w-[50%]\">\r\n <app-input-field-select formControlName=\"filterCondition\"\r\n [options]=\"conditions\" optionLabel=\"name\" optionValue=\"value\" label=\"Condition\">\r\n </app-input-field-select>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"divider mt-4\">\r\n </div>\r\n <div class=\"mt-[20px]\">\r\n <div *ngFor=\"let filter of defaultFilterList\" class=\"flex row justify-between items-center mb-[32px]\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"normal-text-md \" [class]=\"selectedFilterId !== filter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">{{ filter.name }}</p>\r\n </div>\r\n <div class=\"flex row gap-[14px]\">\r\n <p class=\"normal-text-sm\">Default</p>\r\n <img *ngIf=\"selectedFilterId !== filter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n <img *ngIf=\"selectedFilterId === filter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let userFilter of userFilterList\" class=\"flex row justify-between mb-[32px] items-center\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"text-nowrap normal-text-md\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\" [class]=\"selectedFilterId !== userFilter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">\r\n <span class=\"truncate inline-block align-bottom\" style=\"max-width: 4rem;\">\r\n {{ userFilter.name }}\r\n </span>\r\n |\r\n {{ userFilter.sort?.field }}, {{ userFilter.sort?.direction == \"Ascending\" ? \"Sort A-Z\" : \"Sort Z-A\" }}</p>\r\n <!-- <p class=\"text-white\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\">{{ userFilter.name }} </p> -->\r\n </div>\r\n <div class=\"flex row gap-3\">\r\n <img [src]=\"ICONS['deletePink']\" class=\"lib-icon\" width=\"9.41\" height=\"12.29\" (click)=\"removeFilter(userFilter)\">\r\n <img [src]=\"ICONS['editPink']\" class=\"lib-icon\" width=\"12.31\" height=\"12.31\">\r\n <img *ngIf=\"selectedFilterId !== userFilter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n <img *ngIf=\"selectedFilterId === userFilter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"fixed w-[90%] bottom-[1rem] left-[5%]\">\r\n <div class=\"w-100 center\">\r\n <lib-primary-btn>{{\"ITINERARY.APPLY\" | translate }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n", styles: [".bg-shadow{text-shadow:2px 2px 10px red}.lib-icon{height:13px!important}.subtitle{font-weight:500;font-size:13.13px;line-height:160%;color:#fff}button span.shadow{text-shadow:var(--lib-primary-button-text-shadow)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.PrimaryBtnComponent, selector: "lib-primary-btn", inputs: ["hoverOutline", "disabled", "type", "form", "label", "showArrowIcon", "disableTextShadow", "loading$"] }, { kind: "directive", type: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "component", type: i4.HeaderComponent, selector: "app-header", inputs: ["heading", "headerRightIcon", "titleIcon", "cssClass", "headerSuffixTemplate"], outputs: ["firstButton", "titleIconClick"] }, { kind: "component", type: i5.InputFieldSelectComponent, selector: "app-input-field-select", inputs: ["multiple", "label", "placeholder", "optionLabel", "optionValue", "options", "optionsTemplates", "filterBy", "enableFilter", "readonly", "disabled", "showClear", "editable", "withTemplate", "enableTranslation", "class"], outputs: ["valueChange"] }, { kind: "directive", type: i3.LazyImageDirective, selector: "img" }, { kind: "component", type: i3.InputFieldComponent, selector: "lib-input-field,[lib-input-field]", inputs: ["name", "autocomplete", "label", "placeholder", "type", "readonly", "focus", "enableGoogleAddress", "locationAutocompleteConfig", "defaultLocation", "mask", "prefix", "suffix", "maxLength", "value", "address", "textarea", "resize", "counter", "patterns", "trimWhiteSpace", "disabled"], outputs: ["mapError", "locationChange", "keyDown", "onBlur"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
145
146
  }
146
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AdvancedFiltersComponent, decorators: [{
147
148
  type: Component,
148
- args: [{ selector: 'app-advanced-filters', standalone: false, template: "<div class=\"px-4\">\r\n <app-header heading=\"Advanced Filters\" (firstButton)=\"back()\"></app-header>\r\n</div>\r\n<div class=\"px-5 mt-4 mb-[5rem]\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"submitForm()\">\r\n <p class=\"normal-text-md normal-text-gray mb-[26px]\">Create and apply custom advance filters or select popular preset advance filters.</p>\r\n <h5 class=\"subtitle mb-[12px]\">Filters</h5>\r\n <div class=\"flex items-center mb-2\">\r\n <lib-input-field type=\"text\" label=\"Filter Name\" style=\"width: calc(100% - 80px) ;\" formControlName=\"filterName\">\r\n </lib-input-field>\r\n <button class=\"flex row items-center gap-1 mt-2 ms-1 cursor-pointer font-purple text-nowrap\" type=\"submit\">\r\n <img [ngSrc]=\"ICONS['plus']\" height=\"14\" width=\"15\" alt=\"lib-icon\" />\r\n <span class=\"shadow normal-text-md\">\r\n Add filter\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"flex gap-2\">\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select lib-input-field-select-component formControlName=\"filterField\" optionLabel=\"name\"\r\n optionValue=\"value\" label=\"Field\" [options]=\"fields\">\r\n </lib-input-field-select>\r\n </div>\r\n <div class=\"w-[50%]\">\r\n <lib-input-field-select lib-input-field-select-component formControlName=\"filterCondition\"\r\n [options]=\"conditions\" optionLabel=\"name\" optionValue=\"value\" label=\"Condition\">\r\n </lib-input-field-select>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"divider mt-4\">\r\n </div>\r\n <div class=\"mt-[20px]\">\r\n <div *ngFor=\"let filter of defaultFilterList\" class=\"flex row justify-between items-center mb-[32px]\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"normal-text-md \" [class]=\"selectedFilterId !== filter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">{{ filter.name }}</p>\r\n </div>\r\n <div class=\"flex row gap-[14px]\">\r\n <p class=\"normal-text-sm\">Default</p>\r\n <img *ngIf=\"selectedFilterId !== filter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n <img *ngIf=\"selectedFilterId === filter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let userFilter of userFilterList\" class=\"flex row justify-between mb-[32px] items-center\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"text-nowrap normal-text-md\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\" [class]=\"selectedFilterId !== userFilter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">\r\n <span class=\"truncate inline-block align-bottom\" style=\"max-width: 4rem;\">\r\n {{ userFilter.name }}\r\n </span>\r\n |\r\n {{ userFilter.sort?.field }}, {{ userFilter.sort?.direction == \"Ascending\" ? \"Sort A-Z\" : \"Sort Z-A\" }}</p>\r\n <!-- <p class=\"text-white\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\">{{ userFilter.name }} </p> -->\r\n </div>\r\n <div class=\"flex row gap-3\">\r\n <img [src]=\"ICONS['deletePink']\" class=\"lib-icon\" width=\"9.41\" height=\"12.29\" (click)=\"removeFilter(userFilter)\">\r\n <img [src]=\"ICONS['editPink']\" class=\"lib-icon\" width=\"12.31\" height=\"12.31\">\r\n <img *ngIf=\"selectedFilterId !== userFilter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n <img *ngIf=\"selectedFilterId === userFilter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"fixed w-[90%] bottom-[1rem] left-[5%]\">\r\n <div class=\"w-100 center\">\r\n <lib-primary-btn>{{\"ITINERARY.APPLY\" | translate }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n", styles: [".bg-shadow{text-shadow:2px 2px 10px red}.lib-icon{height:13px!important}.subtitle{font-weight:500;font-size:13.13px;line-height:160%;color:#fff}lib-input-field-select ::ng-deep path{color:#fe3c72}button span.shadow{text-shadow:var(--lib-primary-button-text-shadow)}\n"] }]
149
+ args: [{ selector: 'app-advanced-filters', standalone: false, template: "<div class=\"px-4\">\r\n <app-header heading=\"Advanced Filters\" (firstButton)=\"back()\"></app-header>\r\n</div>\r\n<div class=\"px-5 mt-4 mb-[5rem]\">\r\n <form [formGroup]=\"form\" (ngSubmit)=\"submitForm()\">\r\n <p class=\"normal-text-md normal-text-gray mb-[26px]\">Create and apply custom advance filters or select popular preset advance filters.</p>\r\n <h5 class=\"subtitle mb-[12px]\">Filters</h5>\r\n <div class=\"flex items-center mb-2\">\r\n <lib-input-field type=\"text\" label=\"Filter Name\" style=\"width: calc(100% - 80px) ;\" formControlName=\"filterName\">\r\n </lib-input-field>\r\n <button class=\"flex row items-center gap-1 mt-2 ms-1 cursor-pointer font-purple text-nowrap\" type=\"submit\">\r\n <img [ngSrc]=\"ICONS['plus']\" height=\"14\" width=\"15\" alt=\"lib-icon\" />\r\n <span class=\"shadow normal-text-md\">\r\n Add filter\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"flex gap-2\">\r\n <div class=\"w-[50%]\">\r\n <app-input-field-select formControlName=\"filterField\" optionLabel=\"name\"\r\n optionValue=\"value\" label=\"Field\" [options]=\"fields\">\r\n </app-input-field-select>\r\n </div>\r\n <div class=\"w-[50%]\">\r\n <app-input-field-select formControlName=\"filterCondition\"\r\n [options]=\"conditions\" optionLabel=\"name\" optionValue=\"value\" label=\"Condition\">\r\n </app-input-field-select>\r\n </div>\r\n </div>\r\n </form>\r\n <div class=\"divider mt-4\">\r\n </div>\r\n <div class=\"mt-[20px]\">\r\n <div *ngFor=\"let filter of defaultFilterList\" class=\"flex row justify-between items-center mb-[32px]\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"normal-text-md \" [class]=\"selectedFilterId !== filter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">{{ filter.name }}</p>\r\n </div>\r\n <div class=\"flex row gap-[14px]\">\r\n <p class=\"normal-text-sm\">Default</p>\r\n <img *ngIf=\"selectedFilterId !== filter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n <img *ngIf=\"selectedFilterId === filter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(filter)\">\r\n </div>\r\n </div>\r\n\r\n <div *ngFor=\"let userFilter of userFilterList\" class=\"flex row justify-between mb-[32px] items-center\">\r\n <div class=\"flex row gap-[30px]\">\r\n <img [src]=\"ICONS['grid']\" alt=\"lib-icon\">\r\n <p class=\"text-nowrap normal-text-md\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\" [class]=\"selectedFilterId !== userFilter.projectGridFilterId ? 'text-white' : 'normal-text-gray'\">\r\n <span class=\"truncate inline-block align-bottom\" style=\"max-width: 4rem;\">\r\n {{ userFilter.name }}\r\n </span>\r\n |\r\n {{ userFilter.sort?.field }}, {{ userFilter.sort?.direction == \"Ascending\" ? \"Sort A-Z\" : \"Sort Z-A\" }}</p>\r\n <!-- <p class=\"text-white\" [ngStyle]=\"{ 'max-width': filterWidth + 'px' }\">{{ userFilter.name }} </p> -->\r\n </div>\r\n <div class=\"flex row gap-3\">\r\n <img [src]=\"ICONS['deletePink']\" class=\"lib-icon\" width=\"9.41\" height=\"12.29\" (click)=\"removeFilter(userFilter)\">\r\n <img [src]=\"ICONS['editPink']\" class=\"lib-icon\" width=\"12.31\" height=\"12.31\">\r\n <img *ngIf=\"selectedFilterId !== userFilter.projectGridFilterId \" [src]=\"ICONS['eyePink']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n <img *ngIf=\"selectedFilterId === userFilter.projectGridFilterId \" [src]=\"ICONS['eyePinkClose']\" alt=\"lib-icon\" width=\"15.59\" height=\"9.85\" (click)=\"setFilter(userFilter)\">\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"fixed w-[90%] bottom-[1rem] left-[5%]\">\r\n <div class=\"w-100 center\">\r\n <lib-primary-btn>{{\"ITINERARY.APPLY\" | translate }}</lib-primary-btn>\r\n </div>\r\n</div>\r\n", styles: [".bg-shadow{text-shadow:2px 2px 10px red}.lib-icon{height:13px!important}.subtitle{font-weight:500;font-size:13.13px;line-height:160%;color:#fff}button span.shadow{text-shadow:var(--lib-primary-button-text-shadow)}\n"] }]
149
150
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.Location }] });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQVd6RCxNQUFNLE9BQU8sd0JBQXdCO0lBSWY7SUFBeUI7SUFIN0MsSUFBSSxDQUFZO0lBQ2hCLFdBQVcsQ0FBcUI7SUFFaEMsWUFBb0IsRUFBZSxFQUFVLFFBQWtCO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzdELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ25CLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztZQUNwRCxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sR0FBRztRQUNQLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxL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QUFDLFVBQTZCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0UsZUFBZSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxTQUFTLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN4RSxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFDRCxZQUFZLENBQUMsVUFBNkI7UUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FDOUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEtBQUssVUFBVSxDQUFDLG1CQUFtQixDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzt3R0E1SVUsd0JBQXdCOzRGQUF4Qix3QkFBd0IsNERDYnJDLCt0SUFzRUE7OzRGRHpEYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksc0JBQXNCLGNBR3BCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWx0ZXJEYXRhUmVxdWVzdCwgU2VsZWN0T3B0aW9uIH0gZnJvbSAnQG5hbml0ZW5pbmphL2lvbmljLWxpYic7XHJcbmltcG9ydCB7IElDT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vX2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJaWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvaWNvbic7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtYWR2YW5jZWQtZmlsdGVycycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuY3NzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZEZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGZvcm06IEZvcm1Hcm91cDtcclxuICBmaWx0ZXJXaWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24pIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBmaWx0ZXJGaWVsZDogW251bGxdLFxyXG4gICAgICBmaWx0ZXJDb25kaXRpb246IFt0aGlzLmNvbmRpdGlvbnNbMF0/LnZhbHVlIHx8IG51bGxdLFxyXG4gICAgICBmaWx0ZXJOYW1lOiBbXCJcIl0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpZWxkcyA9IFtcclxuICAgIHsgbmFtZTogJ05hbWUnLCB2YWx1ZTogJzEnIH0sXHJcbiAgICB7IG5hbWU6ICdUaXRsZScsIHZhbHVlOiAnMicgfSxcclxuICAgIHsgbmFtZTogJ1Vwdm90ZScsIHZhbHVlOiAnMycgfVxyXG4gIF07XHJcbiAgY29uZGl0aW9ucyA9IFtcclxuICAgIHsgbmFtZTogJ1NvcnQgQS1aJywgdmFsdWU6ICcxJyB9LFxyXG4gICAgeyBuYW1lOiAnU29ydCBaLUEnLCB2YWx1ZTogJzInIH1cclxuICBdO1xyXG5cclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuXHJcbiAgZmlsdGVyc3NzOiBTZWxlY3RPcHRpb248bnVtYmVyPltdID0gW1xyXG4gICAge1xyXG4gICAgICBsYWJlbDogJ0hlbGxvJyxcclxuICAgICAgdmFsdWU6IDIsXHJcbiAgICAgIHNlbGVjdGVkOiB0cnVlLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIGRlZmF1bHRGaWx0ZXJMaXN0OiBGaWx0ZXJEYXRhUmVxdWVzdFtdID0gW1xyXG4gICAgeyBuYW1lOiAnQmVzdCcsIHByb2plY3RHcmlkRmlsdGVySWQ6ICdkZWZhdWx0MScsIHVzZXJGaWx0ZXJzOiBbXSB9LFxyXG4gICAgeyBuYW1lOiBcIkhvdFwiLCB1c2VyRmlsdGVyczogW10sIHByb2plY3RHcmlkRmlsdGVySWQ6IFwiZGVmYXVsdDJcIiB9LFxyXG4gICAgeyBuYW1lOiBcIlRvcFwiLCB1c2VyRmlsdGVyczogW10sIHByb2plY3RHcmlkRmlsdGVySWQ6IFwiZGVmYXVsdDNcIiB9LFxyXG4gICAgeyBuYW1lOiBcIk5ld1wiLCB1c2VyRmlsdGVyczogW10sIHByb2plY3RHcmlkRmlsdGVySWQ6IFwiZGVmYXVsdDRcIiB9LFxyXG4gIF07XHJcbiAgdXNlckZpbHRlckxpc3Q6IEZpbHRlckRhdGFSZXF1ZXN0W10gPSBbXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdGaWx0ZXIgYnkgTmFtZSBBc2NlbmRpbmcnLFxyXG4gICAgICBwcm9qZWN0R3JpZEZpbHRlcklkOiAnMTIzJyxcclxuICAgICAgY29sbGVjdGlvbk5hbWU6ICdFbXBsb3llZXMnLFxyXG4gICAgICB1c2VyRmlsdGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ05hbWUnLFxyXG4gICAgICAgICAgb3BlcmF0b3JUeXBlOiAnQ29udGFpbnMnLFxyXG4gICAgICAgICAgdmFsdWVzOiBbJ0pvaG4nXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBzb3J0OiB7XHJcbiAgICAgICAgZmllbGQ6ICdOYW1lJyxcclxuICAgICAgICBkaXJlY3Rpb246ICdBc2NlbmRpbmcnLFxyXG4gICAgICB9LFxyXG4gICAgICBvcmRlcjogMSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdGaWx0ZXIgYnkgRGVwYXJ0bWVudCBhbmQgU2FsYXJ5IERlc2NlbmRpbmcnLFxyXG4gICAgICBwcm9qZWN0R3JpZEZpbHRlcklkOiAnNDU2JyxcclxuICAgICAgY29sbGVjdGlvbk5hbWU6ICdFbXBsb3llZXMnLFxyXG4gICAgICB1c2VyRmlsdGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ0RlcGFydG1lbnQnLFxyXG4gICAgICAgICAgb3BlcmF0b3JUeXBlOiAnRXF1YWxzJyxcclxuICAgICAgICAgIHZhbHVlczogWydJVCddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHVibGljRmllbGROYW1lOiAnU2FsYXJ5JyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0dyZWF0ZXJUaGFuJyxcclxuICAgICAgICAgIHZhbHVlczogWzUwMDAwXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBzb3J0OiB7XHJcbiAgICAgICAgZmllbGQ6ICdUaXRsZScsXHJcbiAgICAgICAgZGlyZWN0aW9uOiAnRGVzY2VuZGluZycsXHJcbiAgICAgIH0sXHJcbiAgICAgIG9yZGVyOiAyLFxyXG4gICAgfSxcclxuICBdO1xyXG5cclxuICBzZWxlY3RlZEZpbHRlcklkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgc2VhcmNoKF9lOiBzdHJpbmcpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBnZXROYW1lRnJvbVZhbHVlKHZhbHVlOiBzdHJpbmcsIGFycmF5OiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGFycmF5LmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlID09PSB2YWx1ZSk/Lm5hbWUgfHwgJyc7XHJcbiAgfVxyXG4gIGdldFZhbHVlRnJvbU5hbWUobmFtZTogc3RyaW5nLCBhcnJheTogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBhcnJheS5maW5kKGl0ZW0gPT4gaXRlbS5uYW1lID09PSBuYW1lKT8udmFsdWUgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVJhbmRvbVN0cmluZyhsZW5ndGg6IG51bWJlciA9IDE2KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGNoYXJzID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcclxuICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgcmVzdWx0ICs9IGNoYXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFycy5sZW5ndGgpKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRGb3JtKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0/LnZhbHVlPy5maWx0ZXJOYW1lKSByZXR1cm47XHJcbiAgICBjb25zdCBuZXdVc2VyRmlsdGVyOiBGaWx0ZXJEYXRhUmVxdWVzdCA9IHtcclxuICAgICAgbmFtZTogdGhpcy5mb3JtPy52YWx1ZT8uZmlsdGVyTmFtZSA/PyAnJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogdGhpcy5nZW5lcmF0ZVJhbmRvbVN0cmluZygpLFxyXG4gICAgICBjb2xsZWN0aW9uTmFtZTogJ0VtcGxveWVlcycsXHJcbiAgICAgIHVzZXJGaWx0ZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHVibGljRmllbGROYW1lOiAnTmFtZScsXHJcbiAgICAgICAgICBvcGVyYXRvclR5cGU6ICdDb250YWlucycsXHJcbiAgICAgICAgICB2YWx1ZXM6IFsnSm9obiddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHNvcnQ6IHtcclxuICAgICAgICBmaWVsZDogdGhpcy5nZXROYW1lRnJvbVZhbHVlKHRoaXMuZm9ybT8udmFsdWU/LmZpbHRlckZpZWxkID8/ICcnLCB0aGlzLmZpZWxkcyksXHJcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmZvcm0/LnZhbHVlPy5maWx0ZXJDb25kaXRpb24gPT0gJzEnID8gJ0FzY2VuZGluZycgOiAnRGVzY2VuZGluZycsXHJcbiAgICAgIH0sXHJcbiAgICAgIG9yZGVyOiB0aGlzLnVzZXJGaWx0ZXJMaXN0Lmxlbmd0aCxcclxuICAgIH07XHJcbiAgICB0aGlzLnVzZXJGaWx0ZXJMaXN0LnB1c2gobmV3VXNlckZpbHRlcik7XHJcbiAgfVxyXG4gIHNldEZpbHRlcih1c2VyRmlsdGVyOiBGaWx0ZXJEYXRhUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGZpbHRlckZpZWxkOiBbdGhpcy5nZXRWYWx1ZUZyb21OYW1lKHVzZXJGaWx0ZXIuc29ydD8uZmllbGQgPz8gXCJcIiwgdGhpcy5maWVsZHMpXSxcclxuICAgICAgZmlsdGVyQ29uZGl0aW9uOiBbdXNlckZpbHRlci5zb3J0Py5kaXJlY3Rpb24gPT0gXCJBc2NlbmRpbmdcIiA/ICcxJyA6IFwiMlwiXSxcclxuICAgICAgZmlsdGVyTmFtZTogW3VzZXJGaWx0ZXIubmFtZV0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCA9IHVzZXJGaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCA/PyBcIlwiO1xyXG4gIH1cclxuICByZW1vdmVGaWx0ZXIodXNlckZpbHRlcjogRmlsdGVyRGF0YVJlcXVlc3QpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlckZpbHRlckxpc3QgPSB0aGlzLnVzZXJGaWx0ZXJMaXN0LmZpbHRlcihcclxuICAgICAgZmlsdGVyID0+IGZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkICE9PSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWRcclxuICAgICk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJXaWR0aCA9IHdpbmRvdy5zY3JlZW4ud2lkdGggLSAxMzA7XHJcbiAgfVxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInB4LTRcIj5cclxuICA8YXBwLWhlYWRlciBoZWFkaW5nPVwiQWR2YW5jZWQgRmlsdGVyc1wiIChmaXJzdEJ1dHRvbik9XCJiYWNrKClcIj48L2FwcC1oZWFkZXI+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwicHgtNSBtdC00IG1iLVs1cmVtXVwiPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIj5cclxuICAgIDxwIGNsYXNzPVwibm9ybWFsLXRleHQtbWQgbm9ybWFsLXRleHQtZ3JheSBtYi1bMjZweF1cIj5DcmVhdGUgYW5kIGFwcGx5IGN1c3RvbSBhZHZhbmNlIGZpbHRlcnMgb3Igc2VsZWN0IHBvcHVsYXIgcHJlc2V0IGFkdmFuY2UgZmlsdGVycy48L3A+XHJcbiAgICA8aDUgY2xhc3M9XCJzdWJ0aXRsZSBtYi1bMTJweF1cIj5GaWx0ZXJzPC9oNT5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBtYi0yXCI+XHJcbiAgICAgIDxsaWItaW5wdXQtZmllbGQgdHlwZT1cInRleHRcIiBsYWJlbD1cIkZpbHRlciBOYW1lXCIgc3R5bGU9XCJ3aWR0aDogY2FsYygxMDAlIC0gODBweCkgO1wiIGZvcm1Db250cm9sTmFtZT1cImZpbHRlck5hbWVcIj5cclxuICAgICAgPC9saWItaW5wdXQtZmllbGQ+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJmbGV4IHJvdyBpdGVtcy1jZW50ZXIgZ2FwLTEgbXQtMiBtcy0xIGN1cnNvci1wb2ludGVyIGZvbnQtcHVycGxlIHRleHQtbm93cmFwXCIgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgPGltZyBbbmdTcmNdPVwiSUNPTlNbJ3BsdXMnXVwiIGhlaWdodD1cIjE0XCIgd2lkdGg9XCIxNVwiIGFsdD1cImxpYi1pY29uXCIgLz5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInNoYWRvdyBub3JtYWwtdGV4dC1tZFwiPlxyXG4gICAgICAgICAgQWRkIGZpbHRlclxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3LVs1MCVdXCI+XHJcbiAgICAgICAgPGxpYi1pbnB1dC1maWVsZC1zZWxlY3QgbGliLWlucHV0LWZpZWxkLXNlbGVjdC1jb21wb25lbnQgZm9ybUNvbnRyb2xOYW1lPVwiZmlsdGVyRmllbGRcIiBvcHRpb25MYWJlbD1cIm5hbWVcIlxyXG4gICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIGxhYmVsPVwiRmllbGRcIiBbb3B0aW9uc109XCJmaWVsZHNcIj5cclxuICAgICAgICA8L2xpYi1pbnB1dC1maWVsZC1zZWxlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidy1bNTAlXVwiPlxyXG4gICAgICAgIDxsaWItaW5wdXQtZmllbGQtc2VsZWN0IGxpYi1pbnB1dC1maWVsZC1zZWxlY3QtY29tcG9uZW50IGZvcm1Db250cm9sTmFtZT1cImZpbHRlckNvbmRpdGlvblwiXHJcbiAgICAgICAgICBbb3B0aW9uc109XCJjb25kaXRpb25zXCIgb3B0aW9uTGFiZWw9XCJuYW1lXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIGxhYmVsPVwiQ29uZGl0aW9uXCI+XHJcbiAgICAgICAgPC9saWItaW5wdXQtZmllbGQtc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuICAgPGRpdiBjbGFzcz1cImRpdmlkZXIgbXQtNFwiPlxyXG4gICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibXQtWzIwcHhdXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgZGVmYXVsdEZpbHRlckxpc3RcIiBjbGFzcz1cImZsZXggcm93IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItWzMycHhdXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHJvdyBnYXAtWzMwcHhdXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWydncmlkJ11cIiBhbHQ9XCJsaWItaWNvblwiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwibm9ybWFsLXRleHQtbWQgXCIgW2NsYXNzXT1cInNlbGVjdGVkRmlsdGVySWQgIT09IGZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkID8gJ3RleHQtd2hpdGUnIDogJ25vcm1hbC10ZXh0LWdyYXknXCI+e3sgZmlsdGVyLm5hbWUgfX08L3A+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCByb3cgZ2FwLVsxNHB4XVwiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwibm9ybWFsLXRleHQtc21cIj5EZWZhdWx0PC9wPlxyXG4gICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZEZpbHRlcklkICE9PSBmaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCBcIiBbc3JjXT1cIklDT05TWydleWVQaW5rJ11cIiBhbHQ9XCJsaWItaWNvblwiIHdpZHRoPVwiMTUuNTlcIiBoZWlnaHQ9XCI5Ljg1XCIgKGNsaWNrKT1cInNldEZpbHRlcihmaWx0ZXIpXCI+XHJcbiAgICAgICAgPGltZyAqbmdJZj1cInNlbGVjdGVkRmlsdGVySWQgPT09IGZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkIFwiIFtzcmNdPVwiSUNPTlNbJ2V5ZVBpbmtDbG9zZSddXCIgYWx0PVwibGliLWljb25cIiB3aWR0aD1cIjE1LjU5XCIgaGVpZ2h0PVwiOS44NVwiIChjbGljayk9XCJzZXRGaWx0ZXIoZmlsdGVyKVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHVzZXJGaWx0ZXIgb2YgdXNlckZpbHRlckxpc3RcIiBjbGFzcz1cImZsZXggcm93IGp1c3RpZnktYmV0d2VlbiBtYi1bMzJweF0gaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHJvdyBnYXAtWzMwcHhdXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWydncmlkJ11cIiBhbHQ9XCJsaWItaWNvblwiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1ub3dyYXAgbm9ybWFsLXRleHQtbWRcIiBbbmdTdHlsZV09XCJ7ICdtYXgtd2lkdGgnOiBmaWx0ZXJXaWR0aCArICdweCcgfVwiIFtjbGFzc109XCJzZWxlY3RlZEZpbHRlcklkICE9PSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgPyAndGV4dC13aGl0ZScgOiAnbm9ybWFsLXRleHQtZ3JheSdcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGUgaW5saW5lLWJsb2NrIGFsaWduLWJvdHRvbVwiIHN0eWxlPVwibWF4LXdpZHRoOiA0cmVtO1wiPlxyXG4gICAgICAgICAgICB7eyB1c2VyRmlsdGVyLm5hbWUgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICB8XHJcbiAgICAgICAgICB7eyB1c2VyRmlsdGVyLnNvcnQ/LmZpZWxkIH19LCB7eyB1c2VyRmlsdGVyLnNvcnQ/LmRpcmVjdGlvbiA9PSBcIkFzY2VuZGluZ1wiID8gXCJTb3J0IEEtWlwiIDogXCJTb3J0IFotQVwiIH19PC9wPlxyXG4gICAgICAgIDwhLS0gPHAgY2xhc3M9XCJ0ZXh0LXdoaXRlXCIgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogZmlsdGVyV2lkdGggKyAncHgnIH1cIj57eyB1c2VyRmlsdGVyLm5hbWUgfX0gPC9wPiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHJvdyBnYXAtM1wiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snZGVsZXRlUGluayddXCIgY2xhc3M9XCJsaWItaWNvblwiIHdpZHRoPVwiOS40MVwiIGhlaWdodD1cIjEyLjI5XCIgIChjbGljayk9XCJyZW1vdmVGaWx0ZXIodXNlckZpbHRlcilcIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiSUNPTlNbJ2VkaXRQaW5rJ11cIiBjbGFzcz1cImxpYi1pY29uXCIgd2lkdGg9XCIxMi4zMVwiIGhlaWdodD1cIjEyLjMxXCI+XHJcbiAgICAgICAgPGltZyAqbmdJZj1cInNlbGVjdGVkRmlsdGVySWQgIT09IHVzZXJGaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCBcIiBbc3JjXT1cIklDT05TWydleWVQaW5rJ11cIiBhbHQ9XCJsaWItaWNvblwiIHdpZHRoPVwiMTUuNTlcIiBoZWlnaHQ9XCI5Ljg1XCIgKGNsaWNrKT1cInNldEZpbHRlcih1c2VyRmlsdGVyKVwiPlxyXG4gICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZEZpbHRlcklkID09PSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgXCIgW3NyY109XCJJQ09OU1snZXllUGlua0Nsb3NlJ11cIiBhbHQ9XCJsaWItaWNvblwiIHdpZHRoPVwiMTUuNTlcIiBoZWlnaHQ9XCI5Ljg1XCIgKGNsaWNrKT1cInNldEZpbHRlcih1c2VyRmlsdGVyKVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImZpeGVkIHctWzkwJV0gYm90dG9tLVsxcmVtXSBsZWZ0LVs1JV1cIj5cclxuICA8ZGl2IGNsYXNzPVwidy0xMDAgY2VudGVyXCI+XHJcbiAgICA8bGliLXByaW1hcnktYnRuPnt7XCJJVElORVJBUlkuQVBQTFlcIiB8IHRyYW5zbGF0ZSB9fTwvbGliLXByaW1hcnktYnRuPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2FkdmFuY2VkLWZpbHRlcnMvYWR2YW5jZWQtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFXekQsTUFBTSxPQUFPLHdCQUF3QjtJQUlmO0lBQXlCO0lBSDdDLElBQUksQ0FBWTtJQUNoQixXQUFXLENBQXFCO0lBRWhDLFlBQW9CLEVBQWUsRUFBVSxRQUFrQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM3RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNuQixlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUM7WUFDcEQsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLEdBQUc7UUFDUCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUs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Q0FBQyxVQUE2QjtRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9FLGVBQWUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDeEUsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztTQUM5QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsWUFBWSxDQUFDLFVBQTZCO1FBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQzlDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLG1CQUFtQixLQUFLLFVBQVUsQ0FBQyxtQkFBbUIsQ0FDeEUsQ0FBQztJQUNKLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDL0MsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBNUlVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLDREQ2JyQyw2cElBc0VBOzs0RkR6RGEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHNCQUFzQixjQUdwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsdGVyRGF0YVJlcXVlc3QsIFNlbGVjdE9wdGlvbiB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uLy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLWFkdmFuY2VkLWZpbHRlcnMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FkdmFuY2VkLWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmw6ICcuL2FkdmFuY2VkLWZpbHRlcnMuY29tcG9uZW50LmNzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRGaWx0ZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgZmlsdGVyV2lkdGg6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgZmlsdGVyRmllbGQ6IFtudWxsXSxcclxuICAgICAgZmlsdGVyQ29uZGl0aW9uOiBbdGhpcy5jb25kaXRpb25zWzBdPy52YWx1ZSB8fCBudWxsXSxcclxuICAgICAgZmlsdGVyTmFtZTogW1wiXCJdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmaWVsZHMgPSBbXHJcbiAgICB7IG5hbWU6ICdOYW1lJywgdmFsdWU6ICcxJyB9LFxyXG4gICAgeyBuYW1lOiAnVGl0bGUnLCB2YWx1ZTogJzInIH0sXHJcbiAgICB7IG5hbWU6ICdVcHZvdGUnLCB2YWx1ZTogJzMnIH1cclxuICBdO1xyXG4gIGNvbmRpdGlvbnMgPSBbXHJcbiAgICB7IG5hbWU6ICdTb3J0IEEtWicsIHZhbHVlOiAnMScgfSxcclxuICAgIHsgbmFtZTogJ1NvcnQgWi1BJywgdmFsdWU6ICcyJyB9XHJcbiAgXTtcclxuXHJcbiAgSUNPTlM6IElpY29uID0gSUNPTlM7XHJcblxyXG4gIGZpbHRlcnNzczogU2VsZWN0T3B0aW9uPG51bWJlcj5bXSA9IFtcclxuICAgIHtcclxuICAgICAgbGFiZWw6ICdIZWxsbycsXHJcbiAgICAgIHZhbHVlOiAyLFxyXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXTtcclxuICBkZWZhdWx0RmlsdGVyTGlzdDogRmlsdGVyRGF0YVJlcXVlc3RbXSA9IFtcclxuICAgIHsgbmFtZTogJ0Jlc3QnLCBwcm9qZWN0R3JpZEZpbHRlcklkOiAnZGVmYXVsdDEnLCB1c2VyRmlsdGVyczogW10gfSxcclxuICAgIHsgbmFtZTogXCJIb3RcIiwgdXNlckZpbHRlcnM6IFtdLCBwcm9qZWN0R3JpZEZpbHRlcklkOiBcImRlZmF1bHQyXCIgfSxcclxuICAgIHsgbmFtZTogXCJUb3BcIiwgdXNlckZpbHRlcnM6IFtdLCBwcm9qZWN0R3JpZEZpbHRlcklkOiBcImRlZmF1bHQzXCIgfSxcclxuICAgIHsgbmFtZTogXCJOZXdcIiwgdXNlckZpbHRlcnM6IFtdLCBwcm9qZWN0R3JpZEZpbHRlcklkOiBcImRlZmF1bHQ0XCIgfSxcclxuICBdO1xyXG4gIHVzZXJGaWx0ZXJMaXN0OiBGaWx0ZXJEYXRhUmVxdWVzdFtdID0gW1xyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRmlsdGVyIGJ5IE5hbWUgQXNjZW5kaW5nJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogJzEyMycsXHJcbiAgICAgIGNvbGxlY3Rpb25OYW1lOiAnRW1wbG95ZWVzJyxcclxuICAgICAgdXNlckZpbHRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwdWJsaWNGaWVsZE5hbWU6ICdOYW1lJyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0NvbnRhaW5zJyxcclxuICAgICAgICAgIHZhbHVlczogWydKb2huJ10sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgc29ydDoge1xyXG4gICAgICAgIGZpZWxkOiAnTmFtZScsXHJcbiAgICAgICAgZGlyZWN0aW9uOiAnQXNjZW5kaW5nJyxcclxuICAgICAgfSxcclxuICAgICAgb3JkZXI6IDEsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAnRmlsdGVyIGJ5IERlcGFydG1lbnQgYW5kIFNhbGFyeSBEZXNjZW5kaW5nJyxcclxuICAgICAgcHJvamVjdEdyaWRGaWx0ZXJJZDogJzQ1NicsXHJcbiAgICAgIGNvbGxlY3Rpb25OYW1lOiAnRW1wbG95ZWVzJyxcclxuICAgICAgdXNlckZpbHRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwdWJsaWNGaWVsZE5hbWU6ICdEZXBhcnRtZW50JyxcclxuICAgICAgICAgIG9wZXJhdG9yVHlwZTogJ0VxdWFscycsXHJcbiAgICAgICAgICB2YWx1ZXM6IFsnSVQnXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ1NhbGFyeScsXHJcbiAgICAgICAgICBvcGVyYXRvclR5cGU6ICdHcmVhdGVyVGhhbicsXHJcbiAgICAgICAgICB2YWx1ZXM6IFs1MDAwMF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgc29ydDoge1xyXG4gICAgICAgIGZpZWxkOiAnVGl0bGUnLFxyXG4gICAgICAgIGRpcmVjdGlvbjogJ0Rlc2NlbmRpbmcnLFxyXG4gICAgICB9LFxyXG4gICAgICBvcmRlcjogMixcclxuICAgIH0sXHJcbiAgXTtcclxuXHJcbiAgc2VsZWN0ZWRGaWx0ZXJJZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIHNlYXJjaChfZTogc3RyaW5nKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0TmFtZUZyb21WYWx1ZSh2YWx1ZTogc3RyaW5nLCBhcnJheTogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBhcnJheS5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gdmFsdWUpPy5uYW1lIHx8ICcnO1xyXG4gIH1cclxuICBnZXRWYWx1ZUZyb21OYW1lKG5hbWU6IHN0cmluZywgYXJyYXk6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYXJyYXkuZmluZChpdGVtID0+IGl0ZW0ubmFtZSA9PT0gbmFtZSk/LnZhbHVlIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVSYW5kb21TdHJpbmcobGVuZ3RoOiBudW1iZXIgPSAxNik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjaGFycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHJlc3VsdCArPSBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgc3VibWl0Rm9ybSgpIHtcclxuICAgIGlmICghdGhpcy5mb3JtPy52YWx1ZT8uZmlsdGVyTmFtZSkgcmV0dXJuO1xyXG4gICAgY29uc3QgbmV3VXNlckZpbHRlcjogRmlsdGVyRGF0YVJlcXVlc3QgPSB7XHJcbiAgICAgIG5hbWU6IHRoaXMuZm9ybT8udmFsdWU/LmZpbHRlck5hbWUgPz8gJycsXHJcbiAgICAgIHByb2plY3RHcmlkRmlsdGVySWQ6IHRoaXMuZ2VuZXJhdGVSYW5kb21TdHJpbmcoKSxcclxuICAgICAgY29sbGVjdGlvbk5hbWU6ICdFbXBsb3llZXMnLFxyXG4gICAgICB1c2VyRmlsdGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHB1YmxpY0ZpZWxkTmFtZTogJ05hbWUnLFxyXG4gICAgICAgICAgb3BlcmF0b3JUeXBlOiAnQ29udGFpbnMnLFxyXG4gICAgICAgICAgdmFsdWVzOiBbJ0pvaG4nXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICBzb3J0OiB7XHJcbiAgICAgICAgZmllbGQ6IHRoaXMuZ2V0TmFtZUZyb21WYWx1ZSh0aGlzLmZvcm0/LnZhbHVlPy5maWx0ZXJGaWVsZCA/PyAnJywgdGhpcy5maWVsZHMpLFxyXG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5mb3JtPy52YWx1ZT8uZmlsdGVyQ29uZGl0aW9uID09ICcxJyA/ICdBc2NlbmRpbmcnIDogJ0Rlc2NlbmRpbmcnLFxyXG4gICAgICB9LFxyXG4gICAgICBvcmRlcjogdGhpcy51c2VyRmlsdGVyTGlzdC5sZW5ndGgsXHJcbiAgICB9O1xyXG4gICAgdGhpcy51c2VyRmlsdGVyTGlzdC5wdXNoKG5ld1VzZXJGaWx0ZXIpO1xyXG4gIH1cclxuICBzZXRGaWx0ZXIodXNlckZpbHRlcjogRmlsdGVyRGF0YVJlcXVlc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBmaWx0ZXJGaWVsZDogW3RoaXMuZ2V0VmFsdWVGcm9tTmFtZSh1c2VyRmlsdGVyLnNvcnQ/LmZpZWxkID8/IFwiXCIsIHRoaXMuZmllbGRzKV0sXHJcbiAgICAgIGZpbHRlckNvbmRpdGlvbjogW3VzZXJGaWx0ZXIuc29ydD8uZGlyZWN0aW9uID09IFwiQXNjZW5kaW5nXCIgPyAnMScgOiBcIjJcIl0sXHJcbiAgICAgIGZpbHRlck5hbWU6IFt1c2VyRmlsdGVyLm5hbWVdLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVySWQgPSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgPz8gXCJcIjtcclxuICB9XHJcbiAgcmVtb3ZlRmlsdGVyKHVzZXJGaWx0ZXI6IEZpbHRlckRhdGFSZXF1ZXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLnVzZXJGaWx0ZXJMaXN0ID0gdGhpcy51c2VyRmlsdGVyTGlzdC5maWx0ZXIoXHJcbiAgICAgIGZpbHRlciA9PiBmaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCAhPT0gdXNlckZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkXHJcbiAgICApO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyV2lkdGggPSB3aW5kb3cuc2NyZWVuLndpZHRoIC0gMTMwO1xyXG4gIH1cclxuICBiYWNrKCkge1xyXG4gICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJweC00XCI+XHJcbiAgPGFwcC1oZWFkZXIgaGVhZGluZz1cIkFkdmFuY2VkIEZpbHRlcnNcIiAoZmlyc3RCdXR0b24pPVwiYmFjaygpXCI+PC9hcHAtaGVhZGVyPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInB4LTUgbXQtNCBtYi1bNXJlbV1cIj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCI+XHJcbiAgICA8cCBjbGFzcz1cIm5vcm1hbC10ZXh0LW1kIG5vcm1hbC10ZXh0LWdyYXkgbWItWzI2cHhdXCI+Q3JlYXRlIGFuZCBhcHBseSBjdXN0b20gYWR2YW5jZSBmaWx0ZXJzIG9yIHNlbGVjdCBwb3B1bGFyIHByZXNldCBhZHZhbmNlIGZpbHRlcnMuPC9wPlxyXG4gICAgPGg1IGNsYXNzPVwic3VidGl0bGUgbWItWzEycHhdXCI+RmlsdGVyczwvaDU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbWItMlwiPlxyXG4gICAgICA8bGliLWlucHV0LWZpZWxkIHR5cGU9XCJ0ZXh0XCIgbGFiZWw9XCJGaWx0ZXIgTmFtZVwiIHN0eWxlPVwid2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpIDtcIiBmb3JtQ29udHJvbE5hbWU9XCJmaWx0ZXJOYW1lXCI+XHJcbiAgICAgIDwvbGliLWlucHV0LWZpZWxkPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiZmxleCByb3cgaXRlbXMtY2VudGVyIGdhcC0xIG10LTIgbXMtMSBjdXJzb3ItcG9pbnRlciBmb250LXB1cnBsZSB0ZXh0LW5vd3JhcFwiIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgICAgICAgIDxpbWcgW25nU3JjXT1cIklDT05TWydwbHVzJ11cIiBoZWlnaHQ9XCIxNFwiIHdpZHRoPVwiMTVcIiBhbHQ9XCJsaWItaWNvblwiIC8+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzaGFkb3cgbm9ybWFsLXRleHQtbWRcIj5cclxuICAgICAgICAgIEFkZCBmaWx0ZXJcclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidy1bNTAlXVwiPlxyXG4gICAgICAgIDxhcHAtaW5wdXQtZmllbGQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImZpbHRlckZpZWxkXCIgb3B0aW9uTGFiZWw9XCJuYW1lXCJcclxuICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIiBsYWJlbD1cIkZpZWxkXCIgW29wdGlvbnNdPVwiZmllbGRzXCI+XHJcbiAgICAgICAgPC9hcHAtaW5wdXQtZmllbGQtc2VsZWN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInctWzUwJV1cIj5cclxuICAgICAgICA8YXBwLWlucHV0LWZpZWxkLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJmaWx0ZXJDb25kaXRpb25cIlxyXG4gICAgICAgICAgW29wdGlvbnNdPVwiY29uZGl0aW9uc1wiIG9wdGlvbkxhYmVsPVwibmFtZVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBsYWJlbD1cIkNvbmRpdGlvblwiPlxyXG4gICAgICAgIDwvYXBwLWlucHV0LWZpZWxkLXNlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Zvcm0+XHJcbiAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyIG10LTRcIj5cclxuICAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm10LVsyMHB4XVwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGRlZmF1bHRGaWx0ZXJMaXN0XCIgY2xhc3M9XCJmbGV4IHJvdyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG1iLVszMnB4XVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCByb3cgZ2FwLVszMHB4XVwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snZ3JpZCddXCIgYWx0PVwibGliLWljb25cIj5cclxuICAgICAgICA8cCBjbGFzcz1cIm5vcm1hbC10ZXh0LW1kIFwiIFtjbGFzc109XCJzZWxlY3RlZEZpbHRlcklkICE9PSBmaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCA/ICd0ZXh0LXdoaXRlJyA6ICdub3JtYWwtdGV4dC1ncmF5J1wiPnt7IGZpbHRlci5uYW1lIH19PC9wPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggcm93IGdhcC1bMTRweF1cIj5cclxuICAgICAgICA8cCBjbGFzcz1cIm5vcm1hbC10ZXh0LXNtXCI+RGVmYXVsdDwvcD5cclxuICAgICAgICA8aW1nICpuZ0lmPVwic2VsZWN0ZWRGaWx0ZXJJZCAhPT0gZmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgXCIgW3NyY109XCJJQ09OU1snZXllUGluayddXCIgYWx0PVwibGliLWljb25cIiB3aWR0aD1cIjE1LjU5XCIgaGVpZ2h0PVwiOS44NVwiIChjbGljayk9XCJzZXRGaWx0ZXIoZmlsdGVyKVwiPlxyXG4gICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZEZpbHRlcklkID09PSBmaWx0ZXIucHJvamVjdEdyaWRGaWx0ZXJJZCBcIiBbc3JjXT1cIklDT05TWydleWVQaW5rQ2xvc2UnXVwiIGFsdD1cImxpYi1pY29uXCIgd2lkdGg9XCIxNS41OVwiIGhlaWdodD1cIjkuODVcIiAoY2xpY2spPVwic2V0RmlsdGVyKGZpbHRlcilcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1c2VyRmlsdGVyIG9mIHVzZXJGaWx0ZXJMaXN0XCIgY2xhc3M9XCJmbGV4IHJvdyBqdXN0aWZ5LWJldHdlZW4gbWItWzMycHhdIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCByb3cgZ2FwLVszMHB4XVwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJJQ09OU1snZ3JpZCddXCIgYWx0PVwibGliLWljb25cIj5cclxuICAgICAgICA8cCBjbGFzcz1cInRleHQtbm93cmFwIG5vcm1hbC10ZXh0LW1kXCIgW25nU3R5bGVdPVwieyAnbWF4LXdpZHRoJzogZmlsdGVyV2lkdGggKyAncHgnIH1cIiBbY2xhc3NdPVwic2VsZWN0ZWRGaWx0ZXJJZCAhPT0gdXNlckZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkID8gJ3RleHQtd2hpdGUnIDogJ25vcm1hbC10ZXh0LWdyYXknXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRydW5jYXRlIGlubGluZS1ibG9jayBhbGlnbi1ib3R0b21cIiBzdHlsZT1cIm1heC13aWR0aDogNHJlbTtcIj5cclxuICAgICAgICAgICAge3sgdXNlckZpbHRlci5uYW1lIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgfFxyXG4gICAgICAgICAge3sgdXNlckZpbHRlci5zb3J0Py5maWVsZCB9fSwge3sgdXNlckZpbHRlci5zb3J0Py5kaXJlY3Rpb24gPT0gXCJBc2NlbmRpbmdcIiA/IFwiU29ydCBBLVpcIiA6IFwiU29ydCBaLUFcIiB9fTwvcD5cclxuICAgICAgICA8IS0tIDxwIGNsYXNzPVwidGV4dC13aGl0ZVwiIFtuZ1N0eWxlXT1cInsgJ21heC13aWR0aCc6IGZpbHRlcldpZHRoICsgJ3B4JyB9XCI+e3sgdXNlckZpbHRlci5uYW1lIH19IDwvcD4gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCByb3cgZ2FwLTNcIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiSUNPTlNbJ2RlbGV0ZVBpbmsnXVwiIGNsYXNzPVwibGliLWljb25cIiB3aWR0aD1cIjkuNDFcIiBoZWlnaHQ9XCIxMi4yOVwiICAoY2xpY2spPVwicmVtb3ZlRmlsdGVyKHVzZXJGaWx0ZXIpXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIklDT05TWydlZGl0UGluayddXCIgY2xhc3M9XCJsaWItaWNvblwiIHdpZHRoPVwiMTIuMzFcIiBoZWlnaHQ9XCIxMi4zMVwiPlxyXG4gICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZEZpbHRlcklkICE9PSB1c2VyRmlsdGVyLnByb2plY3RHcmlkRmlsdGVySWQgXCIgW3NyY109XCJJQ09OU1snZXllUGluayddXCIgYWx0PVwibGliLWljb25cIiB3aWR0aD1cIjE1LjU5XCIgaGVpZ2h0PVwiOS44NVwiIChjbGljayk9XCJzZXRGaWx0ZXIodXNlckZpbHRlcilcIj5cclxuICAgICAgICA8aW1nICpuZ0lmPVwic2VsZWN0ZWRGaWx0ZXJJZCA9PT0gdXNlckZpbHRlci5wcm9qZWN0R3JpZEZpbHRlcklkIFwiIFtzcmNdPVwiSUNPTlNbJ2V5ZVBpbmtDbG9zZSddXCIgYWx0PVwibGliLWljb25cIiB3aWR0aD1cIjE1LjU5XCIgaGVpZ2h0PVwiOS44NVwiIChjbGljayk9XCJzZXRGaWx0ZXIodXNlckZpbHRlcilcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJmaXhlZCB3LVs5MCVdIGJvdHRvbS1bMXJlbV0gbGVmdC1bNSVdXCI+XHJcbiAgPGRpdiBjbGFzcz1cInctMTAwIGNlbnRlclwiPlxyXG4gICAgPGxpYi1wcmltYXJ5LWJ0bj57e1wiSVRJTkVSQVJZLkFQUExZXCIgfCB0cmFuc2xhdGUgfX08L2xpYi1wcmltYXJ5LWJ0bj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==