cax-design-system 2.7.12 → 2.8.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/README.md +46 -46
- package/esm2022/accordion/accordion.mjs +3 -3
- package/esm2022/autocomplete/autocomplete.mjs +3 -3
- package/esm2022/avatar/avatar.mjs +3 -3
- package/esm2022/avatargroup/avatargroup.mjs +3 -3
- package/esm2022/badge/badge.mjs +3 -3
- package/esm2022/breadcrumb/breadcrumb.mjs +3 -3
- package/esm2022/button/button.mjs +3 -3
- package/esm2022/calendar/calendar.mjs +3 -3
- package/esm2022/card/card.mjs +3 -3
- package/esm2022/cascadeselect/cascadeselect.mjs +5 -5
- package/esm2022/checkbox/checkbox.mjs +3 -3
- package/esm2022/chip/chip.mjs +3 -3
- package/esm2022/chips/chips.mjs +3 -3
- package/esm2022/colorpicker/colorpicker.mjs +3 -3
- package/esm2022/commentbox/commentbox.mjs +3 -3
- package/esm2022/confirmdialog/confirmdialog.mjs +3 -3
- package/esm2022/dialog/dialog.mjs +3 -3
- package/esm2022/divider/divider.mjs +3 -3
- package/esm2022/dropdown/dropdown-item.mjs +3 -3
- package/esm2022/dropdown/dropdown.mjs +3 -3
- package/esm2022/editor/editor.mjs +3 -3
- package/esm2022/image/image.mjs +3 -3
- package/esm2022/inputgroup/inputgroup.mjs +3 -3
- package/esm2022/inputgroupaddon/inputgroupaddon.mjs +3 -3
- package/esm2022/inputmask/inputmask.mjs +3 -3
- package/esm2022/inputnumber/inputnumber.mjs +3 -3
- package/esm2022/inputtext/inputtext.component.mjs +3 -3
- package/esm2022/inputtextarea/inputtextarea.component.mjs +3 -3
- package/esm2022/logo/logo.mjs +3 -3
- package/esm2022/menu/menu.mjs +5 -5
- package/esm2022/messages/messages.mjs +3 -3
- package/esm2022/multiselect/multiselect.mjs +5 -5
- package/esm2022/navigation/navigation.mjs +3 -3
- package/esm2022/overlay/overlay.mjs +3 -3
- package/esm2022/overlaypanel/overlaypanel.mjs +3 -3
- package/esm2022/paginator/paginator.mjs +3 -3
- package/esm2022/progressbar/progressbar.mjs +3 -3
- package/esm2022/progressspinner/progressspinner.mjs +3 -3
- package/esm2022/radiobutton/radiobutton.mjs +3 -3
- package/esm2022/scroller/scroller.mjs +3 -3
- package/esm2022/selectbutton/selectbutton.mjs +3 -3
- package/esm2022/sidebar/sidebar.mjs +3 -3
- package/esm2022/skeleton/skeleton.mjs +3 -3
- package/esm2022/speeddial/speeddial.mjs +3 -3
- package/esm2022/splitbutton/splitbutton.mjs +3 -3
- package/esm2022/splitter/splitter.mjs +3 -3
- package/esm2022/steps/steps.mjs +3 -3
- package/esm2022/table/components/cell-editor/cell-editor.mjs +3 -3
- package/esm2022/table/components/column-filter/column-filter.mjs +3 -3
- package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +3 -3
- package/esm2022/table/components/sort-icon/sort-icon.mjs +3 -3
- package/esm2022/table/components/table-body/table-body.mjs +3 -3
- package/esm2022/table/components/table-checkbox/table-checkbox.mjs +3 -3
- package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +3 -3
- package/esm2022/table/components/table-radio-button/table-radio-button.mjs +3 -3
- package/esm2022/table/table.mjs +3 -3
- package/esm2022/tableconfiguration/tableconfiguration.mjs +3 -3
- package/esm2022/tabview/tabview.mjs +5 -5
- package/esm2022/tag/tag.mjs +3 -3
- package/esm2022/timeline/timeline.mjs +3 -3
- package/esm2022/toast/toast.mjs +3 -3
- package/esm2022/toast/toastitem.mjs +3 -3
- package/esm2022/toggleswitch/toggleswitch.mjs +3 -3
- package/esm2022/tree/tree.mjs +5 -5
- package/esm2022/treeselect/treeselect.mjs +3 -3
- package/esm2022/tristatecheckbox/tristatecheckbox.mjs +3 -3
- package/esm2022/upload/upload.component.mjs +3 -3
- package/fesm2022/cax-design-system-accordion.mjs +2 -2
- package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
- package/fesm2022/cax-design-system-autocomplete.mjs +2 -2
- package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatar.mjs +2 -2
- package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatargroup.mjs +2 -2
- package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-badge.mjs +2 -2
- package/fesm2022/cax-design-system-badge.mjs.map +1 -1
- package/fesm2022/cax-design-system-breadcrumb.mjs +2 -2
- package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
- package/fesm2022/cax-design-system-button.mjs +2 -2
- package/fesm2022/cax-design-system-button.mjs.map +1 -1
- package/fesm2022/cax-design-system-calendar.mjs +2 -2
- package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
- package/fesm2022/cax-design-system-card.mjs +2 -2
- package/fesm2022/cax-design-system-card.mjs.map +1 -1
- package/fesm2022/cax-design-system-cascadeselect.mjs +4 -4
- package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-checkbox.mjs +2 -2
- package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-chip.mjs +2 -2
- package/fesm2022/cax-design-system-chip.mjs.map +1 -1
- package/fesm2022/cax-design-system-chips.mjs +2 -2
- package/fesm2022/cax-design-system-chips.mjs.map +1 -1
- package/fesm2022/cax-design-system-colorpicker.mjs +2 -2
- package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
- package/fesm2022/cax-design-system-commentbox.mjs +2 -2
- package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-confirmdialog.mjs +2 -2
- package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-dialog.mjs +2 -2
- package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-divider.mjs +2 -2
- package/fesm2022/cax-design-system-divider.mjs.map +1 -1
- package/fesm2022/cax-design-system-dropdown.mjs +4 -4
- package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-editor.mjs +2 -2
- package/fesm2022/cax-design-system-editor.mjs.map +1 -1
- package/fesm2022/cax-design-system-image.mjs +2 -2
- package/fesm2022/cax-design-system-image.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroup.mjs +2 -2
- package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroupaddon.mjs +2 -2
- package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputmask.mjs +2 -2
- package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputnumber.mjs +2 -2
- package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtext.mjs +2 -2
- package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtextarea.mjs +2 -2
- package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
- package/fesm2022/cax-design-system-logo.mjs +2 -2
- package/fesm2022/cax-design-system-logo.mjs.map +1 -1
- package/fesm2022/cax-design-system-menu.mjs +4 -4
- package/fesm2022/cax-design-system-menu.mjs.map +1 -1
- package/fesm2022/cax-design-system-messages.mjs +2 -2
- package/fesm2022/cax-design-system-messages.mjs.map +1 -1
- package/fesm2022/cax-design-system-multiselect.mjs +4 -4
- package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-navigation.mjs +2 -2
- package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlay.mjs +2 -2
- package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlaypanel.mjs +2 -2
- package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
- package/fesm2022/cax-design-system-paginator.mjs +2 -2
- package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressbar.mjs +2 -2
- package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressspinner.mjs +2 -2
- package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-radiobutton.mjs +2 -2
- package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-scroller.mjs +2 -2
- package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
- package/fesm2022/cax-design-system-selectbutton.mjs +2 -2
- package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-sidebar.mjs +2 -2
- package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
- package/fesm2022/cax-design-system-skeleton.mjs +2 -2
- package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
- package/fesm2022/cax-design-system-speeddial.mjs +2 -2
- package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitbutton.mjs +2 -2
- package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitter.mjs +2 -2
- package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
- package/fesm2022/cax-design-system-steps.mjs +2 -2
- package/fesm2022/cax-design-system-steps.mjs.map +1 -1
- package/fesm2022/cax-design-system-table.mjs +18 -18
- package/fesm2022/cax-design-system-table.mjs.map +1 -1
- package/fesm2022/cax-design-system-tableconfiguration.mjs +2 -2
- package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabview.mjs +4 -4
- package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
- package/fesm2022/cax-design-system-tag.mjs +2 -2
- package/fesm2022/cax-design-system-tag.mjs.map +1 -1
- package/fesm2022/cax-design-system-timeline.mjs +2 -2
- package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
- package/fesm2022/cax-design-system-toast.mjs +4 -4
- package/fesm2022/cax-design-system-toast.mjs.map +1 -1
- package/fesm2022/cax-design-system-toggleswitch.mjs +2 -2
- package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
- package/fesm2022/cax-design-system-tree.mjs +4 -4
- package/fesm2022/cax-design-system-tree.mjs.map +1 -1
- package/fesm2022/cax-design-system-treeselect.mjs +2 -2
- package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-tristatecheckbox.mjs +2 -2
- package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-upload.mjs +2 -2
- package/fesm2022/cax-design-system-upload.mjs.map +1 -1
- package/package.json +138 -138
- package/resources/cax.min.scss +1 -1
- package/resources/cax.scss +12518 -12488
- package/resources/components/accordion/accordion.scss +46 -46
- package/resources/components/autocomplete/autocomplete.scss +183 -183
- package/resources/components/avatar/avatar.scss +34 -34
- package/resources/components/avatargroup/avatargroup.scss +10 -10
- package/resources/components/badge/badge.scss +67 -67
- package/resources/components/blockui/blockui.css +26 -26
- package/resources/components/breadcrumb/breadcrumb.scss +33 -33
- package/resources/components/button/button.scss +163 -163
- package/resources/components/calendar/calendar.scss +235 -235
- package/resources/components/card/card.scss +50 -50
- package/resources/components/carousel/carousel.css +71 -71
- package/resources/components/cascadeselect/cascadeselect.scss +105 -105
- package/resources/components/checkbox/checkbox.scss +30 -30
- package/resources/components/chip/chip.scss +6 -6
- package/resources/components/chips/chips.scss +205 -205
- package/resources/components/colorpicker/colorpicker-images.scss +6 -6
- package/resources/components/colorpicker/colorpicker.scss +82 -82
- package/resources/components/commentbox/commentbox.scss +611 -611
- package/resources/components/common/common.scss +183 -183
- package/resources/components/confirmpopup/confirmpopup.css +53 -53
- package/resources/components/contextmenu/contextmenu.css +42 -42
- package/resources/components/dataview/dataview.css +13 -13
- package/resources/components/dialog/dialog.scss +171 -171
- package/resources/components/divider/divider.scss +86 -86
- package/resources/components/dock/dock.css +107 -107
- package/resources/components/dropdown/dropdown.scss +94 -94
- package/resources/components/editor/editor.scss +3 -3
- package/resources/components/fieldset/fieldset.css +30 -30
- package/resources/components/fileupload/fileupload.css +47 -47
- package/resources/components/galleria/galleria.css +281 -281
- package/resources/components/iconfield/iconfield.css +5 -5
- package/resources/components/image/image.scss +92 -92
- package/resources/components/inplace/inplace.css +19 -19
- package/resources/components/inputicon/inputicon.css +6 -6
- package/resources/components/inputmask/inputmask.scss +12 -12
- package/resources/components/inputnumber/inputnumber.scss +109 -109
- package/resources/components/inputotp/inputotp.css +2 -2
- package/resources/components/inputswitch/inputswitch.css +23 -23
- package/resources/components/inputtext/inputtext.scss +145 -145
- package/resources/components/inputtextarea/inputtextarea.scss +10 -10
- package/resources/components/knob/knob.css +20 -20
- package/resources/components/listbox/listbox.css +40 -40
- package/resources/components/megamenu/megamenu.css +108 -108
- package/resources/components/menu/menu.scss +30 -30
- package/resources/components/menubar/menubar.css +81 -81
- package/resources/components/message/message.css +17 -17
- package/resources/components/messages/messages.scss +55 -55
- package/resources/components/multiselect/multiselect.scss +132 -132
- package/resources/components/navigation/navigation.scss +196 -196
- package/resources/components/orderlist/orderlist.css +78 -78
- package/resources/components/organizationchart/organizationchart.css +62 -62
- package/resources/components/overlay/overlay.scss +80 -80
- package/resources/components/overlaypanel/overlaypanel.scss +66 -66
- package/resources/components/paginator/paginator.scss +41 -41
- package/resources/components/panel/panel.css +29 -29
- package/resources/components/panelmenu/panelmenu.css +45 -45
- package/resources/components/password/password.css +54 -54
- package/resources/components/picklist/picklist.css +60 -60
- package/resources/components/progressbar/progressbar.scss +107 -107
- package/resources/components/progressspinner/progressspinner.scss +94 -94
- package/resources/components/radiobutton/radiobutton.scss +34 -34
- package/resources/components/rating/rating.css +15 -15
- package/resources/components/ripple/ripple.scss +29 -29
- package/resources/components/scroller/scroller.scss +58 -58
- package/resources/components/scrollpanel/scrollpanel.css +50 -50
- package/resources/components/scrolltop/scrolltop.css +18 -18
- package/resources/components/sidebar/sidebar.scss +117 -117
- package/resources/components/skeleton/skeleton.scss +24 -24
- package/resources/components/slidemenu/slidemenu.css +100 -100
- package/resources/components/slider/slider.css +41 -41
- package/resources/components/speeddial/speeddial.scss +122 -122
- package/resources/components/spinner/spinner.css +63 -63
- package/resources/components/splitbutton/splitbutton.scss +53 -53
- package/resources/components/splitter/splitter.scss +73 -73
- package/resources/components/stepper/stepper.css +9 -9
- package/resources/components/steps/steps.scss +50 -50
- package/resources/components/table/table.scss +451 -451
- package/resources/components/tableconfiguration/tableconfiguration.scss +115 -115
- package/resources/components/tabmenu/tabmenu.css +80 -80
- package/resources/components/tabview/tabview.scss +198 -198
- package/resources/components/tag/tag.scss +23 -23
- package/resources/components/terminal/terminal.css +24 -24
- package/resources/components/tieredmenu/tieredmenu.scss +55 -55
- package/resources/components/timeline/timeline.scss +128 -128
- package/resources/components/toast/toast.scss +87 -87
- package/resources/components/toggleswitch/toggleswitch.scss +36 -36
- package/resources/components/toolbar/toolbar.css +19 -19
- package/resources/components/tooltip/tooltip.scss +124 -124
- package/resources/components/tree/tree.scss +154 -154
- package/resources/components/treeselect/treeselect.scss +114 -114
- package/resources/components/treetable/treetable.css +205 -205
- package/resources/components/upload/upload.component.scss +145 -145
- package/resources/logo/dataX-dark.svg +12 -12
- package/resources/logo/dataX-icon-dark.svg +5 -5
- package/resources/logo/dataX-icon.svg +5 -5
- package/resources/logo/dataX.svg +12 -12
- package/resources/styles/colors.scss +397 -397
- package/resources/styles/shadow-blur.scss +21 -21
- package/resources/styles/space-radius-border.scss +49 -49
- package/resources/styles/typography.scss +116 -135
|
@@ -240,13 +240,13 @@ export class Checkbox {
|
|
|
240
240
|
return !this.indeterminate && (this.binary ? this.model === this.trueValue : ObjectUtils.contains(this.value, this.model));
|
|
241
241
|
}
|
|
242
242
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Checkbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
243
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Checkbox, selector: "cax-checkbox", inputs: { size: "size", value: "value", name: "name", disabled: ["disabled", "disabled", booleanAttribute], binary: ["binary", "binary", booleanAttribute], label: "label", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass", formControl: "formControl", checkboxIcon: "checkboxIcon", readonly: ["readonly", "readonly", booleanAttribute], required: ["required", "required", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], trueValue: "trueValue", falseValue: "falseValue", variant: "variant", indeterminate: ["indeterminate", "indeterminate", booleanAttribute], model: "model" }, outputs: { indeterminateChange: "indeterminateChange", onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [CHECKBOX_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\
|
|
243
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Checkbox, selector: "cax-checkbox", inputs: { size: "size", value: "value", name: "name", disabled: ["disabled", "disabled", booleanAttribute], binary: ["binary", "binary", booleanAttribute], label: "label", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", tabindex: ["tabindex", "tabindex", numberAttribute], inputId: "inputId", style: "style", styleClass: "styleClass", labelStyleClass: "labelStyleClass", formControl: "formControl", checkboxIcon: "checkboxIcon", readonly: ["readonly", "readonly", booleanAttribute], required: ["required", "required", booleanAttribute], autofocus: ["autofocus", "autofocus", booleanAttribute], trueValue: "trueValue", falseValue: "falseValue", variant: "variant", indeterminate: ["indeterminate", "indeterminate", booleanAttribute], model: "model" }, outputs: { indeterminateChange: "indeterminateChange", onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "cax-element" }, providers: [CHECKBOX_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\n [ngStyle]=\"style\"\n [ngClass]=\"{\n 'cax-checkbox cax-component': true,\n 'cax-checkbox-checked': checked(),\n 'cax-checkbox-indeterminate': indeterminate,\n 'cax-checkbox-disabled': disabled,\n 'cax-checkbox-focused': focused,\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled'\n}\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'checkbox'\"\n [attr.data-pc-section]=\"'root'\"\n>\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-cax-hidden-accessible]=\"true\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n [value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked()\"\n [attr.indeterminate]=\"indeterminate ? 'true' : null\"\n [attr.tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.required]=\"required\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-checked]=\"checked()\"\n (change)=\"handleChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n caxAutoFocus\n [autofocus]=\"autofocus\"\n />\n </div>\n <div\n class=\"cax-checkbox-box\"\n [ngClass]=\"{ 'cax-highlight': checked(), 'cax-disabled': disabled, 'cax-focus': focused,\n 'cax-checkbox-indeterminate': indeterminate, \n 'cax-checkbox-sm': size == 'sm',\n 'cax-checkbox-md': size == 'md',\n 'cax-checkbox-lg': size == 'lg', }\"\n (click)=\"onClick($event, input, true)\"\n [attr.data-cax-highlight]=\"checked()\"\n [attr.data-cax-disabled]=\"disabled\"\n [attr.data-cax-focused]=\"focused\"\n [attr.data-pc-section]=\"'input'\"\n >\n <ng-container *ngIf=\"indeterminate\">\n <span class=\"cax cax-minus cax-checkbox-leaf-indeterminate cax-checkbox-icon\"></span> \n </ng-container>\n <ng-container *ngIf=\"checked() && !indeterminate\">\n <ng-container *ngIf=\"!checkboxIconTemplate\">\n <span *ngIf=\"checkboxIcon\" class=\"cax-checkbox-icon\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\n <!-- <CheckIcon *ngIf=\"!checkboxIcon\" [styleClass]=\"'cax-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" /> -->\n <ng-container *ngIf=\"!checkboxIcon\" >\n <svg\n width=\"11\"\n height=\"10\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"role\"\n >\n <path\n d=\"M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n stroke-width=\"1\"\n />\n </svg>\n\n </ng-container>\n </ng-container>\n <span *ngIf=\"checkboxIconTemplate\" class=\"cax-checkbox-icon\" [attr.data-pc-section]=\"'icon'\">\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </div>\n</div>\n<label\n (click)=\"onClick($event, input, true)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{\n 'cax-checkbox-label': true, \n 'cax-checkbox-label-active': checked(), \n 'cax-disabled': disabled, \n 'cax-checkbox-label-focus': focused,\n 'cax-checkbox-label-sm': size === 'sm',\n 'cax-checkbox-label-md': size === 'md',\n 'cax-checkbox-label-lg': size === 'lg'\n }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n>\n {{ label }}</label\n>\n", styles: ["@layer cax{.cax-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.cax-checkbox-disabled{cursor:default!important;pointer-events:none}.cax-checkbox-box{display:flex;justify-content:center;align-items:center}cax-checkbox{display:inline-flex;vertical-align:bottom;align-items:center}.cax-checkbox-label{line-height:1}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.AutoFocus, selector: "[caxAutoFocus]", inputs: ["autofocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
244
244
|
}
|
|
245
245
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Checkbox, decorators: [{
|
|
246
246
|
type: Component,
|
|
247
247
|
args: [{ selector: 'cax-checkbox', providers: [CHECKBOX_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
248
248
|
class: 'cax-element'
|
|
249
|
-
}, template: "<div\
|
|
249
|
+
}, template: "<div\n [ngStyle]=\"style\"\n [ngClass]=\"{\n 'cax-checkbox cax-component': true,\n 'cax-checkbox-checked': checked(),\n 'cax-checkbox-indeterminate': indeterminate,\n 'cax-checkbox-disabled': disabled,\n 'cax-checkbox-focused': focused,\n 'cax-variant-filled': variant === 'filled' || config.inputStyle() === 'filled'\n}\"\n [class]=\"styleClass\"\n [attr.data-pc-name]=\"'checkbox'\"\n [attr.data-pc-section]=\"'root'\"\n>\n <div class=\"cax-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-cax-hidden-accessible]=\"true\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n [value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked()\"\n [attr.indeterminate]=\"indeterminate ? 'true' : null\"\n [attr.tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.required]=\"required\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-checked]=\"checked()\"\n (change)=\"handleChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n caxAutoFocus\n [autofocus]=\"autofocus\"\n />\n </div>\n <div\n class=\"cax-checkbox-box\"\n [ngClass]=\"{ 'cax-highlight': checked(), 'cax-disabled': disabled, 'cax-focus': focused,\n 'cax-checkbox-indeterminate': indeterminate, \n 'cax-checkbox-sm': size == 'sm',\n 'cax-checkbox-md': size == 'md',\n 'cax-checkbox-lg': size == 'lg', }\"\n (click)=\"onClick($event, input, true)\"\n [attr.data-cax-highlight]=\"checked()\"\n [attr.data-cax-disabled]=\"disabled\"\n [attr.data-cax-focused]=\"focused\"\n [attr.data-pc-section]=\"'input'\"\n >\n <ng-container *ngIf=\"indeterminate\">\n <span class=\"cax cax-minus cax-checkbox-leaf-indeterminate cax-checkbox-icon\"></span> \n </ng-container>\n <ng-container *ngIf=\"checked() && !indeterminate\">\n <ng-container *ngIf=\"!checkboxIconTemplate\">\n <span *ngIf=\"checkboxIcon\" class=\"cax-checkbox-icon\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\n <!-- <CheckIcon *ngIf=\"!checkboxIcon\" [styleClass]=\"'cax-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" /> -->\n <ng-container *ngIf=\"!checkboxIcon\" >\n <svg\n width=\"11\"\n height=\"10\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"role\"\n >\n <path\n d=\"M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n stroke-width=\"1\"\n />\n </svg>\n\n </ng-container>\n </ng-container>\n <span *ngIf=\"checkboxIconTemplate\" class=\"cax-checkbox-icon\" [attr.data-pc-section]=\"'icon'\">\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </div>\n</div>\n<label\n (click)=\"onClick($event, input, true)\"\n [class]=\"labelStyleClass\"\n [ngClass]=\"{\n 'cax-checkbox-label': true, \n 'cax-checkbox-label-active': checked(), \n 'cax-disabled': disabled, \n 'cax-checkbox-label-focus': focused,\n 'cax-checkbox-label-sm': size === 'sm',\n 'cax-checkbox-label-md': size === 'md',\n 'cax-checkbox-label-lg': size === 'lg'\n }\"\n *ngIf=\"label\"\n [attr.for]=\"inputId\"\n [attr.data-pc-section]=\"'label'\"\n>\n {{ label }}</label\n>\n", styles: ["@layer cax{.cax-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.cax-checkbox-disabled{cursor:default!important;pointer-events:none}.cax-checkbox-box{display:flex;justify-content:center;align-items:center}cax-checkbox{display:inline-flex;vertical-align:bottom;align-items:center}.cax-checkbox-label{line-height:1}}\n"] }]
|
|
250
250
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.caxConfig }], propDecorators: { size: [{
|
|
251
251
|
type: Input
|
|
252
252
|
}], value: [{
|
|
@@ -315,4 +315,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
315
315
|
}], model: [{
|
|
316
316
|
type: Input
|
|
317
317
|
}] } });
|
|
318
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3gudHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixVQUFVLEVBRVYsS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBR04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBR3RELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFRO0lBQ3hDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDdkMsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBQ0Y7OztHQUdHO0FBWUgsTUFBTSxPQUFPLFFBQVE7SUE0SU47SUFDVTtJQUNWO0lBN0lGLElBQUksR0FBdUIsSUFBSSxDQUFDO0lBQ3pDOzs7T0FHRztJQUNNLEtBQUssQ0FBTTtJQUNwQjs7O09BR0c7SUFDTSxJQUFJLENBQXFCO0lBQ2xDOzs7T0FHRztJQUNxQyxRQUFRLENBQXNCO0lBQ3RFOzs7T0FHRztJQUNxQyxNQUFNLENBQXNCO0lBQ3BFOzs7T0FHRztJQUNNLEtBQUssQ0FBcUI7SUFDbkM7OztPQUdHO0lBQ00sY0FBYyxDQUFxQjtJQUM1Qzs7O09BR0c7SUFDTSxTQUFTLENBQXFC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S0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtrQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUtFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS0UsU0FBUztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLN0IsU0FBUztzQkFBakIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFNa0MsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHNUIsbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBTUcsT0FBTztzQkFBaEIsTUFBTTtnQkFNRyxNQUFNO3NCQUFmLE1BQU07Z0JBRWEsY0FBYztzQkFBakMsU0FBUzt1QkFBQyxPQUFPO2dCQUVZLFNBQVM7c0JBQXRDLGVBQWU7dUJBQUMsV0FBVztnQkFJbkIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXhUZW1wbGF0ZSwgY2F4Q29uZmlnIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vYXBpJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vdHMtaGVscGVycyc7XG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL3V0aWxzJztcbmltcG9ydCB7IENoZWNrYm94Q2hhbmdlRXZlbnQgfSBmcm9tICcuL2NoZWNrYm94LmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBDSEVDS0JPWF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94KSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcbi8qKlxuICogQ2hlY2tib3ggaXMgYW4gZXh0ZW5zaW9uIHRvIHN0YW5kYXJkIGNoZWNrYm94IGVsZW1lbnQgd2l0aCB0aGVtaW5nLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXgtY2hlY2tib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtDSEVDS0JPWF9WQUxVRV9BQ0NFU1NPUl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2NheC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3ggaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnID0gJ21kJztcbiAgICAvKipcbiAgICAgKiBWYWx1ZSBvZiB0aGUgY2hlY2tib3guXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBjaGVja2JveCBncm91cC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgZWxlbWVudCBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEFsbG93cyB0byBzZWxlY3QgYSBib29sZWFuIHZhbHVlIGluc3RlYWQgb2YgbXVsdGlwbGUgdmFsdWVzLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBiaW5hcnk6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogTGFiZWwgb2YgdGhlIGNoZWNrYm94LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRXN0YWJsaXNoZXMgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIHRoZSBjb21wb25lbnQgYW5kIGxhYmVsKHMpIHdoZXJlIGl0cyB2YWx1ZSBzaG91bGQgYmUgb25lIG9yIG1vcmUgZWxlbWVudCBJRHMuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXJpYUxhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBVc2VkIHRvIGRlZmluZSBhIHN0cmluZyB0aGF0IGxhYmVscyB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmRleCBvZiB0aGUgZWxlbWVudCBpbiB0YWJiaW5nIG9yZGVyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRhYmluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSWRlbnRpZmllciBvZiB0aGUgZm9jdXMgaW5wdXQgdG8gbWF0Y2ggYSBsYWJlbCBkZWZpbmVkIGZvciB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGlucHV0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgbGFiZWwuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgbGFiZWxTdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRm9ybSBjb250cm9sIHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJY29uIGNsYXNzIG9mIHRoZSBjaGVja2JveCBpY29uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGNoZWNrYm94SWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZW4gcHJlc2VudCwgaXQgc3BlY2lmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCBjYW5ub3QgYmUgZWRpdGVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByZWFkb25seTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGVuIHByZXNlbnQsIGl0IHNwZWNpZmllcyB0aGF0IGNoZWNrYm94IG11c3QgYmUgY2hlY2tlZCBiZWZvcmUgc3VibWl0dGluZyB0aGUgZm9ybS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgY29tcG9uZW50IHNob3VsZCBhdXRvbWF0aWNhbGx5IGdldCBmb2N1cyBvbiBsb2FkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhdXRvZm9jdXM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVmFsdWUgaW4gY2hlY2tlZCBzdGF0ZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0cnVlVmFsdWU6IGFueSA9IHRydWU7XG4gICAgLyoqXG4gICAgICogVmFsdWUgaW4gdW5jaGVja2VkIHN0YXRlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGZhbHNlVmFsdWU6IGFueSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgaW5wdXQgdmFyaWFudCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ291dGxpbmVkJyA9ICdvdXRsaW5lZCc7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIG9uIHZhbHVlIGNoYW5nZS5cbiAgICAgKiBAcGFyYW0ge0NoZWNrYm94Q2hhbmdlRXZlbnR9IGV2ZW50IC0gQ3VzdG9tIHZhbHVlIGNoYW5nZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaW5kZXRlcm1pbmF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gTmV3IGV2ZW50IGVtaXR0ZXIgZm9yIGluZGV0ZXJtaW5hdGUgY2hhbmdlXG4gICAgQE91dHB1dCgpIGluZGV0ZXJtaW5hdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGVja2JveENoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgcmVjZWl2ZXMgZm9jdXMuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgbG9zZXMgZm9jdXMuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dFZpZXdDaGlsZDogTnVsbGFibGU8RWxlbWVudFJlZj47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKENheFRlbXBsYXRlKSB0ZW1wbGF0ZXM6IE51bGxhYmxlPFF1ZXJ5TGlzdDxDYXhUZW1wbGF0ZT4+O1xuXG4gICAgY2hlY2tib3hJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBtb2RlbDogYW55O1xuXG4gICAgb25Nb2RlbENoYW5nZTogRnVuY3Rpb24gPSAoKSA9PiB7fTtcblxuICAgIG9uTW9kZWxUb3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG4gICAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwdWJsaWMgY29uZmlnOiBjYXhDb25maWdcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveEljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKGV2ZW50LCBjaGVja2JveCwgZm9jdXM6IGJvb2xlYW4pIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGV2ZW50KTtcblxuICAgICAgICBpZiAoZm9jdXMpIHtcbiAgICAgICAgICAgIGNoZWNrYm94LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVNb2RlbChldmVudCkge1xuICAgICAgICBsZXQgbmV3TW9kZWxWYWx1ZTtcblxuICAgICAgICAvKlxuICAgICAgICAgKiBXaGVuIGBmb3JtQ29udHJvbE5hbWVgIG9yIGBmb3JtQ29udHJvbGAgaXMgdXNlZCAtIGB3cml0ZVZhbHVlYCBpcyBub3QgY2FsbGVkIGFmdGVyIGNvbnRyb2wgY2hhbmdlcy5cbiAgICAgICAgICogT3RoZXJ3aXNlIGl0IGlzIGNhdXNpbmcgbXVsdGlwbGUgcmVmZXJlbmNlcyB0byB0aGUgYWN0dWFsIHZhbHVlOiB0aGVyZSBpcyBvbmUgYXJyYXkgcmVmZXJlbmNlIGluc2lkZSB0aGUgY29tcG9uZW50IGFuZCBhbm90aGVyIG9uZSBpbiB0aGUgY29udHJvbCB2YWx1ZS5cbiAgICAgICAgICogYHNlbGZDb250cm9sYCBpcyB0aGUgc291cmNlIG9mIHRydXRoIG9mIHJlZmVyZW5jZXMsIGl0IGlzIG1hZGUgdG8gYXZvaWQgcmVmZXJlbmNlIGxvc3MuXG4gICAgICAgICAqICovXG4gICAgICAgIGNvbnN0IHNlbGZDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQ8TmdDb250cm9sIHwgbnVsbD4oTmdDb250cm9sLCBudWxsLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlbFZhbHVlID0gc2VsZkNvbnRyb2wgJiYgIXRoaXMuZm9ybUNvbnRyb2wgPyBzZWxmQ29udHJvbC52YWx1ZSA6IHRoaXMubW9kZWw7XG5cbiAgICAgICAgaWYgKCF0aGlzLmJpbmFyeSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tlZCgpKSBuZXdNb2RlbFZhbHVlID0gY3VycmVudE1vZGVsVmFsdWUuZmlsdGVyKCh2YWwpID0+ICFPYmplY3RVdGlscy5lcXVhbHModmFsLCB0aGlzLnZhbHVlKSk7XG4gICAgICAgICAgICBlbHNlIG5ld01vZGVsVmFsdWUgPSBjdXJyZW50TW9kZWxWYWx1ZSA/IFsuLi5jdXJyZW50TW9kZWxWYWx1ZSwgdGhpcy52YWx1ZV0gOiBbdGhpcy52YWx1ZV07XG5cbiAgICAgICAgICAgIHRoaXMub25Nb2RlbENoYW5nZShuZXdNb2RlbFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMubW9kZWwgPSBuZXdNb2RlbFZhbHVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobmV3TW9kZWxWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pbmRldGVybWluYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7IC8vIFJlc2V0IGluZGV0ZXJtaW5hdGUgc3RhdGUgb24gdXNlciBpbnRlcmFjdGlvblxuICAgICAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoYW5nZS5lbWl0KHRoaXMuaW5kZXRlcm1pbmF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdNb2RlbFZhbHVlID0gdGhpcy5jaGVja2VkKCkgPyB0aGlzLmZhbHNlVmFsdWUgOiB0aGlzLnRydWVWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubW9kZWwgPSBuZXdNb2RlbFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKG5ld01vZGVsVmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgY2hlY2tlZDogbmV3TW9kZWxWYWx1ZSwgb3JpZ2luYWxFdmVudDogZXZlbnQgfSk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RlbChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbklucHV0Rm9jdXMoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uSW5wdXRCbHVyKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIGZvY3VzKCkge1xuICAgICAgICB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG1vZGVsOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsO1xuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hlY2tlZCgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmluZGV0ZXJtaW5hdGUgJiYgKHRoaXMuYmluYXJ5ID8gdGhpcy5tb2RlbCA9PT0gdGhpcy50cnVlVmFsdWUgOiBPYmplY3RVdGlscy5jb250YWlucyh0aGlzLnZhbHVlLCB0aGlzLm1vZGVsKSk7XG4gICAgfVxufVxuIiwiPGRpdlxyXG4gICAgW25nU3R5bGVdPVwic3R5bGVcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgJ2NheC1jaGVja2JveCBjYXgtY29tcG9uZW50JzogdHJ1ZSxcclxuICAgICdjYXgtY2hlY2tib3gtY2hlY2tlZCc6IGNoZWNrZWQoKSxcclxuICAgICdjYXgtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSc6IGluZGV0ZXJtaW5hdGUsXHJcbiAgICAnY2F4LWNoZWNrYm94LWRpc2FibGVkJzogZGlzYWJsZWQsXHJcbiAgICAnY2F4LWNoZWNrYm94LWZvY3VzZWQnOiBmb2N1c2VkLFxyXG4gICAgJ2NheC12YXJpYW50LWZpbGxlZCc6IHZhcmlhbnQgPT09ICdmaWxsZWQnIHx8IGNvbmZpZy5pbnB1dFN0eWxlKCkgPT09ICdmaWxsZWQnXHJcbn1cIlxyXG4gICAgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIlxyXG4gICAgW2F0dHIuZGF0YS1wYy1uYW1lXT1cIidjaGVja2JveCdcIlxyXG4gICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyb290J1wiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXgtaGlkZGVuLWFjY2Vzc2libGVcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2hpZGRlbklucHV0V3JhcHBlcidcIiBbYXR0ci5kYXRhLWNheC1oaWRkZW4tYWNjZXNzaWJsZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICNpbnB1dFxyXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcclxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZCgpXCJcclxuICAgICAgICAgICAgW2F0dHIuaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlID8gJ3RydWUnIDogbnVsbFwiXHJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2VkKClcIlxyXG4gICAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaGlkZGVuSW5wdXQnXCJcclxuICAgICAgICAgICAgY2F4QXV0b0ZvY3VzXHJcbiAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcclxuICAgICAgICAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJjYXgtY2hlY2tib3gtYm94XCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7ICdjYXgtaGlnaGxpZ2h0JzogY2hlY2tlZCgpLCAnY2F4LWRpc2FibGVkJzogZGlzYWJsZWQsICdjYXgtZm9jdXMnOiBmb2N1c2VkLFxyXG4gICAgICAgICdjYXgtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSc6IGluZGV0ZXJtaW5hdGUsIFxyXG4gICAgICAgICdjYXgtY2hlY2tib3gtc20nOiBzaXplID09ICdzbScsXHJcbiAgICAgICAgJ2NheC1jaGVja2JveC1tZCc6IHNpemUgPT0gJ21kJyxcclxuICAgICAgICAnY2F4LWNoZWNrYm94LWxnJzogc2l6ZSA9PSAnbGcnLCB9XCJcclxuICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQsIGlucHV0LCB0cnVlKVwiXHJcbiAgICAgICAgW2F0dHIuZGF0YS1jYXgtaGlnaGxpZ2h0XT1cImNoZWNrZWQoKVwiXHJcbiAgICAgICAgW2F0dHIuZGF0YS1jYXgtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFthdHRyLmRhdGEtY2F4LWZvY3VzZWRdPVwiZm9jdXNlZFwiXHJcbiAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpbnB1dCdcIlxyXG4gICAgPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZGV0ZXJtaW5hdGVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImNheCBjYXgtbWludXMgY2F4LWNoZWNrYm94LWxlYWYtaW5kZXRlcm1pbmF0ZSBjYXgtY2hlY2tib3gtaWNvblwiPjwvc3Bhbj4gIFxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoZWNrZWQoKSAmJiAhaW5kZXRlcm1pbmF0ZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNoZWNrYm94SWNvblRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNoZWNrYm94SWNvblwiIGNsYXNzPVwiY2F4LWNoZWNrYm94LWljb25cIiBbbmdDbGFzc109XCJjaGVja2JveEljb25cIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8Q2hlY2tJY29uICpuZ0lmPVwiIWNoZWNrYm94SWNvblwiIFtzdHlsZUNsYXNzXT1cIidjYXgtY2hlY2tib3gtaWNvbidcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCIgLz4gLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNoZWNrYm94SWNvblwiID5cclxuICAgICAgICAgICAgICAgICAgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICB3aWR0aD1cIjExXCJcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTBcIlxyXG4gICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCJcclxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuXCJcclxuICAgICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCJyb2xlXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTQuODYxOTkgMTEuNTk0OEM0Ljc4NzE3IDExLjU5MjMgNC43MTM2NiAxMS41NzQ1IDQuNjQ1OTYgMTEuNTQyNkM0LjU3ODI2IDExLjUxMDcgNC41MTc3OSAxMS40NjUyIDQuNDY4MjcgMTEuNDA5MUwwLjc1Mzk4NSA3LjY5NDgzQzAuNjgzMTY3IDcuNjQ4OTEgMC42MjM3MDYgNy41ODc1MSAwLjU4MDA5MiA3LjUxNTI1QzAuNTM2NDc4IDcuNDQyOTkgMC41MDk4NTEgNy4zNjE3NyAwLjUwMjIyMSA3LjI3NzcxQzAuNDk0NTkgNy4xOTM2NiAwLjUwNjE1NiA3LjEwODk3IDAuNTM2MDQ2IDcuMDMwMDRDMC41NjU5MzUgNi45NTExMSAwLjYxMzM2NyA2Ljg4IDAuNjc0NzU5IDYuODIyMDhDMC43MzYxNTEgNi43NjQxNiAwLjgwOTkgNi43MjA5NSAwLjg5MDQzNiA2LjY5NTcxQzAuOTcwOTczIDYuNjcwNDYgMS4wNTYxOSA2LjY2Mzg1IDEuMTM5NjYgNi42NzYzNUMxLjIyMzEzIDYuNjg4ODYgMS4zMDI2NiA2LjcyMDE3IDEuMzcyMjYgNi43Njc5MkMxLjQ0MTg2IDYuODE1NjcgMS40OTk3IDYuODc4NiAxLjU0MTQxIDYuOTUxOTdMNC44NjE5OSAxMC4yNTAzTDEyLjYzOTcgMi40OTQ4M0MxMi43NDQ0IDIuNDI2OTQgMTIuODY4OSAyLjM5NjE3IDEyLjk5MzIgMi40MDc0NUMxMy4xMTc0IDIuNDE4NzMgMTMuMjM0MyAyLjQ3MTQxIDEzLjMyNTEgMi41NTcwNUMxMy40MTU5IDIuNjQyNjggMTMuNDc1MyAyLjc1NjMyIDEzLjQ5MzggMi44Nzk3M0MxMy41MTIzIDMuMDAzMTUgMTMuNDg4OCAzLjEyOTIgMTMuNDI3MSAzLjIzNzY4TDUuMjU1NyAxMS40MDkxQzUuMjA2MTggMTEuNDY1MiA1LjE0NTcxIDExLjUxMDcgNS4wNzgwMSAxMS41NDI2QzUuMDEwMzEgMTEuNTc0NSA0LjkzNjggMTEuNTkyMyA0Ljg2MTk5IDExLjU5NDhaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjaGVja2JveEljb25UZW1wbGF0ZVwiIGNsYXNzPVwiY2F4LWNoZWNrYm94LWljb25cIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjaGVja2JveEljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGxhYmVsXHJcbiAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQsIGlucHV0LCB0cnVlKVwiXHJcbiAgICBbY2xhc3NdPVwibGFiZWxTdHlsZUNsYXNzXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAnY2F4LWNoZWNrYm94LWxhYmVsJzogdHJ1ZSwgXHJcbiAgICAgICAgJ2NheC1jaGVja2JveC1sYWJlbC1hY3RpdmUnOiBjaGVja2VkKCksIFxyXG4gICAgICAgICdjYXgtZGlzYWJsZWQnOiBkaXNhYmxlZCwgXHJcbiAgICAgICAgJ2NheC1jaGVja2JveC1sYWJlbC1mb2N1cyc6IGZvY3VzZWQsXHJcbiAgICAgICAgJ2NheC1jaGVja2JveC1sYWJlbC1zbSc6IHNpemUgPT09ICdzbScsXHJcbiAgICAgICAgJ2NheC1jaGVja2JveC1sYWJlbC1tZCc6IHNpemUgPT09ICdtZCcsXHJcbiAgICAgICAgJ2NheC1jaGVja2JveC1sYWJlbC1sZyc6IHNpemUgPT09ICdsZydcclxuICAgICAgfVwiXHJcbiAgICAqbmdJZj1cImxhYmVsXCJcclxuICAgIFthdHRyLmZvcl09XCJpbnB1dElkXCJcclxuICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInbGFiZWwnXCJcclxuPlxyXG4gICAge3sgbGFiZWwgfX08L2xhYmVsXHJcbj5cclxuIl19
|
|
318
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3gudHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixVQUFVLEVBRVYsS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBR04sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBR3RELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFRO0lBQ3hDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDdkMsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBQ0Y7OztHQUdHO0FBWUgsTUFBTSxPQUFPLFFBQVE7SUE0SU47SUFDVTtJQUNWO0lBN0lGLElBQUksR0FBdUIsSUFBSSxDQUFDO0lBQ3pDOzs7T0FHRztJQUNNLEtBQUssQ0FBTTtJQUNwQjs7O09BR0c7SUFDTSxJQUFJLENBQXFCO0lBQ2xDOzs7T0FHRztJQUNxQyxRQUFRLENBQXNCO0lBQ3RFOzs7T0FHRztJQUNxQyxNQUFNLENBQXNCO0lBQ3BFOzs7T0FHRztJQUNNLEtBQUssQ0FBcUI7SUFDbkM7OztPQUdHO0lBQ00sY0FBYyxDQUFxQjtJQUM1Qzs7O09BR0c7SUFDTSxTQUFTLENBQXFC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S0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtrQyxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUtFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS0UsU0FBUztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLN0IsU0FBUztzQkFBakIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFNa0MsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHNUIsbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBTUcsT0FBTztzQkFBaEIsTUFBTTtnQkFNRyxNQUFNO3NCQUFmLE1BQU07Z0JBRWEsY0FBYztzQkFBakMsU0FBUzt1QkFBQyxPQUFPO2dCQUVZLFNBQVM7c0JBQXRDLGVBQWU7dUJBQUMsV0FBVztnQkFJbkIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXhUZW1wbGF0ZSwgY2F4Q29uZmlnIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vYXBpJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vdHMtaGVscGVycyc7XG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL3V0aWxzJztcbmltcG9ydCB7IENoZWNrYm94Q2hhbmdlRXZlbnQgfSBmcm9tICcuL2NoZWNrYm94LmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBDSEVDS0JPWF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94KSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcbi8qKlxuICogQ2hlY2tib3ggaXMgYW4gZXh0ZW5zaW9uIHRvIHN0YW5kYXJkIGNoZWNrYm94IGVsZW1lbnQgd2l0aCB0aGVtaW5nLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXgtY2hlY2tib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtDSEVDS0JPWF9WQUxVRV9BQ0NFU1NPUl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2NheC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3ggaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnID0gJ21kJztcbiAgICAvKipcbiAgICAgKiBWYWx1ZSBvZiB0aGUgY2hlY2tib3guXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBjaGVja2JveCBncm91cC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgZWxlbWVudCBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEFsbG93cyB0byBzZWxlY3QgYSBib29sZWFuIHZhbHVlIGluc3RlYWQgb2YgbXVsdGlwbGUgdmFsdWVzLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBiaW5hcnk6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogTGFiZWwgb2YgdGhlIGNoZWNrYm94LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRXN0YWJsaXNoZXMgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIHRoZSBjb21wb25lbnQgYW5kIGxhYmVsKHMpIHdoZXJlIGl0cyB2YWx1ZSBzaG91bGQgYmUgb25lIG9yIG1vcmUgZWxlbWVudCBJRHMuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXJpYUxhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBVc2VkIHRvIGRlZmluZSBhIHN0cmluZyB0aGF0IGxhYmVscyB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmRleCBvZiB0aGUgZWxlbWVudCBpbiB0YWJiaW5nIG9yZGVyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRhYmluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSWRlbnRpZmllciBvZiB0aGUgZm9jdXMgaW5wdXQgdG8gbWF0Y2ggYSBsYWJlbCBkZWZpbmVkIGZvciB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGlucHV0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgbGFiZWwuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgbGFiZWxTdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRm9ybSBjb250cm9sIHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJY29uIGNsYXNzIG9mIHRoZSBjaGVja2JveCBpY29uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGNoZWNrYm94SWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZW4gcHJlc2VudCwgaXQgc3BlY2lmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCBjYW5ub3QgYmUgZWRpdGVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByZWFkb25seTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGVuIHByZXNlbnQsIGl0IHNwZWNpZmllcyB0aGF0IGNoZWNrYm94IG11c3QgYmUgY2hlY2tlZCBiZWZvcmUgc3VibWl0dGluZyB0aGUgZm9ybS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCBpdCBzcGVjaWZpZXMgdGhhdCB0aGUgY29tcG9uZW50IHNob3VsZCBhdXRvbWF0aWNhbGx5IGdldCBmb2N1cyBvbiBsb2FkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhdXRvZm9jdXM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVmFsdWUgaW4gY2hlY2tlZCBzdGF0ZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0cnVlVmFsdWU6IGFueSA9IHRydWU7XG4gICAgLyoqXG4gICAgICogVmFsdWUgaW4gdW5jaGVja2VkIHN0YXRlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGZhbHNlVmFsdWU6IGFueSA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgaW5wdXQgdmFyaWFudCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ291dGxpbmVkJyA9ICdvdXRsaW5lZCc7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIG9uIHZhbHVlIGNoYW5nZS5cbiAgICAgKiBAcGFyYW0ge0NoZWNrYm94Q2hhbmdlRXZlbnR9IGV2ZW50IC0gQ3VzdG9tIHZhbHVlIGNoYW5nZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaW5kZXRlcm1pbmF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLy8gTmV3IGV2ZW50IGVtaXR0ZXIgZm9yIGluZGV0ZXJtaW5hdGUgY2hhbmdlXG4gICAgQE91dHB1dCgpIGluZGV0ZXJtaW5hdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGVja2JveENoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgcmVjZWl2ZXMgZm9jdXMuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgbG9zZXMgZm9jdXMuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dFZpZXdDaGlsZDogTnVsbGFibGU8RWxlbWVudFJlZj47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKENheFRlbXBsYXRlKSB0ZW1wbGF0ZXM6IE51bGxhYmxlPFF1ZXJ5TGlzdDxDYXhUZW1wbGF0ZT4+O1xuXG4gICAgY2hlY2tib3hJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBtb2RlbDogYW55O1xuXG4gICAgb25Nb2RlbENoYW5nZTogRnVuY3Rpb24gPSAoKSA9PiB7fTtcblxuICAgIG9uTW9kZWxUb3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG4gICAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwdWJsaWMgY29uZmlnOiBjYXhDb25maWdcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveEljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKGV2ZW50LCBjaGVja2JveCwgZm9jdXM6IGJvb2xlYW4pIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGV2ZW50KTtcblxuICAgICAgICBpZiAoZm9jdXMpIHtcbiAgICAgICAgICAgIGNoZWNrYm94LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVNb2RlbChldmVudCkge1xuICAgICAgICBsZXQgbmV3TW9kZWxWYWx1ZTtcblxuICAgICAgICAvKlxuICAgICAgICAgKiBXaGVuIGBmb3JtQ29udHJvbE5hbWVgIG9yIGBmb3JtQ29udHJvbGAgaXMgdXNlZCAtIGB3cml0ZVZhbHVlYCBpcyBub3QgY2FsbGVkIGFmdGVyIGNvbnRyb2wgY2hhbmdlcy5cbiAgICAgICAgICogT3RoZXJ3aXNlIGl0IGlzIGNhdXNpbmcgbXVsdGlwbGUgcmVmZXJlbmNlcyB0byB0aGUgYWN0dWFsIHZhbHVlOiB0aGVyZSBpcyBvbmUgYXJyYXkgcmVmZXJlbmNlIGluc2lkZSB0aGUgY29tcG9uZW50IGFuZCBhbm90aGVyIG9uZSBpbiB0aGUgY29udHJvbCB2YWx1ZS5cbiAgICAgICAgICogYHNlbGZDb250cm9sYCBpcyB0aGUgc291cmNlIG9mIHRydXRoIG9mIHJlZmVyZW5jZXMsIGl0IGlzIG1hZGUgdG8gYXZvaWQgcmVmZXJlbmNlIGxvc3MuXG4gICAgICAgICAqICovXG4gICAgICAgIGNvbnN0IHNlbGZDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQ8TmdDb250cm9sIHwgbnVsbD4oTmdDb250cm9sLCBudWxsLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRNb2RlbFZhbHVlID0gc2VsZkNvbnRyb2wgJiYgIXRoaXMuZm9ybUNvbnRyb2wgPyBzZWxmQ29udHJvbC52YWx1ZSA6IHRoaXMubW9kZWw7XG5cbiAgICAgICAgaWYgKCF0aGlzLmJpbmFyeSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tlZCgpKSBuZXdNb2RlbFZhbHVlID0gY3VycmVudE1vZGVsVmFsdWUuZmlsdGVyKCh2YWwpID0+ICFPYmplY3RVdGlscy5lcXVhbHModmFsLCB0aGlzLnZhbHVlKSk7XG4gICAgICAgICAgICBlbHNlIG5ld01vZGVsVmFsdWUgPSBjdXJyZW50TW9kZWxWYWx1ZSA/IFsuLi5jdXJyZW50TW9kZWxWYWx1ZSwgdGhpcy52YWx1ZV0gOiBbdGhpcy52YWx1ZV07XG5cbiAgICAgICAgICAgIHRoaXMub25Nb2RlbENoYW5nZShuZXdNb2RlbFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMubW9kZWwgPSBuZXdNb2RlbFZhbHVlO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobmV3TW9kZWxWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pbmRldGVybWluYXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7IC8vIFJlc2V0IGluZGV0ZXJtaW5hdGUgc3RhdGUgb24gdXNlciBpbnRlcmFjdGlvblxuICAgICAgICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoYW5nZS5lbWl0KHRoaXMuaW5kZXRlcm1pbmF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdNb2RlbFZhbHVlID0gdGhpcy5jaGVja2VkKCkgPyB0aGlzLmZhbHNlVmFsdWUgOiB0aGlzLnRydWVWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubW9kZWwgPSBuZXdNb2RlbFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlKG5ld01vZGVsVmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgY2hlY2tlZDogbmV3TW9kZWxWYWx1ZSwgb3JpZ2luYWxFdmVudDogZXZlbnQgfSk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RlbChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbklucHV0Rm9jdXMoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uSW5wdXRCbHVyKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIGZvY3VzKCkge1xuICAgICAgICB0aGlzLmlucHV0Vmlld0NoaWxkLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG1vZGVsOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsO1xuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hlY2tlZCgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmluZGV0ZXJtaW5hdGUgJiYgKHRoaXMuYmluYXJ5ID8gdGhpcy5tb2RlbCA9PT0gdGhpcy50cnVlVmFsdWUgOiBPYmplY3RVdGlscy5jb250YWlucyh0aGlzLnZhbHVlLCB0aGlzLm1vZGVsKSk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIFtuZ1N0eWxlXT1cInN0eWxlXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgJ2NheC1jaGVja2JveCBjYXgtY29tcG9uZW50JzogdHJ1ZSxcbiAgICAnY2F4LWNoZWNrYm94LWNoZWNrZWQnOiBjaGVja2VkKCksXG4gICAgJ2NheC1jaGVja2JveC1pbmRldGVybWluYXRlJzogaW5kZXRlcm1pbmF0ZSxcbiAgICAnY2F4LWNoZWNrYm94LWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ2NheC1jaGVja2JveC1mb2N1c2VkJzogZm9jdXNlZCxcbiAgICAnY2F4LXZhcmlhbnQtZmlsbGVkJzogdmFyaWFudCA9PT0gJ2ZpbGxlZCcgfHwgY29uZmlnLmlucHV0U3R5bGUoKSA9PT0gJ2ZpbGxlZCdcbn1cIlxuICAgIFtjbGFzc109XCJzdHlsZUNsYXNzXCJcbiAgICBbYXR0ci5kYXRhLXBjLW5hbWVdPVwiJ2NoZWNrYm94J1wiXG4gICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyb290J1wiXG4+XG4gICAgPGRpdiBjbGFzcz1cImNheC1oaWRkZW4tYWNjZXNzaWJsZVwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaGlkZGVuSW5wdXRXcmFwcGVyJ1wiIFthdHRyLmRhdGEtY2F4LWhpZGRlbi1hY2Nlc3NpYmxlXT1cInRydWVcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgIFthdHRyLmlkXT1cImlucHV0SWRcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZCgpXCJcbiAgICAgICAgICAgIFthdHRyLmluZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZSA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jaGVja2VkXT1cImNoZWNrZWQoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaGlkZGVuSW5wdXQnXCJcbiAgICAgICAgICAgIGNheEF1dG9Gb2N1c1xuICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjYXgtY2hlY2tib3gtYm94XCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnY2F4LWhpZ2hsaWdodCc6IGNoZWNrZWQoKSwgJ2NheC1kaXNhYmxlZCc6IGRpc2FibGVkLCAnY2F4LWZvY3VzJzogZm9jdXNlZCxcbiAgICAgICAgJ2NheC1jaGVja2JveC1pbmRldGVybWluYXRlJzogaW5kZXRlcm1pbmF0ZSwgXG4gICAgICAgICdjYXgtY2hlY2tib3gtc20nOiBzaXplID09ICdzbScsXG4gICAgICAgICdjYXgtY2hlY2tib3gtbWQnOiBzaXplID09ICdtZCcsXG4gICAgICAgICdjYXgtY2hlY2tib3gtbGcnOiBzaXplID09ICdsZycsIH1cIlxuICAgICAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQsIGlucHV0LCB0cnVlKVwiXG4gICAgICAgIFthdHRyLmRhdGEtY2F4LWhpZ2hsaWdodF09XCJjaGVja2VkKClcIlxuICAgICAgICBbYXR0ci5kYXRhLWNheC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmRhdGEtY2F4LWZvY3VzZWRdPVwiZm9jdXNlZFwiXG4gICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaW5wdXQnXCJcbiAgICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZGV0ZXJtaW5hdGVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXggY2F4LW1pbnVzIGNheC1jaGVja2JveC1sZWFmLWluZGV0ZXJtaW5hdGUgY2F4LWNoZWNrYm94LWljb25cIj48L3NwYW4+ICBcbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoZWNrZWQoKSAmJiAhaW5kZXRlcm1pbmF0ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjaGVja2JveEljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hlY2tib3hJY29uXCIgY2xhc3M9XCJjYXgtY2hlY2tib3gtaWNvblwiIFtuZ0NsYXNzXT1cImNoZWNrYm94SWNvblwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaWNvbidcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPCEtLSA8Q2hlY2tJY29uICpuZ0lmPVwiIWNoZWNrYm94SWNvblwiIFtzdHlsZUNsYXNzXT1cIidjYXgtY2hlY2tib3gtaWNvbidcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCIgLz4gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjaGVja2JveEljb25cIiA+XG4gICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICB3aWR0aD1cIjExXCJcbiAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjEwXCJcbiAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTQgMTRcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgZD1cIk00Ljg2MTk5IDExLjU5NDhDNC43ODcxNyAxMS41OTIzIDQuNzEzNjYgMTEuNTc0NSA0LjY0NTk2IDExLjU0MjZDNC41NzgyNiAxMS41MTA3IDQuNTE3NzkgMTEuNDY1MiA0LjQ2ODI3IDExLjQwOTFMMC43NTM5ODUgNy42OTQ4M0MwLjY4MzE2NyA3LjY0ODkxIDAuNjIzNzA2IDcuNTg3NTEgMC41ODAwOTIgNy41MTUyNUMwLjUzNjQ3OCA3LjQ0Mjk5IDAuNTA5ODUxIDcuMzYxNzcgMC41MDIyMjEgNy4yNzc3MUMwLjQ5NDU5IDcuMTkzNjYgMC41MDYxNTYgNy4xMDg5NyAwLjUzNjA0NiA3LjAzMDA0QzAuNTY1OTM1IDYuOTUxMTEgMC42MTMzNjcgNi44OCAwLjY3NDc1OSA2LjgyMjA4QzAuNzM2MTUxIDYuNzY0MTYgMC44MDk5IDYuNzIwOTUgMC44OTA0MzYgNi42OTU3MUMwLjk3MDk3MyA2LjY3MDQ2IDEuMDU2MTkgNi42NjM4NSAxLjEzOTY2IDYuNjc2MzVDMS4yMjMxMyA2LjY4ODg2IDEuMzAyNjYgNi43MjAxNyAxLjM3MjI2IDYuNzY3OTJDMS40NDE4NiA2LjgxNTY3IDEuNDk5NyA2Ljg3ODYgMS41NDE0MSA2Ljk1MTk3TDQuODYxOTkgMTAuMjUwM0wxMi42Mzk3IDIuNDk0ODNDMTIuNzQ0NCAyLjQyNjk0IDEyLjg2ODkgMi4zOTYxNyAxMi45OTMyIDIuNDA3NDVDMTMuMTE3NCAyLjQxODczIDEzLjIzNDMgMi40NzE0MSAxMy4zMjUxIDIuNTU3MDVDMTMuNDE1OSAyLjY0MjY4IDEzLjQ3NTMgMi43NTYzMiAxMy40OTM4IDIuODc5NzNDMTMuNTEyMyAzLjAwMzE1IDEzLjQ4ODggMy4xMjkyIDEzLjQyNzEgMy4yMzc2OEw1LjI1NTcgMTEuNDA5MUM1LjIwNjE4IDExLjQ2NTIgNS4xNDU3MSAxMS41MTA3IDUuMDc4MDEgMTEuNTQyNkM1LjAxMDMxIDExLjU3NDUgNC45MzY4IDExLjU5MjMgNC44NjE5OSAxMS41OTQ4WlwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hlY2tib3hJY29uVGVtcGxhdGVcIiBjbGFzcz1cImNheC1jaGVja2JveC1pY29uXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNoZWNrYm94SWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxsYWJlbFxuICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudCwgaW5wdXQsIHRydWUpXCJcbiAgICBbY2xhc3NdPVwibGFiZWxTdHlsZUNsYXNzXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdjYXgtY2hlY2tib3gtbGFiZWwnOiB0cnVlLCBcbiAgICAgICAgJ2NheC1jaGVja2JveC1sYWJlbC1hY3RpdmUnOiBjaGVja2VkKCksIFxuICAgICAgICAnY2F4LWRpc2FibGVkJzogZGlzYWJsZWQsIFxuICAgICAgICAnY2F4LWNoZWNrYm94LWxhYmVsLWZvY3VzJzogZm9jdXNlZCxcbiAgICAgICAgJ2NheC1jaGVja2JveC1sYWJlbC1zbSc6IHNpemUgPT09ICdzbScsXG4gICAgICAgICdjYXgtY2hlY2tib3gtbGFiZWwtbWQnOiBzaXplID09PSAnbWQnLFxuICAgICAgICAnY2F4LWNoZWNrYm94LWxhYmVsLWxnJzogc2l6ZSA9PT0gJ2xnJ1xuICAgICAgfVwiXG4gICAgKm5nSWY9XCJsYWJlbFwiXG4gICAgW2F0dHIuZm9yXT1cImlucHV0SWRcIlxuICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInbGFiZWwnXCJcbj5cbiAgICB7eyBsYWJlbCB9fTwvbGFiZWxcbj5cbiJdfQ==
|
package/esm2022/chip/chip.mjs
CHANGED
|
@@ -51,13 +51,13 @@ export class Chip {
|
|
|
51
51
|
this.onImageError.emit(event);
|
|
52
52
|
}
|
|
53
53
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Chip, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Chip, selector: "cax-chip", inputs: { label: "label", icon: "icon", image: "image", alt: "alt", style: "style", styleClass: "styleClass", removable: ["removable", "removable", booleanAttribute], removeIcon: "removeIcon", size: "size", severity: "severity" }, outputs: { onRemove: "onRemove", onImageError: "onImageError" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div\
|
|
54
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: Chip, selector: "cax-chip", inputs: { label: "label", icon: "icon", image: "image", alt: "alt", style: "style", styleClass: "styleClass", removable: ["removable", "removable", booleanAttribute], removeIcon: "removeIcon", size: "size", severity: "severity" }, outputs: { onRemove: "onRemove", onImageError: "onImageError" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div\n [ngClass]=\"containerClass()\"\n [class]=\"styleClass\"\n [ngStyle]=\"style\"\n *ngIf=\"visible\"\n [attr.data-pc-name]=\"'chip'\"\n [attr.aria-label]=\"label\"\n [attr.data-pc-section]=\"'root'\"\n>\n <ng-content></ng-content>\n <img [src]=\"image\" *ngIf=\"image; else iconTemplate\" (error)=\"imageError($event)\" [alt]=\"alt\" />\n <ng-template #iconTemplate>\n <span *ngIf=\"icon\" [class]=\"icon\" [ngClass]=\"'cax-chip-icon'\" [attr.data-pc-section]=\"'icon'\"></span>\n </ng-template>\n <div class=\"-chip-text\" *ngIf=\"label\" [attr.data-pc-section]=\"'label'\">{{ label }}</div>\n <ng-container *ngIf=\"removable\">\n <ng-container *ngIf=\"!removeIconTemplate\">\n <span\n tabindex=\"0\"\n *ngIf=\"removeIcon\"\n [class]=\"removeIcon\"\n [ngClass]=\"'cax-chip-remove-icon'\"\n [attr.data-pc-section]=\"'removeicon'\"\n (click)=\"close($event)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"removeAriaLabel\"\n role=\"button\"\n ></span>\n <TimesCircleIcon\n tabindex=\"0\"\n *ngIf=\"!removeIcon\"\n [class]=\"'cax-chip-remove-icon'\"\n [attr.data-pc-section]=\"'removeicon'\"\n (click)=\"close($event)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"removeAriaLabel\"\n role=\"button\"\n />\n </ng-container>\n <span\n *ngIf=\"removeIconTemplate\"\n tabindex=\"0\"\n [attr.data-pc-section]=\"'removeicon'\"\n class=\"cax-chip-remove-icon\"\n (click)=\"close($event)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"removeAriaLabel\"\n role=\"button\"\n >\n <ng-template *ngTemplateOutlet=\"removeIconTemplate\"></ng-template>\n </span>\n </ng-container>\n</div>\n", styles: ["@layer cax{.cax-chip{display:inline-flex;align-items:center}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.TimesCircleIcon, selector: "TimesCircleIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
55
55
|
}
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Chip, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
58
|
args: [{ selector: 'cax-chip', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
59
59
|
class: 'cax-element'
|
|
60
|
-
}, template: "<div\
|
|
60
|
+
}, template: "<div\n [ngClass]=\"containerClass()\"\n [class]=\"styleClass\"\n [ngStyle]=\"style\"\n *ngIf=\"visible\"\n [attr.data-pc-name]=\"'chip'\"\n [attr.aria-label]=\"label\"\n [attr.data-pc-section]=\"'root'\"\n>\n <ng-content></ng-content>\n <img [src]=\"image\" *ngIf=\"image; else iconTemplate\" (error)=\"imageError($event)\" [alt]=\"alt\" />\n <ng-template #iconTemplate>\n <span *ngIf=\"icon\" [class]=\"icon\" [ngClass]=\"'cax-chip-icon'\" [attr.data-pc-section]=\"'icon'\"></span>\n </ng-template>\n <div class=\"-chip-text\" *ngIf=\"label\" [attr.data-pc-section]=\"'label'\">{{ label }}</div>\n <ng-container *ngIf=\"removable\">\n <ng-container *ngIf=\"!removeIconTemplate\">\n <span\n tabindex=\"0\"\n *ngIf=\"removeIcon\"\n [class]=\"removeIcon\"\n [ngClass]=\"'cax-chip-remove-icon'\"\n [attr.data-pc-section]=\"'removeicon'\"\n (click)=\"close($event)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"removeAriaLabel\"\n role=\"button\"\n ></span>\n <TimesCircleIcon\n tabindex=\"0\"\n *ngIf=\"!removeIcon\"\n [class]=\"'cax-chip-remove-icon'\"\n [attr.data-pc-section]=\"'removeicon'\"\n (click)=\"close($event)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"removeAriaLabel\"\n role=\"button\"\n />\n </ng-container>\n <span\n *ngIf=\"removeIconTemplate\"\n tabindex=\"0\"\n [attr.data-pc-section]=\"'removeicon'\"\n class=\"cax-chip-remove-icon\"\n (click)=\"close($event)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"removeAriaLabel\"\n role=\"button\"\n >\n <ng-template *ngTemplateOutlet=\"removeIconTemplate\"></ng-template>\n </span>\n </ng-container>\n</div>\n", styles: ["@layer cax{.cax-chip{display:inline-flex;align-items:center}}\n"] }]
|
|
61
61
|
}], propDecorators: { label: [{
|
|
62
62
|
type: Input
|
|
63
63
|
}], icon: [{
|
|
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
87
87
|
type: ContentChildren,
|
|
88
88
|
args: [CaxTemplate]
|
|
89
89
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jaGlwL2NoaXAudHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY2hpcC9jaGlwLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUEwQix1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeE0sT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFjaEYsTUFBTSxPQUFPLElBQUk7SUFDSixLQUFLLENBQXFCO0lBQzFCLElBQUksQ0FBcUI7SUFDekIsS0FBSyxDQUFxQjtJQUMxQixHQUFHLENBQXFCO0lBQ3hCLEtBQUssQ0FBOEM7SUFDbkQsVUFBVSxDQUFxQjtJQUNBLFNBQVMsR0FBd0IsS0FBSyxDQUFDO0lBQ3RFLFVBQVUsQ0FBcUI7SUFDL0IsSUFBSSxHQUF1QixJQUFJLENBQUM7SUFDaEMsUUFBUSxHQUFpQixTQUFTLENBQUM7SUFDbEMsUUFBUSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO0lBQ3BFLFlBQVksR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQUN4RSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNCLE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDeEIsa0JBQWtCLENBQStCO0lBRWpELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFNkIsU0FBUyxDQUFxQztJQUU1RSxrQkFBa0I7UUFDYixJQUFJLENBQUMsU0FBb0MsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN4RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDNUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPO1lBQ0gsd0JBQXdCLEVBQUUsSUFBSTtZQUM5QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUk7WUFDcEMsQ0FBQyxZQUFZLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUM5QyxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJO1NBQ3pDLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVk7UUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFtQixDQUFDLENBQUMsQ0FBQyxxREFBcUQ7SUFDbEcsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFvQjtRQUMxQixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7dUdBckRRLElBQUk7MkZBQUosSUFBSSw0S0FPTyxnQkFBZ0IsK05BY25CLFdBQVcsNkJDcENoQyxxeURBcURBOzsyRkR0Q2EsSUFBSTtrQkFWaEIsU0FBUzsrQkFDSSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsS0FBSyxFQUFFLGFBQWE7cUJBQ3ZCOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDa0MsU0FBUztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBU3VCLFNBQVM7c0JBQXRDLGVBQWU7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0LCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjYXhDb25maWcsIENheFRlbXBsYXRlLCBUcmFuc2xhdGlvbktleXMgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9hcGknO1xuXG50eXBlIENoaXBTZXZlcml0eSA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXgtY2hpcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoaXAuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hpcC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnY2F4LWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBDaGlwIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgaW1hZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBhbHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlbW92YWJsZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlbW92ZUljb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ21kJyB8ICdsZycgPSAnbWQnO1xuICAgIEBJbnB1dCgpIHNldmVyaXR5OiBDaGlwU2V2ZXJpdHkgPSAncHJpbWFyeSc7XG4gICAgQE91dHB1dCgpIG9uUmVtb3ZlOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG9uSW1hZ2VFcnJvcjogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gICAgY29uZmlnID0gaW5qZWN0KGNheENvbmZpZyk7XG4gICAgdmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XG4gICAgcmVtb3ZlSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgZ2V0IHJlbW92ZUFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5BUklBKVsncmVtb3ZlTGFiZWwnXTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkcmVuKENheFRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxDYXhUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgICh0aGlzLnRlbXBsYXRlcyBhcyBRdWVyeUxpc3Q8Q2F4VGVtcGxhdGU+KS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5nZXRUeXBlKCkgPT09ICdyZW1vdmVpY29uJykge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlSWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29udGFpbmVyQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnY2F4LWNoaXAgY2F4LWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICAgICAnY2F4LWNoaXAtaW1hZ2UnOiB0aGlzLmltYWdlICE9IG51bGwsXG4gICAgICAgICAgICBbYGNheC1jaGlwLSR7dGhpcy5zZXZlcml0eX1gXTogISF0aGlzLnNldmVyaXR5LFxuICAgICAgICAgICAgW2BjYXgtY2hpcC0ke3RoaXMuc2l6ZX1gXTogISF0aGlzLnNpemVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjbG9zZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMub25SZW1vdmUuZW1pdChldmVudCBhcyBNb3VzZUV2ZW50KTsgLy8gQ2FzdCBpZiBuZWNlc3NhcnkgZm9yIE1vdXNlRXZlbnQtc3BlY2lmaWMgaGFuZGxlcnNcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltYWdlRXJyb3IoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMub25JbWFnZUVycm9yLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3MoKVwiXG4gIFtjbGFzc109XCJzdHlsZUNsYXNzXCJcbiAgW25nU3R5bGVdPVwic3R5bGVcIlxuICAqbmdJZj1cInZpc2libGVcIlxuICBbYXR0ci5kYXRhLXBjLW5hbWVdPVwiJ2NoaXAnXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiXG4gIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCIncm9vdCdcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxpbWcgW3NyY109XCJpbWFnZVwiICpuZ0lmPVwiaW1hZ2U7IGVsc2UgaWNvblRlbXBsYXRlXCIgKGVycm9yKT1cImltYWdlRXJyb3IoJGV2ZW50KVwiIFthbHRdPVwiYWx0XCIgLz5cbiAgPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGU+XG4gICAgPHNwYW4gKm5nSWY9XCJpY29uXCIgW2NsYXNzXT1cImljb25cIiBbbmdDbGFzc109XCInY2F4LWNoaXAtaWNvbidcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCI+PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiLWNoaXAtdGV4dFwiICpuZ0lmPVwibGFiZWxcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2xhYmVsJ1wiPnt7IGxhYmVsIH19PC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZW1vdmFibGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlbW92ZUljb25UZW1wbGF0ZVwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKm5nSWY9XCJyZW1vdmVJY29uXCJcbiAgICAgICAgW2NsYXNzXT1cInJlbW92ZUljb25cIlxuICAgICAgICBbbmdDbGFzc109XCInY2F4LWNoaXAtcmVtb3ZlLWljb24nXCJcbiAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyZW1vdmVpY29uJ1wiXG4gICAgICAgIChjbGljayk9XCJjbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlbW92ZUFyaWFMYWJlbFwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgPjwvc3Bhbj5cbiAgICAgIDxUaW1lc0NpcmNsZUljb25cbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKm5nSWY9XCIhcmVtb3ZlSWNvblwiXG4gICAgICAgIFtjbGFzc109XCInY2F4LWNoaXAtcmVtb3ZlLWljb24nXCJcbiAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyZW1vdmVpY29uJ1wiXG4gICAgICAgIChjbGljayk9XCJjbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlbW92ZUFyaWFMYWJlbFwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8c3BhblxuICAgICAgKm5nSWY9XCJyZW1vdmVJY29uVGVtcGxhdGVcIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCIncmVtb3ZlaWNvbidcIlxuICAgICAgY2xhc3M9XCJjYXgtY2hpcC1yZW1vdmUtaWNvblwiXG4gICAgICAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlbW92ZUFyaWFMYWJlbFwiXG4gICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW1vdmVJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|