primeng 18.0.0 → 19.0.0-rc.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/base/style/basestyle.d.ts +11 -11
- package/fesm2022/primeng-accordion.mjs +12 -12
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +1 -1
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +5 -5
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +2 -2
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +1 -1
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +2 -2
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +2 -2
- package/fesm2022/primeng-avatargroup.mjs.map +1 -1
- package/fesm2022/primeng-badge.mjs +3 -3
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +1 -1
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-blockui.mjs +2 -2
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +2 -2
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +5 -5
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +2 -2
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-calendar.mjs +2 -2
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +2 -2
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +2 -2
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +6 -6
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +2 -2
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +3 -4
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +2 -2
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +2 -2
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +1 -1
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +4 -6
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +2 -2
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +5 -5
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +2 -2
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +2 -2
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-defer.mjs +1 -1
- package/fesm2022/primeng-dialog.mjs +3 -4
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +2 -2
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +3 -4
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +2 -2
- package/fesm2022/primeng-dragdrop.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs +2 -2
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +4 -4
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +3 -3
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +2 -2
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +2 -2
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +3 -4
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +2 -2
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-fluid.mjs +2 -2
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +1 -1
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +10 -10
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +2 -2
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs +2 -2
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs +2 -2
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs +2 -2
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs +2 -2
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledown.mjs +2 -2
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleleft.mjs +2 -2
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleright.mjs +2 -2
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleup.mjs +2 -2
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdown.mjs +2 -2
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs +2 -2
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs +2 -2
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowleft.mjs +2 -2
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs +2 -2
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowup.mjs +2 -2
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs +2 -2
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs +2 -2
- package/fesm2022/primeng-icons-bars.mjs.map +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs +2 -2
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs +2 -2
- package/fesm2022/primeng-icons-blank.mjs.map +1 -1
- package/fesm2022/primeng-icons-calendar.mjs +2 -2
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretleft.mjs +2 -2
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretright.mjs +2 -2
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
- package/fesm2022/primeng-icons-check.mjs +2 -2
- package/fesm2022/primeng-icons-check.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevrondown.mjs +2 -2
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronleft.mjs +2 -2
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronright.mjs +2 -2
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronup.mjs +2 -2
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +2 -2
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs +2 -2
- package/fesm2022/primeng-icons-eye.mjs.map +1 -1
- package/fesm2022/primeng-icons-eyeslash.mjs +2 -2
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs +2 -2
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterslash.mjs +2 -2
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs +2 -2
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs +2 -2
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs +2 -2
- package/fesm2022/primeng-icons-minus.mjs.map +1 -1
- package/fesm2022/primeng-icons-pencil.mjs +2 -2
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs +2 -2
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs +2 -2
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs +2 -2
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs +2 -2
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs +2 -2
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs +2 -2
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs +2 -2
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs +2 -2
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs +2 -2
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs +2 -2
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs +2 -2
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs +2 -2
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs +2 -2
- package/fesm2022/primeng-icons-times.mjs.map +1 -1
- package/fesm2022/primeng-icons-timescircle.mjs +2 -2
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs +2 -2
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs +2 -2
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs +2 -2
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs +2 -2
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs +2 -2
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-iftalabel.mjs +2 -2
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +2 -2
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +2 -2
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +6 -6
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs +2 -2
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs +2 -2
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/primeng-inputicon.mjs +2 -2
- package/fesm2022/primeng-inputicon.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +2 -2
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +3 -4
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +2 -2
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputswitch.mjs +2 -2
- package/fesm2022/primeng-inputswitch.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +1 -1
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-inputtextarea.mjs +1 -1
- package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +1 -1
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +2 -2
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +2 -2
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +5 -5
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +6 -6
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +6 -6
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +2 -2
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-messages.mjs +2 -2
- package/fesm2022/primeng-messages.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +4 -4
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +6 -6
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +4 -4
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +5 -5
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +2 -2
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +2 -2
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-overlaypanel.mjs +6 -3
- package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +2 -2
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +3 -4
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +9 -9
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +4 -4
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +5 -33
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +8 -7
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +2 -2
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +2 -2
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +2 -2
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +4 -4
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +1 -1
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +2 -2
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +2 -2
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +2 -2
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +5 -5
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +3 -4
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +3 -4
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +2 -2
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +2 -2
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +2 -2
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +2 -2
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +4 -4
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +16 -16
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +2 -2
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +1 -1
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +63 -38
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabmenu.mjs +2 -2
- package/fesm2022/primeng-tabmenu.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +11 -11
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs +5 -5
- package/fesm2022/primeng-tabview.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +2 -2
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +2 -2
- package/fesm2022/primeng-terminal.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +1 -1
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +5 -5
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +2 -2
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +6 -7
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +3 -4
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +2 -2
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +2 -2
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +4 -2
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +7 -9
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +4 -6
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +31 -29
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/package.json +174 -522
- package/popover/popover.d.ts +1 -1
- package/speeddial/speeddial.d.ts +2 -2
- package/treetable/treetable.d.ts +1 -1
- package/esm2022/accordion/accordion.mjs +0 -1266
- package/esm2022/accordion/primeng-accordion.mjs +0 -5
- package/esm2022/accordion/public_api.mjs +0 -3
- package/esm2022/accordion/style/accordionstyle.mjs +0 -163
- package/esm2022/animateonscroll/animateonscroll.mjs +0 -174
- package/esm2022/animateonscroll/primeng-animateonscroll.mjs +0 -5
- package/esm2022/animateonscroll/public_api.mjs +0 -2
- package/esm2022/api/blockableui.mjs +0 -2
- package/esm2022/api/confirmaeventtype.mjs +0 -10
- package/esm2022/api/confirmation.mjs +0 -2
- package/esm2022/api/confirmationservice.mjs +0 -43
- package/esm2022/api/contextmenuservice.mjs +0 -22
- package/esm2022/api/filtermatchmode.mjs +0 -23
- package/esm2022/api/filtermetadata.mjs +0 -2
- package/esm2022/api/filteroperator.mjs +0 -5
- package/esm2022/api/filterservice.mjs +0 -224
- package/esm2022/api/lazyloadevent.mjs +0 -2
- package/esm2022/api/lazyloadmeta.mjs +0 -2
- package/esm2022/api/megamenuitem.mjs +0 -2
- package/esm2022/api/menuitem.mjs +0 -2
- package/esm2022/api/messageservice.mjs +0 -47
- package/esm2022/api/overlayoptions.mjs +0 -2
- package/esm2022/api/overlayservice.mjs +0 -19
- package/esm2022/api/primeicons.mjs +0 -314
- package/esm2022/api/primeng-api.mjs +0 -5
- package/esm2022/api/public_api.mjs +0 -33
- package/esm2022/api/scrolleroptions.mjs +0 -2
- package/esm2022/api/selectitem.mjs +0 -2
- package/esm2022/api/selectitemgroup.mjs +0 -2
- package/esm2022/api/shared.mjs +0 -76
- package/esm2022/api/sortevent.mjs +0 -2
- package/esm2022/api/sortmeta.mjs +0 -2
- package/esm2022/api/tablestate.mjs +0 -2
- package/esm2022/api/toastmessage.mjs +0 -2
- package/esm2022/api/tooltipoptions.mjs +0 -2
- package/esm2022/api/translation.mjs +0 -2
- package/esm2022/api/translationkeys.mjs +0 -51
- package/esm2022/api/treedragdropservice.mjs +0 -21
- package/esm2022/api/treenode.mjs +0 -2
- package/esm2022/api/treenodedragevent.mjs +0 -2
- package/esm2022/api/treetablenode.mjs +0 -2
- package/esm2022/autocomplete/autocomplete.interface.mjs +0 -2
- package/esm2022/autocomplete/autocomplete.mjs +0 -2223
- package/esm2022/autocomplete/primeng-autocomplete.mjs +0 -5
- package/esm2022/autocomplete/public_api.mjs +0 -4
- package/esm2022/autocomplete/style/autocompletestyle.mjs +0 -409
- package/esm2022/autofocus/autofocus.mjs +0 -86
- package/esm2022/autofocus/primeng-autofocus.mjs +0 -5
- package/esm2022/autofocus/public_api.mjs +0 -2
- package/esm2022/avatar/avatar.mjs +0 -193
- package/esm2022/avatar/primeng-avatar.mjs +0 -5
- package/esm2022/avatar/public_api.mjs +0 -3
- package/esm2022/avatar/style/avatarstyle.mjs +0 -130
- package/esm2022/avatargroup/avatargroup.mjs +0 -80
- package/esm2022/avatargroup/primeng-avatargroup.mjs +0 -5
- package/esm2022/avatargroup/public_api.mjs +0 -3
- package/esm2022/avatargroup/style/avatargroupstyle.mjs +0 -29
- package/esm2022/badge/badge.mjs +0 -332
- package/esm2022/badge/primeng-badge.mjs +0 -5
- package/esm2022/badge/public_api.mjs +0 -3
- package/esm2022/badge/style/badgestyle.mjs +0 -143
- package/esm2022/base/base.mjs +0 -19
- package/esm2022/base/primeng-base.mjs +0 -5
- package/esm2022/base/public_api.mjs +0 -3
- package/esm2022/base/style/basestyle.mjs +0 -256
- package/esm2022/basecomponent/basecomponent.mjs +0 -183
- package/esm2022/basecomponent/primeng-basecomponent.mjs +0 -5
- package/esm2022/basecomponent/public_api.mjs +0 -3
- package/esm2022/basecomponent/style/basecomponentstyle.mjs +0 -13
- package/esm2022/blockui/blockui.interface.mjs +0 -2
- package/esm2022/blockui/blockui.mjs +0 -210
- package/esm2022/blockui/primeng-blockui.mjs +0 -5
- package/esm2022/blockui/public_api.mjs +0 -4
- package/esm2022/blockui/style/blockuistyle.mjs +0 -50
- package/esm2022/breadcrumb/breadcrumb.interface.mjs +0 -2
- package/esm2022/breadcrumb/breadcrumb.mjs +0 -583
- package/esm2022/breadcrumb/primeng-breadcrumb.mjs +0 -5
- package/esm2022/breadcrumb/public_api.mjs +0 -4
- package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +0 -133
- package/esm2022/button/button.interface.mjs +0 -2
- package/esm2022/button/button.mjs +0 -896
- package/esm2022/button/primeng-button.mjs +0 -5
- package/esm2022/button/public_api.mjs +0 -4
- package/esm2022/button/style/buttonstyle.mjs +0 -707
- package/esm2022/buttongroup/buttongroup.mjs +0 -47
- package/esm2022/buttongroup/primeng-buttongroup.mjs +0 -5
- package/esm2022/buttongroup/public_api.mjs +0 -3
- package/esm2022/buttongroup/style/buttongroupstyle.mjs +0 -120
- package/esm2022/calendar/calendar.interface.mjs +0 -2
- package/esm2022/calendar/calendar.mjs +0 -4504
- package/esm2022/calendar/primeng-calendar.mjs +0 -5
- package/esm2022/calendar/public_api.mjs +0 -4
- package/esm2022/calendar/style/calendarstyle.mjs +0 -472
- package/esm2022/card/card.interface.mjs +0 -2
- package/esm2022/card/card.mjs +0 -243
- package/esm2022/card/primeng-card.mjs +0 -5
- package/esm2022/card/public_api.mjs +0 -4
- package/esm2022/card/style/cardstyle.mjs +0 -100
- package/esm2022/carousel/carousel.interface.mjs +0 -2
- package/esm2022/carousel/carousel.mjs +0 -1181
- package/esm2022/carousel/primeng-carousel.mjs +0 -5
- package/esm2022/carousel/public_api.mjs +0 -4
- package/esm2022/carousel/style/carouselstyle.mjs +0 -234
- package/esm2022/cascadeselect/cascadeselect.interface.mjs +0 -2
- package/esm2022/cascadeselect/cascadeselect.mjs +0 -1840
- package/esm2022/cascadeselect/primeng-cascadeselect.mjs +0 -5
- package/esm2022/cascadeselect/public_api.mjs +0 -4
- package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +0 -379
- package/esm2022/chart/chart.mjs +0 -210
- package/esm2022/chart/primeng-chart.mjs +0 -5
- package/esm2022/chart/public_api.mjs +0 -3
- package/esm2022/chart/style/chartstyle.mjs +0 -36
- package/esm2022/checkbox/checkbox.interface.mjs +0 -2
- package/esm2022/checkbox/checkbox.mjs +0 -450
- package/esm2022/checkbox/primeng-checkbox.mjs +0 -5
- package/esm2022/checkbox/public_api.mjs +0 -4
- package/esm2022/checkbox/style/checkboxstyle.mjs +0 -191
- package/esm2022/chip/chip.interface.mjs +0 -2
- package/esm2022/chip/chip.mjs +0 -337
- package/esm2022/chip/primeng-chip.mjs +0 -5
- package/esm2022/chip/public_api.mjs +0 -4
- package/esm2022/chip/style/chipstyle.mjs +0 -104
- package/esm2022/colorpicker/colorpicker.interface.mjs +0 -2
- package/esm2022/colorpicker/colorpicker.mjs +0 -856
- package/esm2022/colorpicker/primeng-colorpicker.mjs +0 -5
- package/esm2022/colorpicker/public_api.mjs +0 -4
- package/esm2022/colorpicker/style/colorpickerstyle.mjs +0 -213
- package/esm2022/config/primeng-config.mjs +0 -5
- package/esm2022/config/primeng.mjs +0 -185
- package/esm2022/config/provideprimeng.mjs +0 -19
- package/esm2022/config/public_api.mjs +0 -4
- package/esm2022/config/themeprovider.mjs +0 -68
- package/esm2022/confirmdialog/confirmdialog.interface.mjs +0 -2
- package/esm2022/confirmdialog/confirmdialog.mjs +0 -815
- package/esm2022/confirmdialog/primeng-confirmdialog.mjs +0 -5
- package/esm2022/confirmdialog/public_api.mjs +0 -4
- package/esm2022/confirmdialog/style/confirmdialogstyle.mjs +0 -67
- package/esm2022/confirmpopup/confirmpopup.interface.mjs +0 -2
- package/esm2022/confirmpopup/confirmpopup.mjs +0 -619
- package/esm2022/confirmpopup/primeng-confirmpopup.mjs +0 -5
- package/esm2022/confirmpopup/public_api.mjs +0 -4
- package/esm2022/confirmpopup/style/confirmpopupstyle.mjs +0 -170
- package/esm2022/contextmenu/contextmenu.mjs +0 -1436
- package/esm2022/contextmenu/primeng-contextmenu.mjs +0 -5
- package/esm2022/contextmenu/public_api.mjs +0 -3
- package/esm2022/contextmenu/style/contextmenustyle.mjs +0 -244
- package/esm2022/dataview/dataview.interface.mjs +0 -2
- package/esm2022/dataview/dataview.mjs +0 -819
- package/esm2022/dataview/primeng-dataview.mjs +0 -5
- package/esm2022/dataview/public_api.mjs +0 -4
- package/esm2022/dataview/style/dataviewstyle.mjs +0 -115
- package/esm2022/datepicker/datepicker.interface.mjs +0 -2
- package/esm2022/datepicker/datepicker.mjs +0 -4539
- package/esm2022/datepicker/primeng-datepicker.mjs +0 -5
- package/esm2022/datepicker/public_api.mjs +0 -4
- package/esm2022/datepicker/style/datepickerstyle.mjs +0 -663
- package/esm2022/defer/defer.mjs +0 -100
- package/esm2022/defer/primeng-defer.mjs +0 -5
- package/esm2022/defer/public_api.mjs +0 -2
- package/esm2022/dialog/dialog.interface.mjs +0 -2
- package/esm2022/dialog/dialog.mjs +0 -1384
- package/esm2022/dialog/primeng-dialog.mjs +0 -5
- package/esm2022/dialog/public_api.mjs +0 -4
- package/esm2022/dialog/style/dialogstyle.mjs +0 -283
- package/esm2022/divider/divider.mjs +0 -119
- package/esm2022/divider/primeng-divider.mjs +0 -5
- package/esm2022/divider/public_api.mjs +0 -3
- package/esm2022/divider/style/dividerstyle.mjs +0 -138
- package/esm2022/dock/dock.interface.mjs +0 -2
- package/esm2022/dock/dock.mjs +0 -447
- package/esm2022/dock/primeng-dock.mjs +0 -5
- package/esm2022/dock/public_api.mjs +0 -4
- package/esm2022/dock/style/dockstyle.mjs +0 -210
- package/esm2022/dom/connectedoverlayscrollhandler.mjs +0 -30
- package/esm2022/dom/domhandler.mjs +0 -725
- package/esm2022/dom/primeng-dom.mjs +0 -5
- package/esm2022/dom/public_api.mjs +0 -3
- package/esm2022/dragdrop/dragdrop.mjs +0 -323
- package/esm2022/dragdrop/primeng-dragdrop.mjs +0 -5
- package/esm2022/dragdrop/public_api.mjs +0 -2
- package/esm2022/drawer/drawer.interface.mjs +0 -2
- package/esm2022/drawer/drawer.mjs +0 -663
- package/esm2022/drawer/primeng-drawer.mjs +0 -5
- package/esm2022/drawer/public_api.mjs +0 -4
- package/esm2022/drawer/style/drawerstyle.mjs +0 -283
- package/esm2022/dropdown/dropdown.interface.mjs +0 -2
- package/esm2022/dropdown/dropdown.mjs +0 -2498
- package/esm2022/dropdown/primeng-dropdown.mjs +0 -5
- package/esm2022/dropdown/public_api.mjs +0 -4
- package/esm2022/dropdown/style/dropdownstyle.mjs +0 -264
- package/esm2022/dynamicdialog/dialogservice.mjs +0 -105
- package/esm2022/dynamicdialog/dynamicdialog-config.mjs +0 -182
- package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +0 -15
- package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +0 -119
- package/esm2022/dynamicdialog/dynamicdialog.mjs +0 -875
- package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +0 -18
- package/esm2022/dynamicdialog/primeng-dynamicdialog.mjs +0 -5
- package/esm2022/dynamicdialog/public_api.mjs +0 -8
- package/esm2022/dynamicdialog/style/dynamicdialogstyle.mjs +0 -60
- package/esm2022/editor/editor.interface.mjs +0 -2
- package/esm2022/editor/editor.mjs +0 -427
- package/esm2022/editor/primeng-editor.mjs +0 -5
- package/esm2022/editor/public_api.mjs +0 -4
- package/esm2022/editor/style/editorstyle.mjs +0 -1008
- package/esm2022/fieldset/fieldset.interface.mjs +0 -2
- package/esm2022/fieldset/fieldset.mjs +0 -427
- package/esm2022/fieldset/primeng-fieldset.mjs +0 -5
- package/esm2022/fieldset/public_api.mjs +0 -4
- package/esm2022/fieldset/style/fieldsetstyle.mjs +0 -143
- package/esm2022/fileupload/fileupload.interface.mjs +0 -2
- package/esm2022/fileupload/fileupload.mjs +0 -1597
- package/esm2022/fileupload/primeng-fileupload.mjs +0 -5
- package/esm2022/fileupload/public_api.mjs +0 -4
- package/esm2022/fileupload/style/fileuploadstyle.mjs +0 -194
- package/esm2022/floatlabel/floatlabel.mjs +0 -61
- package/esm2022/floatlabel/primeng-floatlabel.mjs +0 -5
- package/esm2022/floatlabel/public_api.mjs +0 -3
- package/esm2022/floatlabel/style/floatlabelstyle.mjs +0 -133
- package/esm2022/fluid/fluid.mjs +0 -50
- package/esm2022/fluid/primeng-fluid.mjs +0 -5
- package/esm2022/fluid/public_api.mjs +0 -3
- package/esm2022/fluid/style/fluidstyle.mjs +0 -38
- package/esm2022/focustrap/focustrap.mjs +0 -104
- package/esm2022/focustrap/primeng-focustrap.mjs +0 -5
- package/esm2022/focustrap/public_api.mjs +0 -2
- package/esm2022/galleria/galleria.interface.mjs +0 -2
- package/esm2022/galleria/galleria.mjs +0 -1858
- package/esm2022/galleria/primeng-galleria.mjs +0 -5
- package/esm2022/galleria/public_api.mjs +0 -4
- package/esm2022/galleria/style/galleriastyle.mjs +0 -644
- package/esm2022/iconfield/iconfield.mjs +0 -73
- package/esm2022/iconfield/primeng-iconfield.mjs +0 -5
- package/esm2022/iconfield/public_api.mjs +0 -3
- package/esm2022/iconfield/style/iconfieldstyle.mjs +0 -77
- package/esm2022/icons/angledoubledown/angledoubledown.mjs +0 -34
- package/esm2022/icons/angledoubledown/primeng-icons-angledoubledown.mjs +0 -5
- package/esm2022/icons/angledoubledown/public_api.mjs +0 -2
- package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +0 -34
- package/esm2022/icons/angledoubleleft/primeng-icons-angledoubleleft.mjs +0 -5
- package/esm2022/icons/angledoubleleft/public_api.mjs +0 -2
- package/esm2022/icons/angledoubleright/angledoubleright.mjs +0 -34
- package/esm2022/icons/angledoubleright/primeng-icons-angledoubleright.mjs +0 -5
- package/esm2022/icons/angledoubleright/public_api.mjs +0 -2
- package/esm2022/icons/angledoubleup/angledoubleup.mjs +0 -34
- package/esm2022/icons/angledoubleup/primeng-icons-angledoubleup.mjs +0 -5
- package/esm2022/icons/angledoubleup/public_api.mjs +0 -2
- package/esm2022/icons/angledown/angledown.mjs +0 -32
- package/esm2022/icons/angledown/primeng-icons-angledown.mjs +0 -5
- package/esm2022/icons/angledown/public_api.mjs +0 -2
- package/esm2022/icons/angleleft/angleleft.mjs +0 -32
- package/esm2022/icons/angleleft/primeng-icons-angleleft.mjs +0 -5
- package/esm2022/icons/angleleft/public_api.mjs +0 -2
- package/esm2022/icons/angleright/angleright.mjs +0 -32
- package/esm2022/icons/angleright/primeng-icons-angleright.mjs +0 -5
- package/esm2022/icons/angleright/public_api.mjs +0 -2
- package/esm2022/icons/angleup/angleup.mjs +0 -32
- package/esm2022/icons/angleup/primeng-icons-angleup.mjs +0 -5
- package/esm2022/icons/angleup/public_api.mjs +0 -2
- package/esm2022/icons/arrowdown/arrowdown.mjs +0 -53
- package/esm2022/icons/arrowdown/primeng-icons-arrowdown.mjs +0 -5
- package/esm2022/icons/arrowdown/public_api.mjs +0 -2
- package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +0 -32
- package/esm2022/icons/arrowdownleft/primeng-icons-arrowdownleft.mjs +0 -5
- package/esm2022/icons/arrowdownleft/public_api.mjs +0 -2
- package/esm2022/icons/arrowdownright/arrowdownright.mjs +0 -32
- package/esm2022/icons/arrowdownright/primeng-icons-arrowdownright.mjs +0 -5
- package/esm2022/icons/arrowdownright/public_api.mjs +0 -2
- package/esm2022/icons/arrowleft/arrowleft.mjs +0 -53
- package/esm2022/icons/arrowleft/primeng-icons-arrowleft.mjs +0 -5
- package/esm2022/icons/arrowleft/public_api.mjs +0 -2
- package/esm2022/icons/arrowright/arrowright.mjs +0 -34
- package/esm2022/icons/arrowright/primeng-icons-arrowright.mjs +0 -5
- package/esm2022/icons/arrowright/public_api.mjs +0 -2
- package/esm2022/icons/arrowup/arrowup.mjs +0 -53
- package/esm2022/icons/arrowup/primeng-icons-arrowup.mjs +0 -5
- package/esm2022/icons/arrowup/public_api.mjs +0 -2
- package/esm2022/icons/ban/ban.mjs +0 -51
- package/esm2022/icons/ban/primeng-icons-ban.mjs +0 -5
- package/esm2022/icons/ban/public_api.mjs +0 -2
- package/esm2022/icons/bars/bars.mjs +0 -34
- package/esm2022/icons/bars/primeng-icons-bars.mjs +0 -5
- package/esm2022/icons/bars/public_api.mjs +0 -2
- package/esm2022/icons/baseicon/baseicon.mjs +0 -54
- package/esm2022/icons/baseicon/primeng-icons-baseicon.mjs +0 -5
- package/esm2022/icons/baseicon/public_api.mjs +0 -3
- package/esm2022/icons/baseicon/style/baseiconstyle.mjs +0 -57
- package/esm2022/icons/blank/blank.mjs +0 -26
- package/esm2022/icons/blank/primeng-icons-blank.mjs +0 -5
- package/esm2022/icons/blank/public_api.mjs +0 -2
- package/esm2022/icons/calendar/calendar.mjs +0 -32
- package/esm2022/icons/calendar/primeng-icons-calendar.mjs +0 -5
- package/esm2022/icons/calendar/public_api.mjs +0 -2
- package/esm2022/icons/caretleft/caretleft.mjs +0 -32
- package/esm2022/icons/caretleft/primeng-icons-caretleft.mjs +0 -5
- package/esm2022/icons/caretleft/public_api.mjs +0 -2
- package/esm2022/icons/caretright/caretright.mjs +0 -32
- package/esm2022/icons/caretright/primeng-icons-caretright.mjs +0 -5
- package/esm2022/icons/caretright/public_api.mjs +0 -2
- package/esm2022/icons/check/check.mjs +0 -32
- package/esm2022/icons/check/primeng-icons-check.mjs +0 -5
- package/esm2022/icons/check/public_api.mjs +0 -2
- package/esm2022/icons/chevrondown/chevrondown.mjs +0 -32
- package/esm2022/icons/chevrondown/primeng-icons-chevrondown.mjs +0 -5
- package/esm2022/icons/chevrondown/public_api.mjs +0 -2
- package/esm2022/icons/chevronleft/chevronleft.mjs +0 -32
- package/esm2022/icons/chevronleft/primeng-icons-chevronleft.mjs +0 -5
- package/esm2022/icons/chevronleft/public_api.mjs +0 -2
- package/esm2022/icons/chevronright/chevronright.mjs +0 -32
- package/esm2022/icons/chevronright/primeng-icons-chevronright.mjs +0 -5
- package/esm2022/icons/chevronright/public_api.mjs +0 -2
- package/esm2022/icons/chevronup/chevronup.mjs +0 -32
- package/esm2022/icons/chevronup/primeng-icons-chevronup.mjs +0 -5
- package/esm2022/icons/chevronup/public_api.mjs +0 -2
- package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +0 -59
- package/esm2022/icons/exclamationtriangle/primeng-icons-exclamationtriangle.mjs +0 -5
- package/esm2022/icons/exclamationtriangle/public_api.mjs +0 -2
- package/esm2022/icons/eye/eye.mjs +0 -34
- package/esm2022/icons/eye/primeng-icons-eye.mjs +0 -5
- package/esm2022/icons/eye/public_api.mjs +0 -2
- package/esm2022/icons/eyeslash/eyeslash.mjs +0 -53
- package/esm2022/icons/eyeslash/primeng-icons-eyeslash.mjs +0 -5
- package/esm2022/icons/eyeslash/public_api.mjs +0 -2
- package/esm2022/icons/filter/filter.mjs +0 -51
- package/esm2022/icons/filter/primeng-icons-filter.mjs +0 -5
- package/esm2022/icons/filter/public_api.mjs +0 -2
- package/esm2022/icons/filterslash/filterslash.mjs +0 -53
- package/esm2022/icons/filterslash/primeng-icons-filterslash.mjs +0 -5
- package/esm2022/icons/filterslash/public_api.mjs +0 -2
- package/esm2022/icons/home/home.mjs +0 -53
- package/esm2022/icons/home/primeng-icons-home.mjs +0 -5
- package/esm2022/icons/home/public_api.mjs +0 -2
- package/esm2022/icons/infocircle/infocircle.mjs +0 -53
- package/esm2022/icons/infocircle/primeng-icons-infocircle.mjs +0 -5
- package/esm2022/icons/infocircle/public_api.mjs +0 -2
- package/esm2022/icons/minus/minus.mjs +0 -32
- package/esm2022/icons/minus/primeng-icons-minus.mjs +0 -5
- package/esm2022/icons/minus/public_api.mjs +0 -2
- package/esm2022/icons/pencil/pencil.mjs +0 -51
- package/esm2022/icons/pencil/primeng-icons-pencil.mjs +0 -5
- package/esm2022/icons/pencil/public_api.mjs +0 -2
- package/esm2022/icons/plus/plus.mjs +0 -51
- package/esm2022/icons/plus/primeng-icons-plus.mjs +0 -5
- package/esm2022/icons/plus/public_api.mjs +0 -2
- package/esm2022/icons/primeng-icons.mjs +0 -5
- package/esm2022/icons/public_api.mjs +0 -58
- package/esm2022/icons/refresh/primeng-icons-refresh.mjs +0 -5
- package/esm2022/icons/refresh/public_api.mjs +0 -2
- package/esm2022/icons/refresh/refresh.mjs +0 -53
- package/esm2022/icons/search/primeng-icons-search.mjs +0 -5
- package/esm2022/icons/search/public_api.mjs +0 -2
- package/esm2022/icons/search/search.mjs +0 -53
- package/esm2022/icons/searchminus/primeng-icons-searchminus.mjs +0 -5
- package/esm2022/icons/searchminus/public_api.mjs +0 -2
- package/esm2022/icons/searchminus/searchminus.mjs +0 -53
- package/esm2022/icons/searchplus/primeng-icons-searchplus.mjs +0 -5
- package/esm2022/icons/searchplus/public_api.mjs +0 -2
- package/esm2022/icons/searchplus/searchplus.mjs +0 -53
- package/esm2022/icons/sortalt/primeng-icons-sortalt.mjs +0 -5
- package/esm2022/icons/sortalt/public_api.mjs +0 -2
- package/esm2022/icons/sortalt/sortalt.mjs +0 -57
- package/esm2022/icons/sortamountdown/primeng-icons-sortamountdown.mjs +0 -5
- package/esm2022/icons/sortamountdown/public_api.mjs +0 -2
- package/esm2022/icons/sortamountdown/sortamountdown.mjs +0 -51
- package/esm2022/icons/sortamountupalt/primeng-icons-sortamountupalt.mjs +0 -5
- package/esm2022/icons/sortamountupalt/public_api.mjs +0 -2
- package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +0 -51
- package/esm2022/icons/spinner/primeng-icons-spinner.mjs +0 -5
- package/esm2022/icons/spinner/public_api.mjs +0 -2
- package/esm2022/icons/spinner/spinner.mjs +0 -51
- package/esm2022/icons/star/primeng-icons-star.mjs +0 -5
- package/esm2022/icons/star/public_api.mjs +0 -2
- package/esm2022/icons/star/star.mjs +0 -51
- package/esm2022/icons/starfill/primeng-icons-starfill.mjs +0 -5
- package/esm2022/icons/starfill/public_api.mjs +0 -2
- package/esm2022/icons/starfill/starfill.mjs +0 -51
- package/esm2022/icons/thlarge/primeng-icons-thlarge.mjs +0 -5
- package/esm2022/icons/thlarge/public_api.mjs +0 -2
- package/esm2022/icons/thlarge/thlarge.mjs +0 -53
- package/esm2022/icons/times/primeng-icons-times.mjs +0 -5
- package/esm2022/icons/times/public_api.mjs +0 -2
- package/esm2022/icons/times/times.mjs +0 -32
- package/esm2022/icons/timescircle/primeng-icons-timescircle.mjs +0 -5
- package/esm2022/icons/timescircle/public_api.mjs +0 -2
- package/esm2022/icons/timescircle/timescircle.mjs +0 -53
- package/esm2022/icons/trash/primeng-icons-trash.mjs +0 -5
- package/esm2022/icons/trash/public_api.mjs +0 -2
- package/esm2022/icons/trash/trash.mjs +0 -53
- package/esm2022/icons/undo/primeng-icons-undo.mjs +0 -5
- package/esm2022/icons/undo/public_api.mjs +0 -2
- package/esm2022/icons/undo/undo.mjs +0 -53
- package/esm2022/icons/upload/primeng-icons-upload.mjs +0 -5
- package/esm2022/icons/upload/public_api.mjs +0 -2
- package/esm2022/icons/upload/upload.mjs +0 -53
- package/esm2022/icons/windowmaximize/primeng-icons-windowmaximize.mjs +0 -5
- package/esm2022/icons/windowmaximize/public_api.mjs +0 -2
- package/esm2022/icons/windowmaximize/windowmaximize.mjs +0 -53
- package/esm2022/icons/windowminimize/primeng-icons-windowminimize.mjs +0 -5
- package/esm2022/icons/windowminimize/public_api.mjs +0 -2
- package/esm2022/icons/windowminimize/windowminimize.mjs +0 -53
- package/esm2022/iftalabel/iftalabel.mjs +0 -49
- package/esm2022/iftalabel/primeng-iftalabel.mjs +0 -5
- package/esm2022/iftalabel/public_api.mjs +0 -3
- package/esm2022/iftalabel/style/iftalabelstyle.mjs +0 -96
- package/esm2022/image/image.interface.mjs +0 -2
- package/esm2022/image/image.mjs +0 -747
- package/esm2022/image/primeng-image.mjs +0 -5
- package/esm2022/image/public_api.mjs +0 -4
- package/esm2022/image/style/imagestyle.mjs +0 -219
- package/esm2022/imagecompare/imagecompare.mjs +0 -158
- package/esm2022/imagecompare/primeng-imagecompare.mjs +0 -5
- package/esm2022/imagecompare/public_api.mjs +0 -3
- package/esm2022/imagecompare/style/imagecomparestyle.mjs +0 -124
- package/esm2022/inplace/inplace.interface.mjs +0 -2
- package/esm2022/inplace/inplace.mjs +0 -344
- package/esm2022/inplace/primeng-inplace.mjs +0 -5
- package/esm2022/inplace/public_api.mjs +0 -4
- package/esm2022/inplace/style/inplacestyle.mjs +0 -69
- package/esm2022/inputgroup/inputgroup.mjs +0 -68
- package/esm2022/inputgroup/primeng-inputgroup.mjs +0 -5
- package/esm2022/inputgroup/public_api.mjs +0 -3
- package/esm2022/inputgroup/style/inputgroupstyle.mjs +0 -145
- package/esm2022/inputgroupaddon/inputgroupaddon.mjs +0 -74
- package/esm2022/inputgroupaddon/primeng-inputgroupaddon.mjs +0 -5
- package/esm2022/inputgroupaddon/public_api.mjs +0 -3
- package/esm2022/inputgroupaddon/style/inputgroupaddonstyle.mjs +0 -16
- package/esm2022/inputicon/inputicon.mjs +0 -66
- package/esm2022/inputicon/primeng-inputicon.mjs +0 -5
- package/esm2022/inputicon/public_api.mjs +0 -3
- package/esm2022/inputicon/style/inputiconstyle.mjs +0 -16
- package/esm2022/inputmask/inputmask.interface.mjs +0 -2
- package/esm2022/inputmask/inputmask.mjs +0 -911
- package/esm2022/inputmask/primeng-inputmask.mjs +0 -5
- package/esm2022/inputmask/public_api.mjs +0 -4
- package/esm2022/inputmask/style/inputmaskstyle.mjs +0 -62
- package/esm2022/inputnumber/inputnumber.interface.mjs +0 -2
- package/esm2022/inputnumber/inputnumber.mjs +0 -1745
- package/esm2022/inputnumber/primeng-inputnumber.mjs +0 -5
- package/esm2022/inputnumber/public_api.mjs +0 -4
- package/esm2022/inputnumber/style/inputnumberstyle.mjs +0 -240
- package/esm2022/inputotp/inputotp.mjs +0 -406
- package/esm2022/inputotp/primeng-inputotp.mjs +0 -5
- package/esm2022/inputotp/public_api.mjs +0 -3
- package/esm2022/inputotp/style/inputotpstyle.mjs +0 -60
- package/esm2022/inputswitch/inputswitch.interface.mjs +0 -2
- package/esm2022/inputswitch/inputswitch.mjs +0 -241
- package/esm2022/inputswitch/primeng-inputswitch.mjs +0 -5
- package/esm2022/inputswitch/public_api.mjs +0 -4
- package/esm2022/inputswitch/style/inputswitchstyle.mjs +0 -130
- package/esm2022/inputtext/inputtext.mjs +0 -104
- package/esm2022/inputtext/primeng-inputtext.mjs +0 -5
- package/esm2022/inputtext/public_api.mjs +0 -3
- package/esm2022/inputtext/style/inputtextstyle.mjs +0 -117
- package/esm2022/inputtextarea/inputtextarea.mjs +0 -156
- package/esm2022/inputtextarea/primeng-inputtextarea.mjs +0 -5
- package/esm2022/inputtextarea/public_api.mjs +0 -3
- package/esm2022/inputtextarea/style/textareastyle.mjs +0 -107
- package/esm2022/keyfilter/keyfilter.interface.mjs +0 -2
- package/esm2022/keyfilter/keyfilter.mjs +0 -263
- package/esm2022/keyfilter/primeng-keyfilter.mjs +0 -5
- package/esm2022/keyfilter/public_api.mjs +0 -3
- package/esm2022/knob/knob.mjs +0 -471
- package/esm2022/knob/primeng-knob.mjs +0 -5
- package/esm2022/knob/public_api.mjs +0 -3
- package/esm2022/knob/style/knobstyle.mjs +0 -83
- package/esm2022/listbox/listbox.interface.mjs +0 -2
- package/esm2022/listbox/listbox.mjs +0 -2044
- package/esm2022/listbox/primeng-listbox.mjs +0 -5
- package/esm2022/listbox/public_api.mjs +0 -4
- package/esm2022/listbox/style/listboxstyle.mjs +0 -206
- package/esm2022/megamenu/megamenu.interface.mjs +0 -2
- package/esm2022/megamenu/megamenu.mjs +0 -1607
- package/esm2022/megamenu/primeng-megamenu.mjs +0 -5
- package/esm2022/megamenu/public_api.mjs +0 -4
- package/esm2022/megamenu/style/megamenustyle.mjs +0 -487
- package/esm2022/menu/menu.mjs +0 -1193
- package/esm2022/menu/primeng-menu.mjs +0 -5
- package/esm2022/menu/public_api.mjs +0 -3
- package/esm2022/menu/style/menustyle.mjs +0 -179
- package/esm2022/menubar/menubar.interface.mjs +0 -2
- package/esm2022/menubar/menubar.mjs +0 -1484
- package/esm2022/menubar/primeng-menubar.mjs +0 -5
- package/esm2022/menubar/public_api.mjs +0 -4
- package/esm2022/menubar/style/menubarstyle.mjs +0 -375
- package/esm2022/message/message.mjs +0 -421
- package/esm2022/message/primeng-message.mjs +0 -5
- package/esm2022/message/public_api.mjs +0 -3
- package/esm2022/message/style/messagestyle.mjs +0 -357
- package/esm2022/messages/messages.interface.mjs +0 -2
- package/esm2022/messages/messages.mjs +0 -529
- package/esm2022/messages/primeng-messages.mjs +0 -5
- package/esm2022/messages/public_api.mjs +0 -4
- package/esm2022/messages/style/messagesstyle.mjs +0 -229
- package/esm2022/metergroup/metergroup.interface.mjs +0 -2
- package/esm2022/metergroup/metergroup.mjs +0 -423
- package/esm2022/metergroup/primeng-metergroup.mjs +0 -5
- package/esm2022/metergroup/public_api.mjs +0 -4
- package/esm2022/metergroup/style/metergroupstyle.mjs +0 -169
- package/esm2022/multiselect/multiselect.interface.mjs +0 -2
- package/esm2022/multiselect/multiselect.mjs +0 -2924
- package/esm2022/multiselect/primeng-multiselect.mjs +0 -5
- package/esm2022/multiselect/public_api.mjs +0 -4
- package/esm2022/multiselect/style/multiselectstyle.mjs +0 -373
- package/esm2022/orderlist/orderlist.interface.mjs +0 -2
- package/esm2022/orderlist/orderlist.mjs +0 -1121
- package/esm2022/orderlist/primeng-orderlist.mjs +0 -5
- package/esm2022/orderlist/public_api.mjs +0 -4
- package/esm2022/orderlist/style/orderliststyle.mjs +0 -51
- package/esm2022/organizationchart/organizationchart.interface.mjs +0 -2
- package/esm2022/organizationchart/organizationchart.mjs +0 -591
- package/esm2022/organizationchart/primeng-organizationchart.mjs +0 -5
- package/esm2022/organizationchart/public_api.mjs +0 -4
- package/esm2022/organizationchart/style/organizationchartstyle.mjs +0 -191
- package/esm2022/overlay/overlay.mjs +0 -668
- package/esm2022/overlay/primeng-overlay.mjs +0 -5
- package/esm2022/overlay/public_api.mjs +0 -3
- package/esm2022/overlay/style/overlaystyle.mjs +0 -93
- package/esm2022/overlaybadge/overlaybadge.mjs +0 -121
- package/esm2022/overlaybadge/primeng-overlaybadge.mjs +0 -5
- package/esm2022/overlaybadge/public_api.mjs +0 -3
- package/esm2022/overlaybadge/style/overlaybadgestyle.mjs +0 -34
- package/esm2022/overlaypanel/overlaypanel.mjs +0 -529
- package/esm2022/overlaypanel/primeng-overlaypanel.mjs +0 -5
- package/esm2022/overlaypanel/public_api.mjs +0 -3
- package/esm2022/overlaypanel/style/popoverstyle.mjs +0 -119
- package/esm2022/paginator/paginator.interface.mjs +0 -2
- package/esm2022/paginator/paginator.mjs +0 -893
- package/esm2022/paginator/primeng-paginator.mjs +0 -5
- package/esm2022/paginator/public_api.mjs +0 -4
- package/esm2022/paginator/style/paginatorstyle.mjs +0 -243
- package/esm2022/panel/panel.mjs +0 -585
- package/esm2022/panel/primeng-panel.mjs +0 -5
- package/esm2022/panel/public_api.mjs +0 -3
- package/esm2022/panel/style/panelstyle.mjs +0 -120
- package/esm2022/panelmenu/panelmenu.interface.mjs +0 -2
- package/esm2022/panelmenu/panelmenu.mjs +0 -1628
- package/esm2022/panelmenu/primeng-panelmenu.mjs +0 -5
- package/esm2022/panelmenu/public_api.mjs +0 -4
- package/esm2022/panelmenu/style/panelmenustyle.mjs +0 -291
- package/esm2022/password/password.mjs +0 -1201
- package/esm2022/password/primeng-password.mjs +0 -5
- package/esm2022/password/public_api.mjs +0 -3
- package/esm2022/password/style/passwordstyle.mjs +0 -182
- package/esm2022/picklist/picklist.interface.mjs +0 -2
- package/esm2022/picklist/picklist.mjs +0 -2322
- package/esm2022/picklist/primeng-picklist.mjs +0 -5
- package/esm2022/picklist/public_api.mjs +0 -4
- package/esm2022/picklist/style/pickliststyle.mjs +0 -79
- package/esm2022/popover/popover.mjs +0 -518
- package/esm2022/popover/primeng-popover.mjs +0 -5
- package/esm2022/popover/public_api.mjs +0 -3
- package/esm2022/popover/style/popoverstyle.mjs +0 -99
- package/esm2022/primeng.mjs +0 -5
- package/esm2022/progressbar/primeng-progressbar.mjs +0 -5
- package/esm2022/progressbar/progressbar.mjs +0 -197
- package/esm2022/progressbar/public_api.mjs +0 -3
- package/esm2022/progressbar/style/progressbarstyle.mjs +0 -165
- package/esm2022/progressspinner/primeng-progressspinner.mjs +0 -5
- package/esm2022/progressspinner/progressspinner.mjs +0 -105
- package/esm2022/progressspinner/public_api.mjs +0 -3
- package/esm2022/progressspinner/style/progressspinnerstyle.mjs +0 -115
- package/esm2022/public_api.mjs +0 -2
- package/esm2022/radiobutton/primeng-radiobutton.mjs +0 -5
- package/esm2022/radiobutton/public_api.mjs +0 -4
- package/esm2022/radiobutton/radiobutton.interface.mjs +0 -2
- package/esm2022/radiobutton/radiobutton.mjs +0 -356
- package/esm2022/radiobutton/style/radiobuttonstyle.mjs +0 -196
- package/esm2022/rating/primeng-rating.mjs +0 -5
- package/esm2022/rating/public_api.mjs +0 -4
- package/esm2022/rating/rating.interface.mjs +0 -2
- package/esm2022/rating/rating.mjs +0 -425
- package/esm2022/rating/style/ratingstyle.mjs +0 -103
- package/esm2022/ripple/primeng-ripple.mjs +0 -5
- package/esm2022/ripple/public_api.mjs +0 -3
- package/esm2022/ripple/ripple.mjs +0 -134
- package/esm2022/ripple/style/ripplestyle.mjs +0 -63
- package/esm2022/scroller/primeng-scroller.mjs +0 -5
- package/esm2022/scroller/public_api.mjs +0 -4
- package/esm2022/scroller/scroller.interface.mjs +0 -2
- package/esm2022/scroller/scroller.mjs +0 -1290
- package/esm2022/scroller/style/scrollerstyle.mjs +0 -104
- package/esm2022/scrollpanel/primeng-scrollpanel.mjs +0 -5
- package/esm2022/scrollpanel/public_api.mjs +0 -4
- package/esm2022/scrollpanel/scrollpanel.interface.mjs +0 -2
- package/esm2022/scrollpanel/scrollpanel.mjs +0 -506
- package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +0 -120
- package/esm2022/scrolltop/primeng-scrolltop.mjs +0 -5
- package/esm2022/scrolltop/public_api.mjs +0 -4
- package/esm2022/scrolltop/scrolltop.interface.mjs +0 -2
- package/esm2022/scrolltop/scrolltop.mjs +0 -336
- package/esm2022/scrolltop/style/scrolltopstyle.mjs +0 -77
- package/esm2022/select/primeng-select.mjs +0 -5
- package/esm2022/select/public_api.mjs +0 -4
- package/esm2022/select/select.interface.mjs +0 -2
- package/esm2022/select/select.mjs +0 -2618
- package/esm2022/select/style/selectstyle.mjs +0 -365
- package/esm2022/selectbutton/primeng-selectbutton.mjs +0 -5
- package/esm2022/selectbutton/public_api.mjs +0 -4
- package/esm2022/selectbutton/selectbutton.interface.mjs +0 -2
- package/esm2022/selectbutton/selectbutton.mjs +0 -373
- package/esm2022/selectbutton/style/selectbuttonstyle.mjs +0 -73
- package/esm2022/sidebar/primeng-sidebar.mjs +0 -5
- package/esm2022/sidebar/public_api.mjs +0 -4
- package/esm2022/sidebar/sidebar.interface.mjs +0 -2
- package/esm2022/sidebar/sidebar.mjs +0 -578
- package/esm2022/sidebar/style/drawerstyle.mjs +0 -174
- package/esm2022/skeleton/primeng-skeleton.mjs +0 -5
- package/esm2022/skeleton/public_api.mjs +0 -3
- package/esm2022/skeleton/skeleton.mjs +0 -121
- package/esm2022/skeleton/style/skeletonstyle.mjs +0 -93
- package/esm2022/slider/primeng-slider.mjs +0 -5
- package/esm2022/slider/public_api.mjs +0 -4
- package/esm2022/slider/slider.interface.mjs +0 -2
- package/esm2022/slider/slider.mjs +0 -820
- package/esm2022/slider/style/sliderstyle.mjs +0 -141
- package/esm2022/speeddial/primeng-speeddial.mjs +0 -5
- package/esm2022/speeddial/public_api.mjs +0 -4
- package/esm2022/speeddial/speeddial.interface.mjs +0 -2
- package/esm2022/speeddial/speeddial.mjs +0 -866
- package/esm2022/speeddial/style/speeddialstyle.mjs +0 -167
- package/esm2022/splitbutton/primeng-splitbutton.mjs +0 -5
- package/esm2022/splitbutton/public_api.mjs +0 -4
- package/esm2022/splitbutton/splitbutton.interface.mjs +0 -2
- package/esm2022/splitbutton/splitbutton.mjs +0 -579
- package/esm2022/splitbutton/style/splitbuttonstyle.mjs +0 -100
- package/esm2022/splitter/primeng-splitter.mjs +0 -5
- package/esm2022/splitter/public_api.mjs +0 -4
- package/esm2022/splitter/splitter.interface.mjs +0 -2
- package/esm2022/splitter/splitter.mjs +0 -626
- package/esm2022/splitter/style/splitterstyle.mjs +0 -127
- package/esm2022/stepper/primeng-stepper.mjs +0 -5
- package/esm2022/stepper/public_api.mjs +0 -3
- package/esm2022/stepper/stepper.mjs +0 -521
- package/esm2022/stepper/style/stepperstyle.mjs +0 -228
- package/esm2022/steps/primeng-steps.mjs +0 -5
- package/esm2022/steps/public_api.mjs +0 -3
- package/esm2022/steps/steps.mjs +0 -405
- package/esm2022/steps/style/stepsstyle.mjs +0 -180
- package/esm2022/styleclass/primeng-styleclass.mjs +0 -5
- package/esm2022/styleclass/public_api.mjs +0 -2
- package/esm2022/styleclass/styleclass.mjs +0 -315
- package/esm2022/table/columnfilter.interface.mjs +0 -2
- package/esm2022/table/primeng-table.mjs +0 -5
- package/esm2022/table/public_api.mjs +0 -5
- package/esm2022/table/style/tablestyle.mjs +0 -906
- package/esm2022/table/table.interface.mjs +0 -2
- package/esm2022/table/table.mjs +0 -7829
- package/esm2022/tabmenu/primeng-tabmenu.mjs +0 -5
- package/esm2022/tabmenu/public_api.mjs +0 -4
- package/esm2022/tabmenu/style/tabmenustyle.mjs +0 -192
- package/esm2022/tabmenu/tabmenu.interface.mjs +0 -2
- package/esm2022/tabmenu/tabmenu.mjs +0 -730
- package/esm2022/tabs/primeng-tabs.mjs +0 -5
- package/esm2022/tabs/public_api.mjs +0 -7
- package/esm2022/tabs/style/tabsstyle.mjs +0 -211
- package/esm2022/tabs/tab.mjs +0 -175
- package/esm2022/tabs/tablist.mjs +0 -297
- package/esm2022/tabs/tabpanel.mjs +0 -60
- package/esm2022/tabs/tabpanels.mjs +0 -38
- package/esm2022/tabs/tabs.mjs +0 -105
- package/esm2022/tabview/primeng-tabview.mjs +0 -5
- package/esm2022/tabview/public_api.mjs +0 -4
- package/esm2022/tabview/style/tabsstyle.mjs +0 -211
- package/esm2022/tabview/tabview.interface.mjs +0 -2
- package/esm2022/tabview/tabview.mjs +0 -1089
- package/esm2022/tag/primeng-tag.mjs +0 -5
- package/esm2022/tag/public_api.mjs +0 -4
- package/esm2022/tag/style/tagstyle.mjs +0 -108
- package/esm2022/tag/tag.interface.mjs +0 -2
- package/esm2022/tag/tag.mjs +0 -168
- package/esm2022/terminal/primeng-terminal.mjs +0 -5
- package/esm2022/terminal/public_api.mjs +0 -4
- package/esm2022/terminal/style/terminalstyle.mjs +0 -113
- package/esm2022/terminal/terminal.mjs +0 -195
- package/esm2022/terminal/terminalservice.mjs +0 -25
- package/esm2022/textarea/primeng-textarea.mjs +0 -5
- package/esm2022/textarea/public_api.mjs +0 -3
- package/esm2022/textarea/style/textareastyle.mjs +0 -120
- package/esm2022/textarea/textarea.mjs +0 -165
- package/esm2022/tieredmenu/primeng-tieredmenu.mjs +0 -5
- package/esm2022/tieredmenu/public_api.mjs +0 -4
- package/esm2022/tieredmenu/style/tieredmenustyle.mjs +0 -276
- package/esm2022/tieredmenu/tieredmenu.interface.mjs +0 -2
- package/esm2022/tieredmenu/tieredmenu.mjs +0 -1444
- package/esm2022/timeline/primeng-timeline.mjs +0 -5
- package/esm2022/timeline/public_api.mjs +0 -4
- package/esm2022/timeline/style/timelinestyle.mjs +0 -217
- package/esm2022/timeline/timeline.interface.mjs +0 -2
- package/esm2022/timeline/timeline.mjs +0 -223
- package/esm2022/toast/primeng-toast.mjs +0 -5
- package/esm2022/toast/public_api.mjs +0 -4
- package/esm2022/toast/style/toaststyle.mjs +0 -351
- package/esm2022/toast/toast.interface.mjs +0 -2
- package/esm2022/toast/toast.mjs +0 -738
- package/esm2022/togglebutton/primeng-togglebutton.mjs +0 -5
- package/esm2022/togglebutton/public_api.mjs +0 -3
- package/esm2022/togglebutton/style/togglebuttonstyle.mjs +0 -170
- package/esm2022/togglebutton/togglebutton.interface.mjs +0 -2
- package/esm2022/togglebutton/togglebutton.mjs +0 -353
- package/esm2022/toggleswitch/primeng-toggleswitch.mjs +0 -5
- package/esm2022/toggleswitch/public_api.mjs +0 -4
- package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +0 -165
- package/esm2022/toggleswitch/toggleswitch.interface.mjs +0 -2
- package/esm2022/toggleswitch/toggleswitch.mjs +0 -278
- package/esm2022/toolbar/primeng-toolbar.mjs +0 -5
- package/esm2022/toolbar/public_api.mjs +0 -4
- package/esm2022/toolbar/style/toolbarstyle.mjs +0 -69
- package/esm2022/toolbar/toolbar.interface.mjs +0 -2
- package/esm2022/toolbar/toolbar.mjs +0 -172
- package/esm2022/tooltip/primeng-tooltip.mjs +0 -5
- package/esm2022/tooltip/public_api.mjs +0 -3
- package/esm2022/tooltip/style/tooltipstyle.mjs +0 -113
- package/esm2022/tooltip/tooltip.mjs +0 -715
- package/esm2022/tree/primeng-tree.mjs +0 -5
- package/esm2022/tree/public_api.mjs +0 -4
- package/esm2022/tree/style/treestyle.mjs +0 -333
- package/esm2022/tree/tree.interface.mjs +0 -2
- package/esm2022/tree/tree.mjs +0 -2289
- package/esm2022/treeselect/primeng-treeselect.mjs +0 -5
- package/esm2022/treeselect/public_api.mjs +0 -4
- package/esm2022/treeselect/style/treeselectstyle.mjs +0 -271
- package/esm2022/treeselect/treeselect.interface.mjs +0 -2
- package/esm2022/treeselect/treeselect.mjs +0 -1372
- package/esm2022/treetable/primeng-treetable.mjs +0 -5
- package/esm2022/treetable/public_api.mjs +0 -4
- package/esm2022/treetable/style/treetablestyle.mjs +0 -621
- package/esm2022/treetable/treetable.interface.mjs +0 -2
- package/esm2022/treetable/treetable.mjs +0 -4642
- package/esm2022/ts-helpers/primeng-ts-helpers.mjs +0 -5
- package/esm2022/ts-helpers/public_api.mjs +0 -2
- package/esm2022/ts-helpers/ts-helpers.mjs +0 -2
- package/esm2022/usestyle/primeng-usestyle.mjs +0 -5
- package/esm2022/usestyle/public_api.mjs +0 -2
- package/esm2022/usestyle/usestyle.mjs +0 -44
- package/esm2022/utils/inpututils.mjs +0 -7
- package/esm2022/utils/objectutils.mjs +0 -276
- package/esm2022/utils/primeng-utils.mjs +0 -5
- package/esm2022/utils/public_api.mjs +0 -6
- package/esm2022/utils/uniquecomponentid.mjs +0 -6
- package/esm2022/utils/zindexutils.mjs +0 -35
@@ -1,1121 +0,0 @@
|
|
1
|
-
import { DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';
|
2
|
-
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
3
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, EventEmitter, inject, Input, NgModule, numberAttribute, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
4
|
-
import { FormsModule } from '@angular/forms';
|
5
|
-
import { find, findIndexInList, findSingle, hasClass, insertIntoOrderedArray, isHidden, scrollInView, setAttribute, uuid } from '@primeuix/utils';
|
6
|
-
import { FilterService, SharedModule } from 'primeng/api';
|
7
|
-
import { BaseComponent } from 'primeng/basecomponent';
|
8
|
-
import { ButtonDirective } from 'primeng/button';
|
9
|
-
import { AngleDoubleDownIcon, AngleDoubleUpIcon, AngleDownIcon, AngleUpIcon, SearchIcon } from 'primeng/icons';
|
10
|
-
import { Listbox } from 'primeng/listbox';
|
11
|
-
import { Ripple } from 'primeng/ripple';
|
12
|
-
import { OrderListStyle } from './style/orderliststyle';
|
13
|
-
import * as i0 from "@angular/core";
|
14
|
-
import * as i1 from "@angular/common";
|
15
|
-
import * as i2 from "@angular/forms";
|
16
|
-
const _c0 = ["item"];
|
17
|
-
const _c1 = ["empty"];
|
18
|
-
const _c2 = ["emptyfilter"];
|
19
|
-
const _c3 = ["filter"];
|
20
|
-
const _c4 = ["header"];
|
21
|
-
const _c5 = ["moveupicon"];
|
22
|
-
const _c6 = ["movetopicon"];
|
23
|
-
const _c7 = ["movedownicon"];
|
24
|
-
const _c8 = ["movebottomicon"];
|
25
|
-
const _c9 = ["filtericon"];
|
26
|
-
const _c10 = ["listelement"];
|
27
|
-
const _c11 = (a0, a1, a2) => ({ "p-orderlist p-component": true, "p-orderlist-striped": a0, "p-orderlist-controls-left": a1, "p-orderlist-controls-right": a2 });
|
28
|
-
const _c12 = (a0, a1, a2) => ({ $implicit: a0, selected: a1, index: a2 });
|
29
|
-
function OrderList_AngleUpIcon_3_Template(rf, ctx) { if (rf & 1) {
|
30
|
-
i0.ɵɵelement(0, "AngleUpIcon");
|
31
|
-
} if (rf & 2) {
|
32
|
-
i0.ɵɵattribute("data-pc-section", "moveupicon");
|
33
|
-
} }
|
34
|
-
function OrderList_4_ng_template_0_Template(rf, ctx) { }
|
35
|
-
function OrderList_4_Template(rf, ctx) { if (rf & 1) {
|
36
|
-
i0.ɵɵtemplate(0, OrderList_4_ng_template_0_Template, 0, 0, "ng-template");
|
37
|
-
} }
|
38
|
-
function OrderList_AngleDoubleUpIcon_6_Template(rf, ctx) { if (rf & 1) {
|
39
|
-
i0.ɵɵelement(0, "AngleDoubleUpIcon");
|
40
|
-
} if (rf & 2) {
|
41
|
-
i0.ɵɵattribute("data-pc-section", "movetopicon");
|
42
|
-
} }
|
43
|
-
function OrderList_7_ng_template_0_Template(rf, ctx) { }
|
44
|
-
function OrderList_7_Template(rf, ctx) { if (rf & 1) {
|
45
|
-
i0.ɵɵtemplate(0, OrderList_7_ng_template_0_Template, 0, 0, "ng-template");
|
46
|
-
} }
|
47
|
-
function OrderList_AngleDownIcon_9_Template(rf, ctx) { if (rf & 1) {
|
48
|
-
i0.ɵɵelement(0, "AngleDownIcon");
|
49
|
-
} if (rf & 2) {
|
50
|
-
i0.ɵɵattribute("data-pc-section", "movedownicon");
|
51
|
-
} }
|
52
|
-
function OrderList_10_ng_template_0_Template(rf, ctx) { }
|
53
|
-
function OrderList_10_Template(rf, ctx) { if (rf & 1) {
|
54
|
-
i0.ɵɵtemplate(0, OrderList_10_ng_template_0_Template, 0, 0, "ng-template");
|
55
|
-
} }
|
56
|
-
function OrderList_AngleDoubleDownIcon_12_Template(rf, ctx) { if (rf & 1) {
|
57
|
-
i0.ɵɵelement(0, "AngleDoubleDownIcon");
|
58
|
-
} if (rf & 2) {
|
59
|
-
i0.ɵɵattribute("data-pc-section", "movebottomicon");
|
60
|
-
} }
|
61
|
-
function OrderList_13_ng_template_0_Template(rf, ctx) { }
|
62
|
-
function OrderList_13_Template(rf, ctx) { if (rf & 1) {
|
63
|
-
i0.ɵɵtemplate(0, OrderList_13_ng_template_0_Template, 0, 0, "ng-template");
|
64
|
-
} }
|
65
|
-
function OrderList_ng_container_17_ng_template_1_0_ng_template_0_Template(rf, ctx) { }
|
66
|
-
function OrderList_ng_container_17_ng_template_1_0_Template(rf, ctx) { if (rf & 1) {
|
67
|
-
i0.ɵɵtemplate(0, OrderList_ng_container_17_ng_template_1_0_ng_template_0_Template, 0, 0, "ng-template");
|
68
|
-
} }
|
69
|
-
function OrderList_ng_container_17_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
70
|
-
i0.ɵɵtemplate(0, OrderList_ng_container_17_ng_template_1_0_Template, 1, 0, null, 7);
|
71
|
-
} if (rf & 2) {
|
72
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
73
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.headerTemplate);
|
74
|
-
} }
|
75
|
-
function OrderList_ng_container_17_Template(rf, ctx) { if (rf & 1) {
|
76
|
-
i0.ɵɵelementContainerStart(0);
|
77
|
-
i0.ɵɵtemplate(1, OrderList_ng_container_17_ng_template_1_Template, 1, 1, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
78
|
-
i0.ɵɵelementContainerEnd();
|
79
|
-
} }
|
80
|
-
function OrderList_ng_container_18_ng_template_1_0_ng_template_0_Template(rf, ctx) { }
|
81
|
-
function OrderList_ng_container_18_ng_template_1_0_Template(rf, ctx) { if (rf & 1) {
|
82
|
-
i0.ɵɵtemplate(0, OrderList_ng_container_18_ng_template_1_0_ng_template_0_Template, 0, 0, "ng-template");
|
83
|
-
} }
|
84
|
-
function OrderList_ng_container_18_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
85
|
-
i0.ɵɵtemplate(0, OrderList_ng_container_18_ng_template_1_0_Template, 1, 0, null, 10);
|
86
|
-
} if (rf & 2) {
|
87
|
-
const option_r3 = ctx.$implicit;
|
88
|
-
const selected_r4 = ctx.selected;
|
89
|
-
const index_r5 = ctx.index;
|
90
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
91
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.itemTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction3(2, _c12, option_r3, selected_r4, index_r5));
|
92
|
-
} }
|
93
|
-
function OrderList_ng_container_18_Template(rf, ctx) { if (rf & 1) {
|
94
|
-
i0.ɵɵelementContainerStart(0);
|
95
|
-
i0.ɵɵtemplate(1, OrderList_ng_container_18_ng_template_1_Template, 1, 6, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor);
|
96
|
-
i0.ɵɵelementContainerEnd();
|
97
|
-
} }
|
98
|
-
/**
|
99
|
-
* OrderList is used to manage the order of a collection.
|
100
|
-
* @group Components
|
101
|
-
*/
|
102
|
-
export class OrderList extends BaseComponent {
|
103
|
-
/**
|
104
|
-
* Text for the caption.
|
105
|
-
* @group Props
|
106
|
-
*/
|
107
|
-
header;
|
108
|
-
/**
|
109
|
-
* Inline style of the component.
|
110
|
-
* @group Props
|
111
|
-
*/
|
112
|
-
style;
|
113
|
-
/**
|
114
|
-
* Style class of the component.
|
115
|
-
* @group Props
|
116
|
-
*/
|
117
|
-
styleClass;
|
118
|
-
/**
|
119
|
-
* Index of the element in tabbing order.
|
120
|
-
* @group Props
|
121
|
-
*/
|
122
|
-
tabindex;
|
123
|
-
/**
|
124
|
-
* Defines a string that labels the input for accessibility.
|
125
|
-
* @group Props
|
126
|
-
*/
|
127
|
-
ariaLabel;
|
128
|
-
/**
|
129
|
-
* Specifies one or more IDs in the DOM that labels the input field.
|
130
|
-
* @group Props
|
131
|
-
*/
|
132
|
-
ariaLabelledBy;
|
133
|
-
/**
|
134
|
-
* Inline style of the list element.
|
135
|
-
* @group Props
|
136
|
-
*/
|
137
|
-
listStyle;
|
138
|
-
/**
|
139
|
-
* A boolean value that indicates whether the component should be responsive.
|
140
|
-
* @group Props
|
141
|
-
*/
|
142
|
-
responsive;
|
143
|
-
/**
|
144
|
-
* When specified displays an input field to filter the items on keyup and decides which fields to search against.
|
145
|
-
* @group Props
|
146
|
-
*/
|
147
|
-
filterBy;
|
148
|
-
/**
|
149
|
-
* Placeholder of the filter input.
|
150
|
-
* @group Props
|
151
|
-
*/
|
152
|
-
filterPlaceholder;
|
153
|
-
/**
|
154
|
-
* Locale to use in filtering. The default locale is the host environment's current locale.
|
155
|
-
* @group Props
|
156
|
-
*/
|
157
|
-
filterLocale;
|
158
|
-
/**
|
159
|
-
* When true metaKey needs to be pressed to select or unselect an item and when set to false selection of each item can be toggled individually. On touch enabled devices, metaKeySelection is turned off automatically.
|
160
|
-
* @group Props
|
161
|
-
*/
|
162
|
-
metaKeySelection = false;
|
163
|
-
/**
|
164
|
-
* Whether to enable dragdrop based reordering.
|
165
|
-
* @group Props
|
166
|
-
*/
|
167
|
-
dragdrop = false;
|
168
|
-
/**
|
169
|
-
* Defines the location of the buttons with respect to the list.
|
170
|
-
* @group Props
|
171
|
-
*/
|
172
|
-
controlsPosition = 'left';
|
173
|
-
/**
|
174
|
-
* Defines a string that labels the filter input.
|
175
|
-
* @group Props
|
176
|
-
*/
|
177
|
-
ariaFilterLabel;
|
178
|
-
/**
|
179
|
-
* Defines how the items are filtered.
|
180
|
-
* @group Props
|
181
|
-
*/
|
182
|
-
filterMatchMode = 'contains';
|
183
|
-
/**
|
184
|
-
* Indicates the width of the screen at which the component should change its behavior.
|
185
|
-
* @group Props
|
186
|
-
*/
|
187
|
-
breakpoint = '960px';
|
188
|
-
/**
|
189
|
-
* Whether to displays rows with alternating colors.
|
190
|
-
* @group Props
|
191
|
-
*/
|
192
|
-
stripedRows;
|
193
|
-
/**
|
194
|
-
* When present, it specifies that the component should be disabled.
|
195
|
-
* @group Props
|
196
|
-
*/
|
197
|
-
disabled = false;
|
198
|
-
/**
|
199
|
-
* Function to optimize the dom operations by delegating to ngForTrackBy, default algorithm checks for object identity.
|
200
|
-
* @group Props
|
201
|
-
*/
|
202
|
-
trackBy = (index, item) => item;
|
203
|
-
/**
|
204
|
-
* Height of the viewport, a scrollbar is defined if height of list exceeds this value.
|
205
|
-
* @group Props
|
206
|
-
*/
|
207
|
-
scrollHeight = '14rem';
|
208
|
-
/**
|
209
|
-
* Whether to focus on the first visible or selected element.
|
210
|
-
* @group Props
|
211
|
-
*/
|
212
|
-
autoOptionFocus = true;
|
213
|
-
/**
|
214
|
-
* A list of values that are currently selected.
|
215
|
-
* @group Props
|
216
|
-
*/
|
217
|
-
set selection(val) {
|
218
|
-
this.d_selection = val;
|
219
|
-
}
|
220
|
-
get selection() {
|
221
|
-
return this.d_selection;
|
222
|
-
}
|
223
|
-
/**
|
224
|
-
* Array of values to be displayed in the component.
|
225
|
-
* It represents the data source for the list of items.
|
226
|
-
* @group Props
|
227
|
-
*/
|
228
|
-
set value(val) {
|
229
|
-
this._value = val;
|
230
|
-
if (this.filterValue) {
|
231
|
-
this.filter();
|
232
|
-
}
|
233
|
-
}
|
234
|
-
get value() {
|
235
|
-
return this._value;
|
236
|
-
}
|
237
|
-
/**
|
238
|
-
* Used to pass all properties of the ButtonProps to the Button component.
|
239
|
-
* @group Props
|
240
|
-
*/
|
241
|
-
buttonProps = { severity: 'secondary' };
|
242
|
-
/**
|
243
|
-
* Used to pass all properties of the ButtonProps to the move up button inside the component.
|
244
|
-
* @group Props
|
245
|
-
*/
|
246
|
-
moveUpButtonProps;
|
247
|
-
/**
|
248
|
-
* Used to pass all properties of the ButtonProps to the move top button inside the component.
|
249
|
-
* @group Props
|
250
|
-
*/
|
251
|
-
moveTopButtonProps;
|
252
|
-
/**
|
253
|
-
* Used to pass all properties of the ButtonProps to the move down button inside the component.
|
254
|
-
* @group Props
|
255
|
-
*/
|
256
|
-
moveDownButtonProps;
|
257
|
-
/**
|
258
|
-
* Used to pass all properties of the ButtonProps to the move bottom button inside the component.
|
259
|
-
* @group Props
|
260
|
-
*/
|
261
|
-
moveBottomButtonProps;
|
262
|
-
/**
|
263
|
-
* Callback to invoke on selection change.
|
264
|
-
* @param {*} any - selection instance.
|
265
|
-
* @group Emits
|
266
|
-
*/
|
267
|
-
selectionChange = new EventEmitter();
|
268
|
-
/**
|
269
|
-
* Callback to invoke when list is reordered.
|
270
|
-
* @param {*} any - list instance.
|
271
|
-
* @group Emits
|
272
|
-
*/
|
273
|
-
onReorder = new EventEmitter();
|
274
|
-
/**
|
275
|
-
* Callback to invoke when selection changes.
|
276
|
-
* @param {OrderListSelectionChangeEvent} event - Custom change event.
|
277
|
-
* @group Emits
|
278
|
-
*/
|
279
|
-
onSelectionChange = new EventEmitter();
|
280
|
-
/**
|
281
|
-
* Callback to invoke when filtering occurs.
|
282
|
-
* @param {OrderListFilterEvent} event - Custom filter event.
|
283
|
-
* @group Emits
|
284
|
-
*/
|
285
|
-
onFilterEvent = new EventEmitter();
|
286
|
-
/**
|
287
|
-
* Callback to invoke when the list is focused
|
288
|
-
* @param {Event} event - Browser event.
|
289
|
-
* @group Emits
|
290
|
-
*/
|
291
|
-
onFocus = new EventEmitter();
|
292
|
-
/**
|
293
|
-
* Callback to invoke when the list is blurred
|
294
|
-
* @param {Event} event - Browser event.
|
295
|
-
* @group Emits
|
296
|
-
*/
|
297
|
-
onBlur = new EventEmitter();
|
298
|
-
listViewChild;
|
299
|
-
filterViewChild;
|
300
|
-
/**
|
301
|
-
* Custom item template.
|
302
|
-
* @group Templates
|
303
|
-
*/
|
304
|
-
itemTemplate;
|
305
|
-
/**
|
306
|
-
* Custom empty template.
|
307
|
-
* @group Templates
|
308
|
-
*/
|
309
|
-
emptymessageTemplate;
|
310
|
-
/**
|
311
|
-
* Custom empty filter template.
|
312
|
-
* @group Templates
|
313
|
-
*/
|
314
|
-
emptyfiltermessageTemplate;
|
315
|
-
/**
|
316
|
-
* Custom filter template.
|
317
|
-
* @group Templates
|
318
|
-
*/
|
319
|
-
filterTemplate;
|
320
|
-
/**
|
321
|
-
* Custom header template.
|
322
|
-
* @group Templates
|
323
|
-
*/
|
324
|
-
headerTemplate;
|
325
|
-
/**
|
326
|
-
* Custom move up icon template.
|
327
|
-
* @group Templates
|
328
|
-
*/
|
329
|
-
moveupiconTemplate;
|
330
|
-
/**
|
331
|
-
* Custom move top icon template.
|
332
|
-
* @group Templates
|
333
|
-
*/
|
334
|
-
movetopiconTemplate;
|
335
|
-
/**
|
336
|
-
* Custom move down icon template.
|
337
|
-
* @group Templates
|
338
|
-
*/
|
339
|
-
movedowniconTemplate;
|
340
|
-
/**
|
341
|
-
* Custom move bottom icon template.
|
342
|
-
* @group Templates
|
343
|
-
*/
|
344
|
-
movebottomiconTemplate;
|
345
|
-
/**
|
346
|
-
* Custom filter icon template.
|
347
|
-
* @group Templates
|
348
|
-
*/
|
349
|
-
filtericonTemplate;
|
350
|
-
get moveUpAriaLabel() {
|
351
|
-
return this.config.translation.aria ? this.config.translation.aria.moveUp : undefined;
|
352
|
-
}
|
353
|
-
get moveTopAriaLabel() {
|
354
|
-
return this.config.translation.aria ? this.config.translation.aria.moveTop : undefined;
|
355
|
-
}
|
356
|
-
get moveDownAriaLabel() {
|
357
|
-
return this.config.translation.aria ? this.config.translation.aria.moveDown : undefined;
|
358
|
-
}
|
359
|
-
get moveBottomAriaLabel() {
|
360
|
-
return this.config.translation.aria ? this.config.translation.aria.moveBottom : undefined;
|
361
|
-
}
|
362
|
-
_componentStyle = inject(OrderListStyle);
|
363
|
-
filterOptions;
|
364
|
-
d_selection = [];
|
365
|
-
movedUp;
|
366
|
-
movedDown;
|
367
|
-
itemTouched;
|
368
|
-
styleElement;
|
369
|
-
id = uuid('pn_id_');
|
370
|
-
focused = false;
|
371
|
-
focusedOptionIndex = -1;
|
372
|
-
focusedOption;
|
373
|
-
filterValue;
|
374
|
-
visibleOptions;
|
375
|
-
_value;
|
376
|
-
filterService = inject(FilterService);
|
377
|
-
getButtonProps(direction) {
|
378
|
-
switch (direction) {
|
379
|
-
case 'up':
|
380
|
-
return { ...this.buttonProps, ...this.moveUpButtonProps };
|
381
|
-
case 'top':
|
382
|
-
return { ...this.buttonProps, ...this.moveTopButtonProps };
|
383
|
-
case 'down':
|
384
|
-
return { ...this.buttonProps, ...this.moveDownButtonProps };
|
385
|
-
case 'bottom':
|
386
|
-
return { ...this.buttonProps, ...this.moveBottomButtonProps };
|
387
|
-
default:
|
388
|
-
return this.buttonProps;
|
389
|
-
}
|
390
|
-
}
|
391
|
-
ngOnInit() {
|
392
|
-
super.ngOnInit();
|
393
|
-
if (this.responsive) {
|
394
|
-
this.createStyle();
|
395
|
-
}
|
396
|
-
if (this.filterBy) {
|
397
|
-
this.filterOptions = {
|
398
|
-
filter: (value) => this.onFilterKeyup(value),
|
399
|
-
reset: () => this.resetFilter()
|
400
|
-
};
|
401
|
-
}
|
402
|
-
}
|
403
|
-
ngAfterViewChecked() {
|
404
|
-
if (this.movedUp || this.movedDown) {
|
405
|
-
let listItems = find(this.listViewChild?.el.nativeElement, 'li.p-listbox-option-selected');
|
406
|
-
let listItem;
|
407
|
-
if (listItems.length > 0) {
|
408
|
-
if (this.movedUp)
|
409
|
-
listItem = listItems[0];
|
410
|
-
else
|
411
|
-
listItem = listItems[listItems.length - 1];
|
412
|
-
scrollInView(this.listViewChild?.el.nativeElement, listItem);
|
413
|
-
}
|
414
|
-
this.movedUp = false;
|
415
|
-
this.movedDown = false;
|
416
|
-
}
|
417
|
-
}
|
418
|
-
onItemClick(event, item, index, selectedId) {
|
419
|
-
this.itemTouched = false;
|
420
|
-
let focusedIndex = index ? index : findIndexInList(this.focusedOption, this.value);
|
421
|
-
let selectedIndex = findIndexInList(item, this.d_selection);
|
422
|
-
let selected = selectedIndex !== -1;
|
423
|
-
let metaSelection = this.itemTouched ? false : this.metaKeySelection;
|
424
|
-
if (selectedId) {
|
425
|
-
this.focusedOptionIndex = selectedId;
|
426
|
-
}
|
427
|
-
if (metaSelection) {
|
428
|
-
let metaKey = event.metaKey || event.ctrlKey;
|
429
|
-
if (selected && metaKey) {
|
430
|
-
this.d_selection = this.d_selection.filter((val, focusedIndex) => focusedIndex !== selectedIndex);
|
431
|
-
}
|
432
|
-
else {
|
433
|
-
this.d_selection = metaKey ? (this.d_selection ? [...this.d_selection] : []) : [];
|
434
|
-
insertIntoOrderedArray(item, focusedIndex, this.d_selection, this.value);
|
435
|
-
}
|
436
|
-
}
|
437
|
-
else {
|
438
|
-
if (selected) {
|
439
|
-
this.d_selection = this.d_selection.filter((val, focusedIndex) => focusedIndex !== selectedIndex);
|
440
|
-
}
|
441
|
-
else {
|
442
|
-
this.d_selection = this.d_selection ? [...this.d_selection] : [];
|
443
|
-
insertIntoOrderedArray(item, focusedIndex, this.d_selection, this.value);
|
444
|
-
}
|
445
|
-
}
|
446
|
-
//binding
|
447
|
-
this.selectionChange.emit(this.d_selection);
|
448
|
-
//event
|
449
|
-
this.onSelectionChange.emit({ originalEvent: event, value: this.d_selection });
|
450
|
-
}
|
451
|
-
onFilterKeyup(event) {
|
452
|
-
this.filterValue = event.target.value.trim().toLocaleLowerCase(this.filterLocale);
|
453
|
-
this.filter();
|
454
|
-
this.onFilterEvent.emit({
|
455
|
-
originalEvent: event,
|
456
|
-
value: this.visibleOptions
|
457
|
-
});
|
458
|
-
}
|
459
|
-
filter() {
|
460
|
-
let searchFields = this.filterBy.split(',');
|
461
|
-
this.visibleOptions = this.filterService.filter(this.value, searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);
|
462
|
-
}
|
463
|
-
/**
|
464
|
-
* Callback to invoke on filter reset.
|
465
|
-
* @group Method
|
466
|
-
*/
|
467
|
-
resetFilter() {
|
468
|
-
this.filterValue = null;
|
469
|
-
this.filterViewChild && (this.filterViewChild.nativeElement.value = '');
|
470
|
-
}
|
471
|
-
isItemVisible(item) {
|
472
|
-
if (this.filterValue && this.filterValue.trim().length) {
|
473
|
-
for (let i = 0; i < this.visibleOptions.length; i++) {
|
474
|
-
if (item == this.visibleOptions[i]) {
|
475
|
-
return true;
|
476
|
-
}
|
477
|
-
}
|
478
|
-
}
|
479
|
-
else {
|
480
|
-
return true;
|
481
|
-
}
|
482
|
-
}
|
483
|
-
onItemTouchEnd() {
|
484
|
-
this.itemTouched = true;
|
485
|
-
}
|
486
|
-
isSelected(item) {
|
487
|
-
return findIndexInList(item, this.d_selection) !== -1;
|
488
|
-
}
|
489
|
-
isEmpty() {
|
490
|
-
return this.filterValue ? !this.visibleOptions || this.visibleOptions.length === 0 : !this.value || this.value.length === 0;
|
491
|
-
}
|
492
|
-
moveUp() {
|
493
|
-
if (this.selection) {
|
494
|
-
for (let i = 0; i < this.selection.length; i++) {
|
495
|
-
let selectedItem = this.selection[i];
|
496
|
-
let selectedItemIndex = findIndexInList(selectedItem, this.value);
|
497
|
-
if (selectedItemIndex != 0 && this.value instanceof Array) {
|
498
|
-
let movedItem = this.value[selectedItemIndex];
|
499
|
-
let temp = this.value[selectedItemIndex - 1];
|
500
|
-
this.value[selectedItemIndex - 1] = movedItem;
|
501
|
-
this.value[selectedItemIndex] = temp;
|
502
|
-
}
|
503
|
-
else {
|
504
|
-
break;
|
505
|
-
}
|
506
|
-
}
|
507
|
-
if (this.dragdrop && this.filterValue)
|
508
|
-
this.filter();
|
509
|
-
this.movedUp = true;
|
510
|
-
this.onReorder.emit(this.selection);
|
511
|
-
}
|
512
|
-
this.listViewChild?.cd?.markForCheck();
|
513
|
-
}
|
514
|
-
moveTop() {
|
515
|
-
if (this.selection) {
|
516
|
-
for (let i = this.selection.length - 1; i >= 0; i--) {
|
517
|
-
let selectedItem = this.selection[i];
|
518
|
-
let selectedItemIndex = findIndexInList(selectedItem, this.value);
|
519
|
-
if (selectedItemIndex != 0 && this.value instanceof Array) {
|
520
|
-
let movedItem = this.value.splice(selectedItemIndex, 1)[0];
|
521
|
-
this.value.unshift(movedItem);
|
522
|
-
}
|
523
|
-
else {
|
524
|
-
break;
|
525
|
-
}
|
526
|
-
}
|
527
|
-
if (this.dragdrop && this.filterValue)
|
528
|
-
this.filter();
|
529
|
-
this.onReorder.emit(this.selection);
|
530
|
-
setTimeout(() => {
|
531
|
-
this.listViewChild.scrollInView(0);
|
532
|
-
});
|
533
|
-
}
|
534
|
-
this.listViewChild?.cd?.markForCheck();
|
535
|
-
}
|
536
|
-
moveDown() {
|
537
|
-
if (this.selection) {
|
538
|
-
for (let i = this.selection.length - 1; i >= 0; i--) {
|
539
|
-
let selectedItem = this.selection[i];
|
540
|
-
let selectedItemIndex = findIndexInList(selectedItem, this.value);
|
541
|
-
if (this.value instanceof Array && selectedItemIndex != this.value.length - 1) {
|
542
|
-
let movedItem = this.value[selectedItemIndex];
|
543
|
-
let temp = this.value[selectedItemIndex + 1];
|
544
|
-
this.value[selectedItemIndex + 1] = movedItem;
|
545
|
-
this.value[selectedItemIndex] = temp;
|
546
|
-
}
|
547
|
-
else {
|
548
|
-
break;
|
549
|
-
}
|
550
|
-
}
|
551
|
-
if (this.dragdrop && this.filterValue)
|
552
|
-
this.filter();
|
553
|
-
this.movedDown = true;
|
554
|
-
this.onReorder.emit(this.selection);
|
555
|
-
}
|
556
|
-
this.listViewChild?.cd?.markForCheck();
|
557
|
-
}
|
558
|
-
moveBottom() {
|
559
|
-
if (this.selection) {
|
560
|
-
for (let i = 0; i < this.selection.length; i++) {
|
561
|
-
let selectedItem = this.selection[i];
|
562
|
-
let selectedItemIndex = findIndexInList(selectedItem, this.value);
|
563
|
-
if (this.value instanceof Array && selectedItemIndex != this.value.length - 1) {
|
564
|
-
let movedItem = this.value.splice(selectedItemIndex, 1)[0];
|
565
|
-
this.value.push(movedItem);
|
566
|
-
}
|
567
|
-
else {
|
568
|
-
break;
|
569
|
-
}
|
570
|
-
}
|
571
|
-
if (this.dragdrop && this.filterValue)
|
572
|
-
this.filter();
|
573
|
-
this.onReorder.emit(this.selection);
|
574
|
-
this.listViewChild.scrollInView(this.value?.length - 1);
|
575
|
-
}
|
576
|
-
this.listViewChild?.cd?.markForCheck();
|
577
|
-
}
|
578
|
-
onDrop(event) {
|
579
|
-
let previousIndex = event.previousIndex;
|
580
|
-
let currentIndex = event.currentIndex;
|
581
|
-
if (previousIndex !== currentIndex) {
|
582
|
-
if (this.visibleOptions) {
|
583
|
-
if (this.filterValue) {
|
584
|
-
previousIndex = findIndexInList(event.item.data, this.value);
|
585
|
-
currentIndex = findIndexInList(this.visibleOptions[currentIndex], this.value);
|
586
|
-
}
|
587
|
-
moveItemInArray(this.visibleOptions, event.previousIndex, event.currentIndex);
|
588
|
-
}
|
589
|
-
moveItemInArray(this.value, previousIndex, currentIndex);
|
590
|
-
this.changeFocusedOptionIndex(currentIndex);
|
591
|
-
this.onReorder.emit([event.item.data]);
|
592
|
-
}
|
593
|
-
}
|
594
|
-
onListFocus(event) {
|
595
|
-
const focusableEl = findSingle(this.listViewChild.el.nativeElement, '[data-p-highlight="true"]') || findSingle(this.listViewChild.el.nativeElement, '[data-pc-section="item"]');
|
596
|
-
if (focusableEl) {
|
597
|
-
const findIndex = findIndexInList(focusableEl, this.listViewChild.el.nativeElement.children);
|
598
|
-
this.focused = true;
|
599
|
-
const index = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : focusableEl ? findIndex : -1;
|
600
|
-
this.changeFocusedOptionIndex(index);
|
601
|
-
}
|
602
|
-
this.onFocus.emit(event);
|
603
|
-
}
|
604
|
-
onListBlur(event) {
|
605
|
-
this.focused = false;
|
606
|
-
this.focusedOption = null;
|
607
|
-
this.focusedOptionIndex = -1;
|
608
|
-
this.onBlur.emit(event);
|
609
|
-
}
|
610
|
-
onItemKeydown(event) {
|
611
|
-
switch (event.code) {
|
612
|
-
case 'ArrowDown':
|
613
|
-
this.onArrowDownKey(event);
|
614
|
-
break;
|
615
|
-
case 'ArrowUp':
|
616
|
-
this.onArrowUpKey(event);
|
617
|
-
break;
|
618
|
-
case 'Home':
|
619
|
-
this.onHomeKey(event);
|
620
|
-
break;
|
621
|
-
case 'End':
|
622
|
-
this.onEndKey(event);
|
623
|
-
break;
|
624
|
-
case 'Enter':
|
625
|
-
this.onEnterKey(event);
|
626
|
-
break;
|
627
|
-
case 'Space':
|
628
|
-
this.onSpaceKey(event);
|
629
|
-
break;
|
630
|
-
case 'KeyA':
|
631
|
-
if (event.ctrlKey) {
|
632
|
-
this.d_selection = [...this.value];
|
633
|
-
this.selectionChange.emit(this.d_selection);
|
634
|
-
}
|
635
|
-
default:
|
636
|
-
break;
|
637
|
-
}
|
638
|
-
}
|
639
|
-
onOptionMouseDown(index) {
|
640
|
-
this.focused = true;
|
641
|
-
this.focusedOptionIndex = index;
|
642
|
-
}
|
643
|
-
onArrowDownKey(event) {
|
644
|
-
const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);
|
645
|
-
this.changeFocusedOptionIndex(optionIndex);
|
646
|
-
if (event.shiftKey) {
|
647
|
-
this.onEnterKey(event);
|
648
|
-
}
|
649
|
-
event.preventDefault();
|
650
|
-
}
|
651
|
-
onArrowUpKey(event) {
|
652
|
-
const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);
|
653
|
-
this.changeFocusedOptionIndex(optionIndex);
|
654
|
-
if (event.shiftKey) {
|
655
|
-
this.onEnterKey(event);
|
656
|
-
}
|
657
|
-
event.preventDefault();
|
658
|
-
}
|
659
|
-
onHomeKey(event) {
|
660
|
-
if (event.ctrlKey && event.shiftKey) {
|
661
|
-
let visibleOptions = this.getVisibleOptions();
|
662
|
-
let focusedIndex = findIndexInList(this.focusedOption, visibleOptions);
|
663
|
-
this.d_selection = [...this.value].slice(0, focusedIndex + 1);
|
664
|
-
this.selectionChange.emit(this.d_selection);
|
665
|
-
}
|
666
|
-
else {
|
667
|
-
this.changeFocusedOptionIndex(0);
|
668
|
-
}
|
669
|
-
event.preventDefault();
|
670
|
-
}
|
671
|
-
onEndKey(event) {
|
672
|
-
if (event.ctrlKey && event.shiftKey) {
|
673
|
-
let visibleOptions = this.getVisibleOptions();
|
674
|
-
let focusedIndex = findIndexInList(this.focusedOption, visibleOptions);
|
675
|
-
this.d_selection = [...this.value].slice(focusedIndex, visibleOptions.length - 1);
|
676
|
-
this.selectionChange.emit(this.d_selection);
|
677
|
-
}
|
678
|
-
else {
|
679
|
-
this.changeFocusedOptionIndex(find(this.listViewChild.el.nativeElement, '[data-pc-section="item"]').length - 1);
|
680
|
-
}
|
681
|
-
event.preventDefault();
|
682
|
-
}
|
683
|
-
onEnterKey(event) {
|
684
|
-
this.onItemClick(event, this.focusedOption);
|
685
|
-
event.preventDefault();
|
686
|
-
}
|
687
|
-
onSpaceKey(event) {
|
688
|
-
event.preventDefault();
|
689
|
-
if (event.shiftKey && this.selection && this.selection.length > 0) {
|
690
|
-
let visibleOptions = this.getVisibleOptions();
|
691
|
-
let lastSelectedIndex = this.getLatestSelectedVisibleOptionIndex(visibleOptions);
|
692
|
-
if (lastSelectedIndex !== -1) {
|
693
|
-
let focusedIndex = findIndexInList(this.focusedOption, visibleOptions);
|
694
|
-
this.d_selection = [...visibleOptions.slice(Math.min(lastSelectedIndex, focusedIndex), Math.max(lastSelectedIndex, focusedIndex) + 1)];
|
695
|
-
this.selectionChange.emit(this.d_selection);
|
696
|
-
this.onSelectionChange.emit({ originalEvent: event, value: this.d_selection });
|
697
|
-
return;
|
698
|
-
}
|
699
|
-
}
|
700
|
-
this.onEnterKey(event);
|
701
|
-
}
|
702
|
-
findNextOptionIndex(index) {
|
703
|
-
const items = find(this.listViewChild.el.nativeElement, '[data-pc-section="item"]');
|
704
|
-
const matchedOptionIndex = [...items].findIndex((link) => link.id === index);
|
705
|
-
return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;
|
706
|
-
}
|
707
|
-
findPrevOptionIndex(index) {
|
708
|
-
const items = find(this.listViewChild.el.nativeElement, '[data-pc-section="item"]');
|
709
|
-
const matchedOptionIndex = [...items].findIndex((link) => link.id === index);
|
710
|
-
return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;
|
711
|
-
}
|
712
|
-
getLatestSelectedVisibleOptionIndex(visibleOptions) {
|
713
|
-
const latestSelectedItem = [...this.d_selection].reverse().find((item) => visibleOptions.includes(item));
|
714
|
-
return latestSelectedItem !== undefined ? visibleOptions.indexOf(latestSelectedItem) : -1;
|
715
|
-
}
|
716
|
-
getVisibleOptions() {
|
717
|
-
return this.visibleOptions && this.visibleOptions.length > 0 ? this.visibleOptions : this.value && this.value.length > 0 ? this.value : null;
|
718
|
-
}
|
719
|
-
getFocusedOption(index) {
|
720
|
-
if (index === -1)
|
721
|
-
return null;
|
722
|
-
return this.visibleOptions && this.visibleOptions.length ? this.visibleOptions[index] : this.value && this.value.length ? this.value[index] : null;
|
723
|
-
}
|
724
|
-
changeFocusedOptionIndex(index) {
|
725
|
-
const items = find(this.listViewChild.el.nativeElement, '[data-pc-section="item"]');
|
726
|
-
let order = index >= items.length ? items.length - 1 : index < 0 ? 0 : index;
|
727
|
-
this.focusedOptionIndex = items[order] ? items[order].getAttribute('id') : -1;
|
728
|
-
this.focusedOption = this.getFocusedOption(order);
|
729
|
-
this.scrollInView(this.focusedOptionIndex);
|
730
|
-
}
|
731
|
-
scrollInView(id) {
|
732
|
-
const element = findSingle(this.listViewChild.el.nativeElement, `[data-pc-section="item"][id="${id}"]`);
|
733
|
-
if (element) {
|
734
|
-
element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });
|
735
|
-
}
|
736
|
-
}
|
737
|
-
findNextItem(item) {
|
738
|
-
let nextItem = item.nextElementSibling;
|
739
|
-
if (nextItem)
|
740
|
-
return !hasClass(nextItem, 'p-orderlist-item') || isHidden(nextItem) ? this.findNextItem(nextItem) : nextItem;
|
741
|
-
else
|
742
|
-
return null;
|
743
|
-
}
|
744
|
-
findPrevItem(item) {
|
745
|
-
let prevItem = item.previousElementSibling;
|
746
|
-
if (prevItem)
|
747
|
-
return !hasClass(prevItem, 'p-orderlist-item') || isHidden(prevItem) ? this.findPrevItem(prevItem) : prevItem;
|
748
|
-
else
|
749
|
-
return null;
|
750
|
-
}
|
751
|
-
moveDisabled() {
|
752
|
-
if (this.disabled || !this.selection.length) {
|
753
|
-
return true;
|
754
|
-
}
|
755
|
-
}
|
756
|
-
focusedOptionId() {
|
757
|
-
return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;
|
758
|
-
}
|
759
|
-
createStyle() {
|
760
|
-
if (isPlatformBrowser(this.platformId)) {
|
761
|
-
if (!this.styleElement) {
|
762
|
-
this.renderer.setAttribute(this.el.nativeElement.children[0], this.id, '');
|
763
|
-
this.styleElement = this.renderer.createElement('style');
|
764
|
-
this.renderer.setAttribute(this.styleElement, 'type', 'text/css');
|
765
|
-
this.renderer.appendChild(this.document.head, this.styleElement);
|
766
|
-
let innerHTML = `
|
767
|
-
@media screen and (max-width: ${this.breakpoint}) {
|
768
|
-
.p-orderlist[${this.id}] {
|
769
|
-
flex-direction: column;
|
770
|
-
}
|
771
|
-
|
772
|
-
.p-orderlist[${this.id}] .p-orderlist-controls {
|
773
|
-
padding: var(--content-padding);
|
774
|
-
flex-direction: row;
|
775
|
-
}
|
776
|
-
|
777
|
-
.p-orderlist[${this.id}] .p-orderlist-controls .p-button {
|
778
|
-
margin-right: var(--inline-spacing);
|
779
|
-
margin-bottom: 0;
|
780
|
-
}
|
781
|
-
|
782
|
-
.p-orderlist[${this.id}] .p-orderlist-controls .p-button:last-child {
|
783
|
-
margin-right: 0;
|
784
|
-
}
|
785
|
-
}
|
786
|
-
`;
|
787
|
-
this.renderer.setProperty(this.styleElement, 'innerHTML', innerHTML);
|
788
|
-
setAttribute(this.styleElement, 'nonce', this.config?.csp()?.nonce);
|
789
|
-
}
|
790
|
-
}
|
791
|
-
}
|
792
|
-
destroyStyle() {
|
793
|
-
if (isPlatformBrowser(this.platformId)) {
|
794
|
-
if (this.styleElement) {
|
795
|
-
this.renderer.removeChild(this.document, this.styleElement);
|
796
|
-
this.styleElement = null;
|
797
|
-
``;
|
798
|
-
}
|
799
|
-
}
|
800
|
-
}
|
801
|
-
ngOnDestroy() {
|
802
|
-
this.destroyStyle();
|
803
|
-
super.ngOnDestroy();
|
804
|
-
}
|
805
|
-
static ɵfac = /*@__PURE__*/ (() => { let ɵOrderList_BaseFactory; return function OrderList_Factory(__ngFactoryType__) { return (ɵOrderList_BaseFactory || (ɵOrderList_BaseFactory = i0.ɵɵgetInheritedFactory(OrderList)))(__ngFactoryType__ || OrderList); }; })();
|
806
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OrderList, selectors: [["p-orderList"], ["p-orderlist"], ["p-order-list"]], contentQueries: function OrderList_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
807
|
-
i0.ɵɵcontentQuery(dirIndex, _c0, 5);
|
808
|
-
i0.ɵɵcontentQuery(dirIndex, _c1, 5);
|
809
|
-
i0.ɵɵcontentQuery(dirIndex, _c2, 5);
|
810
|
-
i0.ɵɵcontentQuery(dirIndex, _c3, 5);
|
811
|
-
i0.ɵɵcontentQuery(dirIndex, _c4, 5);
|
812
|
-
i0.ɵɵcontentQuery(dirIndex, _c5, 5);
|
813
|
-
i0.ɵɵcontentQuery(dirIndex, _c6, 5);
|
814
|
-
i0.ɵɵcontentQuery(dirIndex, _c7, 5);
|
815
|
-
i0.ɵɵcontentQuery(dirIndex, _c8, 5);
|
816
|
-
i0.ɵɵcontentQuery(dirIndex, _c9, 5);
|
817
|
-
} if (rf & 2) {
|
818
|
-
let _t;
|
819
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplate = _t.first);
|
820
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptymessageTemplate = _t.first);
|
821
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptyfiltermessageTemplate = _t.first);
|
822
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filterTemplate = _t.first);
|
823
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerTemplate = _t.first);
|
824
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.moveupiconTemplate = _t.first);
|
825
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.movetopiconTemplate = _t.first);
|
826
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.movedowniconTemplate = _t.first);
|
827
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.movebottomiconTemplate = _t.first);
|
828
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filtericonTemplate = _t.first);
|
829
|
-
} }, viewQuery: function OrderList_Query(rf, ctx) { if (rf & 1) {
|
830
|
-
i0.ɵɵviewQuery(_c10, 5);
|
831
|
-
i0.ɵɵviewQuery(_c3, 5);
|
832
|
-
} if (rf & 2) {
|
833
|
-
let _t;
|
834
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listViewChild = _t.first);
|
835
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filterViewChild = _t.first);
|
836
|
-
} }, inputs: { header: "header", style: "style", styleClass: "styleClass", tabindex: [2, "tabindex", "tabindex", numberAttribute], ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", listStyle: "listStyle", responsive: [2, "responsive", "responsive", booleanAttribute], filterBy: "filterBy", filterPlaceholder: "filterPlaceholder", filterLocale: "filterLocale", metaKeySelection: [2, "metaKeySelection", "metaKeySelection", booleanAttribute], dragdrop: [2, "dragdrop", "dragdrop", booleanAttribute], controlsPosition: "controlsPosition", ariaFilterLabel: "ariaFilterLabel", filterMatchMode: "filterMatchMode", breakpoint: "breakpoint", stripedRows: [2, "stripedRows", "stripedRows", booleanAttribute], disabled: [2, "disabled", "disabled", booleanAttribute], trackBy: "trackBy", scrollHeight: "scrollHeight", autoOptionFocus: [2, "autoOptionFocus", "autoOptionFocus", booleanAttribute], selection: "selection", value: "value", buttonProps: "buttonProps", moveUpButtonProps: "moveUpButtonProps", moveTopButtonProps: "moveTopButtonProps", moveDownButtonProps: "moveDownButtonProps", moveBottomButtonProps: "moveBottomButtonProps" }, outputs: { selectionChange: "selectionChange", onReorder: "onReorder", onSelectionChange: "onSelectionChange", onFilterEvent: "onFilterEvent", onFocus: "onFocus", onBlur: "onBlur" }, standalone: true, features: [i0.ɵɵProvidersFeature([OrderListStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 19, vars: 53, consts: [["listelement", ""], ["header", ""], ["item", ""], [3, "ngClass", "ngStyle"], [1, "p-orderlist-controls"], ["type", "button", "pButton", "", "pRipple", "", 1, "p-button-icon-only", 3, "click", "disabled", "buttonProps"], [4, "ngIf"], [4, "ngTemplateOutlet"], [1, "p-orderlist-list-container"], ["optionLabel", "name", 3, "ngModelChange", "onFocus", "onBlur", "keydown", "multiple", "options", "ngModel", "id", "listStyle", "striped", "tabindex", "ariaLabel", "disabled", "metaKeySelection", "scrollHeight", "autoOptionFocus", "filter", "filterBy", "filterLocale", "filterPlaceHolder"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function OrderList_Template(rf, ctx) { if (rf & 1) {
|
837
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
838
|
-
i0.ɵɵelementStart(0, "div", 3)(1, "div", 4)(2, "button", 5);
|
839
|
-
i0.ɵɵlistener("click", function OrderList_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.moveUp()); });
|
840
|
-
i0.ɵɵtemplate(3, OrderList_AngleUpIcon_3_Template, 1, 1, "AngleUpIcon", 6)(4, OrderList_4_Template, 1, 0, null, 7);
|
841
|
-
i0.ɵɵelementEnd();
|
842
|
-
i0.ɵɵelementStart(5, "button", 5);
|
843
|
-
i0.ɵɵlistener("click", function OrderList_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.moveTop()); });
|
844
|
-
i0.ɵɵtemplate(6, OrderList_AngleDoubleUpIcon_6_Template, 1, 1, "AngleDoubleUpIcon", 6)(7, OrderList_7_Template, 1, 0, null, 7);
|
845
|
-
i0.ɵɵelementEnd();
|
846
|
-
i0.ɵɵelementStart(8, "button", 5);
|
847
|
-
i0.ɵɵlistener("click", function OrderList_Template_button_click_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.moveDown()); });
|
848
|
-
i0.ɵɵtemplate(9, OrderList_AngleDownIcon_9_Template, 1, 1, "AngleDownIcon", 6)(10, OrderList_10_Template, 1, 0, null, 7);
|
849
|
-
i0.ɵɵelementEnd();
|
850
|
-
i0.ɵɵelementStart(11, "button", 5);
|
851
|
-
i0.ɵɵlistener("click", function OrderList_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.moveBottom()); });
|
852
|
-
i0.ɵɵtemplate(12, OrderList_AngleDoubleDownIcon_12_Template, 1, 1, "AngleDoubleDownIcon", 6)(13, OrderList_13_Template, 1, 0, null, 7);
|
853
|
-
i0.ɵɵelementEnd()();
|
854
|
-
i0.ɵɵelementStart(14, "div", 8)(15, "p-listbox", 9, 0);
|
855
|
-
i0.ɵɵtwoWayListener("ngModelChange", function OrderList_Template_p_listbox_ngModelChange_15_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.d_selection, $event) || (ctx.d_selection = $event); return i0.ɵɵresetView($event); });
|
856
|
-
i0.ɵɵlistener("onFocus", function OrderList_Template_p_listbox_onFocus_15_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onListFocus($event)); })("onBlur", function OrderList_Template_p_listbox_onBlur_15_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onListBlur($event)); })("keydown", function OrderList_Template_p_listbox_keydown_15_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onItemKeydown($event)); });
|
857
|
-
i0.ɵɵtemplate(17, OrderList_ng_container_17_Template, 3, 0, "ng-container", 6)(18, OrderList_ng_container_18_Template, 3, 0, "ng-container", 6);
|
858
|
-
i0.ɵɵelementEnd()()();
|
859
|
-
} if (rf & 2) {
|
860
|
-
i0.ɵɵclassMap(ctx.styleClass);
|
861
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(49, _c11, ctx.stripedRows, ctx.controlsPosition === "left", ctx.controlsPosition === "right"))("ngStyle", ctx.style);
|
862
|
-
i0.ɵɵattribute("data-pc-section", "root");
|
863
|
-
i0.ɵɵadvance();
|
864
|
-
i0.ɵɵattribute("data-pc-section", "controls");
|
865
|
-
i0.ɵɵadvance();
|
866
|
-
i0.ɵɵproperty("disabled", ctx.moveDisabled())("buttonProps", ctx.getButtonProps("up"));
|
867
|
-
i0.ɵɵattribute("aria-label", ctx.moveUpAriaLabel)("data-pc-section", "moveUpButton");
|
868
|
-
i0.ɵɵadvance();
|
869
|
-
i0.ɵɵproperty("ngIf", !ctx.moveupiconTemplate);
|
870
|
-
i0.ɵɵadvance();
|
871
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx.moveupiconTemplate);
|
872
|
-
i0.ɵɵadvance();
|
873
|
-
i0.ɵɵproperty("disabled", ctx.moveDisabled())("buttonProps", ctx.getButtonProps("top"));
|
874
|
-
i0.ɵɵattribute("aria-label", ctx.moveTopAriaLabel)("data-pc-section", "moveTopButton");
|
875
|
-
i0.ɵɵadvance();
|
876
|
-
i0.ɵɵproperty("ngIf", !ctx.movetopiconTemplate);
|
877
|
-
i0.ɵɵadvance();
|
878
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx.movetopiconTemplate);
|
879
|
-
i0.ɵɵadvance();
|
880
|
-
i0.ɵɵproperty("disabled", ctx.moveDisabled())("buttonProps", ctx.getButtonProps("down"));
|
881
|
-
i0.ɵɵattribute("aria-label", ctx.moveDownAriaLabel)("data-pc-section", "moveDownButton");
|
882
|
-
i0.ɵɵadvance();
|
883
|
-
i0.ɵɵproperty("ngIf", !ctx.movedowniconTemplate);
|
884
|
-
i0.ɵɵadvance();
|
885
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx.movedowniconTemplate);
|
886
|
-
i0.ɵɵadvance();
|
887
|
-
i0.ɵɵproperty("disabled", ctx.moveDisabled())("buttonProps", ctx.getButtonProps("bottom"));
|
888
|
-
i0.ɵɵattribute("aria-label", ctx.moveBottomAriaLabel)("data-pc-section", "moveBottomButton");
|
889
|
-
i0.ɵɵadvance();
|
890
|
-
i0.ɵɵproperty("ngIf", !ctx.movebottomiconTemplate);
|
891
|
-
i0.ɵɵadvance();
|
892
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx.movebottomiconTemplate);
|
893
|
-
i0.ɵɵadvance();
|
894
|
-
i0.ɵɵattribute("data-pc-section", "container");
|
895
|
-
i0.ɵɵadvance();
|
896
|
-
i0.ɵɵproperty("multiple", true)("options", ctx.value);
|
897
|
-
i0.ɵɵtwoWayProperty("ngModel", ctx.d_selection);
|
898
|
-
i0.ɵɵproperty("id", ctx.id + "_list")("listStyle", ctx.listStyle)("striped", ctx.stripedRows)("tabindex", ctx.tabindex)("ariaLabel", ctx.ariaLabel)("disabled", ctx.disabled)("metaKeySelection", ctx.metaKeySelection)("scrollHeight", ctx.scrollHeight)("autoOptionFocus", ctx.autoOptionFocus)("filter", ctx.filterBy)("filterBy", ctx.filterBy)("filterLocale", ctx.filterLocale)("filterPlaceHolder", ctx.filterPlaceholder);
|
899
|
-
i0.ɵɵadvance(2);
|
900
|
-
i0.ɵɵproperty("ngIf", ctx.headerTemplate);
|
901
|
-
i0.ɵɵadvance();
|
902
|
-
i0.ɵɵproperty("ngIf", ctx.itemTemplate);
|
903
|
-
} }, dependencies: [CommonModule, i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, ButtonDirective, Ripple, DragDropModule, AngleDoubleDownIcon, AngleDoubleUpIcon, AngleUpIcon, AngleDownIcon, Listbox, FormsModule, i2.NgControlStatus, i2.NgModel, SharedModule], encapsulation: 2, changeDetection: 0 });
|
904
|
-
}
|
905
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OrderList, [{
|
906
|
-
type: Component,
|
907
|
-
args: [{
|
908
|
-
selector: 'p-orderList, p-orderlist, p-order-list',
|
909
|
-
standalone: true,
|
910
|
-
imports: [CommonModule, ButtonDirective, Ripple, DragDropModule, AngleDoubleDownIcon, AngleDoubleUpIcon, AngleUpIcon, AngleDownIcon, SearchIcon, Listbox, FormsModule, SharedModule],
|
911
|
-
template: `
|
912
|
-
<div
|
913
|
-
[ngClass]="{
|
914
|
-
'p-orderlist p-component': true,
|
915
|
-
'p-orderlist-striped': stripedRows,
|
916
|
-
'p-orderlist-controls-left': controlsPosition === 'left',
|
917
|
-
'p-orderlist-controls-right': controlsPosition === 'right'
|
918
|
-
}"
|
919
|
-
[ngStyle]="style"
|
920
|
-
[class]="styleClass"
|
921
|
-
[attr.data-pc-section]="'root'"
|
922
|
-
>
|
923
|
-
<div class="p-orderlist-controls" [attr.data-pc-section]="'controls'">
|
924
|
-
<button type="button" [disabled]="moveDisabled()" pButton pRipple class="p-button-icon-only" (click)="moveUp()" [attr.aria-label]="moveUpAriaLabel" [attr.data-pc-section]="'moveUpButton'" [buttonProps]="getButtonProps('up')">
|
925
|
-
<AngleUpIcon *ngIf="!moveupiconTemplate" [attr.data-pc-section]="'moveupicon'" />
|
926
|
-
<ng-template *ngTemplateOutlet="moveupiconTemplate"></ng-template>
|
927
|
-
</button>
|
928
|
-
<button type="button" [disabled]="moveDisabled()" pButton pRipple class="p-button-icon-only" (click)="moveTop()" [attr.aria-label]="moveTopAriaLabel" [attr.data-pc-section]="'moveTopButton'" [buttonProps]="getButtonProps('top')">
|
929
|
-
<AngleDoubleUpIcon *ngIf="!movetopiconTemplate" [attr.data-pc-section]="'movetopicon'" />
|
930
|
-
<ng-template *ngTemplateOutlet="movetopiconTemplate"></ng-template>
|
931
|
-
</button>
|
932
|
-
<button type="button" [disabled]="moveDisabled()" pButton pRipple class="p-button-icon-only" (click)="moveDown()" [attr.aria-label]="moveDownAriaLabel" [attr.data-pc-section]="'moveDownButton'" [buttonProps]="getButtonProps('down')">
|
933
|
-
<AngleDownIcon *ngIf="!movedowniconTemplate" [attr.data-pc-section]="'movedownicon'" />
|
934
|
-
<ng-template *ngTemplateOutlet="movedowniconTemplate"></ng-template>
|
935
|
-
</button>
|
936
|
-
<button
|
937
|
-
type="button"
|
938
|
-
[disabled]="moveDisabled()"
|
939
|
-
pButton
|
940
|
-
pRipple
|
941
|
-
class="p-button-icon-only"
|
942
|
-
(click)="moveBottom()"
|
943
|
-
[attr.aria-label]="moveBottomAriaLabel"
|
944
|
-
[attr.data-pc-section]="'moveBottomButton'"
|
945
|
-
[buttonProps]="getButtonProps('bottom')"
|
946
|
-
>
|
947
|
-
<AngleDoubleDownIcon *ngIf="!movebottomiconTemplate" [attr.data-pc-section]="'movebottomicon'" />
|
948
|
-
<ng-template *ngTemplateOutlet="movebottomiconTemplate"></ng-template>
|
949
|
-
</button>
|
950
|
-
</div>
|
951
|
-
<div class="p-orderlist-list-container" [attr.data-pc-section]="'container'">
|
952
|
-
<p-listbox
|
953
|
-
#listelement
|
954
|
-
[multiple]="true"
|
955
|
-
[options]="value"
|
956
|
-
[(ngModel)]="d_selection"
|
957
|
-
optionLabel="name"
|
958
|
-
[id]="id + '_list'"
|
959
|
-
[listStyle]="listStyle"
|
960
|
-
[striped]="stripedRows"
|
961
|
-
[tabindex]="tabindex"
|
962
|
-
(onFocus)="onListFocus($event)"
|
963
|
-
(onBlur)="onListBlur($event)"
|
964
|
-
(keydown)="onItemKeydown($event)"
|
965
|
-
[ariaLabel]="ariaLabel"
|
966
|
-
[disabled]="disabled"
|
967
|
-
[metaKeySelection]="metaKeySelection"
|
968
|
-
[scrollHeight]="scrollHeight"
|
969
|
-
[autoOptionFocus]="autoOptionFocus"
|
970
|
-
[filter]="filterBy"
|
971
|
-
[filterBy]="filterBy"
|
972
|
-
[filterLocale]="filterLocale"
|
973
|
-
[filterPlaceHolder]="filterPlaceholder"
|
974
|
-
>
|
975
|
-
<ng-container *ngIf="headerTemplate">
|
976
|
-
<ng-template #header>
|
977
|
-
<ng-template *ngTemplateOutlet="headerTemplate"></ng-template>
|
978
|
-
</ng-template>
|
979
|
-
</ng-container>
|
980
|
-
<ng-container *ngIf="itemTemplate">
|
981
|
-
<ng-template #item let-option let-selected="selected" let-index="index">
|
982
|
-
<ng-template *ngTemplateOutlet="itemTemplate; context: { $implicit: option, selected: selected, index: index }"></ng-template>
|
983
|
-
</ng-template>
|
984
|
-
</ng-container>
|
985
|
-
</p-listbox>
|
986
|
-
</div>
|
987
|
-
</div>
|
988
|
-
`,
|
989
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
990
|
-
encapsulation: ViewEncapsulation.None,
|
991
|
-
providers: [OrderListStyle]
|
992
|
-
}]
|
993
|
-
}], null, { header: [{
|
994
|
-
type: Input
|
995
|
-
}], style: [{
|
996
|
-
type: Input
|
997
|
-
}], styleClass: [{
|
998
|
-
type: Input
|
999
|
-
}], tabindex: [{
|
1000
|
-
type: Input,
|
1001
|
-
args: [{ transform: numberAttribute }]
|
1002
|
-
}], ariaLabel: [{
|
1003
|
-
type: Input
|
1004
|
-
}], ariaLabelledBy: [{
|
1005
|
-
type: Input
|
1006
|
-
}], listStyle: [{
|
1007
|
-
type: Input
|
1008
|
-
}], responsive: [{
|
1009
|
-
type: Input,
|
1010
|
-
args: [{ transform: booleanAttribute }]
|
1011
|
-
}], filterBy: [{
|
1012
|
-
type: Input
|
1013
|
-
}], filterPlaceholder: [{
|
1014
|
-
type: Input
|
1015
|
-
}], filterLocale: [{
|
1016
|
-
type: Input
|
1017
|
-
}], metaKeySelection: [{
|
1018
|
-
type: Input,
|
1019
|
-
args: [{ transform: booleanAttribute }]
|
1020
|
-
}], dragdrop: [{
|
1021
|
-
type: Input,
|
1022
|
-
args: [{ transform: booleanAttribute }]
|
1023
|
-
}], controlsPosition: [{
|
1024
|
-
type: Input
|
1025
|
-
}], ariaFilterLabel: [{
|
1026
|
-
type: Input
|
1027
|
-
}], filterMatchMode: [{
|
1028
|
-
type: Input
|
1029
|
-
}], breakpoint: [{
|
1030
|
-
type: Input
|
1031
|
-
}], stripedRows: [{
|
1032
|
-
type: Input,
|
1033
|
-
args: [{ transform: booleanAttribute }]
|
1034
|
-
}], disabled: [{
|
1035
|
-
type: Input,
|
1036
|
-
args: [{ transform: booleanAttribute }]
|
1037
|
-
}], trackBy: [{
|
1038
|
-
type: Input
|
1039
|
-
}], scrollHeight: [{
|
1040
|
-
type: Input
|
1041
|
-
}], autoOptionFocus: [{
|
1042
|
-
type: Input,
|
1043
|
-
args: [{ transform: booleanAttribute }]
|
1044
|
-
}], selection: [{
|
1045
|
-
type: Input
|
1046
|
-
}], value: [{
|
1047
|
-
type: Input
|
1048
|
-
}], buttonProps: [{
|
1049
|
-
type: Input
|
1050
|
-
}], moveUpButtonProps: [{
|
1051
|
-
type: Input
|
1052
|
-
}], moveTopButtonProps: [{
|
1053
|
-
type: Input
|
1054
|
-
}], moveDownButtonProps: [{
|
1055
|
-
type: Input
|
1056
|
-
}], moveBottomButtonProps: [{
|
1057
|
-
type: Input
|
1058
|
-
}], selectionChange: [{
|
1059
|
-
type: Output
|
1060
|
-
}], onReorder: [{
|
1061
|
-
type: Output
|
1062
|
-
}], onSelectionChange: [{
|
1063
|
-
type: Output
|
1064
|
-
}], onFilterEvent: [{
|
1065
|
-
type: Output
|
1066
|
-
}], onFocus: [{
|
1067
|
-
type: Output
|
1068
|
-
}], onBlur: [{
|
1069
|
-
type: Output
|
1070
|
-
}], listViewChild: [{
|
1071
|
-
type: ViewChild,
|
1072
|
-
args: ['listelement']
|
1073
|
-
}], filterViewChild: [{
|
1074
|
-
type: ViewChild,
|
1075
|
-
args: ['filter']
|
1076
|
-
}], itemTemplate: [{
|
1077
|
-
type: ContentChild,
|
1078
|
-
args: ['item']
|
1079
|
-
}], emptymessageTemplate: [{
|
1080
|
-
type: ContentChild,
|
1081
|
-
args: ['empty']
|
1082
|
-
}], emptyfiltermessageTemplate: [{
|
1083
|
-
type: ContentChild,
|
1084
|
-
args: ['emptyfilter']
|
1085
|
-
}], filterTemplate: [{
|
1086
|
-
type: ContentChild,
|
1087
|
-
args: ['filter']
|
1088
|
-
}], headerTemplate: [{
|
1089
|
-
type: ContentChild,
|
1090
|
-
args: ['header']
|
1091
|
-
}], moveupiconTemplate: [{
|
1092
|
-
type: ContentChild,
|
1093
|
-
args: ['moveupicon']
|
1094
|
-
}], movetopiconTemplate: [{
|
1095
|
-
type: ContentChild,
|
1096
|
-
args: ['movetopicon']
|
1097
|
-
}], movedowniconTemplate: [{
|
1098
|
-
type: ContentChild,
|
1099
|
-
args: ['movedownicon']
|
1100
|
-
}], movebottomiconTemplate: [{
|
1101
|
-
type: ContentChild,
|
1102
|
-
args: ['movebottomicon']
|
1103
|
-
}], filtericonTemplate: [{
|
1104
|
-
type: ContentChild,
|
1105
|
-
args: ['filtericon']
|
1106
|
-
}] }); })();
|
1107
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OrderList, { className: "OrderList" }); })();
|
1108
|
-
export class OrderListModule {
|
1109
|
-
static ɵfac = function OrderListModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || OrderListModule)(); };
|
1110
|
-
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: OrderListModule });
|
1111
|
-
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [OrderList, SharedModule, SharedModule] });
|
1112
|
-
}
|
1113
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OrderListModule, [{
|
1114
|
-
type: NgModule,
|
1115
|
-
args: [{
|
1116
|
-
imports: [OrderList, SharedModule],
|
1117
|
-
exports: [OrderList, SharedModule]
|
1118
|
-
}]
|
1119
|
-
}], null, null); })();
|
1120
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(OrderListModule, { imports: [OrderList, SharedModule], exports: [OrderList, SharedModule] }); })();
|
1121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJsaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29yZGVybGlzdC9vcmRlcmxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFjLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUEwQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdlAsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEosT0FBTyxFQUFFLGFBQWEsRUFBaUIsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF3QnBDLDhCQUFpRjs7Ozs7O0lBQ2pGLHlFQUFvRDs7O0lBR3BELG9DQUF5Rjs7Ozs7O0lBQ3pGLHlFQUFxRDs7O0lBR3JELGdDQUF1Rjs7Ozs7O0lBQ3ZGLDBFQUFzRDs7O0lBYXRELHNDQUFpRzs7Ozs7O0lBQ2pHLDBFQUF3RDs7OztJQTZCaEQsdUdBQWdEOzs7SUFBaEQsbUZBQWdEOzs7SUFBbEMsd0RBQWdDOzs7SUFGdEQsNkJBQXFDO0lBQ2pDLDJIQUFxQjs7Ozs7SUFNakIsdUdBQWdIOzs7SUFBaEgsb0ZBQWdIOzs7Ozs7SUFBbEUsQUFBaEMsc0RBQWdDLDBGQUFnRTs7O0lBRnRILDZCQUFtQztJQUMvQiwySEFBd0U7OztBQTlFaEc7OztHQUdHO0FBdUZILE1BQU0sT0FBTyxTQUFVLFNBQVEsYUFBYTtJQUN4Qzs7O09BR0c7SUFDTSxNQUFNLENBQXFCO0lBRXBDOzs7T0FHRztJQUNNLEtBQUssQ0FBOEM7SUFFNUQ7OztPQUdHO0lBQ00sVUFBVSxDQUFxQjtJQUV4Qzs7O09BR0c7SUFDb0MsUUFBUSxDQUFxQjtJQUVwRTs7O09BR0c7SUFDTSxTQUFTLENBQXFCO0lBRXZDOzs7T0FHRztJQUNNLGNBQWMsQ0FBcUI7SUFFNUM7OztPQUdHO0lBQ00sU0FBUyxDQUE4QztJQUVoRTs7O09BR0c7SUFDcUMsVUFBVSxDQUFzQjtJQUV4RTs7O09BR0c7SUFDTSxRQUFRLENBQXFCO0lBRXRDOzs7T0FHRztJQUNNLGlCQUFpQixDQUFxQjtJQUUvQzs7O09BR0c7SUFDTSxZQUFZLENBQXFCO0lBRTFDOzs7T0FHRztJQUNxQyxnQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFFMUU7OztPQUdHO0lBQ3FDLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFbEU7OztPQUdHO0lBQ00sZ0JBQWdCLEdBQXFCLE1BQU0sQ0FBQztJQUVyRDs7O09BR0c7SUFDTSxlQUFlLENBQXFCO0lBRTdDOzs7T0FHRztJQUNNLGVBQWUsR0FBeUcsVUFBVSxDQUFDO0lBRTVJOzs7T0FHRztJQUNNLFVBQVUsR0FBVyxPQUFPLENBQUM7SUFFdEM7OztPQUdHO0lBQ3FDLFdBQVcsQ0FBc0I7SUFFekU7OztPQUdHO0lBQ3FDLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFbEU7OztPQUdHO0lBQ00sT0FBTyxHQUFhLENBQUMsS0FBYSxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBRWhFOzs7T0FHRztJQUNNLFlBQVksR0FBRyxPQUFPLENBQUM7SUFFaEM7OztPQUdHO0lBQ3FDLGVBQWUsR0FBWSxJQUFJLENBQUM7SUFFeEU7OztPQUdHO0lBQ0gsSUFBYSxTQUFTLENBQUMsR0FBVTtRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBYSxLQUFLLENBQUMsR0FBc0I7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7O09BR0c7SUFDTSxXQUFXLEdBQWdCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBRTlEOzs7T0FHRztJQUNNLGlCQUFpQixDQUFjO0lBRXhDOzs7T0FHRztJQUNNLGtCQUFrQixDQUFjO0lBRXpDOzs7T0FHRztJQUNNLG1CQUFtQixDQUFjO0lBRTFDOzs7T0FHRztJQUNNLHFCQUFxQixDQUFjO0lBRTVDOzs7O09BSUc7SUFDTyxlQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbEU7Ozs7T0FJRztJQUNPLFNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU1RDs7OztPQUlHO0lBQ08saUJBQWlCLEdBQWdELElBQUksWUFBWSxFQUFpQyxDQUFDO0lBRTdIOzs7O09BSUc7SUFDTyxhQUFhLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO0lBRXZHOzs7O09BSUc7SUFDTyxPQUFPLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7SUFFbkU7Ozs7T0FJRztJQUNPLE1BQU0sR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQUV4QyxhQUFhLENBQVc7SUFFN0IsZUFBZSxDQUF1QjtJQUUzRDs7O09BR0c7SUFDbUIsWUFBWSxDQUErQjtJQUVqRTs7O09BR0c7SUFDb0Isb0JBQW9CLENBQStCO0lBRTFFOzs7T0FHRztJQUMwQiwwQkFBMEIsQ0FBK0I7SUFFdEY7OztPQUdHO0lBQ3FCLGNBQWMsQ0FBK0I7SUFFckU7OztPQUdHO0lBQ3FCLGNBQWMsQ0FBK0I7SUFFckU7OztPQUdHO0lBQ3lCLGtCQUFrQixDQUErQjtJQUU3RTs7O09BR0c7SUFDMEIsbUJBQW1CLENBQStCO0lBRS9FOzs7T0FHRztJQUMyQixvQkFBb0IsQ0FBK0I7SUFFakY7OztPQUdHO0lBQzZCLHNCQUFzQixDQUErQjtJQUVyRjs7O09BR0c7SUFDeUIsa0JBQWtCLENBQStCO0lBRTdFLElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUYsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDM0YsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDNUYsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDOUYsQ0FBQztJQUVELGVBQWUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFekMsYUFBYSxDQUFtQztJQUVoRCxXQUFXLEdBQVUsRUFBRSxDQUFDO0lBRXhCLE9BQU8sQ0FBb0I7SUFFM0IsU0FBUyxDQUFvQjtJQUU3QixXQUFXLENBQW9CO0lBRS9CLFlBQVksQ0FBTTtJQUVsQixFQUFFLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTVCLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFFekIsa0JBQWtCLEdBQVEsQ0FBQyxDQUFDLENBQUM7SUFFN0IsYUFBYSxDQUFrQjtJQUV4QixXQUFXLENBQW1CO0lBRTlCLGNBQWMsQ0FBa0I7SUFFaEMsTUFBTSxDQUFvQjtJQUVqQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRDLGNBQWMsQ0FBQyxTQUFpQjtRQUM1QixRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2hCLEtBQUssSUFBSTtnQkFDTCxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDOUQsS0FBSyxLQUFLO2dCQUNOLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMvRCxLQUFLLE1BQU07Z0JBQ1AsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2hFLEtBQUssUUFBUTtnQkFDVCxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDbEU7Z0JBQ0ksT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUc7Z0JBQ2pCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7Z0JBQzVDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2FBQ2xDLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLGFBQWEsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1lBRTNGLElBQUksUUFBUSxDQUFDO1lBRWIsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN2QixJQUFJLElBQUksQ0FBQyxPQUFPO29CQUFFLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7O29CQUNyQyxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRWhELFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDakUsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFTLEVBQUUsS0FBYyxFQUFFLFVBQW1CO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkYsSUFBSSxhQUFhLEdBQUcsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQsSUFBSSxRQUFRLEdBQUcsYUFBYSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBRXJFLElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUU3QyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksS0FBSyxhQUFhLENBQUMsQ0FBQztZQUN0RyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDbEYsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3RSxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLEtBQUssYUFBYSxDQUFDLENBQUM7WUFDdEcsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqRSxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdFLENBQUM7UUFDTCxDQUFDO1FBRUQsU0FBUztRQUNULElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1QyxPQUFPO1FBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBdUIsS0FBSyxDQUFDLE1BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVkLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3BCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBdUI7U0FDdEMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLFlBQVksR0FBYyxJQUFJLENBQUMsUUFBbUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBYyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xKLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFvQixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFTO1FBQ25CLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBSSxJQUFJLENBQUMsY0FBd0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDN0QsSUFBSSxJQUFJLElBQUssSUFBSSxDQUFDLGNBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDNUMsT0FBTyxJQUFJLENBQUM7Z0JBQ2hCLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDaEIsT0FBTyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUNoSSxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM3QyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLGlCQUFpQixHQUFXLGVBQWUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUUxRSxJQUFJLGlCQUFpQixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN4RCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQzlDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM5QyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUN6QyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osTUFBTTtnQkFDVixDQUFDO1lBQ0wsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsV0FBVztnQkFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbEQsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckMsSUFBSSxpQkFBaUIsR0FBVyxlQUFlLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFMUUsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxLQUFLLEVBQUUsQ0FBQztvQkFDeEQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzNELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osTUFBTTtnQkFDVixDQUFDO1lBQ0wsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsV0FBVztnQkFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2xELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksaUJBQWlCLEdBQVcsZUFBZSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxLQUFLLElBQUksaUJBQWlCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzVFLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFDOUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQzlDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ3pDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNO2dCQUNWLENBQUM7WUFDTCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXO2dCQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUVyRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzdDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksaUJBQWlCLEdBQVcsZUFBZSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTFFLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxLQUFLLElBQUksaUJBQWlCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzVFLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMzRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDL0IsQ0FBQztxQkFBTSxDQUFDO29CQUNKLE1BQU07Z0JBQ1YsQ0FBQztZQUNMLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRXJELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE0QjtRQUMvQixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFFdEMsSUFBSSxhQUFhLEtBQUssWUFBWSxFQUFFLENBQUM7WUFDakMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNuQixhQUFhLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0QsWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEYsQ0FBQztnQkFFRCxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNsRixDQUFDO1lBRUQsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFjLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2IsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSwyQkFBMkIsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUVoTCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDN0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV0RyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW9CO1FBQzlCLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLEtBQUssV0FBVztnQkFDWixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixNQUFNO1lBQ1YsS0FBSyxTQUFTO2dCQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pCLE1BQU07WUFDVixLQUFLLE1BQU07Z0JBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEIsTUFBTTtZQUNWLEtBQUssS0FBSztnQkFDTixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixNQUFNO1lBQ1YsS0FBSyxPQUFPO2dCQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU07WUFDVixLQUFLLE9BQU87Z0JBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkIsTUFBTTtZQUNWLEtBQUssTUFBTTtnQkFDUCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2hELENBQUM7WUFDTDtnQkFDSSxNQUFNO1FBQ2QsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLO1FBQ2hCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFM0MsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxZQUFZLENBQUMsS0FBSztRQUNkLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFM0MsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBSztRQUNYLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDOUMsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNWLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEMsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDOUMsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwSCxDQUFDO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU1QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFLO1FBQ1osS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hFLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlDLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRWpGLElBQUksaUJBQWlCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUUvRSxPQUFPO1lBQ1gsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFLO1FBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUNwRixNQUFNLGtCQUFrQixHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7UUFFN0UsT0FBTyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQUs7UUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQztRQUU3RSxPQUFPLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsbUNBQW1DLENBQUMsY0FBcUI7UUFDckQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXpHLE9BQU8sa0JBQWtCLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzFCLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTlCLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZKLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFLO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUVwRixJQUFJLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRTdFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFFO1FBQ1gsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxnQ0FBZ0MsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4RyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM5RixDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTO1FBQ2xCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUV2QyxJQUFJLFFBQVE7WUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDOztZQUN2SCxPQUFPLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVM7UUFDbEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1FBRTNDLElBQUksUUFBUTtZQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7O1lBQ3ZILE9BQU8sSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUVqRSxJQUFJLFNBQVMsR0FBRztvREFDb0IsSUFBSSxDQUFDLFVBQVU7dUNBQzVCLElBQUksQ0FBQyxFQUFFOzs7O3VDQUlQLElBQUksQ0FBQyxFQUFFOzs7Ozt1Q0FLUCxJQUFJLENBQUMsRUFBRTs7Ozs7dUNBS1AsSUFBSSxDQUFDLEVBQUU7Ozs7aUJBSTdCLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3JFLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hFLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLEVBQUUsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7aU5BdDBCUSxTQUFTLHlCQUFULFNBQVM7NkRBQVQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3lIQXVCRSxlQUFlLGlJQXdCZixnQkFBZ0IsNkpBd0JoQixnQkFBZ0IseUNBTWhCLGdCQUFnQiwwTEE4QmhCLGdCQUFnQix5Q0FNaEIsZ0JBQWdCLGdIQWtCaEIsZ0JBQWdCLGllQXJJekIsQ0FBQyxjQUFjLENBQUM7O1lBbkVmLEFBREosQUFYSiw4QkFVQyxhQUN5RSxnQkFDK0o7WUFBcEksNEhBQVMsWUFBUSxLQUFDO1lBRTNHLEFBREEsMEVBQWlGLHdDQUM3QjtZQUN4RCxpQkFBUztZQUNULGlDQUFxTztZQUF4SSw0SEFBUyxhQUFTLEtBQUM7WUFFNUcsQUFEQSxzRkFBeUYsd0NBQ3BDO1lBQ3pELGlCQUFTO1lBQ1QsaUNBQXlPO1lBQTVJLDRIQUFTLGNBQVUsS0FBQztZQUU3RyxBQURBLDhFQUF1RiwwQ0FDakM7WUFDMUQsaUJBQVM7WUFDVCxrQ0FVQztZQUpHLDZIQUFTLGdCQUFZLEtBQUM7WUFNdEIsQUFEQSw0RkFBaUcsMENBQ3pDO1lBRWhFLEFBREksaUJBQVMsRUFDUDtZQUVGLEFBREosK0JBQTZFLHVCQXVCeEU7WUFsQkcscVBBQXlCO1lBUXpCLEFBREEsQUFEQSwwSUFBVyx1QkFBbUIsS0FBQywySEFDckIsc0JBQWtCLEtBQUMsNkhBQ2xCLHlCQUFxQixLQUFDO1lBZ0JqQyxBQUxBLDhFQUFxQyxpRUFLRjtZQU8vQyxBQURJLEFBREksaUJBQVksRUFDVixFQUNKOztZQW5FRiw2QkFBb0I7WUFEcEIsQUFOQSwwSUFLRSxzQkFDZTs7WUFJaUIsY0FBbUM7O1lBQzNDLGNBQTJCO1lBQTJJLEFBQXRLLDZDQUEyQix5Q0FBK0s7O1lBQzlNLGNBQXlCO1lBQXpCLDhDQUF5QjtZQUN6QixjQUFvQztZQUFwQyx5REFBb0M7WUFFaEMsY0FBMkI7WUFBOEksQUFBekssNkNBQTJCLDBDQUFtTDs7WUFDNU0sY0FBMEI7WUFBMUIsK0NBQTBCO1lBQ2hDLGNBQXFDO1lBQXJDLDBEQUFxQztZQUVqQyxjQUEyQjtZQUFpSixBQUE1Syw2Q0FBMkIsMkNBQXVMOztZQUNwTixjQUEyQjtZQUEzQixnREFBMkI7WUFDN0IsY0FBc0M7WUFBdEMsMkRBQXNDO1lBSXBELGNBQTJCO1lBTzNCLEFBUEEsNkNBQTJCLDZDQU9hOztZQUVsQixjQUE2QjtZQUE3QixrREFBNkI7WUFDckMsY0FBd0M7WUFBeEMsNkRBQXdDO1lBR3RCLGNBQW9DOztZQUdwRSxjQUFpQjtZQUNqQixBQURBLCtCQUFpQixzQkFDQTtZQUNqQiwrQ0FBeUI7WUFpQnpCLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxBQUpBLEFBREEsQUFEQSxBQURBLHFDQUFtQiw0QkFDSSw0QkFDQSwwQkFDRiw0QkFJRSwwQkFDRiwwQ0FDZ0Isa0NBQ1Isd0NBQ00sd0JBQ2hCLDBCQUNFLGtDQUNRLDRDQUNVO1lBRXhCLGVBQW9CO1lBQXBCLHlDQUFvQjtZQUtwQixjQUFrQjtZQUFsQix1Q0FBa0I7NEJBdEV2QyxZQUFZLHdEQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQWMsT0FBTyxFQUFFLFdBQVcsa0NBQUUsWUFBWTs7aUZBbUYxSyxTQUFTO2NBdEZyQixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLHdDQUF3QztnQkFDbEQsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQztnQkFDcEwsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTZFVDtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQzthQUM5QjtnQkFNWSxNQUFNO2tCQUFkLEtBQUs7WUFNRyxLQUFLO2tCQUFiLEtBQUs7WUFNRyxVQUFVO2tCQUFsQixLQUFLO1lBTWlDLFFBQVE7a0JBQTlDLEtBQUs7bUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO1lBTTVCLFNBQVM7a0JBQWpCLEtBQUs7WUFNRyxjQUFjO2tCQUF0QixLQUFLO1lBTUcsU0FBUztrQkFBakIsS0FBSztZQU1rQyxVQUFVO2tCQUFqRCxLQUFLO21CQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBTTdCLFFBQVE7a0JBQWhCLEtBQUs7WUFNRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFNRyxZQUFZO2tCQUFwQixLQUFLO1lBTWtDLGdCQUFnQjtrQkFBdkQsS0FBSzttQkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQU1FLFFBQVE7a0JBQS9DLEtBQUs7bUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFNN0IsZ0JBQWdCO2tCQUF4QixLQUFLO1lBTUcsZUFBZTtrQkFBdkIsS0FBSztZQU1HLGVBQWU7a0JBQXZCLEtBQUs7WUFNRyxVQUFVO2tCQUFsQixLQUFLO1lBTWtDLFdBQVc7a0JBQWxELEtBQUs7bUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7WUFNRSxRQUFRO2tCQUEvQyxLQUFLO21CQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBTTdCLE9BQU87a0JBQWYsS0FBSztZQU1HLFlBQVk7a0JBQXBCLEtBQUs7WUFNa0MsZUFBZTtrQkFBdEQsS0FBSzttQkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQU16QixTQUFTO2tCQUFyQixLQUFLO1lBWU8sS0FBSztrQkFBakIsS0FBSztZQWNHLFdBQVc7a0JBQW5CLEtBQUs7WUFNRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFNRyxrQkFBa0I7a0JBQTFCLEtBQUs7WUFNRyxtQkFBbUI7a0JBQTNCLEtBQUs7WUFNRyxxQkFBcUI7a0JBQTdCLEtBQUs7WUFPSSxlQUFlO2tCQUF4QixNQUFNO1lBT0csU0FBUztrQkFBbEIsTUFBTTtZQU9HLGlCQUFpQjtrQkFBMUIsTUFBTTtZQU9HLGFBQWE7a0JBQXRCLE1BQU07WUFPRyxPQUFPO2tCQUFoQixNQUFNO1lBT0csTUFBTTtrQkFBZixNQUFNO1lBRW1CLGFBQWE7a0JBQXRDLFNBQVM7bUJBQUMsYUFBYTtZQUVILGVBQWU7a0JBQW5DLFNBQVM7bUJBQUMsUUFBUTtZQU1HLFlBQVk7a0JBQWpDLFlBQVk7bUJBQUMsTUFBTTtZQU1HLG9CQUFvQjtrQkFBMUMsWUFBWTttQkFBQyxPQUFPO1lBTVEsMEJBQTBCO2tCQUF0RCxZQUFZO21CQUFDLGFBQWE7WUFNSCxjQUFjO2tCQUFyQyxZQUFZO21CQUFDLFFBQVE7WUFNRSxjQUFjO2tCQUFyQyxZQUFZO21CQUFDLFFBQVE7WUFNTSxrQkFBa0I7a0JBQTdDLFlBQVk7bUJBQUMsWUFBWTtZQU1HLG1CQUFtQjtrQkFBL0MsWUFBWTttQkFBQyxhQUFhO1lBTUcsb0JBQW9CO2tCQUFqRCxZQUFZO21CQUFDLGNBQWM7WUFNSSxzQkFBc0I7a0JBQXJELFlBQVk7bUJBQUMsZ0JBQWdCO1lBTUYsa0JBQWtCO2tCQUE3QyxZQUFZO21CQUFDLFlBQVk7O2tGQXJTakIsU0FBUztBQTYwQnRCLE1BQU0sT0FBTyxlQUFlO3lHQUFmLGVBQWU7NERBQWYsZUFBZTtnRUFIZCxTQUFTLEVBQUUsWUFBWSxFQUNaLFlBQVk7O2lGQUV4QixlQUFlO2NBSjNCLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO2dCQUNsQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO2FBQ3JDOzt3RkFDWSxlQUFlLGNBNzBCZixTQUFTLEVBMDBCRyxZQUFZLGFBMTBCeEIsU0FBUyxFQTIwQkcsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBEcmFnRHJvcE1vZHVsZSwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBOZ01vZHVsZSwgbnVtYmVyQXR0cmlidXRlLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmluZCwgZmluZEluZGV4SW5MaXN0LCBmaW5kU2luZ2xlLCBoYXNDbGFzcywgaW5zZXJ0SW50b09yZGVyZWRBcnJheSwgaXNIaWRkZW4sIHNjcm9sbEluVmlldywgc2V0QXR0cmlidXRlLCB1dWlkIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UsIFByaW1lVGVtcGxhdGUsIFNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2Jhc2Vjb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlLCBCdXR0b25Qcm9wcyB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IEFuZ2xlRG91YmxlRG93bkljb24sIEFuZ2xlRG91YmxlVXBJY29uLCBBbmdsZURvd25JY29uLCBBbmdsZVVwSWNvbiwgU2VhcmNoSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMnO1xuaW1wb3J0IHsgTGlzdGJveCB9IGZyb20gJ3ByaW1lbmcvbGlzdGJveCc7XG5pbXBvcnQgeyBSaXBwbGUgfSBmcm9tICdwcmltZW5nL3JpcHBsZSc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ3ByaW1lbmcvdHMtaGVscGVycyc7XG5pbXBvcnQgeyBPcmRlckxpc3RGaWx0ZXJFdmVudCwgT3JkZXJMaXN0RmlsdGVyT3B0aW9ucywgT3JkZXJMaXN0U2VsZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICcuL29yZGVybGlzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT3JkZXJMaXN0U3R5bGUgfSBmcm9tICcuL3N0eWxlL29yZGVybGlzdHN0eWxlJztcblxuLyoqXG4gKiBPcmRlckxpc3QgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIG9yZGVyIG9mIGEgY29sbGVjdGlvbi5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1vcmRlckxpc3QsIHAtb3JkZXJsaXN0LCBwLW9yZGVyLWxpc3QnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uRGlyZWN0aXZlLCBSaXBwbGUsIERyYWdEcm9wTW9kdWxlLCBBbmdsZURvdWJsZURvd25JY29uLCBBbmdsZURvdWJsZVVwSWNvbiwgQW5nbGVVcEljb24sIEFuZ2xlRG93bkljb24sIFNlYXJjaEljb24sIExpc3Rib3gsIEZvcm1zTW9kdWxlLCBTaGFyZWRNb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAncC1vcmRlcmxpc3QgcC1jb21wb25lbnQnOiB0cnVlLFxuICAgICAgICAgICAgICAgICdwLW9yZGVybGlzdC1zdHJpcGVkJzogc3RyaXBlZFJvd3MsXG4gICAgICAgICAgICAgICAgJ3Atb3JkZXJsaXN0LWNvbnRyb2xzLWxlZnQnOiBjb250cm9sc1Bvc2l0aW9uID09PSAnbGVmdCcsXG4gICAgICAgICAgICAgICAgJ3Atb3JkZXJsaXN0LWNvbnRyb2xzLXJpZ2h0JzogY29udHJvbHNQb3NpdGlvbiA9PT0gJ3JpZ2h0J1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJzdHlsZVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwic3R5bGVDbGFzc1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3Jvb3QnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtb3JkZXJsaXN0LWNvbnRyb2xzXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjb250cm9scydcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwibW92ZURpc2FibGVkKClcIiBwQnV0dG9uIHBSaXBwbGUgY2xhc3M9XCJwLWJ1dHRvbi1pY29uLW9ubHlcIiAoY2xpY2spPVwibW92ZVVwKClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vdmVVcEFyaWFMYWJlbFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInbW92ZVVwQnV0dG9uJ1wiIFtidXR0b25Qcm9wc109XCJnZXRCdXR0b25Qcm9wcygndXAnKVwiPlxuICAgICAgICAgICAgICAgICAgICA8QW5nbGVVcEljb24gKm5nSWY9XCIhbW92ZXVwaWNvblRlbXBsYXRlXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidtb3ZldXBpY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm1vdmV1cGljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cIm1vdmVEaXNhYmxlZCgpXCIgcEJ1dHRvbiBwUmlwcGxlIGNsYXNzPVwicC1idXR0b24taWNvbi1vbmx5XCIgKGNsaWNrKT1cIm1vdmVUb3AoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwibW92ZVRvcEFyaWFMYWJlbFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInbW92ZVRvcEJ1dHRvbidcIiBbYnV0dG9uUHJvcHNdPVwiZ2V0QnV0dG9uUHJvcHMoJ3RvcCcpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxBbmdsZURvdWJsZVVwSWNvbiAqbmdJZj1cIiFtb3ZldG9waWNvblRlbXBsYXRlXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidtb3ZldG9waWNvbidcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtb3ZldG9waWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwibW92ZURpc2FibGVkKClcIiBwQnV0dG9uIHBSaXBwbGUgY2xhc3M9XCJwLWJ1dHRvbi1pY29uLW9ubHlcIiAoY2xpY2spPVwibW92ZURvd24oKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwibW92ZURvd25BcmlhTGFiZWxcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ21vdmVEb3duQnV0dG9uJ1wiIFtidXR0b25Qcm9wc109XCJnZXRCdXR0b25Qcm9wcygnZG93bicpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxBbmdsZURvd25JY29uICpuZ0lmPVwiIW1vdmVkb3duaWNvblRlbXBsYXRlXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidtb3ZlZG93bmljb24nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibW92ZWRvd25pY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb3ZlRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIHBCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgcFJpcHBsZVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLWljb24tb25seVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtb3ZlQm90dG9tKClcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1vdmVCb3R0b21BcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ21vdmVCb3R0b21CdXR0b24nXCJcbiAgICAgICAgICAgICAgICAgICAgW2J1dHRvblByb3BzXT1cImdldEJ1dHRvblByb3BzKCdib3R0b20nKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8QW5nbGVEb3VibGVEb3duSWNvbiAqbmdJZj1cIiFtb3ZlYm90dG9taWNvblRlbXBsYXRlXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidtb3ZlYm90dG9taWNvbidcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtb3ZlYm90dG9taWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtb3JkZXJsaXN0LWxpc3QtY29udGFpbmVyXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjb250YWluZXInXCI+XG4gICAgICAgICAgICAgICAgPHAtbGlzdGJveFxuICAgICAgICAgICAgICAgICAgICAjbGlzdGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZF9zZWxlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWQgKyAnX2xpc3QnXCJcbiAgICAgICAgICAgICAgICAgICAgW2xpc3RTdHlsZV09XCJsaXN0U3R5bGVcIlxuICAgICAgICAgICAgICAgICAgICBbc3RyaXBlZF09XCJzdHJpcGVkUm93c1wiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIChvbkZvY3VzKT1cIm9uTGlzdEZvY3VzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAob25CbHVyKT1cIm9uTGlzdEJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uSXRlbUtleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW21ldGFLZXlTZWxlY3Rpb25dPVwibWV0YUtleVNlbGVjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzY3JvbGxIZWlnaHRdPVwic2Nyb2xsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9PcHRpb25Gb2N1c109XCJhdXRvT3B0aW9uRm9jdXNcIlxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyXT1cImZpbHRlckJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2ZpbHRlckJ5XT1cImZpbHRlckJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2ZpbHRlckxvY2FsZV09XCJmaWx0ZXJMb2NhbGVcIlxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyUGxhY2VIb2xkZXJdPVwiZmlsdGVyUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhlYWRlclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpdGVtIGxldC1vcHRpb24gbGV0LXNlbGVjdGVkPVwic2VsZWN0ZWRcIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiwgc2VsZWN0ZWQ6IHNlbGVjdGVkLCBpbmRleDogaW5kZXggfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3AtbGlzdGJveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbT3JkZXJMaXN0U3R5bGVdXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyTGlzdCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIFRleHQgZm9yIHRoZSBjYXB0aW9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEluZGV4IG9mIHRoZSBlbGVtZW50IGluIHRhYmJpbmcgb3JkZXIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGFiaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgYSBzdHJpbmcgdGhhdCBsYWJlbHMgdGhlIGlucHV0IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIG9uZSBvciBtb3JlIElEcyBpbiB0aGUgRE9NIHRoYXQgbGFiZWxzIHRoZSBpbnB1dCBmaWVsZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhcmlhTGFiZWxsZWRCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBsaXN0IGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgbGlzdFN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQSBib29sZWFuIHZhbHVlIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgcmVzcG9uc2l2ZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcmVzcG9uc2l2ZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIFdoZW4gc3BlY2lmaWVkIGRpc3BsYXlzIGFuIGlucHV0IGZpZWxkIHRvIGZpbHRlciB0aGUgaXRlbXMgb24ga2V5dXAgYW5kIGRlY2lkZXMgd2hpY2ggZmllbGRzIHRvIHNlYXJjaCBhZ2FpbnN0LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGZpbHRlckJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBQbGFjZWhvbGRlciBvZiB0aGUgZmlsdGVyIGlucHV0LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGZpbHRlclBsYWNlaG9sZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBMb2NhbGUgdG8gdXNlIGluIGZpbHRlcmluZy4gVGhlIGRlZmF1bHQgbG9jYWxlIGlzIHRoZSBob3N0IGVudmlyb25tZW50J3MgY3VycmVudCBsb2NhbGUuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZmlsdGVyTG9jYWxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUgbWV0YUtleSBuZWVkcyB0byBiZSBwcmVzc2VkIHRvIHNlbGVjdCBvciB1bnNlbGVjdCBhbiBpdGVtIGFuZCB3aGVuIHNldCB0byBmYWxzZSBzZWxlY3Rpb24gb2YgZWFjaCBpdGVtIGNhbiBiZSB0b2dnbGVkIGluZGl2aWR1YWxseS4gT24gdG91Y2ggZW5hYmxlZCBkZXZpY2VzLCBtZXRhS2V5U2VsZWN0aW9uIGlzIHR1cm5lZCBvZmYgYXV0b21hdGljYWxseS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbWV0YUtleVNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBlbmFibGUgZHJhZ2Ryb3AgYmFzZWQgcmVvcmRlcmluZy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZHJhZ2Ryb3A6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBidXR0b25zIHdpdGggcmVzcGVjdCB0byB0aGUgbGlzdC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjb250cm9sc1Bvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBhIHN0cmluZyB0aGF0IGxhYmVscyB0aGUgZmlsdGVyIGlucHV0LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFyaWFGaWx0ZXJMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBob3cgdGhlIGl0ZW1zIGFyZSBmaWx0ZXJlZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmaWx0ZXJNYXRjaE1vZGU6ICdjb250YWlucycgfCAnc3RhcnRzV2l0aCcgfCAnZW5kc1dpdGgnIHwgJ2VxdWFscycgfCAnbm90RXF1YWxzJyB8ICdpbicgfCAnbHQnIHwgJ2x0ZScgfCAnZ3QnIHwgJ2d0ZScgPSAnY29udGFpbnMnO1xuXG4gICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHRoZSB3aWR0aCBvZiB0aGUgc2NyZWVuIGF0IHdoaWNoIHRoZSBjb21wb25lbnQgc2hvdWxkIGNoYW5nZSBpdHMgYmVoYXZpb3IuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYnJlYWtwb2ludDogc3RyaW5nID0gJzk2MHB4JztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZGlzcGxheXMgcm93cyB3aXRoIGFsdGVybmF0aW5nIGNvbG9ycy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc3RyaXBlZFJvd3M6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHByZXNlbnQsIGl0IHNwZWNpZmllcyB0aGF0IHRoZSBjb21wb25lbnQgc2hvdWxkIGJlIGRpc2FibGVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gb3B0aW1pemUgdGhlIGRvbSBvcGVyYXRpb25zIGJ5IGRlbGVnYXRpbmcgdG8gbmdGb3JUcmFja0J5LCBkZWZhdWx0IGFsZ29yaXRobSBjaGVja3MgZm9yIG9iamVjdCBpZGVudGl0eS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0cmFja0J5OiBGdW5jdGlvbiA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpID0+IGl0ZW07XG5cbiAgICAvKipcbiAgICAgKiBIZWlnaHQgb2YgdGhlIHZpZXdwb3J0LCBhIHNjcm9sbGJhciBpcyBkZWZpbmVkIGlmIGhlaWdodCBvZiBsaXN0IGV4Y2VlZHMgdGhpcyB2YWx1ZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzY3JvbGxIZWlnaHQgPSAnMTRyZW0nO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBmb2N1cyBvbiB0aGUgZmlyc3QgdmlzaWJsZSBvciBzZWxlY3RlZCBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhdXRvT3B0aW9uRm9jdXM6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIHZhbHVlcyB0aGF0IGFyZSBjdXJyZW50bHkgc2VsZWN0ZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGlvbih2YWw6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuZF9zZWxlY3Rpb24gPSB2YWw7XG4gICAgfVxuICAgIGdldCBzZWxlY3Rpb24oKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kX3NlbGVjdGlvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcnJheSBvZiB2YWx1ZXMgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBjb21wb25lbnQuXG4gICAgICogSXQgcmVwcmVzZW50cyB0aGUgZGF0YSBzb3VyY2UgZm9yIHRoZSBsaXN0IG9mIGl0ZW1zLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB2YWx1ZSh2YWw6IGFueVtdIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xuICAgICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgdmFsdWUoKTogYW55W10gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBwYXNzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBCdXR0b25Qcm9wcyB0byB0aGUgQnV0dG9uIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBidXR0b25Qcm9wczogQnV0dG9uUHJvcHMgPSB7IHNldmVyaXR5OiAnc2Vjb25kYXJ5JyB9O1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBwYXNzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBCdXR0b25Qcm9wcyB0byB0aGUgbW92ZSB1cCBidXR0b24gaW5zaWRlIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgbW92ZVVwQnV0dG9uUHJvcHM6IEJ1dHRvblByb3BzO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBwYXNzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBCdXR0b25Qcm9wcyB0byB0aGUgbW92ZSB0b3AgYnV0dG9uIGluc2lkZSB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1vdmVUb3BCdXR0b25Qcm9wczogQnV0dG9uUHJvcHM7XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIHRvIHBhc3MgYWxsIHByb3BlcnRpZXMgb2YgdGhlIEJ1dHRvblByb3BzIHRvIHRoZSBtb3ZlIGRvd24gYnV0dG9uIGluc2lkZSB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1vdmVEb3duQnV0dG9uUHJvcHM6IEJ1dHRvblByb3BzO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBwYXNzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBCdXR0b25Qcm9wcyB0byB0aGUgbW92ZSBib3R0b20gYnV0dG9uIGluc2lkZSB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1vdmVCb3R0b21CdXR0b25Qcm9wczogQnV0dG9uUHJvcHM7XG5cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gc2VsZWN0aW9uIGNoYW5nZS5cbiAgICAgKiBAcGFyYW0geyp9IGFueSAtIHNlbGVjdGlvbiBpbnN0YW5jZS5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGxpc3QgaXMgcmVvcmRlcmVkLlxuICAgICAqIEBwYXJhbSB7Kn0gYW55IC0gbGlzdCBpbnN0YW5jZS5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25SZW9yZGVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHNlbGVjdGlvbiBjaGFuZ2VzLlxuICAgICAqIEBwYXJhbSB7T3JkZXJMaXN0U2VsZWN0aW9uQ2hhbmdlRXZlbnR9IGV2ZW50IC0gQ3VzdG9tIGNoYW5nZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxPcmRlckxpc3RTZWxlY3Rpb25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE9yZGVyTGlzdFNlbGVjdGlvbkNoYW5nZUV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gZmlsdGVyaW5nIG9jY3Vycy5cbiAgICAgKiBAcGFyYW0ge09yZGVyTGlzdEZpbHRlckV2ZW50fSBldmVudCAtIEN1c3RvbSBmaWx0ZXIgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uRmlsdGVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxPcmRlckxpc3RGaWx0ZXJFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE9yZGVyTGlzdEZpbHRlckV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gdGhlIGxpc3QgaXMgZm9jdXNlZFxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gQnJvd3NlciBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25Gb2N1czogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiB0aGUgbGlzdCBpcyBibHVycmVkXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnbGlzdGVsZW1lbnQnKSBsaXN0Vmlld0NoaWxkITogTGlzdGJveDtcblxuICAgIEBWaWV3Q2hpbGQoJ2ZpbHRlcicpIGZpbHRlclZpZXdDaGlsZDogTnVsbGFibGU8RWxlbWVudFJlZj47XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gaXRlbSB0ZW1wbGF0ZS5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaXRlbScpIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBlbXB0eSB0ZW1wbGF0ZS5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZW1wdHknKSBlbXB0eW1lc3NhZ2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBlbXB0eSBmaWx0ZXIgdGVtcGxhdGUuXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VtcHR5ZmlsdGVyJykgZW1wdHlmaWx0ZXJtZXNzYWdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gZmlsdGVyIHRlbXBsYXRlLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdmaWx0ZXInKSBmaWx0ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBoZWFkZXIgdGVtcGxhdGUuXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicpIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIG1vdmUgdXAgaWNvbiB0ZW1wbGF0ZS5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbW92ZXVwaWNvbicpIG1vdmV1cGljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBtb3ZlIHRvcCBpY29uIHRlbXBsYXRlLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdtb3ZldG9waWNvbicpIG1vdmV0b3BpY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gbW92ZSBkb3duIGljb24gdGVtcGxhdGUuXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ21vdmVkb3duaWNvbicpIG1vdmVkb3duaWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIG1vdmUgYm90dG9tIGljb24gdGVtcGxhdGUuXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ21vdmVib3R0b21pY29uJykgbW92ZWJvdHRvbWljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBmaWx0ZXIgaWNvbiB0ZW1wbGF0ZS5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZmlsdGVyaWNvbicpIGZpbHRlcmljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIGdldCBtb3ZlVXBBcmlhTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYS5tb3ZlVXAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgZ2V0IG1vdmVUb3BBcmlhTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYS5tb3ZlVG9wIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGdldCBtb3ZlRG93bkFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEgPyB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhLm1vdmVEb3duIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGdldCBtb3ZlQm90dG9tQXJpYUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYSA/IHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEubW92ZUJvdHRvbSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoT3JkZXJMaXN0U3R5bGUpO1xuXG4gICAgZmlsdGVyT3B0aW9uczogTnVsbGFibGU8T3JkZXJMaXN0RmlsdGVyT3B0aW9ucz47XG5cbiAgICBkX3NlbGVjdGlvbjogYW55W10gPSBbXTtcblxuICAgIG1vdmVkVXA6IE51bGxhYmxlPGJvb2xlYW4+O1xuXG4gICAgbW92ZWREb3duOiBOdWxsYWJsZTxib29sZWFuPjtcblxuICAgIGl0ZW1Ub3VjaGVkOiBOdWxsYWJsZTxib29sZWFuPjtcblxuICAgIHN0eWxlRWxlbWVudDogYW55O1xuXG4gICAgaWQ6IHN0cmluZyA9IHV1aWQoJ3BuX2lkXycpO1xuXG4gICAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZm9jdXNlZE9wdGlvbkluZGV4OiBhbnkgPSAtMTtcblxuICAgIGZvY3VzZWRPcHRpb246IGFueSB8IHVuZGVmaW5lZDtcblxuICAgIHB1YmxpYyBmaWx0ZXJWYWx1ZTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIHB1YmxpYyB2aXNpYmxlT3B0aW9uczogTnVsbGFibGU8YW55W10+O1xuXG4gICAgcHVibGljIF92YWx1ZTogYW55W10gfCB1bmRlZmluZWQ7XG5cbiAgICBmaWx0ZXJTZXJ2aWNlID0gaW5qZWN0KEZpbHRlclNlcnZpY2UpO1xuXG4gICAgZ2V0QnV0dG9uUHJvcHMoZGlyZWN0aW9uOiBzdHJpbmcpIHtcbiAgICAgICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ3VwJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geyAuLi50aGlzLmJ1dHRvblByb3BzLCAuLi50aGlzLm1vdmVVcEJ1dHRvblByb3BzIH07XG4gICAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLnRoaXMuYnV0dG9uUHJvcHMsIC4uLnRoaXMubW92ZVRvcEJ1dHRvblByb3BzIH07XG4gICAgICAgICAgICBjYXNlICdkb3duJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geyAuLi50aGlzLmJ1dHRvblByb3BzLCAuLi50aGlzLm1vdmVEb3duQnV0dG9uUHJvcHMgfTtcbiAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4udGhpcy5idXR0b25Qcm9wcywgLi4udGhpcy5tb3ZlQm90dG9tQnV0dG9uUHJvcHMgfTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uUHJvcHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKHRoaXMucmVzcG9uc2l2ZSkge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVTdHlsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyQnkpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICh2YWx1ZSkgPT4gdGhpcy5vbkZpbHRlcktleXVwKHZhbHVlKSxcbiAgICAgICAgICAgICAgICByZXNldDogKCkgPT4gdGhpcy5yZXNldEZpbHRlcigpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgICAgICBpZiAodGhpcy5tb3ZlZFVwIHx8IHRoaXMubW92ZWREb3duKSB7XG4gICAgICAgICAgICBsZXQgbGlzdEl0ZW1zID0gZmluZCh0aGlzLmxpc3RWaWV3Q2hpbGQ/LmVsLm5hdGl2ZUVsZW1lbnQsICdsaS5wLWxpc3Rib3gtb3B0aW9uLXNlbGVjdGVkJyk7XG5cbiAgICAgICAgICAgIGxldCBsaXN0SXRlbTtcblxuICAgICAgICAgICAgaWYgKGxpc3RJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubW92ZWRVcCkgbGlzdEl0ZW0gPSBsaXN0SXRlbXNbMF07XG4gICAgICAgICAgICAgICAgZWxzZSBsaXN0SXRlbSA9IGxpc3RJdGVtc1tsaXN0SXRlbXMubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgICAgICBzY3JvbGxJblZpZXcodGhpcy5saXN0Vmlld0NoaWxkPy5lbC5uYXRpdmVFbGVtZW50LCBsaXN0SXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm1vdmVkVXAgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubW92ZWREb3duID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhldmVudCwgaXRlbTogYW55LCBpbmRleD86IG51bWJlciwgc2VsZWN0ZWRJZD86IHN0cmluZykge1xuICAgICAgICB0aGlzLml0ZW1Ub3VjaGVkID0gZmFsc2U7XG4gICAgICAgIGxldCBmb2N1c2VkSW5kZXggPSBpbmRleCA/IGluZGV4IDogZmluZEluZGV4SW5MaXN0KHRoaXMuZm9jdXNlZE9wdGlvbiwgdGhpcy52YWx1ZSk7XG4gICAgICAgIGxldCBzZWxlY3RlZEluZGV4ID0gZmluZEluZGV4SW5MaXN0KGl0ZW0sIHRoaXMuZF9zZWxlY3Rpb24pO1xuICAgICAgICBsZXQgc2VsZWN0ZWQgPSBzZWxlY3RlZEluZGV4ICE9PSAtMTtcbiAgICAgICAgbGV0IG1ldGFTZWxlY3Rpb24gPSB0aGlzLml0ZW1Ub3VjaGVkID8gZmFsc2UgOiB0aGlzLm1ldGFLZXlTZWxlY3Rpb247XG5cbiAgICAgICAgaWYgKHNlbGVjdGVkSWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4ID0gc2VsZWN0ZWRJZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRhU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBsZXQgbWV0YUtleSA9IGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleTtcblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkICYmIG1ldGFLZXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRfc2VsZWN0aW9uID0gdGhpcy5kX3NlbGVjdGlvbi5maWx0ZXIoKHZhbCwgZm9jdXNlZEluZGV4KSA9PiBmb2N1c2VkSW5kZXggIT09IHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRfc2VsZWN0aW9uID0gbWV0YUtleSA/ICh0aGlzLmRfc2VsZWN0aW9uID8gWy4uLnRoaXMuZF9zZWxlY3Rpb25dIDogW10pIDogW107XG4gICAgICAgICAgICAgICAgaW5zZXJ0SW50b09yZGVyZWRBcnJheShpdGVtLCBmb2N1c2VkSW5kZXgsIHRoaXMuZF9zZWxlY3Rpb24sIHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kX3NlbGVjdGlvbiA9IHRoaXMuZF9zZWxlY3Rpb24uZmlsdGVyKCh2YWwsIGZvY3VzZWRJbmRleCkgPT4gZm9jdXNlZEluZGV4ICE9PSBzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kX3NlbGVjdGlvbiA9IHRoaXMuZF9zZWxlY3Rpb24gPyBbLi4udGhpcy5kX3NlbGVjdGlvbl0gOiBbXTtcbiAgICAgICAgICAgICAgICBpbnNlcnRJbnRvT3JkZXJlZEFycmF5KGl0ZW0sIGZvY3VzZWRJbmRleCwgdGhpcy5kX3NlbGVjdGlvbiwgdGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvL2JpbmRpbmdcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmRfc2VsZWN0aW9uKTtcblxuICAgICAgICAvL2V2ZW50XG4gICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCB2YWx1ZTogdGhpcy5kX3NlbGVjdGlvbiB9KTtcbiAgICB9XG5cbiAgICBvbkZpbHRlcktleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZmlsdGVyVmFsdWUgPSAoKDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldCkudmFsdWUudHJpbSgpIGFzIGFueSkudG9Mb2NhbGVMb3dlckNhc2UodGhpcy5maWx0ZXJMb2NhbGUpO1xuICAgICAgICB0aGlzLmZpbHRlcigpO1xuXG4gICAgICAgIHRoaXMub25GaWx0ZXJFdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmlzaWJsZU9wdGlvbnMgYXMgYW55W11cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZmlsdGVyKCkge1xuICAgICAgICBsZXQgc2VhcmNoRmllbGRzOiBzdHJpbmdbXSA9ICh0aGlzLmZpbHRlckJ5IGFzIHN0cmluZykuc3BsaXQoJywnKTtcbiAgICAgICAgdGhpcy52aXNpYmxlT3B0aW9ucyA9IHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIodGhpcy52YWx1ZSBhcyBhbnlbXSwgc2VhcmNoRmllbGRzLCB0aGlzLmZpbHRlclZhbHVlLCB0aGlzLmZpbHRlck1hdGNoTW9kZSwgdGhpcy5maWx0ZXJMb2NhbGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSBvbiBmaWx0ZXIgcmVzZXQuXG4gICAgICogQGdyb3VwIE1ldGhvZFxuICAgICAqL1xuICAgIHB1YmxpYyByZXNldEZpbHRlcigpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJWYWx1ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZmlsdGVyVmlld0NoaWxkICYmICgoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5maWx0ZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCkudmFsdWUgPSAnJyk7XG4gICAgfVxuXG4gICAgaXNJdGVtVmlzaWJsZShpdGVtOiBhbnkpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyVmFsdWUgJiYgdGhpcy5maWx0ZXJWYWx1ZS50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8ICh0aGlzLnZpc2libGVPcHRpb25zIGFzIGFueVtdKS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtID09ICh0aGlzLnZpc2libGVPcHRpb25zIGFzIGFueVtdKVtpXSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSXRlbVRvdWNoRW5kKCkge1xuICAgICAgICB0aGlzLml0ZW1Ub3VjaGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpc1NlbGVjdGVkKGl0ZW06IGFueSkge1xuICAgICAgICByZXR1cm4gZmluZEluZGV4SW5MaXN0KGl0ZW0sIHRoaXMuZF9zZWxlY3Rpb24pICE9PSAtMTtcbiAgICB9XG5cbiAgICBpc0VtcHR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJWYWx1ZSA/ICF0aGlzLnZpc2libGVPcHRpb25zIHx8IHRoaXMudmlzaWJsZU9wdGlvbnMubGVuZ3RoID09PSAwIDogIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgbW92ZVVwKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zZWxlY3Rpb24ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtID0gdGhpcy5zZWxlY3Rpb25baV07XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkSXRlbUluZGV4OiBudW1iZXIgPSBmaW5kSW5kZXhJbkxpc3Qoc2VsZWN0ZWRJdGVtLCB0aGlzLnZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZEl0ZW1JbmRleCAhPSAwICYmIHRoaXMudmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW92ZWRJdGVtID0gdGhpcy52YWx1ZVtzZWxlY3RlZEl0ZW1JbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGxldCB0ZW1wID0gdGhpcy52YWx1ZVtzZWxlY3RlZEl0ZW1JbmRleCAtIDFdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlW3NlbGVjdGVkSXRlbUluZGV4IC0gMV0gPSBtb3ZlZEl0ZW07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVbc2VsZWN0ZWRJdGVtSW5kZXhdID0gdGVtcDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRyYWdkcm9wICYmIHRoaXMuZmlsdGVyVmFsdWUpIHRoaXMuZmlsdGVyKCk7XG5cbiAgICAgICAgICAgIHRoaXMubW92ZWRVcCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm9uUmVvcmRlci5lbWl0KHRoaXMuc2VsZWN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxpc3RWaWV3Q2hpbGQ/LmNkPy5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBtb3ZlVG9wKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSB0aGlzLnNlbGVjdGlvbi5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdGlvbltpXTtcbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtSW5kZXg6IG51bWJlciA9IGZpbmRJbmRleEluTGlzdChzZWxlY3RlZEl0ZW0sIHRoaXMudmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkSXRlbUluZGV4ICE9IDAgJiYgdGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtb3ZlZEl0ZW0gPSB0aGlzLnZhbHVlLnNwbGljZShzZWxlY3RlZEl0ZW1JbmRleCwgMSlbMF07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUudW5zaGlmdChtb3ZlZEl0ZW0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuZHJhZ2Ryb3AgJiYgdGhpcy5maWx0ZXJWYWx1ZSkgdGhpcy5maWx0ZXIoKTtcblxuICAgICAgICAgICAgdGhpcy5vblJlb3JkZXIuZW1pdCh0aGlzLnNlbGVjdGlvbik7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RWaWV3Q2hpbGQuc2Nyb2xsSW5WaWV3KDApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5saXN0Vmlld0NoaWxkPy5jZD8ubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgbW92ZURvd24oKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuc2VsZWN0aW9uLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkSXRlbSA9IHRoaXMuc2VsZWN0aW9uW2ldO1xuICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZEl0ZW1JbmRleDogbnVtYmVyID0gZmluZEluZGV4SW5MaXN0KHNlbGVjdGVkSXRlbSwgdGhpcy52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHNlbGVjdGVkSXRlbUluZGV4ICE9IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW92ZWRJdGVtID0gdGhpcy52YWx1ZVtzZWxlY3RlZEl0ZW1JbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGxldCB0ZW1wID0gdGhpcy52YWx1ZVtzZWxlY3RlZEl0ZW1JbmRleCArIDFdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlW3NlbGVjdGVkSXRlbUluZGV4ICsgMV0gPSBtb3ZlZEl0ZW07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVbc2VsZWN0ZWRJdGVtSW5kZXhdID0gdGVtcDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRyYWdkcm9wICYmIHRoaXMuZmlsdGVyVmFsdWUpIHRoaXMuZmlsdGVyKCk7XG5cbiAgICAgICAgICAgIHRoaXMubW92ZWREb3duID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMub25SZW9yZGVyLmVtaXQodGhpcy5zZWxlY3Rpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5saXN0Vmlld0NoaWxkPy5jZD8ubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgbW92ZUJvdHRvbSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc2VsZWN0aW9uLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkSXRlbSA9IHRoaXMuc2VsZWN0aW9uW2ldO1xuICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZEl0ZW1JbmRleDogbnVtYmVyID0gZmluZEluZGV4SW5MaXN0KHNlbGVjdGVkSXRlbSwgdGhpcy52YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHNlbGVjdGVkSXRlbUluZGV4ICE9IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW92ZWRJdGVtID0gdGhpcy52YWx1ZS5zcGxpY2Uoc2VsZWN0ZWRJdGVtSW5kZXgsIDEpWzBdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlLnB1c2gobW92ZWRJdGVtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRyYWdkcm9wICYmIHRoaXMuZmlsdGVyVmFsdWUpIHRoaXMuZmlsdGVyKCk7XG5cbiAgICAgICAgICAgIHRoaXMub25SZW9yZGVyLmVtaXQodGhpcy5zZWxlY3Rpb24pO1xuICAgICAgICAgICAgdGhpcy5saXN0Vmlld0NoaWxkLnNjcm9sbEluVmlldyh0aGlzLnZhbHVlPy5sZW5ndGggLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxpc3RWaWV3Q2hpbGQ/LmNkPy5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgICAgICBsZXQgcHJldmlvdXNJbmRleCA9IGV2ZW50LnByZXZpb3VzSW5kZXg7XG4gICAgICAgIGxldCBjdXJyZW50SW5kZXggPSBldmVudC5jdXJyZW50SW5kZXg7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzSW5kZXggIT09IGN1cnJlbnRJbmRleCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZU9wdGlvbnMpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maWx0ZXJWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0luZGV4ID0gZmluZEluZGV4SW5MaXN0KGV2ZW50Lml0ZW0uZGF0YSwgdGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRJbmRleCA9IGZpbmRJbmRleEluTGlzdCh0aGlzLnZpc2libGVPcHRpb25zW2N1cnJlbnRJbmRleF0sIHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnZpc2libGVPcHRpb25zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy52YWx1ZSBhcyBhbnlbXSwgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRm9jdXNlZE9wdGlvbkluZGV4KGN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgICB0aGlzLm9uUmVvcmRlci5lbWl0KFtldmVudC5pdGVtLmRhdGFdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTGlzdEZvY3VzKGV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZUVsID0gZmluZFNpbmdsZSh0aGlzLmxpc3RWaWV3Q2hpbGQuZWwubmF0aXZlRWxlbWVudCwgJ1tkYXRhLXAtaGlnaGxpZ2h0PVwidHJ1ZVwiXScpIHx8IGZpbmRTaW5nbGUodGhpcy5saXN0Vmlld0NoaWxkLmVsLm5hdGl2ZUVsZW1lbnQsICdbZGF0YS1wYy1zZWN0aW9uPVwiaXRlbVwiXScpO1xuXG4gICAgICAgIGlmIChmb2N1c2FibGVFbCkge1xuICAgICAgICAgICAgY29uc3QgZmluZEluZGV4ID0gZmluZEluZGV4SW5MaXN0KGZvY3VzYWJsZUVsLCB0aGlzLmxpc3RWaWV3Q2hpbGQuZWwubmF0aXZlRWxlbWVudC5jaGlsZHJlbik7XG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCAhPT0gLTEgPyB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA6IGZvY3VzYWJsZUVsID8gZmluZEluZGV4IDogLTE7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRm9jdXNlZE9wdGlvbkluZGV4KGluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25Gb2N1cy5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkxpc3RCbHVyKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZvY3VzZWRPcHRpb24gPSBudWxsO1xuICAgICAgICB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA9IC0xO1xuICAgICAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkl0ZW1LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uQXJyb3dEb3duS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgICAgICAgIHRoaXMub25BcnJvd1VwS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICAgICAgICAgIHRoaXMub25Ib21lS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0VuZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vbkVuZEtleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgICAgICAgICAgdGhpcy5vbkVudGVyS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1NwYWNlJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uU3BhY2VLZXkoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnS2V5QSc6XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmN0cmxLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kX3NlbGVjdGlvbiA9IFsuLi50aGlzLnZhbHVlXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmRfc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25PcHRpb25Nb3VzZURvd24oaW5kZXgpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5mb2N1c2VkT3B0aW9uSW5kZXggPSBpbmRleDtcbiAgICB9XG5cbiAgICBvbkFycm93RG93bktleShldmVudCkge1xuICAgICAgICBjb25zdCBvcHRpb25JbmRleCA9IHRoaXMuZmluZE5leHRPcHRpb25JbmRleCh0aGlzLmZvY3VzZWRPcHRpb25JbmRleCk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VGb2N1c2VkT3B0aW9uSW5kZXgob3B0aW9uSW5kZXgpO1xuXG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgICAgdGhpcy5vbkVudGVyS2V5KGV2ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICAgIG9uQXJyb3dVcEtleShldmVudCkge1xuICAgICAgICBjb25zdCBvcHRpb25JbmRleCA9IHRoaXMuZmluZFByZXZPcHRpb25JbmRleCh0aGlzLmZvY3VzZWRPcHRpb25JbmRleCk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VGb2N1c2VkT3B0aW9uSW5kZXgob3B0aW9uSW5kZXgpO1xuXG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgICAgdGhpcy5vbkVudGVyS2V5KGV2ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25Ib21lS2V5KGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICBsZXQgdmlzaWJsZU9wdGlvbnMgPSB0aGlzLmdldFZpc2libGVPcHRpb25zKCk7XG4gICAgICAgICAgICBsZXQgZm9jdXNlZEluZGV4ID0gZmluZEluZGV4SW5MaXN0KHRoaXMuZm9jdXNlZE9wdGlvbiwgdmlzaWJsZU9wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy5kX3NlbGVjdGlvbiA9IFsuLi50aGlzLnZhbHVlXS5zbGljZSgwLCBmb2N1c2VkSW5kZXggKyAxKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5kX3NlbGVjdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZUZvY3VzZWRPcHRpb25JbmRleCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25FbmRLZXkoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgIGxldCB2aXNpYmxlT3B0aW9ucyA9IHRoaXMuZ2V0VmlzaWJsZU9wdGlvbnMoKTtcbiAgICAgICAgICAgIGxldCBmb2N1c2VkSW5kZXggPSBmaW5kSW5kZXhJbkxpc3QodGhpcy5mb2N1c2VkT3B0aW9uLCB2aXNpYmxlT3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmRfc2VsZWN0aW9uID0gWy4uLnRoaXMudmFsdWVdLnNsaWNlKGZvY3VzZWRJbmRleCwgdmlzaWJsZU9wdGlvbnMubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZF9zZWxlY3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VGb2N1c2VkT3B0aW9uSW5kZXgoZmluZCh0aGlzLmxpc3RWaWV3Q2hpbGQuZWwubmF0aXZlRWxlbWVudCwgJ1tkYXRhLXBjLXNlY3Rpb249XCJpdGVtXCJdJykubGVuZ3RoIC0gMSk7XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uRW50ZXJLZXkoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5vbkl0ZW1DbGljayhldmVudCwgdGhpcy5mb2N1c2VkT3B0aW9uKTtcblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uU3BhY2VLZXkoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgdGhpcy5zZWxlY3Rpb24gJiYgdGhpcy5zZWxlY3Rpb24ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IHZpc2libGVPcHRpb25zID0gdGhpcy5nZXRWaXNpYmxlT3B0aW9ucygpO1xuICAgICAgICAgICAgbGV0IGxhc3RTZWxlY3RlZEluZGV4ID0gdGhpcy5nZXRMYXRlc3RTZWxlY3RlZFZpc2libGVPcHRpb25JbmRleCh2aXNpYmxlT3B0aW9ucyk7XG5cbiAgICAgICAgICAgIGlmIChsYXN0U2VsZWN0ZWRJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBsZXQgZm9jdXNlZEluZGV4ID0gZmluZEluZGV4SW5MaXN0KHRoaXMuZm9jdXNlZE9wdGlvbiwgdmlzaWJsZU9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZF9zZWxlY3Rpb24gPSBbLi4udmlzaWJsZU9wdGlvbnMuc2xpY2UoTWF0aC5taW4obGFzdFNlbGVjdGVkSW5kZXgsIGZvY3VzZWRJbmRleCksIE1hdGgubWF4KGxhc3RTZWxlY3RlZEluZGV4LCBmb2N1c2VkSW5kZXgpICsgMSldO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5kX3NlbGVjdGlvbik7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KHsgb3JpZ2luYWxFdmVudDogZXZlbnQsIHZhbHVlOiB0aGlzLmRfc2VsZWN0aW9uIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkVudGVyS2V5KGV2ZW50KTtcbiAgICB9XG5cbiAgICBmaW5kTmV4dE9wdGlvbkluZGV4KGluZGV4KSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gZmluZCh0aGlzLmxpc3RWaWV3Q2hpbGQuZWwubmF0aXZlRWxlbWVudCwgJ1tkYXRhLXBjLXNlY3Rpb249XCJpdGVtXCJdJyk7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb25JbmRleCA9IFsuLi5pdGVtc10uZmluZEluZGV4KChsaW5rKSA9PiBsaW5rLmlkID09PSBpbmRleCk7XG5cbiAgICAgICAgcmV0dXJuIG1hdGNoZWRPcHRpb25JbmRleCA+IC0xID8gbWF0Y2hlZE9wdGlvbkluZGV4ICsgMSA6IDA7XG4gICAgfVxuXG4gICAgZmluZFByZXZPcHRpb25JbmRleChpbmRleCkge1xuICAgICAgICBjb25zdCBpdGVtcyA9IGZpbmQodGhpcy5saXN0Vmlld0NoaWxkLmVsLm5hdGl2ZUVsZW1lbnQsICdbZGF0YS1wYy1zZWN0aW9uPVwiaXRlbVwiXScpO1xuICAgICAgICBjb25zdCBtYXRjaGVkT3B0aW9uSW5kZXggPSBbLi4uaXRlbXNdLmZpbmRJbmRleCgobGluaykgPT4gbGluay5pZCA9PT0gaW5kZXgpO1xuXG4gICAgICAgIHJldHVybiBtYXRjaGVkT3B0aW9uSW5kZXggPiAtMSA/IG1hdGNoZWRPcHRpb25JbmRleCAtIDEgOiAwO1xuICAgIH1cblxuICAgIGdldExhdGVzdFNlbGVjdGVkVmlzaWJsZU9wdGlvbkluZGV4KHZpc2libGVPcHRpb25zOiBhbnlbXSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGxhdGVzdFNlbGVjdGVkSXRlbSA9IFsuLi50aGlzLmRfc2VsZWN0aW9uXS5yZXZlcnNlKCkuZmluZCgoaXRlbSkgPT4gdmlzaWJsZU9wdGlvbnMuaW5jbHVkZXMoaXRlbSkpO1xuXG4gICAgICAgIHJldHVybiBsYXRlc3RTZWxlY3RlZEl0ZW0gIT09IHVuZGVmaW5lZCA/IHZpc2libGVPcHRpb25zLmluZGV4T2YobGF0ZXN0U2VsZWN0ZWRJdGVtKSA6IC0xO1xuICAgIH1cblxuICAgIGdldFZpc2libGVPcHRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy52aXNpYmxlT3B0aW9ucyAmJiB0aGlzLnZpc2libGVPcHRpb25zLmxlbmd0aCA+IDAgPyB0aGlzLnZpc2libGVPcHRpb25zIDogdGhpcy52YWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IDAgPyB0aGlzLnZhbHVlIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXRGb2N1c2VkT3B0aW9uKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSAtMSkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmlzaWJsZU9wdGlvbnMgJiYgdGhpcy52aXNpYmxlT3B0aW9ucy5sZW5ndGggPyB0aGlzLnZpc2libGVPcHRpb25zW2luZGV4XSA6IHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGggPyB0aGlzLnZhbHVlW2luZGV4XSA6IG51bGw7XG4gICAgfVxuXG4gICAgY2hhbmdlRm9jdXNlZE9wdGlvbkluZGV4KGluZGV4KSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gZmluZCh0aGlzLmxpc3RWaWV3Q2hpbGQuZWwubmF0aXZlRWxlbWVudCwgJ1tkYXRhLXBjLXNlY3Rpb249XCJpdGVtXCJdJyk7XG5cbiAgICAgICAgbGV0IG9yZGVyID0gaW5kZXggPj0gaXRlbXMubGVuZ3RoID8gaXRlbXMubGVuZ3RoIC0gMSA6IGluZGV4IDwgMCA/IDAgOiBpbmRleDtcblxuICAgICAgICB0aGlzLmZvY3VzZWRPcHRpb25JbmRleCA9IGl0ZW1zW29yZGVyXSA/IGl0ZW1zW29yZGVyXS5nZXRBdHRyaWJ1dGUoJ2lkJykgOiAtMTtcbiAgICAgICAgdGhpcy5mb2N1c2VkT3B0aW9uID0gdGhpcy5nZXRGb2N1c2VkT3B0aW9uKG9yZGVyKTtcblxuICAgICAgICB0aGlzLnNjcm9sbEluVmlldyh0aGlzLmZvY3VzZWRPcHRpb25JbmRleCk7XG4gICAgfVxuXG4gICAgc2Nyb2xsSW5WaWV3KGlkKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBmaW5kU2luZ2xlKHRoaXMubGlzdFZpZXdDaGlsZC5lbC5uYXRpdmVFbGVtZW50LCBgW2RhdGEtcGMtc2VjdGlvbj1cIml0ZW1cIl1baWQ9XCIke2lkfVwiXWApO1xuXG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3ICYmIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnLCBpbmxpbmU6ICduZWFyZXN0JyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZpbmROZXh0SXRlbShpdGVtOiBhbnkpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgICAgICBsZXQgbmV4dEl0ZW0gPSBpdGVtLm5leHRFbGVtZW50U2libGluZztcblxuICAgICAgICBpZiAobmV4dEl0ZW0pIHJldHVybiAhaGFzQ2xhc3MobmV4dEl0ZW0sICdwLW9yZGVybGlzdC1pdGVtJykgfHwgaXNIaWRkZW4obmV4dEl0ZW0pID8gdGhpcy5maW5kTmV4dEl0ZW0obmV4dEl0ZW0pIDogbmV4dEl0ZW07XG4gICAgICAgIGVsc2UgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZmluZFByZXZJdGVtKGl0ZW06IGFueSk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGxldCBwcmV2SXRlbSA9IGl0ZW0ucHJldmlvdXNFbGVtZW50U2libGluZztcblxuICAgICAgICBpZiAocHJldkl0ZW0pIHJldHVybiAhaGFzQ2xhc3MocHJldkl0ZW0sICdwLW9yZGVybGlzdC1pdGVtJykgfHwgaXNIaWRkZW4ocHJldkl0ZW0pID8gdGhpcy5maW5kUHJldkl0ZW0ocHJldkl0ZW0pIDogcHJldkl0ZW07XG4gICAgICAgIGVsc2UgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbW92ZURpc2FibGVkKCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5zZWxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzZWRPcHRpb25JZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4ICE9PSAtMSA/IHRoaXMuZm9jdXNlZE9wdGlvbkluZGV4IDogbnVsbDtcbiAgICB9XG5cbiAgICBjcmVhdGVTdHlsZSgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5zdHlsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0sIHRoaXMuaWQsICcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0eWxlRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLnN0eWxlRWxlbWVudCwgJ3R5cGUnLCAndGV4dC9jc3MnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuaGVhZCwgdGhpcy5zdHlsZUVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGlubmVySFRNTCA9IGBcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHt0aGlzLmJyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAucC1vcmRlcmxpc3RbJHt0aGlzLmlkfV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wLW9yZGVybGlzdFske3RoaXMuaWR9XSAucC1vcmRlcmxpc3QtY29udHJvbHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNvbnRlbnQtcGFkZGluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLnAtb3JkZXJsaXN0WyR7dGhpcy5pZH1dIC5wLW9yZGVybGlzdC1jb250cm9scyAucC1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0taW5saW5lLXNwYWNpbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5wLW9yZGVybGlzdFske3RoaXMuaWR9XSAucC1vcmRlcmxpc3QtY29udHJvbHMgLnAtYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGA7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLnN0eWxlRWxlbWVudCwgJ2lubmVySFRNTCcsIGlubmVySFRNTCk7XG4gICAgICAgICAgICAgICAgc2V0QXR0cmlidXRlKHRoaXMuc3R5bGVFbGVtZW50LCAnbm9uY2UnLCB0aGlzLmNvbmZpZz8uY3NwKCk/Lm5vbmNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3lTdHlsZSgpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudCwgdGhpcy5zdHlsZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3R5bGVFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBgYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3lTdHlsZSgpO1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbT3JkZXJMaXN0LCBTaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtPcmRlckxpc3QsIFNoYXJlZE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgT3JkZXJMaXN0TW9kdWxlIHt9XG4iXX0=
|