@flywheel-io/vision 1.17.1-beta.2 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/fonts/Flywheel-Vision-Icons.svg +26 -0
- package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
- package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
- package/assets/svg/arrow-redo.svg +4 -0
- package/assets/svg/arrow-undo.svg +4 -0
- package/assets/svg/arrow-up-high-priority.svg +6 -0
- package/assets/svg/arrow-up-low-priority.svg +6 -0
- package/assets/svg/certificate.svg +4 -0
- package/assets/svg/check-mark-certificate.svg +4 -0
- package/assets/svg/document-file-checkmark-bottom-left.svg +4 -0
- package/assets/svg/folders-copy-expand-arrow-down.svg +6 -0
- package/assets/svg/folders-copy-expand-arrow-up.svg +6 -0
- package/assets/svg/monitor-computer.svg +4 -0
- package/assets/svg/server-databases-checkmark-user.svg +4 -0
- package/assets/svg/stop-minus.svg +4 -0
- package/assets/svg/user-profile-cards-pool.svg +4 -0
- package/components/icon/icon.types.d.ts +1 -1
- package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +4 -5
- package/components/select-menu/select-menu.module.d.ts +2 -1
- package/components/shared/services/menu-manager.service.d.ts +10 -0
- package/directives/menu-register.directive.d.ts +14 -0
- package/esm2020/components/badge/badge.component.mjs +2 -2
- package/esm2020/components/card/card-content/card-content.component.mjs +2 -2
- package/esm2020/components/card/card.component.mjs +2 -2
- package/esm2020/components/checkbox/checkbox.component.mjs +2 -2
- package/esm2020/components/icon/icon.types.mjs +15 -2
- package/esm2020/components/layouts/grid/grid.component.mjs +4 -4
- package/esm2020/components/menu/menu-item/menu-item.component.mjs +2 -2
- package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +3 -3
- package/esm2020/components/phone-input/phone-input.component.mjs +2 -2
- package/esm2020/components/progress/bar/bar.component.mjs +2 -2
- package/esm2020/components/radio/radio.component.mjs +2 -2
- package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +61 -80
- package/esm2020/components/select-menu/select-menu.component.mjs +4 -3
- package/esm2020/components/select-menu/select-menu.module.mjs +5 -2
- package/esm2020/components/shared/services/menu-manager.service.mjs +27 -0
- package/esm2020/components/table/table-dense.component.mjs +2 -2
- package/esm2020/components/table/table.component.mjs +2 -2
- package/esm2020/components/tooltip/tooltip.component.mjs +2 -2
- package/esm2020/directives/menu-register.directive.mjs +38 -0
- package/esm2020/public-api.mjs +3 -1
- package/fesm2015/flywheel-io-vision.mjs +180 -121
- package/fesm2015/flywheel-io-vision.mjs.map +1 -1
- package/fesm2020/flywheel-io-vision.mjs +175 -121
- package/fesm2020/flywheel-io-vision.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/scss/icons/_icon-glyphs.scss +667 -1256
- package/styles.css +54 -1
- package/flywheel-io-vision-1.17.1-beta.2.tgz +0 -0
|
@@ -38,7 +38,7 @@ export class FwMenuSubItemComponent {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
FwMenuSubItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwMenuSubItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
FwMenuSubItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwMenuSubItemComponent, selector: "fw-menu-sub-item", inputs: { value: "value", size: "size", title: "title", description: "description", icon: "icon", disabled: "disabled", hidden: "hidden", href: "href", target: "target", collapsed: "collapsed", focused: "focused", selected: "selected", variant: "variant" }, outputs: { click: "click" }, host: { properties: { "class.collapsed": "this.collapsed", "class.focused": "this.focused", "class.selected": "this.selected" } }, ngImport: i0, template: "<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-sub-item:not(.disabled),:host.focused:not(.selected) .menu-sub-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-sub-item .menu-icon{color:var(--primary-base)}:host.selected .menu-sub-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.selected .menu-sub-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-sub-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-sub-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host .menu-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 8px 8px 35px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:100%}:host .menu-sub-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-sub-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-sub-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-sub-item .menu-text p{margin:0}:host .menu-sub-item .menu-text p.description{color:var(--typography-light)}:host .menu-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-sub-item.size-compact{min-height:32px}:host .menu-sub-item.size-compact .menu-text .description{display:none}:host .menu-sub-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-sub-item.variant-modern{padding:8px 8px 8px 43px;border-radius:6px}:host .menu-sub-item.variant-modern.size-compact{min-height:34px}:host .menu-sub-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:
|
|
41
|
+
FwMenuSubItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwMenuSubItemComponent, selector: "fw-menu-sub-item", inputs: { value: "value", size: "size", title: "title", description: "description", icon: "icon", disabled: "disabled", hidden: "hidden", href: "href", target: "target", collapsed: "collapsed", focused: "focused", selected: "selected", variant: "variant" }, outputs: { click: "click" }, host: { properties: { "class.collapsed": "this.collapsed", "class.focused": "this.focused", "class.selected": "this.selected" } }, ngImport: i0, template: "<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-sub-item:not(.disabled),:host.focused:not(.selected) .menu-sub-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-sub-item .menu-icon{color:var(--primary-base)}:host.selected .menu-sub-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.selected .menu-sub-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-sub-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-sub-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host .menu-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 8px 8px 35px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:100%}:host .menu-sub-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-sub-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-sub-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-sub-item .menu-text p{margin:0}:host .menu-sub-item .menu-text p.description{color:var(--typography-light)}:host .menu-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-sub-item.size-compact{min-height:32px}:host .menu-sub-item.size-compact .menu-text .description{display:none}:host .menu-sub-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-sub-item.variant-modern{padding:8px 8px 8px 43px;border-radius:6px}:host .menu-sub-item.variant-modern.size-compact{min-height:34px}:host .menu-sub-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-sub-item.variant-button .menu-icon{font-size:32px}:host .menu-sub-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-sub-item.variant-button .menu-text .description{display:none}:host .menu-sub-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-sub-item.variant-button.size-compact .menu-icon{font-size:20px}:host .menu-sub-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}@container menuitem (max-width: 60px){.menu-sub-item{gap:0}.menu-sub-item .menu-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
42
42
|
trigger('openClose', [
|
|
43
43
|
// ...
|
|
44
44
|
state('open', style({
|
|
@@ -67,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
67
67
|
animate('.33s ease-in-out'),
|
|
68
68
|
]),
|
|
69
69
|
]),
|
|
70
|
-
], template: "<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-sub-item:not(.disabled),:host.focused:not(.selected) .menu-sub-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-sub-item .menu-icon{color:var(--primary-base)}:host.selected .menu-sub-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.selected .menu-sub-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-sub-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-sub-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host .menu-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 8px 8px 35px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:100%}:host .menu-sub-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-sub-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-sub-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-sub-item .menu-text p{margin:0}:host .menu-sub-item .menu-text p.description{color:var(--typography-light)}:host .menu-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-sub-item.size-compact{min-height:32px}:host .menu-sub-item.size-compact .menu-text .description{display:none}:host .menu-sub-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-sub-item.variant-modern{padding:8px 8px 8px 43px;border-radius:6px}:host .menu-sub-item.variant-modern.size-compact{min-height:34px}:host .menu-sub-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:
|
|
70
|
+
], template: "<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-sub-item:not(.disabled),:host.focused:not(.selected) .menu-sub-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-sub-item .menu-icon{color:var(--primary-base)}:host.selected .menu-sub-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.selected .menu-sub-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-sub-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-sub-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host .menu-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 8px 8px 35px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:100%}:host .menu-sub-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-sub-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-sub-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-sub-item .menu-text p{margin:0}:host .menu-sub-item .menu-text p.description{color:var(--typography-light)}:host .menu-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-sub-item.size-compact{min-height:32px}:host .menu-sub-item.size-compact .menu-text .description{display:none}:host .menu-sub-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-sub-item.variant-modern{padding:8px 8px 8px 43px;border-radius:6px}:host .menu-sub-item.variant-modern.size-compact{min-height:34px}:host .menu-sub-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-sub-item.variant-button .menu-icon{font-size:32px}:host .menu-sub-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-sub-item.variant-button .menu-text .description{display:none}:host .menu-sub-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-sub-item.variant-button.size-compact .menu-icon{font-size:20px}:host .menu-sub-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}@container menuitem (max-width: 60px){.menu-sub-item{gap:0}.menu-sub-item .menu-text{opacity:0}}\n"] }]
|
|
71
71
|
}], propDecorators: { value: [{
|
|
72
72
|
type: Input
|
|
73
73
|
}], size: [{
|
|
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
106
106
|
}], variant: [{
|
|
107
107
|
type: Input
|
|
108
108
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zdWItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF3QnBGLE1BQU0sT0FBTyxzQkFBc0I7SUFuQm5DO1FBcUJXLFNBQUksR0FBMkIsU0FBUyxDQUFDO1FBS3pDLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFJbEMsNERBQTREO1FBQ2xELFVBQUssR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QixZQUFPLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFDbkU7O1dBRUc7UUFDTSxZQUFPLEdBQXFDLFNBQVMsQ0FBQztLQTBCaEU7SUF4QkMsV0FBVyxDQUFDLEdBQVc7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QixPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsdUVBQXVFO2dCQUN2RSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzdDO2lCQUNJO2dCQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDbEM7WUFDRCxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEIsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7O21IQTFDVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwwZEN6Qm5DLHl0QkFrQkEsbXVIRFJjO1FBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUNuQixNQUFNO1lBQ04sS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ25CLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dCQUNwQixNQUFNLEVBQUUsR0FBRzthQUNaLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNuQixVQUFVLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQzthQUM1QixDQUFDO1NBQ0gsQ0FBQztLQUNIOzJGQUVVLHNCQUFzQjtrQkFuQmxDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCO3dCQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7NEJBQ25CLE1BQU07NEJBQ04sS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7Z0NBQ2xCLE1BQU0sRUFBRSxNQUFNOzZCQUNmLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQzs0QkFDbkIsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0NBQ3BCLE1BQU0sRUFBRSxHQUFHOzZCQUNaLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQzs0QkFDbkIsVUFBVSxDQUFDLGlCQUFpQixFQUFFO2dDQUM1QixPQUFPLENBQUMsa0JBQWtCLENBQUM7NkJBQzVCLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs4QkFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNtQyxTQUFTO3NCQUFqRCxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSztnQkFFNUIsS0FBSztzQkFBZCxNQUFNO2dCQUNnQyxPQUFPO3NCQUE3QyxXQUFXO3VCQUFDLGVBQWU7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBSTVCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLnR5cGVzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LXN1Yi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtc3ViLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LXN1Yi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICAvLyAuLi5cbiAgICAgIHN0YXRlKCdvcGVuJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICcwJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuIDw9PiBjbG9zZWQnLCBbXG4gICAgICAgIGFuaW1hdGUoJy4zM3MgZWFzZS1pbi1vdXQnKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd01lbnVTdWJJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU/OiAnZGVmYXVsdCcgfCAnY29tcGFjdCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uPzogSWNvblR5cGU7XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgQElucHV0KCkgY29sbGFwc2VkPzogYm9vbGVhbjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c2VkJykgQElucHV0KCkgZm9jdXNlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIEBJbnB1dCgpIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBmdy1uYXZiYXItc3ViLWl0ZW0gaW5zdGVhZFxuICAgKi9cbiAgQElucHV0KCkgdmFyaWFudD86ICdkZWZhdWx0JyB8ICdtb2Rlcm4nIHwgJ2J1dHRvbicgPSAnZGVmYXVsdCc7XG5cbiAgaGFuZGxlQ2xpY2soZXZ0PzogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhyZWYpIHtcbiAgICAgIGlmICh0aGlzLnRhcmdldCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpc1xuICAgICAgICB3aW5kb3cub3Blbih0aGlzLmhyZWYsIHRoaXMudGFyZ2V0KS5mb2N1cygpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5ocmVmO1xuICAgICAgfVxuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNsaWNrLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXZcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIiAqbmdJZj1cIiFoaWRkZW5cIlxuICBbQG9wZW5DbG9zZV09XCJ7dmFsdWU6IGNvbGxhcHNlZD8nY2xvc2VkJzonb3Blbid9XCI+XG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJbJ21lbnUtc3ViLWl0ZW0nLCAnc2l6ZS0nK3NpemUsICd2YXJpYW50LScrdmFyaWFudCwgZGlzYWJsZWQ/J2Rpc2FibGVkJzonJ11cIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZW51LXRleHRcIiAqbmdJZj1cInRpdGxlXCI+XG4gICAgICA8aDQgY2xhc3M9XCJ2aXNpb24taDRcIj57eyB0aXRsZSB9fTwvaDQ+XG4gICAgICA8cCAqbmdJZj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJ2aXNpb24tcDQgZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwia2V5LXRleHQgdmlzaW9uLXAyXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctYmFkZ2VcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvbi1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|