@flower-city-online/itinerary-lib 0.0.32 → 0.0.33
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.
- package/environments/environment.d.ts +13 -0
- package/esm2022/environments/environment.mjs +25 -0
- package/esm2022/flower-city-online-itinerary-lib.mjs +5 -0
- package/esm2022/lib/itinerary-app/_constants/constants.mjs +129 -0
- package/esm2022/lib/itinerary-app/_enums/ItenariesRoutes.enum.mjs +67 -0
- package/esm2022/lib/itinerary-app/_enums/PathwayRoutes.enum.mjs +7 -0
- package/esm2022/lib/itinerary-app/_enums/userRoutes.enum.mjs +5 -0
- package/esm2022/lib/itinerary-app/_interface/bottomNavigationList.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/cardData.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/commentsdata.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/conditions.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/dashboardSideBar.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/filterMenuOptions.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/icon.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/notification.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/pages.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/presetRecord.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/reportOptions.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/search-popup.mjs +2 -0
- package/esm2022/lib/itinerary-app/_interface/searchResults.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/Itinerary-stats.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/Itinerary.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/app-user.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/itinerary-location.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/itineraryMember.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/location-review.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/matching-clients.mjs +2 -0
- package/esm2022/lib/itinerary-app/_models/position-model.mjs +2 -0
- package/esm2022/lib/itinerary-app/_pipes/votes.pipe.mjs +25 -0
- package/esm2022/lib/itinerary-app/_services/api.service.mjs +31 -0
- package/esm2022/lib/itinerary-app/_services/assets.service.mjs +42 -0
- package/esm2022/lib/itinerary-app/_services/bottom-navigation.service.mjs +92 -0
- package/esm2022/lib/itinerary-app/_services/comment-image.service.mjs +16 -0
- package/esm2022/lib/itinerary-app/_services/constants.service.mjs +14 -0
- package/esm2022/lib/itinerary-app/_services/custom-dropdown-menu.service.mjs +256 -0
- package/esm2022/lib/itinerary-app/_services/itinerary.drawmode.transfer.mjs +34 -0
- package/esm2022/lib/itinerary-app/_services/itinerary.service.mjs +57 -0
- package/esm2022/lib/itinerary-app/_services/location.service.mjs +32 -0
- package/esm2022/lib/itinerary-app/_services/modal.clearhistory.service.mjs +17 -0
- package/esm2022/lib/itinerary-app/_services/modal.sendclient.service.mjs +17 -0
- package/esm2022/lib/itinerary-app/_services/modal.service.mjs +17 -0
- package/esm2022/lib/itinerary-app/_services/modal.shareurlservice.mjs +17 -0
- package/esm2022/lib/itinerary-app/_services/shadow-root-handler.service.mjs +38 -0
- package/esm2022/lib/itinerary-app/_services/share-popup-data.mjs +20 -0
- package/esm2022/lib/itinerary-app/itinerary-lib-routing.module.mjs +50 -0
- package/esm2022/lib/itinerary-app/itinerary-lib.component.mjs +77 -0
- package/esm2022/lib/itinerary-app/itinerary-lib.module.mjs +87 -0
- package/esm2022/lib/itinerary-app/modules/archives/archives-routing.module.mjs +19 -0
- package/esm2022/lib/itinerary-app/modules/archives/archives.component.mjs +23 -0
- package/esm2022/lib/itinerary-app/modules/archives/archives.module.mjs +40 -0
- package/esm2022/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.mjs +72 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.mjs +61 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.mjs +64 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/dashboard-routing.module.mjs +24 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/dashboard.component.mjs +14 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/dashboard.module.mjs +55 -0
- package/esm2022/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.mjs +11 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.mjs +13 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.mjs +64 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.mjs +42 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.mjs +51 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.mjs +43 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.mjs +80 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.mjs +72 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.mjs +71 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.mjs +42 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.mjs +78 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/itineraries-routing.module.mjs +292 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/itineraries.component.mjs +50 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/itineraries.module.mjs +361 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.mjs +150 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.mjs +173 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.mjs +98 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.mjs +52 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.mjs +47 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.mjs +89 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.mjs +53 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.mjs +278 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.mjs +243 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.mjs +61 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.mjs +59 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.mjs +232 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.mjs +157 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.mjs +89 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.mjs +78 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.mjs +57 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.mjs +38 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.mjs +322 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.mjs +87 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.mjs +72 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.mjs +14 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.mjs +12 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.mjs +47 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.mjs +81 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.mjs +73 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.mjs +86 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.mjs +56 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.mjs +70 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.mjs +61 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.mjs +38 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.mjs +81 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.mjs +114 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.mjs +120 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.mjs +21 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.mjs +99 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.mjs +45 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.mjs +50 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.mjs +113 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.mjs +284 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.mjs +85 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.mjs +98 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.mjs +67 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.mjs +49 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.mjs +21 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.mjs +80 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.mjs +62 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.mjs +76 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.mjs +65 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.mjs +21 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.mjs +48 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.mjs +38 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.mjs +73 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.mjs +55 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.mjs +54 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.mjs +55 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.mjs +53 -0
- package/esm2022/lib/itinerary-app/modules/itineraries/pages/stories/story.component.mjs +54 -0
- package/esm2022/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.mjs +284 -0
- package/esm2022/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.mjs +39 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.mjs +26 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.mjs +56 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.mjs +30 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pathway-routing.module.mjs +41 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pathway.component.mjs +12 -0
- package/esm2022/lib/itinerary-app/modules/pathway/pathway.module.mjs +81 -0
- package/esm2022/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.mjs +30 -0
- package/esm2022/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.mjs +17 -0
- package/esm2022/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.mjs +13 -0
- package/esm2022/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.mjs +14 -0
- package/esm2022/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.mjs +12 -0
- package/esm2022/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.mjs +79 -0
- package/esm2022/lib/itinerary-app/modules/search/components/search-results/search-results.component.mjs +16 -0
- package/esm2022/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.mjs +14 -0
- package/esm2022/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.mjs +33 -0
- package/esm2022/lib/itinerary-app/modules/search/pages/main-search/main-search.component.mjs +243 -0
- package/esm2022/lib/itinerary-app/modules/search/search-routing.module.mjs +19 -0
- package/esm2022/lib/itinerary-app/modules/search/search.component.mjs +12 -0
- package/esm2022/lib/itinerary-app/modules/search/search.module.mjs +87 -0
- package/esm2022/lib/itinerary-app/modules/user/profile/profile.component.mjs +54 -0
- package/esm2022/lib/itinerary-app/modules/user/user-routing.module.mjs +22 -0
- package/esm2022/lib/itinerary-app/modules/user/user.module.mjs +40 -0
- package/esm2022/lib/itinerary-app/shared/action-card/action-card.component.mjs +29 -0
- package/esm2022/lib/itinerary-app/shared/card-component/card-component.component.mjs +127 -0
- package/esm2022/lib/itinerary-app/shared/comment/comment-images/comment-images.component.mjs +22 -0
- package/esm2022/lib/itinerary-app/shared/comment/comment.component.mjs +82 -0
- package/esm2022/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.mjs +27 -0
- package/esm2022/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.mjs +171 -0
- package/esm2022/lib/itinerary-app/shared/cutom-card/cutom-card.component.mjs +128 -0
- package/esm2022/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.mjs +28 -0
- package/esm2022/lib/itinerary-app/shared/footer/footer.component.mjs +109 -0
- package/esm2022/lib/itinerary-app/shared/header/header.component.mjs +88 -0
- package/esm2022/lib/itinerary-app/shared/icon-button/icon-button.component.mjs +19 -0
- package/esm2022/lib/itinerary-app/shared/image-viewer/image-viewer.component.mjs +31 -0
- package/esm2022/lib/itinerary-app/shared/matching-clients/matching-clients.component.mjs +71 -0
- package/esm2022/lib/itinerary-app/shared/notification-tile/notification-tile.component.mjs +40 -0
- package/esm2022/lib/itinerary-app/shared/search-popup/search-popup.component.mjs +54 -0
- package/esm2022/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.mjs +25 -0
- package/esm2022/lib/itinerary-app/shared/shared.module.mjs +207 -0
- package/esm2022/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.mjs +46 -0
- package/esm2022/lib/itinerary-app/shared/tab-bar/tab-bar.component.mjs +62 -0
- package/esm2022/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.mjs +44 -0
- package/esm2022/lib/itinerary-app/shared/user-tile/user-tile.component.mjs +28 -0
- package/esm2022/lib/itinerary-app/shared/users-stack/users-stack.component.mjs +60 -0
- package/esm2022/public-api.mjs +4 -0
- package/fesm2022/flower-city-online-itinerary-lib.mjs +9335 -0
- package/fesm2022/flower-city-online-itinerary-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/itinerary-app/_constants/constants.d.ts +2 -0
- package/lib/itinerary-app/_enums/ItenariesRoutes.enum.d.ts +65 -0
- package/lib/itinerary-app/_enums/PathwayRoutes.enum.d.ts +5 -0
- package/lib/itinerary-app/_enums/userRoutes.enum.d.ts +3 -0
- package/lib/itinerary-app/_interface/bottomNavigationList.d.ts +11 -0
- package/lib/itinerary-app/_interface/cardData.d.ts +16 -0
- package/lib/itinerary-app/_interface/commentsdata.d.ts +14 -0
- package/lib/itinerary-app/_interface/conditions.d.ts +5 -0
- package/lib/itinerary-app/_interface/dashboardSideBar.d.ts +7 -0
- package/lib/itinerary-app/_interface/filterMenuOptions.d.ts +4 -0
- package/lib/itinerary-app/_interface/icon.d.ts +3 -0
- package/lib/itinerary-app/_interface/notification.d.ts +7 -0
- package/lib/itinerary-app/_interface/pages.d.ts +4 -0
- package/lib/itinerary-app/_interface/presetRecord.d.ts +5 -0
- package/lib/itinerary-app/_interface/reportOptions.d.ts +4 -0
- package/lib/itinerary-app/_interface/search-popup.d.ts +6 -0
- package/lib/itinerary-app/_interface/searchResults.d.ts +5 -0
- package/lib/itinerary-app/_models/Itinerary-stats.d.ts +10 -0
- package/lib/itinerary-app/_models/Itinerary.d.ts +23 -0
- package/lib/itinerary-app/_models/app-user.d.ts +6 -0
- package/lib/itinerary-app/_models/itinerary-location.d.ts +16 -0
- package/lib/itinerary-app/_models/itineraryMember.d.ts +6 -0
- package/lib/itinerary-app/_models/location-review.d.ts +8 -0
- package/lib/itinerary-app/_models/matching-clients.d.ts +9 -0
- package/lib/itinerary-app/_models/position-model.d.ts +5 -0
- package/lib/itinerary-app/_pipes/votes.pipe.d.ts +7 -0
- package/lib/itinerary-app/_services/api.service.d.ts +22 -0
- package/lib/itinerary-app/_services/assets.service.d.ts +21 -0
- package/lib/itinerary-app/_services/bottom-navigation.service.d.ts +26 -0
- package/lib/itinerary-app/_services/comment-image.service.d.ts +8 -0
- package/lib/itinerary-app/_services/constants.service.d.ts +6 -0
- package/lib/itinerary-app/_services/custom-dropdown-menu.service.d.ts +37 -0
- package/lib/itinerary-app/_services/itinerary.drawmode.transfer.d.ts +27 -0
- package/lib/itinerary-app/_services/itinerary.service.d.ts +24 -0
- package/lib/itinerary-app/_services/location.service.d.ts +10 -0
- package/lib/itinerary-app/_services/modal.clearhistory.service.d.ts +9 -0
- package/lib/itinerary-app/_services/modal.sendclient.service.d.ts +9 -0
- package/lib/itinerary-app/_services/modal.service.d.ts +9 -0
- package/lib/itinerary-app/_services/modal.shareurlservice.d.ts +9 -0
- package/lib/itinerary-app/_services/shadow-root-handler.service.d.ts +6 -0
- package/lib/itinerary-app/_services/share-popup-data.d.ts +11 -0
- package/lib/itinerary-app/itinerary-lib-routing.module.d.ts +7 -0
- package/lib/itinerary-app/itinerary-lib.component.d.ts +25 -0
- package/lib/itinerary-app/itinerary-lib.module.d.ts +19 -0
- package/lib/itinerary-app/modules/archives/archives-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/archives/archives.component.d.ts +9 -0
- package/lib/itinerary-app/modules/archives/archives.module.d.ts +14 -0
- package/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.d.ts +34 -0
- package/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.d.ts +19 -0
- package/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.d.ts +16 -0
- package/lib/itinerary-app/modules/dashboard/dashboard-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/dashboard/dashboard.component.d.ts +5 -0
- package/lib/itinerary-app/modules/dashboard/dashboard.module.d.ts +16 -0
- package/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.d.ts +5 -0
- package/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.d.ts +5 -0
- package/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.d.ts +19 -0
- package/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.d.ts +29 -0
- package/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.d.ts +28 -0
- package/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.d.ts +28 -0
- package/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.d.ts +33 -0
- package/lib/itinerary-app/modules/itineraries/itineraries-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/itineraries/itineraries.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/itineraries.module.d.ts +84 -0
- package/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.d.ts +43 -0
- package/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.d.ts +30 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.d.ts +42 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.d.ts +23 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.d.ts +58 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.d.ts +53 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.d.ts +22 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.d.ts +14 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.d.ts +50 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.d.ts +27 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.d.ts +33 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.d.ts +30 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.d.ts +24 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.d.ts +21 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.d.ts +40 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.d.ts +25 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.d.ts +25 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.d.ts +7 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.d.ts +5 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.d.ts +27 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.d.ts +24 -0
- package/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.d.ts +27 -0
- package/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.d.ts +34 -0
- package/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.d.ts +28 -0
- package/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.d.ts +38 -0
- package/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.d.ts +9 -0
- package/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.d.ts +39 -0
- package/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.d.ts +23 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.d.ts +13 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.d.ts +20 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.d.ts +38 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.d.ts +30 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.d.ts +25 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.d.ts +31 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.d.ts +25 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.d.ts +9 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.d.ts +35 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.d.ts +27 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.d.ts +34 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.d.ts +30 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.d.ts +9 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.d.ts +25 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.d.ts +18 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.d.ts +33 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.d.ts +26 -0
- package/lib/itinerary-app/modules/itineraries/pages/stories/story.component.d.ts +34 -0
- package/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.d.ts +35 -0
- package/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.d.ts +15 -0
- package/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.d.ts +11 -0
- package/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.d.ts +29 -0
- package/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.d.ts +20 -0
- package/lib/itinerary-app/modules/pathway/pathway-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/pathway/pathway.component.d.ts +5 -0
- package/lib/itinerary-app/modules/pathway/pathway.module.d.ts +20 -0
- package/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.d.ts +14 -0
- package/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.d.ts +9 -0
- package/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.d.ts +5 -0
- package/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.d.ts +7 -0
- package/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.d.ts +5 -0
- package/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.d.ts +24 -0
- package/lib/itinerary-app/modules/search/components/search-results/search-results.component.d.ts +8 -0
- package/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.d.ts +7 -0
- package/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.d.ts +16 -0
- package/lib/itinerary-app/modules/search/pages/main-search/main-search.component.d.ts +74 -0
- package/lib/itinerary-app/modules/search/search-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/search/search.component.d.ts +5 -0
- package/lib/itinerary-app/modules/search/search.module.d.ts +22 -0
- package/lib/itinerary-app/modules/user/profile/profile.component.d.ts +12 -0
- package/lib/itinerary-app/modules/user/user-routing.module.d.ts +7 -0
- package/lib/itinerary-app/modules/user/user.module.d.ts +12 -0
- package/lib/itinerary-app/shared/action-card/action-card.component.d.ts +12 -0
- package/lib/itinerary-app/shared/card-component/card-component.component.d.ts +42 -0
- package/lib/itinerary-app/shared/comment/comment-images/comment-images.component.d.ts +9 -0
- package/lib/itinerary-app/shared/comment/comment.component.d.ts +32 -0
- package/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.d.ts +11 -0
- package/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.d.ts +47 -0
- package/lib/itinerary-app/shared/cutom-card/cutom-card.component.d.ts +53 -0
- package/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.d.ts +10 -0
- package/lib/itinerary-app/shared/footer/footer.component.d.ts +23 -0
- package/lib/itinerary-app/shared/header/header.component.d.ts +17 -0
- package/lib/itinerary-app/shared/icon-button/icon-button.component.d.ts +9 -0
- package/lib/itinerary-app/shared/image-viewer/image-viewer.component.d.ts +16 -0
- package/lib/itinerary-app/shared/matching-clients/matching-clients.component.d.ts +24 -0
- package/lib/itinerary-app/shared/notification-tile/notification-tile.component.d.ts +20 -0
- package/lib/itinerary-app/shared/search-popup/search-popup.component.d.ts +23 -0
- package/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.d.ts +10 -0
- package/lib/itinerary-app/shared/shared.module.d.ts +34 -0
- package/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.d.ts +26 -0
- package/lib/itinerary-app/shared/tab-bar/tab-bar.component.d.ts +17 -0
- package/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.d.ts +19 -0
- package/lib/itinerary-app/shared/user-tile/user-tile.component.d.ts +12 -0
- package/lib/itinerary-app/shared/users-stack/users-stack.component.d.ts +23 -0
- package/package.json +21 -15
- package/public-api.d.ts +3 -0
- package/.eslintrc.json +0 -6
- package/ng-package.json +0 -14
- package/src/environments/environment.prod.ts +0 -6
- package/src/environments/environment.ts +0 -26
- package/src/lib/itinerary-app/_constants/constants.ts +0 -130
- package/src/lib/itinerary-app/_constants/i18n-routes.ts +0 -334
- package/src/lib/itinerary-app/_enums/ItenariesRoutes.enum.ts +0 -65
- package/src/lib/itinerary-app/_enums/PathwayRoutes.enum.ts +0 -5
- package/src/lib/itinerary-app/_enums/userRoutes.enum.ts +0 -3
- package/src/lib/itinerary-app/_interface/bottomNavigationList.ts +0 -11
- package/src/lib/itinerary-app/_interface/cardData.ts +0 -16
- package/src/lib/itinerary-app/_interface/commentsdata.ts +0 -14
- package/src/lib/itinerary-app/_interface/conditions.ts +0 -5
- package/src/lib/itinerary-app/_interface/dashboardSideBar.ts +0 -7
- package/src/lib/itinerary-app/_interface/filterMenuOptions.ts +0 -4
- package/src/lib/itinerary-app/_interface/icon.ts +0 -3
- package/src/lib/itinerary-app/_interface/itinerary-map.ts +0 -7
- package/src/lib/itinerary-app/_interface/notification.ts +0 -7
- package/src/lib/itinerary-app/_interface/pages.ts +0 -4
- package/src/lib/itinerary-app/_interface/presetRecord.ts +0 -5
- package/src/lib/itinerary-app/_interface/reportOptions.ts +0 -4
- package/src/lib/itinerary-app/_interface/search-popup.ts +0 -7
- package/src/lib/itinerary-app/_interface/searchResults.ts +0 -5
- package/src/lib/itinerary-app/_models/Itinerary-stats.ts +0 -11
- package/src/lib/itinerary-app/_models/Itinerary.ts +0 -24
- package/src/lib/itinerary-app/_models/app-user.ts +0 -6
- package/src/lib/itinerary-app/_models/favorite-itinerary.ts +0 -5
- package/src/lib/itinerary-app/_models/itinerary-location.ts +0 -17
- package/src/lib/itinerary-app/_models/itineraryMember.ts +0 -6
- package/src/lib/itinerary-app/_models/location-review.ts +0 -9
- package/src/lib/itinerary-app/_models/matching-clients.ts +0 -9
- package/src/lib/itinerary-app/_models/position-model.ts +0 -5
- package/src/lib/itinerary-app/_pipes/votes.pipe.ts +0 -17
- package/src/lib/itinerary-app/_services/api.service.ts +0 -38
- package/src/lib/itinerary-app/_services/assets.service.ts +0 -46
- package/src/lib/itinerary-app/_services/bottom-navigation.service.ts +0 -92
- package/src/lib/itinerary-app/_services/comment-image.service.ts +0 -11
- package/src/lib/itinerary-app/_services/constants.service.ts +0 -8
- package/src/lib/itinerary-app/_services/custom-dropdown-menu.service.ts +0 -257
- package/src/lib/itinerary-app/_services/itinerary.drawmode.transfer.ts +0 -33
- package/src/lib/itinerary-app/_services/itinerary.service.ts +0 -64
- package/src/lib/itinerary-app/_services/location.service.ts +0 -28
- package/src/lib/itinerary-app/_services/modal.clearhistory.service.ts +0 -12
- package/src/lib/itinerary-app/_services/modal.sendclient.service.ts +0 -12
- package/src/lib/itinerary-app/_services/modal.service.ts +0 -12
- package/src/lib/itinerary-app/_services/modal.shareitinerary.service.ts +0 -12
- package/src/lib/itinerary-app/_services/modal.shareurlservice.ts +0 -12
- package/src/lib/itinerary-app/_services/shadow-root-handler.service.ts +0 -38
- package/src/lib/itinerary-app/_services/share-popup-data.ts +0 -17
- package/src/lib/itinerary-app/itinerary-lib-routing.module.ts +0 -42
- package/src/lib/itinerary-app/itinerary-lib.component.ts +0 -70
- package/src/lib/itinerary-app/itinerary-lib.module.ts +0 -55
- package/src/lib/itinerary-app/modules/archives/archives-routing.module.ts +0 -11
- package/src/lib/itinerary-app/modules/archives/archives.component.html +0 -8
- package/src/lib/itinerary-app/modules/archives/archives.component.scss +0 -0
- package/src/lib/itinerary-app/modules/archives/archives.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/archives/archives.component.ts +0 -19
- package/src/lib/itinerary-app/modules/archives/archives.module.ts +0 -23
- package/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.html +0 -35
- package/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.scss +0 -3
- package/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/archives/pages/main-archives/main-archives.component.ts +0 -69
- package/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.html +0 -38
- package/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.scss +0 -35
- package/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/dashboard/components/navbar/navbar.component.ts +0 -61
- package/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.html +0 -20
- package/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.scss +0 -36
- package/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/dashboard/components/sidebar/sidebar.component.ts +0 -65
- package/src/lib/itinerary-app/modules/dashboard/dashboard-routing.module.ts +0 -16
- package/src/lib/itinerary-app/modules/dashboard/dashboard.component.html +0 -15
- package/src/lib/itinerary-app/modules/dashboard/dashboard.component.scss +0 -3
- package/src/lib/itinerary-app/modules/dashboard/dashboard.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/dashboard/dashboard.component.ts +0 -10
- package/src/lib/itinerary-app/modules/dashboard/dashboard.module.ts +0 -32
- package/src/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.html +0 -0
- package/src/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/dashboard/pages/main-dashboard/main-dashboard.component.ts +0 -9
- package/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.html +0 -69
- package/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/app-header-desktop/app-header-desktop.component.ts +0 -11
- package/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.css +0 -39
- package/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.html +0 -64
- package/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/app-sidebar-desktop/app-sidebar-desktop.component.ts +0 -71
- package/src/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.html +0 -11
- package/src/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.scss +0 -39
- package/src/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/components/comment-filter-menu/comment-filter-menu.component.ts +0 -45
- package/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.html +0 -28
- package/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.scss +0 -22
- package/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/components/delete-itineraries/delete-itineraries.component.ts +0 -50
- package/src/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.html +0 -13
- package/src/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.scss +0 -16
- package/src/lib/itinerary-app/modules/itineraries/components/filter-menu/filter-menu.component.ts +0 -45
- package/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.css +0 -30
- package/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.html +0 -104
- package/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/no-visual-map-filters/no-visual-map-filters.component.ts +0 -88
- package/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.html +0 -14
- package/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.scss +0 -55
- package/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/components/report-itinerary-modal/report-itinerary-modal.component.ts +0 -79
- package/src/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.html +0 -15
- package/src/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.scss +0 -72
- package/src/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/components/report-media-modal/report-media-modal.component.ts +0 -79
- package/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.css +0 -28
- package/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.html +0 -10
- package/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/send-to-client/send-to-client.component.ts +0 -44
- package/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.html +0 -65
- package/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.scss +0 -104
- package/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/components/share-popup/share-popup.component.ts +0 -82
- package/src/lib/itinerary-app/modules/itineraries/itineraries-routing.module.ts +0 -283
- package/src/lib/itinerary-app/modules/itineraries/itineraries.component.html +0 -38
- package/src/lib/itinerary-app/modules/itineraries/itineraries.component.scss +0 -17
- package/src/lib/itinerary-app/modules/itineraries/itineraries.component.ts +0 -44
- package/src/lib/itinerary-app/modules/itineraries/itineraries.module.ts +0 -232
- package/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.css +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.html +0 -70
- package/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/advanced-filters/advanced-filters.component.ts +0 -155
- package/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.html +0 -30
- package/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.scss +0 -16
- package/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/branched-itineraries/branched-itineraries.component.ts +0 -180
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.html +0 -49
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.scss +0 -7
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/builder.component.ts +0 -105
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary/create-itinerary.component.html +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary/create-itinerary.component.scss +0 -3
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary/create-itinerary.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary/create-itinerary.component.ts +0 -90
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.html +0 -21
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal/create-itinerary-modal.component.ts +0 -54
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.html +0 -24
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.scss +0 -46
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/components/create-itinerary-modal-item/create-itinerary-modal-item.component.ts +0 -42
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.css +0 -6
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.html +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary/create-itinerary.component.ts +0 -96
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.html +0 -53
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-destination/create-itinerary-destination.component.ts +0 -56
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.css +0 -47
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.html +0 -71
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-mode/create-itinerary-draw-mode.component.ts +0 -319
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.css +0 -47
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.html +0 -187
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-draw-preview/create-itinerary-draw-preview.component.ts +0 -275
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.css +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.html +0 -26
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-header/create-itinerary-header.component.ts +0 -54
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.html +0 -31
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-member-details/create-itinerary-member-details.component.ts +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.css +0 -53
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.html +0 -60
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-filter/create-itinerary-no-visual-filter.component.ts +0 -258
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.css +0 -4
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.html +0 -186
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-no-visual-preview/create-itinerary-no-visual-preview.component.ts +0 -178
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.css +0 -38
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.html +0 -45
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-start-location/create-itinerary-start-location.component.ts +0 -94
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.html +0 -68
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/create-itinerary-user-search/create-itinerary-user-search.component.ts +0 -82
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.css +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.html +0 -194
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary/created-itinerary.component.ts +0 -60
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.css +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.html +0 -93
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-detail/created-itinerary-detail.component.ts +0 -34
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.html +0 -11
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-map/created-itinerary-map.component.ts +0 -352
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.css +0 -5
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.html +0 -19
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/created-itinerary-preview/created-itinerary-preview.component.ts +0 -91
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.css +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.html +0 -40
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-add-place.component.ts +0 -71
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.css +0 -4
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.html +0 -35
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-basic-info/itinerary-place-basic-info.component.ts +0 -13
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.html +0 -18
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-date-time/itinerary-place-date-time.component.ts +0 -9
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.html +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/itinerary-add-place/itinerary-place-members/itinerary-place-members.component.ts +0 -49
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.css +0 -5
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.html +0 -30
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/location-picker/location-picker.component.ts +0 -80
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.html +0 -64
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/select-itinerary-event/select-itinerary-event.component.ts +0 -79
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.css +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.html +0 -140
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-location/suggested-events-location.component.ts +0 -84
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.html +0 -35
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-radius/suggested-events-route-radius.component.ts +0 -54
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.html +0 -52
- package/src/lib/itinerary-app/modules/itineraries/pages/builder/pages/suggested-events-route-type/suggested-events-route-type.component.ts +0 -71
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.css +0 -19
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.html +0 -28
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/comment-replies.component.ts +0 -65
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.css +0 -32
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.html +0 -65
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/comment-replies/components/comment-single/comment-single.component.ts +0 -36
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.html +0 -86
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.scss +0 -11
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-comparison/comment-comparison.component.ts +0 -91
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.css +0 -34
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.html +0 -16
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comment-search/comment-search.component.ts +0 -134
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.html +0 -37
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.scss +0 -37
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/comments-page.component.ts +0 -130
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.html +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/comments/handle-update-comment-request/handle-update-comment-request.component.ts +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.html +0 -37
- package/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.scss +0 -4
- package/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/explore/explore.component.ts +0 -98
- package/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.html +0 -34
- package/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.scss +0 -30
- package/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/favorites/favorites.component.ts +0 -45
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.css +0 -68
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.html +0 -78
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-author-history/itinerary-author-history.component.ts +0 -48
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.css +0 -67
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.html +0 -89
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/details/details.component.ts +0 -116
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.html +0 -21
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/map/map.component.ts +0 -310
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.css +0 -58
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.html +0 -113
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/components/summary/summary.component.ts +0 -89
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.html +0 -37
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-detail/itinerary-detail.component.ts +0 -103
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.css +0 -46
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.html +0 -50
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/existing-friends/existing-friends.component.ts +0 -77
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.html +0 -25
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.scss +0 -13
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/friend-requests/friend-requests.component.ts +0 -55
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.html +0 -6
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/itinerary-friends.component.ts +0 -16
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.css +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.html +0 -45
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/list-friend-users/list-friend-users.component.ts +0 -86
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.html +0 -32
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-friends/send-friend-request/send-friend-request.component.ts +0 -69
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.html +0 -61
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.scss +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/all-people/all-people.component.ts +0 -80
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.html +0 -49
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.scss +0 -9
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/existing-members/existing-members.component.ts +0 -74
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.html +0 -6
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-members.component.ts +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.html +0 -25
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.scss +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/itinerary-sent-invites/itinerary-sent-invites.component.ts +0 -57
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.css +0 -8
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.html +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/send-invite/send-invite.component.ts +0 -39
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.html +0 -45
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.scss +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-members/user-list/user-list.component.ts +0 -82
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.css +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.html +0 -16
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-upvote-users/itinerary-upvote-users.component.ts +0 -55
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.css +0 -3
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.html +0 -16
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-users/itinerary-users.component.ts +0 -53
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.css +0 -4
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.html +0 -16
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/itineraries/pages/itinerary-watching-users/itinerary-watching-users.component.ts +0 -55
- package/src/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.html +0 -11
- package/src/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.scss +0 -0
- package/src/lib/itinerary-app/modules/itineraries/pages/notifications/notifications.component.ts +0 -65
- package/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.css +0 -43
- package/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.html +0 -15
- package/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/itineraries/pages/stories/story.component.ts +0 -46
- package/src/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.html +0 -10
- package/src/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/components/googlemap/googlemap.component.ts +0 -314
- package/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.html +0 -16
- package/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.scss +0 -0
- package/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/components/map-header/map-header.component.ts +0 -34
- package/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.html +0 -67
- package/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.scss +0 -2
- package/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/pages/default-destination/default-destination.component.ts +0 -24
- package/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.html +0 -70
- package/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.scss +0 -10
- package/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/pages/itinerary-preview/itinerary-preview.component.ts +0 -59
- package/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.html +0 -45
- package/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.scss +0 -17
- package/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/pages/non-visual-map-filter/non-visual-map-filter.component.ts +0 -25
- package/src/lib/itinerary-app/modules/pathway/pathway-routing.module.ts +0 -33
- package/src/lib/itinerary-app/modules/pathway/pathway.component.html +0 -3
- package/src/lib/itinerary-app/modules/pathway/pathway.component.scss +0 -0
- package/src/lib/itinerary-app/modules/pathway/pathway.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/pathway/pathway.component.ts +0 -10
- package/src/lib/itinerary-app/modules/pathway/pathway.module.ts +0 -46
- package/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.css +0 -0
- package/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.html +0 -20
- package/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/search/components/clear-history-popup/clear-history-popup.component.ts +0 -28
- package/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.html +0 -19
- package/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.scss +0 -31
- package/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/quick-actions/quick-actions.component.ts +0 -16
- package/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.html +0 -6
- package/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.scss +0 -6
- package/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/recent-searches/recent-searches.component.ts +0 -10
- package/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.html +0 -11
- package/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.scss +0 -22
- package/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/recent-searches-item/recent-searches-item.component.ts +0 -14
- package/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.html +0 -6
- package/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.scss +0 -0
- package/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/recent-searches-list/recent-searches-list.component.ts +0 -10
- package/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.html +0 -24
- package/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.scss +0 -6
- package/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/search-chips/search-chips.component.ts +0 -82
- package/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.css +0 -0
- package/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.html +0 -10
- package/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.spec.ts +0 -23
- package/src/lib/itinerary-app/modules/search/components/search-results/search-results.component.ts +0 -14
- package/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.html +0 -9
- package/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.scss +0 -29
- package/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/serach-bottom-bar/serach-bottom-bar.component.ts +0 -14
- package/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.html +0 -14
- package/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.scss +0 -26
- package/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/components/serach-clear-history/serach-clear-history.component.ts +0 -33
- package/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.html +0 -18
- package/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.scss +0 -4
- package/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/pages/main-search/main-search.component.ts +0 -207
- package/src/lib/itinerary-app/modules/search/search-routing.module.ts +0 -11
- package/src/lib/itinerary-app/modules/search/search.component.html +0 -3
- package/src/lib/itinerary-app/modules/search/search.component.scss +0 -0
- package/src/lib/itinerary-app/modules/search/search.component.spec.ts +0 -22
- package/src/lib/itinerary-app/modules/search/search.component.ts +0 -10
- package/src/lib/itinerary-app/modules/search/search.module.ts +0 -60
- package/src/lib/itinerary-app/modules/user/profile/profile.component.html +0 -34
- package/src/lib/itinerary-app/modules/user/profile/profile.component.scss +0 -51
- package/src/lib/itinerary-app/modules/user/profile/profile.component.ts +0 -50
- package/src/lib/itinerary-app/modules/user/user-routing.module.ts +0 -14
- package/src/lib/itinerary-app/modules/user/user.module.ts +0 -22
- package/src/lib/itinerary-app/shared/action-card/action-card.component.html +0 -22
- package/src/lib/itinerary-app/shared/action-card/action-card.component.scss +0 -3
- package/src/lib/itinerary-app/shared/action-card/action-card.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/action-card/action-card.component.ts +0 -19
- package/src/lib/itinerary-app/shared/card-component/card-component.component.html +0 -134
- package/src/lib/itinerary-app/shared/card-component/card-component.component.scss +0 -87
- package/src/lib/itinerary-app/shared/card-component/card-component.component.spec.ts +0 -22
- package/src/lib/itinerary-app/shared/card-component/card-component.component.ts +0 -117
- package/src/lib/itinerary-app/shared/comment/comment-images/comment-images.component.css +0 -0
- package/src/lib/itinerary-app/shared/comment/comment-images/comment-images.component.html +0 -3
- package/src/lib/itinerary-app/shared/comment/comment-images/comment-images.component.ts +0 -18
- package/src/lib/itinerary-app/shared/comment/comment.component.html +0 -115
- package/src/lib/itinerary-app/shared/comment/comment.component.scss +0 -32
- package/src/lib/itinerary-app/shared/comment/comment.component.ts +0 -89
- package/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.html +0 -10
- package/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.scss +0 -23
- package/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.spec.ts +0 -22
- package/src/lib/itinerary-app/shared/custom-heading-with-button/custom-heading-with-button.component.ts +0 -22
- package/src/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.html +0 -113
- package/src/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.scss +0 -286
- package/src/lib/itinerary-app/shared/custom-story-card/custom-story-card.component.ts +0 -183
- package/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.html +0 -115
- package/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.scss +0 -85
- package/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.spec.ts +0 -22
- package/src/lib/itinerary-app/shared/cutom-card/cutom-card.component.ts +0 -116
- package/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.html +0 -7
- package/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.scss +0 -50
- package/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.spec.ts +0 -22
- package/src/lib/itinerary-app/shared/footer/components/bottom-navigation-items/bottom-navigation-items.component.ts +0 -16
- package/src/lib/itinerary-app/shared/footer/footer.component.html +0 -12
- package/src/lib/itinerary-app/shared/footer/footer.component.scss +0 -29
- package/src/lib/itinerary-app/shared/footer/footer.component.ts +0 -137
- package/src/lib/itinerary-app/shared/header/header.component.html +0 -23
- package/src/lib/itinerary-app/shared/header/header.component.scss +0 -18
- package/src/lib/itinerary-app/shared/header/header.component.ts +0 -88
- package/src/lib/itinerary-app/shared/icon-button/icon-button.component.css +0 -21
- package/src/lib/itinerary-app/shared/icon-button/icon-button.component.html +0 -7
- package/src/lib/itinerary-app/shared/icon-button/icon-button.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/icon-button/icon-button.component.ts +0 -17
- package/src/lib/itinerary-app/shared/image-viewer/image-viewer.component.css +0 -52
- package/src/lib/itinerary-app/shared/image-viewer/image-viewer.component.html +0 -13
- package/src/lib/itinerary-app/shared/image-viewer/image-viewer.component.ts +0 -25
- package/src/lib/itinerary-app/shared/matching-clients/matching-clients.component.css +0 -0
- package/src/lib/itinerary-app/shared/matching-clients/matching-clients.component.html +0 -25
- package/src/lib/itinerary-app/shared/matching-clients/matching-clients.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/matching-clients/matching-clients.component.ts +0 -74
- package/src/lib/itinerary-app/shared/notification-tile/notification-tile.component.html +0 -38
- package/src/lib/itinerary-app/shared/notification-tile/notification-tile.component.scss +0 -46
- package/src/lib/itinerary-app/shared/notification-tile/notification-tile.component.ts +0 -35
- package/src/lib/itinerary-app/shared/search-popup/search-popup.component.css +0 -45
- package/src/lib/itinerary-app/shared/search-popup/search-popup.component.html +0 -30
- package/src/lib/itinerary-app/shared/search-popup/search-popup.component.ts +0 -53
- package/src/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.html +0 -14
- package/src/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.scss +0 -4
- package/src/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/selectable-badge/selectable-badge.component.ts +0 -18
- package/src/lib/itinerary-app/shared/shared.module.ts +0 -128
- package/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.css +0 -67
- package/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.html +0 -14
- package/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.spec.ts +0 -23
- package/src/lib/itinerary-app/shared/swiper-dialog/swiper-dialog.component.ts +0 -49
- package/src/lib/itinerary-app/shared/tab-bar/tab-bar.component.html +0 -6
- package/src/lib/itinerary-app/shared/tab-bar/tab-bar.component.scss +0 -0
- package/src/lib/itinerary-app/shared/tab-bar/tab-bar.component.ts +0 -70
- package/src/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.css +0 -0
- package/src/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.html +0 -15
- package/src/lib/itinerary-app/shared/user-stack-tile/user-stack-tile.component.ts +0 -33
- package/src/lib/itinerary-app/shared/user-tile/user-tile.component.css +0 -0
- package/src/lib/itinerary-app/shared/user-tile/user-tile.component.html +0 -24
- package/src/lib/itinerary-app/shared/user-tile/user-tile.component.ts +0 -22
- package/src/lib/itinerary-app/shared/users-stack/users-stack.component.html +0 -29
- package/src/lib/itinerary-app/shared/users-stack/users-stack.component.scss +0 -20
- package/src/lib/itinerary-app/shared/users-stack/users-stack.component.ts +0 -54
- package/src/lib/itinerary-app/test.ts +0 -30
- package/src/public-api.ts +0 -3
- package/tsconfig.lib.json +0 -15
- package/tsconfig.lib.prod.json +0 -11
- package/tsconfig.spec.json +0 -21
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { ICONS } from '../../../../../../_constants/constants';
|
|
3
|
+
import { ItinerariesRoutesEnum } from '../../../../../../_enums/ItenariesRoutes.enum';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "../../../../../../_services/itinerary.service";
|
|
7
|
+
import * as i3 from "../../../../../../_services/location.service";
|
|
8
|
+
import * as i4 from "../../../../../../_services/itinerary.drawmode.transfer";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@naniteninja/ionic-lib";
|
|
11
|
+
import * as i7 from "../../../../components/no-visual-map-filters/no-visual-map-filters.component";
|
|
12
|
+
import * as i8 from "../create-itinerary-header/create-itinerary-header.component";
|
|
13
|
+
import * as i9 from "@ngx-translate/core";
|
|
14
|
+
const defaultIcon = 'assets/icons/map-markers-yellow.svg';
|
|
15
|
+
const selectedIcon = 'assets/icons/restu-icon-large.svg';
|
|
16
|
+
export class CreateItineraryNoVisualFilterComponent {
|
|
17
|
+
router;
|
|
18
|
+
activatedRoute;
|
|
19
|
+
itineraryService;
|
|
20
|
+
locationService;
|
|
21
|
+
cdr;
|
|
22
|
+
transferService;
|
|
23
|
+
ICONS = ICONS;
|
|
24
|
+
isOpen = true;
|
|
25
|
+
actions = [ICONS['location'], ICONS['pencil'], ICONS['ban']];
|
|
26
|
+
selected = this.actions[2];
|
|
27
|
+
itinerary;
|
|
28
|
+
libMap;
|
|
29
|
+
initialLocation = { lat: 24.8607, lng: 67.0011 };
|
|
30
|
+
selectedMarkers = [];
|
|
31
|
+
placeMarkers = [];
|
|
32
|
+
openFilters = false;
|
|
33
|
+
plottedMarkers = [];
|
|
34
|
+
constructor(router, activatedRoute, itineraryService, locationService, cdr, transferService) {
|
|
35
|
+
this.router = router;
|
|
36
|
+
this.activatedRoute = activatedRoute;
|
|
37
|
+
this.itineraryService = itineraryService;
|
|
38
|
+
this.locationService = locationService;
|
|
39
|
+
this.cdr = cdr;
|
|
40
|
+
this.transferService = transferService;
|
|
41
|
+
}
|
|
42
|
+
searchRestaurantsInView() {
|
|
43
|
+
const map = this.libMap.map.googleMap;
|
|
44
|
+
if (map) {
|
|
45
|
+
const bounds = map.getBounds(); // Get current visible area
|
|
46
|
+
if (!bounds)
|
|
47
|
+
return;
|
|
48
|
+
const service = new google.maps.places.PlacesService(map);
|
|
49
|
+
service.nearbySearch({
|
|
50
|
+
bounds: bounds,
|
|
51
|
+
type: 'restaurant',
|
|
52
|
+
}, (results, status) => {
|
|
53
|
+
if (status === google.maps.places.PlacesServiceStatus.OK && results) {
|
|
54
|
+
results.forEach((place) => {
|
|
55
|
+
this.addCustomMarker(place);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
addCustomMarker(place) {
|
|
62
|
+
const marker = new google.maps.Marker({
|
|
63
|
+
map: this.libMap.map.googleMap,
|
|
64
|
+
position: place.geometry?.location,
|
|
65
|
+
title: place.name,
|
|
66
|
+
icon: {
|
|
67
|
+
url: 'assets/icons/map-markers-yellow.svg',
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
this.plottedMarkers.push(marker);
|
|
71
|
+
this.placeMarkers.push({
|
|
72
|
+
place: place,
|
|
73
|
+
marker: marker
|
|
74
|
+
});
|
|
75
|
+
marker.addListener('click', () => {
|
|
76
|
+
// Toggle selection
|
|
77
|
+
const index = this.selectedMarkers.indexOf(marker);
|
|
78
|
+
if (index > -1) {
|
|
79
|
+
// Marker was already selected → deselect
|
|
80
|
+
marker.setIcon(defaultIcon);
|
|
81
|
+
this.selectedMarkers.splice(index, 1);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// Select marker
|
|
85
|
+
marker.setIcon(selectedIcon);
|
|
86
|
+
this.selectedMarkers.push(marker);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
continueBuilding() {
|
|
91
|
+
const selectedPlaces = this.selectedMarkers.map((selectedMarker) => {
|
|
92
|
+
const placeMarker = this.placeMarkers.find(placeMarker => placeMarker.marker === selectedMarker);
|
|
93
|
+
return placeMarker.place;
|
|
94
|
+
});
|
|
95
|
+
const allPlaces = this.placeMarkers.map(placeMarker => placeMarker.place);
|
|
96
|
+
this.transferService.setPlaces(allPlaces);
|
|
97
|
+
this.transferService.setSelectedPlaces(selectedPlaces);
|
|
98
|
+
this.transferService.setCurrentLocation(this.initialLocation);
|
|
99
|
+
this.router.navigate([
|
|
100
|
+
ItinerariesRoutesEnum.ITINERARY,
|
|
101
|
+
ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE,
|
|
102
|
+
ItinerariesRoutesEnum.CREATE_ITINERARY_NO_VISUAL_FILTER_MODE_PREVIEW,
|
|
103
|
+
this.itinerary?.id
|
|
104
|
+
]);
|
|
105
|
+
}
|
|
106
|
+
ngAfterViewInit() {
|
|
107
|
+
this.locationService.getCurrentLocation()
|
|
108
|
+
.subscribe((location) => {
|
|
109
|
+
this.libMap.map.googleMap?.setCenter({
|
|
110
|
+
lat: location.lat,
|
|
111
|
+
lng: location.long
|
|
112
|
+
});
|
|
113
|
+
//Set the initial location of the user
|
|
114
|
+
this.initialLocation = {
|
|
115
|
+
lat: location.lat,
|
|
116
|
+
lng: location.long
|
|
117
|
+
};
|
|
118
|
+
this.libMap.map.googleMap?.setZoom(15);
|
|
119
|
+
//Add marker for user position
|
|
120
|
+
new google.maps.Marker({
|
|
121
|
+
map: this.libMap.map.googleMap,
|
|
122
|
+
position: {
|
|
123
|
+
lat: location.lat,
|
|
124
|
+
lng: location.long
|
|
125
|
+
},
|
|
126
|
+
title: 'You are here',
|
|
127
|
+
icon: {
|
|
128
|
+
url: 'assets/current_location.svg',
|
|
129
|
+
scaledSize: new google.maps.Size(40, 40),
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
this.searchRestaurantsInView();
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
showBottomModal() {
|
|
136
|
+
this.isOpen = true;
|
|
137
|
+
this.cdr.detectChanges();
|
|
138
|
+
}
|
|
139
|
+
ngOnInit() {
|
|
140
|
+
const id = this.activatedRoute.snapshot.params['id'];
|
|
141
|
+
if (id) {
|
|
142
|
+
this.itinerary = this.itineraryService.getById(id);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
toggleFilter() {
|
|
146
|
+
this.openFilters = !this.openFilters;
|
|
147
|
+
}
|
|
148
|
+
onPresetsChanged(conditions) {
|
|
149
|
+
this.filterPlacesInView(conditions);
|
|
150
|
+
}
|
|
151
|
+
onbackButtonClicked() {
|
|
152
|
+
this.toggleFilter();
|
|
153
|
+
}
|
|
154
|
+
updateAction(action) {
|
|
155
|
+
this.selected = action;
|
|
156
|
+
if (action === this.actions[0]) {
|
|
157
|
+
this.router.navigate([
|
|
158
|
+
ItinerariesRoutesEnum.ITINERARY,
|
|
159
|
+
ItinerariesRoutesEnum.CREATE_ITINERARY_ORIGIN,
|
|
160
|
+
this.itinerary?.id
|
|
161
|
+
]);
|
|
162
|
+
}
|
|
163
|
+
if (action === this.actions[1]) {
|
|
164
|
+
this.router.navigate([
|
|
165
|
+
ItinerariesRoutesEnum.ITINERARY,
|
|
166
|
+
ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE,
|
|
167
|
+
ItinerariesRoutesEnum.CREATE_ITINERARY_DRAW_MODE_CREATE,
|
|
168
|
+
this.itinerary?.id,
|
|
169
|
+
]);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
filterPlacesInView(filters) {
|
|
173
|
+
const map = this.libMap.map.googleMap;
|
|
174
|
+
if (map) {
|
|
175
|
+
const bounds = map.getBounds(); // Get current visible area
|
|
176
|
+
if (!bounds)
|
|
177
|
+
return;
|
|
178
|
+
const service = new google.maps.places.PlacesService(map);
|
|
179
|
+
// Extract values from filters
|
|
180
|
+
let typeFilter;
|
|
181
|
+
let openNowFilter;
|
|
182
|
+
let ratingFilter;
|
|
183
|
+
filters.forEach((filter) => {
|
|
184
|
+
if (filter.field === 'type') {
|
|
185
|
+
typeFilter = filter.condition;
|
|
186
|
+
}
|
|
187
|
+
else if (filter.field === 'open_now') {
|
|
188
|
+
openNowFilter = filter.condition === 'true';
|
|
189
|
+
}
|
|
190
|
+
else if (filter.field === 'rating') {
|
|
191
|
+
const match = filter.condition.match(/>=\s*(\d+(?:\.\d+)?)/);
|
|
192
|
+
if (match) {
|
|
193
|
+
ratingFilter = parseFloat(match[1]);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
service.nearbySearch({
|
|
198
|
+
bounds: bounds,
|
|
199
|
+
type: typeFilter,
|
|
200
|
+
openNow: openNowFilter, // true or false
|
|
201
|
+
}, (results, status) => {
|
|
202
|
+
if (status === google.maps.places.PlacesServiceStatus.OK && results) {
|
|
203
|
+
const filtered = ratingFilter
|
|
204
|
+
? results.filter(place => {
|
|
205
|
+
const rating = place.rating ?? 0;
|
|
206
|
+
return rating >= ratingFilter;
|
|
207
|
+
})
|
|
208
|
+
: results;
|
|
209
|
+
if (this.plottedMarkers.length) {
|
|
210
|
+
this.plottedMarkers.forEach((marker) => {
|
|
211
|
+
marker.setMap(null);
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
this.selectedMarkers = [];
|
|
215
|
+
filtered.forEach(place => {
|
|
216
|
+
this.addCustomMarker(place);
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryNoVisualFilterComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ItineraryService }, { token: i3.LocationService }, { token: i0.ChangeDetectorRef }, { token: i4.ItineraryDrawModeTransferService }], target: i0.ɵɵFactoryTarget.Component });
|
|
223
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryNoVisualFilterComponent, selector: "lib-create-itinerary-no-visual-filter", viewQueries: [{ propertyName: "libMap", first: true, predicate: ["libMap"], descendants: true }], ngImport: i0, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<img\r\n (click)=\"toggleFilter()\"\r\n class=\"cursor-pointer\"\r\n style=\"position: absolute; right: 10px; top: 20%; z-index: 99;\"\r\n [src]=\"ICONS['dotsIcon']\"\r\n alt=\"icon\"\r\n height=\"40\"\r\n width=\"40\"\r\n />\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<div class=\"filter-page\" *ngIf=\"openFilters\">\r\n <lib-no-visual-map-filters\r\n (presetsChanged)=\"onPresetsChanged($event)\"\r\n (backButtonClicked)=\"onbackButtonClicked()\"\r\n ></lib-no-visual-map-filters>\r\n</div>\r\n<lib-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"NO_VISUAL_FILTERS\"| translate }}</h3>\r\n <div class=\"selectables flex items-center\">\r\n <div\r\n (click)=\"updateAction(a)\"\r\n class=\"flex items-center justify-center actions\"\r\n *ngFor=\"let a of actions\"\r\n [ngClass]=\"{ selected: a === selected }\"\r\n >\r\n <img [src]=\"a\" alt=\"icon\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"mt-3 mb-4\">{{ \"NO_VISUAL_FILTERS\"| translate }}</p>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continueBuilding()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--lib-popup-modal-radius: 16px;--border-radius: var(--lib-popup-modal-radius);--lib-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--lib-popup-modal-color: #a8a8a8;--color: var(--lib-popup-modal-color, #a8a8a8);--max-width: var(--lib-bottom-modal-max-width, 500px);--lib-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --lib-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}.filter-page{position:fixed;height:100vh;width:100vw;z-index:99999;top:0;background-color:#27242c}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.BottomModalComponent, selector: "lib-bottom-modal", inputs: ["breakpoints", "initialBreakpoint", "isOpen", "canDismiss", "showArrow", "showBackBtn", "showConfirm", "showCloseBtn", "loading", "showHeaderSeparator", "title", "confirmationTitle", "confirmationMsg", "confirmButton", "confirmCancelButton", "description", "secondaryButtonTitle", "submitButtonTitle", "cancelButtonTitle", "validModal", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "breakpointChange", "closeModal", "submitModal", "secondaryButtonClick", "backClick", "showConfirmChange", "confirmEvent"] }, { kind: "directive", type: i6.LazyImageDirective, selector: "img" }, { kind: "component", type: i6.FooterSharedComponent, selector: "lib-footer-shared", inputs: ["loading$", "canContinue", "continueButtonText", "secondaryButtonText", "showBackButton", "continueButtonParameter$"], outputs: ["secondaryButtonClick", "continueButtonClick"] }, { kind: "component", type: i6.LibMapsComponent, selector: "lib-map", inputs: ["disableNotification", "markers", "initialLocation", "mapType", "enableDrag", "locations", "searchMapsString", "mapOptions", "directions$", "directionRenderOptions"], outputs: ["mapActionEvent"] }, { kind: "component", type: i7.NoVisualMapFiltersComponent, selector: "lib-no-visual-map-filters", outputs: ["presetsChanged", "backButtonClicked"] }, { kind: "component", type: i8.CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: ["heading", "progressBarValue", "discardItineraryId", "class"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
224
|
+
}
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryNoVisualFilterComponent, decorators: [{
|
|
226
|
+
type: Component,
|
|
227
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'lib-create-itinerary-no-visual-filter', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"50\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<img\r\n (click)=\"toggleFilter()\"\r\n class=\"cursor-pointer\"\r\n style=\"position: absolute; right: 10px; top: 20%; z-index: 99;\"\r\n [src]=\"ICONS['dotsIcon']\"\r\n alt=\"icon\"\r\n height=\"40\"\r\n width=\"40\"\r\n />\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n<div class=\"filter-page\" *ngIf=\"openFilters\">\r\n <lib-no-visual-map-filters\r\n (presetsChanged)=\"onPresetsChanged($event)\"\r\n (backButtonClicked)=\"onbackButtonClicked()\"\r\n ></lib-no-visual-map-filters>\r\n</div>\r\n<lib-bottom-modal\r\n [showArrow]=\"true\"\r\n [(isOpen)]=\"isOpen\"\r\n [adaptToContentHeight]=\"true\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"flex items-center justify-between\">\r\n <h3 class=\"font-Calistoga text-lg\">{{ \"NO_VISUAL_FILTERS\"| translate }}</h3>\r\n <div class=\"selectables flex items-center\">\r\n <div\r\n (click)=\"updateAction(a)\"\r\n class=\"flex items-center justify-center actions\"\r\n *ngFor=\"let a of actions\"\r\n [ngClass]=\"{ selected: a === selected }\"\r\n >\r\n <img [src]=\"a\" alt=\"icon\" loading=\"lazy\" />\r\n </div>\r\n </div>\r\n </div>\r\n <p class=\"mt-3 mb-4\">{{ \"NO_VISUAL_FILTERS\"| translate }}</p>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"continueBuilding()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'COMMON.CONTINUE' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [":host{--lib-popup-modal-radius: 16px;--border-radius: var(--lib-popup-modal-radius);--lib-popup-modal-background: #28252d !important;--background: #28252d !important;--overflow: hidden !important;--lib-popup-modal-color: #a8a8a8;--color: var(--lib-popup-modal-color, #a8a8a8);--max-width: var(--lib-bottom-modal-max-width, 500px);--lib-popup-modal-shadow: 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) !important;--box-shadow: var( --lib-popup-modal-shadow, 5px 5px 95px 0px rgba(255, 255, 255, .32), -3px -3px 16px 0px rgba(255, 255, 255, .1) )}.selectables{background:#28252d;box-shadow:4.1px 4.1px 8.2px #00000052 inset;box-shadow:-2.46px -2.46px 3.28px #ffffff1a inset;border-radius:27.9px}.actions{width:42px;height:28px;border-radius:82.05px}.selected{background:linear-gradient(94.44deg,#fe3c72 1.26%,#e15561);box-shadow:3.28px 3.28px 6.56px #00000040;box-shadow:-1.64px -1.64px 8.2px #ffffff40}.button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}.filter-page{position:fixed;height:100vh;width:100vw;z-index:99999;top:0;background-color:#27242c}\n"] }]
|
|
228
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ItineraryService }, { type: i3.LocationService }, { type: i0.ChangeDetectorRef }, { type: i4.ItineraryDrawModeTransferService }], propDecorators: { libMap: [{
|
|
229
|
+
type: ViewChild,
|
|
230
|
+
args: ['libMap']
|
|
231
|
+
}] } });
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1maWx0ZXIvY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1maWx0ZXIvY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQXFCLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7OztBQU90RixNQUFNLFdBQVcsR0FBRyxxQ0FBcUMsQ0FBQztBQUMxRCxNQUFNLFlBQVksR0FBRyxtQ0FBbUMsQ0FBQztBQVV6RCxNQUFNLE9BQU8sc0NBQXNDO0lBaUJ2QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFyQlYsS0FBSyxHQUFVLEtBQUssQ0FBQztJQUNyQixNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2QsT0FBTyxHQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxF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LEVBQ2hELE1BQThDLEVBQzlDLEVBQUU7Z0JBQ0YsSUFBSSxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLE9BQU8sRUFBRTtvQkFDbkUsTUFBTSxRQUFRLEdBQUcsWUFBWTt3QkFDM0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7NEJBQ3JCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDOzRCQUNqQyxPQUFPLE1BQU0sSUFBSSxZQUFhLENBQUM7d0JBQ2pDLENBQUMsQ0FBQzt3QkFDSixDQUFDLENBQUMsT0FBTyxDQUFDO29CQUNaLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7d0JBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7NEJBQ3JDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3RCLENBQUMsQ0FBQyxDQUFDO3FCQUNKO29CQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO29CQUMxQixRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM5QixDQUFDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO3dHQTFPVSxzQ0FBc0M7NEZBQXRDLHNDQUFzQywrS0N0Qm5ELDQ2REE0REE7OzRGRHRDYSxzQ0FBc0M7a0JBUGxELFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyx1Q0FBdUMsY0FHckMsS0FBSztvUEFRRSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEl0aW5lcmFyaWVzUm91dGVzRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19lbnVtcy9JdGVuYXJpZXNSb3V0ZXMuZW51bSc7XHJcbmltcG9ydCB7IEl0aW5lcmFyeSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19tb2RlbHMvSXRpbmVyYXJ5JztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9pdGluZXJhcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9sb2NhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGliTWFwc0NvbXBvbmVudCB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5pbXBvcnQgeyBJdGluZXJhcnlEcmF3TW9kZVRyYW5zZmVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19zZXJ2aWNlcy9pdGluZXJhcnkuZHJhd21vZGUudHJhbnNmZXInO1xyXG5pbXBvcnQgeyBJQ29uZGl0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19pbnRlcmZhY2UvY29uZGl0aW9ucyc7XHJcbmNvbnN0IGRlZmF1bHRJY29uID0gJ2Fzc2V0cy9pY29ucy9tYXAtbWFya2Vycy15ZWxsb3cuc3ZnJztcclxuY29uc3Qgc2VsZWN0ZWRJY29uID0gJ2Fzc2V0cy9pY29ucy9yZXN0dS1pY29uLWxhcmdlLnN2Zyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHNlbGVjdG9yOiAnbGliLWNyZWF0ZS1pdGluZXJhcnktbm8tdmlzdWFsLWZpbHRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsOiAnLi9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1maWx0ZXIuY29tcG9uZW50LmNzcycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlSXRpbmVyYXJ5Tm9WaXN1YWxGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIElDT05TOiBJaWNvbiA9IElDT05TO1xyXG4gIGlzT3BlbiA9IHRydWU7XHJcbiAgYWN0aW9uczogc3RyaW5nW10gPSBbSUNPTlNbJ2xvY2F0aW9uJ10sIElDT05TWydwZW5jaWwnXSwgSUNPTlNbJ2JhbiddXTtcclxuICBzZWxlY3RlZDogc3RyaW5nID0gdGhpcy5hY3Rpb25zWzJdO1xyXG4gIGl0aW5lcmFyeSE6IEl0aW5lcmFyeSB8IHVuZGVmaW5lZDtcclxuICBAVmlld0NoaWxkKCdsaWJNYXAnKSBsaWJNYXAhOiBMaWJNYXBzQ29tcG9uZW50O1xyXG4gIGluaXRpYWxMb2NhdGlvbiA9IHsgbGF0OiAyNC44NjA3LCBsbmc6IDY3LjAwMTEgfTtcclxuICBzZWxlY3RlZE1hcmtlcnM6IGdvb2dsZS5tYXBzLk1hcmtlcltdID0gW107XHJcbiAgcGxhY2VNYXJrZXJzOiB7XHJcbiAgICBtYXJrZXI6IGdvb2dsZS5tYXBzLk1hcmtlcixcclxuICAgIHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHRcclxuICB9W10gPSBbXTtcclxuICBvcGVuRmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHBsb3R0ZWRNYXJrZXJzOiBnb29nbGUubWFwcy5NYXJrZXJbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgaXRpbmVyYXJ5U2VydmljZTogSXRpbmVyYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgbG9jYXRpb25TZXJ2aWNlOiBMb2NhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHRyYW5zZmVyU2VydmljZTogSXRpbmVyYXJ5RHJhd01vZGVUcmFuc2ZlclNlcnZpY2VcclxuICApIHtcclxuXHJcbiAgfVxyXG5cclxuICBzZWFyY2hSZXN0YXVyYW50c0luVmlldygpIHtcclxuICAgIGNvbnN0IG1hcCA9IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAhO1xyXG4gICAgaWYgKG1hcCkge1xyXG4gICAgICBjb25zdCBib3VuZHMgPSBtYXAuZ2V0Qm91bmRzKCk7IC8vIEdldCBjdXJyZW50IHZpc2libGUgYXJlYVxyXG4gICAgICBpZiAoIWJvdW5kcykgcmV0dXJuO1xyXG5cclxuICAgICAgY29uc3Qgc2VydmljZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZShtYXApO1xyXG5cclxuICAgICAgc2VydmljZS5uZWFyYnlTZWFyY2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYm91bmRzOiBib3VuZHMsXHJcbiAgICAgICAgICB0eXBlOiAncmVzdGF1cmFudCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoXHJcbiAgICAgICAgICByZXN1bHRzOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHRbXSB8IG51bGwsXHJcbiAgICAgICAgICBzdGF0dXM6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlU3RhdHVzLFxyXG4gICAgICAgICkgPT4ge1xyXG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gZ29vZ2xlLm1hcHMucGxhY2VzLlBsYWNlc1NlcnZpY2VTdGF0dXMuT0sgJiYgcmVzdWx0cykge1xyXG4gICAgICAgICAgICByZXN1bHRzLmZvckVhY2goKHBsYWNlOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmFkZEN1c3RvbU1hcmtlcihwbGFjZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRDdXN0b21NYXJrZXIocGxhY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdCkge1xyXG4gICAgY29uc3QgbWFya2VyID0gbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgIG1hcDogdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCxcclxuICAgICAgcG9zaXRpb246IHBsYWNlLmdlb21ldHJ5Py5sb2NhdGlvbixcclxuICAgICAgdGl0bGU6IHBsYWNlLm5hbWUsXHJcbiAgICAgIGljb246IHtcclxuICAgICAgICB1cmw6ICdhc3NldHMvaWNvbnMvbWFwLW1hcmtlcnMteWVsbG93LnN2ZycsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHRoaXMucGxvdHRlZE1hcmtlcnMucHVzaChtYXJrZXIpO1xyXG4gICAgdGhpcy5wbGFjZU1hcmtlcnMucHVzaCh7XHJcbiAgICAgIHBsYWNlOiBwbGFjZSxcclxuICAgICAgbWFya2VyOiBtYXJrZXJcclxuICAgIH0pO1xyXG4gICAgbWFya2VyLmFkZExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcclxuICAgICAgLy8gVG9nZ2xlIHNlbGVjdGlvblxyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRNYXJrZXJzLmluZGV4T2YobWFya2VyKTtcclxuXHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgLy8gTWFya2VyIHdhcyBhbHJlYWR5IHNlbGVjdGVkIOKGkiBkZXNlbGVjdFxyXG4gICAgICAgIG1hcmtlci5zZXRJY29uKGRlZmF1bHRJY29uKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2Vycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIFNlbGVjdCBtYXJrZXJcclxuICAgICAgICBtYXJrZXIuc2V0SWNvbihzZWxlY3RlZEljb24pO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNYXJrZXJzLnB1c2gobWFya2VyKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb250aW51ZUJ1aWxkaW5nKCkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRQbGFjZXMgPSB0aGlzLnNlbGVjdGVkTWFya2Vycy5tYXAoKHNlbGVjdGVkTWFya2VyKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBsYWNlTWFya2VyID0gdGhpcy5wbGFjZU1hcmtlcnMuZmluZChwbGFjZU1hcmtlciA9PiBwbGFjZU1hcmtlci5tYXJrZXIgPT09IHNlbGVjdGVkTWFya2VyKTtcclxuICAgICAgcmV0dXJuIHBsYWNlTWFya2VyIS5wbGFjZTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgYWxsUGxhY2VzID0gdGhpcy5wbGFjZU1hcmtlcnMubWFwKHBsYWNlTWFya2VyID0+IHBsYWNlTWFya2VyLnBsYWNlKTtcclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNldFBsYWNlcyhhbGxQbGFjZXMpO1xyXG4gICAgdGhpcy50cmFuc2ZlclNlcnZpY2Uuc2V0U2VsZWN0ZWRQbGFjZXMoc2VsZWN0ZWRQbGFjZXMpO1xyXG4gICAgdGhpcy50cmFuc2ZlclNlcnZpY2Uuc2V0Q3VycmVudExvY2F0aW9uKHRoaXMuaW5pdGlhbExvY2F0aW9uKTtcclxuXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXHJcbiAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5JVElORVJBUlksXHJcbiAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5DUkVBVEVfSVRJTkVSQVJZX05PX1ZJU1VBTF9GSUxURVJfTU9ERSxcclxuICAgICAgSXRpbmVyYXJpZXNSb3V0ZXNFbnVtLkNSRUFURV9JVElORVJBUllfTk9fVklTVUFMX0ZJTFRFUl9NT0RFX1BSRVZJRVcsXHJcbiAgICAgIHRoaXMuaXRpbmVyYXJ5Py5pZFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRMb2NhdGlvbigpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2F0aW9uKSA9PiB7XHJcbiAgICAgICAgdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcD8uc2V0Q2VudGVyKHtcclxuICAgICAgICAgIGxhdDogbG9jYXRpb24ubGF0LFxyXG4gICAgICAgICAgbG5nOiBsb2NhdGlvbi5sb25nXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vU2V0IHRoZSBpbml0aWFsIGxvY2F0aW9uIG9mIHRoZSB1c2VyXHJcbiAgICAgICAgdGhpcy5pbml0aWFsTG9jYXRpb24gPSB7XHJcbiAgICAgICAgICBsYXQ6IGxvY2F0aW9uLmxhdCxcclxuICAgICAgICAgIGxuZzogbG9jYXRpb24ubG9uZ1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwPy5zZXRab29tKDE1KTtcclxuXHJcbiAgICAgICAgLy9BZGQgbWFya2VyIGZvciB1c2VyIHBvc2l0aW9uXHJcbiAgICAgICAgbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAsXHJcbiAgICAgICAgICBwb3NpdGlvbjoge1xyXG4gICAgICAgICAgICBsYXQ6IGxvY2F0aW9uLmxhdCxcclxuICAgICAgICAgICAgbG5nOiBsb2NhdGlvbi5sb25nXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdGl0bGU6ICdZb3UgYXJlIGhlcmUnLFxyXG4gICAgICAgICAgaWNvbjoge1xyXG4gICAgICAgICAgICB1cmw6ICdhc3NldHMvY3VycmVudF9sb2NhdGlvbi5zdmcnLFxyXG4gICAgICAgICAgICBzY2FsZWRTaXplOiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSg0MCwgNDApLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5zZWFyY2hSZXN0YXVyYW50c0luVmlldygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dCb3R0b21Nb2RhbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtc1snaWQnXTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICB0aGlzLml0aW5lcmFyeSA9IHRoaXMuaXRpbmVyYXJ5U2VydmljZS5nZXRCeUlkKGlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpbHRlcigpIHtcclxuICAgIHRoaXMub3BlbkZpbHRlcnMgPSAhdGhpcy5vcGVuRmlsdGVycztcclxuICB9XHJcblxyXG4gIG9uUHJlc2V0c0NoYW5nZWQoY29uZGl0aW9uczogSUNvbmRpdGlvbnNbXSkge1xyXG4gICAgdGhpcy5maWx0ZXJQbGFjZXNJblZpZXcoY29uZGl0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBvbmJhY2tCdXR0b25DbGlja2VkKCkge1xyXG4gICAgdGhpcy50b2dnbGVGaWx0ZXIoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUFjdGlvbihhY3Rpb246IHN0cmluZykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gYWN0aW9uO1xyXG4gICAgICBpZihhY3Rpb24gPT09IHRoaXMuYWN0aW9uc1swXSkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5JVElORVJBUlksXHJcbiAgICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9PUklHSU4sXHJcbiAgICAgICAgICB0aGlzLml0aW5lcmFyeT8uaWRcclxuICAgICAgICBdKTtcclxuICAgICAgfVxyXG4gICAgICBpZihhY3Rpb24gPT09IHRoaXMuYWN0aW9uc1sxXSkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgICAgIEl0aW5lcmFyaWVzUm91dGVzRW51bS5JVElORVJBUlksXHJcbiAgICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9EUkFXX01PREUsXHJcbiAgICAgICAgICBJdGluZXJhcmllc1JvdXRlc0VudW0uQ1JFQVRFX0lUSU5FUkFSWV9EUkFXX01PREVfQ1JFQVRFLFxyXG4gICAgICAgICAgdGhpcy5pdGluZXJhcnk/LmlkLFxyXG4gICAgICAgIF0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIGZpbHRlclBsYWNlc0luVmlldyhmaWx0ZXJzOiBJQ29uZGl0aW9uc1tdKSB7XHJcbiAgY29uc3QgbWFwID0gdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCE7XHJcbiAgICBpZiAobWFwKSB7XHJcbiAgICAgIGNvbnN0IGJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTsgLy8gR2V0IGN1cnJlbnQgdmlzaWJsZSBhcmVhXHJcbiAgICAgIGlmICghYm91bmRzKSByZXR1cm47XHJcblxyXG4gICAgICBjb25zdCBzZXJ2aWNlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlKG1hcCk7XHJcblxyXG4gICAgICAvLyBFeHRyYWN0IHZhbHVlcyBmcm9tIGZpbHRlcnNcclxuICAgICAgbGV0IHR5cGVGaWx0ZXI6IHN0cmluZyB8IGJvb2xlYW47XHJcbiAgICAgIGxldCBvcGVuTm93RmlsdGVyOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gICAgICBsZXQgcmF0aW5nRmlsdGVyOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlcjogSUNvbmRpdGlvbnMpID0+IHtcclxuICAgICAgICBpZiAoZmlsdGVyLmZpZWxkID09PSAndHlwZScpIHtcclxuICAgICAgICAgIHR5cGVGaWx0ZXIgPSBmaWx0ZXIuY29uZGl0aW9uO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLmZpZWxkID09PSAnb3Blbl9ub3cnKSB7XHJcbiAgICAgICAgICBvcGVuTm93RmlsdGVyID0gZmlsdGVyLmNvbmRpdGlvbiA9PT0gJ3RydWUnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZmlsdGVyLmZpZWxkID09PSAncmF0aW5nJykge1xyXG4gICAgICAgICAgY29uc3QgbWF0Y2ggPSAoZmlsdGVyLmNvbmRpdGlvbiBhcyBzdHJpbmcpLm1hdGNoKC8+PVxccyooXFxkKyg/OlxcLlxcZCspPykvKTtcclxuICAgICAgICAgIGlmIChtYXRjaCkge1xyXG4gICAgICAgICAgICByYXRpbmdGaWx0ZXIgPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgc2VydmljZS5uZWFyYnlTZWFyY2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYm91bmRzOiBib3VuZHMsXHJcbiAgICAgICAgICB0eXBlOiB0eXBlRmlsdGVyISBhcyBzdHJpbmcsIC8vIGUuZy4gJ3Jlc3RhdXJhbnQnXHJcbiAgICAgICAgICBvcGVuTm93OiBvcGVuTm93RmlsdGVyLCAvLyB0cnVlIG9yIGZhbHNlXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoXHJcbiAgICAgICAgICByZXN1bHRzOiBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHRbXSB8IG51bGwsXHJcbiAgICAgICAgICBzdGF0dXM6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlU3RhdHVzXHJcbiAgICAgICAgKSA9PiB7XHJcbiAgICAgICAgICBpZiAoc3RhdHVzID09PSBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VzU2VydmljZVN0YXR1cy5PSyAmJiByZXN1bHRzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkID0gcmF0aW5nRmlsdGVyXHJcbiAgICAgICAgICAgICAgPyByZXN1bHRzLmZpbHRlcihwbGFjZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJhdGluZyA9IHBsYWNlLnJhdGluZyA/PyAwO1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gcmF0aW5nID49IHJhdGluZ0ZpbHRlciE7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIDogcmVzdWx0cztcclxuICAgICAgICAgICAgaWYodGhpcy5wbG90dGVkTWFya2Vycy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLnBsb3R0ZWRNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgbWFya2VyLnNldE1hcChudWxsKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2VycyA9IFtdO1xyXG4gICAgICAgICAgICBmaWx0ZXJlZC5mb3JFYWNoKHBsYWNlID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmFkZEN1c3RvbU1hcmtlcihwbGFjZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFwcC1jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlclxyXG4gIFtwcm9ncmVzc0JhclZhbHVlXT1cIjUwXCJcclxuICBoZWFkaW5nPVwiQ3JlYXRlIEl0aW5lcmFyeVwiXHJcbj48L2FwcC1jcmVhdGUtaXRpbmVyYXJ5LWhlYWRlcj5cclxuPGltZ1xyXG4gICAgKGNsaWNrKT1cInRvZ2dsZUZpbHRlcigpXCJcclxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxMHB4OyB0b3A6IDIwJTsgei1pbmRleDogOTk7XCJcclxuICAgIFtzcmNdPVwiSUNPTlNbJ2RvdHNJY29uJ11cIlxyXG4gICAgYWx0PVwiaWNvblwiXHJcbiAgICBoZWlnaHQ9XCI0MFwiXHJcbiAgICB3aWR0aD1cIjQwXCJcclxuICAvPlxyXG48bGliLW1hcCAjbGliTWFwIGNsYXNzPVwibWFwcy0xMDB2aFwiPjwvbGliLW1hcD5cclxuPGRpdiBjbGFzcz1cImZpbHRlci1wYWdlXCIgKm5nSWY9XCJvcGVuRmlsdGVyc1wiPlxyXG4gIDxsaWItbm8tdmlzdWFsLW1hcC1maWx0ZXJzXHJcbiAgICAocHJlc2V0c0NoYW5nZWQpPVwib25QcmVzZXRzQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgIChiYWNrQnV0dG9uQ2xpY2tlZCk9XCJvbmJhY2tCdXR0b25DbGlja2VkKClcIlxyXG4gID48L2xpYi1uby12aXN1YWwtbWFwLWZpbHRlcnM+XHJcbjwvZGl2PlxyXG48bGliLWJvdHRvbS1tb2RhbFxyXG4gIFtzaG93QXJyb3ddPVwidHJ1ZVwiXHJcbiAgWyhpc09wZW4pXT1cImlzT3BlblwiXHJcbiAgW2FkYXB0VG9Db250ZW50SGVpZ2h0XT1cInRydWVcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cInBsLTQgcHItNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJmb250LUNhbGlzdG9nYSB0ZXh0LWxnXCI+e3sgXCJOT19WSVNVQUxfRklMVEVSU1wifCB0cmFuc2xhdGUgfX08L2gzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0YWJsZXMgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAoY2xpY2spPVwidXBkYXRlQWN0aW9uKGEpXCJcclxuICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgYWN0aW9uc1wiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYSBvZiBhY3Rpb25zXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IGEgPT09IHNlbGVjdGVkIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJhXCIgYWx0PVwiaWNvblwiIGxvYWRpbmc9XCJsYXp5XCIgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxwIGNsYXNzPVwibXQtMyBtYi00XCI+e3sgXCJOT19WSVNVQUxfRklMVEVSU1wifCB0cmFuc2xhdGUgfX08L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGxpYi1mb290ZXItc2hhcmVkXHJcbiAgICAoY29udGludWVCdXR0b25DbGljayk9XCJjb250aW51ZUJ1aWxkaW5nKClcIlxyXG4gICAgW2NhbkNvbnRpbnVlXT1cInRydWVcIlxyXG4gICAgW2NvbnRpbnVlQnV0dG9uVGV4dF09XCInQ09NTU9OLkNPTlRJTlVFJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICA+PC9saWItZm9vdGVyLXNoYXJlZD5cclxuPC9saWItYm90dG9tLW1vZGFsPlxyXG48ZGl2XHJcbiAgKGNsaWNrKT1cInNob3dCb3R0b21Nb2RhbCgpXCJcclxuICBjbGFzcz1cImFic29sdXRlIGJvdHRvbS0wIGN1cnNvci1wb2ludGVyIHotMTBcIlxyXG4gIHN0eWxlPVwibGVmdDogNTAlXCJcclxuPlxyXG4gIDxpbWdcclxuICAgIHN0eWxlPVwidHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKVwiXHJcbiAgICBbc3JjXT1cIklDT05TWydyaWdodEFycm93J11cIlxyXG4gICAgYWx0PVwiaWNvblwiXHJcbiAgICBoZWlnaHQ9XCIxNVwiXHJcbiAgICB3aWR0aD1cIjE1XCJcclxuICAvPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Component, ViewChild } from '@angular/core';
|
|
2
|
+
import { ICONS } from '../../../../../../_constants/constants';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../../../../_services/itinerary.drawmode.transfer";
|
|
5
|
+
import * as i2 from "@naniteninja/ionic-lib";
|
|
6
|
+
import * as i3 from "../create-itinerary-header/create-itinerary-header.component";
|
|
7
|
+
import * as i4 from "@ngx-translate/core";
|
|
8
|
+
const defaultIcon = 'assets/icons/map-markers-yellow.svg';
|
|
9
|
+
const selectedIcon = 'assets/icons/restu-icon-large.svg';
|
|
10
|
+
export class CreateItineraryNoVisualPreviewComponent {
|
|
11
|
+
transferService;
|
|
12
|
+
ICONS = ICONS;
|
|
13
|
+
isOpen = true;
|
|
14
|
+
selectedMarkers = []; //Selected markers on the map
|
|
15
|
+
placesResult; //Places result required for preview
|
|
16
|
+
placeMarkers;
|
|
17
|
+
allMarkers = [];
|
|
18
|
+
libMap;
|
|
19
|
+
constructor(transferService) {
|
|
20
|
+
this.transferService = transferService;
|
|
21
|
+
}
|
|
22
|
+
preview() {
|
|
23
|
+
}
|
|
24
|
+
ngAfterViewInit() {
|
|
25
|
+
this.libMap.map.googleMap?.setCenter(this.transferService.location);
|
|
26
|
+
this.libMap.map.googleMap?.setZoom(15);
|
|
27
|
+
//Add marker for user position
|
|
28
|
+
new google.maps.Marker({
|
|
29
|
+
map: this.libMap.map.googleMap,
|
|
30
|
+
position: this.transferService.location,
|
|
31
|
+
title: 'You are here',
|
|
32
|
+
icon: {
|
|
33
|
+
url: 'assets/current_location.svg',
|
|
34
|
+
scaledSize: new google.maps.Size(40, 40),
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
this.addMarkersToMap(this.libMap.map.googleMap);
|
|
38
|
+
}
|
|
39
|
+
addMarkersToMap(map) {
|
|
40
|
+
const selectedPlaceIds = new Set(this.transferService.selectedPlaces.map(p => p.place_id));
|
|
41
|
+
// Clear existing markers
|
|
42
|
+
this.allMarkers.forEach(marker => marker.setMap(null));
|
|
43
|
+
this.allMarkers = [];
|
|
44
|
+
// Plot selected places in RED
|
|
45
|
+
this.transferService.selectedPlaces.forEach(place => {
|
|
46
|
+
if (place.geometry?.location) {
|
|
47
|
+
const marker = new google.maps.Marker({
|
|
48
|
+
map,
|
|
49
|
+
position: place.geometry.location,
|
|
50
|
+
title: place.name,
|
|
51
|
+
icon: {
|
|
52
|
+
url: selectedIcon
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
this.selectedMarkers.push(marker);
|
|
56
|
+
this.allMarkers.push(marker);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
// Plot non-selected places (avoid duplicates) in DEFAULT
|
|
60
|
+
this.transferService.places.forEach(place => {
|
|
61
|
+
if (place.geometry?.location &&
|
|
62
|
+
!selectedPlaceIds.has(place.place_id)) {
|
|
63
|
+
const marker = new google.maps.Marker({
|
|
64
|
+
map,
|
|
65
|
+
position: place.geometry.location,
|
|
66
|
+
title: place.name,
|
|
67
|
+
icon: {
|
|
68
|
+
url: defaultIcon
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
this.allMarkers.push(marker);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
this.optimizeAndRender();
|
|
75
|
+
}
|
|
76
|
+
showBottomModal() {
|
|
77
|
+
this.isOpen = true;
|
|
78
|
+
}
|
|
79
|
+
optimizeAndRender() {
|
|
80
|
+
if (this.selectedMarkers.length < 2)
|
|
81
|
+
return;
|
|
82
|
+
// Sort markers based on latitude (optional — adjust this logic as per your direction needs)
|
|
83
|
+
this.selectedMarkers.sort((a, b) => {
|
|
84
|
+
const posA = a.getPosition();
|
|
85
|
+
const posB = b.getPosition();
|
|
86
|
+
if (!posA)
|
|
87
|
+
return 1;
|
|
88
|
+
if (!posB)
|
|
89
|
+
return -1;
|
|
90
|
+
return posB.lat() - posA.lat();
|
|
91
|
+
});
|
|
92
|
+
const markerPositions = this.selectedMarkers
|
|
93
|
+
.map(m => m.getPosition())
|
|
94
|
+
.filter((p) => !!p);
|
|
95
|
+
if (markerPositions.length < 2)
|
|
96
|
+
return;
|
|
97
|
+
const destination = markerPositions[markerPositions.length - 1];
|
|
98
|
+
const startPos = markerPositions[0];
|
|
99
|
+
// Calculate a synthetic starting point slightly before the first marker (northwards)
|
|
100
|
+
const OFFSET_METERS = 50; // adjust this for how far back the path should start
|
|
101
|
+
const syntheticStart = google.maps.geometry.spherical.computeOffset(startPos, -OFFSET_METERS, 180);
|
|
102
|
+
const waypoints = markerPositions.map(pos => ({
|
|
103
|
+
location: pos,
|
|
104
|
+
stopover: true
|
|
105
|
+
}));
|
|
106
|
+
const directionsService = new google.maps.DirectionsService();
|
|
107
|
+
const directionsRenderer = new google.maps.DirectionsRenderer({
|
|
108
|
+
map: this.libMap.map.googleMap,
|
|
109
|
+
suppressMarkers: true,
|
|
110
|
+
polylineOptions: {
|
|
111
|
+
strokeColor: '#FFFFFF',
|
|
112
|
+
strokeOpacity: 1.0,
|
|
113
|
+
strokeWeight: 4,
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
directionsService.route({
|
|
117
|
+
origin: syntheticStart,
|
|
118
|
+
destination,
|
|
119
|
+
waypoints,
|
|
120
|
+
travelMode: google.maps.TravelMode.DRIVING,
|
|
121
|
+
optimizeWaypoints: false,
|
|
122
|
+
}, (response, status) => {
|
|
123
|
+
if (status === google.maps.DirectionsStatus.OK && response) {
|
|
124
|
+
directionsRenderer.setDirections(response);
|
|
125
|
+
// Draw custom markers
|
|
126
|
+
new google.maps.Marker({
|
|
127
|
+
position: syntheticStart,
|
|
128
|
+
map: this.libMap.map.googleMap,
|
|
129
|
+
icon: {
|
|
130
|
+
url: 'assets/icons/start-loc-marker.svg',
|
|
131
|
+
scaledSize: new google.maps.Size(30, 30),
|
|
132
|
+
},
|
|
133
|
+
title: 'Start Point',
|
|
134
|
+
});
|
|
135
|
+
new google.maps.Marker({
|
|
136
|
+
position: destination,
|
|
137
|
+
map: this.libMap.map.googleMap,
|
|
138
|
+
icon: {
|
|
139
|
+
url: 'assets/icons/en-location.svg',
|
|
140
|
+
scaledSize: new google.maps.Size(30, 30),
|
|
141
|
+
},
|
|
142
|
+
title: 'End Point',
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryNoVisualPreviewComponent, deps: [{ token: i1.ItineraryDrawModeTransferService }], target: i0.ɵɵFactoryTarget.Component });
|
|
148
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateItineraryNoVisualPreviewComponent, selector: "lib-create-itinerary-no-visual-preview", viewQueries: [{ propertyName: "libMap", first: true, predicate: ["libMap"], descendants: true }], ngImport: i0, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"100\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n\r\n<lib-bottom-modal\r\n [(isOpen)]=\"isOpen\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>{{transferService.selectedPlaces?.length}} {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Shan-ul-haq haqee road\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Kabul tikka\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Afghan cuisine\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Quetta TNT\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">Tea Coffee</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"preview()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'ITINERARY.PREVIEW' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [".button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}\n"], dependencies: [{ kind: "component", type: i2.BottomModalComponent, selector: "lib-bottom-modal", inputs: ["breakpoints", "initialBreakpoint", "isOpen", "canDismiss", "showArrow", "showBackBtn", "showConfirm", "showCloseBtn", "loading", "showHeaderSeparator", "title", "confirmationTitle", "confirmationMsg", "confirmButton", "confirmCancelButton", "description", "secondaryButtonTitle", "submitButtonTitle", "cancelButtonTitle", "validModal", "adaptToContentHeight", "customClass"], outputs: ["isOpenChange", "breakpointChange", "closeModal", "submitModal", "secondaryButtonClick", "backClick", "showConfirmChange", "confirmEvent"] }, { kind: "directive", type: i2.LazyImageDirective, selector: "img" }, { kind: "component", type: i2.FooterSharedComponent, selector: "lib-footer-shared", inputs: ["loading$", "canContinue", "continueButtonText", "secondaryButtonText", "showBackButton", "continueButtonParameter$"], outputs: ["secondaryButtonClick", "continueButtonClick"] }, { kind: "component", type: i2.LibMapsComponent, selector: "lib-map", inputs: ["disableNotification", "markers", "initialLocation", "mapType", "enableDrag", "locations", "searchMapsString", "mapOptions", "directions$", "directionRenderOptions"], outputs: ["mapActionEvent"] }, { kind: "component", type: i3.CreateItineraryHeaderComponent, selector: "app-create-itinerary-header", inputs: ["heading", "progressBarValue", "discardItineraryId", "class"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
|
|
149
|
+
}
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateItineraryNoVisualPreviewComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
152
|
+
args: [{ selector: 'lib-create-itinerary-no-visual-preview', standalone: false, template: "<app-create-itinerary-header\r\n [progressBarValue]=\"100\"\r\n heading=\"Create Itinerary\"\r\n></app-create-itinerary-header>\r\n<lib-map #libMap class=\"maps-100vh\"></lib-map>\r\n\r\n<lib-bottom-modal\r\n [(isOpen)]=\"isOpen\"\r\n>\r\n <div class=\"pl-4 pr-4\">\r\n <div class=\"ml-auto flex items-center justify-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1 text-xs\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['locationWhite']\"\r\n alt=\"location\"\r\n />\r\n <span>{{transferService.selectedPlaces?.length}} {{ \"ITINERARY_SUMMARY.PLACES\" | translate }}</span>\r\n </div>\r\n <div class=\"h-4 border w-0 border-secondary\"></div>\r\n <div class=\"flex items-center justify-center gap-x-2 text-xs\">\r\n <img loading=\"lazy\" [src]=\"ICONS['clock']\" alt=\"\" />\r\n <span>45 {{ \"DATE_TIME.MINUTES\" | translate }}</span>\r\n <span class=\"text-secondary font-thin\">(6.6 Km)</span>\r\n </div>\r\n </div>\r\n <div\r\n class=\"border border-dashed opacity-55 rotate-90 absolute -left-6 top-36\"\r\n ></div>\r\n <div class=\"font-Gilroy mt-5 mb-3 flex flex-col gap-y-5\">\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['startLocation']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Shan-ul-haq haqee road\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Starting location\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n loading=\"lazy\"\r\n [src]=\"ICONS['editPink']\"\r\n alt=\"\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Kabul tikka\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">\r\n Afghan cuisine\r\n </p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"flex items-center justify-between w-full gap-x-4 mb-1\"\r\n >\r\n <div class=\"flex items-center justify-start gap-x-6\">\r\n <div\r\n class=\"z-50 icon w-8 h-8 outset-shadow flex items-center justify-center rounded-full relative\"\r\n >\r\n <img\r\n loading=\"lazy\"\r\n height=\"22\"\r\n width=\"18\"\r\n [src]=\"ICONS['restu']\"\r\n alt=\"\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n loading=\"lazy\"\r\n class=\"dotted-line\"\r\n src=\"assets/images/dotted-line.svg\"\r\n />\r\n </div>\r\n <div class=\"text\">\r\n <h2\r\n class=\"f-sm f-xs flex items-center gap-x-1 text-xs mb-1\"\r\n >\r\n Quetta TNT\r\n </h2>\r\n <p class=\"f-xs text-secondary text-xs mb-1\">Tea Coffee</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-x-3\">\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['hamburger']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n <img\r\n loading=\"lazy\"\r\n [src]=\"ICONS['deletePink']\"\r\n alt=\"\"\r\n class=\"w-[15px] h-[15px] cursor-pointer\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <lib-footer-shared\r\n (continueButtonClick)=\"preview()\"\r\n [canContinue]=\"true\"\r\n [continueButtonText]=\"'ITINERARY.PREVIEW' | translate\"\r\n ></lib-footer-shared>\r\n</lib-bottom-modal>\r\n<div\r\n (click)=\"showBottomModal()\"\r\n class=\"absolute bottom-0 cursor-pointer z-10\"\r\n style=\"left: 50%\"\r\n>\r\n <img\r\n style=\"transform: rotate(270deg)\"\r\n [src]=\"ICONS['rightArrow']\"\r\n alt=\"icon\"\r\n height=\"15\"\r\n width=\"15\"\r\n />\r\n</div>\r\n", styles: [".button-container{background-color:#27242c;box-shadow:inset 0 6px 6px -6px #8a8a8aab}\n"] }]
|
|
153
|
+
}], ctorParameters: () => [{ type: i1.ItineraryDrawModeTransferService }], propDecorators: { libMap: [{
|
|
154
|
+
type: ViewChild,
|
|
155
|
+
args: ['libMap']
|
|
156
|
+
}] } });
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtcHJldmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pdGluZXJhcnktbGliL3NyYy9saWIvaXRpbmVyYXJ5LWFwcC9tb2R1bGVzL2l0aW5lcmFyaWVzL3BhZ2VzL2J1aWxkZXIvcGFnZXMvY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtcHJldmlldy9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l0aW5lcmFyeS1saWIvc3JjL2xpYi9pdGluZXJhcnktYXBwL21vZHVsZXMvaXRpbmVyYXJpZXMvcGFnZXMvYnVpbGRlci9wYWdlcy9jcmVhdGUtaXRpbmVyYXJ5LW5vLXZpc3VhbC1wcmV2aWV3L2NyZWF0ZS1pdGluZXJhcnktbm8tdmlzdWFsLXByZXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7O0FBRS9ELE1BQU0sV0FBVyxHQUFHLHFDQUFxQyxDQUFDO0FBQzFELE1BQU0sWUFBWSxHQUFHLG1DQUFtQyxDQUFDO0FBU3pELE1BQU0sT0FBTyx1Q0FBdUM7SUFZekM7SUFYVCxLQUFLLEdBQVUsS0FBSyxDQUFDO0lBQ3JCLE1BQU0sR0FBWSxJQUFJLENBQUM7SUFDdkIsZUFBZSxHQUF5QixFQUFFLENBQUMsQ0FBQSw2QkFBNkI7SUFDeEUsWUFBWSxDQUFvQyxDQUFBLG9DQUFvQztJQUNwRixZQUFZLENBR1Q7SUFDSCxVQUFVLEdBQXlCLEVBQUUsQ0FBQztJQUNqQixNQUFNLENBQW9CO0lBQy9DLFlBQ1MsZUFBaUQ7UUFBakQsb0JBQWUsR0FBZixlQUFlLENBQWtDO0lBRTFELENBQUM7SUFFRCxPQUFPO0lBRVAsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV2Qyw4QkFBOEI7UUFDOUIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNyQixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUztZQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRO1lBQ3ZDLEtBQUssRUFBRSxjQUFjO1lBQ3JCLElBQUksRUFBRTtnQkFDSixHQUFHLEVBQUUsNkJBQTZCO2dCQUNsQyxVQUFVLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO2FBQ3pDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUMsZUFBZSxDQUFDLEdBQW9CO1FBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFM0YseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXJCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEQsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRTtnQkFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztvQkFDcEMsR0FBRztvQkFDSCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRO29CQUNqQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUk7b0JBQ2pCLElBQUksRUFBRTt3QkFDSixHQUFHLEVBQUUsWUFBWTtxQkFDbEI7aUJBQ0YsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgseURBQXlEO1FBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQyxJQUNFLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUTtnQkFDeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUNyQztnQkFDQSxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNwQyxHQUFHO29CQUNILFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVE7b0JBQ2pDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSTtvQkFDakIsSUFBSSxFQUFFO3dCQUNKLEdBQUcsRUFBRSxXQUFXO3FCQUNqQjtpQkFDRixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFFNUMsNEZBQTRGO1FBQzVGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLElBQUk7Z0JBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLElBQUk7Z0JBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZTthQUN6QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDekIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUEyQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9DLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsT0FBTztRQUV2QyxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRSxNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEMscUZBQXFGO1FBQ3JGLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFDLHFEQUFxRDtRQUMvRSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVuRyxNQUFNLFNBQVMsR0FBcUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUUsUUFBUSxFQUFFLEdBQUc7WUFDYixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxpQkFBaUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM5RCxNQUFNLGtCQUFrQixHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUM1RCxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBVTtZQUMvQixlQUFlLEVBQUUsSUFBSTtZQUNyQixlQUFlLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLFNBQVM7Z0JBQ3RCLGFBQWEsRUFBRSxHQUFHO2dCQUNsQixZQUFZLEVBQUUsQ0FBQzthQUNoQjtTQUNGLENBQUMsQ0FBQztRQUVILGlCQUFpQixDQUFDLEtBQUssQ0FDckI7WUFDRSxNQUFNLEVBQUUsY0FBYztZQUN0QixXQUFXO1lBQ1gsU0FBUztZQUNULFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPO1lBQzFDLGlCQUFpQixFQUFFLEtBQUs7U0FDekIsRUFDRCxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQixJQUFJLE1BQU0sS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxRQUFRLEVBQUU7Z0JBQzFELGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFFM0Msc0JBQXNCO2dCQUN0QixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNyQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVU7b0JBQy9CLElBQUksRUFBRTt3QkFDSixHQUFHLEVBQUUsbUNBQW1DO3dCQUN4QyxVQUFVLEVBQUUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO3FCQUN6QztvQkFDRCxLQUFLLEVBQUUsYUFBYTtpQkFDckIsQ0FBQyxDQUFDO2dCQUVILElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQ3JCLFFBQVEsRUFBRSxXQUFXO29CQUNyQixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBVTtvQkFDL0IsSUFBSSxFQUFFO3dCQUNKLEdBQUcsRUFBRSw4QkFBOEI7d0JBQ25DLFVBQVUsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7cUJBQ3pDO29CQUNELEtBQUssRUFBRSxXQUFXO2lCQUNuQixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0FqS1UsdUNBQXVDOzRGQUF2Qyx1Q0FBdUMsZ0xDZnBELG04TUEwTEE7OzRGRDNLYSx1Q0FBdUM7a0JBTm5ELFNBQVM7K0JBQ0ksd0NBQXdDLGNBR3RDLEtBQUs7cUdBWUUsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSXRpbmVyYXJ5RHJhd01vZGVUcmFuc2ZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9fc2VydmljZXMvaXRpbmVyYXJ5LmRyYXdtb2RlLnRyYW5zZmVyJztcclxuaW1wb3J0IHsgSWljb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9faW50ZXJmYWNlL2ljb24nO1xyXG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL19jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTGliTWFwc0NvbXBvbmVudCB9IGZyb20gJ0BuYW5pdGVuaW5qYS9pb25pYy1saWInO1xyXG5jb25zdCBkZWZhdWx0SWNvbiA9ICdhc3NldHMvaWNvbnMvbWFwLW1hcmtlcnMteWVsbG93LnN2Zyc7XHJcbmNvbnN0IHNlbGVjdGVkSWNvbiA9ICdhc3NldHMvaWNvbnMvcmVzdHUtaWNvbi1sYXJnZS5zdmcnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdsaWItY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtcHJldmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtcHJldmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybDogJy4vY3JlYXRlLWl0aW5lcmFyeS1uby12aXN1YWwtcHJldmlldy5jb21wb25lbnQuY3NzJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVJdGluZXJhcnlOb1Zpc3VhbFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBJQ09OUzogSWljb24gPSBJQ09OUztcclxuICBpc09wZW46IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNlbGVjdGVkTWFya2VyczogZ29vZ2xlLm1hcHMuTWFya2VyW10gPSBbXTsvL1NlbGVjdGVkIG1hcmtlcnMgb24gdGhlIG1hcFxyXG4gIHBsYWNlc1Jlc3VsdCE6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdFtdOy8vUGxhY2VzIHJlc3VsdCByZXF1aXJlZCBmb3IgcHJldmlld1xyXG4gIHBsYWNlTWFya2VycyE6IHtcclxuICAgIG1hcmtlcjogZ29vZ2xlLm1hcHMuTWFya2VyLFxyXG4gICAgcGxhY2U6IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdFxyXG4gIH1bXVxyXG4gIGFsbE1hcmtlcnM6IGdvb2dsZS5tYXBzLk1hcmtlcltdID0gW107XHJcbiAgQFZpZXdDaGlsZCgnbGliTWFwJykgbGliTWFwITogTGliTWFwc0NvbXBvbmVudDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2ZlclNlcnZpY2U6IEl0aW5lcmFyeURyYXdNb2RlVHJhbnNmZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwcmV2aWV3KCkge1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwPy5zZXRDZW50ZXIodGhpcy50cmFuc2ZlclNlcnZpY2UubG9jYXRpb24pO1xyXG4gICAgdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcD8uc2V0Wm9vbSgxNSk7XHJcblxyXG4gICAgLy9BZGQgbWFya2VyIGZvciB1c2VyIHBvc2l0aW9uXHJcbiAgICBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcclxuICAgICAgbWFwOiB0aGlzLmxpYk1hcC5tYXAuZ29vZ2xlTWFwLFxyXG4gICAgICBwb3NpdGlvbjogdGhpcy50cmFuc2ZlclNlcnZpY2UubG9jYXRpb24sXHJcbiAgICAgIHRpdGxlOiAnWW91IGFyZSBoZXJlJyxcclxuICAgICAgaWNvbjoge1xyXG4gICAgICAgIHVybDogJ2Fzc2V0cy9jdXJyZW50X2xvY2F0aW9uLnN2ZycsXHJcbiAgICAgICAgc2NhbGVkU2l6ZTogbmV3IGdvb2dsZS5tYXBzLlNpemUoNDAsIDQwKSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5hZGRNYXJrZXJzVG9NYXAodGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCEpO1xyXG4gIH1cclxuXHJcbiAgICBhZGRNYXJrZXJzVG9NYXAobWFwOiBnb29nbGUubWFwcy5NYXApIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkUGxhY2VJZHMgPSBuZXcgU2V0KHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNlbGVjdGVkUGxhY2VzLm1hcChwID0+IHAucGxhY2VfaWQpKTtcclxuXHJcbiAgICAvLyBDbGVhciBleGlzdGluZyBtYXJrZXJzXHJcbiAgICB0aGlzLmFsbE1hcmtlcnMuZm9yRWFjaChtYXJrZXIgPT4gbWFya2VyLnNldE1hcChudWxsKSk7XHJcbiAgICB0aGlzLmFsbE1hcmtlcnMgPSBbXTtcclxuXHJcbiAgICAvLyBQbG90IHNlbGVjdGVkIHBsYWNlcyBpbiBSRURcclxuICAgIHRoaXMudHJhbnNmZXJTZXJ2aWNlLnNlbGVjdGVkUGxhY2VzLmZvckVhY2gocGxhY2UgPT4ge1xyXG4gICAgICBpZiAocGxhY2UuZ2VvbWV0cnk/LmxvY2F0aW9uKSB7XHJcbiAgICAgICAgY29uc3QgbWFya2VyID0gbmV3IGdvb2dsZS5tYXBzLk1hcmtlcih7XHJcbiAgICAgICAgICBtYXAsXHJcbiAgICAgICAgICBwb3NpdGlvbjogcGxhY2UuZ2VvbWV0cnkubG9jYXRpb24sXHJcbiAgICAgICAgICB0aXRsZTogcGxhY2UubmFtZSxcclxuICAgICAgICAgIGljb246IHtcclxuICAgICAgICAgICAgdXJsOiBzZWxlY3RlZEljb25cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWFya2Vycy5wdXNoKG1hcmtlcik7XHJcbiAgICAgICAgdGhpcy5hbGxNYXJrZXJzLnB1c2gobWFya2VyKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gUGxvdCBub24tc2VsZWN0ZWQgcGxhY2VzIChhdm9pZCBkdXBsaWNhdGVzKSBpbiBERUZBVUxUXHJcbiAgICB0aGlzLnRyYW5zZmVyU2VydmljZS5wbGFjZXMuZm9yRWFjaChwbGFjZSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBwbGFjZS5nZW9tZXRyeT8ubG9jYXRpb24gJiZcclxuICAgICAgICAhc2VsZWN0ZWRQbGFjZUlkcy5oYXMocGxhY2UucGxhY2VfaWQpXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IG1hcmtlciA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICAgICAgbWFwLFxyXG4gICAgICAgICAgcG9zaXRpb246IHBsYWNlLmdlb21ldHJ5LmxvY2F0aW9uLFxyXG4gICAgICAgICAgdGl0bGU6IHBsYWNlLm5hbWUsXHJcbiAgICAgICAgICBpY29uOiB7XHJcbiAgICAgICAgICAgIHVybDogZGVmYXVsdEljb25cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFsbE1hcmtlcnMucHVzaChtYXJrZXIpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLm9wdGltaXplQW5kUmVuZGVyKCk7XHJcbiAgfVxyXG5cclxuICBzaG93Qm90dG9tTW9kYWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvcHRpbWl6ZUFuZFJlbmRlcigpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkTWFya2Vycy5sZW5ndGggPCAyKSByZXR1cm47XHJcblxyXG4gICAgLy8gU29ydCBtYXJrZXJzIGJhc2VkIG9uIGxhdGl0dWRlIChvcHRpb25hbCDigJQgYWRqdXN0IHRoaXMgbG9naWMgYXMgcGVyIHlvdXIgZGlyZWN0aW9uIG5lZWRzKVxyXG4gICAgdGhpcy5zZWxlY3RlZE1hcmtlcnMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBjb25zdCBwb3NBID0gYS5nZXRQb3NpdGlvbigpO1xyXG4gICAgICBjb25zdCBwb3NCID0gYi5nZXRQb3NpdGlvbigpO1xyXG4gICAgICBpZiAoIXBvc0EpIHJldHVybiAxO1xyXG4gICAgICBpZiAoIXBvc0IpIHJldHVybiAtMTtcclxuICAgICAgcmV0dXJuIHBvc0IubGF0KCkgLSBwb3NBLmxhdCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgbWFya2VyUG9zaXRpb25zID0gdGhpcy5zZWxlY3RlZE1hcmtlcnNcclxuICAgICAgLm1hcChtID0+IG0uZ2V0UG9zaXRpb24oKSlcclxuICAgICAgLmZpbHRlcigocCk6IHAgaXMgZ29vZ2xlLm1hcHMuTGF0TG5nID0+ICEhcCk7XHJcblxyXG4gICAgaWYgKG1hcmtlclBvc2l0aW9ucy5sZW5ndGggPCAyKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgZGVzdGluYXRpb24gPSBtYXJrZXJQb3NpdGlvbnNbbWFya2VyUG9zaXRpb25zLmxlbmd0aCAtIDFdO1xyXG4gICAgY29uc3Qgc3RhcnRQb3MgPSBtYXJrZXJQb3NpdGlvbnNbMF07XHJcblxyXG4gICAgLy8gQ2FsY3VsYXRlIGEgc3ludGhldGljIHN0YXJ0aW5nIHBvaW50IHNsaWdodGx5IGJlZm9yZSB0aGUgZmlyc3QgbWFya2VyIChub3J0aHdhcmRzKVxyXG4gICAgY29uc3QgT0ZGU0VUX01FVEVSUyA9IDUwOyAvLyBhZGp1c3QgdGhpcyBmb3IgaG93IGZhciBiYWNrIHRoZSBwYXRoIHNob3VsZCBzdGFydFxyXG4gICAgY29uc3Qgc3ludGhldGljU3RhcnQgPSBnb29nbGUubWFwcy5nZW9tZXRyeS5zcGhlcmljYWwuY29tcHV0ZU9mZnNldChzdGFydFBvcywgLU9GRlNFVF9NRVRFUlMsIDE4MCk7XHJcblxyXG4gICAgY29uc3Qgd2F5cG9pbnRzOiBnb29nbGUubWFwcy5EaXJlY3Rpb25zV2F5cG9pbnRbXSA9IG1hcmtlclBvc2l0aW9ucy5tYXAocG9zID0+ICh7XHJcbiAgICAgIGxvY2F0aW9uOiBwb3MsXHJcbiAgICAgIHN0b3BvdmVyOiB0cnVlXHJcbiAgICB9KSk7XHJcblxyXG4gICAgY29uc3QgZGlyZWN0aW9uc1NlcnZpY2UgPSBuZXcgZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1NlcnZpY2UoKTtcclxuICAgIGNvbnN0IGRpcmVjdGlvbnNSZW5kZXJlciA9IG5ldyBnb29nbGUubWFwcy5EaXJlY3Rpb25zUmVuZGVyZXIoe1xyXG4gICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAhLFxyXG4gICAgICBzdXBwcmVzc01hcmtlcnM6IHRydWUsXHJcbiAgICAgIHBvbHlsaW5lT3B0aW9uczoge1xyXG4gICAgICAgIHN0cm9rZUNvbG9yOiAnI0ZGRkZGRicsXHJcbiAgICAgICAgc3Ryb2tlT3BhY2l0eTogMS4wLFxyXG4gICAgICAgIHN0cm9rZVdlaWdodDogNCxcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlyZWN0aW9uc1NlcnZpY2Uucm91dGUoXHJcbiAgICAgIHtcclxuICAgICAgICBvcmlnaW46IHN5bnRoZXRpY1N0YXJ0LFxyXG4gICAgICAgIGRlc3RpbmF0aW9uLFxyXG4gICAgICAgIHdheXBvaW50cyxcclxuICAgICAgICB0cmF2ZWxNb2RlOiBnb29nbGUubWFwcy5UcmF2ZWxNb2RlLkRSSVZJTkcsXHJcbiAgICAgICAgb3B0aW1pemVXYXlwb2ludHM6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAocmVzcG9uc2UsIHN0YXR1cykgPT4ge1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT09IGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNTdGF0dXMuT0sgJiYgcmVzcG9uc2UpIHtcclxuICAgICAgICAgIGRpcmVjdGlvbnNSZW5kZXJlci5zZXREaXJlY3Rpb25zKHJlc3BvbnNlKTtcclxuXHJcbiAgICAgICAgICAvLyBEcmF3IGN1c3RvbSBtYXJrZXJzXHJcbiAgICAgICAgICBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN5bnRoZXRpY1N0YXJ0LFxyXG4gICAgICAgICAgICBtYXA6IHRoaXMubGliTWFwLm1hcC5nb29nbGVNYXAhLFxyXG4gICAgICAgICAgICBpY29uOiB7XHJcbiAgICAgICAgICAgICAgdXJsOiAnYXNzZXRzL2ljb25zL3N0YXJ0LWxvYy1tYXJrZXIuc3ZnJyxcclxuICAgICAgICAgICAgICBzY2FsZWRTaXplOiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSgzMCwgMzApLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0aXRsZTogJ1N0YXJ0IFBvaW50JyxcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZGVzdGluYXRpb24sXHJcbiAgICAgICAgICAgIG1hcDogdGhpcy5saWJNYXAubWFwLmdvb2dsZU1hcCEsXHJcbiAgICAgICAgICAgIGljb246IHtcclxuICAgICAgICAgICAgICB1cmw6ICdhc3NldHMvaWNvbnMvZW4tbG9jYXRpb24uc3ZnJyxcclxuICAgICAgICAgICAgICBzY2FsZWRTaXplOiBuZXcgZ29vZ2xlLm1hcHMuU2l6ZSgzMCwgMzApLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB0aXRsZTogJ0VuZCBQb2ludCcsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtY3JlYXRlLWl0aW5lcmFyeS1oZWFkZXJcclxuICBbcHJvZ3Jlc3NCYXJWYWx1ZV09XCIxMDBcIlxyXG4gIGhlYWRpbmc9XCJDcmVhdGUgSXRpbmVyYXJ5XCJcclxuPjwvYXBwLWNyZWF0ZS1pdGluZXJhcnktaGVhZGVyPlxyXG48bGliLW1hcCAjbGliTWFwIGNsYXNzPVwibWFwcy0xMDB2aFwiPjwvbGliLW1hcD5cclxuXHJcbjxsaWItYm90dG9tLW1vZGFsXHJcbiAgICBbKGlzT3BlbildPVwiaXNPcGVuXCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cInBsLTQgcHItNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1sLWF1dG8gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLXgtMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgdGV4dC14c1wiPlxyXG4gICAgICAgIDxpbWdcclxuICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgW3NyY109XCJJQ09OU1snbG9jYXRpb25XaGl0ZSddXCJcclxuICAgICAgICBhbHQ9XCJsb2NhdGlvblwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8c3Bhbj57e3RyYW5zZmVyU2VydmljZS5zZWxlY3RlZFBsYWNlcz8ubGVuZ3RofX0ge3sgXCJJVElORVJBUllfU1VNTUFSWS5QTEFDRVNcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImgtNCBib3JkZXIgdy0wIGJvcmRlci1zZWNvbmRhcnlcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAteC0yIHRleHQteHNcIj5cclxuICAgICAgICA8aW1nIGxvYWRpbmc9XCJsYXp5XCIgW3NyY109XCJJQ09OU1snY2xvY2snXVwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgPHNwYW4+NDUge3sgXCJEQVRFX1RJTUUuTUlOVVRFU1wiIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgZm9udC10aGluXCI+KDYuNiBLbSk8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWRhc2hlZCBvcGFjaXR5LTU1IHJvdGF0ZS05MCBhYnNvbHV0ZSAtbGVmdC02IHRvcC0zNlwiXHJcbiAgICA+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9udC1HaWxyb3kgbXQtNSBtYi0zIGZsZXggZmxleC1jb2wgZ2FwLXktNVwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsIGdhcC14LTQgbWItMVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1zdGFydCBnYXAteC02XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiei01MCBpY29uIHctOCBoLTggb3V0c2V0LXNoYWRvdyBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgcmVsYXRpdmVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCIyMlwiXHJcbiAgICAgICAgICAgICAgICB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ3N0YXJ0TG9jYXRpb24nXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG90dGVkLWxpbmVcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2ltYWdlcy9kb3R0ZWQtbGluZS5zdmdcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8aDJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZi1zbSBmLXhzIGZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgdGV4dC14cyBtYi0xXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIFNoYW4tdWwtaGFxIGhhcWVlIHJvYWRcclxuICAgICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImYteHMgdGV4dC1zZWNvbmRhcnkgdGV4dC14cyBtYi0xXCI+XHJcbiAgICAgICAgICAgICAgICBTdGFydGluZyBsb2NhdGlvblxyXG4gICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0zXCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy1bMTVweF0gaC1bMTVweF0gY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1snZWRpdFBpbmsnXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiB3LWZ1bGwgZ2FwLXgtNCBtYi0xXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LXN0YXJ0IGdhcC14LTZcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ6LTUwIGljb24gdy04IGgtOCBvdXRzZXQtc2hhZG93IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCByZWxhdGl2ZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjIyXCJcclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMThcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1sncmVzdHUnXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZG90dGVkLWxpbmVcIlxyXG4gICAgICAgICAgICAgICAgc3JjPVwiYXNzZXRzL2ltYWdlcy9kb3R0ZWQtbGluZS5zdmdcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICA8aDJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZi1zbSBmLXhzIGZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEgdGV4dC14cyBtYi0xXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIEthYnVsIHRpa2thXHJcbiAgICAgICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmLXhzIHRleHQtc2Vjb25kYXJ5IHRleHQteHMgbWItMVwiPlxyXG4gICAgICAgICAgICAgICAgQWZnaGFuIGN1aXNpbmVcclxuICAgICAgICAgICAgICAgIDwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtM1wiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPVwibGF6eVwiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIklDT05TWydoYW1idXJnZXInXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LVsxNXB4XSBoLVsxNXB4XSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ2RlbGV0ZVBpbmsnXVwiXHJcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LVsxNXB4XSBoLVsxNXB4XSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHctZnVsbCBnYXAteC00IG1iLTFcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktc3RhcnQgZ2FwLXgtNlwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInotNTAgaWNvbiB3LTggaC04IG91dHNldC1zaGFkb3cgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIHJlbGF0aXZlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjJcIlxyXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cIklDT05TWydyZXN0dSddXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkb3R0ZWQtbGluZVwiXHJcbiAgICAgICAgICAgICAgICBzcmM9XCJhc3NldHMvaW1hZ2VzL2RvdHRlZC1saW5lLnN2Z1wiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj5cclxuICAgICAgICAgICAgICAgIDxoMlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmLXNtIGYteHMgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLXgtMSB0ZXh0LXhzIG1iLTFcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgUXVldHRhIFROVFxyXG4gICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZi14cyB0ZXh0LXNlY29uZGFyeSB0ZXh0LXhzIG1iLTFcIj5UZWEgQ29mZmVlPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAteC0zXCI+XHJcbiAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgIGxvYWRpbmc9XCJsYXp5XCJcclxuICAgICAgICAgICAgICAgIFtzcmNdPVwiSUNPTlNbJ2hhbWJ1cmdlciddXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzE1cHhdIGgtWzE1cHhdIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxyXG4gICAgICAgICAgICAgICAgW3NyY109XCJJQ09OU1snZGVsZXRlUGluayddXCJcclxuICAgICAgICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctWzE1cHhdIGgtWzE1cHhdIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGxpYi1mb290ZXItc2hhcmVkXHJcbiAgICAoY29udGludWVCdXR0b25DbGljayk9XCJwcmV2aWV3KClcIlxyXG4gICAgW2NhbkNvbnRpbnVlXT1cInRydWVcIlxyXG4gICAgW2NvbnRpbnVlQnV0dG9uVGV4dF09XCInSVRJTkVSQVJZLlBSRVZJRVcnIHwgdHJhbnNsYXRlXCJcclxuICA+PC9saWItZm9vdGVyLXNoYXJlZD5cclxuPC9saWItYm90dG9tLW1vZGFsPlxyXG48ZGl2XHJcbiAgKGNsaWNrKT1cInNob3dCb3R0b21Nb2RhbCgpXCJcclxuICBjbGFzcz1cImFic29sdXRlIGJvdHRvbS0wIGN1cnNvci1wb2ludGVyIHotMTBcIlxyXG4gIHN0eWxlPVwibGVmdDogNTAlXCJcclxuPlxyXG4gIDxpbWdcclxuICAgIHN0eWxlPVwidHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKVwiXHJcbiAgICBbc3JjXT1cIklDT05TWydyaWdodEFycm93J11cIlxyXG4gICAgYWx0PVwiaWNvblwiXHJcbiAgICBoZWlnaHQ9XCIxNVwiXHJcbiAgICB3aWR0aD1cIjE1XCJcclxuICAvPlxyXG48L2Rpdj5cclxuIl19
|