primeng 18.0.0-rc.2 → 18.0.1
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/LICENSE.md +1 -1
- package/accordion/accordion.d.ts +7 -7
- package/autocomplete/autocomplete.d.ts +26 -13
- package/badge/badge.d.ts +1 -3
- package/basecomponent/basecomponent.d.ts +2 -5
- package/blockui/blockui.d.ts +10 -5
- package/breadcrumb/breadcrumb.d.ts +9 -6
- package/button/button.d.ts +10 -4
- package/calendar/calendar.d.ts +29 -15
- package/card/card.d.ts +12 -5
- package/carousel/carousel.d.ts +10 -4
- package/cascadeselect/cascadeselect.d.ts +18 -8
- package/checkbox/checkbox.d.ts +8 -4
- package/chip/chip.d.ts +9 -7
- package/config/primeng.d.ts +12 -6
- package/config/provideprimeng.d.ts +1 -12
- package/config/themeprovider.d.ts +10 -4
- package/confirmdialog/confirmdialog.d.ts +15 -5
- package/confirmpopup/confirmpopup.d.ts +11 -5
- package/contextmenu/contextmenu.d.ts +10 -6
- package/datepicker/datepicker.d.ts +25 -11
- package/dialog/dialog.d.ts +15 -4
- package/divider/divider.d.ts +1 -1
- package/dock/dock.d.ts +7 -4
- package/drawer/drawer.d.ts +18 -10
- package/dropdown/dropdown.d.ts +4 -3
- package/dynamicdialog/dynamicdialog.d.ts +1 -0
- package/editor/editor.d.ts +7 -3
- package/esm2022/accordion/accordion.mjs +58 -43
- package/esm2022/autocomplete/autocomplete.mjs +227 -168
- package/esm2022/autocomplete/style/autocompletestyle.mjs +5 -4
- package/esm2022/badge/badge.mjs +39 -32
- package/esm2022/basecomponent/basecomponent.mjs +3 -26
- package/esm2022/blockui/blockui.mjs +38 -18
- package/esm2022/breadcrumb/breadcrumb.mjs +50 -32
- package/esm2022/button/button.mjs +55 -28
- package/esm2022/calendar/calendar.mjs +200 -137
- package/esm2022/card/card.mjs +96 -46
- package/esm2022/carousel/carousel.mjs +74 -42
- package/esm2022/cascadeselect/cascadeselect.mjs +100 -62
- package/esm2022/checkbox/checkbox.mjs +32 -14
- package/esm2022/chip/chip.mjs +117 -96
- package/esm2022/colorpicker/colorpicker.mjs +2 -2
- package/esm2022/config/primeng.mjs +14 -18
- package/esm2022/config/provideprimeng.mjs +11 -3
- package/esm2022/config/themeprovider.mjs +10 -16
- package/esm2022/confirmdialog/confirmdialog.mjs +105 -61
- package/esm2022/confirmpopup/confirmpopup.mjs +57 -29
- package/esm2022/contextmenu/contextmenu.mjs +52 -21
- package/esm2022/datepicker/datepicker.mjs +200 -159
- package/esm2022/dialog/dialog.mjs +113 -67
- package/esm2022/divider/divider.mjs +2 -4
- package/esm2022/dock/dock.mjs +31 -13
- package/esm2022/drawer/drawer.mjs +115 -73
- package/esm2022/dropdown/dropdown.mjs +13 -5
- package/esm2022/dynamicdialog/dialogservice.mjs +2 -2
- package/esm2022/dynamicdialog/dynamicdialog-config.mjs +13 -13
- package/esm2022/dynamicdialog/dynamicdialog.mjs +9 -5
- package/esm2022/editor/editor.mjs +27 -11
- package/esm2022/fieldset/fieldset.mjs +61 -33
- package/esm2022/fileupload/fileupload.mjs +139 -89
- package/esm2022/galleria/galleria.mjs +18 -9
- package/esm2022/image/image.mjs +114 -67
- package/esm2022/imagecompare/imagecompare.mjs +31 -11
- package/esm2022/inplace/inplace.mjs +49 -24
- package/esm2022/inputmask/inputmask.mjs +33 -17
- package/esm2022/inputmask/style/inputmaskstyle.mjs +2 -2
- package/esm2022/inputnumber/inputnumber.mjs +58 -50
- package/esm2022/inputotp/inputotp.mjs +33 -14
- package/esm2022/inputtext/inputtext.mjs +11 -10
- package/esm2022/listbox/listbox.mjs +137 -78
- package/esm2022/megamenu/megamenu.mjs +105 -59
- package/esm2022/menu/menu.mjs +27 -27
- package/esm2022/menubar/menubar.mjs +70 -35
- package/esm2022/message/message.mjs +50 -26
- package/esm2022/messages/messages.mjs +13 -4
- package/esm2022/metergroup/metergroup.mjs +63 -31
- package/esm2022/multiselect/multiselect.mjs +247 -156
- package/esm2022/multiselect/style/multiselectstyle.mjs +1 -4
- package/esm2022/orderlist/orderlist.mjs +125 -70
- package/esm2022/organizationchart/organizationchart.mjs +30 -14
- package/esm2022/overlay/overlay.mjs +27 -7
- package/esm2022/overlay/style/overlaystyle.mjs +2 -2
- package/esm2022/overlaypanel/overlaypanel.mjs +34 -11
- package/esm2022/paginator/paginator.mjs +92 -60
- package/esm2022/panel/panel.mjs +160 -100
- package/esm2022/panelmenu/panelmenu.mjs +55 -32
- package/esm2022/password/password.mjs +114 -52
- package/esm2022/picklist/picklist.mjs +397 -269
- package/esm2022/popover/popover.mjs +30 -13
- package/esm2022/progressbar/progressbar.mjs +27 -9
- package/esm2022/rating/rating.mjs +46 -22
- package/esm2022/ripple/ripple.mjs +5 -2
- package/esm2022/scroller/scroller.mjs +47 -37
- package/esm2022/scrollpanel/scrollpanel.mjs +28 -9
- package/esm2022/scrolltop/scrolltop.mjs +17 -10
- package/esm2022/select/select.mjs +202 -122
- package/esm2022/select/style/selectstyle.mjs +2 -5
- package/esm2022/selectbutton/selectbutton.mjs +26 -11
- package/esm2022/sidebar/sidebar.mjs +83 -61
- package/esm2022/speeddial/speeddial.mjs +54 -29
- package/esm2022/splitbutton/splitbutton.mjs +41 -18
- package/esm2022/splitter/splitter.mjs +29 -19
- package/esm2022/splitter/style/splitterstyle.mjs +5 -4
- package/esm2022/stepper/stepper.mjs +27 -13
- package/esm2022/table/table.mjs +6368 -6510
- package/esm2022/tabmenu/tabmenu.mjs +54 -27
- package/esm2022/tabs/tablist.mjs +28 -20
- package/esm2022/tabview/tabview.mjs +106 -54
- package/esm2022/tag/tag.mjs +68 -44
- package/esm2022/textarea/textarea.mjs +9 -9
- package/esm2022/tieredmenu/tieredmenu.mjs +45 -22
- package/esm2022/timeline/timeline.mjs +41 -17
- package/esm2022/toast/toast.mjs +31 -9
- package/esm2022/togglebutton/togglebutton.mjs +45 -30
- package/esm2022/toggleswitch/toggleswitch.mjs +28 -9
- package/esm2022/toolbar/toolbar.mjs +47 -21
- package/esm2022/tooltip/tooltip.mjs +36 -71
- package/esm2022/tree/style/treestyle.mjs +13 -3
- package/esm2022/tree/tree.mjs +193 -137
- package/esm2022/treeselect/style/treeselectstyle.mjs +1 -4
- package/esm2022/treeselect/treeselect.mjs +157 -90
- package/esm2022/treetable/treetable.mjs +31 -12
- package/esm2022/usestyle/usestyle.mjs +2 -2
- package/fesm2022/primeng-accordion.mjs +57 -42
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +230 -170
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs +38 -31
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +2 -25
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-blockui.mjs +37 -17
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +49 -31
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +54 -27
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-calendar.mjs +199 -136
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +95 -45
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +73 -41
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +99 -61
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +31 -13
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +116 -95
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +1 -1
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +38 -39
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +104 -60
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +56 -28
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +51 -20
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +199 -158
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +112 -66
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +1 -3
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +30 -12
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs +114 -72
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +12 -4
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +21 -17
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +26 -10
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +60 -32
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +138 -88
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +17 -8
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +113 -66
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +30 -10
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +48 -23
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +33 -17
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +57 -49
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +32 -13
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +10 -9
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +136 -77
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +104 -58
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +26 -26
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +69 -34
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +49 -25
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-messages.mjs +12 -3
- package/fesm2022/primeng-messages.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +62 -30
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +246 -158
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +124 -69
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +29 -13
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +27 -7
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaypanel.mjs +33 -10
- package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +91 -59
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +159 -99
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +54 -31
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +113 -51
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +396 -268
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +29 -12
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +26 -8
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +45 -21
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +4 -1
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +46 -36
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +27 -8
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +16 -9
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +202 -125
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +25 -10
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +82 -60
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +53 -28
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +40 -17
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +32 -21
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +26 -12
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +6370 -6512
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabmenu.mjs +53 -26
- package/fesm2022/primeng-tabmenu.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +27 -19
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs +106 -54
- package/fesm2022/primeng-tabview.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +67 -43
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +8 -8
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +44 -21
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +40 -16
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +30 -8
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +44 -29
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +27 -8
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +46 -20
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +36 -71
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +204 -138
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +156 -92
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +30 -11
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +1 -1
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fieldset/fieldset.d.ts +12 -6
- package/fileupload/fileupload.d.ts +19 -8
- package/galleria/galleria.d.ts +3 -2
- package/image/image.d.ts +18 -7
- package/imagecompare/imagecompare.d.ts +7 -2
- package/inplace/inplace.d.ts +12 -6
- package/inputmask/inputmask.d.ts +8 -4
- package/inputnumber/inputnumber.d.ts +11 -6
- package/inputotp/inputotp.d.ts +7 -2
- package/inputtext/inputtext.d.ts +2 -2
- package/listbox/listbox.d.ts +17 -4
- package/megamenu/megamenu.d.ts +16 -7
- package/menu/menu.d.ts +6 -6
- package/menubar/menubar.d.ts +13 -6
- package/message/message.d.ts +10 -4
- package/messages/messages.d.ts +4 -3
- package/metergroup/metergroup.d.ts +11 -3
- package/multiselect/multiselect.d.ts +36 -17
- package/orderlist/orderlist.d.ts +23 -11
- package/organizationchart/organizationchart.d.ts +6 -4
- package/overlay/overlay.d.ts +6 -3
- package/overlaypanel/overlaypanel.d.ts +6 -3
- package/package.json +233 -233
- package/paginator/paginator.d.ts +15 -8
- package/panel/panel.d.ts +14 -5
- package/panelmenu/panelmenu.d.ts +8 -4
- package/password/password.d.ts +20 -8
- package/picklist/picklist.d.ts +23 -3
- package/popover/popover.d.ts +8 -5
- package/progressbar/progressbar.d.ts +7 -3
- package/rating/rating.d.ts +11 -5
- package/scroller/scroller.d.ts +9 -4
- package/scrollpanel/scrollpanel.d.ts +7 -3
- package/scrolltop/scrolltop.d.ts +7 -4
- package/select/select.d.ts +31 -13
- package/selectbutton/selectbutton.d.ts +7 -3
- package/sidebar/sidebar.d.ts +9 -2
- package/speeddial/speeddial.d.ts +9 -4
- package/splitbutton/splitbutton.d.ts +9 -5
- package/splitter/splitter.d.ts +6 -7
- package/splitter/style/splitterstyle.d.ts +0 -13
- package/stepper/stepper.d.ts +8 -3
- package/table/table.d.ts +928 -1030
- package/tabmenu/tabmenu.d.ts +12 -7
- package/tabs/tablist.d.ts +6 -2
- package/tabview/tabview.d.ts +16 -7
- package/tag/tag.d.ts +8 -9
- package/textarea/textarea.d.ts +2 -2
- package/tieredmenu/tieredmenu.d.ts +10 -6
- package/timeline/timeline.d.ts +7 -2
- package/toast/toast.d.ts +7 -3
- package/togglebutton/togglebutton.d.ts +8 -3
- package/toggleswitch/toggleswitch.d.ts +6 -2
- package/toolbar/toolbar.d.ts +9 -4
- package/tooltip/tooltip.d.ts +2 -1
- package/tree/style/treestyle.d.ts +1 -1
- package/tree/tree.d.ts +25 -10
- package/treeselect/treeselect.d.ts +26 -12
- package/treetable/treetable.d.ts +7 -5
package/esm2022/chip/chip.mjs
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
2
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, EventEmitter, inject, Input, NgModule, Output, ViewEncapsulation } from '@angular/core';
|
3
|
-
import { SharedModule, TranslationKeys } from 'primeng/api';
|
2
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, inject, Input, NgModule, Output, ViewEncapsulation } from '@angular/core';
|
3
|
+
import { PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';
|
4
4
|
import { BaseComponent } from 'primeng/basecomponent';
|
5
5
|
import { TimesCircleIcon } from 'primeng/icons';
|
6
6
|
import { ChipStyle } from './style/chipstyle';
|
@@ -8,115 +8,97 @@ import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/common";
|
9
9
|
const _c0 = ["removeicon"];
|
10
10
|
const _c1 = ["*"];
|
11
|
-
function
|
11
|
+
function Chip_img_1_Template(rf, ctx) { if (rf & 1) {
|
12
12
|
const _r1 = i0.ɵɵgetCurrentView();
|
13
|
-
i0.ɵɵelementStart(0, "img",
|
14
|
-
i0.ɵɵlistener("error", function
|
13
|
+
i0.ɵɵelementStart(0, "img", 4);
|
14
|
+
i0.ɵɵlistener("error", function Chip_img_1_Template_img_error_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.imageError($event)); });
|
15
15
|
i0.ɵɵelementEnd();
|
16
16
|
} if (rf & 2) {
|
17
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
17
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
18
18
|
i0.ɵɵproperty("src", ctx_r1.image, i0.ɵɵsanitizeUrl)("alt", ctx_r1.alt);
|
19
19
|
} }
|
20
|
-
function
|
21
|
-
i0.ɵɵelement(0, "span",
|
20
|
+
function Chip_ng_template_2_span_0_Template(rf, ctx) { if (rf & 1) {
|
21
|
+
i0.ɵɵelement(0, "span", 6);
|
22
22
|
} if (rf & 2) {
|
23
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
23
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
24
24
|
i0.ɵɵclassMap(ctx_r1.icon);
|
25
25
|
i0.ɵɵproperty("ngClass", "p-chip-icon");
|
26
26
|
i0.ɵɵattribute("data-pc-section", "icon");
|
27
27
|
} }
|
28
|
-
function
|
29
|
-
i0.ɵɵtemplate(0,
|
28
|
+
function Chip_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
29
|
+
i0.ɵɵtemplate(0, Chip_ng_template_2_span_0_Template, 1, 4, "span", 5);
|
30
30
|
} if (rf & 2) {
|
31
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
31
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
32
32
|
i0.ɵɵproperty("ngIf", ctx_r1.icon);
|
33
33
|
} }
|
34
|
-
function
|
35
|
-
i0.ɵɵelementStart(0, "div",
|
34
|
+
function Chip_div_4_Template(rf, ctx) { if (rf & 1) {
|
35
|
+
i0.ɵɵelementStart(0, "div", 7);
|
36
36
|
i0.ɵɵtext(1);
|
37
37
|
i0.ɵɵelementEnd();
|
38
38
|
} if (rf & 2) {
|
39
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
39
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
40
40
|
i0.ɵɵattribute("data-pc-section", "label");
|
41
41
|
i0.ɵɵadvance();
|
42
42
|
i0.ɵɵtextInterpolate(ctx_r1.label);
|
43
43
|
} }
|
44
|
-
function
|
44
|
+
function Chip_ng_container_5_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
|
45
45
|
const _r3 = i0.ɵɵgetCurrentView();
|
46
|
-
i0.ɵɵelementStart(0, "span",
|
47
|
-
i0.ɵɵlistener("click", function
|
46
|
+
i0.ɵɵelementStart(0, "span", 11);
|
47
|
+
i0.ɵɵlistener("click", function Chip_ng_container_5_ng_container_1_span_1_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.close($event)); })("keydown", function Chip_ng_container_5_ng_container_1_span_1_Template_span_keydown_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onKeydown($event)); });
|
48
48
|
i0.ɵɵelementEnd();
|
49
49
|
} if (rf & 2) {
|
50
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
50
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
51
51
|
i0.ɵɵclassMap(ctx_r1.removeIcon);
|
52
52
|
i0.ɵɵproperty("ngClass", "p-chip-remove-icon");
|
53
53
|
i0.ɵɵattribute("data-pc-section", "removeicon")("aria-label", ctx_r1.removeAriaLabel);
|
54
54
|
} }
|
55
|
-
function
|
55
|
+
function Chip_ng_container_5_ng_container_1_TimesCircleIcon_2_Template(rf, ctx) { if (rf & 1) {
|
56
56
|
const _r4 = i0.ɵɵgetCurrentView();
|
57
|
-
i0.ɵɵelementStart(0, "TimesCircleIcon",
|
58
|
-
i0.ɵɵlistener("click", function
|
57
|
+
i0.ɵɵelementStart(0, "TimesCircleIcon", 12);
|
58
|
+
i0.ɵɵlistener("click", function Chip_ng_container_5_ng_container_1_TimesCircleIcon_2_Template_TimesCircleIcon_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.close($event)); })("keydown", function Chip_ng_container_5_ng_container_1_TimesCircleIcon_2_Template_TimesCircleIcon_keydown_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onKeydown($event)); });
|
59
59
|
i0.ɵɵelementEnd();
|
60
60
|
} if (rf & 2) {
|
61
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
61
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
62
62
|
i0.ɵɵclassMap("p-chip-remove-icon");
|
63
63
|
i0.ɵɵattribute("data-pc-section", "removeicon")("aria-label", ctx_r1.removeAriaLabel);
|
64
64
|
} }
|
65
|
-
function
|
65
|
+
function Chip_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
66
66
|
i0.ɵɵelementContainerStart(0);
|
67
|
-
i0.ɵɵtemplate(1,
|
67
|
+
i0.ɵɵtemplate(1, Chip_ng_container_5_ng_container_1_span_1_Template, 1, 5, "span", 9)(2, Chip_ng_container_5_ng_container_1_TimesCircleIcon_2_Template, 1, 4, "TimesCircleIcon", 10);
|
68
68
|
i0.ɵɵelementContainerEnd();
|
69
69
|
} if (rf & 2) {
|
70
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
70
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
71
71
|
i0.ɵɵadvance();
|
72
72
|
i0.ɵɵproperty("ngIf", ctx_r1.removeIcon);
|
73
73
|
i0.ɵɵadvance();
|
74
74
|
i0.ɵɵproperty("ngIf", !ctx_r1.removeIcon);
|
75
75
|
} }
|
76
|
-
function
|
77
|
-
function
|
78
|
-
i0.ɵɵtemplate(0,
|
76
|
+
function Chip_ng_container_5_span_2_1_ng_template_0_Template(rf, ctx) { }
|
77
|
+
function Chip_ng_container_5_span_2_1_Template(rf, ctx) { if (rf & 1) {
|
78
|
+
i0.ɵɵtemplate(0, Chip_ng_container_5_span_2_1_ng_template_0_Template, 0, 0, "ng-template");
|
79
79
|
} }
|
80
|
-
function
|
80
|
+
function Chip_ng_container_5_span_2_Template(rf, ctx) { if (rf & 1) {
|
81
81
|
const _r5 = i0.ɵɵgetCurrentView();
|
82
|
-
i0.ɵɵelementStart(0, "span",
|
83
|
-
i0.ɵɵlistener("click", function
|
84
|
-
i0.ɵɵtemplate(1,
|
82
|
+
i0.ɵɵelementStart(0, "span", 13);
|
83
|
+
i0.ɵɵlistener("click", function Chip_ng_container_5_span_2_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.close($event)); })("keydown", function Chip_ng_container_5_span_2_Template_span_keydown_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onKeydown($event)); });
|
84
|
+
i0.ɵɵtemplate(1, Chip_ng_container_5_span_2_1_Template, 1, 0, null, 14);
|
85
85
|
i0.ɵɵelementEnd();
|
86
86
|
} if (rf & 2) {
|
87
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
87
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
88
88
|
i0.ɵɵattribute("data-pc-section", "removeicon")("aria-label", ctx_r1.removeAriaLabel);
|
89
89
|
i0.ɵɵadvance();
|
90
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.
|
90
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.removeIconTemplate || ctx_r1._removeIconTemplate);
|
91
91
|
} }
|
92
|
-
function
|
92
|
+
function Chip_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
93
93
|
i0.ɵɵelementContainerStart(0);
|
94
|
-
i0.ɵɵtemplate(1,
|
94
|
+
i0.ɵɵtemplate(1, Chip_ng_container_5_ng_container_1_Template, 3, 2, "ng-container", 3)(2, Chip_ng_container_5_span_2_Template, 2, 3, "span", 8);
|
95
95
|
i0.ɵɵelementContainerEnd();
|
96
96
|
} if (rf & 2) {
|
97
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
98
|
-
i0.ɵɵadvance();
|
99
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.removeicon);
|
100
|
-
i0.ɵɵadvance();
|
101
|
-
i0.ɵɵproperty("ngIf", ctx_r1.removeicon);
|
102
|
-
} }
|
103
|
-
function Chip_div_0_Template(rf, ctx) { if (rf & 1) {
|
104
|
-
i0.ɵɵelementStart(0, "div", 2);
|
105
|
-
i0.ɵɵprojection(1);
|
106
|
-
i0.ɵɵtemplate(2, Chip_div_0_img_2_Template, 1, 2, "img", 3)(3, Chip_div_0_ng_template_3_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(5, Chip_div_0_div_5_Template, 2, 2, "div", 4)(6, Chip_div_0_ng_container_6_Template, 3, 2, "ng-container", 5);
|
107
|
-
i0.ɵɵelementEnd();
|
108
|
-
} if (rf & 2) {
|
109
|
-
const iconTemplate_r6 = i0.ɵɵreference(4);
|
110
97
|
const ctx_r1 = i0.ɵɵnextContext();
|
111
|
-
i0.ɵɵclassMap(ctx_r1.styleClass);
|
112
|
-
i0.ɵɵproperty("ngClass", ctx_r1.containerClass())("ngStyle", ctx_r1.style);
|
113
|
-
i0.ɵɵattribute("data-pc-name", "chip")("aria-label", ctx_r1.label)("data-pc-section", "root");
|
114
|
-
i0.ɵɵadvance(2);
|
115
|
-
i0.ɵɵproperty("ngIf", ctx_r1.image)("ngIfElse", iconTemplate_r6);
|
116
|
-
i0.ɵɵadvance(3);
|
117
|
-
i0.ɵɵproperty("ngIf", ctx_r1.label);
|
118
98
|
i0.ɵɵadvance();
|
119
|
-
i0.ɵɵproperty("ngIf", ctx_r1.
|
99
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.removeIconTemplate && !ctx_r1._removeIconTemplate);
|
100
|
+
i0.ɵɵadvance();
|
101
|
+
i0.ɵɵproperty("ngIf", ctx_r1.removeIconTemplate || ctx_r1._removeIconTemplate);
|
120
102
|
} }
|
121
103
|
/**
|
122
104
|
* Chip represents people using icons, labels and images.
|
@@ -195,7 +177,21 @@ export class Chip extends BaseComponent {
|
|
195
177
|
}
|
196
178
|
_chipProps;
|
197
179
|
_componentStyle = inject(ChipStyle);
|
198
|
-
|
180
|
+
removeIconTemplate;
|
181
|
+
templates;
|
182
|
+
_removeIconTemplate;
|
183
|
+
ngAfterContentInit() {
|
184
|
+
this.templates.forEach((item) => {
|
185
|
+
switch (item.getType()) {
|
186
|
+
case 'removeicon':
|
187
|
+
this._removeIconTemplate = item.template;
|
188
|
+
break;
|
189
|
+
default:
|
190
|
+
this._removeIconTemplate = item.template;
|
191
|
+
break;
|
192
|
+
}
|
193
|
+
});
|
194
|
+
}
|
199
195
|
ngOnChanges(simpleChanges) {
|
200
196
|
super.ngOnChanges(simpleChanges);
|
201
197
|
if (simpleChanges.chipProps && simpleChanges.chipProps.currentValue) {
|
@@ -227,9 +223,11 @@ export class Chip extends BaseComponent {
|
|
227
223
|
}
|
228
224
|
}
|
229
225
|
containerClass() {
|
230
|
-
|
231
|
-
|
232
|
-
|
226
|
+
let classes = 'p-chip p-component';
|
227
|
+
if (this.styleClass) {
|
228
|
+
classes += ` ${this.styleClass}`;
|
229
|
+
}
|
230
|
+
return classes;
|
233
231
|
}
|
234
232
|
close(event) {
|
235
233
|
this.visible = false;
|
@@ -245,16 +243,30 @@ export class Chip extends BaseComponent {
|
|
245
243
|
}
|
246
244
|
static ɵfac = /*@__PURE__*/ (() => { let ɵChip_BaseFactory; return function Chip_Factory(__ngFactoryType__) { return (ɵChip_BaseFactory || (ɵChip_BaseFactory = i0.ɵɵgetInheritedFactory(Chip)))(__ngFactoryType__ || Chip); }; })();
|
247
245
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Chip, selectors: [["p-chip"]], contentQueries: function Chip_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
248
|
-
i0.ɵɵcontentQuery(dirIndex, _c0,
|
246
|
+
i0.ɵɵcontentQuery(dirIndex, _c0, 4);
|
247
|
+
i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
|
249
248
|
} if (rf & 2) {
|
250
249
|
let _t;
|
251
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.
|
252
|
-
|
250
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.removeIconTemplate = _t.first);
|
251
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
|
252
|
+
} }, hostVars: 9, hostBindings: function Chip_HostBindings(rf, ctx) { if (rf & 2) {
|
253
|
+
i0.ɵɵattribute("data-pc-name", "chip")("aria-label", ctx.label)("data-pc-section", "root");
|
254
|
+
i0.ɵɵstyleMap(ctx.style);
|
255
|
+
i0.ɵɵclassMap(ctx.containerClass());
|
256
|
+
i0.ɵɵstyleProp("display", !ctx.visible && "none");
|
257
|
+
} }, inputs: { label: "label", icon: "icon", image: "image", alt: "alt", style: "style", styleClass: "styleClass", removable: [2, "removable", "removable", booleanAttribute], removeIcon: "removeIcon", chipProps: "chipProps" }, outputs: { onRemove: "onRemove", onImageError: "onImageError" }, standalone: true, features: [i0.ɵɵProvidersFeature([ChipStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c1, decls: 6, vars: 4, consts: [["iconTemplate", ""], ["class", "p-chip-image", 3, "src", "alt", "error", 4, "ngIf", "ngIfElse"], ["class", "p-chip-label", 4, "ngIf"], [4, "ngIf"], [1, "p-chip-image", 3, "error", "src", "alt"], [3, "class", "ngClass", 4, "ngIf"], [3, "ngClass"], [1, "p-chip-label"], ["tabindex", "0", "class", "p-chip-remove-icon", "role", "button", 3, "click", "keydown", 4, "ngIf"], ["tabindex", "0", "role", "button", 3, "class", "ngClass", "click", "keydown", 4, "ngIf"], ["tabindex", "0", "role", "button", 3, "class", "click", "keydown", 4, "ngIf"], ["tabindex", "0", "role", "button", 3, "click", "keydown", "ngClass"], ["tabindex", "0", "role", "button", 3, "click", "keydown"], ["tabindex", "0", "role", "button", 1, "p-chip-remove-icon", 3, "click", "keydown"], [4, "ngTemplateOutlet"]], template: function Chip_Template(rf, ctx) { if (rf & 1) {
|
253
258
|
i0.ɵɵprojectionDef();
|
254
|
-
i0.ɵɵ
|
259
|
+
i0.ɵɵprojection(0);
|
260
|
+
i0.ɵɵtemplate(1, Chip_img_1_Template, 1, 2, "img", 1)(2, Chip_ng_template_2_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor)(4, Chip_div_4_Template, 2, 2, "div", 2)(5, Chip_ng_container_5_Template, 3, 2, "ng-container", 3);
|
255
261
|
} if (rf & 2) {
|
256
|
-
i0.ɵɵ
|
257
|
-
|
262
|
+
const iconTemplate_r6 = i0.ɵɵreference(3);
|
263
|
+
i0.ɵɵadvance();
|
264
|
+
i0.ɵɵproperty("ngIf", ctx.image)("ngIfElse", iconTemplate_r6);
|
265
|
+
i0.ɵɵadvance(3);
|
266
|
+
i0.ɵɵproperty("ngIf", ctx.label);
|
267
|
+
i0.ɵɵadvance();
|
268
|
+
i0.ɵɵproperty("ngIf", ctx.removable);
|
269
|
+
} }, dependencies: [CommonModule, i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, TimesCircleIcon, SharedModule], encapsulation: 2, changeDetection: 0 });
|
258
270
|
}
|
259
271
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Chip, [{
|
260
272
|
type: Component,
|
@@ -263,35 +275,41 @@ export class Chip extends BaseComponent {
|
|
263
275
|
standalone: true,
|
264
276
|
imports: [CommonModule, TimesCircleIcon, SharedModule],
|
265
277
|
template: `
|
266
|
-
<
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
<ng-container *ngIf="
|
272
|
-
<
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
<TimesCircleIcon tabindex="0" *ngIf="!removeIcon" [class]="'p-chip-remove-icon'" [attr.data-pc-section]="'removeicon'" (click)="close($event)" (keydown)="onKeydown($event)" [attr.aria-label]="removeAriaLabel" role="button" />
|
285
|
-
</ng-container>
|
286
|
-
<span *ngIf="removeicon" tabindex="0" [attr.data-pc-section]="'removeicon'" class="p-chip-remove-icon" (click)="close($event)" (keydown)="onKeydown($event)" [attr.aria-label]="removeAriaLabel" role="button">
|
287
|
-
<ng-template *ngTemplateOutlet="removeicon"></ng-template>
|
288
|
-
</span>
|
278
|
+
<ng-content></ng-content>
|
279
|
+
<img class="p-chip-image" [src]="image" *ngIf="image; else iconTemplate" (error)="imageError($event)" [alt]="alt" />
|
280
|
+
<ng-template #iconTemplate><span *ngIf="icon" [class]="icon" [ngClass]="'p-chip-icon'" [attr.data-pc-section]="'icon'"></span></ng-template>
|
281
|
+
<div class="p-chip-label" *ngIf="label" [attr.data-pc-section]="'label'">{{ label }}</div>
|
282
|
+
<ng-container *ngIf="removable">
|
283
|
+
<ng-container *ngIf="!removeIconTemplate && !_removeIconTemplate">
|
284
|
+
<span
|
285
|
+
tabindex="0"
|
286
|
+
*ngIf="removeIcon"
|
287
|
+
[class]="removeIcon"
|
288
|
+
[ngClass]="'p-chip-remove-icon'"
|
289
|
+
[attr.data-pc-section]="'removeicon'"
|
290
|
+
(click)="close($event)"
|
291
|
+
(keydown)="onKeydown($event)"
|
292
|
+
[attr.aria-label]="removeAriaLabel"
|
293
|
+
role="button"
|
294
|
+
></span>
|
295
|
+
<TimesCircleIcon tabindex="0" *ngIf="!removeIcon" [class]="'p-chip-remove-icon'" [attr.data-pc-section]="'removeicon'" (click)="close($event)" (keydown)="onKeydown($event)" [attr.aria-label]="removeAriaLabel" role="button" />
|
289
296
|
</ng-container>
|
290
|
-
|
297
|
+
<span *ngIf="removeIconTemplate || _removeIconTemplate" tabindex="0" [attr.data-pc-section]="'removeicon'" class="p-chip-remove-icon" (click)="close($event)" (keydown)="onKeydown($event)" [attr.aria-label]="removeAriaLabel" role="button">
|
298
|
+
<ng-template *ngTemplateOutlet="removeIconTemplate || _removeIconTemplate"></ng-template>
|
299
|
+
</span>
|
300
|
+
</ng-container>
|
291
301
|
`,
|
292
302
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
293
303
|
encapsulation: ViewEncapsulation.None,
|
294
|
-
providers: [ChipStyle]
|
304
|
+
providers: [ChipStyle],
|
305
|
+
host: {
|
306
|
+
'[class]': 'containerClass()',
|
307
|
+
'[style]': 'style',
|
308
|
+
'[style.display]': '!visible && "none"',
|
309
|
+
'[attr.data-pc-name]': "'chip'",
|
310
|
+
'[attr.aria-label]': 'label',
|
311
|
+
'[attr.data-pc-section]': "'root'"
|
312
|
+
}
|
295
313
|
}]
|
296
314
|
}], null, { label: [{
|
297
315
|
type: Input
|
@@ -316,9 +334,12 @@ export class Chip extends BaseComponent {
|
|
316
334
|
type: Output
|
317
335
|
}], chipProps: [{
|
318
336
|
type: Input
|
319
|
-
}],
|
337
|
+
}], removeIconTemplate: [{
|
320
338
|
type: ContentChild,
|
321
|
-
args: ['removeicon']
|
339
|
+
args: ['removeicon', { descendants: false }]
|
340
|
+
}], templates: [{
|
341
|
+
type: ContentChildren,
|
342
|
+
args: [PrimeTemplate]
|
322
343
|
}] }); })();
|
323
344
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Chip, { className: "Chip" }); })();
|
324
345
|
export class ChipModule {
|
@@ -334,4 +355,4 @@ export class ChipModule {
|
|
334
355
|
}]
|
335
356
|
}], null, null); })();
|
336
357
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ChipModule, { imports: [Chip, SharedModule], exports: [Chip, SharedModule] }); })();
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jaGlwL2NoaXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQThCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pNLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztJQWFsQyw4QkFBb0g7SUFBM0MsMEtBQVMseUJBQWtCLEtBQUM7SUFBckcsaUJBQW9IOzs7SUFBZCxBQUE1RSxvREFBYSxtQkFBMEU7OztJQUN0RiwwQkFBbUc7OztJQUFoRiwwQkFBYztJQUFDLHVDQUF5Qjs7OztJQUEzRCwyRUFBNEY7OztJQUFyRixrQ0FBVTs7O0lBQzVDLDhCQUF5RTtJQUFBLFlBQVc7SUFBQSxpQkFBTTs7OztJQUFqQixjQUFXO0lBQVgsa0NBQVc7Ozs7SUFHNUUsZ0NBVUM7SUFIRyxBQURBLDBNQUFTLG9CQUFhLEtBQUMsaU1BQ1osd0JBQWlCLEtBQUM7SUFHaEMsaUJBQU87OztJQVBKLGdDQUFvQjtJQUNwQiw4Q0FBZ0M7Ozs7O0lBT3BDLDJDQUFpTztJQUFsRixBQUF4QixnT0FBUyxvQkFBYSxLQUFDLHVOQUFZLHdCQUFpQixLQUFDO0lBQTVLLGlCQUFpTzs7O0lBQS9LLG1DQUE4Qjs7OztJQVpwRiw2QkFBa0M7SUFZOUIsQUFYQSw0RkFVQyxxR0FDZ087Ozs7SUFUNU4sY0FBZ0I7SUFBaEIsd0NBQWdCO0lBU1UsY0FBaUI7SUFBakIseUNBQWlCOzs7O0lBR2hELGdHQUE0Qzs7OztJQURoRCxnQ0FBK007SUFBaEYsQUFBeEIsMkxBQVMsb0JBQWEsS0FBQyxrTEFBWSx3QkFBaUIsS0FBQztJQUN4Siw2RUFBNEM7SUFDaEQsaUJBQU87Ozs7SUFEVyxjQUE0QjtJQUE1QixvREFBNEI7OztJQWhCbEQsNkJBQWdDO0lBZTVCLEFBZEEsNEZBQWtDLGdFQWM2Szs7OztJQWRoTSxjQUFpQjtJQUFqQix5Q0FBaUI7SUFjekIsY0FBZ0I7SUFBaEIsd0NBQWdCOzs7SUFwQi9CLDhCQUFnTDtJQUM1SyxrQkFBeUI7SUFJekIsQUFEQSxBQURBLEFBREEsMkRBQW9ILCtGQUN6Riw4Q0FDOEMsZ0VBQ3pDO0lBbUJwQyxpQkFBTTs7OztJQXhCNEIsZ0NBQW9CO0lBQUMsQUFBbEQsaURBQTRCLHlCQUF1Qzs7SUFFM0IsZUFBYTtJQUFBLEFBQWIsbUNBQWEsNkJBQWlCO0lBRTVDLGVBQVc7SUFBWCxtQ0FBVztJQUN2QixjQUFlO0lBQWYsdUNBQWU7O0FBZDFDOzs7R0FHRztBQW9DSCxNQUFNLE9BQU8sSUFBSyxTQUFRLGFBQWE7SUFDbkM7OztPQUdHO0lBQ00sS0FBSyxDQUFxQjtJQUNuQzs7O09BR0c7SUFDTSxJQUFJLENBQXFCO0lBQ2xDOzs7T0FHRztJQUNNLEtBQUssQ0FBcUI7SUFDbkM7OztPQUdHO0lBQ00sR0FBRyxDQUFxQjtJQUNqQzs7O09BR0c7SUFDTSxLQUFLLENBQThDO0lBQzVEOzs7T0FHRztJQUNNLFVBQVUsQ0FBcUI7SUFDeEM7OztPQUdHO0lBQ3FDLFNBQVMsR0FBd0IsS0FBSyxDQUFDO0lBQy9FOzs7T0FHRztJQUNNLFVBQVUsQ0FBcUI7SUFDeEM7Ozs7T0FJRztJQUNPLFFBQVEsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUM5RTs7OztPQUlHO0lBQ08sWUFBWSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO0lBRXhFLE9BQU8sR0FBWSxJQUFJLENBQUM7SUFFeEIsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNEOzs7T0FHRztJQUNILElBQWEsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEdBQTBCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBRXRCLElBQUksR0FBRyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLFlBQVk7WUFDWixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RixDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBWTtJQUV0QixlQUFlLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRVIsVUFBVSxDQUErQjtJQUVyRSxXQUFXLENBQUMsYUFBNEI7UUFDcEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqQyxJQUFJLGFBQWEsQ0FBQyxTQUFTLElBQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUVqRCxJQUFJLFlBQVksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxZQUFZLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDbEMsQ0FBQztZQUNELElBQUksWUFBWSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxJQUFJLFlBQVksQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDcEMsQ0FBQztZQUNELElBQUksWUFBWSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQzlDLENBQUM7WUFDRCxJQUFJLFlBQVksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQztZQUM1QyxDQUFDO1lBQ0QsSUFBSSxZQUFZLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUM7WUFDOUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU87WUFDSCxvQkFBb0IsRUFBRSxJQUFJO1NBQzdCLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlCO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBSztRQUNYLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVk7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs2TEFwSVEsSUFBSSx5QkFBSixJQUFJOzZEQUFKLElBQUk7Ozs7O29LQW1DTyxnQkFBZ0IsMktBckN6QixDQUFDLFNBQVMsQ0FBQzs7WUE1QmxCLHNEQUFnTDs7WUFBdEcsa0NBQWE7NEJBRmpGLFlBQVksd0RBQUUsZUFBZSxFQUFFLFlBQVk7O2lGQWdDNUMsSUFBSTtjQW5DaEIsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUM7Z0JBQ3RELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EwQlQ7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDekI7Z0JBTVksS0FBSztrQkFBYixLQUFLO1lBS0csSUFBSTtrQkFBWixLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csR0FBRztrQkFBWCxLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csVUFBVTtrQkFBbEIsS0FBSztZQUtrQyxTQUFTO2tCQUFoRCxLQUFLO21CQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBSzdCLFVBQVU7a0JBQWxCLEtBQUs7WUFNSSxRQUFRO2tCQUFqQixNQUFNO1lBTUcsWUFBWTtrQkFBckIsTUFBTTtZQVdNLFNBQVM7a0JBQXJCLEtBQUs7WUFnQnNCLFVBQVU7a0JBQXJDLFlBQVk7bUJBQUMsWUFBWTs7a0ZBL0VqQixJQUFJO0FBMklqQixNQUFNLE9BQU8sVUFBVTtvR0FBVixVQUFVOzREQUFWLFVBQVU7Z0VBSFQsSUFBSSxFQUFFLFlBQVksRUFDWixZQUFZOztpRkFFbkIsVUFBVTtjQUp0QixRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQztnQkFDN0IsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQzthQUNoQzs7d0ZBQ1ksVUFBVSxjQTNJVixJQUFJLEVBd0lHLFlBQVksYUF4SW5CLElBQUksRUF5SUcsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgTmdNb2R1bGUsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUsIFRyYW5zbGF0aW9uS2V5cyB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2Jhc2Vjb21wb25lbnQnO1xuaW1wb3J0IHsgVGltZXNDaXJjbGVJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucyc7XG5pbXBvcnQgeyBDaGlwUHJvcHMgfSBmcm9tICcuL2NoaXAuaW50ZXJmYWNlJztcbmltcG9ydCB7IENoaXBTdHlsZSB9IGZyb20gJy4vc3R5bGUvY2hpcHN0eWxlJztcblxuLyoqXG4gKiBDaGlwIHJlcHJlc2VudHMgcGVvcGxlIHVzaW5nIGljb25zLCBsYWJlbHMgYW5kIGltYWdlcy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1jaGlwJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRpbWVzQ2lyY2xlSWNvbiwgU2hhcmVkTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzKClcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiIFtuZ1N0eWxlXT1cInN0eWxlXCIgKm5nSWY9XCJ2aXNpYmxlXCIgW2F0dHIuZGF0YS1wYy1uYW1lXT1cIidjaGlwJ1wiIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3Jvb3QnXCI+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwicC1jaGlwLWltYWdlXCIgW3NyY109XCJpbWFnZVwiICpuZ0lmPVwiaW1hZ2U7IGVsc2UgaWNvblRlbXBsYXRlXCIgKGVycm9yKT1cImltYWdlRXJyb3IoJGV2ZW50KVwiIFthbHRdPVwiYWx0XCIgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlPjxzcGFuICpuZ0lmPVwiaWNvblwiIFtjbGFzc109XCJpY29uXCIgW25nQ2xhc3NdPVwiJ3AtY2hpcC1pY29uJ1wiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaWNvbidcIj48L3NwYW4+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWNoaXAtbGFiZWxcIiAqbmdJZj1cImxhYmVsXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidsYWJlbCdcIj57eyBsYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlbW92YWJsZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVtb3ZlaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicmVtb3ZlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwicmVtb3ZlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIncC1jaGlwLXJlbW92ZS1pY29uJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3JlbW92ZWljb24nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicmVtb3ZlQXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8VGltZXNDaXJjbGVJY29uIHRhYmluZGV4PVwiMFwiICpuZ0lmPVwiIXJlbW92ZUljb25cIiBbY2xhc3NdPVwiJ3AtY2hpcC1yZW1vdmUtaWNvbidcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3JlbW92ZWljb24nXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudClcIiAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicmVtb3ZlQXJpYUxhYmVsXCIgcm9sZT1cImJ1dHRvblwiIC8+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJyZW1vdmVpY29uXCIgdGFiaW5kZXg9XCIwXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyZW1vdmVpY29uJ1wiIGNsYXNzPVwicC1jaGlwLXJlbW92ZS1pY29uXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudClcIiAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicmVtb3ZlQXJpYUxhYmVsXCIgcm9sZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW1vdmVpY29uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW0NoaXBTdHlsZV1cbn0pXG5leHBvcnQgY2xhc3MgQ2hpcCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIHRleHQgdG8gZGlzcGxheS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIGljb24gdG8gZGlzcGxheS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgaW1hZ2UgdG8gZGlzcGxheS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpbWFnZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEFsdCBhdHRyaWJ1dGUgb2YgdGhlIGltYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFsdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBDbGFzcyBvZiB0aGUgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBkaXNwbGF5IGEgcmVtb3ZlIGljb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlbW92YWJsZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIEljb24gb2YgdGhlIHJlbW92ZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHJlbW92ZUljb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIGNoaXAgaXMgcmVtb3ZlZC5cbiAgICAgKiBAcGFyYW0ge01vdXNlRXZlbnR9IGV2ZW50IC0gTW91c2UgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uUmVtb3ZlOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogVGhpcyBldmVudCBpcyB0cmlnZ2VyZWQgaWYgYW4gZXJyb3Igb2NjdXJzIHdoaWxlIGxvYWRpbmcgYW4gaW1hZ2UgZmlsZS5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIEJyb3dzZXIgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uSW1hZ2VFcnJvcjogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICB2aXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIGdldCByZW1vdmVBcmlhTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuQVJJQSlbJ3JlbW92ZUxhYmVsJ107XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gcGFzcyBhbGwgcHJvcGVydGllcyBvZiB0aGUgY2hpcFByb3BzIHRvIHRoZSBDaGlwIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgY2hpcFByb3BzKCk6IENoaXBQcm9wcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGlwUHJvcHM7XG4gICAgfVxuICAgIHNldCBjaGlwUHJvcHModmFsOiBDaGlwUHJvcHMgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fY2hpcFByb3BzID0gdmFsO1xuXG4gICAgICAgIGlmICh2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXModmFsKS5mb3JFYWNoKChbaywgdl0pID0+IHRoaXNbYF8ke2t9YF0gIT09IHYgJiYgKHRoaXNbYF8ke2t9YF0gPSB2KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfY2hpcFByb3BzOiBDaGlwUHJvcHM7XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoQ2hpcFN0eWxlKTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ3JlbW92ZWljb24nKSByZW1vdmVpY29uOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzKTtcbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMuY2hpcFByb3BzICYmIHNpbXBsZUNoYW5nZXMuY2hpcFByb3BzLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50VmFsdWUgfSA9IHNpbXBsZUNoYW5nZXMuY2hpcFByb3BzO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlLmxhYmVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxhYmVsID0gY3VycmVudFZhbHVlLmxhYmVsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZS5pY29uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmljb24gPSBjdXJyZW50VmFsdWUuaWNvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUuaW1hZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2UgPSBjdXJyZW50VmFsdWUuaW1hZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlLmFsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbHQgPSBjdXJyZW50VmFsdWUuYWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZS5zdHlsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZSA9IGN1cnJlbnRWYWx1ZS5zdHlsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUuc3R5bGVDbGFzcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdHlsZUNsYXNzID0gY3VycmVudFZhbHVlLnN0eWxlQ2xhc3M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlLnJlbW92YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmFibGUgPSBjdXJyZW50VmFsdWUucmVtb3ZhYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZS5yZW1vdmVJY29uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUljb24gPSBjdXJyZW50VmFsdWUucmVtb3ZlSWNvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnRhaW5lckNsYXNzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3AtY2hpcCBwLWNvbXBvbmVudCc6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjbG9zZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5vblJlbW92ZS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltYWdlRXJyb3IoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMub25JbWFnZUVycm9yLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ2hpcCwgU2hhcmVkTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQ2hpcCwgU2hhcmVkTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBDaGlwTW9kdWxlIHt9XG4iXX0=
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jaGlwL2NoaXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBeUMsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL08sT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztJQVl0Qyw4QkFBb0g7SUFBM0MsbUtBQVMseUJBQWtCLEtBQUM7SUFBckcsaUJBQW9IOzs7SUFBZCxBQUE1RSxvREFBYSxtQkFBMEU7OztJQUN0RiwwQkFBbUc7OztJQUFoRiwwQkFBYztJQUFDLHVDQUF5Qjs7OztJQUEzRCxxRUFBNEY7OztJQUFyRixrQ0FBVTs7O0lBQzVDLDhCQUF5RTtJQUFBLFlBQVc7SUFBQSxpQkFBTTs7OztJQUFqQixjQUFXO0lBQVgsa0NBQVc7Ozs7SUFHNUUsZ0NBVUM7SUFIRyxBQURBLG9NQUFTLG9CQUFhLEtBQUMsMkxBQ1osd0JBQWlCLEtBQUM7SUFHaEMsaUJBQU87OztJQVBKLGdDQUFvQjtJQUNwQiw4Q0FBZ0M7Ozs7O0lBT3BDLDJDQUFpTztJQUFsRixBQUF4QiwwTkFBUyxvQkFBYSxLQUFDLGlOQUFZLHdCQUFpQixLQUFDO0lBQTVLLGlCQUFpTzs7O0lBQS9LLG1DQUE4Qjs7OztJQVpw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SSxFQUFFLFlBQVksQ0FBQztnQkFDN0IsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQzthQUNoQzs7d0ZBQ1ksVUFBVSxjQWpLVixJQUFJLEVBOEpHLFlBQVksYUE5Sm5CLElBQUksRUErSkcsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBOZ01vZHVsZSwgT3V0cHV0LCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJpbWVUZW1wbGF0ZSwgU2hhcmVkTW9kdWxlLCBUcmFuc2xhdGlvbktleXMgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAncHJpbWVuZy9iYXNlY29tcG9uZW50JztcbmltcG9ydCB7IFRpbWVzQ2lyY2xlSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMnO1xuaW1wb3J0IHsgQ2hpcFByb3BzIH0gZnJvbSAnLi9jaGlwLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGlwU3R5bGUgfSBmcm9tICcuL3N0eWxlL2NoaXBzdHlsZSc7XG5cbi8qKlxuICogQ2hpcCByZXByZXNlbnRzIHBlb3BsZSB1c2luZyBpY29ucywgbGFiZWxzIGFuZCBpbWFnZXMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtY2hpcCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaW1lc0NpcmNsZUljb24sIFNoYXJlZE1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8aW1nIGNsYXNzPVwicC1jaGlwLWltYWdlXCIgW3NyY109XCJpbWFnZVwiICpuZ0lmPVwiaW1hZ2U7IGVsc2UgaWNvblRlbXBsYXRlXCIgKGVycm9yKT1cImltYWdlRXJyb3IoJGV2ZW50KVwiIFthbHRdPVwiYWx0XCIgLz5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGU+PHNwYW4gKm5nSWY9XCJpY29uXCIgW2NsYXNzXT1cImljb25cIiBbbmdDbGFzc109XCIncC1jaGlwLWljb24nXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiPjwvc3Bhbj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC1jaGlwLWxhYmVsXCIgKm5nSWY9XCJsYWJlbFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInbGFiZWwnXCI+e3sgbGFiZWwgfX08L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlbW92YWJsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZW1vdmVJY29uVGVtcGxhdGUgJiYgIV9yZW1vdmVJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJlbW92ZUljb25cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwicmVtb3ZlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIidwLWNoaXAtcmVtb3ZlLWljb24nXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyZW1vdmVpY29uJ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInJlbW92ZUFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgPFRpbWVzQ2lyY2xlSWNvbiB0YWJpbmRleD1cIjBcIiAqbmdJZj1cIiFyZW1vdmVJY29uXCIgW2NsYXNzXT1cIidwLWNoaXAtcmVtb3ZlLWljb24nXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyZW1vdmVpY29uJ1wiIChjbGljayk9XCJjbG9zZSgkZXZlbnQpXCIgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInJlbW92ZUFyaWFMYWJlbFwiIHJvbGU9XCJidXR0b25cIiAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInJlbW92ZUljb25UZW1wbGF0ZSB8fCBfcmVtb3ZlSWNvblRlbXBsYXRlXCIgdGFiaW5kZXg9XCIwXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyZW1vdmVpY29uJ1wiIGNsYXNzPVwicC1jaGlwLXJlbW92ZS1pY29uXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudClcIiAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiIFthdHRyLmFyaWEtbGFiZWxdPVwicmVtb3ZlQXJpYUxhYmVsXCIgcm9sZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJlbW92ZUljb25UZW1wbGF0ZSB8fCBfcmVtb3ZlSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW0NoaXBTdHlsZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzXSc6ICdjb250YWluZXJDbGFzcygpJyxcbiAgICAgICAgJ1tzdHlsZV0nOiAnc3R5bGUnLFxuICAgICAgICAnW3N0eWxlLmRpc3BsYXldJzogJyF2aXNpYmxlICYmIFwibm9uZVwiJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtcGMtbmFtZV0nOiBcIidjaGlwJ1wiLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbGFiZWwnLFxuICAgICAgICAnW2F0dHIuZGF0YS1wYy1zZWN0aW9uXSc6IFwiJ3Jvb3QnXCJcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIENoaXAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgdGV4dCB0byBkaXNwbGF5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0aGUgaWNvbiB0byBkaXNwbGF5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGljb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIHRoZSBpbWFnZSB0byBkaXNwbGF5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGltYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQWx0IGF0dHJpYnV0ZSBvZiB0aGUgaW1hZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYWx0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGRpc3BsYXkgYSByZW1vdmUgaWNvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVtb3ZhYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogSWNvbiBvZiB0aGUgcmVtb3ZlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcmVtb3ZlSWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgY2hpcCBpcyByZW1vdmVkLlxuICAgICAqIEBwYXJhbSB7TW91c2VFdmVudH0gZXZlbnQgLSBNb3VzZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25SZW1vdmU6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCBpZiBhbiBlcnJvciBvY2N1cnMgd2hpbGUgbG9hZGluZyBhbiBpbWFnZSBmaWxlLlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gQnJvd3NlciBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25JbWFnZUVycm9yOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIHZpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgZ2V0IHJlbW92ZUFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5BUklBKVsncmVtb3ZlTGFiZWwnXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVXNlZCB0byBwYXNzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlwUHJvcHMgdG8gdGhlIENoaXAgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBjaGlwUHJvcHMoKTogQ2hpcFByb3BzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NoaXBQcm9wcztcbiAgICB9XG4gICAgc2V0IGNoaXBQcm9wcyh2YWw6IENoaXBQcm9wcyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9jaGlwUHJvcHMgPSB2YWw7XG5cbiAgICAgICAgaWYgKHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyh2YWwpLmZvckVhY2goKFtrLCB2XSkgPT4gdGhpc1tgXyR7a31gXSAhPT0gdiAmJiAodGhpc1tgXyR7a31gXSA9IHYpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9jaGlwUHJvcHM6IENoaXBQcm9wcztcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChDaGlwU3R5bGUpO1xuXG4gICAgQENvbnRlbnRDaGlsZCgncmVtb3ZlaWNvbicsIHsgZGVzY2VuZGFudHM6IGZhbHNlIH0pIHJlbW92ZUljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8UHJpbWVUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBfcmVtb3ZlSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICAodGhpcy50ZW1wbGF0ZXMgYXMgUXVlcnlMaXN0PFByaW1lVGVtcGxhdGU+KS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAncmVtb3ZlaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlbW92ZUljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlSWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlcyk7XG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLmNoaXBQcm9wcyAmJiBzaW1wbGVDaGFuZ2VzLmNoaXBQcm9wcy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY3VycmVudFZhbHVlIH0gPSBzaW1wbGVDaGFuZ2VzLmNoaXBQcm9wcztcblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZS5sYWJlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYWJlbCA9IGN1cnJlbnRWYWx1ZS5sYWJlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUuaWNvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pY29uID0gY3VycmVudFZhbHVlLmljb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlLmltYWdlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlID0gY3VycmVudFZhbHVlLmltYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZS5hbHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWx0ID0gY3VycmVudFZhbHVlLmFsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUuc3R5bGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGUgPSBjdXJyZW50VmFsdWUuc3R5bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlLnN0eWxlQ2xhc3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVDbGFzcyA9IGN1cnJlbnRWYWx1ZS5zdHlsZUNsYXNzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZS5yZW1vdmFibGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZhYmxlID0gY3VycmVudFZhbHVlLnJlbW92YWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUucmVtb3ZlSWNvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVJY29uID0gY3VycmVudFZhbHVlLnJlbW92ZUljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb250YWluZXJDbGFzcygpIHtcbiAgICAgICAgbGV0IGNsYXNzZXMgPSAncC1jaGlwIHAtY29tcG9uZW50JztcblxuICAgICAgICBpZiAodGhpcy5zdHlsZUNsYXNzKSB7XG4gICAgICAgICAgICBjbGFzc2VzICs9IGAgJHt0aGlzLnN0eWxlQ2xhc3N9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjbGFzc2VzO1xuICAgIH1cblxuICAgIGNsb3NlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9uUmVtb3ZlLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1hZ2VFcnJvcihldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5vbkltYWdlRXJyb3IuZW1pdChldmVudCk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDaGlwLCBTaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtDaGlwLCBTaGFyZWRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIENoaXBNb2R1bGUge31cbiJdfQ==
|