@fundamental-ngx/core 0.36.0-rc.21 → 0.36.0-rc.22

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 (136) hide show
  1. package/action-bar/package.json +1 -1
  2. package/action-sheet/package.json +1 -1
  3. package/alert/package.json +1 -1
  4. package/avatar/package.json +1 -1
  5. package/avatar-group/package.json +1 -1
  6. package/bar/package.json +1 -1
  7. package/breadcrumb/breadcrumb.component.d.ts +6 -3
  8. package/breadcrumb/esm2020/breadcrumb.component.mjs +13 -5
  9. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs +14 -6
  10. package/breadcrumb/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  11. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs +14 -6
  12. package/breadcrumb/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  13. package/breadcrumb/package.json +1 -1
  14. package/busy-indicator/package.json +1 -1
  15. package/button/package.json +1 -1
  16. package/calendar/package.json +1 -1
  17. package/card/package.json +1 -1
  18. package/carousel/package.json +1 -1
  19. package/checkbox/package.json +1 -1
  20. package/combobox/package.json +1 -1
  21. package/content-density/package.json +2 -2
  22. package/date-picker/package.json +1 -1
  23. package/datetime/package.json +1 -1
  24. package/datetime-picker/package.json +1 -1
  25. package/dialog/package.json +1 -1
  26. package/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.d.ts +7 -1
  27. package/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.d.ts +3 -1
  28. package/dynamic-page/dynamic-page.service.d.ts +2 -0
  29. package/dynamic-page/esm2020/dynamic-page-header/actions/dynamic-page-global-actions.component.mjs +6 -3
  30. package/dynamic-page/esm2020/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +19 -5
  31. package/dynamic-page/esm2020/dynamic-page-header/header/dynamic-page-header.component.mjs +8 -4
  32. package/dynamic-page/esm2020/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +3 -3
  33. package/dynamic-page/esm2020/dynamic-page.service.mjs +3 -1
  34. package/dynamic-page/fesm2015/fundamental-ngx-core-dynamic-page.mjs +50 -30
  35. package/dynamic-page/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  36. package/dynamic-page/fesm2020/fundamental-ngx-core-dynamic-page.mjs +50 -30
  37. package/dynamic-page/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  38. package/dynamic-page/package.json +1 -1
  39. package/dynamic-side-content/package.json +1 -1
  40. package/esm2020/breadcrumb/breadcrumb.component.mjs +13 -5
  41. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.mjs +6 -3
  42. package/esm2020/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.mjs +19 -5
  43. package/esm2020/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +8 -4
  44. package/esm2020/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +3 -3
  45. package/esm2020/dynamic-page/dynamic-page.service.mjs +3 -1
  46. package/esm2020/flexible-column-layout/flexible-column-layout.component.mjs +9 -3
  47. package/facets/package.json +1 -1
  48. package/feed-input/package.json +1 -1
  49. package/feed-list-item/package.json +1 -1
  50. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +14 -6
  51. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  52. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +50 -30
  53. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  54. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +8 -2
  55. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  56. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +14 -6
  57. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  58. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +50 -30
  59. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  60. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +8 -2
  61. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  62. package/file-uploader/package.json +1 -1
  63. package/fixed-card-layout/package.json +1 -1
  64. package/flexible-column-layout/esm2020/flexible-column-layout.component.mjs +9 -3
  65. package/flexible-column-layout/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +8 -2
  66. package/flexible-column-layout/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  67. package/flexible-column-layout/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +8 -2
  68. package/flexible-column-layout/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  69. package/flexible-column-layout/flexible-column-layout.component.d.ts +7 -1
  70. package/flexible-column-layout/package.json +1 -1
  71. package/form/package.json +1 -1
  72. package/formatted-text/package.json +1 -1
  73. package/grid-list/package.json +1 -1
  74. package/icon/package.json +1 -1
  75. package/illustrated-message/package.json +1 -1
  76. package/infinite-scroll/package.json +1 -1
  77. package/info-label/package.json +1 -1
  78. package/inline-help/package.json +1 -1
  79. package/input-group/package.json +1 -1
  80. package/layout-grid/package.json +1 -1
  81. package/layout-panel/package.json +1 -1
  82. package/link/package.json +1 -1
  83. package/list/package.json +1 -1
  84. package/menu/package.json +1 -1
  85. package/message-box/package.json +1 -1
  86. package/message-strip/package.json +1 -1
  87. package/message-toast/package.json +1 -1
  88. package/micro-process-flow/package.json +1 -1
  89. package/mobile-mode/package.json +1 -1
  90. package/multi-input/package.json +1 -1
  91. package/nested-list/package.json +1 -1
  92. package/notification/package.json +1 -1
  93. package/object-identifier/package.json +1 -1
  94. package/object-marker/package.json +1 -1
  95. package/object-number/package.json +1 -1
  96. package/object-status/package.json +1 -1
  97. package/overflow-layout/package.json +4 -4
  98. package/package.json +2 -2
  99. package/pagination/package.json +1 -1
  100. package/panel/package.json +1 -1
  101. package/popover/package.json +1 -1
  102. package/product-switch/package.json +1 -1
  103. package/progress-indicator/package.json +1 -1
  104. package/quick-view/package.json +1 -1
  105. package/radio/package.json +1 -1
  106. package/rating-indicator/package.json +1 -1
  107. package/resizable-card-layout/package.json +1 -1
  108. package/scroll-spy/package.json +1 -1
  109. package/scrollbar/package.json +1 -1
  110. package/segmented-button/package.json +1 -1
  111. package/select/package.json +1 -1
  112. package/shared/package.json +1 -1
  113. package/shellbar/package.json +1 -1
  114. package/side-navigation/package.json +1 -1
  115. package/slider/package.json +1 -1
  116. package/split-button/package.json +1 -1
  117. package/splitter/package.json +1 -1
  118. package/status-indicator/package.json +1 -1
  119. package/step-input/package.json +1 -1
  120. package/switch/package.json +1 -1
  121. package/table/package.json +1 -1
  122. package/tabs/package.json +1 -1
  123. package/text/package.json +1 -1
  124. package/theming/package.json +1 -1
  125. package/tile/package.json +1 -1
  126. package/time/package.json +1 -1
  127. package/time-picker/package.json +1 -1
  128. package/timeline/package.json +1 -1
  129. package/title/package.json +1 -1
  130. package/token/package.json +1 -1
  131. package/toolbar/package.json +1 -1
  132. package/tree/package.json +1 -1
  133. package/upload-collection/package.json +1 -1
  134. package/utils/package.json +1 -1
  135. package/vertical-navigation/package.json +1 -1
  136. package/wizard/package.json +1 -1
@@ -324,10 +324,10 @@ export class FlexibleColumnLayoutComponent {
324
324
  }
325
325
  }
326
326
  FlexibleColumnLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FlexibleColumnLayoutComponent, deps: [{ token: FD_FLEXIBLE_LAYOUT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
327
- FlexibleColumnLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FlexibleColumnLayoutComponent, selector: "fd-flexible-column-layout", inputs: { backgroundDesign: "backgroundDesign", layout: "layout", layoutDefinitions: "layoutDefinitions", smBreakPoint: "smBreakPoint", lgBreakPoint: "lgBreakPoint", customOnResizeFunction: "customOnResizeFunction" }, outputs: { layoutChange: "layoutChange" }, queries: [{ propertyName: "startColumn", first: true, predicate: ["startColumn"], descendants: true }, { propertyName: "midColumn", first: true, predicate: ["midColumn"], descendants: true }, { propertyName: "endColumn", first: true, predicate: ["endColumn"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.start\"\n [style.visibility]=\"_columnLayout.start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.start === 0\"\n >\n <ng-container *ngTemplateOutlet=\"startColumn\"></ng-container>\n </div>\n <!-- Left Separator -->\n <div *ngIf=\"_leftColumnSeparator\" class=\"fd-flexible-column-layout__separator\">\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n ariaLabel=\"Expand\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <i\n [class]=\"_leftColumnSeparator ? 'sap-icon--slim-arrow-' + _leftColumnSeparator : ''\"\n role=\"presentation\"\n ></i>\n </button>\n </div>\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.mid\"\n [style.visibility]=\"_columnLayout.mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.mid === 0\"\n >\n <ng-container *ngTemplateOutlet=\"midColumn\"></ng-container>\n </div>\n <!-- Right Separator -->\n <div *ngIf=\"_rightColumnSeparator\" class=\"fd-flexible-column-layout__separator\">\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n ariaLabel=\"Expand\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <i\n [class]=\"_rightColumnSeparator ? 'sap-icon--slim-arrow-' + _rightColumnSeparator : ''\"\n role=\"presentation\"\n ></i>\n </button>\n </div>\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.end\"\n [style.visibility]=\"_columnLayout.end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.end === 0\"\n >\n <ng-container *ngTemplateOutlet=\"endColumn\"></ng-container>\n </div>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-flexible-column-layout{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-flexible-column-layout:after,.fd-flexible-column-layout:before{box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__separator{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--fdFlexibleColumnLayout_Background_Solid);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:1rem;padding:0;position:relative;width:1rem}.fd-flexible-column-layout__separator:after,.fd-flexible-column-layout__separator:before{-webkit-box-sizing:inherit;-webkit-transition:all .1s ease-in;-webkit-transform:translateX(-50%);box-sizing:inherit;content:\"\";display:block;font-size:inherit;height:4rem;left:50%;position:absolute;transform:translate(-50%);transition:all .1s ease-in;width:.0625rem}.fd-flexible-column-layout__separator:before{background-image:linear-gradient(to top,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);bottom:calc(50% + 1rem)}.fd-flexible-column-layout__separator:after{background-image:linear-gradient(to bottom,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);top:calc(50% + 1rem)}.fd-flexible-column-layout__separator.is-hover:after,.fd-flexible-column-layout__separator.is-hover:before,.fd-flexible-column-layout__separator:hover:after,.fd-flexible-column-layout__separator:hover:before{height:7rem}.fd-flexible-column-layout .fd-flexible-column-layout__button{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-transform:translate(-50%,-50%);height:2rem;justify-content:center;left:50%;min-width:1.5rem;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:1.5rem;z-index:2}.fd-flexible-column-layout__column{-webkit-box-sizing:border-box;-webkit-transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in;border:0;border-left:var(--fdFlexibleColumnLayout_Border);border-right:var(--fdFlexibleColumnLayout_Border);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;min-width:20rem;padding:0;transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.fd-flexible-column-layout__column:after,.fd-flexible-column-layout__column:before{box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__column:first-child{border-left:none;margin-left:0}.fd-flexible-column-layout__column:last-child{border-right:none;margin-bottom:0;margin-right:0}.fd-flexible-column-layout__column--hidden{border:none;min-width:0}.fd-flexible-column-layout--translucent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Translucent)}.fd-flexible-column-layout--transparent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Transparent)}.fd-button.fd-flexible-column-layout__button{z-index:1}.fd-flexible-column-layout__column{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .1s ease-in;overflow:hidden}.fd-flexible-column-layout__column{min-width:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
327
+ FlexibleColumnLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FlexibleColumnLayoutComponent, selector: "fd-flexible-column-layout", inputs: { backgroundDesign: "backgroundDesign", layout: "layout", layoutDefinitions: "layoutDefinitions", smBreakPoint: "smBreakPoint", lgBreakPoint: "lgBreakPoint", customOnResizeFunction: "customOnResizeFunction", separatorAriaLabel: "separatorAriaLabel", expandTitle: "expandTitle", collapseTitle: "collapseTitle" }, outputs: { layoutChange: "layoutChange" }, queries: [{ propertyName: "startColumn", first: true, predicate: ["startColumn"], descendants: true }, { propertyName: "midColumn", first: true, predicate: ["midColumn"], descendants: true }, { propertyName: "endColumn", first: true, predicate: ["endColumn"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.start\"\n [style.visibility]=\"_columnLayout.start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.start === 0\"\n >\n <ng-container *ngTemplateOutlet=\"startColumn\"></ng-container>\n </div>\n <!-- Left Separator -->\n <div\n *ngIf=\"_leftColumnSeparator\"\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [title]=\"_leftColumnSeparator === 'left' ? expandTitle : collapseTitle\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <i\n [class]=\"_leftColumnSeparator ? 'sap-icon--slim-arrow-' + _leftColumnSeparator : ''\"\n role=\"presentation\"\n ></i>\n </button>\n </div>\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.mid\"\n [style.visibility]=\"_columnLayout.mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.mid === 0\"\n >\n <ng-container *ngTemplateOutlet=\"midColumn\"></ng-container>\n </div>\n <!-- Right Separator -->\n <div\n *ngIf=\"_rightColumnSeparator\"\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [title]=\"_rightColumnSeparator === 'left' ? expandTitle : collapseTitle\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <i\n [class]=\"_rightColumnSeparator ? 'sap-icon--slim-arrow-' + _rightColumnSeparator : ''\"\n role=\"presentation\"\n ></i>\n </button>\n </div>\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.end\"\n [style.visibility]=\"_columnLayout.end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.end === 0\"\n >\n <ng-container *ngTemplateOutlet=\"endColumn\"></ng-container>\n </div>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-flexible-column-layout{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-flexible-column-layout:after,.fd-flexible-column-layout:before{box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__separator{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--fdFlexibleColumnLayout_Background_Solid);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:1rem;padding:0;position:relative;width:1rem}.fd-flexible-column-layout__separator:after,.fd-flexible-column-layout__separator:before{-webkit-box-sizing:inherit;-webkit-transition:all .1s ease-in;-webkit-transform:translateX(-50%);box-sizing:inherit;content:\"\";display:block;font-size:inherit;height:4rem;left:50%;position:absolute;transform:translate(-50%);transition:all .1s ease-in;width:.0625rem}.fd-flexible-column-layout__separator:before{background-image:linear-gradient(to top,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);bottom:calc(50% + 1rem)}.fd-flexible-column-layout__separator:after{background-image:linear-gradient(to bottom,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);top:calc(50% + 1rem)}.fd-flexible-column-layout__separator.is-hover:after,.fd-flexible-column-layout__separator.is-hover:before,.fd-flexible-column-layout__separator:hover:after,.fd-flexible-column-layout__separator:hover:before{height:7rem}.fd-flexible-column-layout .fd-flexible-column-layout__button{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-transform:translate(-50%,-50%);height:2rem;justify-content:center;left:50%;min-width:1.5rem;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:1.5rem;z-index:2}.fd-flexible-column-layout__column{-webkit-box-sizing:border-box;-webkit-transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in;border:0;border-left:var(--fdFlexibleColumnLayout_Border);border-right:var(--fdFlexibleColumnLayout_Border);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;min-width:20rem;padding:0;transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.fd-flexible-column-layout__column:after,.fd-flexible-column-layout__column:before{box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__column:first-child{border-left:none;margin-left:0}.fd-flexible-column-layout__column:last-child{border-right:none;margin-bottom:0;margin-right:0}.fd-flexible-column-layout__column--hidden{border:none;min-width:0}.fd-flexible-column-layout--translucent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Translucent)}.fd-flexible-column-layout--transparent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Transparent)}.fd-button.fd-flexible-column-layout__button{z-index:1}.fd-flexible-column-layout__column{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .1s ease-in;overflow:hidden}.fd-flexible-column-layout__column{min-width:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
328
328
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FlexibleColumnLayoutComponent, decorators: [{
329
329
  type: Component,
330
- args: [{ selector: 'fd-flexible-column-layout', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.start\"\n [style.visibility]=\"_columnLayout.start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.start === 0\"\n >\n <ng-container *ngTemplateOutlet=\"startColumn\"></ng-container>\n </div>\n <!-- Left Separator -->\n <div *ngIf=\"_leftColumnSeparator\" class=\"fd-flexible-column-layout__separator\">\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n ariaLabel=\"Expand\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <i\n [class]=\"_leftColumnSeparator ? 'sap-icon--slim-arrow-' + _leftColumnSeparator : ''\"\n role=\"presentation\"\n ></i>\n </button>\n </div>\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.mid\"\n [style.visibility]=\"_columnLayout.mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.mid === 0\"\n >\n <ng-container *ngTemplateOutlet=\"midColumn\"></ng-container>\n </div>\n <!-- Right Separator -->\n <div *ngIf=\"_rightColumnSeparator\" class=\"fd-flexible-column-layout__separator\">\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n ariaLabel=\"Expand\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <i\n [class]=\"_rightColumnSeparator ? 'sap-icon--slim-arrow-' + _rightColumnSeparator : ''\"\n role=\"presentation\"\n ></i>\n </button>\n </div>\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.end\"\n [style.visibility]=\"_columnLayout.end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.end === 0\"\n >\n <ng-container *ngTemplateOutlet=\"endColumn\"></ng-container>\n </div>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-flexible-column-layout{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-flexible-column-layout:after,.fd-flexible-column-layout:before{box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__separator{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--fdFlexibleColumnLayout_Background_Solid);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:1rem;padding:0;position:relative;width:1rem}.fd-flexible-column-layout__separator:after,.fd-flexible-column-layout__separator:before{-webkit-box-sizing:inherit;-webkit-transition:all .1s ease-in;-webkit-transform:translateX(-50%);box-sizing:inherit;content:\"\";display:block;font-size:inherit;height:4rem;left:50%;position:absolute;transform:translate(-50%);transition:all .1s ease-in;width:.0625rem}.fd-flexible-column-layout__separator:before{background-image:linear-gradient(to top,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);bottom:calc(50% + 1rem)}.fd-flexible-column-layout__separator:after{background-image:linear-gradient(to bottom,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);top:calc(50% + 1rem)}.fd-flexible-column-layout__separator.is-hover:after,.fd-flexible-column-layout__separator.is-hover:before,.fd-flexible-column-layout__separator:hover:after,.fd-flexible-column-layout__separator:hover:before{height:7rem}.fd-flexible-column-layout .fd-flexible-column-layout__button{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-transform:translate(-50%,-50%);height:2rem;justify-content:center;left:50%;min-width:1.5rem;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:1.5rem;z-index:2}.fd-flexible-column-layout__column{-webkit-box-sizing:border-box;-webkit-transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in;border:0;border-left:var(--fdFlexibleColumnLayout_Border);border-right:var(--fdFlexibleColumnLayout_Border);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;min-width:20rem;padding:0;transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.fd-flexible-column-layout__column:after,.fd-flexible-column-layout__column:before{box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__column:first-child{border-left:none;margin-left:0}.fd-flexible-column-layout__column:last-child{border-right:none;margin-bottom:0;margin-right:0}.fd-flexible-column-layout__column--hidden{border:none;min-width:0}.fd-flexible-column-layout--translucent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Translucent)}.fd-flexible-column-layout--transparent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Transparent)}.fd-button.fd-flexible-column-layout__button{z-index:1}.fd-flexible-column-layout__column{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .1s ease-in;overflow:hidden}.fd-flexible-column-layout__column{min-width:0}\n"] }]
330
+ args: [{ selector: 'fd-flexible-column-layout', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.start\"\n [style.visibility]=\"_columnLayout.start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.start === 0\"\n >\n <ng-container *ngTemplateOutlet=\"startColumn\"></ng-container>\n </div>\n <!-- Left Separator -->\n <div\n *ngIf=\"_leftColumnSeparator\"\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [title]=\"_leftColumnSeparator === 'left' ? expandTitle : collapseTitle\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <i\n [class]=\"_leftColumnSeparator ? 'sap-icon--slim-arrow-' + _leftColumnSeparator : ''\"\n role=\"presentation\"\n ></i>\n </button>\n </div>\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.mid\"\n [style.visibility]=\"_columnLayout.mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.mid === 0\"\n >\n <ng-container *ngTemplateOutlet=\"midColumn\"></ng-container>\n </div>\n <!-- Right Separator -->\n <div\n *ngIf=\"_rightColumnSeparator\"\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [title]=\"_rightColumnSeparator === 'left' ? expandTitle : collapseTitle\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <i\n [class]=\"_rightColumnSeparator ? 'sap-icon--slim-arrow-' + _rightColumnSeparator : ''\"\n role=\"presentation\"\n ></i>\n </button>\n </div>\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.end\"\n [style.visibility]=\"_columnLayout.end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.end === 0\"\n >\n <ng-container *ngTemplateOutlet=\"endColumn\"></ng-container>\n </div>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-flexible-column-layout{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-flexible-column-layout:after,.fd-flexible-column-layout:before{box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__separator{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--fdFlexibleColumnLayout_Background_Solid);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:1rem;padding:0;position:relative;width:1rem}.fd-flexible-column-layout__separator:after,.fd-flexible-column-layout__separator:before{-webkit-box-sizing:inherit;-webkit-transition:all .1s ease-in;-webkit-transform:translateX(-50%);box-sizing:inherit;content:\"\";display:block;font-size:inherit;height:4rem;left:50%;position:absolute;transform:translate(-50%);transition:all .1s ease-in;width:.0625rem}.fd-flexible-column-layout__separator:before{background-image:linear-gradient(to top,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);bottom:calc(50% + 1rem)}.fd-flexible-column-layout__separator:after{background-image:linear-gradient(to bottom,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);top:calc(50% + 1rem)}.fd-flexible-column-layout__separator.is-hover:after,.fd-flexible-column-layout__separator.is-hover:before,.fd-flexible-column-layout__separator:hover:after,.fd-flexible-column-layout__separator:hover:before{height:7rem}.fd-flexible-column-layout .fd-flexible-column-layout__button{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-transform:translate(-50%,-50%);height:2rem;justify-content:center;left:50%;min-width:1.5rem;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:1.5rem;z-index:2}.fd-flexible-column-layout__column{-webkit-box-sizing:border-box;-webkit-transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in;border:0;border-left:var(--fdFlexibleColumnLayout_Border);border-right:var(--fdFlexibleColumnLayout_Border);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;min-width:20rem;padding:0;transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.fd-flexible-column-layout__column:after,.fd-flexible-column-layout__column:before{box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__column:first-child{border-left:none;margin-left:0}.fd-flexible-column-layout__column:last-child{border-right:none;margin-bottom:0;margin-right:0}.fd-flexible-column-layout__column--hidden{border:none;min-width:0}.fd-flexible-column-layout--translucent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Translucent)}.fd-flexible-column-layout--transparent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Transparent)}.fd-button.fd-flexible-column-layout__button{z-index:1}.fd-flexible-column-layout__column{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .1s ease-in;overflow:hidden}.fd-flexible-column-layout__column{min-width:0}\n"] }]
331
331
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
332
332
  type: Inject,
333
333
  args: [FD_FLEXIBLE_LAYOUT_CONFIG]
@@ -354,5 +354,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
354
354
  type: Input
355
355
  }], customOnResizeFunction: [{
356
356
  type: Input
357
+ }], separatorAriaLabel: [{
358
+ type: Input
359
+ }], expandTitle: [{
360
+ type: Input
361
+ }], collapseTitle: [{
362
+ type: Input
357
363
  }] } });
358
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleGlibGUtY29sdW1uLWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mbGV4aWJsZS1jb2x1bW4tbGF5b3V0L2ZsZXhpYmxlLWNvbHVtbi1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZmxleGlibGUtY29sdW1uLWxheW91dC9mbGV4aWJsZS1jb2x1bW4tbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUVILHlCQUF5QixFQUl6QixjQUFjLEVBQ2QsY0FBYyxFQUNkLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBRTVCLGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0Isd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDN0IsTUFBTSxhQUFhLENBQUM7Ozs7O0FBU3JCLE1BQU0sT0FBTyw2QkFBNkI7SUFtSHRDLFlBQWdFLE9BQTZCO1FBQTdCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBaEc3Rjs7OztXQUlHO1FBRUgscUJBQWdCLEdBQTRDLE9BQU8sQ0FBQztRQUVwRTs7Ozs7O1dBTUc7UUFFSCxXQUFNLEdBQXlCLDRCQUE0QixDQUFDO1FBRTVEOztXQUVHO1FBRUgs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LFdBQVc7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7OzBIQWpZUSw2QkFBNkIsa0JBbUhsQix5QkFBeUI7OEdBbkhwQyw2QkFBNkIscW5CQy9DMUMsMnJGQW9FQTsyRkRyQmEsNkJBQTZCO2tCQVB6QyxTQUFTOytCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs7MEJBcUh4QixNQUFNOzJCQUFDLHlCQUF5Qjs0Q0E5RzdDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxhQUFhO2dCQU8zQixTQUFTO3NCQURSLFlBQVk7dUJBQUMsV0FBVztnQkFPekIsU0FBUztzQkFEUixZQUFZO3VCQUFDLFdBQVc7Z0JBU3pCLGdCQUFnQjtzQkFEZixLQUFLO2dCQVdOLE1BQU07c0JBREwsS0FBSztnQkFPTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxNQUFNO2dCQVFQLFlBQVk7c0JBRFgsS0FBSztnQkFRTixZQUFZO3NCQURYLEtBQUs7Z0JBT04sc0JBQXNCO3NCQURyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIENvbHVtblNlcGFyYXRvclZhbHVlLFxuICAgIEZEX0ZMRVhJQkxFX0xBWU9VVF9DT05GSUcsXG4gICAgRmxleGlibGVMYXlvdXRDb25maWcsXG4gICAgRmxleGlibGVDb2x1bW5MYXlvdXQsXG4gICAgRmxleGlibGVDb2x1bW5MYXlvdXREZWZpbml0aW9uLFxuICAgIExHX1NDUkVFTl9TSVpFLFxuICAgIE1EX1NDUkVFTl9TSVpFLFxuICAgIE9ORV9DT0xVTU5fRU5EX0ZVTExfU0NSRUVOLFxuICAgIE9ORV9DT0xVTU5fTUlEX0ZVTExfU0NSRUVOLFxuICAgIE9ORV9DT0xVTU5fU1RBUlRfRlVMTF9TQ1JFRU4sXG4gICAgU2NyZWVuU2l6ZSxcbiAgICBTTV9TQ1JFRU5fU0laRSxcbiAgICBUSFJFRV9DT0xVTU5TX0VORF9FWFBBTkRFRCxcbiAgICBUSFJFRV9DT0xVTU5TX0VORF9NSU5JTUlaRUQsXG4gICAgVEhSRUVfQ09MVU1OU19NSURfRVhQQU5ERUQsXG4gICAgVEhSRUVfQ09MVU1OU19TVEFSVF9NSU5JTUlaRUQsXG4gICAgVFdPX0NPTFVNTlNfRU5EX0VYUEFOREVELFxuICAgIFRXT19DT0xVTU5TX01JRF9FWFBBTkRFRCxcbiAgICBUV09fQ09MVU1OU19TVEFSVF9FWFBBTkRFRFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtZmxleGlibGUtY29sdW1uLWxheW91dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZsZXhpYmxlLWNvbHVtbi1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZsZXhpYmxlLWNvbHVtbi1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZsZXhpYmxlQ29sdW1uTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIHRoYXQgcHJvdmlkZXMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpcnN0L3N0YXJ0L2xlZnQgY29sdW1uXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnc3RhcnRDb2x1bW4nKVxuICAgIHN0YXJ0Q29sdW1uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIHRoYXQgcHJvdmlkZXMgdGhlIGNvbnRlbnQgb2YgdGhlIG1pZGRsZSBjb2x1bW5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtaWRDb2x1bW4nKVxuICAgIG1pZENvbHVtbjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSB0aGF0IHByb3ZpZGVzIHRoZSBjb250ZW50IG9mIHRoZSBsYXN0L2VuZC9yaWdodCBjb2x1bW5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdlbmRDb2x1bW4nKVxuICAgIGVuZENvbHVtbjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBiYWNrZ3JvdW5kIGRlc2lnbiBvZiB0aGUgY29tcG9uZW50XG4gICAgICogT3B0aW9ucyBpbmNsdWRlOiAnc29saWQnIHwgJ3RyYW5zbHVjZW50JyB8ICd0cmFuc3BhcmVudCdcbiAgICAgKiBUaGUgZGVmYXVsdCBpcyBzZXQgdG8gJ3NvbGlkJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYmFja2dyb3VuZERlc2lnbjogJ3NvbGlkJyB8ICd0cmFuc2x1Y2VudCcgfCAndHJhbnNwYXJlbnQnID0gJ3NvbGlkJztcblxuICAgIC8qKlxuICAgICAqIFRoZSBsYXlvdXQgb2YgdGhlIGNvbXBvbmVudFxuICAgICAqIE9wdGlvbnMgaW5jbHVkZTogJ09uZUNvbHVtblN0YXJ0RnVsbFNjcmVlbicgfCAnT25lQ29sdW1uTWlkRnVsbFNjcmVlbicgfFxuICAgICAqICdPbmVDb2x1bW5FbmRGdWxsU2NyZWVuJyB8ICdUd29Db2x1bW5zU3RhcnRFeHBhbmRlZCcgfCAnVHdvQ29sdW1uc01pZEV4cGFuZGVkJyB8XG4gICAgICogJ1R3b0NvbHVtbnNFbmRFeHBhbmRlZCcgfCAnVGhyZWVDb2x1bW5zTWlkRXhwYW5kZWQnIHwgJ1RocmVlQ29sdW1uc0VuZEV4cGFuZGVkJyB8XG4gICAgICogJ1RocmVlQ29sdW1uc1N0YXJ0TWluaW1pemVkJyB8ICdUaHJlZUNvbHVtbnNFbmRNaW5pbWl6ZWQnXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBsYXlvdXQ6IEZsZXhpYmxlQ29sdW1uTGF5b3V0ID0gT05FX0NPTFVNTl9TVEFSVF9GVUxMX1NDUkVFTjtcblxuICAgIC8qKlxuICAgICAqIE1hcHBpbmcgb2YgdGhlIGxheW91dCBuYW1lIGFuZCB0aGUgY29sdW1uIGxheW91dCBpbiAlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBsYXlvdXREZWZpbml0aW9uczogRmxleGlibGVDb2x1bW5MYXlvdXREZWZpbml0aW9uID0gdGhpcy5fY29uZmlnLmxheW91dHM7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXZlbnQgZW1pdHRlZCBvbiBsYXlvdXQgdmFsdWUgY2hhbmdlLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGxheW91dENoYW5nZTogRXZlbnRFbWl0dGVyPEZsZXhpYmxlQ29sdW1uTGF5b3V0PiA9IG5ldyBFdmVudEVtaXR0ZXI8RmxleGlibGVDb2x1bW5MYXlvdXQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBVc2VyIGRlZmluZWQgYnJlYWsgcG9pbnQgZm9yIFNNIHNjcmVlbnNcbiAgICAgKiBEZWZhdWx0IChGaW9yaSAzKSB2YWx1ZSBpcyA5NjBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNtQnJlYWtQb2ludCA9IDk2MDtcblxuICAgIC8qKlxuICAgICAqIFVzZXItZGVmaW5lZCBicmVhayBwb2ludCBmb3IgTEcgc2NyZWVuc1xuICAgICAqIHRoZSBkZWZhdWx0IChGaW9yaSAzKSB2YWx1ZSBpcyAxMjgwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBsZ0JyZWFrUG9pbnQgPSAxMjgwO1xuXG4gICAgLyoqXG4gICAgICogVXNlci1kZWZpbmVkIG9uUmVzaXplIGZ1bmN0aW9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjdXN0b21PblJlc2l6ZUZ1bmN0aW9uOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGxlZnQgY29sdW1uIHNlcGFyYXRvciB2YWx1ZSAoYmV0d2VlbiBzdGFydCBhbmQgbWlkZGxlIGNvbHVtbnMpXG4gICAgICogdGhhdCBzcGVjaWZpZXMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgYXJyb3cgYW5kXG4gICAgICogaWYgdGhlIHNlcGFyYXRvciBpcyB2aXNpYmxlXG4gICAgICogT3B0aW9ucyBpbmNsdWRlOiAnbGVmdCcsICdyaWdodCcgYW5kIG51bGxcbiAgICAgKi9cbiAgICBfbGVmdENvbHVtblNlcGFyYXRvcjogQ29sdW1uU2VwYXJhdG9yVmFsdWUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIHJpZ2h0IGNvbHVtbiBzZXBhcmF0b3IgdmFsdWUgKGJldHdlZW4gbWlkZGxlIGFuZCBlbmQgY29sdW1ucylcbiAgICAgKiB0aGF0IHNwZWNpZmllcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBhcnJvdyBhbmRcbiAgICAgKiBpZiB0aGUgc2VwYXJhdG9yIGlzIHZpc2libGVcbiAgICAgKiBPcHRpb25zIGluY2x1ZGU6ICdsZWZ0JywgJ3JpZ2h0JyBhbmQgbnVsbFxuICAgICAqL1xuICAgIF9yaWdodENvbHVtblNlcGFyYXRvcjogQ29sdW1uU2VwYXJhdG9yVmFsdWUgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGFsbG93cyB0byBrZWVwIHRyYWNrIG9mIHRoZSBwcmV2aW9zIGxheW91dFxuICAgICAqIHNvIHdlIGNhbiBnbyBiYWNrIHRvIGl0IG9uIHdpbmRvdyByZXNpemVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9wcmV2aW91c0xheW91dDogRmxleGlibGVDb2x1bW5MYXlvdXQgPSB0aGlzLmxheW91dDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2NyZWVuU2l6ZTogU2NyZWVuU2l6ZSA9IExHX1NDUkVFTl9TSVpFO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIHRoZSBjb2x1bW4gbGF5b3V0IHJlcHJlc2VudGluZyB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aWR0aFxuICAgICAqIGJldHdlZW4gdGhlIGZpcnN0IChzdGFydCksIHRoZSBtaWRkbGUgYW5kIHRoZSBsYXN0KGVuZCkgY29sdW1uXG4gICAgICovXG4gICAgX2NvbHVtbkxheW91dDogeyBzdGFydDogbnVtYmVyOyBtaWQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfSA9IHRoaXMubGF5b3V0RGVmaW5pdGlvbnNbdGhpcy5sYXlvdXRdO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIHNldCB0byAndHJ1ZScgaWYgdGhlIGxheW91dCBpcyBjaGFuZ2VkIHRvIGZ1bGxzY3JlZW4gb24gd2luZG93IHJlc2l6ZVxuICAgICAqIHRoaXMgd2lsbCBhbGxvdyB0aGUgbGF5b3V0IHRvIHN3aXRjaCB0byBwcmV2aW91cyBtb2RlIG9uIFNNLT5NRCB0cmFuc2l0aW9uXG4gICAgICogaWYgYSBsYXlvdXQgaXMgc2V0IGJ5IHRoZSB1c2VyIHRvIGZ1bGxzY3JlZW4sIGl0IHNob3VsZCBwZXJzaXN0IG9uIHdpbmRvdyByZXNpemVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9yZXNwb25zaXZlRnVsbHNjcmVlbkxheW91dCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChGRF9GTEVYSUJMRV9MQVlPVVRfQ09ORklHKSBwcml2YXRlIHJlYWRvbmx5IF9jb25maWc6IEZsZXhpYmxlTGF5b3V0Q29uZmlnKSB7fVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGZ1bmN0aW9uIHRoYXQgaGFuZGxlcyB0aGUgY2xpY2sgZXZlbnRzIG9uIHRoZSBsZWZ0IHNlcGFyYXRvclxuICAgICAqIGFuZCB1cGRhdGVzIHRoZSBsYXlvdXRcbiAgICAgKi9cbiAgICBfaGFuZGxlTGVmdENvbHVtblNlcGFyYXRvckNsaWNrKCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMubGF5b3V0KSB7XG4gICAgICAgICAgICBjYXNlIFRXT19DT0xVTU5TX1NUQVJUX0VYUEFOREVEOlxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVFdPX0NPTFVNTlNfTUlEX0VYUEFOREVEKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVFdPX0NPTFVNTlNfTUlEX0VYUEFOREVEOlxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVFdPX0NPTFVNTlNfU1RBUlRfRVhQQU5ERUQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX01JRF9FWFBBTkRFRDpcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRIUkVFX0NPTFVNTlNfRU5EX01JTklNSVpFRCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfRU5EX01JTklNSVpFRDpcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRXT19DT0xVTU5TX1NUQVJUX0VYUEFOREVEKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19TVEFSVF9NSU5JTUlaRUQ6XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChUSFJFRV9DT0xVTU5TX0VORF9NSU5JTUlaRUQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGZ1bmN0aW9uIHRoYXQgaGFuZGxlcyB0aGUgY2xpY2sgZXZlbnRzIG9uIHRoZSByaWdodCBzZXBhcmF0b3JcbiAgICAgKiBhbmQgdXBkYXRlcyB0aGUgbGF5b3V0XG4gICAgICovXG4gICAgX2hhbmRsZVJpZ2h0Q29sdW1uU2VwYXJhdG9yQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5sYXlvdXQpIHtcbiAgICAgICAgICAgIGNhc2UgVFdPX0NPTFVNTlNfRU5EX0VYUEFOREVEOlxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVEhSRUVfQ09MVU1OU19TVEFSVF9NSU5JTUlaRUQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX01JRF9FWFBBTkRFRDpcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRIUkVFX0NPTFVNTlNfRU5EX0VYUEFOREVEKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19FTkRfRVhQQU5ERUQ6XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChUSFJFRV9DT0xVTU5TX01JRF9FWFBBTkRFRCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfRU5EX01JTklNSVpFRDpcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRIUkVFX0NPTFVNTlNfTUlEX0VYUEFOREVEKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19TVEFSVF9NSU5JTUlaRUQ6XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChUV09fQ09MVU1OU19FTkRfRVhQQU5ERUQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGZ1bmN0aW9uIHRvIGRldGVybWluZSB0aGUgc2NyZWVuIHNpemUgaW4gJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJ1xuICAgICAqIGZvcm1hdCBkZXBlbmRpbmcgb24gdGhlIHdpbmRvdyBzaXplIGluIHB4XG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0U2NyZWVuU2l6ZShzaXplOiBudW1iZXIpOiBTY3JlZW5TaXplIHtcbiAgICAgICAgaWYgKHNpemUgPiB0aGlzLmxnQnJlYWtQb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuIExHX1NDUkVFTl9TSVpFO1xuICAgICAgICB9IGVsc2UgaWYgKHNpemUgPiB0aGlzLnNtQnJlYWtQb2ludCAmJiBzaXplIDw9IHRoaXMubGdCcmVha1BvaW50KSB7XG4gICAgICAgICAgICByZXR1cm4gTURfU0NSRUVOX1NJWkU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gU01fU0NSRUVOX1NJWkU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogaGFuZGxlcyB0aGUgY2hhbmdlIG9mIHRoZSBsYXlvdXRzIG9uIHJlYWNoaW5nIGEgYnJlYWsgcG9pbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9yZXNwb25zaXZlTGF5b3V0Q2hhbmdlSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2NyZWVuU2l6ZSA9IHRoaXMuX2dldFNjcmVlblNpemUod2luZG93LmlubmVyV2lkdGgpO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5sYXlvdXQpIHtcbiAgICAgICAgICAgIGNhc2UgT05FX0NPTFVNTl9NSURfRlVMTF9TQ1JFRU46XG4gICAgICAgICAgICBjYXNlIE9ORV9DT0xVTU5fRU5EX0ZVTExfU0NSRUVOOiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zY3JlZW5TaXplICE9PSBTTV9TQ1JFRU5fU0laRSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxheW91dCAhPT0gdGhpcy5fcHJldmlvdXNMYXlvdXQgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZUZ1bGxzY3JlZW5MYXlvdXRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZUZ1bGxzY3JlZW5MYXlvdXQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dCh0aGlzLl9wcmV2aW91c0xheW91dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlIFRXT19DT0xVTU5TX1NUQVJUX0VYUEFOREVEOlxuICAgICAgICAgICAgY2FzZSBUV09fQ09MVU1OU19NSURfRVhQQU5ERUQ6IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2NyZWVuU2l6ZSA9PT0gU01fU0NSRUVOX1NJWkUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZUZ1bGxzY3JlZW5MYXlvdXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KE9ORV9DT0xVTU5fTUlEX0ZVTExfU0NSRUVOKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgVFdPX0NPTFVNTlNfRU5EX0VYUEFOREVEOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlblNpemUgPT09IFNNX1NDUkVFTl9TSVpFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNpdmVGdWxsc2NyZWVuTGF5b3V0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChPTkVfQ09MVU1OX0VORF9GVUxMX1NDUkVFTik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlblNpemUgPT09IExHX1NDUkVFTl9TSVpFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVEhSRUVfQ09MVU1OU19FTkRfRVhQQU5ERUQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX1NUQVJUX01JTklNSVpFRDoge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zY3JlZW5TaXplID09PSBTTV9TQ1JFRU5fU0laRSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZXNwb25zaXZlRnVsbHNjcmVlbkxheW91dCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoT05FX0NPTFVNTl9FTkRfRlVMTF9TQ1JFRU4pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zY3JlZW5TaXplID09PSBMR19TQ1JFRU5fU0laRSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRIUkVFX0NPTFVNTlNfTUlEX0VYUEFOREVEKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19FTkRfTUlOSU1JWkVEOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlblNpemUgPT09IFNNX1NDUkVFTl9TSVpFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNpdmVGdWxsc2NyZWVuTGF5b3V0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChPTkVfQ09MVU1OX0VORF9GVUxMX1NDUkVFTik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlblNpemUgPT09IExHX1NDUkVFTl9TSVpFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVEhSRUVfQ09MVU1OU19FTkRfTUlOSU1JWkVEKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19NSURfRVhQQU5ERUQ6IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2NyZWVuU2l6ZSA9PT0gU01fU0NSRUVOX1NJWkUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZUZ1bGxzY3JlZW5MYXlvdXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KE9ORV9DT0xVTU5fRU5EX0ZVTExfU0NSRUVOKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2NyZWVuU2l6ZSA9PT0gTURfU0NSRUVOX1NJWkUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChUSFJFRV9DT0xVTU5TX1NUQVJUX01JTklNSVpFRCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfRU5EX0VYUEFOREVEOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlblNpemUgPT09IFNNX1NDUkVFTl9TSVpFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNpdmVGdWxsc2NyZWVuTGF5b3V0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChPTkVfQ09MVU1OX0VORF9GVUxMX1NDUkVFTik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlblNpemUgPT09IE1EX1NDUkVFTl9TSVpFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVFdPX0NPTFVNTlNfRU5EX0VYUEFOREVEKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTGlzdGVuIG9uIHdpbmRvdyByZXNpemUgYW5kIHVwZGF0ZSB0aGUgbGF5b3V0XG4gICAgICogY2FsbCB1c2VyIGRlZmluZWQgY3VzdG9tIGZ1bmN0aW9uIGlmIHByb3ZpZGVkXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25XaW5kb3dSZXNpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1c3RvbU9uUmVzaXplRnVuY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tT25SZXNpemVGdW5jdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3Jlc3BvbnNpdmVMYXlvdXRDaGFuZ2VIYW5kbGVyKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGRldGVybWluZXMgaWYgdGhlIGxlZnQgc2VwYXJhdG9yIHNob3VsZCBiZSB2aXNpYmxlXG4gICAgICogYW5kIHRoZSB2YWx1ZSB0aGF0IHdpbGwgc3BlY2lmeSB0aGUgZGlyZWN0aW9uIG9mIHRoZSBhcnJvd1xuICAgICAqL1xuICAgIHByaXZhdGUgX2dldExlZnRDb2x1bW5TZXBhcmF0b3JWYWx1ZSgpOiBDb2x1bW5TZXBhcmF0b3JWYWx1ZSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5sYXlvdXQpIHtcbiAgICAgICAgICAgIGNhc2UgVFdPX0NPTFVNTlNfU1RBUlRfRVhQQU5ERUQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdsZWZ0JztcbiAgICAgICAgICAgIGNhc2UgVFdPX0NPTFVNTlNfTUlEX0VYUEFOREVEOlxuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX01JRF9FWFBBTkRFRDpcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19FTkRfTUlOSU1JWkVEOlxuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX1NUQVJUX01JTklNSVpFRDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3JpZ2h0JztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogZGV0ZXJtaW5lcyBpZiB0aGUgcmlnaHQgc2VwYXJhdG9yIHNob3VsZCBiZSB2aXNpYmxlXG4gICAgICogYW5kIHRoZSB2YWx1ZSB0aGF0IHdpbGwgc3BlY2lmeSB0aGUgZGlyZWN0aW9uIG9mIHRoZSBhcnJvd1xuICAgICAqL1xuICAgIHByaXZhdGUgX2dldFJpZ2h0Q29sdW1uU2VwYXJhdG9yVmFsdWUoKTogQ29sdW1uU2VwYXJhdG9yVmFsdWUge1xuICAgICAgICBzd2l0Y2ggKHRoaXMubGF5b3V0KSB7XG4gICAgICAgICAgICBjYXNlIFRXT19DT0xVTU5TX0VORF9FWFBBTkRFRDpcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19FTkRfRVhQQU5ERUQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfTUlEX0VYUEFOREVEOlxuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX0VORF9NSU5JTUlaRUQ6XG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfU1RBUlRfTUlOSU1JWkVEOlxuICAgICAgICAgICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIHVwZGF0ZXMgdGhlIGNvbHVtbiBsYXlvdXQgYmFzZWQgb24gdGhlIGxheW91dCBuYW1lXG4gICAgICogbWFrZXMgYSBjYWxsIHRvIGRldGVybWluZSB0aGUgbmV3IHZhbHVlIG9mIHRoZSBsZWZ0IHNlcGFyYXRvclxuICAgICAqIG1ha2VzIGEgY2FsbCB0byBkZXRlcm1pbmUgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgcmlnaHQgc2VwYXJhdG9yXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlQ29sdW1uTGF5b3V0UGFyYW1ldGVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29sdW1uTGF5b3V0ID0gdGhpcy5sYXlvdXREZWZpbml0aW9uc1t0aGlzLmxheW91dF07XG4gICAgICAgIHRoaXMuX2xlZnRDb2x1bW5TZXBhcmF0b3IgPSB0aGlzLl9nZXRMZWZ0Q29sdW1uU2VwYXJhdG9yVmFsdWUoKTtcbiAgICAgICAgdGhpcy5fcmlnaHRDb2x1bW5TZXBhcmF0b3IgPSB0aGlzLl9nZXRSaWdodENvbHVtblNlcGFyYXRvclZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIHVwZGF0ZXMgdGhlIGxheW91dFxuICAgICAqIGVtaXRzIGFuIGV2ZW50XG4gICAgICogbWFrZXMgYSBjYWxsIHRvIHRoZSBoZWxwZXIgZnVuY3Rpb24gdGhhdCB3aWxsIHVwZGF0ZSB0aGUgY29sdW1uIGxheW91dCBhbmQgdGhlIHNlcGFyYXRvcnNcbiAgICAgKi9cbiAgICBwcml2YXRlIF91cGRhdGVDdXJyZW50TGF5b3V0KG5ld0xheW91dDogRmxleGlibGVDb2x1bW5MYXlvdXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYXlvdXQgPSBuZXdMYXlvdXQ7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbkxheW91dFBhcmFtZXRlcnMoKTtcblxuICAgICAgICAvLyBzZXRUaW1lb3V0IGZpeGVzIFwiRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclwiXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRDaGFuZ2UuZW1pdCh0aGlzLmxheW91dCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUNvbHVtbkxheW91dFBhcmFtZXRlcnMoKTtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNMYXlvdXQgPSB0aGlzLmxheW91dDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2NyZWVuU2l6ZSA9IHRoaXMuX2dldFNjcmVlblNpemUod2luZG93LmlubmVyV2lkdGgpO1xuICAgICAgICB0aGlzLl9saXN0ZW5PbldpbmRvd1Jlc2l6ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cGRhdGVDb2x1bW5MYXlvdXRQYXJhbWV0ZXJzKCk7XG5cbiAgICAgICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlcy5sYXlvdXQucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fcHJldmlvdXNMYXlvdXQgPSBjaGFuZ2VzLmxheW91dC5wcmV2aW91c1ZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlcy5sYXlvdXQpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNpdmVMYXlvdXRDaGFuZ2VIYW5kbGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiZmQtZmxleGlibGUtY29sdW1uLWxheW91dFwiXG4gICAgW2NsYXNzLmZkLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXQtLXRyYW5zbHVjZW50XT1cImJhY2tncm91bmREZXNpZ24gPT09ICd0cmFuc2x1Y2VudCdcIlxuICAgIFtjbGFzcy5mZC1mbGV4aWJsZS1jb2x1bW4tbGF5b3V0LS10cmFuc3BhcmVudF09XCJiYWNrZ3JvdW5kRGVzaWduID09PSAndHJhbnNwYXJlbnQnXCJcbj5cbiAgICA8IS0tIFN0YXJ0L0xlZnQvRmlyc3QgQ29sdW1uIC0tPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC1mbGV4aWJsZS1jb2x1bW4tbGF5b3V0X19jb2x1bW5cIlxuICAgICAgICBbc3R5bGUud2lkdGguJV09XCJfY29sdW1uTGF5b3V0LnN0YXJ0XCJcbiAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiX2NvbHVtbkxheW91dC5zdGFydCA9PT0gMCA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJfY29sdW1uTGF5b3V0LnN0YXJ0ID09PSAwID8gJzAnIDogJ2F1dG8nXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiX2NvbHVtbkxheW91dC5zdGFydCA9PT0gMFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RhcnRDb2x1bW5cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIExlZnQgU2VwYXJhdG9yIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJfbGVmdENvbHVtblNlcGFyYXRvclwiIGNsYXNzPVwiZmQtZmxleGlibGUtY29sdW1uLWxheW91dF9fc2VwYXJhdG9yXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXRfX2J1dHRvblwiXG4gICAgICAgICAgICBhcmlhTGFiZWw9XCJFeHBhbmRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVMZWZ0Q29sdW1uU2VwYXJhdG9yQ2xpY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cIl9sZWZ0Q29sdW1uU2VwYXJhdG9yID8gJ3NhcC1pY29uLS1zbGltLWFycm93LScgKyBfbGVmdENvbHVtblNlcGFyYXRvciA6ICcnXCJcbiAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgID48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gTWlkZGxlL1NlY29uZCBDb2x1bW4gLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZkLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXRfX2NvbHVtblwiXG4gICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIl9jb2x1bW5MYXlvdXQubWlkXCJcbiAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiX2NvbHVtbkxheW91dC5taWQgPT09IDAgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiX2NvbHVtbkxheW91dC5taWQgPT09IDAgPyAnMCcgOiAnYXV0bydcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJfY29sdW1uTGF5b3V0Lm1pZCA9PT0gMFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWlkQ29sdW1uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBSaWdodCBTZXBhcmF0b3IgLS0+XG4gICAgPGRpdiAqbmdJZj1cIl9yaWdodENvbHVtblNlcGFyYXRvclwiIGNsYXNzPVwiZmQtZmxleGlibGUtY29sdW1uLWxheW91dF9fc2VwYXJhdG9yXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXRfX2J1dHRvblwiXG4gICAgICAgICAgICBhcmlhTGFiZWw9XCJFeHBhbmRcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIl9oYW5kbGVSaWdodENvbHVtblNlcGFyYXRvckNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJfcmlnaHRDb2x1bW5TZXBhcmF0b3IgPyAnc2FwLWljb24tLXNsaW0tYXJyb3ctJyArIF9yaWdodENvbHVtblNlcGFyYXRvciA6ICcnXCJcbiAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgID48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gRW5kL1JpZ2h0L1RoaXJkIENvbHVtbiAtLT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtZmxleGlibGUtY29sdW1uLWxheW91dF9fY29sdW1uXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiX2NvbHVtbkxheW91dC5lbmRcIlxuICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJfY29sdW1uTGF5b3V0LmVuZCA9PT0gMCA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJfY29sdW1uTGF5b3V0LmVuZCA9PT0gMCA/ICcwJyA6ICdhdXRvJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIl9jb2x1bW5MYXlvdXQuZW5kID09PSAwXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbmRDb2x1bW5cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
364
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleGlibGUtY29sdW1uLWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9mbGV4aWJsZS1jb2x1bW4tbGF5b3V0L2ZsZXhpYmxlLWNvbHVtbi1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZmxleGlibGUtY29sdW1uLWxheW91dC9mbGV4aWJsZS1jb2x1bW4tbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFJTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUVILHlCQUF5QixFQUl6QixjQUFjLEVBQ2QsY0FBYyxFQUNkLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBRTVCLGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0Isd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDN0IsTUFBTSxhQUFhLENBQUM7Ozs7O0FBU3JCLE1BQU0sT0FBTyw2QkFBNkI7SUErSHRDLFlBQWdFLE9BQTZCO1FBQTdCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBNUc3Rjs7OztXQUlHO1FBRUgscUJBQWdCLEdBQTRDLE9BQU8sQ0FBQztRQUVwRTs7Ozs7O1dBTUc7UUFFSCxXQUFNLEdBQXlCLDRCQUE0QixDQUFDO1FBRTVEOztXQUVHO1FBRUgs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ZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzswSEE3WVEsNkJBQTZCLGtCQStIbEIseUJBQXlCOzhHQS9IcEMsNkJBQTZCLDJ0QkMvQzFDLDA3RkE0RUE7MkZEN0JhLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDSSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQWlJeEIsTUFBTTsyQkFBQyx5QkFBeUI7NENBMUg3QyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsYUFBYTtnQkFPM0IsU0FBUztzQkFEUixZQUFZO3VCQUFDLFdBQVc7Z0JBT3pCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxXQUFXO2dCQVN6QixnQkFBZ0I7c0JBRGYsS0FBSztnQkFXTixNQUFNO3NCQURMLEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixLQUFLO2dCQU9OLFlBQVk7c0JBRFgsTUFBTTtnQkFRUCxZQUFZO3NCQURYLEtBQUs7Z0JBUU4sWUFBWTtzQkFEWCxLQUFLO2dCQU9OLHNCQUFzQjtzQkFEckIsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBDb2x1bW5TZXBhcmF0b3JWYWx1ZSxcbiAgICBGRF9GTEVYSUJMRV9MQVlPVVRfQ09ORklHLFxuICAgIEZsZXhpYmxlTGF5b3V0Q29uZmlnLFxuICAgIEZsZXhpYmxlQ29sdW1uTGF5b3V0LFxuICAgIEZsZXhpYmxlQ29sdW1uTGF5b3V0RGVmaW5pdGlvbixcbiAgICBMR19TQ1JFRU5fU0laRSxcbiAgICBNRF9TQ1JFRU5fU0laRSxcbiAgICBPTkVfQ09MVU1OX0VORF9GVUxMX1NDUkVFTixcbiAgICBPTkVfQ09MVU1OX01JRF9GVUxMX1NDUkVFTixcbiAgICBPTkVfQ09MVU1OX1NUQVJUX0ZVTExfU0NSRUVOLFxuICAgIFNjcmVlblNpemUsXG4gICAgU01fU0NSRUVOX1NJWkUsXG4gICAgVEhSRUVfQ09MVU1OU19FTkRfRVhQQU5ERUQsXG4gICAgVEhSRUVfQ09MVU1OU19FTkRfTUlOSU1JWkVELFxuICAgIFRIUkVFX0NPTFVNTlNfTUlEX0VYUEFOREVELFxuICAgIFRIUkVFX0NPTFVNTlNfU1RBUlRfTUlOSU1JWkVELFxuICAgIFRXT19DT0xVTU5TX0VORF9FWFBBTkRFRCxcbiAgICBUV09fQ09MVU1OU19NSURfRVhQQU5ERUQsXG4gICAgVFdPX0NPTFVNTlNfU1RBUlRfRVhQQU5ERURcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mbGV4aWJsZS1jb2x1bW4tbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mbGV4aWJsZS1jb2x1bW4tbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGbGV4aWJsZUNvbHVtbkxheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSB0aGF0IHByb3ZpZGVzIHRoZSBjb250ZW50IG9mIHRoZSBmaXJzdC9zdGFydC9sZWZ0IGNvbHVtblxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3N0YXJ0Q29sdW1uJylcbiAgICBzdGFydENvbHVtbjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSB0aGF0IHByb3ZpZGVzIHRoZSBjb250ZW50IG9mIHRoZSBtaWRkbGUgY29sdW1uXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbWlkQ29sdW1uJylcbiAgICBtaWRDb2x1bW46IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgdGhhdCBwcm92aWRlcyB0aGUgY29udGVudCBvZiB0aGUgbGFzdC9lbmQvcmlnaHQgY29sdW1uXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZW5kQ29sdW1uJylcbiAgICBlbmRDb2x1bW46IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFja2dyb3VuZCBkZXNpZ24gb2YgdGhlIGNvbXBvbmVudFxuICAgICAqIE9wdGlvbnMgaW5jbHVkZTogJ3NvbGlkJyB8ICd0cmFuc2x1Y2VudCcgfCAndHJhbnNwYXJlbnQnXG4gICAgICogVGhlIGRlZmF1bHQgaXMgc2V0IHRvICdzb2xpZCdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGJhY2tncm91bmREZXNpZ246ICdzb2xpZCcgfCAndHJhbnNsdWNlbnQnIHwgJ3RyYW5zcGFyZW50JyA9ICdzb2xpZCc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbGF5b3V0IG9mIHRoZSBjb21wb25lbnRcbiAgICAgKiBPcHRpb25zIGluY2x1ZGU6ICdPbmVDb2x1bW5TdGFydEZ1bGxTY3JlZW4nIHwgJ09uZUNvbHVtbk1pZEZ1bGxTY3JlZW4nIHxcbiAgICAgKiAnT25lQ29sdW1uRW5kRnVsbFNjcmVlbicgfCAnVHdvQ29sdW1uc1N0YXJ0RXhwYW5kZWQnIHwgJ1R3b0NvbHVtbnNNaWRFeHBhbmRlZCcgfFxuICAgICAqICdUd29Db2x1bW5zRW5kRXhwYW5kZWQnIHwgJ1RocmVlQ29sdW1uc01pZEV4cGFuZGVkJyB8ICdUaHJlZUNvbHVtbnNFbmRFeHBhbmRlZCcgfFxuICAgICAqICdUaHJlZUNvbHVtbnNTdGFydE1pbmltaXplZCcgfCAnVGhyZWVDb2x1bW5zRW5kTWluaW1pemVkJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGF5b3V0OiBGbGV4aWJsZUNvbHVtbkxheW91dCA9IE9ORV9DT0xVTU5fU1RBUlRfRlVMTF9TQ1JFRU47XG5cbiAgICAvKipcbiAgICAgKiBNYXBwaW5nIG9mIHRoZSBsYXlvdXQgbmFtZSBhbmQgdGhlIGNvbHVtbiBsYXlvdXQgaW4gJVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGF5b3V0RGVmaW5pdGlvbnM6IEZsZXhpYmxlQ29sdW1uTGF5b3V0RGVmaW5pdGlvbiA9IHRoaXMuX2NvbmZpZy5sYXlvdXRzO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGV2ZW50IGVtaXR0ZWQgb24gbGF5b3V0IHZhbHVlIGNoYW5nZS5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBsYXlvdXRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGbGV4aWJsZUNvbHVtbkxheW91dD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZsZXhpYmxlQ29sdW1uTGF5b3V0PigpO1xuXG4gICAgLyoqXG4gICAgICogVXNlciBkZWZpbmVkIGJyZWFrIHBvaW50IGZvciBTTSBzY3JlZW5zXG4gICAgICogRGVmYXVsdCAoRmlvcmkgMykgdmFsdWUgaXMgOTYwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzbUJyZWFrUG9pbnQgPSA5NjA7XG5cbiAgICAvKipcbiAgICAgKiBVc2VyLWRlZmluZWQgYnJlYWsgcG9pbnQgZm9yIExHIHNjcmVlbnNcbiAgICAgKiB0aGUgZGVmYXVsdCAoRmlvcmkgMykgdmFsdWUgaXMgMTI4MFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGdCcmVha1BvaW50ID0gMTI4MDtcblxuICAgIC8qKlxuICAgICAqIFVzZXItZGVmaW5lZCBvblJlc2l6ZSBmdW5jdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY3VzdG9tT25SZXNpemVGdW5jdGlvbjogKCkgPT4gdm9pZDtcblxuICAgIC8qKiBhcmlhLWxhYmVsIGZvciBzZXBhcmF0b3IgKi9cbiAgICBASW5wdXQoKVxuICAgIHNlcGFyYXRvckFyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIHRpdGxlIGZvciBleHBhbmRlZCBidXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIGV4cGFuZFRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogdGl0bGUgZm9yIGNvbGxhcHNlZCBidXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbGxhcHNlVGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBsZWZ0IGNvbHVtbiBzZXBhcmF0b3IgdmFsdWUgKGJldHdlZW4gc3RhcnQgYW5kIG1pZGRsZSBjb2x1bW5zKVxuICAgICAqIHRoYXQgc3BlY2lmaWVzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIGFycm93IGFuZFxuICAgICAqIGlmIHRoZSBzZXBhcmF0b3IgaXMgdmlzaWJsZVxuICAgICAqIE9wdGlvbnMgaW5jbHVkZTogJ2xlZnQnLCAncmlnaHQnIGFuZCBudWxsXG4gICAgICovXG4gICAgX2xlZnRDb2x1bW5TZXBhcmF0b3I6IENvbHVtblNlcGFyYXRvclZhbHVlID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiByaWdodCBjb2x1bW4gc2VwYXJhdG9yIHZhbHVlIChiZXR3ZWVuIG1pZGRsZSBhbmQgZW5kIGNvbHVtbnMpXG4gICAgICogdGhhdCBzcGVjaWZpZXMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgYXJyb3cgYW5kXG4gICAgICogaWYgdGhlIHNlcGFyYXRvciBpcyB2aXNpYmxlXG4gICAgICogT3B0aW9ucyBpbmNsdWRlOiAnbGVmdCcsICdyaWdodCcgYW5kIG51bGxcbiAgICAgKi9cbiAgICBfcmlnaHRDb2x1bW5TZXBhcmF0b3I6IENvbHVtblNlcGFyYXRvclZhbHVlID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBhbGxvd3MgdG8ga2VlcCB0cmFjayBvZiB0aGUgcHJldmlvcyBsYXlvdXRcbiAgICAgKiBzbyB3ZSBjYW4gZ28gYmFjayB0byBpdCBvbiB3aW5kb3cgcmVzaXplXG4gICAgICovXG4gICAgcHJpdmF0ZSBfcHJldmlvdXNMYXlvdXQ6IEZsZXhpYmxlQ29sdW1uTGF5b3V0ID0gdGhpcy5sYXlvdXQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NjcmVlblNpemU6IFNjcmVlblNpemUgPSBMR19TQ1JFRU5fU0laRTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiB0aGUgY29sdW1uIGxheW91dCByZXByZXNlbnRpbmcgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2lkdGhcbiAgICAgKiBiZXR3ZWVuIHRoZSBmaXJzdCAoc3RhcnQpLCB0aGUgbWlkZGxlIGFuZCB0aGUgbGFzdChlbmQpIGNvbHVtblxuICAgICAqL1xuICAgIF9jb2x1bW5MYXlvdXQ6IHsgc3RhcnQ6IG51bWJlcjsgbWlkOiBudW1iZXI7IGVuZDogbnVtYmVyIH0gPSB0aGlzLmxheW91dERlZmluaXRpb25zW3RoaXMubGF5b3V0XTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBzZXQgdG8gJ3RydWUnIGlmIHRoZSBsYXlvdXQgaXMgY2hhbmdlZCB0byBmdWxsc2NyZWVuIG9uIHdpbmRvdyByZXNpemVcbiAgICAgKiB0aGlzIHdpbGwgYWxsb3cgdGhlIGxheW91dCB0byBzd2l0Y2ggdG8gcHJldmlvdXMgbW9kZSBvbiBTTS0+TUQgdHJhbnNpdGlvblxuICAgICAqIGlmIGEgbGF5b3V0IGlzIHNldCBieSB0aGUgdXNlciB0byBmdWxsc2NyZWVuLCBpdCBzaG91bGQgcGVyc2lzdCBvbiB3aW5kb3cgcmVzaXplXG4gICAgICovXG4gICAgcHJpdmF0ZSBfcmVzcG9uc2l2ZUZ1bGxzY3JlZW5MYXlvdXQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRkRfRkxFWElCTEVfTEFZT1VUX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnOiBGbGV4aWJsZUxheW91dENvbmZpZykge31cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgdGhlIGNsaWNrIGV2ZW50cyBvbiB0aGUgbGVmdCBzZXBhcmF0b3JcbiAgICAgKiBhbmQgdXBkYXRlcyB0aGUgbGF5b3V0XG4gICAgICovXG4gICAgX2hhbmRsZUxlZnRDb2x1bW5TZXBhcmF0b3JDbGljaygpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmxheW91dCkge1xuICAgICAgICAgICAgY2FzZSBUV09fQ09MVU1OU19TVEFSVF9FWFBBTkRFRDpcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRXT19DT0xVTU5TX01JRF9FWFBBTkRFRCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRXT19DT0xVTU5TX01JRF9FWFBBTkRFRDpcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRXT19DT0xVTU5TX1NUQVJUX0VYUEFOREVEKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19NSURfRVhQQU5ERUQ6XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChUSFJFRV9DT0xVTU5TX0VORF9NSU5JTUlaRUQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX0VORF9NSU5JTUlaRUQ6XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChUV09fQ09MVU1OU19TVEFSVF9FWFBBTkRFRCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfU1RBUlRfTUlOSU1JWkVEOlxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVEhSRUVfQ09MVU1OU19FTkRfTUlOSU1JWkVEKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgdGhlIGNsaWNrIGV2ZW50cyBvbiB0aGUgcmlnaHQgc2VwYXJhdG9yXG4gICAgICogYW5kIHVwZGF0ZXMgdGhlIGxheW91dFxuICAgICAqL1xuICAgIF9oYW5kbGVSaWdodENvbHVtblNlcGFyYXRvckNsaWNrKCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMubGF5b3V0KSB7XG4gICAgICAgICAgICBjYXNlIFRXT19DT0xVTU5TX0VORF9FWFBBTkRFRDpcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRIUkVFX0NPTFVNTlNfU1RBUlRfTUlOSU1JWkVEKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19NSURfRVhQQU5ERUQ6XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChUSFJFRV9DT0xVTU5TX0VORF9FWFBBTkRFRCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfRU5EX0VYUEFOREVEOlxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVEhSRUVfQ09MVU1OU19NSURfRVhQQU5ERUQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX0VORF9NSU5JTUlaRUQ6XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChUSFJFRV9DT0xVTU5TX01JRF9FWFBBTkRFRCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfU1RBUlRfTUlOSU1JWkVEOlxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVFdPX0NPTFVNTlNfRU5EX0VYUEFOREVEKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBmdW5jdGlvbiB0byBkZXRlcm1pbmUgdGhlIHNjcmVlbiBzaXplIGluICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCdcbiAgICAgKiBmb3JtYXQgZGVwZW5kaW5nIG9uIHRoZSB3aW5kb3cgc2l6ZSBpbiBweFxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldFNjcmVlblNpemUoc2l6ZTogbnVtYmVyKTogU2NyZWVuU2l6ZSB7XG4gICAgICAgIGlmIChzaXplID4gdGhpcy5sZ0JyZWFrUG9pbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBMR19TQ1JFRU5fU0laRTtcbiAgICAgICAgfSBlbHNlIGlmIChzaXplID4gdGhpcy5zbUJyZWFrUG9pbnQgJiYgc2l6ZSA8PSB0aGlzLmxnQnJlYWtQb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuIE1EX1NDUkVFTl9TSVpFO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFNNX1NDUkVFTl9TSVpFO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGhhbmRsZXMgdGhlIGNoYW5nZSBvZiB0aGUgbGF5b3V0cyBvbiByZWFjaGluZyBhIGJyZWFrIHBvaW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBfcmVzcG9uc2l2ZUxheW91dENoYW5nZUhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NjcmVlblNpemUgPSB0aGlzLl9nZXRTY3JlZW5TaXplKHdpbmRvdy5pbm5lcldpZHRoKTtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMubGF5b3V0KSB7XG4gICAgICAgICAgICBjYXNlIE9ORV9DT0xVTU5fTUlEX0ZVTExfU0NSRUVOOlxuICAgICAgICAgICAgY2FzZSBPTkVfQ09MVU1OX0VORF9GVUxMX1NDUkVFTjoge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NyZWVuU2l6ZSAhPT0gU01fU0NSRUVOX1NJWkUgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQgIT09IHRoaXMuX3ByZXZpb3VzTGF5b3V0ICYmXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNpdmVGdWxsc2NyZWVuTGF5b3V0XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNpdmVGdWxsc2NyZWVuTGF5b3V0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQodGhpcy5fcHJldmlvdXNMYXlvdXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSBUV09fQ09MVU1OU19TVEFSVF9FWFBBTkRFRDpcbiAgICAgICAgICAgIGNhc2UgVFdPX0NPTFVNTlNfTUlEX0VYUEFOREVEOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlblNpemUgPT09IFNNX1NDUkVFTl9TSVpFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNpdmVGdWxsc2NyZWVuTGF5b3V0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChPTkVfQ09MVU1OX01JRF9GVUxMX1NDUkVFTik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlIFRXT19DT0xVTU5TX0VORF9FWFBBTkRFRDoge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zY3JlZW5TaXplID09PSBTTV9TQ1JFRU5fU0laRSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZXNwb25zaXZlRnVsbHNjcmVlbkxheW91dCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoT05FX0NPTFVNTl9FTkRfRlVMTF9TQ1JFRU4pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zY3JlZW5TaXplID09PSBMR19TQ1JFRU5fU0laRSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRIUkVFX0NPTFVNTlNfRU5EX0VYUEFOREVEKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19TVEFSVF9NSU5JTUlaRUQ6IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2NyZWVuU2l6ZSA9PT0gU01fU0NSRUVOX1NJWkUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVzcG9uc2l2ZUZ1bGxzY3JlZW5MYXlvdXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KE9ORV9DT0xVTU5fRU5EX0ZVTExfU0NSRUVOKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5fc2NyZWVuU2l6ZSA9PT0gTEdfU0NSRUVOX1NJWkUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChUSFJFRV9DT0xVTU5TX01JRF9FWFBBTkRFRCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfRU5EX01JTklNSVpFRDoge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zY3JlZW5TaXplID09PSBTTV9TQ1JFRU5fU0laRSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZXNwb25zaXZlRnVsbHNjcmVlbkxheW91dCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoT05FX0NPTFVNTl9FTkRfRlVMTF9TQ1JFRU4pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zY3JlZW5TaXplID09PSBMR19TQ1JFRU5fU0laRSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRIUkVFX0NPTFVNTlNfRU5EX01JTklNSVpFRCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfTUlEX0VYUEFOREVEOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlblNpemUgPT09IFNNX1NDUkVFTl9TSVpFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3BvbnNpdmVGdWxsc2NyZWVuTGF5b3V0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ3VycmVudExheW91dChPTkVfQ09MVU1OX0VORF9GVUxMX1NDUkVFTik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlblNpemUgPT09IE1EX1NDUkVFTl9TSVpFKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoVEhSRUVfQ09MVU1OU19TVEFSVF9NSU5JTUlaRUQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX0VORF9FWFBBTkRFRDoge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zY3JlZW5TaXplID09PSBTTV9TQ1JFRU5fU0laRSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZXNwb25zaXZlRnVsbHNjcmVlbkxheW91dCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUN1cnJlbnRMYXlvdXQoT05FX0NPTFVNTl9FTkRfRlVMTF9TQ1JFRU4pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zY3JlZW5TaXplID09PSBNRF9TQ1JFRU5fU0laRSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDdXJyZW50TGF5b3V0KFRXT19DT0xVTU5TX0VORF9FWFBBTkRFRCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIExpc3RlbiBvbiB3aW5kb3cgcmVzaXplIGFuZCB1cGRhdGUgdGhlIGxheW91dFxuICAgICAqIGNhbGwgdXNlciBkZWZpbmVkIGN1c3RvbSBmdW5jdGlvbiBpZiBwcm92aWRlZFxuICAgICAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jdXN0b21PblJlc2l6ZUZ1bmN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbU9uUmVzaXplRnVuY3Rpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9yZXNwb25zaXZlTGF5b3V0Q2hhbmdlSGFuZGxlcigpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBkZXRlcm1pbmVzIGlmIHRoZSBsZWZ0IHNlcGFyYXRvciBzaG91bGQgYmUgdmlzaWJsZVxuICAgICAqIGFuZCB0aGUgdmFsdWUgdGhhdCB3aWxsIHNwZWNpZnkgdGhlIGRpcmVjdGlvbiBvZiB0aGUgYXJyb3dcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRMZWZ0Q29sdW1uU2VwYXJhdG9yVmFsdWUoKTogQ29sdW1uU2VwYXJhdG9yVmFsdWUge1xuICAgICAgICBzd2l0Y2ggKHRoaXMubGF5b3V0KSB7XG4gICAgICAgICAgICBjYXNlIFRXT19DT0xVTU5TX1NUQVJUX0VYUEFOREVEOlxuICAgICAgICAgICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICAgICAgICBjYXNlIFRXT19DT0xVTU5TX01JRF9FWFBBTkRFRDpcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19NSURfRVhQQU5ERUQ6XG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfRU5EX01JTklNSVpFRDpcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19TVEFSVF9NSU5JTUlaRUQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdyaWdodCc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGRldGVybWluZXMgaWYgdGhlIHJpZ2h0IHNlcGFyYXRvciBzaG91bGQgYmUgdmlzaWJsZVxuICAgICAqIGFuZCB0aGUgdmFsdWUgdGhhdCB3aWxsIHNwZWNpZnkgdGhlIGRpcmVjdGlvbiBvZiB0aGUgYXJyb3dcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRSaWdodENvbHVtblNlcGFyYXRvclZhbHVlKCk6IENvbHVtblNlcGFyYXRvclZhbHVlIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmxheW91dCkge1xuICAgICAgICAgICAgY2FzZSBUV09fQ09MVU1OU19FTkRfRVhQQU5ERUQ6XG4gICAgICAgICAgICBjYXNlIFRIUkVFX0NPTFVNTlNfRU5EX0VYUEFOREVEOlxuICAgICAgICAgICAgICAgIHJldHVybiAncmlnaHQnO1xuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX01JRF9FWFBBTkRFRDpcbiAgICAgICAgICAgIGNhc2UgVEhSRUVfQ09MVU1OU19FTkRfTUlOSU1JWkVEOlxuICAgICAgICAgICAgY2FzZSBUSFJFRV9DT0xVTU5TX1NUQVJUX01JTklNSVpFRDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2xlZnQnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiB1cGRhdGVzIHRoZSBjb2x1bW4gbGF5b3V0IGJhc2VkIG9uIHRoZSBsYXlvdXQgbmFtZVxuICAgICAqIG1ha2VzIGEgY2FsbCB0byBkZXRlcm1pbmUgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgbGVmdCBzZXBhcmF0b3JcbiAgICAgKiBtYWtlcyBhIGNhbGwgdG8gZGV0ZXJtaW5lIHRoZSBuZXcgdmFsdWUgb2YgdGhlIHJpZ2h0IHNlcGFyYXRvclxuICAgICAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZUNvbHVtbkxheW91dFBhcmFtZXRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbHVtbkxheW91dCA9IHRoaXMubGF5b3V0RGVmaW5pdGlvbnNbdGhpcy5sYXlvdXRdO1xuICAgICAgICB0aGlzLl9sZWZ0Q29sdW1uU2VwYXJhdG9yID0gdGhpcy5fZ2V0TGVmdENvbHVtblNlcGFyYXRvclZhbHVlKCk7XG4gICAgICAgIHRoaXMuX3JpZ2h0Q29sdW1uU2VwYXJhdG9yID0gdGhpcy5fZ2V0UmlnaHRDb2x1bW5TZXBhcmF0b3JWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiB1cGRhdGVzIHRoZSBsYXlvdXRcbiAgICAgKiBlbWl0cyBhbiBldmVudFxuICAgICAqIG1ha2VzIGEgY2FsbCB0byB0aGUgaGVscGVyIGZ1bmN0aW9uIHRoYXQgd2lsbCB1cGRhdGUgdGhlIGNvbHVtbiBsYXlvdXQgYW5kIHRoZSBzZXBhcmF0b3JzXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlQ3VycmVudExheW91dChuZXdMYXlvdXQ6IEZsZXhpYmxlQ29sdW1uTGF5b3V0KTogdm9pZCB7XG4gICAgICAgIHRoaXMubGF5b3V0ID0gbmV3TGF5b3V0O1xuICAgICAgICB0aGlzLl91cGRhdGVDb2x1bW5MYXlvdXRQYXJhbWV0ZXJzKCk7XG5cbiAgICAgICAgLy8gc2V0VGltZW91dCBmaXhlcyBcIkV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3JcIlxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0Q2hhbmdlLmVtaXQodGhpcy5sYXlvdXQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cGRhdGVDb2x1bW5MYXlvdXRQYXJhbWV0ZXJzKCk7XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzTGF5b3V0ID0gdGhpcy5sYXlvdXQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NjcmVlblNpemUgPSB0aGlzLl9nZXRTY3JlZW5TaXplKHdpbmRvdy5pbm5lcldpZHRoKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuT25XaW5kb3dSZXNpemUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlQ29sdW1uTGF5b3V0UGFyYW1ldGVycygpO1xuXG4gICAgICAgIGlmIChjaGFuZ2VzICYmIGNoYW5nZXMubGF5b3V0LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ByZXZpb3VzTGF5b3V0ID0gY2hhbmdlcy5sYXlvdXQucHJldmlvdXNWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzICYmIGNoYW5nZXMubGF5b3V0KSB7XG4gICAgICAgICAgICB0aGlzLl9yZXNwb25zaXZlTGF5b3V0Q2hhbmdlSGFuZGxlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cImZkLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXRcIlxuICAgIFtjbGFzcy5mZC1mbGV4aWJsZS1jb2x1bW4tbGF5b3V0LS10cmFuc2x1Y2VudF09XCJiYWNrZ3JvdW5kRGVzaWduID09PSAndHJhbnNsdWNlbnQnXCJcbiAgICBbY2xhc3MuZmQtZmxleGlibGUtY29sdW1uLWxheW91dC0tdHJhbnNwYXJlbnRdPVwiYmFja2dyb3VuZERlc2lnbiA9PT0gJ3RyYW5zcGFyZW50J1wiXG4+XG4gICAgPCEtLSBTdGFydC9MZWZ0L0ZpcnN0IENvbHVtbiAtLT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtZmxleGlibGUtY29sdW1uLWxheW91dF9fY29sdW1uXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiX2NvbHVtbkxheW91dC5zdGFydFwiXG4gICAgICAgIFtzdHlsZS52aXNpYmlsaXR5XT1cIl9jb2x1bW5MYXlvdXQuc3RhcnQgPT09IDAgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiX2NvbHVtbkxheW91dC5zdGFydCA9PT0gMCA/ICcwJyA6ICdhdXRvJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIl9jb2x1bW5MYXlvdXQuc3RhcnQgPT09IDBcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN0YXJ0Q29sdW1uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBMZWZ0IFNlcGFyYXRvciAtLT5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiX2xlZnRDb2x1bW5TZXBhcmF0b3JcIlxuICAgICAgICBjbGFzcz1cImZkLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXRfX3NlcGFyYXRvclwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic2VwYXJhdG9yQXJpYUxhYmVsXCJcbiAgICA+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgZmRDb21wYWN0XG4gICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXRfX2J1dHRvblwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiX2xlZnRDb2x1bW5TZXBhcmF0b3IgPT09ICdsZWZ0JyA/IGV4cGFuZFRpdGxlIDogY29sbGFwc2VUaXRsZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiX2hhbmRsZUxlZnRDb2x1bW5TZXBhcmF0b3JDbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiX2xlZnRDb2x1bW5TZXBhcmF0b3IgPyAnc2FwLWljb24tLXNsaW0tYXJyb3ctJyArIF9sZWZ0Q29sdW1uU2VwYXJhdG9yIDogJydcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBNaWRkbGUvU2Vjb25kIENvbHVtbiAtLT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtZmxleGlibGUtY29sdW1uLWxheW91dF9fY29sdW1uXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiX2NvbHVtbkxheW91dC5taWRcIlxuICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJfY29sdW1uTGF5b3V0Lm1pZCA9PT0gMCA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJfY29sdW1uTGF5b3V0Lm1pZCA9PT0gMCA/ICcwJyA6ICdhdXRvJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIl9jb2x1bW5MYXlvdXQubWlkID09PSAwXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtaWRDb2x1bW5cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFJpZ2h0IFNlcGFyYXRvciAtLT5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiX3JpZ2h0Q29sdW1uU2VwYXJhdG9yXCJcbiAgICAgICAgY2xhc3M9XCJmZC1mbGV4aWJsZS1jb2x1bW4tbGF5b3V0X19zZXBhcmF0b3JcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNlcGFyYXRvckFyaWFMYWJlbFwiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIGZkQ29tcGFjdFxuICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1mbGV4aWJsZS1jb2x1bW4tbGF5b3V0X19idXR0b25cIlxuICAgICAgICAgICAgW3RpdGxlXT1cIl9yaWdodENvbHVtblNlcGFyYXRvciA9PT0gJ2xlZnQnID8gZXhwYW5kVGl0bGUgOiBjb2xsYXBzZVRpdGxlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJfaGFuZGxlUmlnaHRDb2x1bW5TZXBhcmF0b3JDbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiX3JpZ2h0Q29sdW1uU2VwYXJhdG9yID8gJ3NhcC1pY29uLS1zbGltLWFycm93LScgKyBfcmlnaHRDb2x1bW5TZXBhcmF0b3IgOiAnJ1wiXG4gICAgICAgICAgICAgICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgICAgICAgICA+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIEVuZC9SaWdodC9UaGlyZCBDb2x1bW4gLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZkLWZsZXhpYmxlLWNvbHVtbi1sYXlvdXRfX2NvbHVtblwiXG4gICAgICAgIFtzdHlsZS53aWR0aC4lXT1cIl9jb2x1bW5MYXlvdXQuZW5kXCJcbiAgICAgICAgW3N0eWxlLnZpc2liaWxpdHldPVwiX2NvbHVtbkxheW91dC5lbmQgPT09IDAgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiX2NvbHVtbkxheW91dC5lbmQgPT09IDAgPyAnMCcgOiAnYXV0bydcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJfY29sdW1uTGF5b3V0LmVuZCA9PT0gMFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW5kQ29sdW1uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/facets",
3
- "version": "0.36.0-rc.21",
3
+ "version": "0.36.0-rc.22",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0",
6
6
  "@angular/core": "^14.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/feed-input",
3
- "version": "0.36.0-rc.21",
3
+ "version": "0.36.0-rc.22",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0",
6
6
  "@angular/core": "^14.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core/feed-list-item",
3
- "version": "0.36.0-rc.21",
3
+ "version": "0.36.0-rc.22",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0",
6
6
  "@angular/core": "^14.0.0"
@@ -5,15 +5,15 @@ import { CommonModule } from '@angular/common';
5
5
  import { ButtonModule } from '@fundamental-ngx/core/button';
6
6
  import * as i7 from '@fundamental-ngx/core/overflow-layout';
7
7
  import { OverflowLayoutComponent, OverflowLayoutModule } from '@fundamental-ngx/core/overflow-layout';
8
- import * as i6 from '@angular/cdk/portal';
9
- import { DomPortal, PortalModule } from '@angular/cdk/portal';
10
- import * as i5 from '@fundamental-ngx/core/link';
11
- import { LinkComponent, LinkModule } from '@fundamental-ngx/core/link';
12
8
  import * as i1 from '@fundamental-ngx/core/utils';
13
9
  import { DestroyedService, PipeModule } from '@fundamental-ngx/core/utils';
14
10
  import { BehaviorSubject, takeUntil } from 'rxjs';
15
11
  import * as i4 from '@fundamental-ngx/core/menu';
16
12
  import { MenuComponent, MenuModule } from '@fundamental-ngx/core/menu';
13
+ import * as i6 from '@angular/cdk/portal';
14
+ import { DomPortal, PortalModule } from '@angular/cdk/portal';
15
+ import * as i5 from '@fundamental-ngx/core/link';
16
+ import { LinkComponent, LinkModule } from '@fundamental-ngx/core/link';
17
17
  import * as i3 from '@fundamental-ngx/core/icon';
18
18
  import { IconModule } from '@fundamental-ngx/core/icon';
19
19
  import { PopoverModule } from '@fundamental-ngx/core/popover';
@@ -116,6 +116,8 @@ class BreadcrumbComponent {
116
116
  this._cdr = _cdr;
117
117
  /** Whether to append items to the overflow dropdown in reverse order. Default is true. */
118
118
  this.reverse = false;
119
+ /** Tabindex of the breadcrumb. */
120
+ this.tabIndex = '0';
119
121
  /**
120
122
  * Event emitted when visible items count is changed.
121
123
  */
@@ -198,11 +200,12 @@ class BreadcrumbComponent {
198
200
  }
199
201
  }
200
202
  BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i0.ElementRef }, { token: i1.DestroyedService }, { token: i1.RtlService, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
201
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: { containerElement: "containerElement", reverse: "reverse" }, outputs: { visibleItemsCount: "visibleItemsCount", hiddenItemsCount: "hiddenItemsCount" }, host: { classAttribute: "fd-breadcrumb" }, providers: [DestroyedService], queries: [{ propertyName: "_contentItems", predicate: BreadcrumbItemComponent }], viewQueries: [{ propertyName: "_menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowLayout", first: true, predicate: OverflowLayoutComponent, descendants: true }], ngImport: i0, template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n \u2026\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-breadcrumb__item:last-child:after{content:\"/\"}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i4.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i4.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i7.OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: i7.OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: i7.OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "directive", type: i7.OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
203
+ BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: { containerElement: "containerElement", reverse: "reverse", tabIndex: "tabIndex" }, outputs: { visibleItemsCount: "visibleItemsCount", hiddenItemsCount: "hiddenItemsCount" }, host: { attributes: { "role": "tree" }, classAttribute: "fd-breadcrumb" }, providers: [DestroyedService], queries: [{ propertyName: "_contentItems", predicate: BreadcrumbItemComponent }, { propertyName: "breadcrumbItems", predicate: i0.forwardRef(function () { return BreadcrumbItemComponent; }) }], viewQueries: [{ propertyName: "_menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "_overflowLayout", first: true, predicate: OverflowLayoutComponent, descendants: true }], ngImport: i0, template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n \u2026\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-breadcrumb__item:last-child:after{content:\"/\"}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i4.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i4.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i4.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i4.MenuAddonDirective, selector: "fd-menu-addon", inputs: ["position", "glyph", "submenuIndicator", "ariaHidden"] }, { kind: "directive", type: i4.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i5.LinkComponent, selector: "[fdLink], [fd-link], [fd-breadcrumb-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "directive", type: i6.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i7.OverflowLayoutComponent, selector: "fd-overflow-layout", inputs: ["maxVisibleItems", "navigationTrigger", "showMorePosition", "reverseHiddenItems", "enableKeyboardNavigation", "moreItemsButtonText"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: i7.OverflowItemRefDirective, selector: "[fdOverflowItemRef]", inputs: ["fdOverflowItemRef"] }, { kind: "directive", type: i7.OverflowExpandDirective, selector: "[fdOverflowExpand]", inputs: ["fdOverflowExpandItems"] }, { kind: "directive", type: i7.OverflowLayoutItemDirective, selector: "[fdOverflowLayoutItem]", inputs: ["forceVisibility"], outputs: ["hiddenChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
202
204
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: BreadcrumbComponent, decorators: [{
203
205
  type: Component,
204
206
  args: [{ selector: 'fd-breadcrumb', host: {
205
- class: 'fd-breadcrumb'
207
+ class: 'fd-breadcrumb',
208
+ role: 'tree'
206
209
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DestroyedService], template: "<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n \u2026\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.4\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *//*!\n.fd-breadcrumb\n .fd-breadcrumb__item\n .fd-breadcrump__link\n*/.fd-breadcrumb{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-breadcrumb:after,.fd-breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-breadcrumb__item:after,.fd-breadcrumb__item:before{box-sizing:inherit;font-size:inherit}.fd-breadcrumb__item:after{color:var(--sapContent_LabelColor);content:\"/\";margin-left:.25rem;margin-right:.25rem}.fd-breadcrumb__item:last-child:after{content:none}.fd-breadcrumb__item .fd-breadcrumb__popover-body{border:none;border-top-left-radius:.125rem;border-top-right-radius:.125rem}.fd-breadcrumb{display:flex;white-space:nowrap}.fd-breadcrumb .fd-breadcrumb__collapsed{cursor:pointer}.fd-breadcrumb .fd-overflow-layout{justify-content:start}.fd-breadcrumb .fd-breadcrumb__item:last-child:after{content:\"/\"}.fd-breadcrumb .fd-overflow-layout__item--last .fd-breadcrumb__item:after{content:none}\n"] }]
207
210
  }], ctorParameters: function () {
208
211
  return [{ type: i0.ElementRef }, { type: i1.DestroyedService }, { type: i1.RtlService, decorators: [{
@@ -212,6 +215,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
212
215
  type: Input
213
216
  }], reverse: [{
214
217
  type: Input
218
+ }], tabIndex: [{
219
+ type: Input
215
220
  }], visibleItemsCount: [{
216
221
  type: Output
217
222
  }], hiddenItemsCount: [{
@@ -219,6 +224,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
219
224
  }], _contentItems: [{
220
225
  type: ContentChildren,
221
226
  args: [BreadcrumbItemComponent]
227
+ }], breadcrumbItems: [{
228
+ type: ContentChildren,
229
+ args: [forwardRef(() => BreadcrumbItemComponent)]
222
230
  }], _menuComponent: [{
223
231
  type: ViewChild,
224
232
  args: [MenuComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-breadcrumb.mjs","sources":["../../../../libs/core/src/lib/breadcrumb/breadcrumb-item.component.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.component.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.component.html","../../../../libs/core/src/lib/breadcrumb/deprecated-breadcrumbs-compact.directive.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.module.ts","../../../../libs/core/src/lib/breadcrumb/fundamental-ngx-core-breadcrumb.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\n\n/**\n * Breadcrumb item directive. Must have child breadcrumb link directives.\n *\n * ```html\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb-item',\n template: '<ng-content></ng-content>',\n host: {\n class: 'fd-breadcrumb__item'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbItemComponent implements AfterViewInit {\n /** @hidden */\n @ContentChild(forwardRef(() => LinkComponent))\n breadcrumbLink: LinkComponent;\n\n /** In case there is no link in Item and breadcrumb item is non-interactive, we move whole item content to menu item title */\n breadcrumbItemPortal: DomPortal<Element>;\n\n /** When breadcrumb item has link in it, we are moving link content to menu item title */\n linkContentPortal: DomPortal;\n\n /**\n * Breadcrumb item dom portal.\n */\n portal: DomPortal;\n\n /** @hidden */\n private _attached = false;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n get _needsClickProxy(): boolean {\n return (\n !!this.breadcrumbLink?.elementRef().nativeElement.getAttribute('href') || !!this.breadcrumbLink.routerLink\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._attach();\n }\n\n /**\n * Sets breadcrumb item dom portal.\n */\n setPortal(): void {\n if (!this.portal) {\n this.portal = new DomPortal(this.elementRef);\n }\n }\n\n /** @hidden */\n _detach(): void {\n if (!this._attached) {\n return;\n }\n\n if (this.linkContentPortal?.isAttached) {\n this.linkContentPortal?.detach();\n }\n\n if (this.breadcrumbItemPortal?.isAttached) {\n this.breadcrumbItemPortal?.detach();\n }\n\n this._attached = false;\n }\n\n /** @hidden */\n _attach(): void {\n if (this._attached) {\n return;\n }\n\n if (this.breadcrumbLink && this.breadcrumbLink.contentSpan) {\n this.linkContentPortal = new DomPortal<HTMLElement>(this.breadcrumbLink.contentSpan.nativeElement);\n }\n\n this.breadcrumbItemPortal = new DomPortal(this.elementRef.nativeElement.firstElementChild as Element);\n this._attached = true;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n isDevMode,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { OverflowLayoutComponent } from '@fundamental-ngx/core/overflow-layout';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { DestroyedService, RtlService } from '@fundamental-ngx/core/utils';\nimport { BehaviorSubject, takeUntil } from 'rxjs';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { Placement } from '@fundamental-ngx/core/shared';\n\n/**\n * Breadcrumb parent wrapper directive. Must have breadcrumb item child directives.\n *\n * ```html\n * <fd-breadcrumb>\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * </fd-breadcrumb>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb',\n host: {\n class: 'fd-breadcrumb'\n },\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DestroyedService]\n})\nexport class BreadcrumbComponent implements OnInit, AfterViewInit {\n /**\n * @deprecated\n * Breadcrumbs component now uses more advanced calculation mechanism without the need of specifying the container element.\n *\n * The element to act as the breadcrumb container. When provided, the breadcrumb's responsive collapsing behavior\n * performs better. When not provided, the immediate parent element's width will be used.\n */\n @Input()\n set containerElement(_: HTMLElement) {\n if (isDevMode()) {\n console.warn(\n 'Breadcrumbs component now uses more advanced calculation mechanism without the need of specifying the container element.'\n );\n }\n }\n\n /** Whether to append items to the overflow dropdown in reverse order. Default is true. */\n @Input()\n reverse = false;\n\n /**\n * Event emitted when visible items count is changed.\n */\n @Output()\n visibleItemsCount = new EventEmitter<number>();\n\n /**\n * Event emitted when hidden items count is changed.\n */\n @Output()\n hiddenItemsCount = new EventEmitter<number>();\n\n /** @hidden */\n @ContentChildren(BreadcrumbItemComponent)\n private readonly _contentItems: QueryList<BreadcrumbItemComponent>;\n\n /** @hidden */\n @ViewChild(MenuComponent)\n private readonly _menuComponent: MenuComponent;\n\n /** @hidden */\n @ViewChild(OverflowLayoutComponent)\n private readonly _overflowLayout: OverflowLayoutComponent;\n\n /**\n * @hidden\n * Array of breadcrumb items.\n */\n _items: BreadcrumbItemComponent[] = [];\n\n /** @hidden */\n _placement$ = new BehaviorSubject<Placement>('bottom-start');\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef<HTMLElement>,\n private _onDestroy$: DestroyedService,\n @Optional() private _rtlService: RtlService | null,\n private _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._rtlService?.rtl\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((value) => this._placement$.next(value ? 'bottom-end' : 'bottom-start'));\n }\n\n /** @hidden */\n onResize(): void {\n this._overflowLayout.triggerRecalculation();\n }\n\n /**\n * We catch interactions with item, Enter, Space, Mouse click and Touch click,\n * if original element had router link we are proxying click to that element\n * */\n itemClicked(breadcrumbItem: any, $event: any): void {\n if (breadcrumbItem.needsClickProxy) {\n $event.preventDefault();\n breadcrumbItem.breadcrumbLink.elementRef().nativeElement.click();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setItems();\n\n this._contentItems.changes.subscribe(() => this._setItems());\n }\n\n /** @hidden */\n _keyDownHandle(event: Event): void {\n this._menuComponent.toggle();\n event.preventDefault();\n }\n\n /** @hidden */\n _onHiddenChange(isHidden: boolean, breadcrumb: BreadcrumbItemComponent): void {\n if (!isHidden) {\n breadcrumb._detach();\n } else {\n breadcrumb._attach();\n }\n }\n\n /** @hidden */\n _onVisibleItemsCountChange(visibleItemsCount: number): void {\n this.visibleItemsCount.emit(visibleItemsCount);\n }\n\n /** @hidden */\n _onHiddenItemsCountChange(hiddenItemsCount: number): void {\n this.hiddenItemsCount.emit(hiddenItemsCount);\n }\n\n /** @hidden */\n private _setItems(): void {\n this._contentItems.forEach((item) => item.setPortal());\n this._items = this._contentItems.toArray();\n this._cdr.detectChanges();\n }\n}\n","<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n …\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-breadcrumb[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedBreadcrumbsCompactDirective)\n }\n ]\n})\nexport class DeprecatedBreadcrumbsCompactDirective extends DeprecatedCompactDirective {\n constructor() {\n super('fd-breadcrumb');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { OverflowLayoutModule } from '@fundamental-ngx/core/overflow-layout';\n\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { LinkModule } from '@fundamental-ngx/core/link';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { PipeModule } from '@fundamental-ngx/core/utils';\nimport { DeprecatedBreadcrumbsCompactDirective } from './deprecated-breadcrumbs-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule,\n PopoverModule,\n MenuModule,\n LinkModule,\n PortalModule,\n PipeModule,\n ContentDensityModule,\n OverflowLayoutModule,\n ButtonModule\n ],\n exports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n LinkModule,\n DeprecatedBreadcrumbsCompactDirective,\n ContentDensityModule\n ],\n declarations: [BreadcrumbComponent, BreadcrumbItemComponent, DeprecatedBreadcrumbsCompactDirective]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-breadcrumb.mjs","sources":["../../../../libs/core/src/lib/breadcrumb/breadcrumb-item.component.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.component.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.component.html","../../../../libs/core/src/lib/breadcrumb/deprecated-breadcrumbs-compact.directive.ts","../../../../libs/core/src/lib/breadcrumb/breadcrumb.module.ts","../../../../libs/core/src/lib/breadcrumb/fundamental-ngx-core-breadcrumb.ts"],"sourcesContent":["import { DomPortal } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\n\n/**\n * Breadcrumb item directive. Must have child breadcrumb link directives.\n *\n * ```html\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb-item',\n template: '<ng-content></ng-content>',\n host: {\n class: 'fd-breadcrumb__item'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BreadcrumbItemComponent implements AfterViewInit {\n /** @hidden */\n @ContentChild(forwardRef(() => LinkComponent))\n breadcrumbLink: LinkComponent;\n\n /** In case there is no link in Item and breadcrumb item is non-interactive, we move whole item content to menu item title */\n breadcrumbItemPortal: DomPortal<Element>;\n\n /** When breadcrumb item has link in it, we are moving link content to menu item title */\n linkContentPortal: DomPortal;\n\n /**\n * Breadcrumb item dom portal.\n */\n portal: DomPortal;\n\n /** @hidden */\n private _attached = false;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n\n /** @hidden */\n get _needsClickProxy(): boolean {\n return (\n !!this.breadcrumbLink?.elementRef().nativeElement.getAttribute('href') || !!this.breadcrumbLink.routerLink\n );\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._attach();\n }\n\n /**\n * Sets breadcrumb item dom portal.\n */\n setPortal(): void {\n if (!this.portal) {\n this.portal = new DomPortal(this.elementRef);\n }\n }\n\n /** @hidden */\n _detach(): void {\n if (!this._attached) {\n return;\n }\n\n if (this.linkContentPortal?.isAttached) {\n this.linkContentPortal?.detach();\n }\n\n if (this.breadcrumbItemPortal?.isAttached) {\n this.breadcrumbItemPortal?.detach();\n }\n\n this._attached = false;\n }\n\n /** @hidden */\n _attach(): void {\n if (this._attached) {\n return;\n }\n\n if (this.breadcrumbLink && this.breadcrumbLink.contentSpan) {\n this.linkContentPortal = new DomPortal<HTMLElement>(this.breadcrumbLink.contentSpan.nativeElement);\n }\n\n this.breadcrumbItemPortal = new DomPortal(this.elementRef.nativeElement.firstElementChild as Element);\n this._attached = true;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n isDevMode,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { OverflowLayoutComponent } from '@fundamental-ngx/core/overflow-layout';\nimport { DestroyedService, RtlService } from '@fundamental-ngx/core/utils';\nimport { BehaviorSubject, takeUntil } from 'rxjs';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\n\n/**\n * Breadcrumb parent wrapper directive. Must have breadcrumb item child directives.\n *\n * ```html\n * <fd-breadcrumb>\n * <fd-breadcrumb-item>\n * <a fd-link [routerLink]=\"'#'\">Breadcrumb Link</a>\n * </fd-breadcrumb-item>\n * </fd-breadcrumb>\n * ```\n */\n@Component({\n selector: 'fd-breadcrumb',\n host: {\n class: 'fd-breadcrumb',\n role: 'tree'\n },\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DestroyedService]\n})\nexport class BreadcrumbComponent implements OnInit, AfterViewInit {\n /**\n * @deprecated\n * Breadcrumbs component now uses more advanced calculation mechanism without the need of specifying the container element.\n *\n * The element to act as the breadcrumb container. When provided, the breadcrumb's responsive collapsing behavior\n * performs better. When not provided, the immediate parent element's width will be used.\n */\n @Input()\n set containerElement(_: HTMLElement) {\n if (isDevMode()) {\n console.warn(\n 'Breadcrumbs component now uses more advanced calculation mechanism without the need of specifying the container element.'\n );\n }\n }\n\n /** Whether to append items to the overflow dropdown in reverse order. Default is true. */\n @Input()\n reverse = false;\n\n /** Tabindex of the breadcrumb. */\n @Input()\n tabIndex = '0';\n\n /**\n * Event emitted when visible items count is changed.\n */\n @Output()\n visibleItemsCount = new EventEmitter<number>();\n\n /**\n * Event emitted when hidden items count is changed.\n */\n @Output()\n hiddenItemsCount = new EventEmitter<number>();\n\n /** @hidden */\n @ContentChildren(BreadcrumbItemComponent)\n private readonly _contentItems: QueryList<BreadcrumbItemComponent>;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => BreadcrumbItemComponent))\n breadcrumbItems: QueryList<BreadcrumbItemComponent>;\n\n @ViewChild(MenuComponent)\n private readonly _menuComponent: MenuComponent;\n\n /** @hidden */\n @ViewChild(OverflowLayoutComponent)\n private readonly _overflowLayout: OverflowLayoutComponent;\n\n /**\n * @hidden\n * Array of breadcrumb items.\n */\n _items: BreadcrumbItemComponent[] = [];\n\n /** @hidden */\n _placement$ = new BehaviorSubject<Placement>('bottom-start');\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef<HTMLElement>,\n private _onDestroy$: DestroyedService,\n @Optional() private _rtlService: RtlService | null,\n private _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._rtlService?.rtl\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((value) => this._placement$.next(value ? 'bottom-end' : 'bottom-start'));\n }\n\n /** @hidden */\n onResize(): void {\n this._overflowLayout.triggerRecalculation();\n }\n\n /**\n * We catch interactions with item, Enter, Space, Mouse click and Touch click,\n * if original element had router link we are proxying click to that element\n * */\n itemClicked(breadcrumbItem: any, $event: any): void {\n if (breadcrumbItem.needsClickProxy) {\n $event.preventDefault();\n breadcrumbItem.breadcrumbLink.elementRef().nativeElement.click();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setItems();\n\n this._contentItems.changes.subscribe(() => this._setItems());\n }\n\n /** @hidden */\n _keyDownHandle(event: Event): void {\n this._menuComponent.toggle();\n event.preventDefault();\n }\n\n /** @hidden */\n _onHiddenChange(isHidden: boolean, breadcrumb: BreadcrumbItemComponent): void {\n if (!isHidden) {\n breadcrumb._detach();\n } else {\n breadcrumb._attach();\n }\n }\n\n /** @hidden */\n _onVisibleItemsCountChange(visibleItemsCount: number): void {\n this.visibleItemsCount.emit(visibleItemsCount);\n }\n\n /** @hidden */\n _onHiddenItemsCountChange(hiddenItemsCount: number): void {\n this.hiddenItemsCount.emit(hiddenItemsCount);\n }\n\n /** @hidden */\n private _setItems(): void {\n this._contentItems.forEach((item) => item.setPortal());\n this._items = this._contentItems.toArray();\n this._cdr.detectChanges();\n }\n}\n","<fd-overflow-layout\n [reverseHiddenItems]=\"!reverse\"\n showMorePosition=\"left\"\n [enableKeyboardNavigation]=\"false\"\n (visibleItemsCount)=\"_onVisibleItemsCountChange($event)\"\n (hiddenItemsCount)=\"_onHiddenItemsCountChange($event)\"\n>\n <ng-container *ngFor=\"let breadcrumb of _items\">\n <div\n *fdOverflowItemRef=\"breadcrumb; let hidden\"\n fdOverflowLayoutItem\n (hiddenChange)=\"_onHiddenChange($event, breadcrumb)\"\n >\n <ng-template [cdkPortalOutlet]=\"breadcrumb.portal\"></ng-template>\n </div>\n </ng-container>\n <ng-container *fdOverflowExpand=\"let breadcrumbs; items: _items\">\n <fd-menu #menu [closeOnEscapeKey]=\"true\" [focusAutoCapture]=\"true\" [placement]=\"_placement$ | async\">\n <ng-container *ngFor=\"let breadcrumbItem of breadcrumbs\">\n <li\n fd-menu-item\n [disabled]=\"\n breadcrumbItem.item.breadcrumbLink ? breadcrumbItem.item.breadcrumbLink.disabled : false\n \"\n >\n <a\n fd-menu-interactive\n (click)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.enter)=\"itemClicked(breadcrumbItem.item, $event)\"\n (keydown.space)=\"itemClicked(breadcrumbItem.item, $event)\"\n >\n <ng-container *ngIf=\"breadcrumbItem?.item.breadcrumbLink; else portalContent\">\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\">\n <fd-menu-addon\n position=\"before\"\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._prefixIconName\"\n ></fd-menu-addon>\n </ng-container>\n <span fd-menu-title>\n <ng-container [cdkPortalOutlet]=\"breadcrumbItem.item.linkContentPortal\"></ng-container>\n </span>\n <ng-container *ngIf=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\">\n <fd-menu-addon\n [glyph]=\"breadcrumbItem.item.breadcrumbLink._postfixIconName\"\n ></fd-menu-addon>\n </ng-container>\n </ng-container>\n <ng-template #portalContent>\n <span fd-menu-title>\n <ng-container\n [cdkPortalOutlet]=\"breadcrumbItem.item.breadcrumbItemPortal\"\n ></ng-container>\n </span>\n </ng-template>\n </a>\n </li>\n </ng-container>\n </fd-menu>\n <span class=\"fd-breadcrumb__item\" *ngIf=\"breadcrumbs.length > 0\" [fdMenuTrigger]=\"menu\">\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-breadcrumb__collapsed\"\n (keydown.enter)=\"_keyDownHandle($event)\"\n (keydown.space)=\"_keyDownHandle($event)\"\n >\n …\n <fd-icon glyph=\"slim-arrow-down\"></fd-icon>\n </a>\n </span>\n </ng-container>\n</fd-overflow-layout>\n\n<ng-content></ng-content>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-breadcrumb[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedBreadcrumbsCompactDirective)\n }\n ]\n})\nexport class DeprecatedBreadcrumbsCompactDirective extends DeprecatedCompactDirective {\n constructor() {\n super('fd-breadcrumb');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { OverflowLayoutModule } from '@fundamental-ngx/core/overflow-layout';\n\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport { BreadcrumbItemComponent } from './breadcrumb-item.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { LinkModule } from '@fundamental-ngx/core/link';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { PipeModule } from '@fundamental-ngx/core/utils';\nimport { DeprecatedBreadcrumbsCompactDirective } from './deprecated-breadcrumbs-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule,\n PopoverModule,\n MenuModule,\n LinkModule,\n PortalModule,\n PipeModule,\n ContentDensityModule,\n OverflowLayoutModule,\n ButtonModule\n ],\n exports: [\n BreadcrumbComponent,\n BreadcrumbItemComponent,\n LinkModule,\n DeprecatedBreadcrumbsCompactDirective,\n ContentDensityModule\n ],\n declarations: [BreadcrumbComponent, BreadcrumbItemComponent, DeprecatedBreadcrumbsCompactDirective]\n})\nexport class BreadcrumbModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}