@cqa-lib/cqa-ui 1.0.45 → 1.0.47

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 (35) hide show
  1. package/esm2020/lib/action-menu/action-menu.component.mjs +3 -3
  2. package/esm2020/lib/badge/badge.component.mjs +3 -3
  3. package/esm2020/lib/button/button.component.mjs +3 -3
  4. package/esm2020/lib/column-visibility/column-visibility.component.mjs +3 -3
  5. package/esm2020/lib/dashboards/chart-card/chart-card.component.mjs +3 -3
  6. package/esm2020/lib/dashboards/coverage-module-card/coverage-module-card.component.mjs +3 -3
  7. package/esm2020/lib/dashboards/dashboard-header/dashboard-header.component.mjs +3 -3
  8. package/esm2020/lib/dashboards/failed-test-cases-card/failed-test-cases-card.component.mjs +3 -3
  9. package/esm2020/lib/dashboards/heat-error-map-cell/heat-error-map-cell.component.mjs +3 -3
  10. package/esm2020/lib/dashboards/insight-card/insight-card.component.mjs +3 -3
  11. package/esm2020/lib/dashboards/metrics-card/metrics-block.component.mjs +3 -3
  12. package/esm2020/lib/dashboards/metrics-card/metrics-card.component.mjs +3 -3
  13. package/esm2020/lib/dashboards/progress-text-card/progress-text-card.component.mjs +3 -3
  14. package/esm2020/lib/dashboards/test-distribution-card/test-distribution-card.component.mjs +3 -3
  15. package/esm2020/lib/dialog/dialog.component.mjs +3 -3
  16. package/esm2020/lib/dropdown-button/dropdown-button.component.mjs +3 -3
  17. package/esm2020/lib/dynamic-select/dynamic-select-field.component.mjs +3 -3
  18. package/esm2020/lib/empty-state/empty-state.component.mjs +3 -3
  19. package/esm2020/lib/filters/dynamic-filter/dynamic-filter.component.mjs +3 -3
  20. package/esm2020/lib/other-button/other-button.component.mjs +3 -3
  21. package/esm2020/lib/pagination/pagination.component.mjs +3 -3
  22. package/esm2020/lib/search-bar/search-bar.component.mjs +3 -3
  23. package/esm2020/lib/segment-control/segment-control.component.mjs +3 -3
  24. package/esm2020/lib/selected-filters/selected-filters.component.mjs +3 -3
  25. package/esm2020/lib/table/dynamic-table/dynamic-table.component.mjs +3 -3
  26. package/esm2020/lib/table-action-toolbar/table-action-toolbar.component.mjs +3 -3
  27. package/esm2020/lib/templates/table-template.component.mjs +3 -3
  28. package/esm2020/lib/utils/tw-overlay-container.mjs +15 -15
  29. package/fesm2015/cqa-lib-cqa-ui.mjs +68 -68
  30. package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
  31. package/fesm2020/cqa-lib-cqa-ui.mjs +68 -68
  32. package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
  33. package/lib/utils/tw-overlay-container.d.ts +5 -5
  34. package/package.json +1 -1
  35. package/styles.css +1 -1
@@ -183,10 +183,10 @@ export class InsightCardComponent {
183
183
  }
184
184
  }
185
185
  InsightCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InsightCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
186
- InsightCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: InsightCardComponent, selector: "cqa-insight-card", inputs: { title: "title", description: "description", showAiSuggestionButton: "showAiSuggestionButton", badges: "badges", metadata: "metadata", prerequisiteSection: "prerequisiteSection", testDataSection: "testDataSection", metadataExpanded: "metadataExpanded", isPrerequisiteMissing: "isPrerequisiteMissing", isTestDataMissing: "isTestDataMissing" }, outputs: { metadataToggle: "metadataToggle", sectionToggle: "sectionToggle", sectionActionClick: "sectionActionClick", onApplySuggestionClick: "onApplySuggestionClick", onAttachPrerequisitesClick: "onAttachPrerequisitesClick", onImportTestDataClick: "onImportTestDataClick" }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div class=\"cqa-font-inter cqa-flex cqa-flex-col cqa-gap-4 cqa-px-[21px] cqa-py-3 cqa-border cqa-border-solid cqa-border-[#ECECEC] cqa-rounded-xl cqa-shadow-card\">\n <!-- Section 1: Badges -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-py-[1.5]\" *ngIf=\"visibleBadges.length > 0\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.4866 12.0005L9.15329 2.66714C9.037 2.46194 8.86836 2.29127 8.66457 2.17252C8.46078 2.05378 8.22915 1.99121 7.99329 1.99121C7.75743 1.99121 7.52579 2.05378 7.322 2.17252C7.11822 2.29127 6.94958 2.46194 6.83329 2.66714L1.49995 12.0005C1.38241 12.204 1.32077 12.4351 1.32129 12.6701C1.32181 12.9052 1.38447 13.136 1.50292 13.339C1.62136 13.5421 1.79138 13.7102 1.99575 13.8264C2.20011 13.9425 2.43156 14.0026 2.66662 14.0005H13.3333C13.5672 14.0002 13.797 13.9385 13.9995 13.8213C14.202 13.7042 14.3701 13.5359 14.487 13.3332C14.6038 13.1306 14.6653 12.9007 14.6653 12.6668C14.6652 12.4329 14.6036 12.2031 14.4866 12.0005Z\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 6V8.66667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 11.333H8.00667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <div class=\"cqa-flex cqa-flex-wrap cqa-gap-2\">\n <cqa-badge \n *ngFor=\"let badge of visibleBadges\" \n [label]=\"badge.label\"\n [icon]=\"badge.icon\"\n [variant]=\"badge.variant || 'default'\"\n ></cqa-badge>\n </div>\n </div>\n\n <!-- Section 2: Title & Description -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-3\">\n <h2 class=\"cqa-font-medium cqa-text-lg cqa-leading-[22px] cqa-text-title\">\n {{ title }}\n </h2>\n <p class=\"cqa-text-base cqa-font-normal cqa-text-description\">\n {{ description }}\n </p>\n </div>\n\n <!-- Section 3: Metadata Section (always visible) -->\n <div *ngIf=\"metadata\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n class=\"cqa-bg-surface-default cqa-rounded-[10px] cqa-px-4 cqa-py-3 cqa-border-t cqa-border-solid cqa-border-t-primary-surface\"\n [attr.id]=\"getMetadataDetailsId()\"\n role=\"region\"\n >\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-[25px]\">\n <ng-container *ngFor=\"let item of metadata | keyvalue; let last = last\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-[6px]\">\n <span class=\"cqa-text-xs cqa-font-normal cqa-font-inter cqa-text-metadata-key\">\n {{ item.key }}:\n </span>\n <span \n [ngClass]=\"getMetadataValueClasses(item.key, item.value)\" \n [ngStyle]=\"getMetadataValueStyle(item.key, item.value)\"\n class=\"cqa-font-normal cqa-leading-[18px] cqa-font-inter cqa-text-sm cqa-text-title\">\n {{ getMetadataValue(item.value) }}\n </span>\n </div>\n <div *ngIf=\"!last\" class=\"cqa-h-4 cqa-w-px cqa-bg-gray-200\"></div>\n </ng-container>\n </div>\n </div>\n\n <!-- Section 4: Metadata toggle -->\n <button\n *ngIf=\"metadata && (isPrerequisiteMissing || isTestDataMissing)\"\n type=\"button\"\n class=\"cqa-text-sm cqa-text-primary cqa-inline-flex cqa-font-inter cqa-items-center cqa-gap-[6px]\"\n (click)=\"toggleMetadata()\"\n [attr.aria-expanded]=\"metadataExpanded\"\n [attr.aria-controls]=\"getMetadataDetailsId()\"\n >\n <span>{{ metadataExpanded ? 'Hide details' : 'Show details' }}</span>\n <mat-icon class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\">\n {{ metadataExpanded ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n\n </div>\n\n <!-- Section 5: Sections (toggle visibility) -->\n <ng-container *ngIf=\"visibleSections as sections\">\n <div *ngIf=\"metadataExpanded && sections.length\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let section of sections; trackBy: trackSectionById\"\n class=\"cqa-border-l-4 cqa-border-solid cqa-rounded-[10px] cqa-overflow-hidden\"\n [ngClass]=\"getSectionBorderClass(section)\"\n >\n <div class=\"cqa-p-[10px] cqa-pl-[20px] cqa-flex cqa-flex-col cqa-gap-3\">\n <!-- Section Title with Toggle Button aligned right -->\n <div class=\"cqa-flex cqa-items-start cqa-gap-2 cqa-w-full\">\n <h3\n [ngClass]=\"getSectionTitleClasses(section)\"\n class=\"cqa-grow\"\n [attr.id]=\"getSectionHeaderId(section)\"\n >\n {{ section.title }}\n </h3>\n <button\n type=\"button\"\n class=\"cqa-inline-flex cqa-cursor-pointer cqa-outline-none cqa-bg-transparent cqa-border-none cqa-p-1 cqa-items-center cqa-justify-center cqa-min-w-[24px] cqa-min-h-[24px] cqa-ml-auto\"\n (click)=\"toggleSection(section)\"\n [attr.aria-expanded]=\"section.expanded !== false\"\n [attr.aria-controls]=\"getSectionContentId(section)\"\n [attr.aria-label]=\"section.expanded !== false ? 'Collapse section' : 'Expand section'\"\n >\n <mat-icon\n [ngClass]=\"getSectionIconColor(section)\"\n class=\"cqa-w-4 cqa-h-4 cqa-text-[16px] cqa-leading-[16px]\"\n >\n {{ section.expanded !== false ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n </div>\n\n <!-- Collapsible Content: Reason and Action Button -->\n <div\n *ngIf=\"section.expanded !== false\"\n class=\"cqa-flex cqa-flex-col cqa-gap-[10px]\"\n [attr.id]=\"getSectionContentId(section)\"\n role=\"region\"\n [attr.aria-labelledby]=\"getSectionHeaderId(section)\"\n >\n <!-- Reason -->\n <p class=\"cqa-text-sm cqa-font-normal cqa-leading-[18px] cqa-text-neutral-600\">\n Reason: {{ section.reason }}\n </p>\n \n <!-- Action Button -->\n <div>\n <cqa-button\n variant=\"outlined\"\n (clicked)=\"onSectionAction(section.id)\"\n [customClass]=\"'cqa-py-[9px] cqa-text-[14px] cqa-leading-[17px] cqa-border-slate cqa-text-slate cqa-transition cqa-duration-150 cqa-ease-in-out hover:cqa-border-primary hover:cqa-text-primary hover:cqa-bg-primary-surface'\"\n >\n {{ section.actionButtonLabel }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n \n <cqa-button\n *ngIf=\"showAiSuggestionButton\"\n variant=\"filled\"\n (clicked)=\"onMainAction()\"\n [disabled]=\"isApplying\"\n [customClass]=\"'!cqa-w-full !cqa-text-[14px] !cqa-leading-[20px] !cqa-font-semibold'\"\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n {{ isApplying ? 'Applying suggestion' : 'Apply suggestion' }}\n </cqa-button>\n </div>\n</div>\n \n", components: [{ type: i1.BadgeComponent, selector: "cqa-badge", inputs: ["label", "icon", "iconLibrary", "variant", "size", "backgroundColor", "textColor", "iconBackgroundColor", "iconColor"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.ButtonComponent, selector: "cqa-button", inputs: ["variant", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass"], outputs: ["clicked"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "keyvalue": i4.KeyValuePipe } });
186
+ InsightCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: InsightCardComponent, selector: "cqa-insight-card", inputs: { title: "title", description: "description", showAiSuggestionButton: "showAiSuggestionButton", badges: "badges", metadata: "metadata", prerequisiteSection: "prerequisiteSection", testDataSection: "testDataSection", metadataExpanded: "metadataExpanded", isPrerequisiteMissing: "isPrerequisiteMissing", isTestDataMissing: "isTestDataMissing" }, outputs: { metadataToggle: "metadataToggle", sectionToggle: "sectionToggle", sectionActionClick: "sectionActionClick", onApplySuggestionClick: "onApplySuggestionClick", onAttachPrerequisitesClick: "onAttachPrerequisitesClick", onImportTestDataClick: "onImportTestDataClick" }, ngImport: i0, template: "<div class=\"cqa-ui-root cqa-font-inter cqa-flex cqa-flex-col cqa-gap-4 cqa-px-[21px] cqa-py-3 cqa-border cqa-border-solid cqa-border-[#ECECEC] cqa-rounded-xl cqa-shadow-card\">\n <!-- Section 1: Badges -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-py-[1.5]\" *ngIf=\"visibleBadges.length > 0\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.4866 12.0005L9.15329 2.66714C9.037 2.46194 8.86836 2.29127 8.66457 2.17252C8.46078 2.05378 8.22915 1.99121 7.99329 1.99121C7.75743 1.99121 7.52579 2.05378 7.322 2.17252C7.11822 2.29127 6.94958 2.46194 6.83329 2.66714L1.49995 12.0005C1.38241 12.204 1.32077 12.4351 1.32129 12.6701C1.32181 12.9052 1.38447 13.136 1.50292 13.339C1.62136 13.5421 1.79138 13.7102 1.99575 13.8264C2.20011 13.9425 2.43156 14.0026 2.66662 14.0005H13.3333C13.5672 14.0002 13.797 13.9385 13.9995 13.8213C14.202 13.7042 14.3701 13.5359 14.487 13.3332C14.6038 13.1306 14.6653 12.9007 14.6653 12.6668C14.6652 12.4329 14.6036 12.2031 14.4866 12.0005Z\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 6V8.66667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 11.333H8.00667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <div class=\"cqa-flex cqa-flex-wrap cqa-gap-2\">\n <cqa-badge \n *ngFor=\"let badge of visibleBadges\" \n [label]=\"badge.label\"\n [icon]=\"badge.icon\"\n [variant]=\"badge.variant || 'default'\"\n ></cqa-badge>\n </div>\n </div>\n\n <!-- Section 2: Title & Description -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-3\">\n <h2 class=\"cqa-font-medium cqa-text-lg cqa-leading-[22px] cqa-text-title\">\n {{ title }}\n </h2>\n <p class=\"cqa-text-base cqa-font-normal cqa-text-description\">\n {{ description }}\n </p>\n </div>\n\n <!-- Section 3: Metadata Section (always visible) -->\n <div *ngIf=\"metadata\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n class=\"cqa-bg-surface-default cqa-rounded-[10px] cqa-px-4 cqa-py-3 cqa-border-t cqa-border-solid cqa-border-t-primary-surface\"\n [attr.id]=\"getMetadataDetailsId()\"\n role=\"region\"\n >\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-[25px]\">\n <ng-container *ngFor=\"let item of metadata | keyvalue; let last = last\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-[6px]\">\n <span class=\"cqa-text-xs cqa-font-normal cqa-font-inter cqa-text-metadata-key\">\n {{ item.key }}:\n </span>\n <span \n [ngClass]=\"getMetadataValueClasses(item.key, item.value)\" \n [ngStyle]=\"getMetadataValueStyle(item.key, item.value)\"\n class=\"cqa-font-normal cqa-leading-[18px] cqa-font-inter cqa-text-sm cqa-text-title\">\n {{ getMetadataValue(item.value) }}\n </span>\n </div>\n <div *ngIf=\"!last\" class=\"cqa-h-4 cqa-w-px cqa-bg-gray-200\"></div>\n </ng-container>\n </div>\n </div>\n\n <!-- Section 4: Metadata toggle -->\n <button\n *ngIf=\"metadata && (isPrerequisiteMissing || isTestDataMissing)\"\n type=\"button\"\n class=\"cqa-text-sm cqa-text-primary cqa-inline-flex cqa-font-inter cqa-items-center cqa-gap-[6px]\"\n (click)=\"toggleMetadata()\"\n [attr.aria-expanded]=\"metadataExpanded\"\n [attr.aria-controls]=\"getMetadataDetailsId()\"\n >\n <span>{{ metadataExpanded ? 'Hide details' : 'Show details' }}</span>\n <mat-icon class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\">\n {{ metadataExpanded ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n\n </div>\n\n <!-- Section 5: Sections (toggle visibility) -->\n <ng-container *ngIf=\"visibleSections as sections\">\n <div *ngIf=\"metadataExpanded && sections.length\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let section of sections; trackBy: trackSectionById\"\n class=\"cqa-border-l-4 cqa-border-solid cqa-rounded-[10px] cqa-overflow-hidden\"\n [ngClass]=\"getSectionBorderClass(section)\"\n >\n <div class=\"cqa-p-[10px] cqa-pl-[20px] cqa-flex cqa-flex-col cqa-gap-3\">\n <!-- Section Title with Toggle Button aligned right -->\n <div class=\"cqa-flex cqa-items-start cqa-gap-2 cqa-w-full\">\n <h3\n [ngClass]=\"getSectionTitleClasses(section)\"\n class=\"cqa-grow\"\n [attr.id]=\"getSectionHeaderId(section)\"\n >\n {{ section.title }}\n </h3>\n <button\n type=\"button\"\n class=\"cqa-inline-flex cqa-cursor-pointer cqa-outline-none cqa-bg-transparent cqa-border-none cqa-p-1 cqa-items-center cqa-justify-center cqa-min-w-[24px] cqa-min-h-[24px] cqa-ml-auto\"\n (click)=\"toggleSection(section)\"\n [attr.aria-expanded]=\"section.expanded !== false\"\n [attr.aria-controls]=\"getSectionContentId(section)\"\n [attr.aria-label]=\"section.expanded !== false ? 'Collapse section' : 'Expand section'\"\n >\n <mat-icon\n [ngClass]=\"getSectionIconColor(section)\"\n class=\"cqa-w-4 cqa-h-4 cqa-text-[16px] cqa-leading-[16px]\"\n >\n {{ section.expanded !== false ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n </div>\n\n <!-- Collapsible Content: Reason and Action Button -->\n <div\n *ngIf=\"section.expanded !== false\"\n class=\"cqa-flex cqa-flex-col cqa-gap-[10px]\"\n [attr.id]=\"getSectionContentId(section)\"\n role=\"region\"\n [attr.aria-labelledby]=\"getSectionHeaderId(section)\"\n >\n <!-- Reason -->\n <p class=\"cqa-text-sm cqa-font-normal cqa-leading-[18px] cqa-text-neutral-600\">\n Reason: {{ section.reason }}\n </p>\n \n <!-- Action Button -->\n <div>\n <cqa-button\n variant=\"outlined\"\n (clicked)=\"onSectionAction(section.id)\"\n [customClass]=\"'cqa-py-[9px] cqa-text-[14px] cqa-leading-[17px] cqa-border-slate cqa-text-slate cqa-transition cqa-duration-150 cqa-ease-in-out hover:cqa-border-primary hover:cqa-text-primary hover:cqa-bg-primary-surface'\"\n >\n {{ section.actionButtonLabel }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n \n <cqa-button\n *ngIf=\"showAiSuggestionButton\"\n variant=\"filled\"\n (clicked)=\"onMainAction()\"\n [disabled]=\"isApplying\"\n [customClass]=\"'!cqa-w-full !cqa-text-[14px] !cqa-leading-[20px] !cqa-font-semibold'\"\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n {{ isApplying ? 'Applying suggestion' : 'Apply suggestion' }}\n </cqa-button>\n\n</div>\n \n", components: [{ type: i1.BadgeComponent, selector: "cqa-badge", inputs: ["label", "icon", "iconLibrary", "variant", "size", "backgroundColor", "textColor", "iconBackgroundColor", "iconColor"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.ButtonComponent, selector: "cqa-button", inputs: ["variant", "disabled", "icon", "iconPosition", "fullWidth", "iconColor", "type", "text", "customClass"], outputs: ["clicked"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], pipes: { "keyvalue": i4.KeyValuePipe } });
187
187
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: InsightCardComponent, decorators: [{
188
188
  type: Component,
189
- args: [{ selector: 'cqa-insight-card', template: "<div id=\"cqa-ui-root\">\n <div class=\"cqa-font-inter cqa-flex cqa-flex-col cqa-gap-4 cqa-px-[21px] cqa-py-3 cqa-border cqa-border-solid cqa-border-[#ECECEC] cqa-rounded-xl cqa-shadow-card\">\n <!-- Section 1: Badges -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-py-[1.5]\" *ngIf=\"visibleBadges.length > 0\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.4866 12.0005L9.15329 2.66714C9.037 2.46194 8.86836 2.29127 8.66457 2.17252C8.46078 2.05378 8.22915 1.99121 7.99329 1.99121C7.75743 1.99121 7.52579 2.05378 7.322 2.17252C7.11822 2.29127 6.94958 2.46194 6.83329 2.66714L1.49995 12.0005C1.38241 12.204 1.32077 12.4351 1.32129 12.6701C1.32181 12.9052 1.38447 13.136 1.50292 13.339C1.62136 13.5421 1.79138 13.7102 1.99575 13.8264C2.20011 13.9425 2.43156 14.0026 2.66662 14.0005H13.3333C13.5672 14.0002 13.797 13.9385 13.9995 13.8213C14.202 13.7042 14.3701 13.5359 14.487 13.3332C14.6038 13.1306 14.6653 12.9007 14.6653 12.6668C14.6652 12.4329 14.6036 12.2031 14.4866 12.0005Z\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 6V8.66667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 11.333H8.00667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <div class=\"cqa-flex cqa-flex-wrap cqa-gap-2\">\n <cqa-badge \n *ngFor=\"let badge of visibleBadges\" \n [label]=\"badge.label\"\n [icon]=\"badge.icon\"\n [variant]=\"badge.variant || 'default'\"\n ></cqa-badge>\n </div>\n </div>\n\n <!-- Section 2: Title & Description -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-3\">\n <h2 class=\"cqa-font-medium cqa-text-lg cqa-leading-[22px] cqa-text-title\">\n {{ title }}\n </h2>\n <p class=\"cqa-text-base cqa-font-normal cqa-text-description\">\n {{ description }}\n </p>\n </div>\n\n <!-- Section 3: Metadata Section (always visible) -->\n <div *ngIf=\"metadata\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n class=\"cqa-bg-surface-default cqa-rounded-[10px] cqa-px-4 cqa-py-3 cqa-border-t cqa-border-solid cqa-border-t-primary-surface\"\n [attr.id]=\"getMetadataDetailsId()\"\n role=\"region\"\n >\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-[25px]\">\n <ng-container *ngFor=\"let item of metadata | keyvalue; let last = last\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-[6px]\">\n <span class=\"cqa-text-xs cqa-font-normal cqa-font-inter cqa-text-metadata-key\">\n {{ item.key }}:\n </span>\n <span \n [ngClass]=\"getMetadataValueClasses(item.key, item.value)\" \n [ngStyle]=\"getMetadataValueStyle(item.key, item.value)\"\n class=\"cqa-font-normal cqa-leading-[18px] cqa-font-inter cqa-text-sm cqa-text-title\">\n {{ getMetadataValue(item.value) }}\n </span>\n </div>\n <div *ngIf=\"!last\" class=\"cqa-h-4 cqa-w-px cqa-bg-gray-200\"></div>\n </ng-container>\n </div>\n </div>\n\n <!-- Section 4: Metadata toggle -->\n <button\n *ngIf=\"metadata && (isPrerequisiteMissing || isTestDataMissing)\"\n type=\"button\"\n class=\"cqa-text-sm cqa-text-primary cqa-inline-flex cqa-font-inter cqa-items-center cqa-gap-[6px]\"\n (click)=\"toggleMetadata()\"\n [attr.aria-expanded]=\"metadataExpanded\"\n [attr.aria-controls]=\"getMetadataDetailsId()\"\n >\n <span>{{ metadataExpanded ? 'Hide details' : 'Show details' }}</span>\n <mat-icon class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\">\n {{ metadataExpanded ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n\n </div>\n\n <!-- Section 5: Sections (toggle visibility) -->\n <ng-container *ngIf=\"visibleSections as sections\">\n <div *ngIf=\"metadataExpanded && sections.length\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let section of sections; trackBy: trackSectionById\"\n class=\"cqa-border-l-4 cqa-border-solid cqa-rounded-[10px] cqa-overflow-hidden\"\n [ngClass]=\"getSectionBorderClass(section)\"\n >\n <div class=\"cqa-p-[10px] cqa-pl-[20px] cqa-flex cqa-flex-col cqa-gap-3\">\n <!-- Section Title with Toggle Button aligned right -->\n <div class=\"cqa-flex cqa-items-start cqa-gap-2 cqa-w-full\">\n <h3\n [ngClass]=\"getSectionTitleClasses(section)\"\n class=\"cqa-grow\"\n [attr.id]=\"getSectionHeaderId(section)\"\n >\n {{ section.title }}\n </h3>\n <button\n type=\"button\"\n class=\"cqa-inline-flex cqa-cursor-pointer cqa-outline-none cqa-bg-transparent cqa-border-none cqa-p-1 cqa-items-center cqa-justify-center cqa-min-w-[24px] cqa-min-h-[24px] cqa-ml-auto\"\n (click)=\"toggleSection(section)\"\n [attr.aria-expanded]=\"section.expanded !== false\"\n [attr.aria-controls]=\"getSectionContentId(section)\"\n [attr.aria-label]=\"section.expanded !== false ? 'Collapse section' : 'Expand section'\"\n >\n <mat-icon\n [ngClass]=\"getSectionIconColor(section)\"\n class=\"cqa-w-4 cqa-h-4 cqa-text-[16px] cqa-leading-[16px]\"\n >\n {{ section.expanded !== false ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n </div>\n\n <!-- Collapsible Content: Reason and Action Button -->\n <div\n *ngIf=\"section.expanded !== false\"\n class=\"cqa-flex cqa-flex-col cqa-gap-[10px]\"\n [attr.id]=\"getSectionContentId(section)\"\n role=\"region\"\n [attr.aria-labelledby]=\"getSectionHeaderId(section)\"\n >\n <!-- Reason -->\n <p class=\"cqa-text-sm cqa-font-normal cqa-leading-[18px] cqa-text-neutral-600\">\n Reason: {{ section.reason }}\n </p>\n \n <!-- Action Button -->\n <div>\n <cqa-button\n variant=\"outlined\"\n (clicked)=\"onSectionAction(section.id)\"\n [customClass]=\"'cqa-py-[9px] cqa-text-[14px] cqa-leading-[17px] cqa-border-slate cqa-text-slate cqa-transition cqa-duration-150 cqa-ease-in-out hover:cqa-border-primary hover:cqa-text-primary hover:cqa-bg-primary-surface'\"\n >\n {{ section.actionButtonLabel }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n \n <cqa-button\n *ngIf=\"showAiSuggestionButton\"\n variant=\"filled\"\n (clicked)=\"onMainAction()\"\n [disabled]=\"isApplying\"\n [customClass]=\"'!cqa-w-full !cqa-text-[14px] !cqa-leading-[20px] !cqa-font-semibold'\"\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n {{ isApplying ? 'Applying suggestion' : 'Apply suggestion' }}\n </cqa-button>\n </div>\n</div>\n \n", styles: [] }]
189
+ args: [{ selector: 'cqa-insight-card', template: "<div class=\"cqa-ui-root cqa-font-inter cqa-flex cqa-flex-col cqa-gap-4 cqa-px-[21px] cqa-py-3 cqa-border cqa-border-solid cqa-border-[#ECECEC] cqa-rounded-xl cqa-shadow-card\">\n <!-- Section 1: Badges -->\n <div class=\"cqa-flex cqa-items-center cqa-gap-3 cqa-py-[1.5]\" *ngIf=\"visibleBadges.length > 0\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.4866 12.0005L9.15329 2.66714C9.037 2.46194 8.86836 2.29127 8.66457 2.17252C8.46078 2.05378 8.22915 1.99121 7.99329 1.99121C7.75743 1.99121 7.52579 2.05378 7.322 2.17252C7.11822 2.29127 6.94958 2.46194 6.83329 2.66714L1.49995 12.0005C1.38241 12.204 1.32077 12.4351 1.32129 12.6701C1.32181 12.9052 1.38447 13.136 1.50292 13.339C1.62136 13.5421 1.79138 13.7102 1.99575 13.8264C2.20011 13.9425 2.43156 14.0026 2.66662 14.0005H13.3333C13.5672 14.0002 13.797 13.9385 13.9995 13.8213C14.202 13.7042 14.3701 13.5359 14.487 13.3332C14.6038 13.1306 14.6653 12.9007 14.6653 12.6668C14.6652 12.4329 14.6036 12.2031 14.4866 12.0005Z\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 6V8.66667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 11.333H8.00667\" stroke=\"#E2AC20\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n <div class=\"cqa-flex cqa-flex-wrap cqa-gap-2\">\n <cqa-badge \n *ngFor=\"let badge of visibleBadges\" \n [label]=\"badge.label\"\n [icon]=\"badge.icon\"\n [variant]=\"badge.variant || 'default'\"\n ></cqa-badge>\n </div>\n </div>\n\n <!-- Section 2: Title & Description -->\n <div class=\"cqa-flex cqa-flex-col cqa-gap-3\">\n <h2 class=\"cqa-font-medium cqa-text-lg cqa-leading-[22px] cqa-text-title\">\n {{ title }}\n </h2>\n <p class=\"cqa-text-base cqa-font-normal cqa-text-description\">\n {{ description }}\n </p>\n </div>\n\n <!-- Section 3: Metadata Section (always visible) -->\n <div *ngIf=\"metadata\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n class=\"cqa-bg-surface-default cqa-rounded-[10px] cqa-px-4 cqa-py-3 cqa-border-t cqa-border-solid cqa-border-t-primary-surface\"\n [attr.id]=\"getMetadataDetailsId()\"\n role=\"region\"\n >\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-[25px]\">\n <ng-container *ngFor=\"let item of metadata | keyvalue; let last = last\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-[6px]\">\n <span class=\"cqa-text-xs cqa-font-normal cqa-font-inter cqa-text-metadata-key\">\n {{ item.key }}:\n </span>\n <span \n [ngClass]=\"getMetadataValueClasses(item.key, item.value)\" \n [ngStyle]=\"getMetadataValueStyle(item.key, item.value)\"\n class=\"cqa-font-normal cqa-leading-[18px] cqa-font-inter cqa-text-sm cqa-text-title\">\n {{ getMetadataValue(item.value) }}\n </span>\n </div>\n <div *ngIf=\"!last\" class=\"cqa-h-4 cqa-w-px cqa-bg-gray-200\"></div>\n </ng-container>\n </div>\n </div>\n\n <!-- Section 4: Metadata toggle -->\n <button\n *ngIf=\"metadata && (isPrerequisiteMissing || isTestDataMissing)\"\n type=\"button\"\n class=\"cqa-text-sm cqa-text-primary cqa-inline-flex cqa-font-inter cqa-items-center cqa-gap-[6px]\"\n (click)=\"toggleMetadata()\"\n [attr.aria-expanded]=\"metadataExpanded\"\n [attr.aria-controls]=\"getMetadataDetailsId()\"\n >\n <span>{{ metadataExpanded ? 'Hide details' : 'Show details' }}</span>\n <mat-icon class=\"cqa-w-[14px] cqa-h-[14px] cqa-text-[14px] cqa-leading-[14px]\">\n {{ metadataExpanded ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n\n </div>\n\n <!-- Section 5: Sections (toggle visibility) -->\n <ng-container *ngIf=\"visibleSections as sections\">\n <div *ngIf=\"metadataExpanded && sections.length\" class=\"cqa-flex cqa-flex-col cqa-gap-4\">\n <div\n *ngFor=\"let section of sections; trackBy: trackSectionById\"\n class=\"cqa-border-l-4 cqa-border-solid cqa-rounded-[10px] cqa-overflow-hidden\"\n [ngClass]=\"getSectionBorderClass(section)\"\n >\n <div class=\"cqa-p-[10px] cqa-pl-[20px] cqa-flex cqa-flex-col cqa-gap-3\">\n <!-- Section Title with Toggle Button aligned right -->\n <div class=\"cqa-flex cqa-items-start cqa-gap-2 cqa-w-full\">\n <h3\n [ngClass]=\"getSectionTitleClasses(section)\"\n class=\"cqa-grow\"\n [attr.id]=\"getSectionHeaderId(section)\"\n >\n {{ section.title }}\n </h3>\n <button\n type=\"button\"\n class=\"cqa-inline-flex cqa-cursor-pointer cqa-outline-none cqa-bg-transparent cqa-border-none cqa-p-1 cqa-items-center cqa-justify-center cqa-min-w-[24px] cqa-min-h-[24px] cqa-ml-auto\"\n (click)=\"toggleSection(section)\"\n [attr.aria-expanded]=\"section.expanded !== false\"\n [attr.aria-controls]=\"getSectionContentId(section)\"\n [attr.aria-label]=\"section.expanded !== false ? 'Collapse section' : 'Expand section'\"\n >\n <mat-icon\n [ngClass]=\"getSectionIconColor(section)\"\n class=\"cqa-w-4 cqa-h-4 cqa-text-[16px] cqa-leading-[16px]\"\n >\n {{ section.expanded !== false ? 'expand_less' : 'expand_more' }}\n </mat-icon>\n </button>\n </div>\n\n <!-- Collapsible Content: Reason and Action Button -->\n <div\n *ngIf=\"section.expanded !== false\"\n class=\"cqa-flex cqa-flex-col cqa-gap-[10px]\"\n [attr.id]=\"getSectionContentId(section)\"\n role=\"region\"\n [attr.aria-labelledby]=\"getSectionHeaderId(section)\"\n >\n <!-- Reason -->\n <p class=\"cqa-text-sm cqa-font-normal cqa-leading-[18px] cqa-text-neutral-600\">\n Reason: {{ section.reason }}\n </p>\n \n <!-- Action Button -->\n <div>\n <cqa-button\n variant=\"outlined\"\n (clicked)=\"onSectionAction(section.id)\"\n [customClass]=\"'cqa-py-[9px] cqa-text-[14px] cqa-leading-[17px] cqa-border-slate cqa-text-slate cqa-transition cqa-duration-150 cqa-ease-in-out hover:cqa-border-primary hover:cqa-text-primary hover:cqa-bg-primary-surface'\"\n >\n {{ section.actionButtonLabel }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n \n <cqa-button\n *ngIf=\"showAiSuggestionButton\"\n variant=\"filled\"\n (clicked)=\"onMainAction()\"\n [disabled]=\"isApplying\"\n [customClass]=\"'!cqa-w-full !cqa-text-[14px] !cqa-leading-[20px] !cqa-font-semibold'\"\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.01882 0C9.12979 0.0454767 9.17718 0.15653 9.22261 0.259691C9.24539 0.319799 9.26628 0.380234 9.28657 0.44115C9.29452 0.464493 9.30246 0.487836 9.31065 0.511886C9.41613 0.826009 9.51008 1.1435 9.60457 1.46076C9.62593 1.53238 9.64739 1.60397 9.66885 1.67557C9.7781 2.04007 9.88654 2.4048 9.99438 2.76969C10.0095 2.82093 10.0247 2.87218 10.0398 2.92342C10.0826 3.0679 10.1252 3.21239 10.1677 3.35694C10.2573 3.66239 10.3495 3.96695 10.4476 4.27002C10.4561 4.29653 10.4647 4.32305 10.4735 4.35036C10.7284 5.12999 11.0896 5.82875 11.6818 6.42393C11.6965 6.4394 11.7111 6.45488 11.7262 6.47083C11.979 6.72875 12.3034 6.93541 12.6276 7.10221C12.6441 7.11085 12.6606 7.11948 12.6776 7.12838C13.6317 7.61851 14.779 7.83407 15.8124 8.12101C16.2652 8.24681 16.7166 8.37658 17.1663 8.51206C17.1979 8.52157 17.2296 8.53107 17.2612 8.54055C17.3557 8.5689 17.45 8.59774 17.5442 8.62694C17.5662 8.63358 17.5882 8.64023 17.6108 8.64707C17.7406 8.68812 17.8648 8.73658 17.9713 8.82054C18.0038 8.88837 18.0038 8.88837 17.995 8.95619C17.8913 9.05472 17.7884 9.10092 17.6516 9.14599C17.632 9.15264 17.6124 9.1593 17.5923 9.16615C17.3612 9.24366 17.127 9.31149 16.8925 9.37871C16.8444 9.39261 16.7963 9.40651 16.7482 9.42042C16.4514 9.50603 16.1542 9.5898 15.8566 9.67263C15.4646 9.78175 15.0733 9.89268 14.6823 10.0049C14.6182 10.0232 14.5541 10.0416 14.49 10.0598C14.1534 10.1557 13.8185 10.2551 13.4863 10.3642C13.4587 10.3732 13.4312 10.3822 13.4028 10.3915C12.2902 10.7616 11.4422 11.4522 10.9114 12.462C10.6253 13.0295 10.4565 13.6432 10.2843 14.2489C10.2377 14.4124 10.1882 14.5749 10.1381 14.7374C10.0988 14.8652 10.0604 14.9933 10.023 15.1216C10.0185 15.1369 10.0141 15.1522 10.0095 15.1679C9.98788 15.2419 9.96638 15.3159 9.94503 15.3899C9.89039 15.5776 9.83156 15.7637 9.77111 15.9498C9.66383 16.2804 9.5662 16.6135 9.46917 16.947C9.32288 17.4491 9.32288 17.4491 9.23993 17.6905C9.23443 17.7067 9.22893 17.7229 9.22326 17.7396C9.19298 17.8256 9.16183 17.9047 9.10453 17.9774C9.01734 17.9958 9.01734 17.9958 8.93901 18C8.84946 17.8752 8.79016 17.7542 8.74265 17.6102C8.73574 17.5897 8.72882 17.5693 8.7217 17.5483C8.63368 17.285 8.55502 17.0189 8.47634 16.7529C8.45832 16.6921 8.44022 16.6313 8.42211 16.5705C8.2872 16.1173 8.15451 15.6635 8.02202 15.2096C7.47014 12.9645 7.47014 12.9645 6.078 11.1493C6.05569 11.1319 6.03338 11.1145 6.01039 11.0966C5.09826 10.398 3.89667 10.1394 2.7963 9.83627C2.52415 9.76124 2.2521 9.68587 1.98006 9.61046C1.95628 9.60386 1.95628 9.60386 1.93201 9.59714C1.53962 9.48834 1.14735 9.37925 0.756448 9.26566C0.739911 9.26089 0.723375 9.25612 0.706338 9.25121C0.105798 9.07767 0.105798 9.07767 0.00129307 8.95619C-0.00166252 8.90108 -0.00166252 8.90108 0.0249378 8.84315C0.134167 8.7408 0.240153 8.69696 0.38432 8.65238C0.405194 8.64567 0.426068 8.63897 0.447574 8.63206C0.511506 8.61164 0.575577 8.59169 0.639702 8.57183C0.658001 8.56609 0.676301 8.56035 0.695155 8.55443C0.82457 8.51385 0.95445 8.47479 1.08452 8.43618C1.11648 8.42665 1.11648 8.42665 1.14909 8.41693C1.70454 8.25174 2.26361 8.09801 2.82252 7.94392C3.23899 7.82909 3.65476 7.71236 4.06921 7.59097C4.08825 7.58542 4.1073 7.57987 4.12692 7.57415C5.087 7.29393 6.02557 6.89632 6.64547 6.1074C6.65475 6.09569 6.66403 6.08399 6.6736 6.07194C7.36395 5.1963 7.63315 4.13145 7.93391 3.09241C8.03285 2.75069 8.13298 2.40929 8.23345 2.06798C8.26127 1.97347 8.28906 1.87894 8.31673 1.78439C8.42788 1.40458 8.5407 1.02528 8.66 0.647727C8.67116 0.612372 8.68227 0.577001 8.69333 0.541614C8.86035 0.00797522 8.86035 0.00797522 9.01882 0Z\" fill=\"#FBFCFF\"/><path d=\"M14.4719 1.11069C14.5805 1.22817 14.6022 1.36624 14.636 1.51625C14.7487 1.98751 14.8786 2.42084 15.3293 2.6946C15.6074 2.84167 15.9389 2.90859 16.247 2.9718C16.3771 2.99902 16.4869 3.03515 16.5985 3.1074C16.6236 3.14555 16.6236 3.14555 16.6221 3.21197C16.5963 3.29273 16.5736 3.31878 16.5054 3.37165C16.4308 3.39549 16.4308 3.39549 16.3413 3.41404C16.3075 3.42147 16.2736 3.42898 16.2398 3.43656C16.2217 3.44058 16.2036 3.4446 16.1849 3.44874C15.6339 3.57062 15.6339 3.57062 15.1576 3.84645C15.1421 3.85837 15.1267 3.87029 15.1107 3.88257C14.7703 4.16959 14.6983 4.64703 14.5958 5.04699C14.59 5.06896 14.5841 5.09092 14.578 5.11355C14.573 5.133 14.5679 5.15244 14.5627 5.17248C14.5405 5.23185 14.5176 5.27057 14.4719 5.31607C14.3447 5.33152 14.3447 5.33152 14.2828 5.31607C14.1843 5.24309 14.1623 5.15997 14.1366 5.04828C14.1322 5.03099 14.1279 5.01369 14.1235 4.99587C14.1098 4.94064 14.0965 4.88531 14.0833 4.82996C13.9796 4.39891 13.8625 3.976 13.449 3.72333C13.1258 3.55101 12.7329 3.46951 12.3717 3.4037C12.2727 3.38399 12.216 3.3592 12.1547 3.28121C12.1414 3.20208 12.1414 3.20208 12.1547 3.12294C12.2489 3.02971 12.348 3.00696 12.4754 2.97881C12.5156 2.9693 12.5557 2.95973 12.5958 2.9501C12.6165 2.94516 12.6372 2.94022 12.6586 2.93512C12.7642 2.90911 12.8689 2.87995 12.9734 2.85021C12.9924 2.84494 13.0114 2.83967 13.031 2.83424C13.2436 2.77346 13.4271 2.69571 13.5971 2.5577C13.6129 2.54523 13.6288 2.53276 13.6451 2.5199C13.9096 2.29228 13.9995 1.95032 14.081 1.63124C14.0873 1.60702 14.0935 1.5828 14.0999 1.55784C14.1123 1.50918 14.1244 1.46046 14.1363 1.4117C14.1449 1.37776 14.1449 1.37776 14.1535 1.34315C14.1585 1.32288 14.1635 1.30261 14.1686 1.28172C14.1904 1.21719 14.219 1.16652 14.2591 1.11069C14.3362 1.07385 14.3903 1.0905 14.4719 1.11069Z\" fill=\"#FBFCFF\"/><path d=\"M3.59089 12.4942C3.61902 12.4944 3.61902 12.4944 3.64772 12.4946C3.84954 12.5004 3.98609 12.5623 4.13472 12.692C4.30767 12.8707 4.38753 13.0722 4.38299 13.313C4.36357 13.5082 4.24316 13.6787 4.09547 13.8107C3.92163 13.9448 3.74626 13.9892 3.52411 13.983C3.33681 13.9621 3.1606 13.877 3.02785 13.749C2.86276 13.5336 2.8145 13.3361 2.83869 13.0707C2.88867 12.8618 3.03274 12.6923 3.21701 12.5733C3.34502 12.5113 3.44798 12.493 3.59089 12.4942Z\" fill=\"#FBFCFF\"/></svg>\n {{ isApplying ? 'Applying suggestion' : 'Apply suggestion' }}\n </cqa-button>\n\n</div>\n \n", styles: [] }]
190
190
  }], propDecorators: { title: [{
191
191
  type: Input
192
192
  }], description: [{
@@ -220,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
220
220
  }], onImportTestDataClick: [{
221
221
  type: Output
222
222
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zaWdodC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9pbnNpZ2h0LWNhcmQvaW5zaWdodC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9pbnNpZ2h0LWNhcmQvaW5zaWdodC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixJQUFJLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQXdCbEcsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1tQixzQkFBaUIsR0FBRyw4QkFBOEIsQ0FBQztRQUNuRCwwQkFBcUIsR0FBRyw0QkFBNEIsQ0FBQztRQUNyRCwyQkFBc0IsR0FBRywwQkFBMEIsQ0FBQztRQUU1RCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ2xDLDhDQUE4QztRQUNyQywyQkFBc0IsR0FBWSxJQUFJLENBQUM7UUFDeEMsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFXNUIscUJBQWdCLEdBQVksSUFBSSxDQUFDO1FBQ2pDLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUN2QyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFNUMsb0NBQW9DO1FBQzVCLHlCQUFvQixHQUF5QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRS9ELGdDQUFnQztRQUNoQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRWxCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM3QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFxQyxDQUFDO1FBQ3RFLHVCQUFrQixHQUFHLElB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QkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0TWV0YWRhdGFWYWx1ZVN0eWxlIGFzIGdldE1ldGFkYXRhQ29sb3JTdHlsZSB9IGZyb20gJy4uLy4uL3V0aWxzL21ldGFkYXRhLWNvbG9ycy51dGlsJztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcblxuLy8gVXNlIEJhZGdlQ29tcG9uZW50IGlucHV0cyBkaXJlY3RseSBpbnN0ZWFkIG9mIGEgc2VwYXJhdGUgaW50ZXJmYWNlXG5leHBvcnQgdHlwZSBJbnNpZ2h0QmFkZ2UgPSBQaWNrPEJhZGdlQ29tcG9uZW50LCAnbGFiZWwnIHwgJ2ljb24nIHwgJ3ZhcmlhbnQnPjtcblxuZXhwb3J0IGludGVyZmFjZSBJbnNpZ2h0TWV0YWRhdGEge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmc7IGhpZ2hsaWdodD86IGJvb2xlYW4gfTtcbn1cblxuaW50ZXJmYWNlIEludGVybmFsSW5zaWdodFNlY3Rpb24ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB2YXJpYW50OiAnd2FybmluZycgfCAnZXJyb3InIHwgJ2RlZmF1bHQnO1xuICByZWFzb246IHN0cmluZztcbiAgYWN0aW9uQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtaW5zaWdodC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luc2lnaHQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgSW5zaWdodENhcmRDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IG1ldGFkYXRhRGV0YWlsc0lkID0gJ2NxYS1pbnNpZ2h0LW1ldGFkYXRhLWRldGFpbHMnO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlY3Rpb25IZWFkZXJJZFByZWZpeCA9ICdjcWEtaW5zaWdodC1zZWN0aW9uLWhlYWRlcic7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjdGlvbkNvbnRlbnRJZFByZWZpeCA9ICdjcWEtaW5zaWdodC1zZWN0aW9uLWJvZHknO1xuXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZyA9ICcnO1xuICAvKiogU2hvdy9oaWRlIHRoZSBBSSBzdWdnZXN0aW9uIG1haW4gYnV0dG9uICovXG4gIEBJbnB1dCgpIHNob3dBaVN1Z2dlc3Rpb25CdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIF9iYWRnZXM6IEluc2lnaHRCYWRnZVtdID0gW107XG4gIEBJbnB1dCgpXG4gIHNldCBiYWRnZXModmFsdWU6IEluc2lnaHRCYWRnZVtdKSB7XG4gICAgdGhpcy5fYmFkZ2VzID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGJhZGdlcygpOiBJbnNpZ2h0QmFkZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2JhZGdlcztcbiAgfVxuICBASW5wdXQoKSBtZXRhZGF0YT86IEluc2lnaHRNZXRhZGF0YTtcbiAgQElucHV0KCkgcHJlcmVxdWlzaXRlU2VjdGlvbj86IHN0cmluZztcbiAgQElucHV0KCkgdGVzdERhdGFTZWN0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBtZXRhZGF0YUV4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaXNQcmVyZXF1aXNpdGVNaXNzaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzVGVzdERhdGFNaXNzaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gVHJhY2sgZXhwYW5kZWQgc3RhdGUgZm9yIHNlY3Rpb25zXG4gIHByaXZhdGUgc2VjdGlvbkV4cGFuZGVkU3RhdGU6IE1hcDxzdHJpbmcsIGJvb2xlYW4+ID0gbmV3IE1hcCgpO1xuICBcbiAgLy8gTG9hZGluZyBzdGF0ZSBmb3IgbWFpbiBhY3Rpb25cbiAgaXNBcHBseWluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBtZXRhZGF0YVRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHNlY3Rpb25Ub2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaWQ6IHN0cmluZzsgZXhwYW5kZWQ6IGJvb2xlYW4gfT4oKTtcbiAgQE91dHB1dCgpIHNlY3Rpb25BY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgb25BcHBseVN1Z2dlc3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIG9uQXR0YWNoUHJlcmVxdWlzaXRlc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgb25JbXBvcnRUZXN0RGF0YUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHRvZ2dsZU1ldGFkYXRhKCk6IHZvaWQge1xuICAgIHRoaXMubWV0YWRhdGFFeHBhbmRlZCA9ICF0aGlzLm1ldGFkYXRhRXhwYW5kZWQ7XG4gICAgdGhpcy5tZXRhZGF0YVRvZ2dsZS5lbWl0KHRoaXMubWV0YWRhdGFFeHBhbmRlZCk7XG4gIH1cblxuICB0b2dnbGVTZWN0aW9uKHNlY3Rpb246IEludGVybmFsSW5zaWdodFNlY3Rpb24pOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLmdldFNlY3Rpb25FeHBhbmRlZFN0YXRlKHNlY3Rpb24uaWQpO1xuICAgIGNvbnN0IG5ld1N0YXRlID0gIWN1cnJlbnRTdGF0ZTtcbiAgICB0aGlzLnNlY3Rpb25FeHBhbmRlZFN0YXRlLnNldChzZWN0aW9uLmlkLCBuZXdTdGF0ZSk7XG4gICAgc2VjdGlvbi5leHBhbmRlZCA9IG5ld1N0YXRlO1xuICAgIHRoaXMuc2VjdGlvblRvZ2dsZS5lbWl0KHsgaWQ6IHNlY3Rpb24uaWQsIGV4cGFuZGVkOiBuZXdTdGF0ZSB9KTtcbiAgfVxuXG4gIG9uU2VjdGlvbkFjdGlvbihzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VjdGlvbkFjdGlvbkNsaWNrLmVtaXQoc2VjdGlvbklkKTtcbiAgICBcbiAgICAvLyBFbWl0IHNwZWNpZmljIGV2ZW50cyBmb3Iga25vd24gYWN0aW9uc1xuICAgIGlmIChzZWN0aW9uSWQgPT09ICdwcmVyZXF1aXNpdGUnKSB7XG4gICAgICB0aGlzLm9uQXR0YWNoUHJlcmVxdWlzaXRlc0NsaWNrLmVtaXQoKTtcbiAgICB9IGVsc2UgaWYgKHNlY3Rpb25JZCA9PT0gJ3Rlc3QtZGF0YScpIHtcbiAgICAgIHRoaXMub25JbXBvcnRUZXN0RGF0YUNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmlzaWJsZUJhZGdlcygpOiBJbnNpZ2h0QmFkZ2VbXSB7XG4gICAgY29uc3QgdmlzaWJsZTogSW5zaWdodEJhZGdlW10gPSBbXTtcbiAgICBpZiAodGhpcy5pc1ByZXJlcXVpc2l0ZU1pc3NpbmcpIHtcbiAgICAgIHZpc2libGUucHVzaCh7IGxhYmVsOiAnUHJlcmVxdWlzaXRlIE1pc3NpbmcnLCB2YXJpYW50OiAnd2FybmluZycgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzVGVzdERhdGFNaXNzaW5nKSB7XG4gICAgICB2aXNpYmxlLnB1c2goeyBsYWJlbDogJ1Rlc3QgRGF0YSBNaXNzaW5nJywgdmFyaWFudDogJ2Vycm9yJyB9KTtcbiAgICB9XG4gICAgLy8gQWxzbyBpbmNsdWRlIGFueSBjdXN0b20gYmFkZ2VzXG4gICAgaWYgKHRoaXMuYmFkZ2VzKSB7XG4gICAgICB2aXNpYmxlLnB1c2goLi4udGhpcy5iYWRnZXMpO1xuICAgIH1cbiAgICByZXR1cm4gdmlzaWJsZTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlU2VjdGlvbnMoKTogSW50ZXJuYWxJbnNpZ2h0U2VjdGlvbltdIHtcbiAgICBjb25zdCB2aXNpYmxlOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uW10gPSBbXTtcblxuICAgIGlmICh0aGlzLmlzUHJlcmVxdWlzaXRlTWlzc2luZykge1xuICAgICAgdmlzaWJsZS5wdXNoKFxuICAgICAgICB0aGlzLmNyZWF0ZVNlY3Rpb24oe1xuICAgICAgICAgIGlkOiAncHJlcmVxdWlzaXRlJyxcbiAgICAgICAgICB0aXRsZTogJ1ByZXJlcXVpc2l0ZSBNaXNzaW5nJyxcbiAgICAgICAgICB2YXJpYW50OiAnd2FybmluZycsXG4gICAgICAgICAgcmVhc29uOiB0aGlzLnByZXJlcXVpc2l0ZVNlY3Rpb24gfHwgJ1ByZXJlcXVpc2l0ZSBkYXRhIGlzIG1pc3NpbmcuJyxcbiAgICAgICAgICBhY3Rpb25CdXR0b25MYWJlbDogJ0F0dGFjaCBQcmVyZXF1aXNpdGVzJyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNUZXN0RGF0YU1pc3NpbmcpIHtcbiAgICAgIHZpc2libGUucHVzaChcbiAgICAgICAgdGhpcy5jcmVhdGVTZWN0aW9uKHtcbiAgICAgICAgICBpZDogJ3Rlc3QtZGF0YScsXG4gICAgICAgICAgdGl0bGU6ICdUZXN0IERhdGEgTWlzc2luZycsXG4gICAgICAgICAgdmFyaWFudDogJ2Vycm9yJyxcbiAgICAgICAgICByZWFzb246IHRoaXMudGVzdERhdGFTZWN0aW9uIHx8ICdUZXN0IGRhdGEgaXMgbWlzc2luZy4nLFxuICAgICAgICAgIGFjdGlvbkJ1dHRvbkxhYmVsOiAnSW1wb3J0IFRlc3QgRGF0YScsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB2aXNpYmxlO1xuICB9XG5cbiAgYXN5bmMgb25NYWluQWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmlzQXBwbHlpbmcpIHtcbiAgICAgIHJldHVybjsgLy8gUHJldmVudCBtdWx0aXBsZSBjbGlja3NcbiAgICB9XG4gICAgXG4gICAgdGhpcy5pc0FwcGx5aW5nID0gdHJ1ZTtcbiAgICBcbiAgICB0cnkge1xuICAgICAgdGhpcy5vbkFwcGx5U3VnZ2VzdGlvbkNsaWNrLmVtaXQoKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgLy8gUmVzZXQgbG9hZGluZyBzdGF0ZSBhZnRlciBhY3Rpb24gY29tcGxldGVzXG4gICAgICAvLyBJZiB5b3UgbmVlZCB0byBrZWVwIHRoZSBsb2FkaW5nIHN0YXRlIGxvbmdlciwgY2FsbCByZXNldEFwcGx5aW5nU3RhdGUoKSBtYW51YWxseVxuICAgICAgLy8gYWZ0ZXIgeW91ciBhc3luYyBvcGVyYXRpb24gY29tcGxldGVzXG4gICAgICB0aGlzLmlzQXBwbHlpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBNZXRob2QgdG8gcmVzZXQgbG9hZGluZyBzdGF0ZSAoY2FuIGJlIGNhbGxlZCBleHRlcm5hbGx5IGlmIG5lZWRlZClcbiAgcmVzZXRBcHBseWluZ1N0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNBcHBseWluZyA9IGZhbHNlO1xuICB9XG5cbiAgLy8gUmVtb3ZlZCBnZXRCYWRnZUNsYXNzZXMgLSBub3cgdXNpbmcgQmFkZ2VDb21wb25lbnRcblxuICB0cmFja1NlY3Rpb25CeUlkKF9pbmRleDogbnVtYmVyLCBzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc2VjdGlvbi5pZDtcbiAgfVxuXG4gIGdldFNlY3Rpb25Cb3JkZXJDbGFzcyhzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHNlY3Rpb24udmFyaWFudCkge1xuICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgIHJldHVybiAnY3FhLWJvcmRlci1sLTQgY3FhLWJvcmRlci1sLXllbGxvdy01MDAnO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4gJ2NxYS1ib3JkZXItbC00IGNxYS1ib3JkZXItbC1yZWQtNTAwJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLWJvcmRlci1sLTQgY3FhLWJvcmRlci1sLWdyYXktNTAwJztcbiAgICB9XG4gIH1cblxuICBnZXRNZXRhZGF0YVZhbHVlQ2xhc3NlcyhrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgaGlnaGxpZ2h0PzogYm9vbGVhbiB9KTogc3RyaW5nIHtcbiAgICAvLyBCYXNlIGNsYXNzZXMgZm9yIGFsbCB2YWx1ZXMgKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA0MDApXG4gICAgcmV0dXJuICdjcWEtZm9udC1ub3JtYWwgY3FhLWxlYWRpbmctWzE4cHhdIGNxYS10cmFja2luZy1ub3JtYWwnO1xuICB9XG5cbiAgZ2V0TWV0YWRhdGFWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyBoaWdobGlnaHQ/OiBib29sZWFuIH0pOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZS52YWx1ZTtcbiAgfVxuXG4gIGdldE1ldGFkYXRhVmFsdWVTdHlsZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgaGlnaGxpZ2h0PzogYm9vbGVhbiB9KTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgLy8gVXNlIHRoZSBzaGFyZWQgdXRpbGl0eSBmdW5jdGlvbiBmb3IgY29uc2lzdGVudCBjb2xvcnNcbiAgICByZXR1cm4gZ2V0TWV0YWRhdGFDb2xvclN0eWxlKGtleSwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0U2VjdGlvblRpdGxlQ2xhc3NlcyhzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9IFsnY3FhLXRleHQtc20nLCAnY3FhLWxlYWRpbmctWzE3cHhdJywgJ2NxYS1mb250LXNlbWlib2xkJ107XG4gICAgXG4gICAgc3dpdGNoIChzZWN0aW9uLnZhcmlhbnQpIHtcbiAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLXRleHQtWyM3ODM1MEZdJ10uam9pbignICcpO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLXRleHQtWyM4ODEzMzddJ10uam9pbignICcpO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLXRleHQtaW5rJ10uam9pbignICcpO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlY3Rpb25JY29uQ29sb3Ioc2VjdGlvbjogSW50ZXJuYWxJbnNpZ2h0U2VjdGlvbik6IHN0cmluZyB7XG4gICAgc3dpdGNoIChzZWN0aW9uLnZhcmlhbnQpIHtcbiAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LVsjNzgzNTBGXSc7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtWyM4ODEzMzddJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtZ3JheS00MDAnO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlY3Rpb25IZWFkZXJJZChzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zZWN0aW9uSGVhZGVySWRQcmVmaXh9LSR7c2VjdGlvbi5pZH1gO1xuICB9XG5cbiAgZ2V0U2VjdGlvbkNvbnRlbnRJZChzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zZWN0aW9uQ29udGVudElkUHJlZml4fS0ke3NlY3Rpb24uaWR9YDtcbiAgfVxuXG4gIGdldE1ldGFkYXRhRGV0YWlsc0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubWV0YWRhdGFEZXRhaWxzSWQ7XG4gIH1cblxuICBwcml2YXRlIGdldFNlY3Rpb25FeHBhbmRlZFN0YXRlKHNlY3Rpb25JZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbkV4cGFuZGVkU3RhdGUuaGFzKHNlY3Rpb25JZClcbiAgICAgID8gdGhpcy5zZWN0aW9uRXhwYW5kZWRTdGF0ZS5nZXQoc2VjdGlvbklkKSFcbiAgICAgIDogdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU2VjdGlvbihjb25maWc6IE9taXQ8SW50ZXJuYWxJbnNpZ2h0U2VjdGlvbiwgJ2V4cGFuZGVkJz4pOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uIHtcbiAgICBjb25zdCBleHBhbmRlZCA9IHRoaXMuZ2V0U2VjdGlvbkV4cGFuZGVkU3RhdGUoY29uZmlnLmlkKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgZXhwYW5kZWQsXG4gICAgfTtcbiAgfVxufVxuXG5cbiIsIjxkaXYgaWQ9XCJjcWEtdWktcm9vdFwiPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZvbnQtaW50ZXIgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtNCBjcWEtcHgtWzIxcHhdIGNxYS1weS0zIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRUNFQ0VDXSBjcWEtcm91bmRlZC14bCBjcWEtc2hhZG93LWNhcmRcIj5cbiAgICA8IS0tIFNlY3Rpb24gMTogQmFkZ2VzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMyBjcWEtcHktWzEuNV1cIiAqbmdJZj1cInZpc2libGVCYWRnZXMubGVuZ3RoID4gMFwiPlxuICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xNC40ODY2IDEyLjAwMDVMOS4xNTMyOSAyLjY2NzE0QzkuMDM3IDIuNDYxOTQgOC44NjgzNiAyLjI5MTI3IDguNjY0NTcgMi4xNzI1MkM4LjQ2MDc4IDIuMDUzNzggOC4yMjkxNSAxLjk5MTIxIDcuOTkzMjkgMS45OTEyMUM3Ljc1NzQzIDEuOTkxMjEgNy41MjU3OSAyLjA1Mzc4IDcuMzIyIDIuMTcyNTJDNy4xMTgyMiAyLjI5MTI3IDYuOTQ5NTggMi40NjE5NCA2LjgzMzI5IDIuNjY3MTRMMS40OTk5NSAxMi4wMDA1QzEuMzgyNDEgMTIuMjA0IDEuMzIwNzcgMTIuNDM1MSAxLjMyMTI5IDEyLjY3MDFDMS4zMjE4MSAxMi45MDUyIDEuMzg0NDcgMTMuMTM2IDEuNTAyOTIgMTMuMzM5QzEuNjIxMzYgMTMuNTQyMSAxLjc5MTM4IDEzLjcxMDIgMS45OTU3NSAxMy44MjY0QzIuMjAwMTEgMTMuOTQyNSAyLjQzMTU2IDE0LjAwMjYgMi42NjY2MiAxNC4wMDA1SDEzLjMzMzNDMTMuNTY3MiAxNC4wMDAyIDEzLjc5NyAxMy45Mzg1IDEzLjk5OTUgMTMuODIxM0MxNC4yMDIgMTMuNzA0MiAxNC4zNzAxIDEzLjUzNTkgMTQuNDg3IDEzLjMzMzJDMTQuNjAzOCAxMy4xMzA2IDE0LjY2NTMgMTIuOTAwNyAxNC42NjUzIDEyLjY2NjhDMTQuNjY1MiAxMi40MzI5IDE0LjYwMzYgMTIuMjAzMSAxNC40ODY2IDEyLjAwMDVaXCIgc3Ryb2tlPVwiI0UyQUMyMFwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk04IDZWOC42NjY2N1wiIHN0cm9rZT1cIiNFMkFDMjBcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNOCAxMS4zMzNIOC4wMDY2N1wiIHN0cm9rZT1cIiNFMkFDMjBcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LXdyYXAgY3FhLWdhcC0yXCI+XG4gICAgICAgIDxjcWEtYmFkZ2UgXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGJhZGdlIG9mIHZpc2libGVCYWRnZXNcIiBcbiAgICAgICAgICBbbGFiZWxdPVwiYmFkZ2UubGFiZWxcIlxuICAgICAgICAgIFtpY29uXT1cImJhZGdlLmljb25cIlxuICAgICAgICAgIFt2YXJpYW50XT1cImJhZGdlLnZhcmlhbnQgfHwgJ2RlZmF1bHQnXCJcbiAgICAgICAgPjwvY3FhLWJhZGdlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFNlY3Rpb24gMjogVGl0bGUgJiBEZXNjcmlwdGlvbiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtM1wiPlxuICAgICAgPGgyIGNsYXNzPVwiY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LWxnIGNxYS1sZWFkaW5nLVsyMnB4XSBjcWEtdGV4dC10aXRsZVwiPlxuICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgPC9oMj5cbiAgICAgIDxwIGNsYXNzPVwiY3FhLXRleHQtYmFzZSBjcWEtZm9udC1ub3JtYWwgY3FhLXRleHQtZGVzY3JpcHRpb25cIj5cbiAgICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cblxuICA8IS0tIFNlY3Rpb24gMzogTWV0YWRhdGEgU2VjdGlvbiAoYWx3YXlzIHZpc2libGUpIC0tPlxuICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGFcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTRcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImNxYS1iZy1zdXJmYWNlLWRlZmF1bHQgY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1weC00IGNxYS1weS0zIGNxYS1ib3JkZXItdCBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItdC1wcmltYXJ5LXN1cmZhY2VcIlxuICAgICAgW2F0dHIuaWRdPVwiZ2V0TWV0YWRhdGFEZXRhaWxzSWQoKVwiXG4gICAgICByb2xlPVwicmVnaW9uXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtd3JhcCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtWzI1cHhdXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWV0YWRhdGEgfCBrZXl2YWx1ZTsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC1bNnB4XVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC14cyBjcWEtZm9udC1ub3JtYWwgY3FhLWZvbnQtaW50ZXIgY3FhLXRleHQtbWV0YWRhdGEta2V5XCI+XG4gICAgICAgICAgICAgIHt7IGl0ZW0ua2V5IH19OlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldE1ldGFkYXRhVmFsdWVDbGFzc2VzKGl0ZW0ua2V5LCBpdGVtLnZhbHVlKVwiIFxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJnZXRNZXRhZGF0YVZhbHVlU3R5bGUoaXRlbS5rZXksIGl0ZW0udmFsdWUpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjcWEtZm9udC1ub3JtYWwgY3FhLWxlYWRpbmctWzE4cHhdIGNxYS1mb250LWludGVyIGNxYS10ZXh0LXNtIGNxYS10ZXh0LXRpdGxlXCI+XG4gICAgICAgICAgICAgIHt7IGdldE1ldGFkYXRhVmFsdWUoaXRlbS52YWx1ZSkgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWxhc3RcIiBjbGFzcz1cImNxYS1oLTQgY3FhLXctcHggY3FhLWJnLWdyYXktMjAwXCI+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFNlY3Rpb24gNDogTWV0YWRhdGEgdG9nZ2xlIC0tPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwibWV0YWRhdGEgJiYgKGlzUHJlcmVxdWlzaXRlTWlzc2luZyB8fCBpc1Rlc3REYXRhTWlzc2luZylcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS10ZXh0LXByaW1hcnkgY3FhLWlubGluZS1mbGV4IGNxYS1mb250LWludGVyIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC1bNnB4XVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlTWV0YWRhdGEoKVwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIm1ldGFkYXRhRXhwYW5kZWRcIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJnZXRNZXRhZGF0YURldGFpbHNJZCgpXCJcbiAgICA+XG4gICAgICA8c3Bhbj57eyBtZXRhZGF0YUV4cGFuZGVkID8gJ0hpZGUgZGV0YWlscycgOiAnU2hvdyBkZXRhaWxzJyB9fTwvc3Bhbj5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNxYS13LVsxNHB4XSBjcWEtaC1bMTRweF0gY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsxNHB4XVwiPlxuICAgICAgICB7eyBtZXRhZGF0YUV4cGFuZGVkID8gJ2V4cGFuZF9sZXNzJyA6ICdleHBhbmRfbW9yZScgfX1cbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgPC9kaXY+XG5cbiAgPCEtLSBTZWN0aW9uIDU6IFNlY3Rpb25zICh0b2dnbGUgdmlzaWJpbGl0eSkgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2aXNpYmxlU2VjdGlvbnMgYXMgc2VjdGlvbnNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwibWV0YWRhdGFFeHBhbmRlZCAmJiBzZWN0aW9ucy5sZW5ndGhcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2Ygc2VjdGlvbnM7IHRyYWNrQnk6IHRyYWNrU2VjdGlvbkJ5SWRcIlxuICAgICAgICBjbGFzcz1cImNxYS1ib3JkZXItbC00IGNxYS1ib3JkZXItc29saWQgY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICBbbmdDbGFzc109XCJnZXRTZWN0aW9uQm9yZGVyQ2xhc3Moc2VjdGlvbilcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXAtWzEwcHhdIGNxYS1wbC1bMjBweF0gY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtM1wiPlxuICAgICAgICAgIDwhLS0gU2VjdGlvbiBUaXRsZSB3aXRoIFRvZ2dsZSBCdXR0b24gYWxpZ25lZCByaWdodCAtLT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLXN0YXJ0IGNxYS1nYXAtMiBjcWEtdy1mdWxsXCI+XG4gICAgICAgICAgICA8aDNcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0U2VjdGlvblRpdGxlQ2xhc3NlcyhzZWN0aW9uKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3FhLWdyb3dcIlxuICAgICAgICAgICAgICBbYXR0ci5pZF09XCJnZXRTZWN0aW9uSGVhZGVySWQoc2VjdGlvbilcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBzZWN0aW9uLnRpdGxlIH19XG4gICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjcWEtaW5saW5lLWZsZXggY3FhLWN1cnNvci1wb2ludGVyIGNxYS1vdXRsaW5lLW5vbmUgY3FhLWJnLXRyYW5zcGFyZW50IGNxYS1ib3JkZXItbm9uZSBjcWEtcC0xIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS1taW4tdy1bMjRweF0gY3FhLW1pbi1oLVsyNHB4XSBjcWEtbWwtYXV0b1wiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWN0aW9uKHNlY3Rpb24pXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzZWN0aW9uLmV4cGFuZGVkICE9PSBmYWxzZVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiZ2V0U2VjdGlvbkNvbnRlbnRJZChzZWN0aW9uKVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic2VjdGlvbi5leHBhbmRlZCAhPT0gZmFsc2UgPyAnQ29sbGFwc2Ugc2VjdGlvbicgOiAnRXhwYW5kIHNlY3Rpb24nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0U2VjdGlvbkljb25Db2xvcihzZWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjcWEtdy00IGNxYS1oLTQgY3FhLXRleHQtWzE2cHhdIGNxYS1sZWFkaW5nLVsxNnB4XVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLmV4cGFuZGVkICE9PSBmYWxzZSA/ICdleHBhbmRfbGVzcycgOiAnZXhwYW5kX21vcmUnIH19XG4gICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDwhLS0gQ29sbGFwc2libGUgQ29udGVudDogUmVhc29uIGFuZCBBY3Rpb24gQnV0dG9uIC0tPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwic2VjdGlvbi5leHBhbmRlZCAhPT0gZmFsc2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC1bMTBweF1cIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiZ2V0U2VjdGlvbkNvbnRlbnRJZChzZWN0aW9uKVwiXG4gICAgICAgICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJnZXRTZWN0aW9uSGVhZGVySWQoc2VjdGlvbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDwhLS0gUmVhc29uIC0tPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtZm9udC1ub3JtYWwgY3FhLWxlYWRpbmctWzE4cHhdIGNxYS10ZXh0LW5ldXRyYWwtNjAwXCI+XG4gICAgICAgICAgICAgIFJlYXNvbjoge3sgc2VjdGlvbi5yZWFzb24gfX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPCEtLSBBY3Rpb24gQnV0dG9uIC0tPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGNxYS1idXR0b25cbiAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uU2VjdGlvbkFjdGlvbihzZWN0aW9uLmlkKVwiXG4gICAgICAgICAgICAgICAgW2N1c3RvbUNsYXNzXT1cIidjcWEtcHktWzlweF0gY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsxN3B4XSBjcWEtYm9yZGVyLXNsYXRlIGNxYS10ZXh0LXNsYXRlIGNxYS10cmFuc2l0aW9uIGNxYS1kdXJhdGlvbi0xNTAgY3FhLWVhc2UtaW4tb3V0IGhvdmVyOmNxYS1ib3JkZXItcHJpbWFyeSBob3ZlcjpjcWEtdGV4dC1wcmltYXJ5IGhvdmVyOmNxYS1iZy1wcmltYXJ5LXN1cmZhY2UnXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24uYWN0aW9uQnV0dG9uTGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9jcWEtYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICBcbiAgPGNxYS1idXR0b25cbiAgICAgICpuZ0lmPVwic2hvd0FpU3VnZ2VzdGlvbkJ1dHRvblwiXG4gICAgICB2YXJpYW50PVwiZmlsbGVkXCJcbiAgICAgIChjbGlja2VkKT1cIm9uTWFpbkFjdGlvbigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0FwcGx5aW5nXCJcbiAgICAgIFtjdXN0b21DbGFzc109XCInIWNxYS13LWZ1bGwgIWNxYS10ZXh0LVsxNHB4XSAhY3FhLWxlYWRpbmctWzIwcHhdICFjcWEtZm9udC1zZW1pYm9sZCdcIlxuICAgID5cbiAgICAgIDxzdmcgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNOS4wMTg4MiAwQzkuMTI5NzkgMC4wNDU0NzY3IDkuMTc3MTggMC4xNTY1MyA5LjIyMjYxIDAuMjU5NjkxQzkuMjQ1MzkgMC4zMTk3OTkgOS4yNjYyOCAwLjM4MDIzNCA5LjI4NjU3IDAuNDQxMTVDOS4yOTQ1MiAwLjQ2NDQ5MyA5LjMwMjQ2IDAuNDg3ODM2IDkuMzEwNjUgMC41MTE4ODZDOS40MTYxMyAwLjgyNjAwOSA5LjUxMDA4IDEuMTQzNSA5LjYwNDU3IDEuNDYwNzZDOS42MjU5MyAxLjUzMjM4IDkuNjQ3MzkgMS42MDM5NyA5LjY2ODg1IDEuNjc1NTdDOS43NzgxIDIuMDQwMDcgOS44ODY1NCAyLjQwNDggOS45OTQzOCAyLjc2OTY5QzEwLjAwOTUgMi44MjA5MyAxMC4wMjQ3IDIuODcyMTggMTAuMDM5OCAyLjkyMzQyQzEwLjA4MjYgMy4wNjc5IDEwLjEyNTIgMy4yMTIzOSAxMC4xNjc3IDMuMzU2OTRDMTAuMjU3MyAzLjY2MjM5IDEwLjM0OTUgMy45NjY5NSAxMC40NDc2IDQuMjcwMDJDMTAuNDU2MSA0LjI5NjUzIDEwLjQ2NDcgNC4zMjMwNSAxMC40NzM1IDQuMzUwMzZDMTAuNzI4NCA1LjEyOTk5IDExLjA4OTYgNS44Mjg3NSAxMS42ODE4IDYuNDIzOTNDMTEuNjk2NSA2LjQzOTQgMTEuNzExMSA2LjQ1NDg4IDExLjcyNjIgNi40NzA4M0MxMS45NzkgNi43Mjg3NSAxMi4zMDM0IDYuOTM1NDEgMTIuNjI3NiA3LjEwMjIxQzEyLjY0NDEgNy4xMTA4NSAxMi42NjA2IDcuMTE5NDggMTIuNjc3NiA3LjEyODM4QzEzLjYzMTcgNy42MTg1MSAxNC43NzkgNy44MzQwNyAxNS44MTI0IDguMTIxMDFDMTYuMjY1MiA4LjI0NjgxIDE2LjcxNjYgOC4zNzY1OCAxNy4xNjYzIDguNTEyMDZDMTcuMTk3OSA4LjUyMTU3IDE3LjIyOTYgOC41MzEwNyAxNy4yNjEyIDguNTQwNTVDMTcuMzU1NyA4LjU2ODkgMTcuNDUgOC41OTc3NCAxNy41NDQyIDguNjI2OTRDMTcuNTY2MiA4LjYzMzU4IDE3LjU4ODIgOC42NDAyMyAxNy42MTA4IDguNjQ3MDdDMTcuNzQwNiA4LjY4ODEyIDE3Ljg2NDggOC43MzY1OCAxNy45NzEzIDguODIwNTRDMTguMDAzOCA4Ljg4ODM3IDE4LjAwMzggOC44ODgzNyAxNy45OTUgOC45NTYxOUMxNy44OTEzIDkuMDU0NzIgMTcuNzg4NCA5LjEwMDkyIDE3LjY1MTYgOS4xNDU5OUMxNy42MzIgOS4xNTI2NCAxNy42MTI0IDkuMTU5MyAxNy41OTIzIDkuMTY2MTVDMTcuMzYxMiA5LjI0MzY2IDE3LjEyNyA5LjMxMTQ5IDE2Ljg5MjUgOS4zNzg3MUMxNi44NDQ0IDkuMzkyNjEgMTYuNzk2MyA5LjQwNjUxIDE2Ljc0ODIgOS40MjA0MkMxNi40NTE0IDkuNTA2MDMgMTYuMTU0MiA5LjU4OTggMTUuODU2NiA5LjY3MjYzQzE1LjQ2NDYgOS43ODE3NSAxNS4wNzMzIDkuODkyNjggMTQuNjgyMyAxMC4wMDQ5QzE0LjYxODIgMTAuMDIzMiAxNC41NTQxIDEwLjA0MTYgMTQuNDkgMTAuMDU5OEMxNC4xNTM0IDEwLjE1NTcgMTMuODE4NSAxMC4yNTUxIDEzLjQ4NjMgMTAuMzY0MkMxMy40NTg3IDEwLjM3MzIgMTMuNDMxMiAxMC4zODIyIDEzLjQwMjggMTAuMzkxNUMxMi4yOTAyIDEwLjc2MTYgMTEuNDQyMiAxMS40NTIyIDEwLjkxMTQgMTIuNDYyQzEwLjYyNTMgMTMuMDI5NSAxMC40NTY1IDEzLjY0MzIgMTAuMjg0MyAxNC4yNDg5QzEwLjIzNzcgMTQuNDEyNCAxMC4xODgyIDE0LjU3NDkgMTAuMTM4MSAxNC43Mzc0QzEwLjA5ODggMTQuODY1MiAxMC4wNjA0IDE0Ljk5MzMgMTAuMDIzIDE1LjEyMTZDMTAuMDE4NSAxNS4xMzY5IDEwLjAxNDEgMTUuMTUyMiAxMC4wMDk1IDE1LjE2NzlDOS45ODc4OCAxNS4yNDE5IDkuOTY2MzggMTUuMzE1OSA5Ljk0NTAzIDE1LjM4OTlDOS44OTAzOSAxNS41Nzc2IDkuODMxNTYgMTUuNzYzNyA5Ljc3MTExIDE1Ljk0OThDOS42NjM4MyAxNi4yODA0IDkuNTY2MiAxNi42MTM1IDkuNDY5MTcgMTYuOTQ3QzkuMzIyODggMTcuNDQ5MSA5LjMyMjg4IDE3LjQ0OTEgOS4yMzk5MyAxNy42OTA1QzkuMjM0NDMgMTcuNzA2NyA5LjIyODkzIDE3LjcyMjkgOS4yMjMyNiAxNy43Mzk2QzkuMTkyOTggMTcuODI1NiA5LjE2MTgzIDE3LjkwNDcgOS4xMDQ1MyAxNy45Nzc0QzkuMDE3MzQgMTcuOTk1OCA5LjAxNzM0IDE3Ljk5NTggOC45MzkwMSAxOEM4Ljg0OTQ2IDE3Ljg3NTIgOC43OTAxNiAxNy43NTQyIDguNzQyNjUgMTcuNjEwMkM4LjczNTc0IDE3LjU4OTcgOC43Mjg4MiAxNy41NjkzIDguNzIxNyAxNy41NDgzQzguNjMzNjggMTcuMjg1IDguNTU1MDIgMTcuMDE4OSA4LjQ3NjM0IDE2Ljc1MjlDOC40NTgzMiAxNi42OTIxIDguNDQwMjIgMTYuNjMxMyA4LjQyMjExIDE2LjU3MDVDOC4yODcyIDE2LjExNzMgOC4xNTQ1MSAxNS42NjM1IDguMDIyMDIgMTUuMjA5NkM3LjQ3MDE0IDEyLjk2NDUgNy40NzAxNCAxMi45NjQ1IDYuMDc4IDExLjE0OTNDNi4wNTU2OSAxMS4xMzE5IDYuMDMzMzggMTEuMTE0NSA2LjAxMDM5IDExLjA5NjZDNS4wOTgyNiAxMC4zOTggMy44OTY2NyAxMC4xMzk0IDIuNzk2MyA5LjgzNjI3QzIuNTI0MTUgOS43NjEyNCAyLjI1MjEgOS42ODU4NyAxLjk4MDA2IDkuNjEwNDZDMS45NTYyOCA5LjYwMzg2IDEuOTU2MjggOS42MDM4NiAxLjkzMjAxIDkuNTk3MTRDMS41Mzk2MiA5LjQ4ODM0IDEuMTQ3MzUgOS4zNzkyNSAwLjc1NjQ0OCA5LjI2NTY2QzAuNzM5OTExIDkuMjYwODkgMC43MjMzNzUgOS4yNTYxMiAwLjcwNjMzOCA5LjI1MTIxQzAuMTA1Nzk4IDkuMDc3NjcgMC4xMDU3OTggOS4wNzc2NyAwLjAwMTI5MzA3IDguOTU2MTlDLTAuMDAxNjYyNTIgOC45MDEwOCAtMC4wMDE2NjI1MiA4LjkwMTA4IDAuMDI0OTM3OCA4Ljg0MzE1QzAuMTM0MTY3IDguNzQwOCAwLjI0MDE1MyA4LjY5Njk2IDAuMzg0MzIgOC42NTIzOEMwLjQwNTE5NCA4LjY0NTY3IDAuNDI2MDY4IDguNjM4OTcgMC40NDc1NzQgOC42MzIwNkMwLjUxMTUwNiA4LjYxMTY0IDAuNTc1NTc3IDguNTkxNjkgMC42Mzk3MDIgOC41NzE4M0MwLjY1ODAwMSA4LjU2NjA5IDAuNjc2MzAxIDguNTYwMzUgMC42OTUxNTUgOC41NTQ0M0MwLjgyNDU3IDguNTEzODUgMC45NTQ0NSA4LjQ3NDc5IDEuMDg0NTIgOC40MzYxOEMxLjExNjQ4IDguNDI2NjUgMS4xMTY0OCA4LjQyNjY1IDEuMTQ5MDkgOC40MTY5M0MxLjcwNDU0IDguMjUxNzQgMi4yNjM2MSA4LjA5ODAxIDIuODIyNTIgNy45NDM5MkMzLjIzODk5IDcuODI5MDkgMy42NTQ3NiA3LjcxMjM2IDQuMDY5MjEgNy41OTA5N0M0LjA4ODI1IDcuNTg1NDIgNC4xMDczIDcuNTc5ODcgNC4xMjY5MiA3LjU3NDE1QzUuMDg3IDcuMjkzOTMgNi4wMjU1NyA2Ljg5NjMyIDYuNjQ1NDcgNi4xMDc0QzYuNjU0NzUgNi4wOTU2OSA2LjY2NDAzIDYuMDgzOTkgNi42NzM2IDYuMDcxOTRDNy4zNjM5NSA1LjE5NjMgNy42MzMxNSA0LjEzMTQ1IDcuOTMzOTEgMy4wOTI0MUM4LjAzMjg1IDIuNzUwNjkgOC4xMzI5OCAyLjQwOTI5IDguMjMzNDUgMi4wNjc5OEM4LjI2MTI3IDEuOTczNDcgOC4yODkwNiAxLjg3ODk0IDguMzE2NzMgMS43ODQzOUM4LjQyNzg4IDEuNDA0NTggOC41NDA3IDEuMDI1MjggOC42NiAwLjY0NzcyN0M4LjY3MTE2IDAuNjEyMzcyIDguNjgyMjcgMC41NzcwMDEgOC42OTMzMyAwLjU0MTYxNEM4Ljg2MDM1IDAuMDA3OTc1MjIgOC44NjAzNSAwLjAwNzk3NTIyIDkuMDE4ODIgMFpcIiBmaWxsPVwiI0ZCRkNGRlwiLz48cGF0aCBkPVwiTTE0LjQ3MTkgMS4xMTA2OUMxNC41ODA1IDEuMjI4MTcgMTQuNjAyMiAxLjM2NjI0IDE0LjYzNiAxLjUxNjI1QzE0Ljc0ODcgMS45ODc1MSAxNC44Nzg2IDIuNDIwODQgMTUuMzI5MyAyLjY5NDZDMTUuNjA3NCAyLjg0MTY3IDE1LjkzODkgMi45MDg1OSAxNi4yNDcgMi45NzE4QzE2LjM3NzEgMi45OTkwMiAxNi40ODY5IDMuMDM1MTUgMTYuNTk4NSAzLjEwNzRDMTYuNjIzNiAzLjE0NTU1IDE2LjYyMzYgMy4xNDU1NSAxNi42MjIxIDMuMjExOTdDMTYuNTk2MyAzLjI5MjczIDE2LjU3MzYgMy4zMTg3OCAxNi41MDU0IDMuMzcxNjVDMTYuNDMwOCAzLjM5NTQ5IDE2LjQzMDggMy4zOTU0OSAxNi4zNDEzIDMuNDE0MDRDMTYuMzA3NSAzLjQyMTQ3IDE2LjI3MzYgMy40Mjg5OCAxNi4yMzk4IDMuNDM2NTZDMTYuMjIxNyAzLjQ0MDU4IDE2LjIwMzYgMy40NDQ2IDE2LjE4NDkgMy40NDg3NEMxNS42MzM5IDMuNTcwNjIgMTUuNjMzOSAzLjU3MDYyIDE1LjE1NzYgMy44NDY0NUMxNS4xNDIxIDMuODU4MzcgMTUuMTI2NyAzLjg3MDI5IDE1LjExMDcgMy44ODI1N0MxNC43NzAzIDQuMTY5NTkgMTQuNjk4MyA0LjY0NzAzIDE0LjU5NTggNS4wNDY5OUMxNC41OSA1LjA2ODk2IDE0LjU4NDEgNS4wOTA5MiAxNC41NzggNS4xMTM1NUMxNC41NzMgNS4xMzMgMTQuNTY3OSA1LjE1MjQ0IDE0LjU2MjcgNS4xNzI0OEMxNC41NDA1IDUuMjMxODUgMTQuNTE3NiA1LjI3MDU3IDE0LjQ3MTkgNS4zMTYwN0MxNC4zNDQ3IDUuMzMxNTIgMTQuMzQ0NyA1LjMzMTUyIDE0LjI4MjggNS4zMTYwN0MxNC4xODQzIDUuMjQzMDkgMTQuMTYyMyA1LjE1OTk3IDE0LjEzNjYgNS4wNDgyOEMxNC4xMzIyIDUuMDMwOTkgMTQuMTI3OSA1LjAxMzY5IDE0LjEyMzUgNC45OTU4N0MxNC4xMDk4IDQuOTQwNjQgMTQuMDk2NSA0Ljg4NTMxIDE0LjA4MzMgNC44Mjk5NkMxMy45Nzk2IDQuMzk4OTEgMTMuODYyNSAzLjk3NiAxMy40NDkgMy43MjMzM0MxMy4xMjU4IDMuNTUxMDEgMTIuNzMyOSAzLjQ2OTUxIDEyLjM3MTcgMy40MDM3QzEyLjI3MjcgMy4zODM5OSAxMi4yMTYgMy4zNTkyIDEyLjE1NDcgMy4yODEyMUMxMi4xNDE0IDMuMjAyMDggMTIuMTQxNCAzLjIwMjA4IDEyLjE1NDcgMy4xMjI5NEMxMi4yNDg5IDMuMDI5NzEgMTIuMzQ4IDMuMDA2OTYgMTIuNDc1NCAyLjk3ODgxQzEyLjUxNTYgMi45NjkzIDEyLjU1NTcgMi45NTk3MyAxMi41OTU4IDIuOTUwMUMxMi42MTY1IDIuOTQ1MTYgMTIuNjM3MiAyLjk0MDIyIDEyLjY1ODYgMi45MzUxMkMxMi43NjQyIDIuOTA5MTEgMTIuODY4OSAyLjg3OTk1IDEyLjk3MzQgMi44NTAyMUMxMi45OTI0IDIuODQ0OTQgMTMuMDExNCAyLjgzOTY3IDEzLjAzMSAyLjgzNDI0QzEzLjI0MzYgMi43NzM0NiAxMy40MjcxIDIuNjk1NzEgMTMuNTk3MSAyLjU1NzdDMTMuNjEyOSAyLjU0NTIzIDEzLjYyODggMi41MzI3NiAxMy42NDUxIDIuNTE5OUMxMy45MDk2IDIuMjkyMjggMTMuOTk5NSAxLjk1MDMyIDE0LjA4MSAxLjYzMTI0QzE0LjA4NzMgMS42MDcwMiAxNC4wOTM1IDEuNTgyOCAxNC4wOTk5IDEuNTU3ODRDMTQuMTEyMyAxLjUwOTE4IDE0LjEyNDQgMS40NjA0NiAxNC4xMzYzIDEuNDExN0MxNC4xNDQ5IDEuMzc3NzYgMTQuMTQ0OSAxLjM3Nzc2IDE0LjE1MzUgMS4zNDMxNUMxNC4xNTg1IDEuMzIyODggMTQuMTYzNSAxLjMwMjYxIDE0LjE2ODYgMS4yODE3MkMxNC4xOTA0IDEuMjE3MTkgMTQuMjE5IDEuMTY2NTIgMTQuMjU5MSAxLjExMDY5QzE0LjMzNjIgMS4wNzM4NSAxNC4zOTAzIDEuMDkwNSAxNC40NzE5IDEuMTEwNjlaXCIgZmlsbD1cIiNGQkZDRkZcIi8+PHBhdGggZD1cIk0zLjU5MDg5IDEyLjQ5NDJDMy42MTkwMiAxMi40OTQ0IDMuNjE5MDIgMTIuNDk0NCAzLjY0NzcyIDEyLjQ5NDZDMy44NDk1NCAxMi41MDA0IDMuOTg2MDkgMTIuNTYyMyA0LjEzNDcyIDEyLjY5MkM0LjMwNzY3IDEyLjg3MDcgNC4zODc1MyAxMy4wNzIyIDQuMzgyOTkgMTMuMzEzQzQuMzYzNTcgMTMuNTA4MiA0LjI0MzE2IDEzLjY3ODcgNC4wOTU0NyAxMy44MTA3QzMuOTIxNjMgMTMuOTQ0OCAzLjc0NjI2IDEzLjk4OTIgMy41MjQxMSAxMy45ODNDMy4zMzY4MSAxMy45NjIxIDMuMTYwNiAxMy44NzcgMy4wMjc4NSAxMy43NDlDMi44NjI3NiAxMy41MzM2IDIuODE0NSAxMy4zMzYxIDIuODM4NjkgMTMuMDcwN0MyLjg4ODY3IDEyLjg2MTggMy4wMzI3NCAxMi42OTIzIDMuMjE3MDEgMTIuNTczM0MzLjM0NTAyIDEyLjUxMTMgMy40NDc5OCAxMi40OTMgMy41OTA4OSAxMi40OTQyWlwiIGZpbGw9XCIjRkJGQ0ZGXCIvPjwvc3ZnPlxuICAgICAge3sgaXNBcHBseWluZyA/ICdBcHBseWluZyBzdWdnZXN0aW9uJyA6ICdBcHBseSBzdWdnZXN0aW9uJyB9fVxuICAgIDwvY3FhLWJ1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiBcbiJdfQ==
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zaWdodC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9pbnNpZ2h0LWNhcmQvaW5zaWdodC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9pbnNpZ2h0LWNhcmQvaW5zaWdodC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixJQUFJLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQXdCbEcsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1tQixzQkFBaUIsR0FBRyw4QkFBOEIsQ0FBQztRQUNuRCwwQkFBcUIsR0FBRyw0QkFBNEIsQ0FBQztRQUNyRCwyQkFBc0IsR0FBRywwQkFBMEIsQ0FBQztRQUU1RCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ2xDLDhDQUE4QztRQUNyQywyQkFBc0IsR0FBWSxJQUFJLENBQUM7UUFDeEMsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFXNUIscUJBQWdCLEdBQVksSUFBSSxDQUFDO1FBQ2pDLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUN2QyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFNUMsb0NBQW9DO1FBQzVCLHlCQUFvQixHQUF5QixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRS9ELGdDQUFnQztRQUNoQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRWxCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM3QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFxQyxDQUFDO1FBQ3RFLHVCQUFrQixHQUFHLElB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QkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0TWV0YWRhdGFWYWx1ZVN0eWxlIGFzIGdldE1ldGFkYXRhQ29sb3JTdHlsZSB9IGZyb20gJy4uLy4uL3V0aWxzL21ldGFkYXRhLWNvbG9ycy51dGlsJztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcblxuLy8gVXNlIEJhZGdlQ29tcG9uZW50IGlucHV0cyBkaXJlY3RseSBpbnN0ZWFkIG9mIGEgc2VwYXJhdGUgaW50ZXJmYWNlXG5leHBvcnQgdHlwZSBJbnNpZ2h0QmFkZ2UgPSBQaWNrPEJhZGdlQ29tcG9uZW50LCAnbGFiZWwnIHwgJ2ljb24nIHwgJ3ZhcmlhbnQnPjtcblxuZXhwb3J0IGludGVyZmFjZSBJbnNpZ2h0TWV0YWRhdGEge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmc7IGhpZ2hsaWdodD86IGJvb2xlYW4gfTtcbn1cblxuaW50ZXJmYWNlIEludGVybmFsSW5zaWdodFNlY3Rpb24ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB2YXJpYW50OiAnd2FybmluZycgfCAnZXJyb3InIHwgJ2RlZmF1bHQnO1xuICByZWFzb246IHN0cmluZztcbiAgYWN0aW9uQnV0dG9uTGFiZWw6IHN0cmluZztcbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtaW5zaWdodC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luc2lnaHQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgSW5zaWdodENhcmRDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IG1ldGFkYXRhRGV0YWlsc0lkID0gJ2NxYS1pbnNpZ2h0LW1ldGFkYXRhLWRldGFpbHMnO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlY3Rpb25IZWFkZXJJZFByZWZpeCA9ICdjcWEtaW5zaWdodC1zZWN0aW9uLWhlYWRlcic7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjdGlvbkNvbnRlbnRJZFByZWZpeCA9ICdjcWEtaW5zaWdodC1zZWN0aW9uLWJvZHknO1xuXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZyA9ICcnO1xuICAvKiogU2hvdy9oaWRlIHRoZSBBSSBzdWdnZXN0aW9uIG1haW4gYnV0dG9uICovXG4gIEBJbnB1dCgpIHNob3dBaVN1Z2dlc3Rpb25CdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIF9iYWRnZXM6IEluc2lnaHRCYWRnZVtdID0gW107XG4gIEBJbnB1dCgpXG4gIHNldCBiYWRnZXModmFsdWU6IEluc2lnaHRCYWRnZVtdKSB7XG4gICAgdGhpcy5fYmFkZ2VzID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGJhZGdlcygpOiBJbnNpZ2h0QmFkZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2JhZGdlcztcbiAgfVxuICBASW5wdXQoKSBtZXRhZGF0YT86IEluc2lnaHRNZXRhZGF0YTtcbiAgQElucHV0KCkgcHJlcmVxdWlzaXRlU2VjdGlvbj86IHN0cmluZztcbiAgQElucHV0KCkgdGVzdERhdGFTZWN0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBtZXRhZGF0YUV4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgaXNQcmVyZXF1aXNpdGVNaXNzaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzVGVzdERhdGFNaXNzaW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gVHJhY2sgZXhwYW5kZWQgc3RhdGUgZm9yIHNlY3Rpb25zXG4gIHByaXZhdGUgc2VjdGlvbkV4cGFuZGVkU3RhdGU6IE1hcDxzdHJpbmcsIGJvb2xlYW4+ID0gbmV3IE1hcCgpO1xuICBcbiAgLy8gTG9hZGluZyBzdGF0ZSBmb3IgbWFpbiBhY3Rpb25cbiAgaXNBcHBseWluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBtZXRhZGF0YVRvZ2dsZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHNlY3Rpb25Ub2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaWQ6IHN0cmluZzsgZXhwYW5kZWQ6IGJvb2xlYW4gfT4oKTtcbiAgQE91dHB1dCgpIHNlY3Rpb25BY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgb25BcHBseVN1Z2dlc3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIG9uQXR0YWNoUHJlcmVxdWlzaXRlc0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgb25JbXBvcnRUZXN0RGF0YUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHRvZ2dsZU1ldGFkYXRhKCk6IHZvaWQge1xuICAgIHRoaXMubWV0YWRhdGFFeHBhbmRlZCA9ICF0aGlzLm1ldGFkYXRhRXhwYW5kZWQ7XG4gICAgdGhpcy5tZXRhZGF0YVRvZ2dsZS5lbWl0KHRoaXMubWV0YWRhdGFFeHBhbmRlZCk7XG4gIH1cblxuICB0b2dnbGVTZWN0aW9uKHNlY3Rpb246IEludGVybmFsSW5zaWdodFNlY3Rpb24pOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLmdldFNlY3Rpb25FeHBhbmRlZFN0YXRlKHNlY3Rpb24uaWQpO1xuICAgIGNvbnN0IG5ld1N0YXRlID0gIWN1cnJlbnRTdGF0ZTtcbiAgICB0aGlzLnNlY3Rpb25FeHBhbmRlZFN0YXRlLnNldChzZWN0aW9uLmlkLCBuZXdTdGF0ZSk7XG4gICAgc2VjdGlvbi5leHBhbmRlZCA9IG5ld1N0YXRlO1xuICAgIHRoaXMuc2VjdGlvblRvZ2dsZS5lbWl0KHsgaWQ6IHNlY3Rpb24uaWQsIGV4cGFuZGVkOiBuZXdTdGF0ZSB9KTtcbiAgfVxuXG4gIG9uU2VjdGlvbkFjdGlvbihzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VjdGlvbkFjdGlvbkNsaWNrLmVtaXQoc2VjdGlvbklkKTtcbiAgICBcbiAgICAvLyBFbWl0IHNwZWNpZmljIGV2ZW50cyBmb3Iga25vd24gYWN0aW9uc1xuICAgIGlmIChzZWN0aW9uSWQgPT09ICdwcmVyZXF1aXNpdGUnKSB7XG4gICAgICB0aGlzLm9uQXR0YWNoUHJlcmVxdWlzaXRlc0NsaWNrLmVtaXQoKTtcbiAgICB9IGVsc2UgaWYgKHNlY3Rpb25JZCA9PT0gJ3Rlc3QtZGF0YScpIHtcbiAgICAgIHRoaXMub25JbXBvcnRUZXN0RGF0YUNsaWNrLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdmlzaWJsZUJhZGdlcygpOiBJbnNpZ2h0QmFkZ2VbXSB7XG4gICAgY29uc3QgdmlzaWJsZTogSW5zaWdodEJhZGdlW10gPSBbXTtcbiAgICBpZiAodGhpcy5pc1ByZXJlcXVpc2l0ZU1pc3NpbmcpIHtcbiAgICAgIHZpc2libGUucHVzaCh7IGxhYmVsOiAnUHJlcmVxdWlzaXRlIE1pc3NpbmcnLCB2YXJpYW50OiAnd2FybmluZycgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzVGVzdERhdGFNaXNzaW5nKSB7XG4gICAgICB2aXNpYmxlLnB1c2goeyBsYWJlbDogJ1Rlc3QgRGF0YSBNaXNzaW5nJywgdmFyaWFudDogJ2Vycm9yJyB9KTtcbiAgICB9XG4gICAgLy8gQWxzbyBpbmNsdWRlIGFueSBjdXN0b20gYmFkZ2VzXG4gICAgaWYgKHRoaXMuYmFkZ2VzKSB7XG4gICAgICB2aXNpYmxlLnB1c2goLi4udGhpcy5iYWRnZXMpO1xuICAgIH1cbiAgICByZXR1cm4gdmlzaWJsZTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlU2VjdGlvbnMoKTogSW50ZXJuYWxJbnNpZ2h0U2VjdGlvbltdIHtcbiAgICBjb25zdCB2aXNpYmxlOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uW10gPSBbXTtcblxuICAgIGlmICh0aGlzLmlzUHJlcmVxdWlzaXRlTWlzc2luZykge1xuICAgICAgdmlzaWJsZS5wdXNoKFxuICAgICAgICB0aGlzLmNyZWF0ZVNlY3Rpb24oe1xuICAgICAgICAgIGlkOiAncHJlcmVxdWlzaXRlJyxcbiAgICAgICAgICB0aXRsZTogJ1ByZXJlcXVpc2l0ZSBNaXNzaW5nJyxcbiAgICAgICAgICB2YXJpYW50OiAnd2FybmluZycsXG4gICAgICAgICAgcmVhc29uOiB0aGlzLnByZXJlcXVpc2l0ZVNlY3Rpb24gfHwgJ1ByZXJlcXVpc2l0ZSBkYXRhIGlzIG1pc3NpbmcuJyxcbiAgICAgICAgICBhY3Rpb25CdXR0b25MYWJlbDogJ0F0dGFjaCBQcmVyZXF1aXNpdGVzJyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNUZXN0RGF0YU1pc3NpbmcpIHtcbiAgICAgIHZpc2libGUucHVzaChcbiAgICAgICAgdGhpcy5jcmVhdGVTZWN0aW9uKHtcbiAgICAgICAgICBpZDogJ3Rlc3QtZGF0YScsXG4gICAgICAgICAgdGl0bGU6ICdUZXN0IERhdGEgTWlzc2luZycsXG4gICAgICAgICAgdmFyaWFudDogJ2Vycm9yJyxcbiAgICAgICAgICByZWFzb246IHRoaXMudGVzdERhdGFTZWN0aW9uIHx8ICdUZXN0IGRhdGEgaXMgbWlzc2luZy4nLFxuICAgICAgICAgIGFjdGlvbkJ1dHRvbkxhYmVsOiAnSW1wb3J0IFRlc3QgRGF0YScsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB2aXNpYmxlO1xuICB9XG5cbiAgYXN5bmMgb25NYWluQWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmlzQXBwbHlpbmcpIHtcbiAgICAgIHJldHVybjsgLy8gUHJldmVudCBtdWx0aXBsZSBjbGlja3NcbiAgICB9XG4gICAgXG4gICAgdGhpcy5pc0FwcGx5aW5nID0gdHJ1ZTtcbiAgICBcbiAgICB0cnkge1xuICAgICAgdGhpcy5vbkFwcGx5U3VnZ2VzdGlvbkNsaWNrLmVtaXQoKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgLy8gUmVzZXQgbG9hZGluZyBzdGF0ZSBhZnRlciBhY3Rpb24gY29tcGxldGVzXG4gICAgICAvLyBJZiB5b3UgbmVlZCB0byBrZWVwIHRoZSBsb2FkaW5nIHN0YXRlIGxvbmdlciwgY2FsbCByZXNldEFwcGx5aW5nU3RhdGUoKSBtYW51YWxseVxuICAgICAgLy8gYWZ0ZXIgeW91ciBhc3luYyBvcGVyYXRpb24gY29tcGxldGVzXG4gICAgICB0aGlzLmlzQXBwbHlpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBNZXRob2QgdG8gcmVzZXQgbG9hZGluZyBzdGF0ZSAoY2FuIGJlIGNhbGxlZCBleHRlcm5hbGx5IGlmIG5lZWRlZClcbiAgcmVzZXRBcHBseWluZ1N0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNBcHBseWluZyA9IGZhbHNlO1xuICB9XG5cbiAgLy8gUmVtb3ZlZCBnZXRCYWRnZUNsYXNzZXMgLSBub3cgdXNpbmcgQmFkZ2VDb21wb25lbnRcblxuICB0cmFja1NlY3Rpb25CeUlkKF9pbmRleDogbnVtYmVyLCBzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc2VjdGlvbi5pZDtcbiAgfVxuXG4gIGdldFNlY3Rpb25Cb3JkZXJDbGFzcyhzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHNlY3Rpb24udmFyaWFudCkge1xuICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgIHJldHVybiAnY3FhLWJvcmRlci1sLTQgY3FhLWJvcmRlci1sLXllbGxvdy01MDAnO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4gJ2NxYS1ib3JkZXItbC00IGNxYS1ib3JkZXItbC1yZWQtNTAwJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLWJvcmRlci1sLTQgY3FhLWJvcmRlci1sLWdyYXktNTAwJztcbiAgICB9XG4gIH1cblxuICBnZXRNZXRhZGF0YVZhbHVlQ2xhc3NlcyhrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgaGlnaGxpZ2h0PzogYm9vbGVhbiB9KTogc3RyaW5nIHtcbiAgICAvLyBCYXNlIGNsYXNzZXMgZm9yIGFsbCB2YWx1ZXMgKGZvbnQtc2l6ZTogMTRweCwgbGluZS1oZWlnaHQ6IDE4cHgsIGZvbnQtd2VpZ2h0OiA0MDApXG4gICAgcmV0dXJuICdjcWEtZm9udC1ub3JtYWwgY3FhLWxlYWRpbmctWzE4cHhdIGNxYS10cmFja2luZy1ub3JtYWwnO1xuICB9XG5cbiAgZ2V0TWV0YWRhdGFWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgeyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyBoaWdobGlnaHQ/OiBib29sZWFuIH0pOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZS52YWx1ZTtcbiAgfVxuXG4gIGdldE1ldGFkYXRhVmFsdWVTdHlsZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgaGlnaGxpZ2h0PzogYm9vbGVhbiB9KTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgLy8gVXNlIHRoZSBzaGFyZWQgdXRpbGl0eSBmdW5jdGlvbiBmb3IgY29uc2lzdGVudCBjb2xvcnNcbiAgICByZXR1cm4gZ2V0TWV0YWRhdGFDb2xvclN0eWxlKGtleSwgdmFsdWUpO1xuICB9XG5cbiAgZ2V0U2VjdGlvblRpdGxlQ2xhc3NlcyhzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9IFsnY3FhLXRleHQtc20nLCAnY3FhLWxlYWRpbmctWzE3cHhdJywgJ2NxYS1mb250LXNlbWlib2xkJ107XG4gICAgXG4gICAgc3dpdGNoIChzZWN0aW9uLnZhcmlhbnQpIHtcbiAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLXRleHQtWyM3ODM1MEZdJ10uam9pbignICcpO1xuICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLXRleHQtWyM4ODEzMzddJ10uam9pbignICcpO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gWy4uLmJhc2VDbGFzc2VzLCAnY3FhLXRleHQtaW5rJ10uam9pbignICcpO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlY3Rpb25JY29uQ29sb3Ioc2VjdGlvbjogSW50ZXJuYWxJbnNpZ2h0U2VjdGlvbik6IHN0cmluZyB7XG4gICAgc3dpdGNoIChzZWN0aW9uLnZhcmlhbnQpIHtcbiAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LVsjNzgzNTBGXSc7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtWyM4ODEzMzddJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtZ3JheS00MDAnO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlY3Rpb25IZWFkZXJJZChzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zZWN0aW9uSGVhZGVySWRQcmVmaXh9LSR7c2VjdGlvbi5pZH1gO1xuICB9XG5cbiAgZ2V0U2VjdGlvbkNvbnRlbnRJZChzZWN0aW9uOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zZWN0aW9uQ29udGVudElkUHJlZml4fS0ke3NlY3Rpb24uaWR9YDtcbiAgfVxuXG4gIGdldE1ldGFkYXRhRGV0YWlsc0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubWV0YWRhdGFEZXRhaWxzSWQ7XG4gIH1cblxuICBwcml2YXRlIGdldFNlY3Rpb25FeHBhbmRlZFN0YXRlKHNlY3Rpb25JZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VjdGlvbkV4cGFuZGVkU3RhdGUuaGFzKHNlY3Rpb25JZClcbiAgICAgID8gdGhpcy5zZWN0aW9uRXhwYW5kZWRTdGF0ZS5nZXQoc2VjdGlvbklkKSFcbiAgICAgIDogdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlU2VjdGlvbihjb25maWc6IE9taXQ8SW50ZXJuYWxJbnNpZ2h0U2VjdGlvbiwgJ2V4cGFuZGVkJz4pOiBJbnRlcm5hbEluc2lnaHRTZWN0aW9uIHtcbiAgICBjb25zdCBleHBhbmRlZCA9IHRoaXMuZ2V0U2VjdGlvbkV4cGFuZGVkU3RhdGUoY29uZmlnLmlkKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgZXhwYW5kZWQsXG4gICAgfTtcbiAgfVxufVxuXG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdCBjcWEtZm9udC1pbnRlciBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC00IGNxYS1weC1bMjFweF0gY3FhLXB5LTMgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNFQ0VDRUNdIGNxYS1yb3VuZGVkLXhsIGNxYS1zaGFkb3ctY2FyZFwiPlxuICAgIDwhLS0gU2VjdGlvbiAxOiBCYWRnZXMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zIGNxYS1weS1bMS41XVwiICpuZ0lmPVwidmlzaWJsZUJhZGdlcy5sZW5ndGggPiAwXCI+XG4gICAgICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTE0LjQ4NjYgMTIuMDAwNUw5LjE1MzI5IDIuNjY3MTRDOS4wMzcgMi40NjE5NCA4Ljg2ODM2IDIuMjkxMjcgOC42NjQ1NyAyLjE3MjUyQzguNDYwNzggMi4wNTM3OCA4LjIyOTE1IDEuOTkxMjEgNy45OTMyOSAxLjk5MTIxQzcuNzU3NDMgMS45OTEyMSA3LjUyNTc5IDIuMDUzNzggNy4zMjIgMi4xNzI1MkM3LjExODIyIDIuMjkxMjcgNi45NDk1OCAyLjQ2MTk0IDYuODMzMjkgMi42NjcxNEwxLjQ5OTk1IDEyLjAwMDVDMS4zODI0MSAxMi4yMDQgMS4zMjA3NyAxMi40MzUxIDEuMzIxMjkgMTIuNjcwMUMxLjMyMTgxIDEyLjkwNTIgMS4zODQ0NyAxMy4xMzYgMS41MDI5MiAxMy4zMzlDMS42MjEzNiAxMy41NDIxIDEuNzkxMzggMTMuNzEwMiAxLjk5NTc1IDEzLjgyNjRDMi4yMDAxMSAxMy45NDI1IDIuNDMxNTYgMTQuMDAyNiAyLjY2NjYyIDE0LjAwMDVIMTMuMzMzM0MxMy41NjcyIDE0LjAwMDIgMTMuNzk3IDEzLjkzODUgMTMuOTk5NSAxMy44MjEzQzE0LjIwMiAxMy43MDQyIDE0LjM3MDEgMTMuNTM1OSAxNC40ODcgMTMuMzMzMkMxNC42MDM4IDEzLjEzMDYgMTQuNjY1MyAxMi45MDA3IDE0LjY2NTMgMTIuNjY2OEMxNC42NjUyIDEyLjQzMjkgMTQuNjAzNiAxMi4yMDMxIDE0LjQ4NjYgMTIuMDAwNVpcIiBzdHJva2U9XCIjRTJBQzIwXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTggNlY4LjY2NjY3XCIgc3Ryb2tlPVwiI0UyQUMyMFwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk04IDExLjMzM0g4LjAwNjY3XCIgc3Ryb2tlPVwiI0UyQUMyMFwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtd3JhcCBjcWEtZ2FwLTJcIj5cbiAgICAgICAgPGNxYS1iYWRnZSBcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYmFkZ2Ugb2YgdmlzaWJsZUJhZGdlc1wiIFxuICAgICAgICAgIFtsYWJlbF09XCJiYWRnZS5sYWJlbFwiXG4gICAgICAgICAgW2ljb25dPVwiYmFkZ2UuaWNvblwiXG4gICAgICAgICAgW3ZhcmlhbnRdPVwiYmFkZ2UudmFyaWFudCB8fCAnZGVmYXVsdCdcIlxuICAgICAgICA+PC9jcWEtYmFkZ2U+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gU2VjdGlvbiAyOiBUaXRsZSAmIERlc2NyaXB0aW9uIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0zXCI+XG4gICAgICA8aDIgY2xhc3M9XCJjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtbGcgY3FhLWxlYWRpbmctWzIycHhdIGNxYS10ZXh0LXRpdGxlXCI+XG4gICAgICAgIHt7IHRpdGxlIH19XG4gICAgICA8L2gyPlxuICAgICAgPHAgY2xhc3M9XCJjcWEtdGV4dC1iYXNlIGNxYS1mb250LW5vcm1hbCBjcWEtdGV4dC1kZXNjcmlwdGlvblwiPlxuICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuXG4gIDwhLS0gU2VjdGlvbiAzOiBNZXRhZGF0YSBTZWN0aW9uIChhbHdheXMgdmlzaWJsZSkgLS0+XG4gIDxkaXYgKm5nSWY9XCJtZXRhZGF0YVwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtNFwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY3FhLWJnLXN1cmZhY2UtZGVmYXVsdCBjcWEtcm91bmRlZC1bMTBweF0gY3FhLXB4LTQgY3FhLXB5LTMgY3FhLWJvcmRlci10IGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci10LXByaW1hcnktc3VyZmFjZVwiXG4gICAgICBbYXR0ci5pZF09XCJnZXRNZXRhZGF0YURldGFpbHNJZCgpXCJcbiAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC13cmFwIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC1bMjVweF1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZXRhZGF0YSB8IGtleXZhbHVlOyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLVs2cHhdXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS1mb250LW5vcm1hbCBjcWEtZm9udC1pbnRlciBjcWEtdGV4dC1tZXRhZGF0YS1rZXlcIj5cbiAgICAgICAgICAgICAge3sgaXRlbS5rZXkgfX06XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0TWV0YWRhdGFWYWx1ZUNsYXNzZXMoaXRlbS5rZXksIGl0ZW0udmFsdWUpXCIgXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldE1ldGFkYXRhVmFsdWVTdHlsZShpdGVtLmtleSwgaXRlbS52YWx1ZSlcIlxuICAgICAgICAgICAgICBjbGFzcz1cImNxYS1mb250LW5vcm1hbCBjcWEtbGVhZGluZy1bMThweF0gY3FhLWZvbnQtaW50ZXIgY3FhLXRleHQtc20gY3FhLXRleHQtdGl0bGVcIj5cbiAgICAgICAgICAgICAge3sgZ2V0TWV0YWRhdGFWYWx1ZShpdGVtLnZhbHVlKSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbGFzdFwiIGNsYXNzPVwiY3FhLWgtNCBjcWEtdy1weCBjcWEtYmctZ3JheS0yMDBcIj48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gU2VjdGlvbiA0OiBNZXRhZGF0YSB0b2dnbGUgLS0+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJtZXRhZGF0YSAmJiAoaXNQcmVyZXF1aXNpdGVNaXNzaW5nIHx8IGlzVGVzdERhdGFNaXNzaW5nKVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiY3FhLXRleHQtc20gY3FhLXRleHQtcHJpbWFyeSBjcWEtaW5saW5lLWZsZXggY3FhLWZvbnQtaW50ZXIgY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLVs2cHhdXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVNZXRhZGF0YSgpXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwibWV0YWRhdGFFeHBhbmRlZFwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImdldE1ldGFkYXRhRGV0YWlsc0lkKClcIlxuICAgID5cbiAgICAgIDxzcGFuPnt7IG1ldGFkYXRhRXhwYW5kZWQgPyAnSGlkZSBkZXRhaWxzJyA6ICdTaG93IGRldGFpbHMnIH19PC9zcGFuPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3FhLXctWzE0cHhdIGNxYS1oLVsxNHB4XSBjcWEtdGV4dC1bMTRweF0gY3FhLWxlYWRpbmctWzE0cHhdXCI+XG4gICAgICAgIHt7IG1ldGFkYXRhRXhwYW5kZWQgPyAnZXhwYW5kX2xlc3MnIDogJ2V4cGFuZF9tb3JlJyB9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICA8L2Rpdj5cblxuICA8IS0tIFNlY3Rpb24gNTogU2VjdGlvbnMgKHRvZ2dsZSB2aXNpYmlsaXR5KSAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpc2libGVTZWN0aW9ucyBhcyBzZWN0aW9uc1wiPlxuICAgIDxkaXYgKm5nSWY9XCJtZXRhZGF0YUV4cGFuZGVkICYmIHNlY3Rpb25zLmxlbmd0aFwiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtNFwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBzZWN0aW9uczsgdHJhY2tCeTogdHJhY2tTZWN0aW9uQnlJZFwiXG4gICAgICAgIGNsYXNzPVwiY3FhLWJvcmRlci1sLTQgY3FhLWJvcmRlci1zb2xpZCBjcWEtcm91bmRlZC1bMTBweF0gY3FhLW92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImdldFNlY3Rpb25Cb3JkZXJDbGFzcyhzZWN0aW9uKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtcC1bMTBweF0gY3FhLXBsLVsyMHB4XSBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0zXCI+XG4gICAgICAgICAgPCEtLSBTZWN0aW9uIFRpdGxlIHdpdGggVG9nZ2xlIEJ1dHRvbiBhbGlnbmVkIHJpZ2h0IC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtc3RhcnQgY3FhLWdhcC0yIGNxYS13LWZ1bGxcIj5cbiAgICAgICAgICAgIDxoM1xuICAgICAgICAgICAgICBbbmdDbGFzc109XCJnZXRTZWN0aW9uVGl0bGVDbGFzc2VzKHNlY3Rpb24pXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjcWEtZ3Jvd1wiXG4gICAgICAgICAgICAgIFthdHRyLmlkXT1cImdldFNlY3Rpb25IZWFkZXJJZChzZWN0aW9uKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHNlY3Rpb24udGl0bGUgfX1cbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImNxYS1pbmxpbmUtZmxleCBjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLW91dGxpbmUtbm9uZSBjcWEtYmctdHJhbnNwYXJlbnQgY3FhLWJvcmRlci1ub25lIGNxYS1wLTEgY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLW1pbi13LVsyNHB4XSBjcWEtbWluLWgtWzI0cHhdIGNxYS1tbC1hdXRvXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oc2VjdGlvbilcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNlY3Rpb24uZXhwYW5kZWQgIT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJnZXRTZWN0aW9uQ29udGVudElkKHNlY3Rpb24pXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzZWN0aW9uLmV4cGFuZGVkICE9PSBmYWxzZSA/ICdDb2xsYXBzZSBzZWN0aW9uJyA6ICdFeHBhbmQgc2VjdGlvbidcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJnZXRTZWN0aW9uSWNvbkNvbG9yKHNlY3Rpb24pXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNxYS13LTQgY3FhLWgtNCBjcWEtdGV4dC1bMTZweF0gY3FhLWxlYWRpbmctWzE2cHhdXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24uZXhwYW5kZWQgIT09IGZhbHNlID8gJ2V4cGFuZF9sZXNzJyA6ICdleHBhbmRfbW9yZScgfX1cbiAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPCEtLSBDb2xsYXBzaWJsZSBDb250ZW50OiBSZWFzb24gYW5kIEFjdGlvbiBCdXR0b24gLS0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJzZWN0aW9uLmV4cGFuZGVkICE9PSBmYWxzZVwiXG4gICAgICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLVsxMHB4XVwiXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJnZXRTZWN0aW9uQ29udGVudElkKHNlY3Rpb24pXCJcbiAgICAgICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldFNlY3Rpb25IZWFkZXJJZChzZWN0aW9uKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSBSZWFzb24gLS0+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImNxYS10ZXh0LXNtIGNxYS1mb250LW5vcm1hbCBjcWEtbGVhZGluZy1bMThweF0gY3FhLXRleHQtbmV1dHJhbC02MDBcIj5cbiAgICAgICAgICAgICAgUmVhc29uOiB7eyBzZWN0aW9uLnJlYXNvbiB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8IS0tIEFjdGlvbiBCdXR0b24gLS0+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8Y3FhLWJ1dHRvblxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25TZWN0aW9uQWN0aW9uKHNlY3Rpb24uaWQpXCJcbiAgICAgICAgICAgICAgICBbY3VzdG9tQ2xhc3NdPVwiJ2NxYS1weS1bOXB4XSBjcWEtdGV4dC1bMTRweF0gY3FhLWxlYWRpbmctWzE3cHhdIGNxYS1ib3JkZXItc2xhdGUgY3FhLXRleHQtc2xhdGUgY3FhLXRyYW5zaXRpb24gY3FhLWR1cmF0aW9uLTE1MCBjcWEtZWFzZS1pbi1vdXQgaG92ZXI6Y3FhLWJvcmRlci1wcmltYXJ5IGhvdmVyOmNxYS10ZXh0LXByaW1hcnkgaG92ZXI6Y3FhLWJnLXByaW1hcnktc3VyZmFjZSdcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgc2VjdGlvbi5hY3Rpb25CdXR0b25MYWJlbCB9fVxuICAgICAgICAgICAgICA8L2NxYS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIFxuICA8Y3FhLWJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93QWlTdWdnZXN0aW9uQnV0dG9uXCJcbiAgICAgIHZhcmlhbnQ9XCJmaWxsZWRcIlxuICAgICAgKGNsaWNrZWQpPVwib25NYWluQWN0aW9uKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImlzQXBwbHlpbmdcIlxuICAgICAgW2N1c3RvbUNsYXNzXT1cIichY3FhLXctZnVsbCAhY3FhLXRleHQtWzE0cHhdICFjcWEtbGVhZGluZy1bMjBweF0gIWNxYS1mb250LXNlbWlib2xkJ1wiXG4gICAgPlxuICAgICAgPHN2ZyB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk05LjAxODgyIDBDOS4xMjk3OSAwLjA0NTQ3NjcgOS4xNzcxOCAwLjE1NjUzIDkuMjIyNjEgMC4yNTk2OTFDOS4yNDUzOSAwLjMxOTc5OSA5LjI2NjI4IDAuMzgwMjM0IDkuMjg2NTcgMC40NDExNUM5LjI5NDUyIDAuNDY0NDkzIDkuMzAyNDYgMC40ODc4MzYgOS4zMTA2NSAwLjUxMTg4NkM5LjQxNjEzIDAuODI2MDA5IDkuNTEwMDggMS4xNDM1IDkuNjA0NTcgMS40NjA3NkM5LjYyNTkzIDEuNTMyMzggOS42NDczOSAxLjYwMzk3IDkuNjY4ODUgMS42NzU1N0M5Ljc3ODEgMi4wNDAwNyA5Ljg4NjU0IDIuNDA0OCA5Ljk5NDM4IDIuNzY5NjlDMTAuMDA5NSAyLjgyMDkzIDEwLjAyNDcgMi44NzIxOCAxMC4wMzk4IDIuOTIzNDJDMTAuMDgyNiAzLjA2NzkgMTAuMTI1MiAzLjIxMjM5IDEwLjE2NzcgMy4zNTY5NEMxMC4yNTczIDMuNjYyMzkgMTAuMzQ5NSAzLjk2Njk1IDEwLjQ0NzYgNC4yNzAwMkMxMC40NTYxIDQuMjk2NTMgMTAuNDY0NyA0LjMyMzA1IDEwLjQ3MzUgNC4zNTAzNkMxMC43Mjg0IDUuMTI5OTkgMTEuMDg5NiA1LjgyODc1IDExLjY4MTggNi40MjM5M0MxMS42OTY1IDYuNDM5NCAxMS43MTExIDYuNDU0ODggMTEuNzI2MiA2LjQ3MDgzQzExLjk3OSA2LjcyODc1IDEyLjMwMzQgNi45MzU0MSAxMi42Mjc2IDcuMTAyMjFDMTIuNjQ0MSA3LjExMDg1IDEyLjY2MDYgNy4xMTk0OCAxMi42Nzc2IDcuMTI4MzhDMTMuNjMxNyA3LjYxODUxIDE0Ljc3OSA3LjgzNDA3IDE1LjgxMjQgOC4xMjEwMUMxNi4yNjUyIDguMjQ2ODEgMTYuNzE2NiA4LjM3NjU4IDE3LjE2NjMgOC41MTIwNkMxNy4xOTc5IDguNTIxNTcgMTcuMjI5NiA4LjUzMTA3IDE3LjI2MTIgOC41NDA1NUMxNy4zNTU3IDguNTY4OSAxNy40NSA4LjU5Nzc0IDE3LjU0NDIgOC42MjY5NEMxNy41NjYyIDguNjMzNTggMTcuNTg4MiA4LjY0MDIzIDE3LjYxMDggOC42NDcwN0MxNy43NDA2IDguNjg4MTIgMTcuODY0OCA4LjczNjU4IDE3Ljk3MTMgOC44MjA1NEMxOC4wMDM4IDguODg4MzcgMTguMDAzOCA4Ljg4ODM3IDE3Ljk5NSA4Ljk1NjE5QzE3Ljg5MTMgOS4wNTQ3MiAxNy43ODg0IDkuMTAwOTIgMTcuNjUxNiA5LjE0NTk5QzE3LjYzMiA5LjE1MjY0IDE3LjYxMjQgOS4xNTkzIDE3LjU5MjMgOS4xNjYxNUMxNy4zNjEyIDkuMjQzNjYgMTcuMTI3IDkuMzExNDkgMTYuODkyNSA5LjM3ODcxQzE2Ljg0NDQgOS4zOTI2MSAxNi43OTYzIDkuNDA2NTEgMTYuNzQ4MiA5LjQyMDQyQzE2LjQ1MTQgOS41MDYwMyAxNi4xNTQyIDkuNTg5OCAxNS44NTY2IDkuNjcyNjNDMTUuNDY0NiA5Ljc4MTc1IDE1LjA3MzMgOS44OTI2OCAxNC42ODIzIDEwLjAwNDlDMTQuNjE4MiAxMC4wMjMyIDE0LjU1NDEgMTAuMDQxNiAxNC40OSAxMC4wNTk4QzE0LjE1MzQgMTAuMTU1NyAxMy44MTg1IDEwLjI1NTEgMTMuNDg2MyAxMC4zNjQyQzEzLjQ1ODcgMTAuMzczMiAxMy40MzEyIDEwLjM4MjIgMTMuNDAyOCAxMC4zOTE1QzEyLjI5MDIgMTAuNzYxNiAxMS40NDIyIDExLjQ1MjIgMTAuOTExNCAxMi40NjJDMTAuNjI1MyAxMy4wMjk1IDEwLjQ1NjUgMTMuNjQzMiAxMC4yODQzIDE0LjI0ODlDMTAuMjM3NyAxNC40MTI0IDEwLjE4ODIgMTQuNTc0OSAxMC4xMzgxIDE0LjczNzRDMTAuMDk4OCAxNC44NjUyIDEwLjA2MDQgMTQuOTkzMyAxMC4wMjMgMTUuMTIxNkMxMC4wMTg1IDE1LjEzNjkgMTAuMDE0MSAxNS4xNTIyIDEwLjAwOTUgMTUuMTY3OUM5Ljk4Nzg4IDE1LjI0MTkgOS45NjYzOCAxNS4zMTU5IDkuOTQ1MDMgMTUuMzg5OUM5Ljg5MDM5IDE1LjU3NzYgOS44MzE1NiAxNS43NjM3IDkuNzcxMTEgMTUuOTQ5OEM5LjY2MzgzIDE2LjI4MDQgOS41NjYyIDE2LjYxMzUgOS40NjkxNyAxNi45NDdDOS4zMjI4OCAxNy40NDkxIDkuMzIyODggMTcuNDQ5MSA5LjIzOTkzIDE3LjY5MDVDOS4yMzQ0MyAxNy43MDY3IDkuMjI4OTMgMTcuNzIyOSA5LjIyMzI2IDE3LjczOTZDOS4xOTI5OCAxNy44MjU2IDkuMTYxODMgMTcuOTA0NyA5LjEwNDUzIDE3Ljk3NzRDOS4wMTczNCAxNy45OTU4IDkuMDE3MzQgMTcuOTk1OCA4LjkzOTAxIDE4QzguODQ5NDYgMTcuODc1MiA4Ljc5MDE2IDE3Ljc1NDIgOC43NDI2NSAxNy42MTAyQzguNzM1NzQgMTcuNTg5NyA4LjcyODgyIDE3LjU2OTMgOC43MjE3IDE3LjU0ODNDOC42MzM2OCAxNy4yODUgOC41NTUwMiAxNy4wMTg5IDguNDc2MzQgMTYuNzUyOUM4LjQ1ODMyIDE2LjY5MjEgOC40NDAyMiAxNi42MzEzIDguNDIyMTEgMTYuNTcwNUM4LjI4NzIgMTYuMTE3MyA4LjE1NDUxIDE1LjY2MzUgOC4wMjIwMiAxNS4yMDk2QzcuNDcwMTQgMTIuOTY0NSA3LjQ3MDE0IDEyLjk2NDUgNi4wNzggMTEuMTQ5M0M2LjA1NTY5IDExLjEzMTkgNi4wMzMzOCAxMS4xMTQ1IDYuMDEwMzkgMTEuMDk2NkM1LjA5ODI2IDEwLjM5OCAzLjg5NjY3IDEwLjEzOTQgMi43OTYzIDkuODM2MjdDMi41MjQxNSA5Ljc2MTI0IDIuMjUyMSA5LjY4NTg3IDEuOTgwMDYgOS42MTA0NkMxLjk1NjI4IDkuNjAzODYgMS45NTYyOCA5LjYwMzg2IDEuOTMyMDEgOS41OTcxNEMxLjUzOTYyIDkuNDg4MzQgMS4xNDczNSA5LjM3OTI1IDAuNzU2NDQ4IDkuMjY1NjZDMC43Mzk5MTEgOS4yNjA4OSAwLjcyMzM3NSA5LjI1NjEyIDAuNzA2MzM4IDkuMjUxMjFDMC4xMDU3OTggOS4wNzc2NyAwLjEwNTc5OCA5LjA3NzY3IDAuMDAxMjkzMDcgOC45NTYxOUMtMC4wMDE2NjI1MiA4LjkwMTA4IC0wLjAwMTY2MjUyIDguOTAxMDggMC4wMjQ5Mzc4IDguODQzMTVDMC4xMzQxNjcgOC43NDA4IDAuMjQwMTUzIDguNjk2OTYgMC4zODQzMiA4LjY1MjM4QzAuNDA1MTk0IDguNjQ1NjcgMC40MjYwNjggOC42Mzg5NyAwLjQ0NzU3NCA4LjYzMjA2QzAuNTExNTA2IDguNjExNjQgMC41NzU1NzcgOC41OTE2OSAwLjYzOTcwMiA4LjU3MTgzQzAuNjU4MDAxIDguNTY2MDkgMC42NzYzMDEgOC41NjAzNSAwLjY5NTE1NSA4LjU1NDQzQzAuODI0NTcgOC41MTM4NSAwLjk1NDQ1IDguNDc0NzkgMS4wODQ1MiA4LjQzNjE4QzEuMTE2NDggOC40MjY2NSAxLjExNjQ4IDguNDI2NjUgMS4xNDkwOSA4LjQxNjkzQzEuNzA0NTQgOC4yNTE3NCAyLjI2MzYxIDguMDk4MDEgMi44MjI1MiA3Ljk0MzkyQzMuMjM4OTkgNy44MjkwOSAzLjY1NDc2IDcuNzEyMzYgNC4wNjkyMSA3LjU5MDk3QzQuMDg4MjUgNy41ODU0MiA0LjEwNzMgNy41Nzk4NyA0LjEyNjkyIDcuNTc0MTVDNS4wODcgNy4yOTM5MyA2LjAyNTU3IDYuODk2MzIgNi42NDU0NyA2LjEwNzRDNi42NTQ3NSA2LjA5NTY5IDYuNjY0MDMgNi4wODM5OSA2LjY3MzYgNi4wNzE5NEM3LjM2Mzk1IDUuMTk2MyA3LjYzMzE1IDQuMTMxNDUgNy45MzM5MSAzLjA5MjQxQzguMDMyODUgMi43NTA2OSA4LjEzMjk4IDIuNDA5MjkgOC4yMzM0NSAyLjA2Nzk4QzguMjYxMjcgMS45NzM0NyA4LjI4OTA2IDEuODc4OTQgOC4zMTY3MyAxLjc4NDM5QzguNDI3ODggMS40MDQ1OCA4LjU0MDcgMS4wMjUyOCA4LjY2IDAuNjQ3NzI3QzguNjcxMTYgMC42MTIzNzIgOC42ODIyNyAwLjU3NzAwMSA4LjY5MzMzIDAuNTQxNjE0QzguODYwMzUgMC4wMDc5NzUyMiA4Ljg2MDM1IDAuMDA3OTc1MjIgOS4wMTg4MiAwWlwiIGZpbGw9XCIjRkJGQ0ZGXCIvPjxwYXRoIGQ9XCJNMTQuNDcxOSAxLjExMDY5QzE0LjU4MDUgMS4yMjgxNyAxNC42MDIyIDEuMzY2MjQgMTQuNjM2IDEuNTE2MjVDMTQuNzQ4NyAxLjk4NzUxIDE0Ljg3ODYgMi40MjA4NCAxNS4zMjkzIDIuNjk0NkMxNS42MDc0IDIuODQxNjcgMTUuOTM4OSAyLjkwODU5IDE2LjI0NyAyLjk3MThDMTYuMzc3MSAyLjk5OTAyIDE2LjQ4NjkgMy4wMzUxNSAxNi41OTg1IDMuMTA3NEMxNi42MjM2IDMuMTQ1NTUgMTYuNjIzNiAzLjE0NTU1IDE2LjYyMjEgMy4yMTE5N0MxNi41OTYzIDMuMjkyNzMgMTYuNTczNiAzLjMxODc4IDE2LjUwNTQgMy4zNzE2NUMxNi40MzA4IDMuMzk1NDkgMTYuNDMwOCAzLjM5NTQ5IDE2LjM0MTMgMy40MTQwNEMxNi4zMDc1IDMuNDIxNDcgMTYuMjczNiAzLjQyODk4IDE2LjIzOTggMy40MzY1NkMxNi4yMjE3IDMuNDQwNTggMTYuMjAzNiAzLjQ0NDYgMTYuMTg0OSAzLjQ0ODc0QzE1LjYzMzkgMy41NzA2MiAxNS42MzM5IDMuNTcwNjIgMTUuMTU3NiAzLjg0NjQ1QzE1LjE0MjEgMy44NTgzNyAxNS4xMjY3IDMuODcwMjkgMTUuMTEwNyAzLjg4MjU3QzE0Ljc3MDMgNC4xNjk1OSAxNC42OTgzIDQuNjQ3MDMgMTQuNTk1OCA1LjA0Njk5QzE0LjU5IDUuMDY4OTYgMTQuNTg0MSA1LjA5MDkyIDE0LjU3OCA1LjExMzU1QzE0LjU3MyA1LjEzMyAxNC41Njc5IDUuMTUyNDQgMTQuNTYyNyA1LjE3MjQ4QzE0LjU0MDUgNS4yMzE4NSAxNC41MTc2IDUuMjcwNTcgMTQuNDcxOSA1LjMxNjA3QzE0LjM0NDcgNS4zMzE1MiAxNC4zNDQ3IDUuMzMxNTIgMTQuMjgyOCA1LjMxNjA3QzE0LjE4NDMgNS4yNDMwOSAxNC4xNjIzIDUuMTU5OTcgMTQuMTM2NiA1LjA0ODI4QzE0LjEzMjIgNS4wMzA5OSAxNC4xMjc5IDUuMDEzNjkgMTQuMTIzNSA0Ljk5NTg3QzE0LjEwOTggNC45NDA2NCAxNC4wOTY1IDQuODg1MzEgMTQuMDgzMyA0LjgyOTk2QzEzLjk3OTYgNC4zOTg5MSAxMy44NjI1IDMuOTc2IDEzLjQ0OSAzLjcyMzMzQzEzLjEyNTggMy41NTEwMSAxMi43MzI5IDMuNDY5NTEgMTIuMzcxNyAzLjQwMzdDMTIuMjcyNyAzLjM4Mzk5IDEyLjIxNiAzLjM1OTIgMTIuMTU0NyAzLjI4MTIxQzEyLjE0MTQgMy4yMDIwOCAxMi4xNDE0IDMuMjAyMDggMTIuMTU0NyAzLjEyMjk0QzEyLjI0ODkgMy4wMjk3MSAxMi4zNDggMy4wMDY5NiAxMi40NzU0IDIuOTc4ODFDMTIuNTE1NiAyLjk2OTMgMTIuNTU1NyAyLjk1OTczIDEyLjU5NTggMi45NTAxQzEyLjYxNjUgMi45NDUxNiAxMi42MzcyIDIuOTQwMjIgMTIuNjU4NiAyLjkzNTEyQzEyLjc2NDIgMi45MDkxMSAxMi44Njg5IDIuODc5OTUgMTIuOTczNCAyLjg1MDIxQzEyLjk5MjQgMi44NDQ5NCAxMy4wMTE0IDIuODM5NjcgMTMuMDMxIDIuODM0MjRDMTMuMjQzNiAyLjc3MzQ2IDEzLjQyNzEgMi42OTU3MSAxMy41OTcxIDIuNTU3N0MxMy42MTI5IDIuNTQ1MjMgMTMuNjI4OCAyLjUzMjc2IDEzLjY0NTEgMi41MTk5QzEzLjkwOTYgMi4yOTIyOCAxMy45OTk1IDEuOTUwMzIgMTQuMDgxIDEuNjMxMjRDMTQuMDg3MyAxLjYwNzAyIDE0LjA5MzUgMS41ODI4IDE0LjA5OTkgMS41NTc4NEMxNC4xMTIzIDEuNTA5MTggMTQuMTI0NCAxLjQ2MDQ2IDE0LjEzNjMgMS40MTE3QzE0LjE0NDkgMS4zNzc3NiAxNC4xNDQ5IDEuMzc3NzYgMTQuMTUzNSAxLjM0MzE1QzE0LjE1ODUgMS4zMjI4OCAxNC4xNjM1IDEuMzAyNjEgMTQuMTY4NiAxLjI4MTcyQzE0LjE5MDQgMS4yMTcxOSAxNC4yMTkgMS4xNjY1MiAxNC4yNTkxIDEuMTEwNjlDMTQuMzM2MiAxLjA3Mzg1IDE0LjM5MDMgMS4wOTA1IDE0LjQ3MTkgMS4xMTA2OVpcIiBmaWxsPVwiI0ZCRkNGRlwiLz48cGF0aCBkPVwiTTMuNTkwODkgMTIuNDk0MkMzLjYxOTAyIDEyLjQ5NDQgMy42MTkwMiAxMi40OTQ0IDMuNjQ3NzIgMTIuNDk0NkMzLjg0OTU0IDEyLjUwMDQgMy45ODYwOSAxMi41NjIzIDQuMTM0NzIgMTIuNjkyQzQuMzA3NjcgMTIuODcwNyA0LjM4NzUzIDEzLjA3MjIgNC4zODI5OSAxMy4zMTNDNC4zNjM1NyAxMy41MDgyIDQuMjQzMTYgMTMuNjc4NyA0LjA5NTQ3IDEzLjgxMDdDMy45MjE2MyAxMy45NDQ4IDMuNzQ2MjYgMTMuOTg5MiAzLjUyNDExIDEzLjk4M0MzLjMzNjgxIDEzLjk2MjEgMy4xNjA2IDEzLjg3NyAzLjAyNzg1IDEzLjc0OUMyLjg2Mjc2IDEzLjUzMzYgMi44MTQ1IDEzLjMzNjEgMi44Mzg2OSAxMy4wNzA3QzIuODg4NjcgMTIuODYxOCAzLjAzMjc0IDEyLjY5MjMgMy4yMTcwMSAxMi41NzMzQzMuMzQ1MDIgMTIuNTExMyAzLjQ0Nzk4IDEyLjQ5MyAzLjU5MDg5IDEyLjQ5NDJaXCIgZmlsbD1cIiNGQkZDRkZcIi8+PC9zdmc+XG4gICAgICB7eyBpc0FwcGx5aW5nID8gJ0FwcGx5aW5nIHN1Z2dlc3Rpb24nIDogJ0FwcGx5IHN1Z2dlc3Rpb24nIH19XG4gICAgPC9jcWEtYnV0dG9uPlxuXG48L2Rpdj5cbiBcbiJdfQ==
@@ -25,10 +25,10 @@ export class MetricsBlockComponent {
25
25
  }
26
26
  }
27
27
  MetricsBlockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MetricsBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
- MetricsBlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: MetricsBlockComponent, selector: "cqa-metrics-block", inputs: { item: "item", progress: "progress", layout: "layout", itemslength: "itemslength" }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div\n [ngClass]=\"[layout === '1'\n ? 'cqa-flex cqa-justify-center cqa-items-center cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-5 cqa-gap-3 cqa-w-full md:cqa-h-[62px] cqa-border-b-0 cqa-border-[#E5E7EB]'\n : 'cqa-flex cqa-flex-col cqa-justify-start cqa-items-start cqa-py-3 md:cqa-py-1 lg:cqa-px-5 cqa-px-2 cqa-w-full md:cqa-h-[53px]', itemslength == item.id ? 'cqa-border-l md:cqa-border-l-0 md:cqa-border-l' : '' , item.id == '1' && layout === '1' ? 'cqa-border-l md:cqa-border-r' : '']\">\n <ng-container *ngIf=\"layout === '1'; else layout2\">\n <!-- [ngClass]=\"{ 'border-l md:border-l-0': itemslength == item.id }\" -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-10 cqa-h-10 cqa-min-w-[40px] cqa-rounded-[10px]\"\n [ngClass]=\"item.accentBgClass || 'cqa-bg-[#EEF2FF]'\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-items-start cqa-gap-0.5 cqa-w-full cqa-h-auto cqa-flex-1 cqa-truncate\">\n <div class=\"cqa-w-full cqa-h-4 cqa-text-[12px] cqa-leading-4 cqa-font-medium cqa-text-[#6A7282]\">{{ item.label\n }}</div>\n <div class=\"cqa-w-full cqa-h-7 cqa-gap-2 cqa-flex\"\n [ngClass]=\"item.subtext ? 'cqa-justify-between cqa-items-center' : 'cqa-justify-start cqa-items-center'\">\n <div\n class=\"cqa-text-[20px] cqa-leading-[28px] cqa-font-semibold cqa-tracking-[-0.449219px] cqa-text-[#101828]\">\n {{ item.value | number }}</div>\n <div *ngIf=\"item.subtext\"\n class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-truncate cqa-hidden sm:cqa-block\">{{\n item.subtext }}</div>\n </div>\n <div class=\"cqa-w-full cqa-h-1 cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"item.colorClass || 'cqa-bg-[#3F43EE]'\"\n [style.width]=\"progress\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #layout2>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[16px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <span class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6B7280]\">{{ item.label }}</span>\n </div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1.5 cqa-w-full cqa-justify-between\">\n <h6 class=\"cqa-text-[16px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\">{{ item.value | number }}\n </h6>\n <span *ngIf=\"item.percent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(item.percent)\">{{ formatPercent(item.percent) }}</span>\n </div>\n </ng-template>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i2.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
+ MetricsBlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: MetricsBlockComponent, selector: "cqa-metrics-block", inputs: { item: "item", progress: "progress", layout: "layout", itemslength: "itemslength" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div\n [ngClass]=\"[layout === '1'\n ? 'cqa-flex cqa-justify-center cqa-items-center cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-5 cqa-gap-3 cqa-w-full md:cqa-h-[62px] cqa-border-b-0 cqa-border-[#E5E7EB]'\n : 'cqa-flex cqa-flex-col cqa-justify-start cqa-items-start cqa-py-3 md:cqa-py-1 lg:cqa-px-5 cqa-px-2 cqa-w-full md:cqa-h-[53px]', itemslength == item.id ? 'cqa-border-l md:cqa-border-l-0 md:cqa-border-l' : '' , item.id == '1' && layout === '1' ? 'cqa-border-l md:cqa-border-r' : '']\">\n <ng-container *ngIf=\"layout === '1'; else layout2\">\n <!-- [ngClass]=\"{ 'border-l md:border-l-0': itemslength == item.id }\" -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-10 cqa-h-10 cqa-min-w-[40px] cqa-rounded-[10px]\"\n [ngClass]=\"item.accentBgClass || 'cqa-bg-[#EEF2FF]'\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-items-start cqa-gap-0.5 cqa-w-full cqa-h-auto cqa-flex-1 cqa-truncate\">\n <div class=\"cqa-w-full cqa-h-4 cqa-text-[12px] cqa-leading-4 cqa-font-medium cqa-text-[#6A7282]\">{{ item.label\n }}</div>\n <div class=\"cqa-w-full cqa-h-7 cqa-gap-2 cqa-flex\"\n [ngClass]=\"item.subtext ? 'cqa-justify-between cqa-items-center' : 'cqa-justify-start cqa-items-center'\">\n <div\n class=\"cqa-text-[20px] cqa-leading-[28px] cqa-font-semibold cqa-tracking-[-0.449219px] cqa-text-[#101828]\">\n {{ item.value | number }}</div>\n <div *ngIf=\"item.subtext\"\n class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-truncate cqa-hidden sm:cqa-block\">{{\n item.subtext }}</div>\n </div>\n <div class=\"cqa-w-full cqa-h-1 cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"item.colorClass || 'cqa-bg-[#3F43EE]'\"\n [style.width]=\"progress\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #layout2>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[16px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <span class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6B7280]\">{{ item.label }}</span>\n </div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1.5 cqa-w-full cqa-justify-between\">\n <h6 class=\"cqa-text-[16px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\">{{ item.value | number }}\n </h6>\n <span *ngIf=\"item.percent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(item.percent)\">{{ formatPercent(item.percent) }}</span>\n </div>\n </ng-template>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i2.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MetricsBlockComponent, decorators: [{
30
30
  type: Component,
31
- args: [{ selector: 'cqa-metrics-block', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\">\n <div\n [ngClass]=\"[layout === '1'\n ? 'cqa-flex cqa-justify-center cqa-items-center cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-5 cqa-gap-3 cqa-w-full md:cqa-h-[62px] cqa-border-b-0 cqa-border-[#E5E7EB]'\n : 'cqa-flex cqa-flex-col cqa-justify-start cqa-items-start cqa-py-3 md:cqa-py-1 lg:cqa-px-5 cqa-px-2 cqa-w-full md:cqa-h-[53px]', itemslength == item.id ? 'cqa-border-l md:cqa-border-l-0 md:cqa-border-l' : '' , item.id == '1' && layout === '1' ? 'cqa-border-l md:cqa-border-r' : '']\">\n <ng-container *ngIf=\"layout === '1'; else layout2\">\n <!-- [ngClass]=\"{ 'border-l md:border-l-0': itemslength == item.id }\" -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-10 cqa-h-10 cqa-min-w-[40px] cqa-rounded-[10px]\"\n [ngClass]=\"item.accentBgClass || 'cqa-bg-[#EEF2FF]'\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-items-start cqa-gap-0.5 cqa-w-full cqa-h-auto cqa-flex-1 cqa-truncate\">\n <div class=\"cqa-w-full cqa-h-4 cqa-text-[12px] cqa-leading-4 cqa-font-medium cqa-text-[#6A7282]\">{{ item.label\n }}</div>\n <div class=\"cqa-w-full cqa-h-7 cqa-gap-2 cqa-flex\"\n [ngClass]=\"item.subtext ? 'cqa-justify-between cqa-items-center' : 'cqa-justify-start cqa-items-center'\">\n <div\n class=\"cqa-text-[20px] cqa-leading-[28px] cqa-font-semibold cqa-tracking-[-0.449219px] cqa-text-[#101828]\">\n {{ item.value | number }}</div>\n <div *ngIf=\"item.subtext\"\n class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-truncate cqa-hidden sm:cqa-block\">{{\n item.subtext }}</div>\n </div>\n <div class=\"cqa-w-full cqa-h-1 cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"item.colorClass || 'cqa-bg-[#3F43EE]'\"\n [style.width]=\"progress\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #layout2>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[16px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <span class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6B7280]\">{{ item.label }}</span>\n </div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1.5 cqa-w-full cqa-justify-between\">\n <h6 class=\"cqa-text-[16px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\">{{ item.value | number }}\n </h6>\n <span *ngIf=\"item.percent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(item.percent)\">{{ formatPercent(item.percent) }}</span>\n </div>\n </ng-template>\n </div>\n</div>", styles: [] }]
31
+ args: [{ selector: 'cqa-metrics-block', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cqa-ui-root\">\n <div\n [ngClass]=\"[layout === '1'\n ? 'cqa-flex cqa-justify-center cqa-items-center cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-5 cqa-gap-3 cqa-w-full md:cqa-h-[62px] cqa-border-b-0 cqa-border-[#E5E7EB]'\n : 'cqa-flex cqa-flex-col cqa-justify-start cqa-items-start cqa-py-3 md:cqa-py-1 lg:cqa-px-5 cqa-px-2 cqa-w-full md:cqa-h-[53px]', itemslength == item.id ? 'cqa-border-l md:cqa-border-l-0 md:cqa-border-l' : '' , item.id == '1' && layout === '1' ? 'cqa-border-l md:cqa-border-r' : '']\">\n <ng-container *ngIf=\"layout === '1'; else layout2\">\n <!-- [ngClass]=\"{ 'border-l md:border-l-0': itemslength == item.id }\" -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-10 cqa-h-10 cqa-min-w-[40px] cqa-rounded-[10px]\"\n [ngClass]=\"item.accentBgClass || 'cqa-bg-[#EEF2FF]'\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[20px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n </div>\n <div class=\"cqa-flex cqa-flex-col cqa-items-start cqa-gap-0.5 cqa-w-full cqa-h-auto cqa-flex-1 cqa-truncate\">\n <div class=\"cqa-w-full cqa-h-4 cqa-text-[12px] cqa-leading-4 cqa-font-medium cqa-text-[#6A7282]\">{{ item.label\n }}</div>\n <div class=\"cqa-w-full cqa-h-7 cqa-gap-2 cqa-flex\"\n [ngClass]=\"item.subtext ? 'cqa-justify-between cqa-items-center' : 'cqa-justify-start cqa-items-center'\">\n <div\n class=\"cqa-text-[20px] cqa-leading-[28px] cqa-font-semibold cqa-tracking-[-0.449219px] cqa-text-[#101828]\">\n {{ item.value | number }}</div>\n <div *ngIf=\"item.subtext\"\n class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6A7282] cqa-truncate cqa-hidden sm:cqa-block\">{{\n item.subtext }}</div>\n </div>\n <div class=\"cqa-w-full cqa-h-1 cqa-rounded-full cqa-bg-[#F3F4F6] cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [ngClass]=\"item.colorClass || 'cqa-bg-[#3F43EE]'\"\n [style.width]=\"progress\"></div>\n </div>\n </div>\n </ng-container>\n <ng-template #layout2>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1\">\n <mat-icon class=\"!cqa-w-5 !cqa-h-5 !cqa-text-[16px]\" [ngClass]=\"item.iconColorClass || 'cqa-text-[#3F43EE]'\"\n *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\n <span class=\"cqa-text-[12px] cqa-leading-4 cqa-text-[#6B7280]\">{{ item.label }}</span>\n </div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-1.5 cqa-w-full cqa-justify-between\">\n <h6 class=\"cqa-text-[16px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\">{{ item.value | number }}\n </h6>\n <span *ngIf=\"item.percent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(item.percent)\">{{ formatPercent(item.percent) }}</span>\n </div>\n </ng-template>\n </div>\n</div>", styles: [] }]
32
32
  }], propDecorators: { item: [{
33
33
  type: Input
34
34
  }], progress: [{
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
38
38
  }], itemslength: [{
39
39
  type: Input
40
40
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvbWV0cmljcy1jYXJkL21ldHJpY3MtYmxvY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXNoYm9hcmRzL21ldHJpY3MtY2FyZC9tZXRyaWNzLWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzFFLE1BQU0sT0FBTyxxQkFBcUI7SUFObEM7UUFRVyxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLFdBQU0sR0FBVyxHQUFHLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxHQUFHLENBQUM7S0FjcEM7SUFaQyxhQUFhLENBQUMsS0FBYztRQUMxQixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzVFLE1BQU0sSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsT0FBTyxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWM7UUFDekIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQzlGLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQzNDLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQzNDLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQzs7a0hBakJVLHFCQUFxQjtzR0FBckIscUJBQXFCLHVKQ1RsQyxpOUZBNENNOzJGRG5DTyxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1ldHJpY3NDYXJkSXRlbSB9IGZyb20gJy4vbWV0cmljcy1jYXJkLWl0ZW0uaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW1ldHJpY3MtYmxvY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0cmljcy1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRyaWNzQmxvY2tDb21wb25lbnQge1xuICBASW5wdXQoKSBpdGVtITogTWV0cmljc0NhcmRJdGVtO1xuICBASW5wdXQoKSBwcm9ncmVzczogc3RyaW5nID0gJzAlJztcbiAgQElucHV0KCkgbGF5b3V0OiBzdHJpbmcgPSAnMSc7XG4gIEBJbnB1dCgpIGl0ZW1zbGVuZ3RoOiBzdHJpbmcgPSAnMCc7XG5cbiAgZm9ybWF0UGVyY2VudCh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkgcmV0dXJuICcnO1xuICAgIGNvbnN0IHNpZ24gPSB2YWx1ZSA+IDAgPyAnKycgOiB2YWx1ZSA8IDAgPyAnJyA6ICcnO1xuICAgIHJldHVybiBgJHtzaWdufSR7dmFsdWV9JWA7XG4gIH1cblxuICBwZXJjZW50Q2xhc3ModmFsdWU/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IE51bWJlci5pc05hTih2YWx1ZSkpIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgICBpZiAodmFsdWUgPiAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjMTBCOTgxXSc7XG4gICAgaWYgKHZhbHVlIDwgMCkgcmV0dXJuICdjcWEtdGV4dC1bI0VGNDQ0NF0nO1xuICAgIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgfVxufVxuXG5cbiIsIjxkaXYgaWQ9XCJjcWEtdWktcm9vdFwiPlxuICA8ZGl2XG4gICAgW25nQ2xhc3NdPVwiW2xheW91dCA9PT0gJzEnXG4gICAgPyAnY3FhLWZsZXggY3FhLWp1c3RpZnktY2VudGVyIGNxYS1pdGVtcy1jZW50ZXIgY3FhLXB5LTMgbWQ6Y3FhLXB0LTEgbWQ6Y3FhLXBiLTAuNSBjcWEtcHgtNSBjcWEtZ2FwLTMgY3FhLXctZnVsbCBtZDpjcWEtaC1bNjJweF0gY3FhLWJvcmRlci1iLTAgY3FhLWJvcmRlci1bI0U1RTdFQl0nXG4gICAgOiAnY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1qdXN0aWZ5LXN0YXJ0IGNxYS1pdGVtcy1zdGFydCBjcWEtcHktMyBtZDpjcWEtcHktMSBsZzpjcWEtcHgtNSBjcWEtcHgtMiBjcWEtdy1mdWxsIG1kOmNxYS1oLVs1M3B4XScsIGl0ZW1zbGVuZ3RoID09IGl0ZW0uaWQgPyAnY3FhLWJvcmRlci1sIG1kOmNxYS1ib3JkZXItbC0wIG1kOmNxYS1ib3JkZXItbCcgOiAnJyAsIGl0ZW0uaWQgPT0gJzEnICYmIGxheW91dCA9PT0gJzEnID8gJ2NxYS1ib3JkZXItbCBtZDpjcWEtYm9yZGVyLXInIDogJyddXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dCA9PT0gJzEnOyBlbHNlIGxheW91dDJcIj5cbiAgICAgIDwhLS0gW25nQ2xhc3NdPVwieyAnYm9yZGVyLWwgbWQ6Ym9yZGVyLWwtMCc6IGl0ZW1zbGVuZ3RoID09IGl0ZW0uaWQgfVwiIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LTEwIGNxYS1oLTEwIGNxYS1taW4tdy1bNDBweF0gY3FhLXJvdW5kZWQtWzEwcHhdXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5hY2NlbnRCZ0NsYXNzIHx8ICdjcWEtYmctWyNFRUYyRkZdJ1wiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXctNSAhY3FhLWgtNSAhY3FhLXRleHQtWzIwcHhdXCIgW25nQ2xhc3NdPVwiaXRlbS5pY29uQ29sb3JDbGFzcyB8fCAnY3FhLXRleHQtWyMzRjQzRUVdJ1wiXG4gICAgICAgICAgKm5nSWY9XCJpdGVtLmljb25cIj57eyBpdGVtLmljb24gfX08L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1zdGFydCBjcWEtZ2FwLTAuNSBjcWEtdy1mdWxsIGNxYS1oLWF1dG8gY3FhLWZsZXgtMSBjcWEtdHJ1bmNhdGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWgtNCBjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNCBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyM2QTcyODJdXCI+e3sgaXRlbS5sYWJlbFxuICAgICAgICAgIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLTcgY3FhLWdhcC0yIGNxYS1mbGV4XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLnN1YnRleHQgPyAnY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtaXRlbXMtY2VudGVyJyA6ICdjcWEtanVzdGlmeS1zdGFydCBjcWEtaXRlbXMtY2VudGVyJ1wiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY3FhLXRleHQtWzIwcHhdIGNxYS1sZWFkaW5nLVsyOHB4XSBjcWEtZm9udC1zZW1pYm9sZCBjcWEtdHJhY2tpbmctWy0wLjQ0OTIxOXB4XSBjcWEtdGV4dC1bIzEwMTgyOF1cIj5cbiAgICAgICAgICAgIHt7IGl0ZW0udmFsdWUgfCBudW1iZXIgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5zdWJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLTQgY3FhLXRleHQtWyM2QTcyODJdIGNxYS10cnVuY2F0ZSBjcWEtaGlkZGVuIHNtOmNxYS1ibG9ja1wiPnt7XG4gICAgICAgICAgICBpdGVtLnN1YnRleHQgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLTEgY3FhLXJvdW5kZWQtZnVsbCBjcWEtYmctWyNGM0Y0RjZdIGNxYS1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtcm91bmRlZC1mdWxsXCIgW25nQ2xhc3NdPVwiaXRlbS5jb2xvckNsYXNzIHx8ICdjcWEtYmctWyMzRjQzRUVdJ1wiXG4gICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwicHJvZ3Jlc3NcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2xheW91dDI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTFcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiIWNxYS13LTUgIWNxYS1oLTUgIWNxYS10ZXh0LVsxNnB4XVwiIFtuZ0NsYXNzXT1cIml0ZW0uaWNvbkNvbG9yQ2xhc3MgfHwgJ2NxYS10ZXh0LVsjM0Y0M0VFXSdcIlxuICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uXCI+e3sgaXRlbS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNCBjcWEtdGV4dC1bIzZCNzI4MF1cIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTEuNSBjcWEtdy1mdWxsIGNxYS1qdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgPGg2IGNsYXNzPVwiY3FhLXRleHQtWzE2cHhdIGNxYS1sZWFkaW5nLTcgY3FhLXRyYWNraW5nLVstMC40NXB4XSBjcWEtdGV4dC1bIzExMTgyN11cIj57eyBpdGVtLnZhbHVlIHwgbnVtYmVyIH19XG4gICAgICAgIDwvaDY+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5wZXJjZW50ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy00XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJwZXJjZW50Q2xhc3MoaXRlbS5wZXJjZW50KVwiPnt7IGZvcm1hdFBlcmNlbnQoaXRlbS5wZXJjZW50KSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+Il19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy1ibG9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rhc2hib2FyZHMvbWV0cmljcy1jYXJkL21ldHJpY3MtYmxvY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kYXNoYm9hcmRzL21ldHJpY3MtY2FyZC9tZXRyaWNzLWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzFFLE1BQU0sT0FBTyxxQkFBcUI7SUFObEM7UUFRVyxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLFdBQU0sR0FBVyxHQUFHLENBQUM7UUFDckIsZ0JBQVcsR0FBVyxHQUFHLENBQUM7S0FjcEM7SUFaQyxhQUFhLENBQUMsS0FBYztRQUMxQixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzVFLE1BQU0sSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsT0FBTyxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWM7UUFDekIsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQzlGLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQzNDLElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQzNDLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQzs7a0hBakJVLHFCQUFxQjtzR0FBckIscUJBQXFCLHVKQ1RsQyxvOUZBNENNOzJGRG5DTyxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1ldHJpY3NDYXJkSXRlbSB9IGZyb20gJy4vbWV0cmljcy1jYXJkLWl0ZW0uaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLW1ldHJpY3MtYmxvY2snLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0cmljcy1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRyaWNzQmxvY2tDb21wb25lbnQge1xuICBASW5wdXQoKSBpdGVtITogTWV0cmljc0NhcmRJdGVtO1xuICBASW5wdXQoKSBwcm9ncmVzczogc3RyaW5nID0gJzAlJztcbiAgQElucHV0KCkgbGF5b3V0OiBzdHJpbmcgPSAnMSc7XG4gIEBJbnB1dCgpIGl0ZW1zbGVuZ3RoOiBzdHJpbmcgPSAnMCc7XG5cbiAgZm9ybWF0UGVyY2VudCh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkgcmV0dXJuICcnO1xuICAgIGNvbnN0IHNpZ24gPSB2YWx1ZSA+IDAgPyAnKycgOiB2YWx1ZSA8IDAgPyAnJyA6ICcnO1xuICAgIHJldHVybiBgJHtzaWdufSR7dmFsdWV9JWA7XG4gIH1cblxuICBwZXJjZW50Q2xhc3ModmFsdWU/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IE51bWJlci5pc05hTih2YWx1ZSkpIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgICBpZiAodmFsdWUgPiAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjMTBCOTgxXSc7XG4gICAgaWYgKHZhbHVlIDwgMCkgcmV0dXJuICdjcWEtdGV4dC1bI0VGNDQ0NF0nO1xuICAgIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgfVxufVxuXG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdFwiPlxuICA8ZGl2XG4gICAgW25nQ2xhc3NdPVwiW2xheW91dCA9PT0gJzEnXG4gICAgPyAnY3FhLWZsZXggY3FhLWp1c3RpZnktY2VudGVyIGNxYS1pdGVtcy1jZW50ZXIgY3FhLXB5LTMgbWQ6Y3FhLXB0LTEgbWQ6Y3FhLXBiLTAuNSBjcWEtcHgtNSBjcWEtZ2FwLTMgY3FhLXctZnVsbCBtZDpjcWEtaC1bNjJweF0gY3FhLWJvcmRlci1iLTAgY3FhLWJvcmRlci1bI0U1RTdFQl0nXG4gICAgOiAnY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1qdXN0aWZ5LXN0YXJ0IGNxYS1pdGVtcy1zdGFydCBjcWEtcHktMyBtZDpjcWEtcHktMSBsZzpjcWEtcHgtNSBjcWEtcHgtMiBjcWEtdy1mdWxsIG1kOmNxYS1oLVs1M3B4XScsIGl0ZW1zbGVuZ3RoID09IGl0ZW0uaWQgPyAnY3FhLWJvcmRlci1sIG1kOmNxYS1ib3JkZXItbC0wIG1kOmNxYS1ib3JkZXItbCcgOiAnJyAsIGl0ZW0uaWQgPT0gJzEnICYmIGxheW91dCA9PT0gJzEnID8gJ2NxYS1ib3JkZXItbCBtZDpjcWEtYm9yZGVyLXInIDogJyddXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dCA9PT0gJzEnOyBlbHNlIGxheW91dDJcIj5cbiAgICAgIDwhLS0gW25nQ2xhc3NdPVwieyAnYm9yZGVyLWwgbWQ6Ym9yZGVyLWwtMCc6IGl0ZW1zbGVuZ3RoID09IGl0ZW0uaWQgfVwiIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LTEwIGNxYS1oLTEwIGNxYS1taW4tdy1bNDBweF0gY3FhLXJvdW5kZWQtWzEwcHhdXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5hY2NlbnRCZ0NsYXNzIHx8ICdjcWEtYmctWyNFRUYyRkZdJ1wiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCIhY3FhLXctNSAhY3FhLWgtNSAhY3FhLXRleHQtWzIwcHhdXCIgW25nQ2xhc3NdPVwiaXRlbS5pY29uQ29sb3JDbGFzcyB8fCAnY3FhLXRleHQtWyMzRjQzRUVdJ1wiXG4gICAgICAgICAgKm5nSWY9XCJpdGVtLmljb25cIj57eyBpdGVtLmljb24gfX08L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1zdGFydCBjcWEtZ2FwLTAuNSBjcWEtdy1mdWxsIGNxYS1oLWF1dG8gY3FhLWZsZXgtMSBjcWEtdHJ1bmNhdGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWgtNCBjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNCBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWyM2QTcyODJdXCI+e3sgaXRlbS5sYWJlbFxuICAgICAgICAgIH19PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLTcgY3FhLWdhcC0yIGNxYS1mbGV4XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLnN1YnRleHQgPyAnY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtaXRlbXMtY2VudGVyJyA6ICdjcWEtanVzdGlmeS1zdGFydCBjcWEtaXRlbXMtY2VudGVyJ1wiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiY3FhLXRleHQtWzIwcHhdIGNxYS1sZWFkaW5nLVsyOHB4XSBjcWEtZm9udC1zZW1pYm9sZCBjcWEtdHJhY2tpbmctWy0wLjQ0OTIxOXB4XSBjcWEtdGV4dC1bIzEwMTgyOF1cIj5cbiAgICAgICAgICAgIHt7IGl0ZW0udmFsdWUgfCBudW1iZXIgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5zdWJ0ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLTQgY3FhLXRleHQtWyM2QTcyODJdIGNxYS10cnVuY2F0ZSBjcWEtaGlkZGVuIHNtOmNxYS1ibG9ja1wiPnt7XG4gICAgICAgICAgICBpdGVtLnN1YnRleHQgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdy1mdWxsIGNxYS1oLTEgY3FhLXJvdW5kZWQtZnVsbCBjcWEtYmctWyNGM0Y0RjZdIGNxYS1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtcm91bmRlZC1mdWxsXCIgW25nQ2xhc3NdPVwiaXRlbS5jb2xvckNsYXNzIHx8ICdjcWEtYmctWyMzRjQzRUVdJ1wiXG4gICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwicHJvZ3Jlc3NcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2xheW91dDI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTFcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiIWNxYS13LTUgIWNxYS1oLTUgIWNxYS10ZXh0LVsxNnB4XVwiIFtuZ0NsYXNzXT1cIml0ZW0uaWNvbkNvbG9yQ2xhc3MgfHwgJ2NxYS10ZXh0LVsjM0Y0M0VFXSdcIlxuICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uXCI+e3sgaXRlbS5pY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNCBjcWEtdGV4dC1bIzZCNzI4MF1cIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTEuNSBjcWEtdy1mdWxsIGNxYS1qdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgPGg2IGNsYXNzPVwiY3FhLXRleHQtWzE2cHhdIGNxYS1sZWFkaW5nLTcgY3FhLXRyYWNraW5nLVstMC40NXB4XSBjcWEtdGV4dC1bIzExMTgyN11cIj57eyBpdGVtLnZhbHVlIHwgbnVtYmVyIH19XG4gICAgICAgIDwvaDY+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5wZXJjZW50ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy00XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJwZXJjZW50Q2xhc3MoaXRlbS5wZXJjZW50KVwiPnt7IGZvcm1hdFBlcmNlbnQoaXRlbS5wZXJjZW50KSB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -40,10 +40,10 @@ export class MetricsCardComponent {
40
40
  }
41
41
  }
42
42
  MetricsCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MetricsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
- MetricsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: MetricsCardComponent, selector: "cqa-metrics-card", inputs: { icon: "icon", title: "title", total: "total", items: "items", cardClass: "cardClass", layout: "layout", totalPercent: "totalPercent" }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div *ngIf=\"layout === '1'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-border-t-2 cqa-border-r cqa-border-b-0 cqa-border-l cqa-border-solid cqa-border-[#3F43EE] cqa-rounded-[10px] cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 sm:cqa-grid-cols-2 md:cqa-grid-cols-4 cqa-border cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-overflow-hidden\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[180px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-border-b cqa-border-[#E5E7EB] sm:cqa-border-b-0 sm:cqa-border-r\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-medium cqa-text-[#6A7282]\"> {{ title }} </span>\n <h3 class=\"cqa-text-[30px] cqa-leading-[36px] cqa-font-bold cqa-tracking-[0.395508px] cqa-text-[#101828]\"> {{\n total | number }} </h3>\n </div>\n <ng-container *ngFor=\"let it of items; let i = index\">\n <div class=\"cqa-flex cqa-items-stretch cqa-border-b cqa-border-[#E5E7EB] md:cqa-border-b-0\">\n <div class=\"cqa-hidden sm:cqa-block md:cqa-block cqa-w-[1px] cqa-bg-[#E5E7EB] cqa-mr-4\"></div>\n <cqa-metrics-block [item]=\"it\" [itemslength]=\"items.length.toString()\"\n [progress]=\"progressWidth(it)\">\n </cqa-metrics-block>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div *ngIf=\"layout === '2'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <div\n class=\"cqa-flex cqa-flex-col md:cqa-flex-row cqa-flex-wrap cqa-items-stretch cqa-w-full cqa-min-h-[53px] cqa-rounded-none cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0 cqa-gap-4\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-py-1 cqa-px-4 sm:cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[240px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden before:cqa-content-[''] before:cqa-bg-[#4C4C51] before:cqa-h-[2px] before:cqa-w-full before:cqa-absolute before:cqa-top-0 before:cqa-left-0\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-justify-between cqa-w-full\">\n <mat-icon class=\"!cqa-w-4 !cqa-h-4 !cqa-text-[16px] cqa-text-[#6B7280]\">{{ icon }}</mat-icon>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-4\">{{ title }}</span>\n <div class=\"cqa-flex cqa-items-end cqa-gap-2 cqa-ml-auto\">\n <h4 class=\"cqa-text-[28px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\">{{ total | number }}\n </h4>\n <span *ngIf=\"totalPercent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(totalPercent)\">{{ formatPercent(totalPercent) }}</span>\n </div>\n </div>\n\n </div>\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 md:cqa-grid-cols-3 lg:cqa-grid-cols-5 cqa-gap-2 md:cqa-gap-3 cqa-items-center cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden\">\n <span class=\"cqa-h-[2px] cqa-w-full cqa-absolute cqa-top-0 cqa-left-0\"\n [style.background]=\"'linear-gradient(90deg, #3B82F6 0%, rgba(0, 0, 0, 0) 100%)'\"></span>\n <cqa-metrics-block *ngFor=\"let it of items; let i = index\" [item]=\"it\" [layout]=\"layout\">\n </cqa-metrics-block>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.MetricsBlockComponent, selector: "cqa-metrics-block", inputs: ["item", "progress", "layout", "itemslength"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "number": i3.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ MetricsCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: MetricsCardComponent, selector: "cqa-metrics-card", inputs: { icon: "icon", title: "title", total: "total", items: "items", cardClass: "cardClass", layout: "layout", totalPercent: "totalPercent" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div *ngIf=\"layout === '1'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-border-t-2 cqa-border-r cqa-border-b-0 cqa-border-l cqa-border-solid cqa-border-[#3F43EE] cqa-rounded-[10px] cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 sm:cqa-grid-cols-2 md:cqa-grid-cols-4 cqa-border cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-overflow-hidden\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[180px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-border-b cqa-border-[#E5E7EB] sm:cqa-border-b-0 sm:cqa-border-r\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-medium cqa-text-[#6A7282]\"> {{ title }} </span>\n <h3 class=\"cqa-text-[30px] cqa-leading-[36px] cqa-font-bold cqa-tracking-[0.395508px] cqa-text-[#101828]\"> {{\n total | number }} </h3>\n </div>\n <ng-container *ngFor=\"let it of items; let i = index\">\n <div class=\"cqa-flex cqa-items-stretch cqa-border-b cqa-border-[#E5E7EB] md:cqa-border-b-0\">\n <div class=\"cqa-hidden sm:cqa-block md:cqa-block cqa-w-[1px] cqa-bg-[#E5E7EB] cqa-mr-4\"></div>\n <cqa-metrics-block [item]=\"it\" [itemslength]=\"items.length.toString()\"\n [progress]=\"progressWidth(it)\">\n </cqa-metrics-block>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div *ngIf=\"layout === '2'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <div\n class=\"cqa-flex cqa-flex-col md:cqa-flex-row cqa-flex-wrap cqa-items-stretch cqa-w-full cqa-min-h-[53px] cqa-rounded-none cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0 cqa-gap-4\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-py-1 cqa-px-4 sm:cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[240px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden before:cqa-content-[''] before:cqa-bg-[#4C4C51] before:cqa-h-[2px] before:cqa-w-full before:cqa-absolute before:cqa-top-0 before:cqa-left-0\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-justify-between cqa-w-full\">\n <mat-icon class=\"!cqa-w-4 !cqa-h-4 !cqa-text-[16px] cqa-text-[#6B7280]\">{{ icon }}</mat-icon>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-4\">{{ title }}</span>\n <div class=\"cqa-flex cqa-items-end cqa-gap-2 cqa-ml-auto\">\n <h4 class=\"cqa-text-[28px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\">{{ total | number }}\n </h4>\n <span *ngIf=\"totalPercent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(totalPercent)\">{{ formatPercent(totalPercent) }}</span>\n </div>\n </div>\n\n </div>\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 md:cqa-grid-cols-3 lg:cqa-grid-cols-5 cqa-gap-2 md:cqa-gap-3 cqa-items-center cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden\">\n <span class=\"cqa-h-[2px] cqa-w-full cqa-absolute cqa-top-0 cqa-left-0\"\n [style.background]=\"'linear-gradient(90deg, #3B82F6 0%, rgba(0, 0, 0, 0) 100%)'\"></span>\n <cqa-metrics-block *ngFor=\"let it of items; let i = index\" [item]=\"it\" [layout]=\"layout\">\n </cqa-metrics-block>\n </div>\n </div>\n </div>\n</div>", components: [{ type: i1.MetricsBlockComponent, selector: "cqa-metrics-block", inputs: ["item", "progress", "layout", "itemslength"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "number": i3.DecimalPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: MetricsCardComponent, decorators: [{
45
45
  type: Component,
46
- args: [{ selector: 'cqa-metrics-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\">\n <div *ngIf=\"layout === '1'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-border-t-2 cqa-border-r cqa-border-b-0 cqa-border-l cqa-border-solid cqa-border-[#3F43EE] cqa-rounded-[10px] cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 sm:cqa-grid-cols-2 md:cqa-grid-cols-4 cqa-border cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-overflow-hidden\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[180px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-border-b cqa-border-[#E5E7EB] sm:cqa-border-b-0 sm:cqa-border-r\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-medium cqa-text-[#6A7282]\"> {{ title }} </span>\n <h3 class=\"cqa-text-[30px] cqa-leading-[36px] cqa-font-bold cqa-tracking-[0.395508px] cqa-text-[#101828]\"> {{\n total | number }} </h3>\n </div>\n <ng-container *ngFor=\"let it of items; let i = index\">\n <div class=\"cqa-flex cqa-items-stretch cqa-border-b cqa-border-[#E5E7EB] md:cqa-border-b-0\">\n <div class=\"cqa-hidden sm:cqa-block md:cqa-block cqa-w-[1px] cqa-bg-[#E5E7EB] cqa-mr-4\"></div>\n <cqa-metrics-block [item]=\"it\" [itemslength]=\"items.length.toString()\"\n [progress]=\"progressWidth(it)\">\n </cqa-metrics-block>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div *ngIf=\"layout === '2'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <div\n class=\"cqa-flex cqa-flex-col md:cqa-flex-row cqa-flex-wrap cqa-items-stretch cqa-w-full cqa-min-h-[53px] cqa-rounded-none cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0 cqa-gap-4\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-py-1 cqa-px-4 sm:cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[240px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden before:cqa-content-[''] before:cqa-bg-[#4C4C51] before:cqa-h-[2px] before:cqa-w-full before:cqa-absolute before:cqa-top-0 before:cqa-left-0\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-justify-between cqa-w-full\">\n <mat-icon class=\"!cqa-w-4 !cqa-h-4 !cqa-text-[16px] cqa-text-[#6B7280]\">{{ icon }}</mat-icon>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-4\">{{ title }}</span>\n <div class=\"cqa-flex cqa-items-end cqa-gap-2 cqa-ml-auto\">\n <h4 class=\"cqa-text-[28px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\">{{ total | number }}\n </h4>\n <span *ngIf=\"totalPercent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(totalPercent)\">{{ formatPercent(totalPercent) }}</span>\n </div>\n </div>\n\n </div>\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 md:cqa-grid-cols-3 lg:cqa-grid-cols-5 cqa-gap-2 md:cqa-gap-3 cqa-items-center cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden\">\n <span class=\"cqa-h-[2px] cqa-w-full cqa-absolute cqa-top-0 cqa-left-0\"\n [style.background]=\"'linear-gradient(90deg, #3B82F6 0%, rgba(0, 0, 0, 0) 100%)'\"></span>\n <cqa-metrics-block *ngFor=\"let it of items; let i = index\" [item]=\"it\" [layout]=\"layout\">\n </cqa-metrics-block>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
46
+ args: [{ selector: 'cqa-metrics-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cqa-ui-root\">\n <div *ngIf=\"layout === '1'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-border-t-2 cqa-border-r cqa-border-b-0 cqa-border-l cqa-border-solid cqa-border-[#3F43EE] cqa-rounded-[10px] cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 sm:cqa-grid-cols-2 md:cqa-grid-cols-4 cqa-border cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-overflow-hidden\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-pt-1 md:cqa-pb-0.5 cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[180px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-border-b cqa-border-[#E5E7EB] sm:cqa-border-b-0 sm:cqa-border-r\">\n <span class=\"cqa-text-[12px] cqa-leading-[16px] cqa-font-medium cqa-text-[#6A7282]\"> {{ title }} </span>\n <h3 class=\"cqa-text-[30px] cqa-leading-[36px] cqa-font-bold cqa-tracking-[0.395508px] cqa-text-[#101828]\"> {{\n total | number }} </h3>\n </div>\n <ng-container *ngFor=\"let it of items; let i = index\">\n <div class=\"cqa-flex cqa-items-stretch cqa-border-b cqa-border-[#E5E7EB] md:cqa-border-b-0\">\n <div class=\"cqa-hidden sm:cqa-block md:cqa-block cqa-w-[1px] cqa-bg-[#E5E7EB] cqa-mr-4\"></div>\n <cqa-metrics-block [item]=\"it\" [itemslength]=\"items.length.toString()\"\n [progress]=\"progressWidth(it)\">\n </cqa-metrics-block>\n </div>\n </ng-container>\n </div>\n </div>\n\n <div *ngIf=\"layout === '2'\"\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-items-start cqa-px-px cqa-pb-px md:cqa-h-[63px] cqa-bg-white cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0\"\n [ngClass]=\"cardClass\">\n <div\n class=\"cqa-flex cqa-flex-col md:cqa-flex-row cqa-flex-wrap cqa-items-stretch cqa-w-full cqa-min-h-[53px] cqa-rounded-none cqa-flex-none cqa-order-0 cqa-self-stretch cqa-grow-0 cqa-gap-4\">\n <!-- Left total block -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-justify-center cqa-items-start cqa-py-3 md:cqa-py-1 cqa-px-4 sm:cqa-px-6 cqa-gap-1 cqa-w-full sm:cqa-w-[100%] md:cqa-w-[240px] lg:cqa-w-[290px] md:cqa-h-[61px] cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden before:cqa-content-[''] before:cqa-bg-[#4C4C51] before:cqa-h-[2px] before:cqa-w-full before:cqa-absolute before:cqa-top-0 before:cqa-left-0\">\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-justify-between cqa-w-full\">\n <mat-icon class=\"!cqa-w-4 !cqa-h-4 !cqa-text-[16px] cqa-text-[#6B7280]\">{{ icon }}</mat-icon>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-4\">{{ title }}</span>\n <div class=\"cqa-flex cqa-items-end cqa-gap-2 cqa-ml-auto\">\n <h4 class=\"cqa-text-[28px] cqa-leading-7 cqa-tracking-[-0.45px] cqa-text-[#111827]\">{{ total | number }}\n </h4>\n <span *ngIf=\"totalPercent !== undefined\" class=\"cqa-text-[10px] cqa-leading-4\"\n [ngClass]=\"percentClass(totalPercent)\">{{ formatPercent(totalPercent) }}</span>\n </div>\n </div>\n\n </div>\n <!-- Metric blocks -->\n <div\n class=\"cqa-flex-1 cqa-w-full cqa-grid cqa-grid-cols-2 md:cqa-grid-cols-3 lg:cqa-grid-cols-5 cqa-gap-2 md:cqa-gap-3 cqa-items-center cqa-rounded-[10px] cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-relative cqa-overflow-hidden\">\n <span class=\"cqa-h-[2px] cqa-w-full cqa-absolute cqa-top-0 cqa-left-0\"\n [style.background]=\"'linear-gradient(90deg, #3B82F6 0%, rgba(0, 0, 0, 0) 100%)'\"></span>\n <cqa-metrics-block *ngFor=\"let it of items; let i = index\" [item]=\"it\" [layout]=\"layout\">\n </cqa-metrics-block>\n </div>\n </div>\n </div>\n</div>", styles: [] }]
47
47
  }], propDecorators: { icon: [{
48
48
  type: Input
49
49
  }], title: [{
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
59
59
  }], totalPercent: [{
60
60
  type: Input
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVMxRSxNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBT1csU0FBSSxHQUFXLGNBQWMsQ0FBQztRQUM5QixVQUFLLEdBQVcsa0JBQWtCLENBQUM7UUFDbkMsVUFBSyxHQUFvQixDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFzQixFQUFFLENBQUM7UUFDOUIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixXQUFNLEdBQVcsR0FBRyxDQUFDO0tBMkIvQjtJQXhCQyxhQUFhLENBQUMsSUFBcUI7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDOUIsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLFlBQVksSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFjO1FBQzFCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYztRQUN6QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDOUYsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUMsQ0FBQyxRQUFRO1FBQ3BELElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDLENBQUMsTUFBTTtRQUNsRCxPQUFPLG9CQUFvQixDQUFDLENBQUMsVUFBVTtJQUN6QyxDQUFDOztpSEFoQ1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsME1DVGpDLGs5SEF1RE07MkZEOUNPLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0cmljc0NhcmRJdGVtIH0gZnJvbSAnLi9tZXRyaWNzLWNhcmQtaXRlbS5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtbWV0cmljcy1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldHJpY3MtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRyaWNzQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGljb246IHN0cmluZyA9ICd0ZXh0X3NuaXBwZXQnO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJ1RvdGFsIFRlc3QgQ2FzZXMnO1xuICBASW5wdXQoKSB0b3RhbDogbnVtYmVyIHwgc3RyaW5nID0gMDtcbiAgQElucHV0KCkgaXRlbXM6IE1ldHJpY3NDYXJkSXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGNhcmRDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxheW91dDogc3RyaW5nID0gJzEnO1xuICBASW5wdXQoKSB0b3RhbFBlcmNlbnQ/OiBudW1iZXI7IC8vIE9wdGlvbmFsIG92ZXJhbGwgcGVyY2VudCBkZWx0YSBmb3IgbGF5b3V0IDJcblxuICBwcm9ncmVzc1dpZHRoKGl0ZW06IE1ldHJpY3NDYXJkSXRlbSk6IHN0cmluZyB7XG4gICAgY29uc3QgbWF4ID0gaXRlbS5tYXggPz8gdGhpcy5pbmZlck1heCgpO1xuICAgIGlmICghbWF4IHx8IG1heCA8PSAwKSByZXR1cm4gJzAlJztcbiAgICBjb25zdCBwY3QgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIChpdGVtLnZhbHVlIC8gbWF4KSAqIDEwMCkpO1xuICAgIHJldHVybiBwY3QudG9GaXhlZCgxKSArICclJztcbiAgfVxuXG4gIHByaXZhdGUgaW5mZXJNYXgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXhGcm9tSXRlbXMgPSB0aGlzLml0ZW1zLnJlZHVjZSgobSwgaXQpID0+IE1hdGgubWF4KG0sIGl0LnZhbHVlKSwgMCk7XG4gICAgcmV0dXJuIG1heEZyb21JdGVtcyB8fCAxO1xuICB9XG5cbiAgZm9ybWF0UGVyY2VudCh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkgcmV0dXJuICcnO1xuICAgIGNvbnN0IHNpZ24gPSB2YWx1ZSA+IDAgPyAnKycgOiB2YWx1ZSA8IDAgPyAnJyA6ICcnO1xuICAgIHJldHVybiBgJHtzaWdufSR7dmFsdWV9JWA7XG4gIH1cblxuICBwZXJjZW50Q2xhc3ModmFsdWU/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IE51bWJlci5pc05hTih2YWx1ZSkpIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgICBpZiAodmFsdWUgPiAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjMTBCOTgxXSc7IC8vIGdyZWVuXG4gICAgaWYgKHZhbHVlIDwgMCkgcmV0dXJuICdjcWEtdGV4dC1bI0VGNDQ0NF0nOyAvLyByZWRcbiAgICByZXR1cm4gJ2NxYS10ZXh0LVsjNkI3MjgwXSc7IC8vIG5ldXRyYWxcbiAgfVxufVxuXG5cbiIsIjxkaXYgaWQ9XCJjcWEtdWktcm9vdFwiPlxuICA8ZGl2ICpuZ0lmPVwibGF5b3V0ID09PSAnMSdcIlxuICAgIGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtYm94LWJvcmRlciBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWl0ZW1zLXN0YXJ0IGNxYS1weC1weCBjcWEtcGItcHggbWQ6Y3FhLWgtWzYzcHhdIGNxYS1iZy13aGl0ZSBjcWEtYm9yZGVyLXQtMiBjcWEtYm9yZGVyLXIgY3FhLWJvcmRlci1iLTAgY3FhLWJvcmRlci1sIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bIzNGNDNFRV0gY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1mbGV4LW5vbmUgY3FhLW9yZGVyLTAgY3FhLXNlbGYtc3RyZXRjaCBjcWEtZ3Jvdy0wXCJcbiAgICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIj5cbiAgICA8IS0tIE1ldHJpYyBibG9ja3MgLS0+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS13LWZ1bGwgY3FhLWdyaWQgY3FhLWdyaWQtY29scy0yIHNtOmNxYS1ncmlkLWNvbHMtMiBtZDpjcWEtZ3JpZC1jb2xzLTQgY3FhLWJvcmRlciBjcWEtYm9yZGVyLVsjRTVFN0VCXSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgPCEtLSBMZWZ0IHRvdGFsIGJsb2NrIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLWl0ZW1zLXN0YXJ0IGNxYS1weS0zIG1kOmNxYS1wdC0xIG1kOmNxYS1wYi0wLjUgY3FhLXB4LTYgY3FhLWdhcC0xIGNxYS13LWZ1bGwgc206Y3FhLXctWzEwMCVdIG1kOmNxYS13LVsxODBweF0gbGc6Y3FhLXctWzI5MHB4XSBtZDpjcWEtaC1bNjFweF0gY3FhLWJvcmRlci1iIGNxYS1ib3JkZXItWyNFNUU3RUJdIHNtOmNxYS1ib3JkZXItYi0wIHNtOmNxYS1ib3JkZXItclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNkE3MjgyXVwiPiB7eyB0aXRsZSB9fSA8L3NwYW4+XG4gICAgICAgIDxoMyBjbGFzcz1cImNxYS10ZXh0LVszMHB4XSBjcWEtbGVhZGluZy1bMzZweF0gY3FhLWZvbnQtYm9sZCBjcWEtdHJhY2tpbmctWzAuMzk1NTA4cHhdIGNxYS10ZXh0LVsjMTAxODI4XVwiPiB7e1xuICAgICAgICAgIHRvdGFsIHwgbnVtYmVyIH19IDwvaDM+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0IG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtc3RyZXRjaCBjcWEtYm9yZGVyLWIgY3FhLWJvcmRlci1bI0U1RTdFQl0gbWQ6Y3FhLWJvcmRlci1iLTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWhpZGRlbiBzbTpjcWEtYmxvY2sgbWQ6Y3FhLWJsb2NrIGNxYS13LVsxcHhdIGNxYS1iZy1bI0U1RTdFQl0gY3FhLW1yLTRcIj48L2Rpdj5cbiAgICAgICAgICA8Y3FhLW1ldHJpY3MtYmxvY2sgW2l0ZW1dPVwiaXRcIiBbaXRlbXNsZW5ndGhdPVwiaXRlbXMubGVuZ3RoLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgW3Byb2dyZXNzXT1cInByb2dyZXNzV2lkdGgoaXQpXCI+XG4gICAgICAgICAgPC9jcWEtbWV0cmljcy1ibG9jaz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImxheW91dCA9PT0gJzInXCJcbiAgICBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWJveC1ib3JkZXIgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1zdGFydCBjcWEtcHgtcHggY3FhLXBiLXB4IG1kOmNxYS1oLVs2M3B4XSBjcWEtYmctd2hpdGUgY3FhLWZsZXgtbm9uZSBjcWEtb3JkZXItMCBjcWEtc2VsZi1zdHJldGNoIGNxYS1ncm93LTBcIlxuICAgIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIG1kOmNxYS1mbGV4LXJvdyBjcWEtZmxleC13cmFwIGNxYS1pdGVtcy1zdHJldGNoIGNxYS13LWZ1bGwgY3FhLW1pbi1oLVs1M3B4XSBjcWEtcm91bmRlZC1ub25lIGNxYS1mbGV4LW5vbmUgY3FhLW9yZGVyLTAgY3FhLXNlbGYtc3RyZXRjaCBjcWEtZ3Jvdy0wIGNxYS1nYXAtNFwiPlxuICAgICAgPCEtLSBMZWZ0IHRvdGFsIGJsb2NrIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLWl0ZW1zLXN0YXJ0IGNxYS1weS0zIG1kOmNxYS1weS0xIGNxYS1weC00IHNtOmNxYS1weC02IGNxYS1nYXAtMSBjcWEtdy1mdWxsIHNtOmNxYS13LVsxMDAlXSBtZDpjcWEtdy1bMjQwcHhdIGxnOmNxYS13LVsyOTBweF0gbWQ6Y3FhLWgtWzYxcHhdIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0U1RTdFQl0gY3FhLXJlbGF0aXZlIGNxYS1vdmVyZmxvdy1oaWRkZW4gYmVmb3JlOmNxYS1jb250ZW50LVsnJ10gYmVmb3JlOmNxYS1iZy1bIzRDNEM1MV0gYmVmb3JlOmNxYS1oLVsycHhdIGJlZm9yZTpjcWEtdy1mdWxsIGJlZm9yZTpjcWEtYWJzb2x1dGUgYmVmb3JlOmNxYS10b3AtMCBiZWZvcmU6Y3FhLWxlZnQtMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtdy1mdWxsXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiIWNxYS13LTQgIWNxYS1oLTQgIWNxYS10ZXh0LVsxNnB4XSBjcWEtdGV4dC1bIzZCNzI4MF1cIj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNkI3MjgwXSBjcWEtdGV4dC1bMTRweF0gY3FhLWxlYWRpbmctNFwiPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtZW5kIGNxYS1nYXAtMiBjcWEtbWwtYXV0b1wiPlxuICAgICAgICAgICAgPGg0IGNsYXNzPVwiY3FhLXRleHQtWzI4cHhdIGNxYS1sZWFkaW5nLTcgY3FhLXRyYWNraW5nLVstMC40NXB4XSBjcWEtdGV4dC1bIzExMTgyN11cIj57eyB0b3RhbCB8IG51bWJlciB9fVxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG90YWxQZXJjZW50ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy00XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGVyY2VudENsYXNzKHRvdGFsUGVyY2VudClcIj57eyBmb3JtYXRQZXJjZW50KHRvdGFsUGVyY2VudCkgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gTWV0cmljIGJsb2NrcyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS13LWZ1bGwgY3FhLWdyaWQgY3FhLWdyaWQtY29scy0yIG1kOmNxYS1ncmlkLWNvbHMtMyBsZzpjcWEtZ3JpZC1jb2xzLTUgY3FhLWdhcC0yIG1kOmNxYS1nYXAtMyBjcWEtaXRlbXMtY2VudGVyIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0U1RTdFQl0gY3FhLXJlbGF0aXZlIGNxYS1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtaC1bMnB4XSBjcWEtdy1mdWxsIGNxYS1hYnNvbHV0ZSBjcWEtdG9wLTAgY3FhLWxlZnQtMFwiXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiJ2xpbmVhci1ncmFkaWVudCg5MGRlZywgIzNCODJGNiAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKSdcIj48L3NwYW4+XG4gICAgICAgIDxjcWEtbWV0cmljcy1ibG9jayAqbmdGb3I9XCJsZXQgaXQgb2YgaXRlbXM7IGxldCBpID0gaW5kZXhcIiBbaXRlbV09XCJpdFwiIFtsYXlvdXRdPVwibGF5b3V0XCI+XG4gICAgICAgIDwvY3FhLW1ldHJpY3MtYmxvY2s+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVMxRSxNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBT1csU0FBSSxHQUFXLGNBQWMsQ0FBQztRQUM5QixVQUFLLEdBQVcsa0JBQWtCLENBQUM7UUFDbkMsVUFBSyxHQUFvQixDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFzQixFQUFFLENBQUM7UUFDOUIsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixXQUFNLEdBQVcsR0FBRyxDQUFDO0tBMkIvQjtJQXhCQyxhQUFhLENBQUMsSUFBcUI7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDOUIsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLFlBQVksSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFjO1FBQzFCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDNUUsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYztRQUN6QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDOUYsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUMsQ0FBQyxRQUFRO1FBQ3BELElBQUksS0FBSyxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDLENBQUMsTUFBTTtRQUNsRCxPQUFPLG9CQUFvQixDQUFDLENBQUMsVUFBVTtJQUN6QyxDQUFDOztpSEFoQ1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsME1DVGpDLHE5SEF1RE07MkZEOUNPLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0cmljc0NhcmRJdGVtIH0gZnJvbSAnLi9tZXRyaWNzLWNhcmQtaXRlbS5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtbWV0cmljcy1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21ldHJpY3MtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNZXRyaWNzQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGljb246IHN0cmluZyA9ICd0ZXh0X3NuaXBwZXQnO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJ1RvdGFsIFRlc3QgQ2FzZXMnO1xuICBASW5wdXQoKSB0b3RhbDogbnVtYmVyIHwgc3RyaW5nID0gMDtcbiAgQElucHV0KCkgaXRlbXM6IE1ldHJpY3NDYXJkSXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGNhcmRDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxheW91dDogc3RyaW5nID0gJzEnO1xuICBASW5wdXQoKSB0b3RhbFBlcmNlbnQ/OiBudW1iZXI7IC8vIE9wdGlvbmFsIG92ZXJhbGwgcGVyY2VudCBkZWx0YSBmb3IgbGF5b3V0IDJcblxuICBwcm9ncmVzc1dpZHRoKGl0ZW06IE1ldHJpY3NDYXJkSXRlbSk6IHN0cmluZyB7XG4gICAgY29uc3QgbWF4ID0gaXRlbS5tYXggPz8gdGhpcy5pbmZlck1heCgpO1xuICAgIGlmICghbWF4IHx8IG1heCA8PSAwKSByZXR1cm4gJzAlJztcbiAgICBjb25zdCBwY3QgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIChpdGVtLnZhbHVlIC8gbWF4KSAqIDEwMCkpO1xuICAgIHJldHVybiBwY3QudG9GaXhlZCgxKSArICclJztcbiAgfVxuXG4gIHByaXZhdGUgaW5mZXJNYXgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXhGcm9tSXRlbXMgPSB0aGlzLml0ZW1zLnJlZHVjZSgobSwgaXQpID0+IE1hdGgubWF4KG0sIGl0LnZhbHVlKSwgMCk7XG4gICAgcmV0dXJuIG1heEZyb21JdGVtcyB8fCAxO1xuICB9XG5cbiAgZm9ybWF0UGVyY2VudCh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgTnVtYmVyLmlzTmFOKHZhbHVlKSkgcmV0dXJuICcnO1xuICAgIGNvbnN0IHNpZ24gPSB2YWx1ZSA+IDAgPyAnKycgOiB2YWx1ZSA8IDAgPyAnJyA6ICcnO1xuICAgIHJldHVybiBgJHtzaWdufSR7dmFsdWV9JWA7XG4gIH1cblxuICBwZXJjZW50Q2xhc3ModmFsdWU/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IE51bWJlci5pc05hTih2YWx1ZSkpIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgICBpZiAodmFsdWUgPiAwKSByZXR1cm4gJ2NxYS10ZXh0LVsjMTBCOTgxXSc7IC8vIGdyZWVuXG4gICAgaWYgKHZhbHVlIDwgMCkgcmV0dXJuICdjcWEtdGV4dC1bI0VGNDQ0NF0nOyAvLyByZWRcbiAgICByZXR1cm4gJ2NxYS10ZXh0LVsjNkI3MjgwXSc7IC8vIG5ldXRyYWxcbiAgfVxufVxuXG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdFwiPlxuICA8ZGl2ICpuZ0lmPVwibGF5b3V0ID09PSAnMSdcIlxuICAgIGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtYm94LWJvcmRlciBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWl0ZW1zLXN0YXJ0IGNxYS1weC1weCBjcWEtcGItcHggbWQ6Y3FhLWgtWzYzcHhdIGNxYS1iZy13aGl0ZSBjcWEtYm9yZGVyLXQtMiBjcWEtYm9yZGVyLXIgY3FhLWJvcmRlci1iLTAgY3FhLWJvcmRlci1sIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bIzNGNDNFRV0gY3FhLXJvdW5kZWQtWzEwcHhdIGNxYS1mbGV4LW5vbmUgY3FhLW9yZGVyLTAgY3FhLXNlbGYtc3RyZXRjaCBjcWEtZ3Jvdy0wXCJcbiAgICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIj5cbiAgICA8IS0tIE1ldHJpYyBibG9ja3MgLS0+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS13LWZ1bGwgY3FhLWdyaWQgY3FhLWdyaWQtY29scy0yIHNtOmNxYS1ncmlkLWNvbHMtMiBtZDpjcWEtZ3JpZC1jb2xzLTQgY3FhLWJvcmRlciBjcWEtYm9yZGVyLVsjRTVFN0VCXSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgPCEtLSBMZWZ0IHRvdGFsIGJsb2NrIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLWl0ZW1zLXN0YXJ0IGNxYS1weS0zIG1kOmNxYS1wdC0xIG1kOmNxYS1wYi0wLjUgY3FhLXB4LTYgY3FhLWdhcC0xIGNxYS13LWZ1bGwgc206Y3FhLXctWzEwMCVdIG1kOmNxYS13LVsxODBweF0gbGc6Y3FhLXctWzI5MHB4XSBtZDpjcWEtaC1bNjFweF0gY3FhLWJvcmRlci1iIGNxYS1ib3JkZXItWyNFNUU3RUJdIHNtOmNxYS1ib3JkZXItYi0wIHNtOmNxYS1ib3JkZXItclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMnB4XSBjcWEtbGVhZGluZy1bMTZweF0gY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjNkE3MjgyXVwiPiB7eyB0aXRsZSB9fSA8L3NwYW4+XG4gICAgICAgIDxoMyBjbGFzcz1cImNxYS10ZXh0LVszMHB4XSBjcWEtbGVhZGluZy1bMzZweF0gY3FhLWZvbnQtYm9sZCBjcWEtdHJhY2tpbmctWzAuMzk1NTA4cHhdIGNxYS10ZXh0LVsjMTAxODI4XVwiPiB7e1xuICAgICAgICAgIHRvdGFsIHwgbnVtYmVyIH19IDwvaDM+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0IG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtc3RyZXRjaCBjcWEtYm9yZGVyLWIgY3FhLWJvcmRlci1bI0U1RTdFQl0gbWQ6Y3FhLWJvcmRlci1iLTBcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWhpZGRlbiBzbTpjcWEtYmxvY2sgbWQ6Y3FhLWJsb2NrIGNxYS13LVsxcHhdIGNxYS1iZy1bI0U1RTdFQl0gY3FhLW1yLTRcIj48L2Rpdj5cbiAgICAgICAgICA8Y3FhLW1ldHJpY3MtYmxvY2sgW2l0ZW1dPVwiaXRcIiBbaXRlbXNsZW5ndGhdPVwiaXRlbXMubGVuZ3RoLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgW3Byb2dyZXNzXT1cInByb2dyZXNzV2lkdGgoaXQpXCI+XG4gICAgICAgICAgPC9jcWEtbWV0cmljcy1ibG9jaz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImxheW91dCA9PT0gJzInXCJcbiAgICBjbGFzcz1cImNxYS13LWZ1bGwgY3FhLWJveC1ib3JkZXIgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1zdGFydCBjcWEtcHgtcHggY3FhLXBiLXB4IG1kOmNxYS1oLVs2M3B4XSBjcWEtYmctd2hpdGUgY3FhLWZsZXgtbm9uZSBjcWEtb3JkZXItMCBjcWEtc2VsZi1zdHJldGNoIGNxYS1ncm93LTBcIlxuICAgIFtuZ0NsYXNzXT1cImNhcmRDbGFzc1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIG1kOmNxYS1mbGV4LXJvdyBjcWEtZmxleC13cmFwIGNxYS1pdGVtcy1zdHJldGNoIGNxYS13LWZ1bGwgY3FhLW1pbi1oLVs1M3B4XSBjcWEtcm91bmRlZC1ub25lIGNxYS1mbGV4LW5vbmUgY3FhLW9yZGVyLTAgY3FhLXNlbGYtc3RyZXRjaCBjcWEtZ3Jvdy0wIGNxYS1nYXAtNFwiPlxuICAgICAgPCEtLSBMZWZ0IHRvdGFsIGJsb2NrIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLWl0ZW1zLXN0YXJ0IGNxYS1weS0zIG1kOmNxYS1weS0xIGNxYS1weC00IHNtOmNxYS1weC02IGNxYS1nYXAtMSBjcWEtdy1mdWxsIHNtOmNxYS13LVsxMDAlXSBtZDpjcWEtdy1bMjQwcHhdIGxnOmNxYS13LVsyOTBweF0gbWQ6Y3FhLWgtWzYxcHhdIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0U1RTdFQl0gY3FhLXJlbGF0aXZlIGNxYS1vdmVyZmxvdy1oaWRkZW4gYmVmb3JlOmNxYS1jb250ZW50LVsnJ10gYmVmb3JlOmNxYS1iZy1bIzRDNEM1MV0gYmVmb3JlOmNxYS1oLVsycHhdIGJlZm9yZTpjcWEtdy1mdWxsIGJlZm9yZTpjcWEtYWJzb2x1dGUgYmVmb3JlOmNxYS10b3AtMCBiZWZvcmU6Y3FhLWxlZnQtMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtdy1mdWxsXCI+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiIWNxYS13LTQgIWNxYS1oLTQgIWNxYS10ZXh0LVsxNnB4XSBjcWEtdGV4dC1bIzZCNzI4MF1cIj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNkI3MjgwXSBjcWEtdGV4dC1bMTRweF0gY3FhLWxlYWRpbmctNFwiPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtZW5kIGNxYS1nYXAtMiBjcWEtbWwtYXV0b1wiPlxuICAgICAgICAgICAgPGg0IGNsYXNzPVwiY3FhLXRleHQtWzI4cHhdIGNxYS1sZWFkaW5nLTcgY3FhLXRyYWNraW5nLVstMC40NXB4XSBjcWEtdGV4dC1bIzExMTgyN11cIj57eyB0b3RhbCB8IG51bWJlciB9fVxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG90YWxQZXJjZW50ICE9PSB1bmRlZmluZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtbGVhZGluZy00XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicGVyY2VudENsYXNzKHRvdGFsUGVyY2VudClcIj57eyBmb3JtYXRQZXJjZW50KHRvdGFsUGVyY2VudCkgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gTWV0cmljIGJsb2NrcyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS13LWZ1bGwgY3FhLWdyaWQgY3FhLWdyaWQtY29scy0yIG1kOmNxYS1ncmlkLWNvbHMtMyBsZzpjcWEtZ3JpZC1jb2xzLTUgY3FhLWdhcC0yIG1kOmNxYS1nYXAtMyBjcWEtaXRlbXMtY2VudGVyIGNxYS1yb3VuZGVkLVsxMHB4XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0U1RTdFQl0gY3FhLXJlbGF0aXZlIGNxYS1vdmVyZmxvdy1oaWRkZW5cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtaC1bMnB4XSBjcWEtdy1mdWxsIGNxYS1hYnNvbHV0ZSBjcWEtdG9wLTAgY3FhLWxlZnQtMFwiXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiJ2xpbmVhci1ncmFkaWVudCg5MGRlZywgIzNCODJGNiAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKSdcIj48L3NwYW4+XG4gICAgICAgIDxjcWEtbWV0cmljcy1ibG9jayAqbmdGb3I9XCJsZXQgaXQgb2YgaXRlbXM7IGxldCBpID0gaW5kZXhcIiBbaXRlbV09XCJpdFwiIFtsYXlvdXRdPVwibGF5b3V0XCI+XG4gICAgICAgIDwvY3FhLW1ldHJpY3MtYmxvY2s+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -28,10 +28,10 @@ export class ProgressTextCardComponent {
28
28
  }
29
29
  }
30
30
  ProgressTextCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ProgressTextCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- ProgressTextCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ProgressTextCardComponent, selector: "cqa-progress-text-card", inputs: { value: "value", label: "label", deltaPercent: "deltaPercent", deltaSuffix: "deltaSuffix", cardClass: "cardClass" }, ngImport: i0, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-bg-white cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-p-4 sm:cqa-p-5\"\n [ngClass]=\"cardClass\">\n <div class=\"cqa-flex cqa-items-baseline cqa-gap-2\">\n <div\n class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-bold cqa-tracking-[-0.3px] cqa-text-[#111827]\">\n {{ percentText }}</div>\n <div class=\"cqa-text-[16px] cqa-leading-[24px] cqa-text-[#111827]\">{{ label }}</div>\n </div>\n <div class=\"cqa-mt-4 cqa-mb-2 cqa-w-full cqa-h-[14px] cqa-bg-[#E5E7EB] cqa-rounded-full cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [style.width]=\"fillWidth\"\n [style.background]=\"'linear-gradient(90deg, #DD5A38 0%, #F59E0B 40%, #10B981 100%)'\">\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-5\" [ngClass]=\"deltaClass()\" *ngIf=\"deltaPercent !== undefined\">\n {{ deltaPercent > 0 ? '+' : ''}}{{ deltaPercent }}% {{ deltaSuffix }}\n </div>\n </div>\n</div>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
+ ProgressTextCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ProgressTextCardComponent, selector: "cqa-progress-text-card", inputs: { value: "value", label: "label", deltaPercent: "deltaPercent", deltaSuffix: "deltaSuffix", cardClass: "cardClass" }, ngImport: i0, template: "<div class=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-bg-white cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-p-4 sm:cqa-p-5\"\n [ngClass]=\"cardClass\">\n <div class=\"cqa-flex cqa-items-baseline cqa-gap-2\">\n <div\n class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-bold cqa-tracking-[-0.3px] cqa-text-[#111827]\">\n {{ percentText }}</div>\n <div class=\"cqa-text-[16px] cqa-leading-[24px] cqa-text-[#111827]\">{{ label }}</div>\n </div>\n <div class=\"cqa-mt-4 cqa-mb-2 cqa-w-full cqa-h-[14px] cqa-bg-[#E5E7EB] cqa-rounded-full cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [style.width]=\"fillWidth\"\n [style.background]=\"'linear-gradient(90deg, #DD5A38 0%, #F59E0B 40%, #10B981 100%)'\">\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-5\" [ngClass]=\"deltaClass()\" *ngIf=\"deltaPercent !== undefined\">\n {{ deltaPercent > 0 ? '+' : ''}}{{ deltaPercent }}% {{ deltaSuffix }}\n </div>\n </div>\n</div>", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ProgressTextCardComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'cqa-progress-text-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-bg-white cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-p-4 sm:cqa-p-5\"\n [ngClass]=\"cardClass\">\n <div class=\"cqa-flex cqa-items-baseline cqa-gap-2\">\n <div\n class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-bold cqa-tracking-[-0.3px] cqa-text-[#111827]\">\n {{ percentText }}</div>\n <div class=\"cqa-text-[16px] cqa-leading-[24px] cqa-text-[#111827]\">{{ label }}</div>\n </div>\n <div class=\"cqa-mt-4 cqa-mb-2 cqa-w-full cqa-h-[14px] cqa-bg-[#E5E7EB] cqa-rounded-full cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [style.width]=\"fillWidth\"\n [style.background]=\"'linear-gradient(90deg, #DD5A38 0%, #F59E0B 40%, #10B981 100%)'\">\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-5\" [ngClass]=\"deltaClass()\" *ngIf=\"deltaPercent !== undefined\">\n {{ deltaPercent > 0 ? '+' : ''}}{{ deltaPercent }}% {{ deltaSuffix }}\n </div>\n </div>\n</div>", styles: [] }]
34
+ args: [{ selector: 'cqa-progress-text-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cqa-ui-root\">\n <div\n class=\"cqa-w-full cqa-box-border cqa-flex cqa-flex-col cqa-bg-white cqa-border cqa-border-solid cqa-border-[#E5E7EB] cqa-rounded-[10px] cqa-p-4 sm:cqa-p-5\"\n [ngClass]=\"cardClass\">\n <div class=\"cqa-flex cqa-items-baseline cqa-gap-2\">\n <div\n class=\"cqa-text-[16px] cqa-leading-[24px] cqa-font-bold cqa-tracking-[-0.3px] cqa-text-[#111827]\">\n {{ percentText }}</div>\n <div class=\"cqa-text-[16px] cqa-leading-[24px] cqa-text-[#111827]\">{{ label }}</div>\n </div>\n <div class=\"cqa-mt-4 cqa-mb-2 cqa-w-full cqa-h-[14px] cqa-bg-[#E5E7EB] cqa-rounded-full cqa-overflow-hidden\">\n <div class=\"cqa-h-full cqa-rounded-full\" [style.width]=\"fillWidth\"\n [style.background]=\"'linear-gradient(90deg, #DD5A38 0%, #F59E0B 40%, #10B981 100%)'\">\n </div>\n </div>\n <div class=\"cqa-text-[12px] cqa-leading-5\" [ngClass]=\"deltaClass()\" *ngIf=\"deltaPercent !== undefined\">\n {{ deltaPercent > 0 ? '+' : ''}}{{ deltaPercent }}% {{ deltaSuffix }}\n </div>\n </div>\n</div>", styles: [] }]
35
35
  }], propDecorators: { value: [{
36
36
  type: Input
37
37
  }], label: [{
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
43
43
  }], cardClass: [{
44
44
  type: Input
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUUsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQU9XLFVBQUssR0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQzdCLFVBQUssR0FBVyxtQkFBbUIsQ0FBQztRQUVwQyxnQkFBVyxHQUFXLGdCQUFnQixDQUFDO1FBQ3ZDLGNBQVMsR0FBVyxFQUFFLENBQUM7S0FvQmpDO0lBbEJDLElBQUksV0FBVztRQUNiLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3BHLE9BQU8sb0JBQW9CLENBQUM7U0FDN0I7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQ3ZELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQzs7c0hBeEJVLHlCQUF5QjswR0FBekIseUJBQXlCLDRMQ1J0QywrakNBbUJNOzJGRFhPLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtcHJvZ3Jlc3MtdGV4dC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLXRleHQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc1RleHRDYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU6IG51bWJlciA9IDA7IC8vIDAgLSAxMDBcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdUZXN0IFN1Y2Nlc3MgUmF0ZSc7XG4gIEBJbnB1dCgpIGRlbHRhUGVyY2VudD86IG51bWJlcjsgLy8gZS5nLiwgKzhcbiAgQElucHV0KCkgZGVsdGFTdWZmaXg6IHN0cmluZyA9ICdzaW5jZSBsYXN0IHJ1bic7XG4gIEBJbnB1dCgpIGNhcmRDbGFzczogc3RyaW5nID0gJyc7XG5cbiAgZ2V0IHBlcmNlbnRUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgdiA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgTnVtYmVyKHRoaXMudmFsdWUpIHx8IDApKTtcbiAgICByZXR1cm4gYCR7dn0lYDtcbiAgfVxuXG4gIGdldCBmaWxsV2lkdGgoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCBOdW1iZXIodGhpcy52YWx1ZSkgfHwgMCkpO1xuICAgIHJldHVybiB2ICsgJyUnO1xuICB9XG5cbiAgZGVsdGFDbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRlbHRhUGVyY2VudCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZGVsdGFQZXJjZW50ID09PSBudWxsIHx8IE51bWJlci5pc05hTih0aGlzLmRlbHRhUGVyY2VudCkpIHtcbiAgICAgIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVsdGFQZXJjZW50ID4gMCkgcmV0dXJuICdjcWEtdGV4dC1bIzBCOUQ2OF0nO1xuICAgIGlmICh0aGlzLmRlbHRhUGVyY2VudCA8IDApIHJldHVybiAnY3FhLXRleHQtWyNFRjQ0NDRdJztcbiAgICByZXR1cm4gJ2NxYS10ZXh0LVsjNkI3MjgwXSc7XG4gIH1cbn1cblxuXG4iLCI8ZGl2IGlkPVwiY3FhLXVpLXJvb3RcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtYm94LWJvcmRlciBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWJnLXdoaXRlIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTVFN0VCXSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLXAtNCBzbTpjcWEtcC01XCJcbiAgICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWJhc2VsaW5lIGNxYS1nYXAtMlwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNxYS10ZXh0LVsxNnB4XSBjcWEtbGVhZGluZy1bMjRweF0gY3FhLWZvbnQtYm9sZCBjcWEtdHJhY2tpbmctWy0wLjNweF0gY3FhLXRleHQtWyMxMTE4MjddXCI+XG4gICAgICAgIHt7IHBlcmNlbnRUZXh0IH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzE2cHhdIGNxYS1sZWFkaW5nLVsyNHB4XSBjcWEtdGV4dC1bIzExMTgyN11cIj57eyBsYWJlbCB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtbXQtNCBjcWEtbWItMiBjcWEtdy1mdWxsIGNxYS1oLVsxNHB4XSBjcWEtYmctWyNFNUU3RUJdIGNxYS1yb3VuZGVkLWZ1bGwgY3FhLW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1oLWZ1bGwgY3FhLXJvdW5kZWQtZnVsbFwiIFtzdHlsZS53aWR0aF09XCJmaWxsV2lkdGhcIlxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCInbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjREQ1QTM4IDAlLCAjRjU5RTBCIDQwJSwgIzEwQjk4MSAxMDAlKSdcIj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNVwiIFtuZ0NsYXNzXT1cImRlbHRhQ2xhc3MoKVwiICpuZ0lmPVwiZGVsdGFQZXJjZW50ICE9PSB1bmRlZmluZWRcIj5cbiAgICAgIHt7IGRlbHRhUGVyY2VudCA+IDAgPyAnKycgOiAnJ319e3sgZGVsdGFQZXJjZW50IH19JSB7eyBkZWx0YVN1ZmZpeCB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUUsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQU9XLFVBQUssR0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQzdCLFVBQUssR0FBVyxtQkFBbUIsQ0FBQztRQUVwQyxnQkFBVyxHQUFXLGdCQUFnQixDQUFDO1FBQ3ZDLGNBQVMsR0FBVyxFQUFFLENBQUM7S0FvQmpDO0lBbEJDLElBQUksV0FBVztRQUNiLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3BHLE9BQU8sb0JBQW9CLENBQUM7U0FDN0I7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUM7WUFBRSxPQUFPLG9CQUFvQixDQUFDO1FBQ3ZELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQzs7c0hBeEJVLHlCQUF5QjswR0FBekIseUJBQXlCLDRMQ1J0Qyxra0NBbUJNOzJGRFhPLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtcHJvZ3Jlc3MtdGV4dC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLXRleHQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc1RleHRDYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU6IG51bWJlciA9IDA7IC8vIDAgLSAxMDBcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdUZXN0IFN1Y2Nlc3MgUmF0ZSc7XG4gIEBJbnB1dCgpIGRlbHRhUGVyY2VudD86IG51bWJlcjsgLy8gZS5nLiwgKzhcbiAgQElucHV0KCkgZGVsdGFTdWZmaXg6IHN0cmluZyA9ICdzaW5jZSBsYXN0IHJ1bic7XG4gIEBJbnB1dCgpIGNhcmRDbGFzczogc3RyaW5nID0gJyc7XG5cbiAgZ2V0IHBlcmNlbnRUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgdiA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgTnVtYmVyKHRoaXMudmFsdWUpIHx8IDApKTtcbiAgICByZXR1cm4gYCR7dn0lYDtcbiAgfVxuXG4gIGdldCBmaWxsV2lkdGgoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCBOdW1iZXIodGhpcy52YWx1ZSkgfHwgMCkpO1xuICAgIHJldHVybiB2ICsgJyUnO1xuICB9XG5cbiAgZGVsdGFDbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRlbHRhUGVyY2VudCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZGVsdGFQZXJjZW50ID09PSBudWxsIHx8IE51bWJlci5pc05hTih0aGlzLmRlbHRhUGVyY2VudCkpIHtcbiAgICAgIHJldHVybiAnY3FhLXRleHQtWyM2QjcyODBdJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVsdGFQZXJjZW50ID4gMCkgcmV0dXJuICdjcWEtdGV4dC1bIzBCOUQ2OF0nO1xuICAgIGlmICh0aGlzLmRlbHRhUGVyY2VudCA8IDApIHJldHVybiAnY3FhLXRleHQtWyNFRjQ0NDRdJztcbiAgICByZXR1cm4gJ2NxYS10ZXh0LVsjNkI3MjgwXSc7XG4gIH1cbn1cblxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLXctZnVsbCBjcWEtYm94LWJvcmRlciBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWJnLXdoaXRlIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTVFN0VCXSBjcWEtcm91bmRlZC1bMTBweF0gY3FhLXAtNCBzbTpjcWEtcC01XCJcbiAgICBbbmdDbGFzc109XCJjYXJkQ2xhc3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWJhc2VsaW5lIGNxYS1nYXAtMlwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImNxYS10ZXh0LVsxNnB4XSBjcWEtbGVhZGluZy1bMjRweF0gY3FhLWZvbnQtYm9sZCBjcWEtdHJhY2tpbmctWy0wLjNweF0gY3FhLXRleHQtWyMxMTE4MjddXCI+XG4gICAgICAgIHt7IHBlcmNlbnRUZXh0IH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzE2cHhdIGNxYS1sZWFkaW5nLVsyNHB4XSBjcWEtdGV4dC1bIzExMTgyN11cIj57eyBsYWJlbCB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtbXQtNCBjcWEtbWItMiBjcWEtdy1mdWxsIGNxYS1oLVsxNHB4XSBjcWEtYmctWyNFNUU3RUJdIGNxYS1yb3VuZGVkLWZ1bGwgY3FhLW92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1oLWZ1bGwgY3FhLXJvdW5kZWQtZnVsbFwiIFtzdHlsZS53aWR0aF09XCJmaWxsV2lkdGhcIlxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCInbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjREQ1QTM4IDAlLCAjRjU5RTBCIDQwJSwgIzEwQjk4MSAxMDAlKSdcIj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctNVwiIFtuZ0NsYXNzXT1cImRlbHRhQ2xhc3MoKVwiICpuZ0lmPVwiZGVsdGFQZXJjZW50ICE9PSB1bmRlZmluZWRcIj5cbiAgICAgIHt7IGRlbHRhUGVyY2VudCA+IDAgPyAnKycgOiAnJ319e3sgZGVsdGFQZXJjZW50IH19JSB7eyBkZWx0YVN1ZmZpeCB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==