ca-components 1.0.73 → 1.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/assets/scss/custompickers.scss +0 -111
  2. package/assets/scss/details_page_ske.scss +1 -1921
  3. package/assets/scss/tooltip.scss +7 -0
  4. package/esm2022/lib/components/ca-activity-log-list/ca-activity-log-list.component.mjs +6 -6
  5. package/esm2022/lib/components/ca-collapsible-filter/ca-collapsible-filter.component.mjs +2 -2
  6. package/esm2022/lib/components/ca-comment/ca-comment.component.mjs +3 -3
  7. package/esm2022/lib/components/ca-comment/modals/comment-modal/comment-modal.component.mjs +3 -3
  8. package/esm2022/lib/components/ca-details-dropdown/ca-details-dropdown.component.mjs +2 -2
  9. package/esm2022/lib/components/ca-dropdown-menu/ca-dropdown-menu.component.mjs +2 -2
  10. package/esm2022/lib/components/ca-filters/ca-filter.component.mjs +2 -2
  11. package/esm2022/lib/components/ca-filters/components/ca-dispatcher-filter/ca-dispatcher-filter.component.mjs +2 -2
  12. package/esm2022/lib/components/ca-filters/components/ca-location-filter/ca-location-filter.component.mjs +2 -2
  13. package/esm2022/lib/components/ca-filters/components/ca-money-filter/ca-money-filter.component.mjs +2 -2
  14. package/esm2022/lib/components/ca-filters/components/ca-pm-filter/ca-pm-filter.component.mjs +2 -2
  15. package/esm2022/lib/components/ca-filters/components/ca-state-filter/ca-state-filter.component.mjs +2 -2
  16. package/esm2022/lib/components/ca-filters/components/ca-status-filter/ca-status-filter.component.mjs +2 -2
  17. package/esm2022/lib/components/ca-filters/components/ca-time-filter/ca-time-filter.component.mjs +3 -3
  18. package/esm2022/lib/components/ca-filters/components/ca-trailer-type-filter/ca-trailer-type-filter.component.mjs +2 -2
  19. package/esm2022/lib/components/ca-filters/components/ca-truck-type-filter/ca-truck-type-filter.component.mjs +2 -2
  20. package/esm2022/lib/components/ca-filters/components/ca-user-filter/ca-user-filter.component.mjs +2 -2
  21. package/esm2022/lib/components/ca-filters/components/ca-violation-filter/ca-violation-filter.component.mjs +2 -2
  22. package/esm2022/lib/components/ca-input/ca-input.component.mjs +2 -2
  23. package/esm2022/lib/components/ca-input-address-dropdown/ca-input-address-dropdown.component.mjs +2 -2
  24. package/esm2022/lib/components/ca-input-dropdown/ca-input-dropdown.component.mjs +2 -2
  25. package/esm2022/lib/components/ca-input-note/ca-input-note.component.mjs +2 -2
  26. package/esm2022/lib/components/ca-logo-change/ca-logo-change.component.mjs +3 -3
  27. package/esm2022/lib/components/ca-map-dropdown/ca-map-dropdown.component.mjs +2 -2
  28. package/esm2022/lib/components/ca-modal-button/ca-modal-button.component.mjs +3 -3
  29. package/esm2022/lib/components/ca-ngx-slider/ca-ngx-slider.component.mjs +2 -2
  30. package/esm2022/lib/components/ca-note/ca-note.component.mjs +2 -2
  31. package/esm2022/lib/components/ca-note-container/ca-note-container.component.mjs +2 -2
  32. package/esm2022/lib/components/ca-payroll-list-summary-overview/ca-payroll-list-summary-overview.component.mjs +2 -2
  33. package/esm2022/lib/components/ca-period-content/ca-period-content.component.mjs +2 -2
  34. package/esm2022/lib/components/ca-period-content/components/ca-period-content-extra-info/ca-period-content-extra-info.component.mjs +3 -3
  35. package/esm2022/lib/components/ca-period-content/components/ca-period-content-payment/ca-period-content-payment.component.mjs +2 -2
  36. package/esm2022/lib/components/ca-period-content/components/ca-period-content-user-info/ca-period-content-user-info.component.mjs +3 -3
  37. package/esm2022/lib/components/ca-pickup-delivery-block/ca-pickup-delivery-block.component.mjs +3 -3
  38. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/ca-load.component.mjs +3 -3
  39. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-list/ca-load-list.component.mjs +3 -3
  40. package/esm2022/lib/components/ca-pickup-delivery-block/components/ca-load/components/ca-load-single/ca-load-single.component.mjs +3 -3
  41. package/esm2022/lib/components/ca-profile-image/ca-profile-image.component.mjs +3 -3
  42. package/esm2022/lib/components/ca-progress-bar/ca-progress-bar.component.mjs +2 -2
  43. package/esm2022/lib/components/ca-progress-expiration/ca-progress-expiration.component.mjs +3 -3
  44. package/esm2022/lib/components/ca-rating-review/ca-rating-review.component.mjs +2 -2
  45. package/esm2022/lib/components/ca-rating-review/components/ca-rating-review-user/ca-rating-review-user.component.mjs +2 -2
  46. package/esm2022/lib/components/ca-rating-review/components/ca-ratings-reviews-popup/ca-ratings-reviews-popup.component.mjs +2 -2
  47. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-company/ca-right-side-panel-company.component.mjs +3 -3
  48. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.mjs +3 -3
  49. package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component.mjs +3 -3
  50. package/esm2022/lib/components/ca-search-multiple-states/ca-search-multiple-states.component.mjs +10 -15
  51. package/esm2022/lib/components/ca-sort-dropdown/ca-sort-dropdown.component.mjs +2 -2
  52. package/esm2022/lib/components/ca-spinner/ca-spinner.component.mjs +2 -2
  53. package/esm2022/lib/components/ca-tab-switch/ca-tab-switch.component.mjs +3 -3
  54. package/esm2022/lib/components/ca-todo/ca-todo.component.mjs +3 -3
  55. package/esm2022/lib/components/ca-todo/components/ca-todo-card.component.mjs +3 -3
  56. package/esm2022/lib/components/ca-tooltip-list/ca-tooltip-list.component.mjs +3 -3
  57. package/esm2022/lib/components/ca-truck-trailer-progress-bar/ca-truck-trailer-progress-bar.component.mjs +2 -2
  58. package/esm2022/lib/components/ca-upload-files/ca-upload-files.component.mjs +3 -3
  59. package/esm2022/lib/components/ca-upload-files/components/ca-upload-dropzone/ca-upload-dropzone.component.mjs +3 -3
  60. package/esm2022/lib/components/ca-upload-files/components/ca-upload-file/ca-upload-file.component.mjs +2 -2
  61. package/esm2022/lib/components/ca-upload-files/components/ca-upload-files-carousel/ca-upload-files-carousel.component.mjs +3 -3
  62. package/fesm2022/ca-components.mjs +122 -123
  63. package/fesm2022/ca-components.mjs.map +1 -1
  64. package/lib/components/ca-filters/ca-filter.component.d.ts +2 -2
  65. package/package.json +1 -1
  66. package/src/assets/ca-components/svg/input/ic_coordinates.svg +6 -0
@@ -99,7 +99,7 @@ export class CaTodoCardComponent {
99
99
  return index;
100
100
  }
101
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CaTodoCardComponent, deps: [{ token: i1.FileService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CaTodoCardComponent, isStandalone: true, selector: "app-ca-todo-card", inputs: { config: "config", commentConfig: "commentConfig", newCommentConfig: "newCommentConfig", configProgress: "configProgress", isVisibleCropAndDrop: "isVisibleCropAndDrop", hasCrop: "hasCrop", slider: "slider", carouselConfig: "carouselConfig", review: "review", configFile: "configFile", files: "files", configDropzone: "configDropzone" }, outputs: { onFileEvent: "onFileEvent" }, providers: [FileService], viewQueries: [{ propertyName: "modalCarousel", first: true, predicate: CaUploadFilesCarouselComponent, descendants: true }], ngImport: i0, template: "<div class=\"todo-container\">\n <div class=\"todo-content d-grid\">\n <!--Header-->\n <div\n class=\"todo-header d-flex align-items-center justify-content-between\"\n >\n <div class=\"title-container\">\n <div class=\"title\">{{ config.title }}</div>\n </div>\n\n <!--SVG Icons-->\n <div class=\"svg-container d-flex\">\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"config.link ? 'Hyperlink' : 'No Hyperlink'\"\n position=\"bottom\"\n (click)=\"addLink()\"\n [ngClass]=\"{\n 'icon-active': !isLinkVisible && config.link,\n 'icon-has-link d-flex align-items-center justify-content-center':\n config.link,\n 'icon-without-link': !config.link,\n }\"\n >\n <svg-icon class=\"icon\" [src]=\"svgTodo.web\"></svg-icon>\n </div>\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"\n files.length ? 'Attachment' : 'No Attachment'\n \"\n position=\"bottom\"\n (click)=\"toggleDocument()\"\n [ngClass]=\"{\n 'icon-active': isDocumentVisible && files.length,\n 'icon-has-link d-flex align-items-center justify-content-center':\n files.length,\n 'icon-without-link': !files.length,\n }\"\n [ngStyle]=\"{\n 'pointer-events': files.length ? 'auto' : 'none',\n }\"\n >\n <svg-icon\n class=\"icon\"\n [src]=\"svgTodo.attachment\"\n ></svg-icon>\n </div>\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"\n commentConfig.length ? 'Comment' : 'No Comment'\n \"\n position=\"bottom\"\n (click)=\"toggleComments()\"\n [ngClass]=\"{\n 'icon-active':\n isCommentsVisible && commentConfig.length,\n 'icon-has-link d-flex align-items-center justify-content-center':\n commentConfig.length,\n 'icon-without-link': !commentConfig.length,\n }\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"18\"\n height=\"18\"\n viewBox=\"26 26\"\n >\n <g\n id=\"Comment_-_Count\"\n data-name=\"Comment - Count\"\n transform=\"translate(0.5 2.5)\"\n >\n <path\n id=\"Path_10563\"\n data-name=\"Path 10563\"\n d=\"M963.974,510.676H950.584a2.274,2.274,0,0,0-2.305,2.237v10.5a2.274,2.274,0,0,0,2.305,2.237h.82l1.574,2.645a.792.792,0,0,0,1.351,0l1.574-2.645h8.07a2.275,2.275,0,0,0,2.305-2.237v-10.5a2.274,2.274,0,0,0-2.305-2.237\"\n transform=\"translate(-948.279 -512.676)\"\n fill=\"#aaa\"\n stroke=\"rgba(0,0,0,0)\"\n stroke-width=\"1\"\n />\n </g>\n <text\n x=\"50%\"\n y=\"50%\"\n dominant-baseline=\"middle\"\n text-anchor=\"middle\"\n id=\"_1\"\n data-name=\"1\"\n fill=\"#fff\"\n font-size=\"9\"\n font-family=\"Montserrat-Bold, Montserrat\"\n font-weight=\"600\"\n >\n <tspan class=\"number-comments\">\n {{ commentCounter }}\n </tspan>\n </text>\n </svg>\n </div>\n </div>\n </div>\n\n <!--Body-->\n <div class=\"todo-body d-flex flex-column\">\n <div class=\"everybody-container d-flex align-items-center\">\n <ng-container\n *ngIf=\"!config.imageProfiles?.length; else showProfiles\"\n >\n <div class=\"asignee-everybody\">\n <p class=\"asignee-everybody-p\">Everybody</p>\n </div>\n </ng-container>\n </div>\n\n <ng-template #showProfiles>\n <div class=\"asignee-images-container d-flex align-items-center\">\n <!--Asigment-->\n <ng-container *ngIf=\"config.assigment\">\n <ng-container\n *ngFor=\"\n let item of config.assigment;\n trackBy: identity\n \"\n >\n <div\n class=\"asignee\"\n [ngClass]=\"{ 'asignee-list': config.assigment }\"\n >\n <p\n [ngClass]=\"{\n 'asignee-item': config.assigment,\n }\"\n >\n {{ item }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n\n <!--Images-->\n <div\n class=\"images-container d-flex align-items-center flex-row\"\n >\n <ng-container\n *ngFor=\"\n let profile of config.imageProfiles;\n trackBy: identity\n \"\n >\n <div class=\"image\">\n <app-ca-profile-image\n [indx]=\"profile.indx\"\n [textShortName]=\"profile.textShortName\"\n [avatarColor]=\"profile.avatarColor\"\n ></app-ca-profile-image>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-template>\n\n <!--Description-->\n <div class=\"description-container d-flex\">\n <p class=\"description\">{{ config.description }}</p>\n </div>\n\n <!--Link-->\n <ng-container *ngIf=\"!isLinkVisible\">\n <div\n class=\"link-container\"\n [@showHideCardBody]=\"!isLinkVisible\"\n >\n <a\n class=\"link\"\n [href]=\"link\"\n style=\"text-decoration: none\"\n target=\"_blank\"\n >{{ link }}</a\n >\n </div>\n </ng-container>\n\n <!--Progress expiration-->\n <div class=\"progress-expiration\">\n <lib-ca-progress-expiration\n [config]=\"configProgress\"\n ></lib-ca-progress-expiration>\n </div>\n </div>\n\n <!--Documents and Comments-->\n <div class=\"todo-actions\">\n <!--Line-->\n <ng-container *ngIf=\"isDocumentVisible\">\n <div class=\"border-container\">\n <div class=\"border-line\"></div>\n </div>\n\n <!--Documents-->\n <div class=\"comment-header-container\">\n <div\n class=\"comment-title-content d-flex justify-content-between\"\n >\n <div class=\"comment-title d-flex align-items-center\">\n <p>Documents</p>\n <span\n class=\"counter d-flex align-items-center justify-content-center\"\n >{{ documentCounter }}</span\n >\n </div>\n <div class=\"comment-svg\">\n <svg-icon\n [src]=\"svgTodo.upload\"\n (click)=\"saveAllFiles()\"\n ></svg-icon>\n </div>\n </div>\n </div>\n\n <!-- Container for carousel with all files -->\n <div\n class=\"upload-section\"\n [@showHideCardBody]=\"isDocumentVisible\"\n >\n <app-ca-upload-files\n [files]=\"files\"\n [slider]=\"slider\"\n [review]=\"review\"\n [configFile]=\"configFile\"\n [carouselConfig]=\"carouselConfig\"\n [isVisibleCropAndDrop]=\"isVisibleCropAndDrop\"\n [hasCrop]=\"hasCrop\"\n ></app-ca-upload-files>\n </div>\n </ng-container>\n\n <!--Line-->\n <ng-container *ngIf=\"isCommentsVisible\">\n <div class=\"border-container\">\n <div class=\"border-line\"></div>\n </div>\n\n <!--Comments-->\n <div class=\"comment-header-container\">\n <div\n class=\"comment-title-content d-flex justify-content-between\"\n >\n <div class=\"comment-title d-flex align-items-center\">\n <p>Comment</p>\n <span\n class=\"counter d-flex align-items-center justify-content-center\"\n >{{ commentCounter }}</span\n >\n </div>\n\n <div class=\"comment-svg\">\n <svg-icon\n [src]=\"svgTodo.plus\"\n (click)=\"toggleNewComment()\"\n ></svg-icon>\n </div>\n </div>\n </div>\n\n <ng-container\n *ngFor=\"let item of commentConfig; trackBy: identity\"\n >\n <div\n class=\"comment-body\"\n [@showHideCardBody]=\"isCommentsVisible\"\n >\n <div class=\"comment\">\n <app-ca-comment [config]=\"item\"></app-ca-comment>\n </div>\n </div>\n </ng-container>\n\n <!--New Comment-->\n <ng-container *ngIf=\"isNewComment\">\n <ng-container\n *ngFor=\"let item of newCommentConfig; trackBy: identity\"\n >\n <div\n class=\"comment-body\"\n [@showHideCardBody]=\"isCommentsVisible\"\n >\n <div class=\"comment\">\n <app-ca-comment\n [config]=\"item\"\n ></app-ca-comment>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium,.todo-container .todo-content .todo-body .link-container .link{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title .counter,.todo-container .todo-content .todo-body .asignee-images-container .asignee p,.todo-container .todo-content .todo-body .asignee-everybody .asignee-everybody-p,.todo-container .todo-content .todo-header .title-container .title{font-weight:700!important}.ca-font-extra-bold,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title p{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.cdk-drag-preview{background-color:#fff;border-radius:3px;box-shadow:0 0 6px #0000004d;z-index:1000}.todo-container{border-radius:3px}.todo-container .todo-content{cursor:grab}.todo-container .todo-content .todo-header{padding:6px 4px 0 6px}.todo-container .todo-content .todo-header .title-container{padding:4px 4px 4px 6px}.todo-container .todo-content .todo-header .title-container .title{font-family:Montserrat,sans-serif;font-size:14px;line-height:18px;color:#424242}.todo-container .todo-content .todo-header .svg-container{cursor:pointer;gap:4px}.todo-container .todo-content .todo-header .svg-container .icon-box .icon-without-link svg path{fill:#ccc}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link{width:26px;height:26px}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link svg path{fill:#919191}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover{background-color:#eee;border-radius:2px}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover svg path{fill:#424242}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active{background-color:#e9effd}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active svg path{fill:#6692f1}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box:focus.icon-active{background-color:#e9effd}.todo-container .todo-content .todo-header .svg-container .icon{height:26px;width:26px;border-radius:2px}.todo-container .todo-content .todo-body{padding:0 6px 8px 12px;gap:8px}.todo-container .todo-content .todo-body .asignee-everybody{background-color:#e9effd;padding:2px 6px;border-radius:2px;height:18px;margin:4px 2px}.todo-container .todo-content .todo-body .asignee-everybody .asignee-everybody-p{font-size:11px;line-height:14px;font-family:Montserrat,sans-serif;color:#3b73ed}.todo-container .todo-content .todo-body .asignee-images-container .asignee{background-color:#e9effd;padding:2px 6px;border-radius:2px;height:18px}.todo-container .todo-content .todo-body .asignee-images-container .asignee.asignee-list{background-color:#eee;margin:2px}.todo-container .todo-content .todo-body .asignee-images-container .asignee p{font-size:11px;line-height:14px;font-family:Montserrat,sans-serif;color:#3b73ed}.todo-container .todo-content .todo-body .asignee-images-container .asignee p.asignee-item{color:#424242}.todo-container .todo-content .todo-body .asignee-images-container .images-container{margin-left:8px;height:30px}.todo-container .todo-content .todo-body .description-container{width:578.67px;gap:10px}.todo-container .todo-content .todo-body .description-container .description{font-size:14px;line-height:18px}.todo-container .todo-content .todo-body .progress-expiration{width:100%}.todo-container .todo-content .todo-body .link-container{transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.todo-container .todo-content .todo-body .link-container .link{font-family:Montserrat,sans-serif;font-size:14px;line-height:18px}.todo-container .todo-content .todo-actions{margin-bottom:8px}.todo-container .todo-content .todo-actions .border-container{padding:4px 2px}.todo-container .todo-content .todo-actions .border-container .border-line{border:1px solid #dadada;width:100%}.todo-container .todo-content .todo-actions .comment-header-container,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content{padding:0 0 0 6px}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title{font-family:Montserrat,sans-serif;gap:4px}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title p{font-size:14px;line-height:18px;color:#424242}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title .counter{color:#fff;background-color:#6c6c6c;width:18px;height:18px;border-radius:60px;font-size:11px;line-height:14px}.todo-container .todo-content .todo-actions .comment-body{padding:4px 0 4px 6px}.todo-container .todo-content .todo-actions .upload-section{padding:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: NgbModule }, { kind: "component", type:
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CaTodoCardComponent, isStandalone: true, selector: "app-ca-todo-card", inputs: { config: "config", commentConfig: "commentConfig", newCommentConfig: "newCommentConfig", configProgress: "configProgress", isVisibleCropAndDrop: "isVisibleCropAndDrop", hasCrop: "hasCrop", slider: "slider", carouselConfig: "carouselConfig", review: "review", configFile: "configFile", files: "files", configDropzone: "configDropzone" }, outputs: { onFileEvent: "onFileEvent" }, providers: [FileService], viewQueries: [{ propertyName: "modalCarousel", first: true, predicate: CaUploadFilesCarouselComponent, descendants: true }], ngImport: i0, template: "<div class=\"todo-container\">\n <div class=\"todo-content d-grid\">\n <!--Header-->\n <div\n class=\"todo-header d-flex align-items-center justify-content-between\"\n >\n <div class=\"title-container\">\n <div class=\"title\">{{ config.title }}</div>\n </div>\n\n <!--SVG Icons-->\n <div class=\"svg-container d-flex\">\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"config.link ? 'Hyperlink' : 'No Hyperlink'\"\n position=\"bottom\"\n (click)=\"addLink()\"\n [ngClass]=\"{\n 'icon-active': !isLinkVisible && config.link,\n 'icon-has-link d-flex align-items-center justify-content-center':\n config.link,\n 'icon-without-link': !config.link,\n }\"\n >\n <svg-icon class=\"icon\" [src]=\"svgTodo.web\"></svg-icon>\n </div>\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"\n files.length ? 'Attachment' : 'No Attachment'\n \"\n position=\"bottom\"\n (click)=\"toggleDocument()\"\n [ngClass]=\"{\n 'icon-active': isDocumentVisible && files.length,\n 'icon-has-link d-flex align-items-center justify-content-center':\n files.length,\n 'icon-without-link': !files.length,\n }\"\n [ngStyle]=\"{\n 'pointer-events': files.length ? 'auto' : 'none',\n }\"\n >\n <svg-icon\n class=\"icon\"\n [src]=\"svgTodo.attachment\"\n ></svg-icon>\n </div>\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"\n commentConfig.length ? 'Comment' : 'No Comment'\n \"\n position=\"bottom\"\n (click)=\"toggleComments()\"\n [ngClass]=\"{\n 'icon-active':\n isCommentsVisible && commentConfig.length,\n 'icon-has-link d-flex align-items-center justify-content-center':\n commentConfig.length,\n 'icon-without-link': !commentConfig.length,\n }\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"18\"\n height=\"18\"\n viewBox=\"26 26\"\n >\n <g\n id=\"Comment_-_Count\"\n data-name=\"Comment - Count\"\n transform=\"translate(0.5 2.5)\"\n >\n <path\n id=\"Path_10563\"\n data-name=\"Path 10563\"\n d=\"M963.974,510.676H950.584a2.274,2.274,0,0,0-2.305,2.237v10.5a2.274,2.274,0,0,0,2.305,2.237h.82l1.574,2.645a.792.792,0,0,0,1.351,0l1.574-2.645h8.07a2.275,2.275,0,0,0,2.305-2.237v-10.5a2.274,2.274,0,0,0-2.305-2.237\"\n transform=\"translate(-948.279 -512.676)\"\n fill=\"#aaa\"\n stroke=\"rgba(0,0,0,0)\"\n stroke-width=\"1\"\n />\n </g>\n <text\n x=\"50%\"\n y=\"50%\"\n dominant-baseline=\"middle\"\n text-anchor=\"middle\"\n id=\"_1\"\n data-name=\"1\"\n fill=\"#fff\"\n font-size=\"9\"\n font-family=\"Montserrat-Bold, Montserrat\"\n font-weight=\"600\"\n >\n <tspan class=\"number-comments\">\n {{ commentCounter }}\n </tspan>\n </text>\n </svg>\n </div>\n </div>\n </div>\n\n <!--Body-->\n <div class=\"todo-body d-flex flex-column\">\n <div class=\"everybody-container d-flex align-items-center\">\n <ng-container\n *ngIf=\"!config.imageProfiles?.length; else showProfiles\"\n >\n <div class=\"asignee-everybody\">\n <p class=\"asignee-everybody-p\">Everybody</p>\n </div>\n </ng-container>\n </div>\n\n <ng-template #showProfiles>\n <div class=\"asignee-images-container d-flex align-items-center\">\n <!--Asigment-->\n <ng-container *ngIf=\"config.assigment\">\n <ng-container\n *ngFor=\"\n let item of config.assigment;\n trackBy: identity\n \"\n >\n <div\n class=\"asignee\"\n [ngClass]=\"{ 'asignee-list': config.assigment }\"\n >\n <p\n [ngClass]=\"{\n 'asignee-item': config.assigment,\n }\"\n >\n {{ item }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n\n <!--Images-->\n <div\n class=\"images-container d-flex align-items-center flex-row\"\n >\n <ng-container\n *ngFor=\"\n let profile of config.imageProfiles;\n trackBy: identity\n \"\n >\n <div class=\"image\">\n <app-ca-profile-image\n [indx]=\"profile.indx\"\n [textShortName]=\"profile.textShortName\"\n [avatarColor]=\"profile.avatarColor\"\n ></app-ca-profile-image>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-template>\n\n <!--Description-->\n <div class=\"description-container d-flex\">\n <p class=\"description\">{{ config.description }}</p>\n </div>\n\n <!--Link-->\n <ng-container *ngIf=\"!isLinkVisible\">\n <div\n class=\"link-container\"\n [@showHideCardBody]=\"!isLinkVisible\"\n >\n <a\n class=\"link\"\n [href]=\"link\"\n style=\"text-decoration: none\"\n target=\"_blank\"\n >{{ link }}</a\n >\n </div>\n </ng-container>\n\n <!--Progress expiration-->\n <div class=\"progress-expiration\">\n <lib-ca-progress-expiration\n [config]=\"configProgress\"\n ></lib-ca-progress-expiration>\n </div>\n </div>\n\n <!--Documents and Comments-->\n <div class=\"todo-actions\">\n <!--Line-->\n <ng-container *ngIf=\"isDocumentVisible\">\n <div class=\"border-container\">\n <div class=\"border-line\"></div>\n </div>\n\n <!--Documents-->\n <div class=\"comment-header-container\">\n <div\n class=\"comment-title-content d-flex justify-content-between\"\n >\n <div class=\"comment-title d-flex align-items-center\">\n <p>Documents</p>\n <span\n class=\"counter d-flex align-items-center justify-content-center\"\n >{{ documentCounter }}</span\n >\n </div>\n <div class=\"comment-svg\">\n <svg-icon\n [src]=\"svgTodo.upload\"\n (click)=\"saveAllFiles()\"\n ></svg-icon>\n </div>\n </div>\n </div>\n\n <!-- Container for carousel with all files -->\n <div\n class=\"upload-section\"\n [@showHideCardBody]=\"isDocumentVisible\"\n >\n <app-ca-upload-files\n [files]=\"files\"\n [slider]=\"slider\"\n [review]=\"review\"\n [configFile]=\"configFile\"\n [carouselConfig]=\"carouselConfig\"\n [isVisibleCropAndDrop]=\"isVisibleCropAndDrop\"\n [hasCrop]=\"hasCrop\"\n ></app-ca-upload-files>\n </div>\n </ng-container>\n\n <!--Line-->\n <ng-container *ngIf=\"isCommentsVisible\">\n <div class=\"border-container\">\n <div class=\"border-line\"></div>\n </div>\n\n <!--Comments-->\n <div class=\"comment-header-container\">\n <div\n class=\"comment-title-content d-flex justify-content-between\"\n >\n <div class=\"comment-title d-flex align-items-center\">\n <p>Comment</p>\n <span\n class=\"counter d-flex align-items-center justify-content-center\"\n >{{ commentCounter }}</span\n >\n </div>\n\n <div class=\"comment-svg\">\n <svg-icon\n [src]=\"svgTodo.plus\"\n (click)=\"toggleNewComment()\"\n ></svg-icon>\n </div>\n </div>\n </div>\n\n <ng-container\n *ngFor=\"let item of commentConfig; trackBy: identity\"\n >\n <div\n class=\"comment-body\"\n [@showHideCardBody]=\"isCommentsVisible\"\n >\n <div class=\"comment\">\n <app-ca-comment [config]=\"item\"></app-ca-comment>\n </div>\n </div>\n </ng-container>\n\n <!--New Comment-->\n <ng-container *ngIf=\"isNewComment\">\n <ng-container\n *ngFor=\"let item of newCommentConfig; trackBy: identity\"\n >\n <div\n class=\"comment-body\"\n [@showHideCardBody]=\"isCommentsVisible\"\n >\n <div class=\"comment\">\n <app-ca-comment\n [config]=\"item\"\n ></app-ca-comment>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium,.todo-container .todo-content .todo-body .link-container .link{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title .counter,.todo-container .todo-content .todo-body .asignee-images-container .asignee p,.todo-container .todo-content .todo-body .asignee-everybody .asignee-everybody-p,.todo-container .todo-content .todo-header .title-container .title{font-weight:700!important}.ca-font-extra-bold,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title p{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.cdk-drag-preview{background-color:#fff;border-radius:3px;box-shadow:0 0 6px #0000004d;z-index:1000}.todo-container{border-radius:3px}.todo-container .todo-content{cursor:grab}.todo-container .todo-content .todo-header{padding:6px 4px 0 6px}.todo-container .todo-content .todo-header .title-container{padding:4px 4px 4px 6px}.todo-container .todo-content .todo-header .title-container .title{font-family:Montserrat,sans-serif;font-size:14px;line-height:18px;color:#424242}.todo-container .todo-content .todo-header .svg-container{cursor:pointer;gap:4px}.todo-container .todo-content .todo-header .svg-container .icon-box .icon-without-link svg path{fill:#ccc}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link{width:26px;height:26px}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link svg path{fill:#919191}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover{background-color:#eee;border-radius:2px}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover svg path{fill:#424242}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active{background-color:#e9effd}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active svg path{fill:#6692f1}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box:focus.icon-active{background-color:#e9effd}.todo-container .todo-content .todo-header .svg-container .icon{height:26px;width:26px;border-radius:2px}.todo-container .todo-content .todo-body{padding:0 6px 8px 12px;gap:8px}.todo-container .todo-content .todo-body .asignee-everybody{background-color:#e9effd;padding:2px 6px;border-radius:2px;height:18px;margin:4px 2px}.todo-container .todo-content .todo-body .asignee-everybody .asignee-everybody-p{font-size:11px;line-height:14px;font-family:Montserrat,sans-serif;color:#3b73ed}.todo-container .todo-content .todo-body .asignee-images-container .asignee{background-color:#e9effd;padding:2px 6px;border-radius:2px;height:18px}.todo-container .todo-content .todo-body .asignee-images-container .asignee.asignee-list{background-color:#eee;margin:2px}.todo-container .todo-content .todo-body .asignee-images-container .asignee p{font-size:11px;line-height:14px;font-family:Montserrat,sans-serif;color:#3b73ed}.todo-container .todo-content .todo-body .asignee-images-container .asignee p.asignee-item{color:#424242}.todo-container .todo-content .todo-body .asignee-images-container .images-container{margin-left:8px;height:30px}.todo-container .todo-content .todo-body .description-container{width:578.67px;gap:10px}.todo-container .todo-content .todo-body .description-container .description{font-size:14px;line-height:18px}.todo-container .todo-content .todo-body .progress-expiration{width:100%}.todo-container .todo-content .todo-body .link-container{transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.todo-container .todo-content .todo-body .link-container .link{font-family:Montserrat,sans-serif;font-size:14px;line-height:18px}.todo-container .todo-content .todo-actions{margin-bottom:8px}.todo-container .todo-content .todo-actions .border-container{padding:4px 2px}.todo-container .todo-content .todo-actions .border-container .border-line{border:1px solid #dadada;width:100%}.todo-container .todo-content .todo-actions .comment-header-container,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content{padding:0 0 0 6px}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title{font-family:Montserrat,sans-serif;gap:4px}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title p{font-size:14px;line-height:18px;color:#424242}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title .counter{color:#fff;background-color:#6c6c6c;width:18px;height:18px;border-radius:60px;font-size:11px;line-height:14px}.todo-container .todo-content .todo-actions .comment-body{padding:4px 0 4px 6px}.todo-container .todo-content .todo-actions .upload-section{padding:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: AngularSvgIconModule }, { kind: "component", type: i3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: NgbModule }, { kind: "component", type:
103
103
  //Components
104
104
  CaProfileImageComponent, selector: "app-ca-profile-image", inputs: ["indx", "avatarImg", "avatarColor", "textShortName", "name", "isRound", "size", "height", "fontSize", "isHoverEffect"] }, { kind: "component", type: CaProgressExpirationComponent, selector: "lib-ca-progress-expiration", inputs: ["config"] }, { kind: "component", type: CaUploadFilesComponent, selector: "app-ca-upload-files", inputs: ["files", "slider", "carouselConfig", "hasCrop", "isRoundCrop", "hasBlobUrl", "onlyOneTagFile", "dropzoneConf", "dropzoneCustomWidth", "isVisibleCropAndDrop", "initialCropperPosition", "containWithinAspectRatio", "aspectRatio", "review", "configFile", "size", "slideWidth"], outputs: ["documentReviewInputEvent", "onFileEvent", "closeDropzone", "fileAdded"] }, { kind: "component", type: CaAppTooltipV2Component, selector: "mainCaTooltip, [mainCaTooltip]", inputs: ["mainCaTooltip", "position", "openTooltipDelay", "tooltipBackground", "tooltipColor", "tooltipTextAlign", "tooltipMarginTop", "disableTooltip"] }, { kind: "component", type: CaCommentComponent, selector: "app-ca-comment", inputs: ["config"], outputs: ["onSave", "onUpdate", "onDelete"] }], animations: [cardComponentAnimation('showHideCardBody')], encapsulation: i0.ViewEncapsulation.None }); }
105
105
  }
@@ -117,7 +117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
117
117
  CaUploadFilesComponent,
118
118
  CaAppTooltipV2Component,
119
119
  CaCommentComponent,
120
- ], selector: 'app-ca-todo-card', providers: [FileService], animations: [cardComponentAnimation('showHideCardBody')], encapsulation: ViewEncapsulation.None, template: "<div class=\"todo-container\">\n <div class=\"todo-content d-grid\">\n <!--Header-->\n <div\n class=\"todo-header d-flex align-items-center justify-content-between\"\n >\n <div class=\"title-container\">\n <div class=\"title\">{{ config.title }}</div>\n </div>\n\n <!--SVG Icons-->\n <div class=\"svg-container d-flex\">\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"config.link ? 'Hyperlink' : 'No Hyperlink'\"\n position=\"bottom\"\n (click)=\"addLink()\"\n [ngClass]=\"{\n 'icon-active': !isLinkVisible && config.link,\n 'icon-has-link d-flex align-items-center justify-content-center':\n config.link,\n 'icon-without-link': !config.link,\n }\"\n >\n <svg-icon class=\"icon\" [src]=\"svgTodo.web\"></svg-icon>\n </div>\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"\n files.length ? 'Attachment' : 'No Attachment'\n \"\n position=\"bottom\"\n (click)=\"toggleDocument()\"\n [ngClass]=\"{\n 'icon-active': isDocumentVisible && files.length,\n 'icon-has-link d-flex align-items-center justify-content-center':\n files.length,\n 'icon-without-link': !files.length,\n }\"\n [ngStyle]=\"{\n 'pointer-events': files.length ? 'auto' : 'none',\n }\"\n >\n <svg-icon\n class=\"icon\"\n [src]=\"svgTodo.attachment\"\n ></svg-icon>\n </div>\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"\n commentConfig.length ? 'Comment' : 'No Comment'\n \"\n position=\"bottom\"\n (click)=\"toggleComments()\"\n [ngClass]=\"{\n 'icon-active':\n isCommentsVisible && commentConfig.length,\n 'icon-has-link d-flex align-items-center justify-content-center':\n commentConfig.length,\n 'icon-without-link': !commentConfig.length,\n }\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"18\"\n height=\"18\"\n viewBox=\"26 26\"\n >\n <g\n id=\"Comment_-_Count\"\n data-name=\"Comment - Count\"\n transform=\"translate(0.5 2.5)\"\n >\n <path\n id=\"Path_10563\"\n data-name=\"Path 10563\"\n d=\"M963.974,510.676H950.584a2.274,2.274,0,0,0-2.305,2.237v10.5a2.274,2.274,0,0,0,2.305,2.237h.82l1.574,2.645a.792.792,0,0,0,1.351,0l1.574-2.645h8.07a2.275,2.275,0,0,0,2.305-2.237v-10.5a2.274,2.274,0,0,0-2.305-2.237\"\n transform=\"translate(-948.279 -512.676)\"\n fill=\"#aaa\"\n stroke=\"rgba(0,0,0,0)\"\n stroke-width=\"1\"\n />\n </g>\n <text\n x=\"50%\"\n y=\"50%\"\n dominant-baseline=\"middle\"\n text-anchor=\"middle\"\n id=\"_1\"\n data-name=\"1\"\n fill=\"#fff\"\n font-size=\"9\"\n font-family=\"Montserrat-Bold, Montserrat\"\n font-weight=\"600\"\n >\n <tspan class=\"number-comments\">\n {{ commentCounter }}\n </tspan>\n </text>\n </svg>\n </div>\n </div>\n </div>\n\n <!--Body-->\n <div class=\"todo-body d-flex flex-column\">\n <div class=\"everybody-container d-flex align-items-center\">\n <ng-container\n *ngIf=\"!config.imageProfiles?.length; else showProfiles\"\n >\n <div class=\"asignee-everybody\">\n <p class=\"asignee-everybody-p\">Everybody</p>\n </div>\n </ng-container>\n </div>\n\n <ng-template #showProfiles>\n <div class=\"asignee-images-container d-flex align-items-center\">\n <!--Asigment-->\n <ng-container *ngIf=\"config.assigment\">\n <ng-container\n *ngFor=\"\n let item of config.assigment;\n trackBy: identity\n \"\n >\n <div\n class=\"asignee\"\n [ngClass]=\"{ 'asignee-list': config.assigment }\"\n >\n <p\n [ngClass]=\"{\n 'asignee-item': config.assigment,\n }\"\n >\n {{ item }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n\n <!--Images-->\n <div\n class=\"images-container d-flex align-items-center flex-row\"\n >\n <ng-container\n *ngFor=\"\n let profile of config.imageProfiles;\n trackBy: identity\n \"\n >\n <div class=\"image\">\n <app-ca-profile-image\n [indx]=\"profile.indx\"\n [textShortName]=\"profile.textShortName\"\n [avatarColor]=\"profile.avatarColor\"\n ></app-ca-profile-image>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-template>\n\n <!--Description-->\n <div class=\"description-container d-flex\">\n <p class=\"description\">{{ config.description }}</p>\n </div>\n\n <!--Link-->\n <ng-container *ngIf=\"!isLinkVisible\">\n <div\n class=\"link-container\"\n [@showHideCardBody]=\"!isLinkVisible\"\n >\n <a\n class=\"link\"\n [href]=\"link\"\n style=\"text-decoration: none\"\n target=\"_blank\"\n >{{ link }}</a\n >\n </div>\n </ng-container>\n\n <!--Progress expiration-->\n <div class=\"progress-expiration\">\n <lib-ca-progress-expiration\n [config]=\"configProgress\"\n ></lib-ca-progress-expiration>\n </div>\n </div>\n\n <!--Documents and Comments-->\n <div class=\"todo-actions\">\n <!--Line-->\n <ng-container *ngIf=\"isDocumentVisible\">\n <div class=\"border-container\">\n <div class=\"border-line\"></div>\n </div>\n\n <!--Documents-->\n <div class=\"comment-header-container\">\n <div\n class=\"comment-title-content d-flex justify-content-between\"\n >\n <div class=\"comment-title d-flex align-items-center\">\n <p>Documents</p>\n <span\n class=\"counter d-flex align-items-center justify-content-center\"\n >{{ documentCounter }}</span\n >\n </div>\n <div class=\"comment-svg\">\n <svg-icon\n [src]=\"svgTodo.upload\"\n (click)=\"saveAllFiles()\"\n ></svg-icon>\n </div>\n </div>\n </div>\n\n <!-- Container for carousel with all files -->\n <div\n class=\"upload-section\"\n [@showHideCardBody]=\"isDocumentVisible\"\n >\n <app-ca-upload-files\n [files]=\"files\"\n [slider]=\"slider\"\n [review]=\"review\"\n [configFile]=\"configFile\"\n [carouselConfig]=\"carouselConfig\"\n [isVisibleCropAndDrop]=\"isVisibleCropAndDrop\"\n [hasCrop]=\"hasCrop\"\n ></app-ca-upload-files>\n </div>\n </ng-container>\n\n <!--Line-->\n <ng-container *ngIf=\"isCommentsVisible\">\n <div class=\"border-container\">\n <div class=\"border-line\"></div>\n </div>\n\n <!--Comments-->\n <div class=\"comment-header-container\">\n <div\n class=\"comment-title-content d-flex justify-content-between\"\n >\n <div class=\"comment-title d-flex align-items-center\">\n <p>Comment</p>\n <span\n class=\"counter d-flex align-items-center justify-content-center\"\n >{{ commentCounter }}</span\n >\n </div>\n\n <div class=\"comment-svg\">\n <svg-icon\n [src]=\"svgTodo.plus\"\n (click)=\"toggleNewComment()\"\n ></svg-icon>\n </div>\n </div>\n </div>\n\n <ng-container\n *ngFor=\"let item of commentConfig; trackBy: identity\"\n >\n <div\n class=\"comment-body\"\n [@showHideCardBody]=\"isCommentsVisible\"\n >\n <div class=\"comment\">\n <app-ca-comment [config]=\"item\"></app-ca-comment>\n </div>\n </div>\n </ng-container>\n\n <!--New Comment-->\n <ng-container *ngIf=\"isNewComment\">\n <ng-container\n *ngFor=\"let item of newCommentConfig; trackBy: identity\"\n >\n <div\n class=\"comment-body\"\n [@showHideCardBody]=\"isCommentsVisible\"\n >\n <div class=\"comment\">\n <app-ca-comment\n [config]=\"item\"\n ></app-ca-comment>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium,.todo-container .todo-content .todo-body .link-container .link{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title .counter,.todo-container .todo-content .todo-body .asignee-images-container .asignee p,.todo-container .todo-content .todo-body .asignee-everybody .asignee-everybody-p,.todo-container .todo-content .todo-header .title-container .title{font-weight:700!important}.ca-font-extra-bold,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title p{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.cdk-drag-preview{background-color:#fff;border-radius:3px;box-shadow:0 0 6px #0000004d;z-index:1000}.todo-container{border-radius:3px}.todo-container .todo-content{cursor:grab}.todo-container .todo-content .todo-header{padding:6px 4px 0 6px}.todo-container .todo-content .todo-header .title-container{padding:4px 4px 4px 6px}.todo-container .todo-content .todo-header .title-container .title{font-family:Montserrat,sans-serif;font-size:14px;line-height:18px;color:#424242}.todo-container .todo-content .todo-header .svg-container{cursor:pointer;gap:4px}.todo-container .todo-content .todo-header .svg-container .icon-box .icon-without-link svg path{fill:#ccc}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link{width:26px;height:26px}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link svg path{fill:#919191}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover{background-color:#eee;border-radius:2px}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover svg path{fill:#424242}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active{background-color:#e9effd}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active svg path{fill:#6692f1}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box:focus.icon-active{background-color:#e9effd}.todo-container .todo-content .todo-header .svg-container .icon{height:26px;width:26px;border-radius:2px}.todo-container .todo-content .todo-body{padding:0 6px 8px 12px;gap:8px}.todo-container .todo-content .todo-body .asignee-everybody{background-color:#e9effd;padding:2px 6px;border-radius:2px;height:18px;margin:4px 2px}.todo-container .todo-content .todo-body .asignee-everybody .asignee-everybody-p{font-size:11px;line-height:14px;font-family:Montserrat,sans-serif;color:#3b73ed}.todo-container .todo-content .todo-body .asignee-images-container .asignee{background-color:#e9effd;padding:2px 6px;border-radius:2px;height:18px}.todo-container .todo-content .todo-body .asignee-images-container .asignee.asignee-list{background-color:#eee;margin:2px}.todo-container .todo-content .todo-body .asignee-images-container .asignee p{font-size:11px;line-height:14px;font-family:Montserrat,sans-serif;color:#3b73ed}.todo-container .todo-content .todo-body .asignee-images-container .asignee p.asignee-item{color:#424242}.todo-container .todo-content .todo-body .asignee-images-container .images-container{margin-left:8px;height:30px}.todo-container .todo-content .todo-body .description-container{width:578.67px;gap:10px}.todo-container .todo-content .todo-body .description-container .description{font-size:14px;line-height:18px}.todo-container .todo-content .todo-body .progress-expiration{width:100%}.todo-container .todo-content .todo-body .link-container{transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.todo-container .todo-content .todo-body .link-container .link{font-family:Montserrat,sans-serif;font-size:14px;line-height:18px}.todo-container .todo-content .todo-actions{margin-bottom:8px}.todo-container .todo-content .todo-actions .border-container{padding:4px 2px}.todo-container .todo-content .todo-actions .border-container .border-line{border:1px solid #dadada;width:100%}.todo-container .todo-content .todo-actions .comment-header-container,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content{padding:0 0 0 6px}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title{font-family:Montserrat,sans-serif;gap:4px}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title p{font-size:14px;line-height:18px;color:#424242}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title .counter{color:#fff;background-color:#6c6c6c;width:18px;height:18px;border-radius:60px;font-size:11px;line-height:14px}.todo-container .todo-content .todo-actions .comment-body{padding:4px 0 4px 6px}.todo-container .todo-content .todo-actions .upload-section{padding:6px}\n"] }]
120
+ ], selector: 'app-ca-todo-card', providers: [FileService], animations: [cardComponentAnimation('showHideCardBody')], encapsulation: ViewEncapsulation.None, template: "<div class=\"todo-container\">\n <div class=\"todo-content d-grid\">\n <!--Header-->\n <div\n class=\"todo-header d-flex align-items-center justify-content-between\"\n >\n <div class=\"title-container\">\n <div class=\"title\">{{ config.title }}</div>\n </div>\n\n <!--SVG Icons-->\n <div class=\"svg-container d-flex\">\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"config.link ? 'Hyperlink' : 'No Hyperlink'\"\n position=\"bottom\"\n (click)=\"addLink()\"\n [ngClass]=\"{\n 'icon-active': !isLinkVisible && config.link,\n 'icon-has-link d-flex align-items-center justify-content-center':\n config.link,\n 'icon-without-link': !config.link,\n }\"\n >\n <svg-icon class=\"icon\" [src]=\"svgTodo.web\"></svg-icon>\n </div>\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"\n files.length ? 'Attachment' : 'No Attachment'\n \"\n position=\"bottom\"\n (click)=\"toggleDocument()\"\n [ngClass]=\"{\n 'icon-active': isDocumentVisible && files.length,\n 'icon-has-link d-flex align-items-center justify-content-center':\n files.length,\n 'icon-without-link': !files.length,\n }\"\n [ngStyle]=\"{\n 'pointer-events': files.length ? 'auto' : 'none',\n }\"\n >\n <svg-icon\n class=\"icon\"\n [src]=\"svgTodo.attachment\"\n ></svg-icon>\n </div>\n <div\n class=\"icon-box\"\n [tooltipBackground]=\"'#424242'\"\n ngbTooltip\n [mainCaTooltip]=\"\n commentConfig.length ? 'Comment' : 'No Comment'\n \"\n position=\"bottom\"\n (click)=\"toggleComments()\"\n [ngClass]=\"{\n 'icon-active':\n isCommentsVisible && commentConfig.length,\n 'icon-has-link d-flex align-items-center justify-content-center':\n commentConfig.length,\n 'icon-without-link': !commentConfig.length,\n }\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"18\"\n height=\"18\"\n viewBox=\"26 26\"\n >\n <g\n id=\"Comment_-_Count\"\n data-name=\"Comment - Count\"\n transform=\"translate(0.5 2.5)\"\n >\n <path\n id=\"Path_10563\"\n data-name=\"Path 10563\"\n d=\"M963.974,510.676H950.584a2.274,2.274,0,0,0-2.305,2.237v10.5a2.274,2.274,0,0,0,2.305,2.237h.82l1.574,2.645a.792.792,0,0,0,1.351,0l1.574-2.645h8.07a2.275,2.275,0,0,0,2.305-2.237v-10.5a2.274,2.274,0,0,0-2.305-2.237\"\n transform=\"translate(-948.279 -512.676)\"\n fill=\"#aaa\"\n stroke=\"rgba(0,0,0,0)\"\n stroke-width=\"1\"\n />\n </g>\n <text\n x=\"50%\"\n y=\"50%\"\n dominant-baseline=\"middle\"\n text-anchor=\"middle\"\n id=\"_1\"\n data-name=\"1\"\n fill=\"#fff\"\n font-size=\"9\"\n font-family=\"Montserrat-Bold, Montserrat\"\n font-weight=\"600\"\n >\n <tspan class=\"number-comments\">\n {{ commentCounter }}\n </tspan>\n </text>\n </svg>\n </div>\n </div>\n </div>\n\n <!--Body-->\n <div class=\"todo-body d-flex flex-column\">\n <div class=\"everybody-container d-flex align-items-center\">\n <ng-container\n *ngIf=\"!config.imageProfiles?.length; else showProfiles\"\n >\n <div class=\"asignee-everybody\">\n <p class=\"asignee-everybody-p\">Everybody</p>\n </div>\n </ng-container>\n </div>\n\n <ng-template #showProfiles>\n <div class=\"asignee-images-container d-flex align-items-center\">\n <!--Asigment-->\n <ng-container *ngIf=\"config.assigment\">\n <ng-container\n *ngFor=\"\n let item of config.assigment;\n trackBy: identity\n \"\n >\n <div\n class=\"asignee\"\n [ngClass]=\"{ 'asignee-list': config.assigment }\"\n >\n <p\n [ngClass]=\"{\n 'asignee-item': config.assigment,\n }\"\n >\n {{ item }}\n </p>\n </div>\n </ng-container>\n </ng-container>\n\n <!--Images-->\n <div\n class=\"images-container d-flex align-items-center flex-row\"\n >\n <ng-container\n *ngFor=\"\n let profile of config.imageProfiles;\n trackBy: identity\n \"\n >\n <div class=\"image\">\n <app-ca-profile-image\n [indx]=\"profile.indx\"\n [textShortName]=\"profile.textShortName\"\n [avatarColor]=\"profile.avatarColor\"\n ></app-ca-profile-image>\n </div>\n </ng-container>\n </div>\n </div>\n </ng-template>\n\n <!--Description-->\n <div class=\"description-container d-flex\">\n <p class=\"description\">{{ config.description }}</p>\n </div>\n\n <!--Link-->\n <ng-container *ngIf=\"!isLinkVisible\">\n <div\n class=\"link-container\"\n [@showHideCardBody]=\"!isLinkVisible\"\n >\n <a\n class=\"link\"\n [href]=\"link\"\n style=\"text-decoration: none\"\n target=\"_blank\"\n >{{ link }}</a\n >\n </div>\n </ng-container>\n\n <!--Progress expiration-->\n <div class=\"progress-expiration\">\n <lib-ca-progress-expiration\n [config]=\"configProgress\"\n ></lib-ca-progress-expiration>\n </div>\n </div>\n\n <!--Documents and Comments-->\n <div class=\"todo-actions\">\n <!--Line-->\n <ng-container *ngIf=\"isDocumentVisible\">\n <div class=\"border-container\">\n <div class=\"border-line\"></div>\n </div>\n\n <!--Documents-->\n <div class=\"comment-header-container\">\n <div\n class=\"comment-title-content d-flex justify-content-between\"\n >\n <div class=\"comment-title d-flex align-items-center\">\n <p>Documents</p>\n <span\n class=\"counter d-flex align-items-center justify-content-center\"\n >{{ documentCounter }}</span\n >\n </div>\n <div class=\"comment-svg\">\n <svg-icon\n [src]=\"svgTodo.upload\"\n (click)=\"saveAllFiles()\"\n ></svg-icon>\n </div>\n </div>\n </div>\n\n <!-- Container for carousel with all files -->\n <div\n class=\"upload-section\"\n [@showHideCardBody]=\"isDocumentVisible\"\n >\n <app-ca-upload-files\n [files]=\"files\"\n [slider]=\"slider\"\n [review]=\"review\"\n [configFile]=\"configFile\"\n [carouselConfig]=\"carouselConfig\"\n [isVisibleCropAndDrop]=\"isVisibleCropAndDrop\"\n [hasCrop]=\"hasCrop\"\n ></app-ca-upload-files>\n </div>\n </ng-container>\n\n <!--Line-->\n <ng-container *ngIf=\"isCommentsVisible\">\n <div class=\"border-container\">\n <div class=\"border-line\"></div>\n </div>\n\n <!--Comments-->\n <div class=\"comment-header-container\">\n <div\n class=\"comment-title-content d-flex justify-content-between\"\n >\n <div class=\"comment-title d-flex align-items-center\">\n <p>Comment</p>\n <span\n class=\"counter d-flex align-items-center justify-content-center\"\n >{{ commentCounter }}</span\n >\n </div>\n\n <div class=\"comment-svg\">\n <svg-icon\n [src]=\"svgTodo.plus\"\n (click)=\"toggleNewComment()\"\n ></svg-icon>\n </div>\n </div>\n </div>\n\n <ng-container\n *ngFor=\"let item of commentConfig; trackBy: identity\"\n >\n <div\n class=\"comment-body\"\n [@showHideCardBody]=\"isCommentsVisible\"\n >\n <div class=\"comment\">\n <app-ca-comment [config]=\"item\"></app-ca-comment>\n </div>\n </div>\n </ng-container>\n\n <!--New Comment-->\n <ng-container *ngIf=\"isNewComment\">\n <ng-container\n *ngFor=\"let item of newCommentConfig; trackBy: identity\"\n >\n <div\n class=\"comment-body\"\n [@showHideCardBody]=\"isCommentsVisible\"\n >\n <div class=\"comment\">\n <app-ca-comment\n [config]=\"item\"\n ></app-ca-comment>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap\";@import\"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css\";.ca-font-thin{font-weight:100!important}.ca-font-extra-light{font-weight:200!important}.ca-font-light{font-weight:300!important}.ca-font-regular{font-weight:400!important}.ca-font-medium,.todo-container .todo-content .todo-body .link-container .link{font-weight:500!important}.ca-font-semi-bold{font-weight:600!important}.ca-font-bold,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title .counter,.todo-container .todo-content .todo-body .asignee-images-container .asignee p,.todo-container .todo-content .todo-body .asignee-everybody .asignee-everybody-p,.todo-container .todo-content .todo-header .title-container .title{font-weight:700!important}.ca-font-extra-bold,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title p{font-weight:800!important}.ca-font-black{font-weight:900!important}.pickup-delivery-popover{top:-38px!important;max-width:340px!important}.pickup-delivery-popover.bs-popover-top{top:auto!important;bottom:-38px!important}.pickup-delivery-popover.bs-popover-top .load-component .assigned-load-holder{order:3;margin-top:4px;margin-bottom:0!important}.pickup-delivery-popover.bs-popover-top .load-component .statusBar{order:2;margin-top:4px}.pickup-delivery-popover.bs-popover-top .load-component .animation-three-tabs{order:1}.gps_dropdown_popover{top:-38px;max-width:494px}.gps_dropdown_popover .popover-body{padding:0}.table-progress-popover{background-color:unset!important;margin-left:-10px}.table-progress-popover .progress-dropdown{margin-top:-6px;width:260px;height:200px;background:#2f2f2f;border-radius:3px;padding:8px;box-shadow:0 0 4px #00000026;overflow:hidden;-webkit-animation:progressAnimation .25s ease-in-out;animation:progressAnimation .25s ease-in-out}.table-progress-popover .progress-dropdown .progress-header .progress-title{font-size:18px;font-weight:600;color:#dadada}.table-progress-popover .progress-dropdown .progress-header .progress-title span{font-weight:400}.table-progress-popover .progress-dropdown .progress-header .progress-total{font-size:14px;line-height:17px;color:#dadada}.table-progress-popover .progress-dropdown .table-progress-bar-container{width:100%;height:8px;margin-top:6px;border-radius:2px;overflow:hidden}.table-progress-popover .progress-dropdown .table-progress-bar-container .table-progress-bar{height:100%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-dual-info-container .progress-info-container{width:50%}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container{margin-top:10px}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-title{margin-bottom:2px;font-size:11px;font-weight:700;line-height:14px;color:#ffffffb2}.table-progress-popover .progress-dropdown .progress-dropdown-body .progress-info-container .progress-info-text{font-size:14px;line-height:18px;color:#dadada}.table-progress-popover .progress-dropdown.credit-dropdown{height:100px}@-webkit-keyframes progressAnimation{0%{height:0px}to{height:220px}}@keyframes progressAnimation{0%{height:0px}to{height:220px}}ngb-popover-window{padding:unset!important;border:unset!important}ngb-popover-window .popover-arrow{display:none!important}ngb-popover-window .popover-body{padding:unset!important}.dispatch-note .popover-body{position:relative;top:-4px;left:-4px}.tooltip{font-size:12px;position:relative}.tooltip.show{opacity:.83}.tooltip.fade:after,.tooltip.fade:before{transform:translateY(-10px);transition:all .15s ease-in-out}.tooltip.fade:hover:after,.tooltip.fade:hover:before{opacity:1;transform:translate(0)}.tooltip-inner{padding:4px 10px;white-space:nowrap;max-width:none;border-radius:3px}.tooltip-inner:empty{padding:0}.placeholder-delete .tooltip-inner{background-color:#f66}.placeholder-delete .arrow:before{border-top-color:#f66}.custom-popup-owners-for-flag .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(126%) translate(-50%)!important;width:130px;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-for-flag .arrow{bottom:-18%;transform:rotate(180deg);left:calc(50% + 2.7rem)}.custom-popup-owners-for-flag .tooltip{opacity:.93!important;width:0}.custom-popup-owners{z-index:999}.custom-popup-owners .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners .tooltip{transform:translateY(-61px)!important}.custom-popup-owners-year{z-index:999}.custom-popup-owners-year .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(132%);z-index:999;box-shadow:0 0 3px #0003}.custom-popup-owners-year .arrow{bottom:-20%;transform:rotate(180deg)}.custom-popup-owners-year .tooltip{transform:translate(70px,-61px)!important}.custom-popup-owners-info .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-100%) translate(-10%);width:200px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;margin-top:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info .tooltip{opacity:.93;width:0}.custom-popup-owners-info .arrow{display:none}.custom-popup-owners-info #phone-inside{position:relative;right:26px;bottom:0}.custom-popup-owners-info-at .tooltip-inner{color:#3b3b3b;background-color:#fff;transform:translateY(-108%) translate(-7%);width:270px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:3px;box-shadow:0 0 3px #0003}.custom-popup-owners-info-at .tooltip{opacity:1;width:0}.custom-popup-owners-info-at .arrow{display:none}.custom-popup-owners-for-tag .tooltip-inner{color:#3b3b3b;background-color:#fff;width:100px;border-radius:3px;box-shadow:0 0 3px #0003!important}.custom-popup-owners-for-tag .tooltip{top:5px!important}.custom-popup-owners-for-tag .arrow{bottom:-24%}.align-items-flex-start{justify-content:center;align-items:center}.align-items-flex-end{display:flex;justify-content:center;flex-direction:column;align-self:flex-end;align-items:flex-start}.label-add{align-self:flex-start}.fadeInLoad{animation:fadeInLoad .25s}@keyframes fadeInLoad{0%{opacity:0}to{opacity:1}}.fadeIn{opacity:1;-webkit-transition:.25s;-moz-transition:.25s;-o-transition:.25s;transition:.25s}.thisText:hover .fadeIn{opacity:0}.fadeInLoad{animation-name:example;animation-duration:.25s}@keyframes example{0%{transform:scale(.5)}to{transform:scale(1)}}.tooltip.tooltip-table-icons{left:12px!important;opacity:1}.tooltip.tooltip-table-icons .arrow{display:none!important}.tooltip.tooltip-table-icons .tooltip-inner{border-radius:0 50px 50px;background:#28529f}.tooltip.show{opacity:1;animation:fadeIn ease .5s!important;-webkit-animation:fadeIn ease .5s!important;-moz-animation:fadeIn ease .5s!important;-o-animation:fadeIn ease .5s!important;-ms-animation:fadeIn ease .5s!important}.ta-tooltip{position:absolute;font-size:12px;text-align:center;color:#fff;line-height:22px;z-index:999999!important;opacity:0;white-space:nowrap;transform:scale(.7)}.ta-tooltip.ta-tooltip-show{opacity:.85;transform:scale(1);padding:0 12px}.ta-tooltip.ta-tooltip-bottom-right,.ta-tooltip.ta-tooltip-bottom-right-corner{transform-origin:top left;border-radius:0 15px 15px}.ta-tooltip.ta-tooltip-bottom-left{transform-origin:top right;border-radius:15px 0 15px 15px}@keyframes scaleItem{0%{transform:scale(.4)}to{transform:scale(1)}}.app-ca-main-tooltip{pointer-events:none}.app-ca-main-tooltip .tooltip-inner{padding:0;background-color:transparent;pointer-events:none}.app-ca-main-tooltip .tooltip-inner .tooltip-holder{display:flex;font-size:11px;font-weight:700;border-radius:2px;padding:2px 8px;animation:scaleItem .3s;white-space:normal}.app-ca-main-tooltip .tooltip-inner .tooltip-holder:empty{padding:0}.tooltip-arrow{display:none!important}.trucks.semitruck svg path,.trucks.semisleeper svg path,.trucks.flatbed svg path,.trucks.stepdeck svg path,.trucks.lowboyrgn svg path,.trucks.chassis svg path,.trucks.conestoga svg path,.trucks.sidekit svg path,.trucks.container svg path,.trailers.semitruck svg path,.trailers.semisleeper svg path,.trailers.flatbed svg path,.trailers.stepdeck svg path,.trailers.lowboyrgn svg path,.trailers.chassis svg path,.trailers.conestoga svg path,.trailers.sidekit svg path,.trailers.container svg path{fill:#92b1f5}.trucks.boxtruck svg path,.trucks.reefertruck svg path,.trucks.cargovan svg path,.trucks.dryvan svg path,.trucks.reefer svg path,.trailers.boxtruck svg path,.trailers.reefertruck svg path,.trailers.cargovan svg path,.trailers.dryvan svg path,.trailers.reefer svg path{fill:#fbc88b}.trucks.dumptruck svg path,.trucks.cementtruck svg path,.trucks.garbagetruck svg path,.trucks.enddump svg path,.trucks.bottomdump svg path,.trucks.hopper svg path,.trucks.tanker svg path,.trucks.pneumatictanker svg path,.trailers.dumptruck svg path,.trailers.cementtruck svg path,.trailers.garbagetruck svg path,.trailers.enddump svg path,.trailers.bottomdump svg path,.trailers.hopper svg path,.trailers.tanker svg path,.trailers.pneumatictanker svg path{fill:#ed9292}.trucks.towtruck svg path,.trucks.carhauler svg path,.trucks.spotter svg path,.trucks.carhaulerstigner svg path,.trailers.towtruck svg path,.trailers.carhauler svg path,.trailers.spotter svg path,.trailers.carhaulerstigner svg path{fill:#86c9c3}.trucks .svgtext-template-text,.trailers .svgtext-template-text{color:#fff;transition:color .3s ease-in-out}.colors .black svg #droplet{fill:#6c6c6c}.colors .brown svg #droplet{fill:#a1887f}.colors .darkgreen svg #droplet{fill:#4db6a2}.colors .lightgreen svg #droplet{fill:#81c784}.colors .darkblue svg #droplet{fill:#546fd2}.colors .lightblue svg #droplet{fill:#64b5f6}.colors .gray svg #droplet{fill:#aaa}.colors .purple svg #droplet{fill:#ba68c8}.colors .gold svg #droplet{fill:#bcad79}.colors .silver svg #droplet{fill:#dadada}.colors .red svg #droplet{fill:#f96b69}.colors .pink svg #droplet{fill:#f26ec2}.colors .white svg #droplet{fill:#f1f1f1}.colors .orange svg #droplet{fill:#ff8a65}.colors .yellow svg #droplet{fill:#ffd54f}.colors:hover{transition:all .3s ease-in-out}.colors:hover .black svg #droplet{fill:#3c3c3c}.colors:hover .brown svg #droplet{fill:#8d6e63}.colors:hover .darkgreen svg #droplet{fill:#26a690}.colors:hover .lightgreen svg #droplet{fill:#66bb6a}.colors:hover .darkblue svg #droplet{fill:#304fc1}.colors:hover .lightblue svg #droplet{fill:#42a5f5}.colors:hover .gray svg #droplet{fill:#919191}.colors:hover .purple svg #droplet{fill:#ab47bc}.colors:hover .gold svg #droplet{fill:#aa9c6e}.colors:hover .silver svg #droplet{fill:#b7b7b7}.colors:hover .red svg #droplet{fill:#ef5350}.colors:hover .pink svg #droplet{fill:#fa4daa}.colors:hover .white svg #droplet{fill:#fff}.colors:hover .orange svg #droplet{fill:#ff7043}.colors:hover .yellow svg #droplet{fill:#ffca28}.text-color-black{color:#424242!important}.text-color-black::-moz-selection{background:#42424233!important;color:#424242!important}.text-color-black::selection{background:#42424233!important;color:#424242!important}.text-color-black-2{color:#2f2f2f!important}.text-color-black-2::-moz-selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-black-2::selection{background:#2f2f2f33!important;color:#2f2f2f!important}.text-color-muted{color:#919191!important}.text-color-muted::-moz-selection{background:#91919133!important;color:#919191!important}.text-color-muted::selection{background:#91919133!important;color:#919191!important}.text-color-green{color:#56b4ac!important}.text-color-green::-moz-selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-green::selection{background:#56b4ac33!important;color:#56b4ac!important}.text-color-blue-13{color:#6692f1!important}.text-color-blue-13::-moz-selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-13::selection{background:#66921833!important;color:#6692f1!important}.text-color-blue-18{color:#3b73ed!important}.text-color-blue-18::-moz-selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-blue-18::selection{background:#3b73ed33!important;color:#3b73ed!important}.text-color-red-10{color:#e66767!important}.text-color-red-10::-moz-selection{background:#e6676733!important;color:#e66767!important}.text-color-red-10::selection{background:#e6676733!important;color:#e66767!important}.text-color-light-grey{color:#e5e5e5!important}.text-color-light-grey::-moz-selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey::selection{background:#e5e5e533!important;color:#e5e5e5!important}.text-color-light-grey-2{color:#aaa!important}.text-color-light-grey-2::-moz-selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-2::selection{background:#aaa3!important;color:#aaa!important}.text-color-light-grey-6{color:#ccc!important}.text-color-light-grey-6::-moz-selection{color:#ccc!important;background:#aaa3!important}.text-color-light-grey-6::selection{color:#ccc!important;background:#aaa3!important}.text-color-white{color:#dadada!important}.text-color-white::-moz-selection{color:#dadada!important;background:#fff3!important}.text-color-white::selection{color:#dadada!important;background:#fff3!important}.text-color-white-4{color:#ffffffb2!important}.text-color-white-4::-moz-selection{color:#ffffffb2!important;background:#fff3!important}.text-color-white-4::selection{color:#ffffffb2!important;background:#fff3!important}.text-color-dark-grey{color:#6c6c6c!important}.text-color-dark-grey::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-dark-grey::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2{color:#6c6c6c!important}.text-color-bw6-2::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw6-2::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9{color:#dadada!important}.text-color-bw-9::-moz-selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-bw-9::selection{color:#6c6c6c!important;background:#6c6c6c33!important}.text-color-grey{color:#919191!important}.text-color-grey::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey::selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::-moz-selection,.text-color-grey .marker-bold-text::-moz-selection{color:#919191!important;background:#91919133!important}.text-color-grey .address-text::selection,.text-color-grey .marker-bold-text::selection{color:#919191!important;background:#91919133!important}.text-size-11{font-size:11px!important;line-height:14px!important}.text-size-14{font-size:14px!important;line-height:18px!important}.text-size-16{font-size:16px!important;line-height:19px!important}.text-size-18{font-size:18px!important;line-height:22px!important}.text-size-26{font-size:26px!important;line-height:32px!important}.text-size-28{font-size:28px!important;line-height:34px!important}@keyframes dropdown{0%{margin-top:20px;visibility:hidden;opacity:0}to{opacity:1;margin-top:10px;visibility:visible!important}}@keyframes dropup{0%{margin-top:-19px;visibility:hidden;opacity:0}to{margin-top:inherit;visibility:visible!important}}.svg-fill-black svg path{fill:#424242!important}.svg-fill-muted svg path{fill:#919191!important}.svg-fill-bw-9 svg path{fill:#dadada!important}.svg-fill-light-grey-2 svg path{fill:#aaa!important}.svg-fill-light-grey-6 svg path{fill:#ccc!important}.svg-fill-blue-13 svg path{fill:#6692f1!important}.svg-fill-blue-19 svg path{fill:#92b1f5!important}.svg-fill-blue-26 svg path{fill:#4dc5eb!important}.svg-hover-muted svg path{transition:all .3s ease-in-out}.svg-hover-muted:hover svg path{fill:#919191!important}.svg-hover-black svg path{transition:all .3s ease-in-out}.svg-hover-black:hover svg path{fill:#424242!important}.svg-hover-blue-15 svg path{transition:all .3s ease-in-out}.svg-hover-blue-15:hover svg path{fill:#0b49d1!important}.svg-hover-bw6-2 svg path{transition:all .3s ease-in-out}.svg-hover-bw6-2:hover svg path{fill:#6c6c6c!important}.svg-hover-trash-red svg path{transition:all .3s ease-in-out}.svg-hover-trash-red:hover svg path{fill:#ff5050!important}.svg-hover-red-14 svg path{transition:all .3s ease-in-out}.svg-hover-red-14:hover svg path{fill:#c20c0c!important}.svg-size-12 svg{width:12px;height:12px}.svg-size-14 svg{width:14px;height:14px}.svg-size-16 svg{width:16px;height:16px}.svg-size-18 svg{width:18px;height:18px}.svg-size-44-16 svg{width:44px;height:16px}*{margin:0;font-family:Montserrat,sans-serif}html{scroll-behavior:auto!important}.gm-style-iw-chr,.gm-style-iw-tc{display:none}.gm-style .gm-style-iw-c{border-radius:0}.gm-style-iw{overflow-y:auto!important;overflow-x:hidden!important}.gm-style-iw>div{overflow:visible!important}.infoWindow{overflow:hidden!important}.gm-style-iw-d,.gm-style-iw.gm-style-iw-c{max-height:350px!important}::ng-deep .popover{--bs-popover-border-width: 0;--bs-popover-body-padding-y: 0;--bs-popover-body-padding-x: 0}::ng-deep .popover .popover-arrow{display:none}.cdk-drag-preview{background-color:#fff;border-radius:3px;box-shadow:0 0 6px #0000004d;z-index:1000}.todo-container{border-radius:3px}.todo-container .todo-content{cursor:grab}.todo-container .todo-content .todo-header{padding:6px 4px 0 6px}.todo-container .todo-content .todo-header .title-container{padding:4px 4px 4px 6px}.todo-container .todo-content .todo-header .title-container .title{font-family:Montserrat,sans-serif;font-size:14px;line-height:18px;color:#424242}.todo-container .todo-content .todo-header .svg-container{cursor:pointer;gap:4px}.todo-container .todo-content .todo-header .svg-container .icon-box .icon-without-link svg path{fill:#ccc}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link{width:26px;height:26px}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link svg path{fill:#919191}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover{background-color:#eee;border-radius:2px}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover svg path{fill:#424242}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-has-link:not(.icon-active):hover svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active{background-color:#e9effd}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active svg path{fill:#6692f1}.todo-container .todo-content .todo-header .svg-container .icon-box.icon-active svg path:nth-of-type(2){fill:#fff!important}.todo-container .todo-content .todo-header .svg-container .icon-box:focus.icon-active{background-color:#e9effd}.todo-container .todo-content .todo-header .svg-container .icon{height:26px;width:26px;border-radius:2px}.todo-container .todo-content .todo-body{padding:0 6px 8px 12px;gap:8px}.todo-container .todo-content .todo-body .asignee-everybody{background-color:#e9effd;padding:2px 6px;border-radius:2px;height:18px;margin:4px 2px}.todo-container .todo-content .todo-body .asignee-everybody .asignee-everybody-p{font-size:11px;line-height:14px;font-family:Montserrat,sans-serif;color:#3b73ed}.todo-container .todo-content .todo-body .asignee-images-container .asignee{background-color:#e9effd;padding:2px 6px;border-radius:2px;height:18px}.todo-container .todo-content .todo-body .asignee-images-container .asignee.asignee-list{background-color:#eee;margin:2px}.todo-container .todo-content .todo-body .asignee-images-container .asignee p{font-size:11px;line-height:14px;font-family:Montserrat,sans-serif;color:#3b73ed}.todo-container .todo-content .todo-body .asignee-images-container .asignee p.asignee-item{color:#424242}.todo-container .todo-content .todo-body .asignee-images-container .images-container{margin-left:8px;height:30px}.todo-container .todo-content .todo-body .description-container{width:578.67px;gap:10px}.todo-container .todo-content .todo-body .description-container .description{font-size:14px;line-height:18px}.todo-container .todo-content .todo-body .progress-expiration{width:100%}.todo-container .todo-content .todo-body .link-container{transition:max-height .3s ease-in-out,opacity .3s ease-in-out}.todo-container .todo-content .todo-body .link-container .link{font-family:Montserrat,sans-serif;font-size:14px;line-height:18px}.todo-container .todo-content .todo-actions{margin-bottom:8px}.todo-container .todo-content .todo-actions .border-container{padding:4px 2px}.todo-container .todo-content .todo-actions .border-container .border-line{border:1px solid #dadada;width:100%}.todo-container .todo-content .todo-actions .comment-header-container,.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content{padding:0 0 0 6px}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title{font-family:Montserrat,sans-serif;gap:4px}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title p{font-size:14px;line-height:18px;color:#424242}.todo-container .todo-content .todo-actions .comment-header-container .comment-title-content .comment-title .counter{color:#fff;background-color:#6c6c6c;width:18px;height:18px;border-radius:60px;font-size:11px;line-height:14px}.todo-container .todo-content .todo-actions .comment-body{padding:4px 0 4px 6px}.todo-container .todo-content .todo-actions .upload-section{padding:6px}\n"] }]
121
121
  }], ctorParameters: () => [{ type: i1.FileService }, { type: i0.Renderer2 }], propDecorators: { modalCarousel: [{
122
122
  type: ViewChild,
123
123
  args: [CaUploadFilesCarouselComponent]
@@ -148,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
148
148
  }], onFileEvent: [{
149
149
  type: Output
150
150
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdG9kby1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLXRvZG8vY29tcG9uZW50cy9jYS10b2RvLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtdG9kby9jb21wb25lbnRzL2NhLXRvZG8tY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFnQi9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLFFBQVE7QUFDUixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDLFlBQVk7QUFDWixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4RkFBOEYsQ0FBQztBQUM5SSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUt6RixXQUFXO0FBQ1gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdEYsVUFBVTtBQUNWLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsT0FBTztBQUNQLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBeUJ4QyxNQUFNLE9BQU8sbUJBQW1CO0lBMEM1QixZQUNZLFdBQXdCLEVBQ3hCLFFBQW1CO1FBRG5CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFyQy9CLFNBQVM7UUFDQSxrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFDcEMscUJBQWdCLEdBQW9CLEVBQUUsQ0FBQztRQUVoRCxvQkFBb0I7UUFDWCxtQkFBYyxHQUF5QixFQUFFLENBQUM7UUFJMUMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQVV4QixnQkFBVyxHQUNqQixJQUFJLFlBQVksRUFBYSxDQUFDO1FBRTNCLFlBQU8sR0FBRyxZQUFZLENBQUM7UUFDdEIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3BDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDM0Isb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFDNUIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFpQixFQUFFLENBQUM7SUFNOUIsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzdDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDckQsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ3JELENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0MsQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ3BELENBQUM7SUFFTSxrQkFBa0I7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QyxDQUFDO0lBRU0sWUFBWTtRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN4QixJQUFJLENBQUMsWUFBWSxDQUNiLElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUN6QyxDQUNKLENBQUM7O1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sWUFBWSxDQUFDLEdBQVcsRUFBRSxRQUFnQjtRQUM3QyxJQUFJLENBQUMsV0FBVzthQUNYLFlBQVksQ0FBQyxHQUFHLENBQUM7YUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUNOLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDWCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FDeEMsWUFBWSxDQUFDLE1BQU0sQ0FDdEIsQ0FBQztZQUNGLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3RCLFFBQVEsRUFDUixZQUFZLENBQUMsSUFBSSxFQUNqQixTQUFTLENBQ1osQ0FBQztZQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUN0QixRQUFRLEVBQ1IsWUFBWSxDQUFDLFFBQVEsRUFDckIsUUFBUSxDQUNYLENBQUM7WUFDRixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLENBQzdELENBQUM7SUFDVixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDekIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzsrR0EvSFEsbUJBQW1CO21HQUFuQixtQkFBbUIsa2NBTmpCLENBQUMsV0FBVyxDQUFDLHlFQU9iLDhCQUE4QixnREM3RTdDLHd0WkFtVEEsODhxQkQzUFEsWUFBWSxrYkFDWixvQkFBb0IsZ09BQ3BCLGdCQUFnQiwrQkFDaEIsVUFBVSwwVEFDVixTQUFTO2dCQUVULFlBQVk7Z0JBQ1osdUJBQXVCLGtNQUN2Qiw2QkFBNkIsMkZBQzdCLHNCQUFzQiwrYUFDdEIsdUJBQXVCLHFPQUN2QixrQkFBa0IsOEdBTVYsQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDOzs0RkFHL0MsbUJBQW1CO2tCQXZCL0IsU0FBUztpQ0FDTSxJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixTQUFTO3dCQUVULFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7cUJBQ3JCLFlBQ1Msa0JBQWtCLGFBQ2pCLENBQUMsV0FBVyxDQUFDLGNBR1osQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLGlCQUN6QyxpQkFBaUIsQ0FBQyxJQUFJO3dHQUk5QixhQUFhO3NCQURuQixTQUFTO3VCQUFDLDhCQUE4QjtnQkFJaEMsTUFBTTtzQkFBZCxLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdiTW9kdWxlLCBOZ2JUb29sdGlwIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLy9Nb2RlbHNcbmltcG9ydCB7IFRvRG9DYXJkQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFByb2dyZXNzRXhwaXJhdGlvbiB9IGZyb20gJy4uLy4uL2NhLXByb2dyZXNzLWV4cGlyYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IENvbW1lbnRDb25maWcgfSBmcm9tICcuLi8uLi9jYS1jb21tZW50L21vZGVscyc7XG5pbXBvcnQge1xuICAgIEZpbGVPcHRpb25Db25maWcsXG4gICAgUmV2aWV3RmlsZUNvbmZpZyxcbiAgICBTbGlkZXIsXG59IGZyb20gJy4uLy4uL2NhLXVwbG9hZC1maWxlcy9tb2RlbHMnO1xuaW1wb3J0IHsgRmlsZXNDYXJvdXNlbENvbmZpZyB9IGZyb20gJy4uLy4uL2NhLXVwbG9hZC1maWxlcy9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlcy1jYXJvdXNlbC9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgICBGaWxlQ29uZmlnLFxuICAgIEZpbGVFdmVudCxcbn0gZnJvbSAnLi4vLi4vY2EtdXBsb2FkLWZpbGVzL2NvbXBvbmVudHMvY2EtdXBsb2FkLWRyb3B6b25lL21vZGVscyc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuLy9Sb3V0ZXNcbmltcG9ydCB7IFRvZG9TdmdSb3V0ZSB9IGZyb20gJy4uL3V0aWxzJztcblxuLy9Db21wb25lbnRzXG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FQcm9ncmVzc0V4cGlyYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jYS1wcm9ncmVzcy1leHBpcmF0aW9uL2NhLXByb2dyZXNzLWV4cGlyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENhQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NhLWNvbW1lbnQvY2EtY29tbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FVcGxvYWRGaWxlc0Nhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2EtdXBsb2FkLWZpbGVzL2NvbXBvbmVudHMvY2EtdXBsb2FkLWZpbGVzLWNhcm91c2VsL2NhLXVwbG9hZC1maWxlcy1jYXJvdXNlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FVcGxvYWRGaWxlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NhLXVwbG9hZC1maWxlcy9jYS11cGxvYWQtZmlsZXMuY29tcG9uZW50JztcblxuLy9Db25maWdcbmltcG9ydCB7IERyb3B6b25lQ29uZiB9IGZyb20gJy4uLy4uL2NhLXVwbG9hZC1maWxlcy9jb21wb25lbnRzL2NhLXVwbG9hZC1kcm9wem9uZS9jb25maWcnO1xuXG4vL0FuaW1hdGlvblxuaW1wb3J0IHsgY2FyZENvbXBvbmVudEFuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbnMvY2FyZC1jb21wb25lbnQuYW5pbWF0aW9uJztcblxuLy9TZXJ2aWNlc1xuaW1wb3J0IHsgRmlsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbi8vRW51bXNcbmltcG9ydCB7IERvd25sb2FkTGluayB9IGZyb20gJy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgICAgIE5nYlRvb2x0aXAsXG4gICAgICAgIE5nYk1vZHVsZSxcblxuICAgICAgICAvL0NvbXBvbmVudHNcbiAgICAgICAgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQsXG4gICAgICAgIENhUHJvZ3Jlc3NFeHBpcmF0aW9uQ29tcG9uZW50LFxuICAgICAgICBDYVVwbG9hZEZpbGVzQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICAgICAgQ2FDb21tZW50Q29tcG9uZW50LFxuICAgIF0sXG4gICAgc2VsZWN0b3I6ICdhcHAtY2EtdG9kby1jYXJkJyxcbiAgICBwcm92aWRlcnM6IFtGaWxlU2VydmljZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLXRvZG8tY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2EtdG9kby1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW2NhcmRDb21wb25lbnRBbmltYXRpb24oJ3Nob3dIaWRlQ2FyZEJvZHknKV0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FUb2RvQ2FyZENvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZChDYVVwbG9hZEZpbGVzQ2Fyb3VzZWxDb21wb25lbnQpXG4gICAgcHVibGljIG1vZGFsQ2Fyb3VzZWwhOiBDYVVwbG9hZEZpbGVzQ2Fyb3VzZWxDb21wb25lbnQ7XG5cbiAgICAvL3Rvb2x0aXBcbiAgICBASW5wdXQoKSBjb25maWchOiBUb0RvQ2FyZENvbmZpZztcblxuICAgIC8vQ29tbWVudFxuICAgIEBJbnB1dCgpIGNvbW1lbnRDb25maWc6IENvbW1lbnRDb25maWdbXSA9IFtdO1xuICAgIEBJbnB1dCgpIG5ld0NvbW1lbnRDb25maWc6IENvbW1lbnRDb25maWdbXSA9IFtdO1xuXG4gICAgLy9Qcm9ncmVzc0V4cGlyYXRpb25cbiAgICBASW5wdXQoKSBjb25maWdQcm9ncmVzczogUHJvZ3Jlc3NFeHBpcmF0aW9uW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIGlzVmlzaWJsZUNyb3BBbmREcm9wITogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGhhc0Nyb3A6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vVXBsb2FkIGZpbGVzXG4gICAgQElucHV0KCkgc2xpZGVyITogU2xpZGVyO1xuICAgIEBJbnB1dCgpIGNhcm91c2VsQ29uZmlnITogRmlsZXNDYXJvdXNlbENvbmZpZztcbiAgICBASW5wdXQoKSByZXZpZXchOiBSZXZpZXdGaWxlQ29uZmlnO1xuICAgIEBJbnB1dCgpIGNvbmZpZ0ZpbGUhOiBGaWxlT3B0aW9uQ29uZmlnO1xuICAgIEBJbnB1dCgpIGZpbGVzITogRmlsZUNvbmZpZ1tdO1xuICAgIEBJbnB1dCgpIGNvbmZpZ0Ryb3B6b25lITogRHJvcHpvbmVDb25mO1xuXG4gICAgQE91dHB1dCgpIG9uRmlsZUV2ZW50OiBFdmVudEVtaXR0ZXI8RmlsZUV2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8RmlsZUV2ZW50PigpO1xuXG4gICAgcHVibGljIHN2Z1RvZG8gPSBUb2RvU3ZnUm91dGU7XG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBsaW5rOiBzdHJpbmcgPSAnJztcbiAgICBwdWJsaWMgaXNMaW5rVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjb21tZW50Q291bnRlcjogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgZG9jdW1lbnRDb3VudGVyOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBpc0NvbW1lbnRWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzQ29tbWVudHNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzRG9jdW1lbnRWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzTmV3Q29tbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBfZmlsZXM6IEZpbGVDb25maWdbXSA9IFtdO1xuICAgIHB1YmxpYyBfY29uZmlnITogRmlsZU9wdGlvbkNvbmZpZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGZpbGVTZXJ2aWNlOiBGaWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYWRkTGluaygpO1xuXG4gICAgICAgIHRoaXMuZ2V0Q29tbWVudENvdW50ZXIoKTtcblxuICAgICAgICB0aGlzLmdldERvY3VtZW50Q291bnRlcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZExpbmsoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5saW5rKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmsgPSB0aGlzLmNvbmZpZy5saW5rO1xuICAgICAgICAgICAgdGhpcy5pc0xpbmtWaXNpYmxlID0gIXRoaXMuaXNMaW5rVmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVDb21tZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NvbW1lbnRzVmlzaWJsZSA9ICF0aGlzLmlzQ29tbWVudHNWaXNpYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVEb2N1bWVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0RvY3VtZW50VmlzaWJsZSA9ICF0aGlzLmlzRG9jdW1lbnRWaXNpYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVOZXdDb21tZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTmV3Q29tbWVudCA9ICF0aGlzLmlzTmV3Q29tbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tbWVudENvdW50ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tbWVudENvdW50ZXIgPSB0aGlzLmNvbW1lbnRDb25maWcubGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREb2N1bWVudENvdW50ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRDb3VudGVyID0gdGhpcy5maWxlcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmVBbGxGaWxlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsZXMgJiYgdGhpcy5maWxlcy5sZW5ndGgpXG4gICAgICAgICAgICB0aGlzLmZpbGVzLmZvckVhY2goKGZpbGUpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEZpbGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbGUudXJsLFxuICAgICAgICAgICAgICAgICAgICBmaWxlLmZpbGVOYW1lID8/IERvd25sb2FkTGluay5ET1dOTE9BRFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIGVsc2UgY29uc29sZS53YXJuKCdObyBmaWxlJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGRvd25sb2FkRmlsZSh1cmw6IHN0cmluZywgZmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVTZXJ2aWNlXG4gICAgICAgICAgICAuZG93bmxvYWRGaWxlKHVybClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChibG9iOiBCbG9iKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRMaW5rLkFOQ0hPUlxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvYmplY3RVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRMaW5rLkhSRUYsXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RVcmxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkTGluay5ET1dOTE9BRCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNsaWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwob2JqZWN0VXJsKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnJvcikgPT4gY29uc29sZS5lcnJvcignRXJyb3IgZG93bmxvYWRpbmcgZmlsZTonLCBlcnJvcilcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGlkZW50aXR5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRvZG8tY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRvZG8tY29udGVudCBkLWdyaWRcIj5cbiAgICAgICAgPCEtLUhlYWRlci0tPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInRvZG8taGVhZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgY29uZmlnLnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLVNWRyBJY29ucy0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN2Zy1jb250YWluZXIgZC1mbGV4XCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tYm94XCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjNDI0MjQyJ1wiXG4gICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgW21haW5DYVRvb2x0aXBdPVwiY29uZmlnLmxpbmsgPyAnSHlwZXJsaW5rJyA6ICdObyBIeXBlcmxpbmsnXCJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTGluaygpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tYWN0aXZlJzogIWlzTGlua1Zpc2libGUgJiYgY29uZmlnLmxpbmssXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbi1oYXMtbGluayBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5saW5rLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24td2l0aG91dC1saW5rJzogIWNvbmZpZy5saW5rLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzdmctaWNvbiBjbGFzcz1cImljb25cIiBbc3JjXT1cInN2Z1RvZG8ud2ViXCI+PC9zdmctaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1ib3hcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcEJhY2tncm91bmRdPVwiJyM0MjQyNDInXCJcbiAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICBbbWFpbkNhVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzLmxlbmd0aCA/ICdBdHRhY2htZW50JyA6ICdObyBBdHRhY2htZW50J1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEb2N1bWVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tYWN0aXZlJzogaXNEb2N1bWVudFZpc2libGUgJiYgZmlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24taGFzLWxpbmsgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbi13aXRob3V0LWxpbmsnOiAhZmlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3BvaW50ZXItZXZlbnRzJzogZmlsZXMubGVuZ3RoID8gJ2F1dG8nIDogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwic3ZnVG9kby5hdHRhY2htZW50XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tYm94XCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjNDI0MjQyJ1wiXG4gICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgW21haW5DYVRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50Q29uZmlnLmxlbmd0aCA/ICdDb21tZW50JyA6ICdObyBDb21tZW50J1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb21tZW50cygpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tYWN0aXZlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0NvbW1lbnRzVmlzaWJsZSAmJiBjb21tZW50Q29uZmlnLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uLWhhcy1saW5rIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudENvbmZpZy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbi13aXRob3V0LWxpbmsnOiAhY29tbWVudENvbmZpZy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIyNiAyNlwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJDb21tZW50Xy1fQ291bnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbmFtZT1cIkNvbW1lbnQgLSBDb3VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNSAyLjUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cIlBhdGhfMTA1NjNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDEwNTYzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05NjMuOTc0LDUxMC42NzZIOTUwLjU4NGEyLjI3NCwyLjI3NCwwLDAsMC0yLjMwNSwyLjIzN3YxMC41YTIuMjc0LDIuMjc0LDAsMCwwLDIuMzA1LDIuMjM3aC44MmwxLjU3NCwyLjY0NWEuNzkyLjc5MiwwLDAsMCwxLjM1MSwwbDEuNTc0LTIuNjQ1aDguMDdhMi4yNzUsMi4yNzUsMCwwLDAsMi4zMDUtMi4yMzd2LTEwLjVhMi4yNzQsMi4yNzQsMCwwLDAtMi4zMDUtMi4yMzdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTk0OC4yNzkgLTUxMi42NzYpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNhYWFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJyZ2JhKDAsMCwwLDApXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeD1cIjUwJVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeT1cIjUwJVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taW5hbnQtYmFzZWxpbmU9XCJtaWRkbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYW5jaG9yPVwibWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cIl8xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW5hbWU9XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI2ZmZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplPVwiOVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk9XCJNb250c2VycmF0LUJvbGQsIE1vbnRzZXJyYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0PVwiNjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHNwYW4gY2xhc3M9XCJudW1iZXItY29tbWVudHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29tbWVudENvdW50ZXIgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tQm9keS0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9kby1ib2R5IGQtZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZXJ5Ym9keS1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhY29uZmlnLmltYWdlUHJvZmlsZXM/Lmxlbmd0aDsgZWxzZSBzaG93UHJvZmlsZXNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFzaWduZWUtZXZlcnlib2R5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImFzaWduZWUtZXZlcnlib2R5LXBcIj5FdmVyeWJvZHk8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd1Byb2ZpbGVzPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhc2lnbmVlLWltYWdlcy1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tQXNpZ21lbnQtLT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5hc3NpZ21lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gb2YgY29uZmlnLmFzc2lnbWVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogaWRlbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhc2lnbmVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYXNpZ25lZS1saXN0JzogY29uZmlnLmFzc2lnbWVudCB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzaWduZWUtaXRlbSc6IGNvbmZpZy5hc3NpZ21lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLUltYWdlcy0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlcy1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXJvd1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb2ZpbGUgb2YgY29uZmlnLmltYWdlUHJvZmlsZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IGlkZW50aXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jYS1wcm9maWxlLWltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5keF09XCJwcm9maWxlLmluZHhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRTaG9ydE5hbWVdPVwicHJvZmlsZS50ZXh0U2hvcnROYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdmF0YXJDb2xvcl09XCJwcm9maWxlLmF2YXRhckNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYXBwLWNhLXByb2ZpbGUtaW1hZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8IS0tRGVzY3JpcHRpb24tLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvbi1jb250YWluZXIgZC1mbGV4XCI+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7IGNvbmZpZy5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tTGluay0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xpbmtWaXNpYmxlXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxpbmstY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW0BzaG93SGlkZUNhcmRCb2R5XT1cIiFpc0xpbmtWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInRleHQtZGVjb3JhdGlvbjogbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGxpbmsgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwhLS1Qcm9ncmVzcyBleHBpcmF0aW9uLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtZXhwaXJhdGlvblwiPlxuICAgICAgICAgICAgICAgIDxsaWItY2EtcHJvZ3Jlc3MtZXhwaXJhdGlvblxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1Byb2dyZXNzXCJcbiAgICAgICAgICAgICAgICA+PC9saWItY2EtcHJvZ3Jlc3MtZXhwaXJhdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tRG9jdW1lbnRzIGFuZCBDb21tZW50cy0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9kby1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8IS0tTGluZS0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRG9jdW1lbnRWaXNpYmxlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1saW5lXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8IS0tRG9jdW1lbnRzLS0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtaGVhZGVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbW1lbnQtdGl0bGUtY29udGVudCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC10aXRsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+RG9jdW1lbnRzPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY291bnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgZG9jdW1lbnRDb3VudGVyIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJzdmdUb2RvLnVwbG9hZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzYXZlQWxsRmlsZXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8IS0tIENvbnRhaW5lciBmb3IgY2Fyb3VzZWwgd2l0aCBhbGwgZmlsZXMgLS0+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwbG9hZC1zZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW0BzaG93SGlkZUNhcmRCb2R5XT1cImlzRG9jdW1lbnRWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY2EtdXBsb2FkLWZpbGVzXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmlsZXNdPVwiZmlsZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NsaWRlcl09XCJzbGlkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Jldmlld109XCJyZXZpZXdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ0ZpbGVdPVwiY29uZmlnRmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2Fyb3VzZWxDb25maWddPVwiY2Fyb3VzZWxDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzVmlzaWJsZUNyb3BBbmREcm9wXT1cImlzVmlzaWJsZUNyb3BBbmREcm9wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDcm9wXT1cImhhc0Nyb3BcIlxuICAgICAgICAgICAgICAgICAgICA+PC9hcHAtY2EtdXBsb2FkLWZpbGVzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwhLS1MaW5lLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb21tZW50c1Zpc2libGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWxpbmVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwhLS1Db21tZW50cy0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWhlYWRlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb21tZW50LXRpdGxlLWNvbnRlbnQgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtdGl0bGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNvbW1lbnQ8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBjb21tZW50Q291bnRlciB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJzdmdUb2RvLnBsdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlTmV3Q29tbWVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zdmctaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29tbWVudENvbmZpZzsgdHJhY2tCeTogaWRlbnRpdHlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb21tZW50LWJvZHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW0BzaG93SGlkZUNhcmRCb2R5XT1cImlzQ29tbWVudHNWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNhLWNvbW1lbnQgW2NvbmZpZ109XCJpdGVtXCI+PC9hcHAtY2EtY29tbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwhLS1OZXcgQ29tbWVudC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc05ld0NvbW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbmV3Q29tbWVudENvbmZpZzsgdHJhY2tCeTogaWRlbnRpdHlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb21tZW50LWJvZHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAc2hvd0hpZGVDYXJkQm9keV09XCJpc0NvbW1lbnRzVmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jYS1jb21tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9hcHAtY2EtY29tbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtdG9kby1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLXRvZG8vY29tcG9uZW50cy9jYS10b2RvLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtdG9kby9jb21wb25lbnRzL2NhLXRvZG8tY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFnQi9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLFFBQVE7QUFDUixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDLFlBQVk7QUFDWixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4RkFBOEYsQ0FBQztBQUM5SSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUt6RixXQUFXO0FBQ1gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFdEYsVUFBVTtBQUNWLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsT0FBTztBQUNQLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBeUJ4QyxNQUFNLE9BQU8sbUJBQW1CO0lBMEM1QixZQUNZLFdBQXdCLEVBQ3hCLFFBQW1CO1FBRG5CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFyQy9CLFNBQVM7UUFDQSxrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFDcEMscUJBQWdCLEdBQW9CLEVBQUUsQ0FBQztRQUVoRCxvQkFBb0I7UUFDWCxtQkFBYyxHQUF5QixFQUFFLENBQUM7UUFJMUMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQVV4QixnQkFBVyxHQUNqQixJQUFJLFlBQVksRUFBYSxDQUFDO1FBRTNCLFlBQU8sR0FBRyxZQUFZLENBQUM7UUFDdEIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3BDLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsbUJBQWMsR0FBVyxDQUFDLENBQUM7UUFDM0Isb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFDNUIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFpQixFQUFFLENBQUM7SUFNOUIsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzdDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDckQsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ3JELENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0MsQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ3BELENBQUM7SUFFTSxrQkFBa0I7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QyxDQUFDO0lBRU0sWUFBWTtRQUNmLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN4QixJQUFJLENBQUMsWUFBWSxDQUNiLElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFFBQVEsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUN6QyxDQUNKLENBQUM7O1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sWUFBWSxDQUFDLEdBQVcsRUFBRSxRQUFnQjtRQUM3QyxJQUFJLENBQUMsV0FBVzthQUNYLFlBQVksQ0FBQyxHQUFHLENBQUM7YUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEMsU0FBUyxDQUNOLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDWCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FDeEMsWUFBWSxDQUFDLE1BQU0sQ0FDdEIsQ0FBQztZQUNGLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3RCLFFBQVEsRUFDUixZQUFZLENBQUMsSUFBSSxFQUNqQixTQUFTLENBQ1osQ0FBQztZQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUN0QixRQUFRLEVBQ1IsWUFBWSxDQUFDLFFBQVEsRUFDckIsUUFBUSxDQUNYLENBQUM7WUFDRixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLENBQzdELENBQUM7SUFDVixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDekIsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzsrR0EvSFEsbUJBQW1CO21HQUFuQixtQkFBbUIsa2NBTmpCLENBQUMsV0FBVyxDQUFDLHlFQU9iLDhCQUE4QixnREM3RTdDLHd0WkFtVEEsOGtyQkQzUFEsWUFBWSxrYkFDWixvQkFBb0IsZ09BQ3BCLGdCQUFnQiwrQkFDaEIsVUFBVSwwVEFDVixTQUFTO2dCQUVULFlBQVk7Z0JBQ1osdUJBQXVCLGtNQUN2Qiw2QkFBNkIsMkZBQzdCLHNCQUFzQiwrYUFDdEIsdUJBQXVCLHFPQUN2QixrQkFBa0IsOEdBTVYsQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDOzs0RkFHL0MsbUJBQW1CO2tCQXZCL0IsU0FBUztpQ0FDTSxJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixTQUFTO3dCQUVULFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7cUJBQ3JCLFlBQ1Msa0JBQWtCLGFBQ2pCLENBQUMsV0FBVyxDQUFDLGNBR1osQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLGlCQUN6QyxpQkFBaUIsQ0FBQyxJQUFJO3dHQUk5QixhQUFhO3NCQURuQixTQUFTO3VCQUFDLDhCQUE4QjtnQkFJaEMsTUFBTTtzQkFBZCxLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTmdiTW9kdWxlLCBOZ2JUb29sdGlwIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLy9Nb2RlbHNcbmltcG9ydCB7IFRvRG9DYXJkQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFByb2dyZXNzRXhwaXJhdGlvbiB9IGZyb20gJy4uLy4uL2NhLXByb2dyZXNzLWV4cGlyYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IENvbW1lbnRDb25maWcgfSBmcm9tICcuLi8uLi9jYS1jb21tZW50L21vZGVscyc7XG5pbXBvcnQge1xuICAgIEZpbGVPcHRpb25Db25maWcsXG4gICAgUmV2aWV3RmlsZUNvbmZpZyxcbiAgICBTbGlkZXIsXG59IGZyb20gJy4uLy4uL2NhLXVwbG9hZC1maWxlcy9tb2RlbHMnO1xuaW1wb3J0IHsgRmlsZXNDYXJvdXNlbENvbmZpZyB9IGZyb20gJy4uLy4uL2NhLXVwbG9hZC1maWxlcy9jb21wb25lbnRzL2NhLXVwbG9hZC1maWxlcy1jYXJvdXNlbC9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgICBGaWxlQ29uZmlnLFxuICAgIEZpbGVFdmVudCxcbn0gZnJvbSAnLi4vLi4vY2EtdXBsb2FkLWZpbGVzL2NvbXBvbmVudHMvY2EtdXBsb2FkLWRyb3B6b25lL21vZGVscyc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuLy9Sb3V0ZXNcbmltcG9ydCB7IFRvZG9TdmdSb3V0ZSB9IGZyb20gJy4uL3V0aWxzJztcblxuLy9Db21wb25lbnRzXG5pbXBvcnQgeyBDYVByb2ZpbGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NhLXByb2ZpbGUtaW1hZ2UvY2EtcHJvZmlsZS1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FQcm9ncmVzc0V4cGlyYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jYS1wcm9ncmVzcy1leHBpcmF0aW9uL2NhLXByb2dyZXNzLWV4cGlyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENhQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NhLWNvbW1lbnQvY2EtY29tbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jYS1hcHAtdG9vbHRpcC12Mi9jYS1hcHAtdG9vbHRpcC12Mi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FVcGxvYWRGaWxlc0Nhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY2EtdXBsb2FkLWZpbGVzL2NvbXBvbmVudHMvY2EtdXBsb2FkLWZpbGVzLWNhcm91c2VsL2NhLXVwbG9hZC1maWxlcy1jYXJvdXNlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FVcGxvYWRGaWxlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NhLXVwbG9hZC1maWxlcy9jYS11cGxvYWQtZmlsZXMuY29tcG9uZW50JztcblxuLy9Db25maWdcbmltcG9ydCB7IERyb3B6b25lQ29uZiB9IGZyb20gJy4uLy4uL2NhLXVwbG9hZC1maWxlcy9jb21wb25lbnRzL2NhLXVwbG9hZC1kcm9wem9uZS9jb25maWcnO1xuXG4vL0FuaW1hdGlvblxuaW1wb3J0IHsgY2FyZENvbXBvbmVudEFuaW1hdGlvbiB9IGZyb20gJy4uLy4uLy4uL2FuaW1hdGlvbnMvY2FyZC1jb21wb25lbnQuYW5pbWF0aW9uJztcblxuLy9TZXJ2aWNlc1xuaW1wb3J0IHsgRmlsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbi8vRW51bXNcbmltcG9ydCB7IERvd25sb2FkTGluayB9IGZyb20gJy4uL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQW5ndWxhclN2Z0ljb25Nb2R1bGUsXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgICAgIE5nYlRvb2x0aXAsXG4gICAgICAgIE5nYk1vZHVsZSxcblxuICAgICAgICAvL0NvbXBvbmVudHNcbiAgICAgICAgQ2FQcm9maWxlSW1hZ2VDb21wb25lbnQsXG4gICAgICAgIENhUHJvZ3Jlc3NFeHBpcmF0aW9uQ29tcG9uZW50LFxuICAgICAgICBDYVVwbG9hZEZpbGVzQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICAgICAgQ2FDb21tZW50Q29tcG9uZW50LFxuICAgIF0sXG4gICAgc2VsZWN0b3I6ICdhcHAtY2EtdG9kby1jYXJkJyxcbiAgICBwcm92aWRlcnM6IFtGaWxlU2VydmljZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLXRvZG8tY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2EtdG9kby1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW2NhcmRDb21wb25lbnRBbmltYXRpb24oJ3Nob3dIaWRlQ2FyZEJvZHknKV0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FUb2RvQ2FyZENvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZChDYVVwbG9hZEZpbGVzQ2Fyb3VzZWxDb21wb25lbnQpXG4gICAgcHVibGljIG1vZGFsQ2Fyb3VzZWwhOiBDYVVwbG9hZEZpbGVzQ2Fyb3VzZWxDb21wb25lbnQ7XG5cbiAgICAvL3Rvb2x0aXBcbiAgICBASW5wdXQoKSBjb25maWchOiBUb0RvQ2FyZENvbmZpZztcblxuICAgIC8vQ29tbWVudFxuICAgIEBJbnB1dCgpIGNvbW1lbnRDb25maWc6IENvbW1lbnRDb25maWdbXSA9IFtdO1xuICAgIEBJbnB1dCgpIG5ld0NvbW1lbnRDb25maWc6IENvbW1lbnRDb25maWdbXSA9IFtdO1xuXG4gICAgLy9Qcm9ncmVzc0V4cGlyYXRpb25cbiAgICBASW5wdXQoKSBjb25maWdQcm9ncmVzczogUHJvZ3Jlc3NFeHBpcmF0aW9uW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIGlzVmlzaWJsZUNyb3BBbmREcm9wITogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGhhc0Nyb3A6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vVXBsb2FkIGZpbGVzXG4gICAgQElucHV0KCkgc2xpZGVyITogU2xpZGVyO1xuICAgIEBJbnB1dCgpIGNhcm91c2VsQ29uZmlnITogRmlsZXNDYXJvdXNlbENvbmZpZztcbiAgICBASW5wdXQoKSByZXZpZXchOiBSZXZpZXdGaWxlQ29uZmlnO1xuICAgIEBJbnB1dCgpIGNvbmZpZ0ZpbGUhOiBGaWxlT3B0aW9uQ29uZmlnO1xuICAgIEBJbnB1dCgpIGZpbGVzITogRmlsZUNvbmZpZ1tdO1xuICAgIEBJbnB1dCgpIGNvbmZpZ0Ryb3B6b25lITogRHJvcHpvbmVDb25mO1xuXG4gICAgQE91dHB1dCgpIG9uRmlsZUV2ZW50OiBFdmVudEVtaXR0ZXI8RmlsZUV2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8RmlsZUV2ZW50PigpO1xuXG4gICAgcHVibGljIHN2Z1RvZG8gPSBUb2RvU3ZnUm91dGU7XG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBsaW5rOiBzdHJpbmcgPSAnJztcbiAgICBwdWJsaWMgaXNMaW5rVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjb21tZW50Q291bnRlcjogbnVtYmVyID0gMDtcbiAgICBwdWJsaWMgZG9jdW1lbnRDb3VudGVyOiBudW1iZXIgPSAwO1xuICAgIHB1YmxpYyBpc0NvbW1lbnRWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzQ29tbWVudHNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzRG9jdW1lbnRWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGlzTmV3Q29tbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBfZmlsZXM6IEZpbGVDb25maWdbXSA9IFtdO1xuICAgIHB1YmxpYyBfY29uZmlnITogRmlsZU9wdGlvbkNvbmZpZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGZpbGVTZXJ2aWNlOiBGaWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYWRkTGluaygpO1xuXG4gICAgICAgIHRoaXMuZ2V0Q29tbWVudENvdW50ZXIoKTtcblxuICAgICAgICB0aGlzLmdldERvY3VtZW50Q291bnRlcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZExpbmsoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5saW5rKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmsgPSB0aGlzLmNvbmZpZy5saW5rO1xuICAgICAgICAgICAgdGhpcy5pc0xpbmtWaXNpYmxlID0gIXRoaXMuaXNMaW5rVmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVDb21tZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NvbW1lbnRzVmlzaWJsZSA9ICF0aGlzLmlzQ29tbWVudHNWaXNpYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVEb2N1bWVudCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0RvY3VtZW50VmlzaWJsZSA9ICF0aGlzLmlzRG9jdW1lbnRWaXNpYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVOZXdDb21tZW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTmV3Q29tbWVudCA9ICF0aGlzLmlzTmV3Q29tbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tbWVudENvdW50ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29tbWVudENvdW50ZXIgPSB0aGlzLmNvbW1lbnRDb25maWcubGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREb2N1bWVudENvdW50ZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRDb3VudGVyID0gdGhpcy5maWxlcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmVBbGxGaWxlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsZXMgJiYgdGhpcy5maWxlcy5sZW5ndGgpXG4gICAgICAgICAgICB0aGlzLmZpbGVzLmZvckVhY2goKGZpbGUpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5kb3dubG9hZEZpbGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbGUudXJsLFxuICAgICAgICAgICAgICAgICAgICBmaWxlLmZpbGVOYW1lID8/IERvd25sb2FkTGluay5ET1dOTE9BRFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIGVsc2UgY29uc29sZS53YXJuKCdObyBmaWxlJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGRvd25sb2FkRmlsZSh1cmw6IHN0cmluZywgZmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVTZXJ2aWNlXG4gICAgICAgICAgICAuZG93bmxvYWRGaWxlKHVybClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChibG9iOiBCbG9iKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRMaW5rLkFOQ0hPUlxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvYmplY3RVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgRG93bmxvYWRMaW5rLkhSRUYsXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RVcmxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIERvd25sb2FkTGluay5ET1dOTE9BRCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNsaWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwob2JqZWN0VXJsKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnJvcikgPT4gY29uc29sZS5lcnJvcignRXJyb3IgZG93bmxvYWRpbmcgZmlsZTonLCBlcnJvcilcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGlkZW50aXR5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRvZG8tY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRvZG8tY29udGVudCBkLWdyaWRcIj5cbiAgICAgICAgPCEtLUhlYWRlci0tPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInRvZG8taGVhZGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgY29uZmlnLnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPCEtLVNWRyBJY29ucy0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN2Zy1jb250YWluZXIgZC1mbGV4XCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tYm94XCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjNDI0MjQyJ1wiXG4gICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgW21haW5DYVRvb2x0aXBdPVwiY29uZmlnLmxpbmsgPyAnSHlwZXJsaW5rJyA6ICdObyBIeXBlcmxpbmsnXCJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTGluaygpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tYWN0aXZlJzogIWlzTGlua1Zpc2libGUgJiYgY29uZmlnLmxpbmssXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbi1oYXMtbGluayBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5saW5rLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24td2l0aG91dC1saW5rJzogIWNvbmZpZy5saW5rLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzdmctaWNvbiBjbGFzcz1cImljb25cIiBbc3JjXT1cInN2Z1RvZG8ud2ViXCI+PC9zdmctaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1ib3hcIlxuICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcEJhY2tncm91bmRdPVwiJyM0MjQyNDInXCJcbiAgICAgICAgICAgICAgICAgICAgbmdiVG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICBbbWFpbkNhVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzLmxlbmd0aCA/ICdBdHRhY2htZW50JyA6ICdObyBBdHRhY2htZW50J1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEb2N1bWVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tYWN0aXZlJzogaXNEb2N1bWVudFZpc2libGUgJiYgZmlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24taGFzLWxpbmsgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbi13aXRob3V0LWxpbmsnOiAhZmlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ3BvaW50ZXItZXZlbnRzJzogZmlsZXMubGVuZ3RoID8gJ2F1dG8nIDogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwic3ZnVG9kby5hdHRhY2htZW50XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImljb24tYm94XCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIicjNDI0MjQyJ1wiXG4gICAgICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgW21haW5DYVRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50Q29uZmlnLmxlbmd0aCA/ICdDb21tZW50JyA6ICdObyBDb21tZW50J1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb21tZW50cygpXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgJ2ljb24tYWN0aXZlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0NvbW1lbnRzVmlzaWJsZSAmJiBjb21tZW50Q29uZmlnLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdpY29uLWhhcy1saW5rIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudENvbmZpZy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaWNvbi13aXRob3V0LWxpbmsnOiAhY29tbWVudENvbmZpZy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIyNiAyNlwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJDb21tZW50Xy1fQ291bnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtbmFtZT1cIkNvbW1lbnQgLSBDb3VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNSAyLjUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cIlBhdGhfMTA1NjNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDEwNTYzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05NjMuOTc0LDUxMC42NzZIOTUwLjU4NGEyLjI3NCwyLjI3NCwwLDAsMC0yLjMwNSwyLjIzN3YxMC41YTIuMjc0LDIuMjc0LDAsMCwwLDIuMzA1LDIuMjM3aC44MmwxLjU3NCwyLjY0NWEuNzkyLjc5MiwwLDAsMCwxLjM1MSwwbDEuNTc0LTIuNjQ1aDguMDdhMi4yNzUsMi4yNzUsMCwwLDAsMi4zMDUtMi4yMzd2LTEwLjVhMi4yNzQsMi4yNzQsMCwwLDAtMi4zMDUtMi4yMzdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTk0OC4yNzkgLTUxMi42NzYpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNhYWFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJyZ2JhKDAsMCwwLDApXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeD1cIjUwJVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeT1cIjUwJVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taW5hbnQtYmFzZWxpbmU9XCJtaWRkbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYW5jaG9yPVwibWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cIl8xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLW5hbWU9XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI2ZmZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplPVwiOVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk9XCJNb250c2VycmF0LUJvbGQsIE1vbnRzZXJyYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0PVwiNjAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHNwYW4gY2xhc3M9XCJudW1iZXItY29tbWVudHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29tbWVudENvdW50ZXIgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tQm9keS0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9kby1ib2R5IGQtZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZXJ5Ym9keS1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhY29uZmlnLmltYWdlUHJvZmlsZXM/Lmxlbmd0aDsgZWxzZSBzaG93UHJvZmlsZXNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFzaWduZWUtZXZlcnlib2R5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImFzaWduZWUtZXZlcnlib2R5LXBcIj5FdmVyeWJvZHk8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd1Byb2ZpbGVzPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhc2lnbmVlLWltYWdlcy1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tQXNpZ21lbnQtLT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZy5hc3NpZ21lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gb2YgY29uZmlnLmFzc2lnbWVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tCeTogaWRlbnRpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhc2lnbmVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnYXNpZ25lZS1saXN0JzogY29uZmlnLmFzc2lnbWVudCB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FzaWduZWUtaXRlbSc6IGNvbmZpZy5hc3NpZ21lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLUltYWdlcy0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlcy1jb250YWluZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXJvd1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHByb2ZpbGUgb2YgY29uZmlnLmltYWdlUHJvZmlsZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrQnk6IGlkZW50aXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jYS1wcm9maWxlLWltYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5keF09XCJwcm9maWxlLmluZHhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRTaG9ydE5hbWVdPVwicHJvZmlsZS50ZXh0U2hvcnROYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdmF0YXJDb2xvcl09XCJwcm9maWxlLmF2YXRhckNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYXBwLWNhLXByb2ZpbGUtaW1hZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgICA8IS0tRGVzY3JpcHRpb24tLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvbi1jb250YWluZXIgZC1mbGV4XCI+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7IGNvbmZpZy5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tTGluay0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xpbmtWaXNpYmxlXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxpbmstY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgW0BzaG93SGlkZUNhcmRCb2R5XT1cIiFpc0xpbmtWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cInRleHQtZGVjb3JhdGlvbjogbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGxpbmsgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwhLS1Qcm9ncmVzcyBleHBpcmF0aW9uLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtZXhwaXJhdGlvblwiPlxuICAgICAgICAgICAgICAgIDxsaWItY2EtcHJvZ3Jlc3MtZXhwaXJhdGlvblxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1Byb2dyZXNzXCJcbiAgICAgICAgICAgICAgICA+PC9saWItY2EtcHJvZ3Jlc3MtZXhwaXJhdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tRG9jdW1lbnRzIGFuZCBDb21tZW50cy0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9kby1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8IS0tTGluZS0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRG9jdW1lbnRWaXNpYmxlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1saW5lXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8IS0tRG9jdW1lbnRzLS0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtaGVhZGVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbW1lbnQtdGl0bGUtY29udGVudCBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC10aXRsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+RG9jdW1lbnRzPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY291bnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgZG9jdW1lbnRDb3VudGVyIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJzdmdUb2RvLnVwbG9hZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzYXZlQWxsRmlsZXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8IS0tIENvbnRhaW5lciBmb3IgY2Fyb3VzZWwgd2l0aCBhbGwgZmlsZXMgLS0+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVwbG9hZC1zZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW0BzaG93SGlkZUNhcmRCb2R5XT1cImlzRG9jdW1lbnRWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY2EtdXBsb2FkLWZpbGVzXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmlsZXNdPVwiZmlsZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NsaWRlcl09XCJzbGlkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Jldmlld109XCJyZXZpZXdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ0ZpbGVdPVwiY29uZmlnRmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2Fyb3VzZWxDb25maWddPVwiY2Fyb3VzZWxDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzVmlzaWJsZUNyb3BBbmREcm9wXT1cImlzVmlzaWJsZUNyb3BBbmREcm9wXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtoYXNDcm9wXT1cImhhc0Nyb3BcIlxuICAgICAgICAgICAgICAgICAgICA+PC9hcHAtY2EtdXBsb2FkLWZpbGVzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwhLS1MaW5lLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb21tZW50c1Zpc2libGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWxpbmVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDwhLS1Db21tZW50cy0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWhlYWRlci1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb21tZW50LXRpdGxlLWNvbnRlbnQgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnQtdGl0bGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNvbW1lbnQ8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBjb21tZW50Q291bnRlciB9fTwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJzdmdUb2RvLnBsdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlTmV3Q29tbWVudCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zdmctaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29tbWVudENvbmZpZzsgdHJhY2tCeTogaWRlbnRpdHlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb21tZW50LWJvZHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW0BzaG93SGlkZUNhcmRCb2R5XT1cImlzQ29tbWVudHNWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNhLWNvbW1lbnQgW2NvbmZpZ109XCJpdGVtXCI+PC9hcHAtY2EtY29tbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwhLS1OZXcgQ29tbWVudC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc05ld0NvbW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbmV3Q29tbWVudENvbmZpZzsgdHJhY2tCeTogaWRlbnRpdHlcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb21tZW50LWJvZHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAc2hvd0hpZGVDYXJkQm9keV09XCJpc0NvbW1lbnRzVmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jYS1jb21tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9hcHAtY2EtY29tbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19