@sbb-esta/lyne-elements 1.8.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.d.ts +5 -5
- package/accordion/accordion.d.ts.map +1 -1
- package/accordion.js +17 -17
- package/action-group/action-group.d.ts +1 -1
- package/action-group/action-group.d.ts.map +1 -1
- package/action-group.js +3 -3
- package/alert/alert/alert.d.ts +1 -1
- package/alert/alert/alert.d.ts.map +1 -1
- package/alert/alert.js +3 -3
- package/autocomplete/autocomplete-base-element.d.ts +1 -1
- package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +1 -1
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/autocomplete-grid/autocomplete-grid-option.js +1 -1
- package/autocomplete-grid/autocomplete-grid.js +18 -18
- package/autocomplete.js +9 -9
- package/button/button.js +9 -9
- package/button/common.js +5 -5
- package/button/mini-button/mini-button.d.ts.map +1 -1
- package/button/mini-button.js +17 -15
- package/button/secondary-button.js +6 -6
- package/button/tertiary-button.js +13 -13
- package/button/transparent-button.js +8 -8
- package/calendar/calendar.d.ts +2 -2
- package/calendar/calendar.d.ts.map +1 -1
- package/calendar.js +5 -4
- package/clock/clock.d.ts +2 -2
- package/clock/clock.d.ts.map +1 -1
- package/clock.js +5 -5
- package/container/container.js +14 -14
- package/core/a11y/focus-visible-within-controller.d.ts +1 -1
- package/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
- package/core/a11y/input-modality-detector.d.ts +2 -2
- package/core/a11y/input-modality-detector.d.ts.map +1 -1
- package/core/a11y.js +3 -3
- package/core/base-elements/action-base-element.d.ts +1 -0
- package/core/base-elements/action-base-element.d.ts.map +1 -1
- package/core/base-elements/button-base-element.d.ts +1 -1
- package/core/base-elements/button-base-element.d.ts.map +1 -1
- package/core/base-elements/link-base-element.d.ts.map +1 -1
- package/core/base-elements.js +47 -45
- package/core/controllers/slot-state-controller.d.ts +1 -1
- package/core/controllers/slot-state-controller.d.ts.map +1 -1
- package/core/dom/platform.d.ts +2 -3
- package/core/dom/platform.d.ts.map +1 -1
- package/core/dom.js +38 -40
- package/core/mixins/disabled-mixin.d.ts +8 -0
- package/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/core/mixins.js +97 -89
- package/core/styles/core.scss +6 -0
- package/core/styles/mixins/lists.scss +11 -1
- package/core/styles/mixins/panel.scss +0 -2
- package/core/styles/mixins/table.scss +11 -0
- package/core/styles/mixins/typo.scss +0 -30
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +1 -0
- package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +2 -1
- package/core/styles/table.scss +6 -1
- package/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/core/testing.js +61 -54
- package/core.css +7 -14
- package/custom-elements.json +493 -299
- package/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +2 -0
- package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/datepicker/datepicker-toggle.js +57 -47
- package/datepicker/datepicker.js +1 -0
- package/development/accordion/accordion.d.ts +5 -5
- package/development/accordion/accordion.d.ts.map +1 -1
- package/development/accordion.js +25 -38
- package/development/action-group/action-group.d.ts +1 -1
- package/development/action-group/action-group.d.ts.map +1 -1
- package/development/action-group.js +8 -21
- package/development/alert/alert/alert.d.ts +1 -1
- package/development/alert/alert/alert.d.ts.map +1 -1
- package/development/alert/alert-group.js +2 -15
- package/development/alert/alert.js +6 -19
- package/development/autocomplete/autocomplete-base-element.d.ts +1 -1
- package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
- package/development/autocomplete-grid/autocomplete-grid-button.js +2 -15
- package/development/autocomplete-grid/autocomplete-grid-cell.js +2 -15
- package/development/autocomplete-grid/autocomplete-grid-option.js +4 -17
- package/development/autocomplete-grid/autocomplete-grid-row.js +2 -15
- package/development/autocomplete-grid/autocomplete-grid.js +6 -6
- package/development/autocomplete.js +7 -20
- package/development/breadcrumb/breadcrumb-group.js +2 -15
- package/development/breadcrumb/breadcrumb.js +2 -15
- package/development/button/button.js +3 -3
- package/development/button/common.js +2 -17
- package/development/button/mini-button/mini-button.d.ts.map +1 -1
- package/development/button/mini-button-group.js +2 -15
- package/development/button/mini-button.js +6 -17
- package/development/button/secondary-button.js +3 -3
- package/development/button/tertiary-button.js +3 -3
- package/development/button/transparent-button.js +3 -3
- package/development/calendar/calendar.d.ts +2 -2
- package/development/calendar/calendar.d.ts.map +1 -1
- package/development/calendar.js +7 -19
- package/development/card/card-badge.js +2 -15
- package/development/card/card.js +2 -15
- package/development/card/common.js +2 -15
- package/development/checkbox/checkbox-group.js +2 -15
- package/development/checkbox/checkbox.js +2 -15
- package/development/checkbox/common.js +1 -14
- package/development/chip.js +2 -15
- package/development/clock/clock.d.ts +2 -2
- package/development/clock/clock.d.ts.map +1 -1
- package/development/clock.js +3 -16
- package/development/container/container.js +2 -15
- package/development/container/sticky-bar.js +2 -15
- package/development/core/a11y/focus-visible-within-controller.d.ts +1 -1
- package/development/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
- package/development/core/a11y/input-modality-detector.d.ts +2 -2
- package/development/core/a11y/input-modality-detector.d.ts.map +1 -1
- package/development/core/a11y.js +6 -6
- package/development/core/base-elements/action-base-element.d.ts +1 -0
- package/development/core/base-elements/action-base-element.d.ts.map +1 -1
- package/development/core/base-elements/button-base-element.d.ts +1 -1
- package/development/core/base-elements/button-base-element.d.ts.map +1 -1
- package/development/core/base-elements/link-base-element.d.ts.map +1 -1
- package/development/core/base-elements.js +11 -2
- package/development/core/controllers/slot-state-controller.d.ts +1 -1
- package/development/core/controllers/slot-state-controller.d.ts.map +1 -1
- package/development/core/controllers.js +1 -1
- package/development/core/dom/platform.d.ts +2 -3
- package/development/core/dom/platform.d.ts.map +1 -1
- package/development/core/dom.js +4 -5
- package/development/core/mixins/disabled-mixin.d.ts +8 -0
- package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
- package/development/core/mixins.js +24 -15
- package/development/core/testing/wait-for-image-ready.d.ts.map +1 -1
- package/development/core/testing.js +16 -2
- package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
- package/development/datepicker/datepicker-next-day.js +2 -15
- package/development/datepicker/datepicker-previous-day.js +2 -15
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +2 -0
- package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
- package/development/datepicker/datepicker-toggle.js +22 -24
- package/development/datepicker/datepicker.js +3 -15
- package/development/dialog/dialog-actions.js +2 -15
- package/development/dialog/dialog-content.js +2 -15
- package/development/dialog/dialog-title.js +2 -15
- package/development/dialog/dialog.js +3 -16
- package/development/divider.js +2 -15
- package/development/expansion-panel/expansion-panel-content.js +2 -15
- package/development/expansion-panel/expansion-panel-header.js +5 -17
- package/development/expansion-panel/expansion-panel.js +2 -15
- package/development/file-selector/file-selector.d.ts +4 -4
- package/development/file-selector/file-selector.d.ts.map +1 -1
- package/development/file-selector.js +2 -17
- package/development/flip-card/flip-card-details.js +2 -15
- package/development/flip-card/flip-card-summary.js +2 -15
- package/development/flip-card/flip-card.js +2 -15
- package/development/footer.js +2 -15
- package/development/form-error.js +2 -15
- package/development/form-field/form-field-clear.js +2 -15
- package/development/form-field/form-field.js +1 -14
- package/development/header/common.js +2 -15
- package/development/header/header.js +2 -15
- package/development/icon/icon.d.ts +6 -0
- package/development/icon/icon.d.ts.map +1 -1
- package/development/icon.js +10 -15
- package/development/image.js +4 -17
- package/development/journey-header.js +2 -15
- package/development/lead-container.js +2 -15
- package/development/link/block-link-button.js +3 -3
- package/development/link/common.js +4 -43
- package/development/link/link-button.js +3 -3
- package/development/link-list/common.js +2 -15
- package/development/link-list/link-list-anchor.js +2 -15
- package/development/link-list/link-list.js +2 -15
- package/development/loading-indicator.js +2 -15
- package/development/logo.js +2 -15
- package/development/map-container.js +2 -15
- package/development/menu/common.js +2 -15
- package/development/menu/menu/menu.d.ts.map +1 -1
- package/development/menu/menu-button.js +3 -3
- package/development/menu/menu.js +3 -18
- package/development/message.js +2 -15
- package/development/navigation/common.js +2 -17
- package/development/navigation/navigation-list.js +2 -15
- package/development/navigation/navigation-marker.js +2 -17
- package/development/navigation/navigation-section.js +2 -19
- package/development/navigation/navigation.js +2 -15
- package/development/notification.js +2 -15
- package/development/option/optgroup/optgroup-base-element.d.ts +2 -2
- package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/development/option/optgroup.js +2 -15
- package/development/option/option/option-base-element.d.ts +14 -4
- package/development/option/option/option-base-element.d.ts.map +1 -1
- package/development/option/option.js +15 -21
- package/development/overlay/overlay-base-element.d.ts +1 -1
- package/development/overlay/overlay-base-element.d.ts.map +1 -1
- package/development/overlay.js +3 -23
- package/development/popover/popover-trigger.js +4 -17
- package/development/popover/popover.js +2 -15
- package/development/radio-button/common.js +2 -15
- package/development/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
- package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/development/radio-button/radio-button-group.js +9 -22
- package/development/radio-button/radio-button.js +2 -15
- package/development/screen-reader-only.js +2 -15
- package/development/select/select.d.ts +3 -1
- package/development/select/select.d.ts.map +1 -1
- package/development/select.js +49 -48
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts +12 -3
- package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/development/selection-expansion-panel.js +38 -18
- package/development/signet.js +2 -15
- package/development/skiplink-list.js +2 -15
- package/development/slider/slider.d.ts.map +1 -1
- package/development/slider.js +10 -16
- package/development/status.js +2 -15
- package/development/stepper/step-label/step-label.d.ts +6 -6
- package/development/stepper/step-label/step-label.d.ts.map +1 -1
- package/development/stepper/step-label.js +50 -45
- package/development/stepper/step.js +2 -15
- package/development/stepper/stepper/stepper.d.ts +6 -3
- package/development/stepper/stepper/stepper.d.ts.map +1 -1
- package/development/stepper/stepper.js +17 -15
- package/development/table/table-wrapper.js +2 -15
- package/development/tabs/tab-group/tab-group.d.ts +4 -4
- package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/development/tabs/tab-group.js +22 -35
- package/development/tabs/tab-label.js +2 -19
- package/development/tabs/tab.js +1 -14
- package/development/tag/tag-group.js +2 -15
- package/development/tag/tag.js +4 -17
- package/development/teaser-hero.js +3 -23
- package/development/teaser-product/common.js +2 -15
- package/development/teaser-product/teaser-product.js +3 -16
- package/development/teaser.js +2 -15
- package/development/time-input.js +2 -15
- package/development/timetable-occupancy-icon.js +2 -15
- package/development/timetable-occupancy.js +2 -15
- package/development/title.js +3 -41
- package/development/toast.js +2 -17
- package/development/toggle/toggle/toggle.d.ts +2 -2
- package/development/toggle/toggle/toggle.d.ts.map +1 -1
- package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/development/toggle/toggle-option.js +3 -15
- package/development/toggle/toggle.js +23 -36
- package/development/toggle-check.js +1 -14
- package/development/train/train-blocked-passage.js +2 -15
- package/development/train/train-formation.js +2 -15
- package/development/train/train-wagon.js +2 -17
- package/development/train/train.js +2 -15
- package/development/visual-checkbox.js +2 -15
- package/dialog/dialog.js +1 -1
- package/expansion-panel/expansion-panel-header.js +5 -5
- package/file-selector/file-selector.d.ts +4 -4
- package/file-selector/file-selector.d.ts.map +1 -1
- package/file-selector.js +1 -1
- package/icon/icon.d.ts +6 -0
- package/icon/icon.d.ts.map +1 -1
- package/icon.js +27 -19
- package/image.js +2 -2
- package/link/block-link-button.js +10 -10
- package/link/link-button.js +4 -4
- package/lists.css +9 -14
- package/menu/menu/menu.d.ts.map +1 -1
- package/menu/menu-button.js +13 -13
- package/menu/menu.js +7 -9
- package/navigation/common.js +1 -1
- package/navigation/navigation-marker.js +1 -1
- package/navigation/navigation-section.js +1 -1
- package/option/optgroup/optgroup-base-element.d.ts +2 -2
- package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
- package/option/option/option-base-element.d.ts +14 -4
- package/option/option/option-base-element.d.ts.map +1 -1
- package/option/option.js +32 -25
- package/overlay/overlay-base-element.d.ts +1 -1
- package/overlay/overlay-base-element.d.ts.map +1 -1
- package/overlay.js +1 -1
- package/package.json +1 -1
- package/popover/popover-trigger.js +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts +1 -1
- package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/radio-button/radio-button-group.js +5 -5
- package/select/select.d.ts +3 -1
- package/select/select.d.ts.map +1 -1
- package/select.js +83 -72
- package/selection-expansion-panel/selection-expansion-panel.d.ts +12 -3
- package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
- package/selection-expansion-panel.js +70 -49
- package/slider/slider.d.ts.map +1 -1
- package/slider.js +2 -2
- package/standard-theme.css +49 -24
- package/stepper/step-label/step-label.d.ts +6 -6
- package/stepper/step-label/step-label.d.ts.map +1 -1
- package/stepper/step-label.js +30 -30
- package/stepper/stepper/stepper.d.ts +6 -3
- package/stepper/stepper/stepper.d.ts.map +1 -1
- package/stepper/stepper.js +34 -25
- package/tabs/tab-group/tab-group.d.ts +4 -4
- package/tabs/tab-group/tab-group.d.ts.map +1 -1
- package/tabs/tab-group.js +15 -15
- package/tabs/tab-label.js +12 -12
- package/tag/tag.js +19 -19
- package/teaser-hero.js +13 -13
- package/teaser-product/teaser-product.js +5 -5
- package/teaser.js +15 -15
- package/title.js +23 -23
- package/toast.js +4 -4
- package/toggle/toggle/toggle.d.ts +2 -2
- package/toggle/toggle/toggle.d.ts.map +1 -1
- package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
- package/toggle/toggle-option.js +1 -0
- package/toggle/toggle.js +10 -10
- package/train/train-wagon.js +7 -7
- package/typography.css +0 -13
package/development/image.js
CHANGED
|
@@ -17,20 +17,7 @@ const SbbBreakpointWideMax = 1439;
|
|
|
17
17
|
const SbbBreakpointUltraMin = 1440;
|
|
18
18
|
const SbbBreakpointUltraMax = 2579;
|
|
19
19
|
const SbbTypoScaleDefault = 16;
|
|
20
|
-
const style = css`/**
|
|
21
|
-
* Better font rendering (on OS X)
|
|
22
|
-
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
23
|
-
*
|
|
24
|
-
* Usage:
|
|
25
|
-
*
|
|
26
|
-
* .var_dark_on_light {
|
|
27
|
-
* @include font-smoothing;
|
|
28
|
-
* }
|
|
29
|
-
* .var_light_on_dark {
|
|
30
|
-
* @include font-smoothing-reset;
|
|
31
|
-
* }
|
|
32
|
-
*/
|
|
33
|
-
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
20
|
+
const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
34
21
|
/*
|
|
35
22
|
* SBB table mixin
|
|
36
23
|
* Notes:
|
|
@@ -364,7 +351,7 @@ let SbbImageElement = class extends LitElement {
|
|
|
364
351
|
"conditionFeature": "min-width",
|
|
365
352
|
"conditionFeatureValue": {
|
|
366
353
|
"lyneDesignToken": true,
|
|
367
|
-
"value": "sbb-breakpoint-
|
|
354
|
+
"value": "sbb-breakpoint-micro-min"
|
|
368
355
|
},
|
|
369
356
|
"conditionOperator": false
|
|
370
357
|
}
|
|
@@ -380,7 +367,7 @@ let SbbImageElement = class extends LitElement {
|
|
|
380
367
|
"conditionFeature": "max-width",
|
|
381
368
|
"conditionFeatureValue": {
|
|
382
369
|
"lyneDesignToken": true,
|
|
383
|
-
"value": "sbb-breakpoint-
|
|
370
|
+
"value": "sbb-breakpoint-zero-max"
|
|
384
371
|
},
|
|
385
372
|
"conditionOperator": false
|
|
386
373
|
}
|
|
@@ -551,4 +538,4 @@ SbbImageElement = __decorateClass([
|
|
|
551
538
|
export {
|
|
552
539
|
SbbImageElement
|
|
553
540
|
};
|
|
554
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9Ac2JiLWVzdGEvbHluZS1kZXNpZ24tdG9rZW5zL2Rpc3QvanMvc2JiLXRva2Vucy5tanMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaW1hZ2UvaW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEbyBub3QgZWRpdCBkaXJlY3RseVxuICogR2VuZXJhdGVkIG9uIE1vbiwgMTUgSnVsIDIwMjQgMDk6NDA6MTYgR01UXG4gKi9cblxuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uMXggPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjJ4ID0gODA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb24zeCA9IDEyMDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjR4ID0gMTYwO1xuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uNXggPSAyMDA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb242eCA9IDI0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjEyeCA9IDQ4MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25FYXNpbmcgPSBcImN1YmljLWJlemllciguNDcsIC4xLCAxLCAuNjMpXCI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgxeCA9IDE7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgyeCA9IDI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgzeCA9IDM7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzMXggPSAyO1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czJ4ID0gNDtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM0eCA9IDg7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzNnggPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM4eCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czE2eCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRaZXJvTWluID0gMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50WmVyb01heCA9IDM1OTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWljcm9NaW4gPSAzNjA7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1pY3JvTWF4ID0gNTk5O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRTbWFsbE1pbiA9IDYwMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50U21hbGxNYXggPSA4Mzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1lZGl1bU1pbiA9IDg0MDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWVkaXVtTWF4ID0gMTAyMztcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TGFyZ2VNaW4gPSAxMDI0O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRMYXJnZU1heCA9IDEyNzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludFdpZGVNaW4gPSAxMjgwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRXaWRlTWF4ID0gMTQzOTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50VWx0cmFNaW4gPSAxNDQwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRVbHRyYU1heCA9IDI1Nzk7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFjayA9IFwiIzAwMDAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTAgPSBcInJnYmEoMCwgMCwgMCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGExMCA9IFwicmdiYSgwLCAwLCAwLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMTUgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGEyMCA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMzAgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTQwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGE1MCA9IFwicmdiYSgwLCAwLCAwLCAwLjUpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhNjAgPSBcInJnYmEoMCwgMCwgMCwgMC42KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTcwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1pZG5pZ2h0ID0gXCIjMTUxNTE1XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDaGFyY29hbCA9IFwiIzIxMjEyMVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9ySXJvbiA9IFwiIzQ0NDQ0NFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQW50aHJhY2l0ZSA9IFwiIzVhNWE1YVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3Jhbml0ZSA9IFwiIzY4Njg2OFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTWV0YWwgPSBcIiM3Njc2NzZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1ldGFsQWxwaGEwID0gXCJyZ2JhKDExOCwgMTE4LCAxMTgsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JNZXRhbEFscGhhMjAgPSBcInJnYmEoMTE4LCAxMTgsIDExOCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2UgPSBcIiM4ZDhkOGRcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTbW9rZUFscGhhNSA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2VBbHBoYTEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEyMCA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTdG9ybSA9IFwiI2E4YThhOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3JhcGhpdGUgPSBcIiNiN2I3YjdcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckNlbWVudCA9IFwiI2JkYmRiZFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQ2VtZW50QWxwaGEwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDZW1lbnRBbHBoYTIwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclBsYXRpbnVtID0gXCIjY2RjZGNkXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JQbGF0aW51bUFscGhhMCA9IFwicmdiYSgyMDUsIDIwNSwgMjA1LCAwKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGxhdGludW1BbHBoYTIwID0gXCJyZ2JhKDIwNSwgMjA1LCAyMDUsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckFsdW1pbml1bSA9IFwiI2QyZDJkMlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU2lsdmVyID0gXCIjZGNkY2RjXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDbG91ZCA9IFwiI2U1ZTVlNVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQ2xvdWRBbHBoYTgwID0gXCJyZ2JhKDIyOSwgMjI5LCAyMjksIDAuOClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1pbGsgPSBcIiNmNmY2ZjZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZCA9IFwiI2ViMDAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkQWxwaGEwID0gXCJyZ2JhKDIzNSwgMCwgMCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZEFscGhhMjAgPSBcInJnYmEoMjM1LCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWRBbHBoYTkwID0gXCJyZ2JhKDIzNSwgMCwgMCwgMC45KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkTW9kZURhcmsgPSBcIiNmZjM4MzhcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZDEyNSA9IFwiI2M2MDAxOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkMTI1QWxwaGEwID0gXCJyZ2JhKDE5OCwgMCwgMjQsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWQxMjVBbHBoYTIwID0gXCJyZ2JhKDE5OCwgMCwgMjQsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZDE1MCA9IFwiI2EyMDAxM1wiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGUgPSBcIiNmZmZmZmZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGEwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhMjAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTMwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGE1MCA9IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhNjAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTcwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNreSA9IFwiIzAwNzljN1wiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTmlnaHQgPSBcIiMxNDNhODVcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclZpb2xldCA9IFwiIzZmMjI4MlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGluayA9IFwiI2NmNDA4MlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQXV0dW1uID0gXCIjZTg0ZTEwXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JPcmFuZ2UgPSBcIiNmMjdlMDBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclBlYWNoID0gXCIjZmNiYjAwXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JMZW1vbiA9IFwiI2ZmZGUxNVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQnJvd24gPSBcIiNiNzYwMDBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckdyZWVuID0gXCIjMDA4YTM2XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JUdXJxdW9pc2UgPSBcIiMwMGE1OWJcIjtcbmV4cG9ydCBjb25zdCBTYmJGb2N1c091dGxpbmVPZmZzZXQgPSAzO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc1plcm8gPSA0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc01pY3JvID0gNDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNTbWFsbCA9IDQ7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zTWVkaXVtID0gODtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNMYXJnZSA9IDg7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zV2lkZSA9IDEyO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc1VsdHJhID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlWmVybyA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZU1pY3JvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlU21hbGwgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVNZWRpdW0gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVMYXJnZSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZVdpZGUgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVVbHRyYSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlWmVybyA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlTWljcm8gPSAyMDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZVNtYWxsID0gNDg7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVNZWRpdW0gPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZUxhcmdlID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVXaWRlID0gNzI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVVbHRyYSA9IDEyMDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlUGFnZU1heFdpZHRoID0gMTIwMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cxT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93MU9mZnNldFkgPSAyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzFCbHVyID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93MVNwcmVhZCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93Mk9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzJPZmZzZXRZID0gMTtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cyQmx1ciA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93MlNwcmVhZCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NvZnQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NvZnROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjE1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NvZnROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzSGFyZDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzSGFyZDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzSGFyZE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkTmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC40KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzFPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cxT2Zmc2V0WSA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93MUJsdXIgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cyT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93Mk9mZnNldFkgPSAxO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzJCbHVyID0gODtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cyU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0MUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMDUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U29mdDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U29mdE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMTUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U29mdE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVIYXJkMUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVIYXJkMkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVIYXJkTmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjQpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MU9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNoYWRvdzFPZmZzZXRZID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MUJsdXIgPSAxMjg7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MVNwcmVhZCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93Mk9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNoYWRvdzJPZmZzZXRZID0gNDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cyQmx1ciA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNoYWRvdzJTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4wNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTb2Z0MkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTb2Z0TmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTb2Z0TmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOUhhcmQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOUhhcmQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOUhhcmROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjMpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU2hhZG93MU9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxT2Zmc2V0WSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxQmx1ciA9IDE5MjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU2hhZG93MVNwcmVhZCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzJPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU2hhZG93Mk9mZnNldFkgPSA0O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cyQmx1ciA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cyU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU29mdDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTb2Z0MkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU29mdE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMTUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNvZnROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMUhhcmQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFIYXJkMkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExSGFyZE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExSGFyZE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNaZXJvID0gMjg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzTWljcm8gPSAyODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNTbWFsbCA9IDI4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c01lZGl1bSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c0xhcmdlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzV2lkZSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c1VsdHJhID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNaZXJvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNNaWNybyA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzU21hbGwgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c01lZGl1bSA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzTGFyZ2UgPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c1dpZGUgPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c1VsdHJhID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYc1plcm8gPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzTWljcm8gPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzU21hbGwgPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzTWVkaXVtID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYc0xhcmdlID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYc1dpZGUgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzVWx0cmEgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNaZXJvID0gNDQ7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTTWljcm8gPSA0NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNTbWFsbCA9IDQ0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U01lZGl1bSA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U0xhcmdlID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTV2lkZSA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U1VsdHJhID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNWmVybyA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TU1pY3JvID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNU21hbGwgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1NZWRpdW0gPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1MYXJnZSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TVdpZGUgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1VbHRyYSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TFplcm8gPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExNaWNybyA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TFNtYWxsID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMTWVkaXVtID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMTGFyZ2UgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExXaWRlID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMVWx0cmEgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplSWNvblVpU21hbGwgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTaXplSWNvblVpTWVkaXVtID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUljb25VaUxhcmdlID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMXggPSA0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDJ4ID0gODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQzeCA9IDEyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDR4ID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkNXggPSAyMDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ2eCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDd4ID0gMjg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkOHggPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ5eCA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDEweCA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDEyeCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDE0eCA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDE2eCA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDE4eCA9IDcyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDIweCA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDI0eCA9IDk2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDMweCA9IDEyMDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNaZXJvID0gMTI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzTWljcm8gPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNTbWFsbCA9IDEyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c01lZGl1bSA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c0xhcmdlID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzV2lkZSA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c1VsdHJhID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNaZXJvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNNaWNybyA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzU21hbGwgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c01lZGl1bSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzTGFyZ2UgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c1dpZGUgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c1VsdHJhID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYc1plcm8gPSAyMDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzTWljcm8gPSAyMDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzU21hbGwgPSAyMDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzTWVkaXVtID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYc0xhcmdlID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYc1dpZGUgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzVWx0cmEgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNaZXJvID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTTWljcm8gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNTbWFsbCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU01lZGl1bSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU0xhcmdlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTV2lkZSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU1VsdHJhID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNWmVybyA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTU1pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNU21hbGwgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1NZWRpdW0gPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1MYXJnZSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTVdpZGUgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1VbHRyYSA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTFplcm8gPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxNaWNybyA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTFNtYWxsID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMTWVkaXVtID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMTGFyZ2UgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxXaWRlID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMVWx0cmEgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhsWmVybyA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxNaWNybyA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxTbWFsbCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxNZWRpdW0gPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhsTGFyZ2UgPSA4MDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhsV2lkZSA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxVbHRyYSA9IDk2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsWmVybyA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsTWljcm8gPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bFNtYWxsID0gNzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxNZWRpdW0gPSA4MDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bExhcmdlID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxXaWRlID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxVbHRyYSA9IDEyMDtcbmV4cG9ydCBjb25zdCBTYmJUeXBvRm9udEZhbWlseSA9IFwiXFxcIlNCQlxcXCIsIFxcXCJIZWx2ZXRpY2EgTmV1ZVxcXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvTGV0dGVyU3BhY2luZ1RpdGxlcyA9IFwiMFwiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MZXR0ZXJTcGFjaW5nQm9keVRleHQgPSBcIjAuMDNlbVwiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MaW5lSGVpZ2h0VGl0bGVzID0gXCIxLjNcIjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvTGluZUhlaWdodEJvZHlUZXh0ID0gXCIxLjc1XCI7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMDc1eCA9IDEyO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTA4MTI1eCA9IDEzO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTA4NzV4ID0gMTQ7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlRGVmYXVsdCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTExMjV4ID0gMTg7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMTI1eCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTE1eCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTJ4ID0gMzI7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMjV4ID0gNDA7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlM3ggPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUzNXggPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGU0eCA9IDY0O1xuIiwiaW1wb3J0IHtcbiAgU2JiQnJlYWtwb2ludFplcm9NaW4sXG4gIFNiYkJyZWFrcG9pbnRaZXJvTWF4LFxuICBTYmJCcmVha3BvaW50TWljcm9NaW4sXG4gIFNiYkJyZWFrcG9pbnRNaWNyb01heCxcbiAgU2JiQnJlYWtwb2ludFNtYWxsTWluLFxuICBTYmJCcmVha3BvaW50U21hbGxNYXgsXG4gIFNiYkJyZWFrcG9pbnRNZWRpdW1NaW4sXG4gIFNiYkJyZWFrcG9pbnRNZWRpdW1NYXgsXG4gIFNiYkJyZWFrcG9pbnRMYXJnZU1pbixcbiAgU2JiQnJlYWtwb2ludExhcmdlTWF4LFxuICBTYmJCcmVha3BvaW50V2lkZU1pbixcbiAgU2JiQnJlYWtwb2ludFdpZGVNYXgsXG4gIFNiYkJyZWFrcG9pbnRVbHRyYU1pbixcbiAgU2JiQnJlYWtwb2ludFVsdHJhTWF4LFxuICBTYmJUeXBvU2NhbGVEZWZhdWx0LFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1kZXNpZ24tdG9rZW5zJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBldmVudE9wdGlvbnMsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgaG9zdENvbnRleHQgfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2ltYWdlLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWcge1xuICBicmVha3BvaW50czogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50IHtcbiAgaW1hZ2U6IHtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICB9O1xuICBtZWRpYVF1ZXJpZXM6IEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnTWVkaWFRdWVyeVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnTWVkaWFRdWVyeSB7XG4gIGNvbmRpdGlvbkZlYXR1cmU6IHN0cmluZztcbiAgY29uZGl0aW9uRmVhdHVyZVZhbHVlOiB7XG4gICAgbHluZURlc2lnblRva2VuOiBib29sZWFuO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gIH07XG4gIGNvbmRpdGlvbk9wZXJhdG9yOiBmYWxzZTtcbn1cblxuLyoqXG4gKiB3ZSBjaGVjayB0aGUgc3RydWN0dXJlIG9mIHRoZSBkYXRhIG1hbnVhbGx5LCBzbyBpdCdzIHNhZmUgdG8gdXNlIGBhbnlgIGFzIHJldHVybiB0eXBlXG4gKi9cbmNvbnN0IGltYWdlSGVscGVyR2V0QnJlYWtwb2ludHMgPSAoXG4gIGpzb25TdHJpbmc6IHN0cmluZyxcbik6IEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnQnJlYWtwb2ludFtdID0+IHtcbiAgaWYgKCFqc29uU3RyaW5nIHx8IGpzb25TdHJpbmcubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHRoYXQgd2UgaGF2ZSBgYnJlYWtwb2ludHNgIGtleSBpbiBvYmplY3RcbiAgY29uc3QgbG9nV2FybmluZyA9IGltcG9ydC5tZXRhLmVudi5ERVZcbiAgICA/ICgpID0+XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnc2JiLWltYWdlIGVycm9yOiBhdHRyaWJ1dGUgYnJlYWtwb2ludHMgaGFzIHdyb25nIGRhdGEgZm9ybWF0LiBSZWZlcmVuY2UgdGhlIGRvY3VtZW50YXRpb24gdG8gc2VlIGhvdyB5b3Ugc2hvdWxkIGZvcm1hdCB0aGUgZGF0YSBmb3IgdGhpcyBhdHRyaWJ1dGUuJyxcbiAgICAgICAgKVxuICAgIDogbnVsbDtcbiAgbGV0IGpzb25PYmplY3Q6IEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnO1xuXG4gIHRyeSB7XG4gICAganNvbk9iamVjdCA9IEpTT04ucGFyc2UoanNvblN0cmluZyk7XG4gIH0gY2F0Y2gge1xuICAgIGxvZ1dhcm5pbmc/LigpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGlmICghanNvbk9iamVjdC5icmVha3BvaW50cyB8fCBqc29uT2JqZWN0LmJyZWFrcG9pbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGxvZ1dhcm5pbmc/LigpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8vIG1ha2Ugc3VyZSB3ZSBnZXQgYW4gYXJyYXkgb2YgYnJlYWtwb2ludHNcbiAgaWYgKCFBcnJheS5pc0FycmF5KGpzb25PYmplY3QuYnJlYWtwb2ludHMpKSB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIG1ha2Ugc3VyZSB0aGF0IGVhY2ggZW50cnkgd2l0aGluIHRoZSBicmVha3BvaW50cyBvYmplY3QgY29udGFpbnMgb25seSBhbGxvd2VkIGtleXNcbiAgICogMi4gbWFrZSBzdXJlIHRoYXQgYWxsIG5lY2Vzc2FyeSBrZXlzIGFyZSBwcmVzZW50XG4gICAqL1xuICBsZXQgd3JvbmdLZXlEZXRlY3RlZCA9IGZhbHNlO1xuICBsZXQgbWlzc2luZ0tleURldGVjdGVkID0gZmFsc2U7XG5cbiAgY29uc3QgYWxsb3dlZEtleXMgPSBbJ2ltYWdlJywgJ21lZGlhUXVlcmllcyddO1xuXG4gIGpzb25PYmplY3QuYnJlYWtwb2ludHMuZm9yRWFjaCgoYnJlYWtwb2ludCkgPT4ge1xuICAgIGNvbnN0IGJyZWFrcG9pbnRLZXlzID0gT2JqZWN0LmtleXMoYnJlYWtwb2ludCk7XG5cbiAgICBicmVha3BvaW50S2V5cy5mb3JFYWNoKChicmVha3BvaW50S2V5KSA9PiB7XG4gICAgICBpZiAoIWFsbG93ZWRLZXlzLmluY2x1ZGVzKGJyZWFrcG9pbnRLZXkpKSB7XG4gICAgICAgIHdyb25nS2V5RGV0ZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgYWxsb3dlZEtleXMuZm9yRWFjaCgoYWxsb3dlZEtleSkgPT4ge1xuICAgICAgaWYgKCFicmVha3BvaW50S2V5cy5pbmNsdWRlcyhhbGxvd2VkS2V5KSkge1xuICAgICAgICBtaXNzaW5nS2V5RGV0ZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICBpZiAod3JvbmdLZXlEZXRlY3RlZCB8fCBtaXNzaW5nS2V5RGV0ZWN0ZWQpIHtcbiAgICBsb2dXYXJuaW5nPy4oKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4ganNvbk9iamVjdC5icmVha3BvaW50cztcbn07XG5cbmNvbnN0IGV2ZW50TGlzdGVuZXJPcHRpb25zID0ge1xuICBvbmNlOiB0cnVlLFxuICBwYXNzaXZlOiB0cnVlLFxufTtcblxuY29uc3QgcHhUb1JlbSA9IChweDogbnVtYmVyKTogbnVtYmVyID0+IHtcbiAgcmV0dXJuIHB4IC8gU2JiVHlwb1NjYWxlRGVmYXVsdDtcbn07XG5cbmNvbnN0IGJyZWFrcG9pbnRNYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XG4gICdzYmItYnJlYWtwb2ludC16ZXJvLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFplcm9NaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtemVyby1tYXgnOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRaZXJvTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LW1pY3JvLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludE1pY3JvTWluKSxcbiAgJ3NiYi1icmVha3BvaW50LW1pY3JvLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludE1pY3JvTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LXNtYWxsLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFNtYWxsTWluKSxcbiAgJ3NiYi1icmVha3BvaW50LXNtYWxsLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFNtYWxsTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LW1lZGl1bS1taW4nOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRNZWRpdW1NaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtbWVkaXVtLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludE1lZGl1bU1heCksXG4gICdzYmItYnJlYWtwb2ludC1sYXJnZS1taW4nOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRMYXJnZU1pbiksXG4gICdzYmItYnJlYWtwb2ludC1sYXJnZS1tYXgnOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRMYXJnZU1heCksXG4gICdzYmItYnJlYWtwb2ludC13aWRlLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFdpZGVNaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtd2lkZS1tYXgnOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRXaWRlTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LXVsdHJhLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFVsdHJhTWluKSxcbiAgJ3NiYi1icmVha3BvaW50LXVsdHJhLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFVsdHJhTWF4KSxcbn07XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW1hZ2UuXG4gKlxuICogQGV2ZW50IHtFdmVudH0gbG9hZCAtIEVtaXRzIHdoZW4gdGhlIGltYWdlIGhhcyBiZWVuIGxvYWRlZC5cbiAqIEBldmVudCB7RXZlbnR9IGVycm9yIC0gRW1pdHMgd2hlbiB0aGUgaW1hZ2UgbG9hZGluZyBlbmRlZCBpbiBhbiBlcnJvci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1pbWFnZS1hc3BlY3QtcmF0aW89YXV0b10gLSBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSBgYXNwZWN0UmF0aW9gIHByb3BlcnR5LlxuICogVGhpcyB3YXkgd2UgY2FuIGhhdmUsIGZvciBleGFtcGxlLCBhbiBpbWFnZSBjb21wb25lbnQgd2l0aCBhbiBhc3BlY3RcbiAqIHJhdGlvIG9mIDQvMyBpbiBzbWFsbGVyIHZpZXdwb3J0cyBhbmQgMTYvOSBpbiBsYXJnZXIgdmlld3BvcnRzLlxuICogQGNzc3Byb3AgWy0tc2JiLWltYWdlLWJvcmRlci1yYWRpdXM9dmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtNHgpXSAtIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZVxuICogYGJvcmRlclJhZGl1c2AgcHJvcGVydHkgaW4gY2FzZSBvZiBkaWZmZXJlbnQgdmFsdWVzIGZvciBkaWZmZXJlbnQgdmlld3BvcnRzLlxuICogQGNzc3Byb3AgWy0tc2JiLWltYWdlLW9iamVjdC1wb3NpdGlvbl0gLSBDYW4gYmUgdXNlZCB0byBzZXQgdGhlIG9iamVjdC1wb3NpdGlvbiBjc3MgcHJvcGVydHkgb2YgdGhlIGltYWdlIGl0c2VsZiBpZiB0aGUgaW1hZ2UgaXRzZWxmIGlzIGNyb3BwZWQuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItaW1hZ2UnKVxuZXhwb3J0IGNsYXNzIFNiYkltYWdlRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZXJyb3I6ICdlcnJvcicsXG4gICAgbG9hZDogJ2xvYWQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIHByaXZhdGUgX2NhcHRpb25FbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2xpbmtzSW5DYXB0aW9uPzogTm9kZUxpc3RPZjxIVE1MTGlua0VsZW1lbnQ+O1xuICBwcml2YXRlIF9jb25maWcgPSB7XG4gICAgbm9uUmV0aW5hUXVhbGl0eTogJzQ1JyxcbiAgICByZXRpbmFRdWFsaXR5OiAnMjAnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBBbiBhbHQgdGV4dCBpcyBub3QgYWx3YXlzIG5lY2Vzc2FyeSAoZS5nLiBpbiB0ZWFzZXIgY2FyZHMgd2hlblxuICAgKiBhZGRpdGlvbmFsIGxpbmsgdGV4dCBpcyBwcm92aWRlZCkuIEluIHRoaXMgY2FzZSB3ZSBjYW4gbGVhdmVcbiAgICogdGhlIHZhbHVlIG9mIHRoZSBhbHQgYXR0cmlidXRlIGJsYW5rLCBidXQgdGhlIGF0dHJpYnV0ZSBpdHNlbGZcbiAgICogc3RpbGwgbmVlZHMgdG8gYmUgcHJlc2VudC4gVGhhdCB3YXkgd2UgY2FuIHNpZ25hbCBhc3Npc3RpdmVcbiAgICogdGVjaG5vbG9neSwgdGhhdCB0aGV5IGNhbiBza2lwIHRoZSBpbWFnZS5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhbHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byBmYWxzZSwgd2Ugc2hvdyBhIGJsdXJyZWQgdmVyc2lvbiBvZiB0aGUgaW1hZ2UgYXNcbiAgICogcGxhY2Vob2xkZXIgYmVmb3JlIHRoZSBhY3R1YWwgaW1hZ2Ugc2hvd3MgdXAuIFRoaXMgd2lsbCBoZWxwXG4gICAqIHRvIGltcHJvdmUgdGhlIHBlcmNlaXZlZCBsb2FkaW5nIHBlcmZvcm1hbmNlLiBSZWFkIG1vcmUgYWJvdXRcbiAgICogdGhlIGlkZWEgb2YgbHFpcCBoZXJlOlxuICAgKiBodHRwczovL21lZGl1bS5jb20vQGltZ2l4L2xxaXAteW91ci1pbWFnZXMtZm9yLWZhc3QtbG9hZGluZy0yNTIzZDllZTRhNjJcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3NraXAtbHFpcCcsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIHNraXBMcWlwID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgY2FwdGlvbiBjYW4gcHJvdmlkZSBhZGRpdGlvbmFsIGNvbnRleHQgdG8gdGhlIGltYWdlIChlLmcuXG4gICAqIGRlc2NyaXB0aW9ucyBhbmQgdGhlIGxpa2UpLlxuICAgKiBMaW5rcyB3aWxsIGF1dG9tYXRpY2FsbHkgcmVjZWl2ZSB0YWJpbmRleD0tMSBpZiBoaWRlRnJvbVNjcmVlbnJlYWRlclxuICAgKiBpcyBzZXQgdG8gdHJ1ZS4gVGhhdCB3YXkgdGhleSB3aWxsIG5vIGxvbmdlciBiZWNvbWUgZm9jdXNhYmxlLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGNhcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIGEgY29weXJpZ2h0IHRleHQgaXMgcHJvdmlkZWQsIHdlIHdpbGwgYWRkIGl0IHRvIHRoZSBjYXB0aW9uXG4gICAqIGFuZCBjcmVhdGUgYSBzdHJ1Y3R1cmVkIGRhdGEganNvbi1sZCBibG9jayB3aXRoIHRoZSBjb3B5cmlnaHRcbiAgICogaW5mb3JtYXRpb24uXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgY29weXJpZ2h0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb3B5cmlnaHQgaG9sZGVyIGNhbiBlaXRoZXIgYmUgYW4gT3JnYW5pemF0aW9uIG9yIGEgUGVyc29uXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjb3B5cmlnaHQtaG9sZGVyJyB9KVxuICBwdWJsaWMgY29weXJpZ2h0SG9sZGVyOiAnT3JnYW5pemF0aW9uJyB8ICdQZXJzb24nID0gJ09yZ2FuaXphdGlvbic7XG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUsIGlmIHlvdSB3YW50IHRvIHBhc3MgYSBjdXN0b20gZm9jYWwgcG9pbnRcbiAgICogZm9yIHRoZSBpbWFnZS4gU2VlIGZ1bGwgZG9jdW1lbnRhdGlvbiBoZXJlOlxuICAgKiBodHRwczovL2RvY3MuaW1naXguY29tL2FwaXMvcmVuZGVyaW5nL2ZvY2FscG9pbnQtY3JvcFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY3VzdG9tLWZvY2FsLXBvaW50JywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgY3VzdG9tRm9jYWxQb2ludCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgbGF6eSBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSwgdGhlIG1vZHVsZSB3aWxsIGF1dG9tYXRpY2FsbHlcbiAgICogY2hhbmdlIHRoZSBkZWNvZGluZyB0byBhc3luYywgb3RoZXJ3aXNlIHRoZSBkZWNvZGluZyBpcyBzZXQgdG8gYXV0b1xuICAgKiB3aGljaCBsZWF2ZXMgdGhlIGhhbmRsaW5nIHVwIHRvIHRoZSBicm93c2VyLiBSZWFkIG1vcmUgYWJvdXQgdGhlXG4gICAqIGRlY29kaW5nIGF0dHJpYnV0ZSBoZXJlOlxuICAgKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvSFRNTEltYWdlRWxlbWVudC9kZWNvZGluZ1xuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGRlY29kaW5nOiAnc3luYycgfCAnYXN5bmMnIHwgJ2F1dG8nID0gJ2F1dG8nO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlLCB0byByZWNlaXZlIHZpc3VhbCBndWlkYW5jZSB3aGVyZSB0aGUgY3VzdG9tIGZvY2FsXG4gICAqIHBvaW50IGlzIGN1cnJlbnRseSBzZXQuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmb2NhbC1wb2ludC1kZWJ1ZycsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIGZvY2FsUG9pbnREZWJ1ZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBQYXNzIGluIGEgZmxvYXRpbmcgbnVtYmVyIGJldHdlZW4gMCAobGVmdCkgYW5kIDEgKHJpZ2h0KS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LXgnLCB0eXBlOiBOdW1iZXIgfSkgcHVibGljIGZvY2FsUG9pbnRYID0gMTtcblxuICAvKipcbiAgICogUGFzcyBpbiBhIGZsb2F0aW5nIG51bWJlciBiZXR3ZWVuIDAgKHRvcCkgYW5kIDEgKGJvdHRvbSkuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdmb2NhbC1wb2ludC15JywgdHlwZTogTnVtYmVyIH0pIHB1YmxpYyBmb2NhbFBvaW50WSA9IDE7XG5cbiAgLyoqXG4gICAqIFJpZ2h0IG5vdyB0aGUgbW9kdWxlIGlzIGhlYXZpbHkgY291cGxlZCB3aXRoIHRoZSBpbWFnZSBkZWxpdmVyeVxuICAgKiBzZXJ2aWNlIGltZ2l4IGFuZCBkZXBlbmRzIG9uIHRoZSBvcmlnaW5hbCBmaWxlcyBiZWluZyBzdG9yZWRcbiAgICogaW5zaWRlIEFFTS4gWW91IGNhbiBwYXNzIGluIGFueSBodHRwczovL2Nkbi5pbWcuc2JiLmNoIGltZ1xuICAgKiBzcmMgYWRkcmVzcyB5b3UgZmluZCBvbiBzYmIuY2ggdG8gcGxheSBhcm91bmQgd2l0aCBpdC4gSnVzdFxuICAgKiBzdHJpcCB0aGUgdXJsIHBhcmFtZXRlcnMgYW5kIHBhc3RlIGluIHRoZSBwbGFpbiBmaWxlIGFkZHJlc3MuXG4gICAqIElmIHlvdSB3YW50IHRvIGtub3cgaG93IHRvIGJlc3Qgd29yayB3aXRoIHRoaXMgbW9kdWxlIHdpdGhcbiAgICogaW1hZ2VzIGNvbWluZyBmcm9tIGEgZGlmZmVyZW50IHNvdXJjZSwgcGxlYXNlIGNvbnRhY3QgdGhlXG4gICAqIExZTkUgQ29yZSBUZWFtLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaW1hZ2Utc3JjJyB9KSBwdWJsaWMgaW1hZ2VTcmM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbXBvcnRhbmNlIGF0dHJpYnV0ZSBpcyBmYWlybHkgbmV3IGF0dHJpYnV0ZSB3aGljaCBzaG91bGRcbiAgICogaGVscCB0aGUgYnJvd3NlciBkZWNpZGUgd2hpY2ggcmVzb3VyY2VzIGl0IHNob3VsZCBwcmlvcml0aXNlXG4gICAqIGR1cmluZyBwYWdlIGxvYWQuIFdlIHdpbGwgc2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUgYmFzZWQgb24gdGhlXG4gICAqIHZhbHVlLCB3ZSByZWNlaXZlIGluIHRoZSBsb2FkaW5nIGF0dHJpYnV0ZS4gJ2VhZ2VyJywgd2hpY2ggd2UgdXNlXG4gICAqIGZvciB0aGUgbGFyZ2VzdCBpbWFnZSB3aXRoaW4gdGhlIGluaXRpYWwgdmlld3BvcnQsIHdpbGwgc2V0IHRoZVxuICAgKiBhdHRyaWJ1dGUgdmFsdWUgdG8gJ2hpZ2gnLiAnbGF6eScsIHdoaWNoIHdlIHVzZSBmb3IgaW1hZ2VzIGJlbG93XG4gICAqIHRoZSBmb2xkLCB3aWxsIHNldCB0aGUgYXR0cmlidXRlIHZhbHVlIHRvICdsb3cnLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGltcG9ydGFuY2U6ICdhdXRvJyB8ICdoaWdoJyB8ICdsb3cnID0gJ2hpZ2gnO1xuXG4gIC8qKlxuICAgKiBXaXRoIHRoZSBzdXBwb3J0IG9mIG5hdGl2ZSBpbWFnZSBsYXp5IGxvYWRpbmcsIHdlIGNhbiBub3dcbiAgICogZGVjaWRlIHdoZXRoZXIgd2Ugd2FudCB0byBsb2FkIHRoZSBpbWFnZSBpbW1lZGlhdGVseSBvciBvbmx5XG4gICAqIG9uY2UgaXQgaXMgY2xvc2UgdG8gdGhlIHZpc2libGUgdmlld3BvcnQuIFRoZSB2YWx1ZSBlYWdlciBpc1xuICAgKiBiZXN0IHVzZWQgZm9yIGltYWdlcyB3aXRoaW4gdGhlIGluaXRpYWwgdmlld3BvcnQuIFdlIHdhbnQgdG9cbiAgICogbG9hZCB0aGVzZSBpbWFnZXMgYXMgZmFzdCBhcyBwb3NzaWJsZSB0byBpbXByb3ZlIHRoZSBDb3JlIFdlYlxuICAgKiBWaXRhbHMgdmFsdWVzLiBsYXp5IG9uIHRoZSBvdGhlciBoYW5kIHdvcmtzIGJlc3QgZm9yIGltYWdlc1xuICAgKiB3aGljaCBhcmUgZnVydGhlciBkb3duIHRoZSBwYWdlIG9yIGludmlzaWJsZSBkdXJpbmcgdGhlIGxvYWRpbmdcbiAgICogb2YgdGhlIGluaXRpYWwgdmlld3BvcnQuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgbG9hZGluZzogJ2VhZ2VyJyB8ICdsYXp5JyA9ICdlYWdlcic7XG5cbiAgLyoqXG4gICAqIFdpdGggcGVyZm9ybWFuY2UubWFyayB5b3UgY2FuIGxvZyBhIHRpbWVzdGFtcCBhc3NvY2lhdGVkIHdpdGhcbiAgICogdGhlIG5hbWUgeW91IGRlZmluZSBpbiBwZXJmb3JtYW5jZU1hcmsgd2hlbiBhIGNlcnRhaW4gZXZlbnQgaXNcbiAgICogaGFwcGVuaW5nLiBJbiBvdXIgY2FzZSB3ZSB3aWxsIGxvZyB0aGUgcGVyZm9ybWFuY2UubWFyayBpbnRvXG4gICAqIHRoZSBQZXJmb3JtYW5jZUVudHJ5IEFQSSBvbmNlIHRoZSBpbWFnZSBpcyBmdWxseSBsb2FkZWQuXG4gICAqIFBlcmZvcm1hbmNlIG1vbml0b3JpbmcgdG9vbHMgbGlrZSBTcGVlZEN1cnZlIG9yIExpZ2h0aG91c2UgYXJlXG4gICAqIHRoZW4gYWJsZSB0byBncmFiIHRoZXNlIGVudHJpZXMgZnJvbSB0aGUgUGVyZm9ybWFuY2VFbnRyeSBBUElcbiAgICogYW5kIGdpdmUgdXMgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhbmQgaW5zaWdodHMgYWJvdXQgb3VyIHBhZ2VcbiAgICogbG9hZGluZyBiZWhhdmlvdXIuIFdlIGFyZSB0aGVuIGFsc28gYWJsZSB0byBtb25pdG9yIHRoZXNlXG4gICAqIHZhbHVlcyBvdmVyIGEgbG9uZyBwZXJpb2QgdG8gc2VlIGlmIG91ciBwZXJmb3JtYW5jZVxuICAgKiBpbmNyZWFzZXMgb3IgZGVjcmVhc2VzIG92ZXIgdGltZS4gQmVzdCB0byB1c2UgbG93ZXJjYXNlIHN0cmluZ3NcbiAgICogaGVyZSwgc2VwYXJhdGUgd29yZHMgd2l0aCB1bmRlcnNjb3JlcyBvciBkYXNoZXMuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwZXJmb3JtYW5jZS1tYXJrJyB9KSBwdWJsaWMgcGVyZm9ybWFuY2VNYXJrPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaXRoIHRoZSBwaWN0dXJlU2l6ZXNDb25maWcgb2JqZWN0LCB5b3UgY2FuIHBhc3MgaW4gaW5mb3JtYXRpb25cbiAgICogaW50byBpbWFnZSBhYm91dCB3aGF0IGtpbmQgb2Ygc291cmNlIGVsZW1lbnRzIHNob3VsZCBnZXRcbiAgICogcmVuZGVyZWQuIG1lZGlhUXVlcmllcyBhY2NlcHRzIG11bHRpcGxlIE1lZGlhIFF1ZXJ5IGVudHJpZXNcbiAgICogd2hpY2ggY2FuIGdldCBjb21iaW5lZCBieSBkZWZpbmluZyBhIGNvbmRpdGlvbk9wZXJhdG9yLlxuICAgKiBUeXBlIGlzOiBzdHJpbmdpZmllZCBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZy1PYmplY3RcbiAgICogQW4gZXhhbXBsZSBjb3VsZCBsb29rIGxpa2UgdGhpczpcbiAgICoge1xuICAgKiAgICBcImJyZWFrcG9pbnRzXCI6IFtcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCI2NzVcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjEyMDBcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtbGFyZ2UtbWluXCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICogICAgICAgICAgfVxuICAgKiAgICAgICAgXVxuICAgKiAgICAgIH0sXG4gICAqICAgICAge1xuICAgKiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAqICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiNTQ5XCIsXG4gICAqICAgICAgICAgIFwid2lkdGhcIjogXCI5NzZcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtc21hbGwtbWluXCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICogICAgICAgICAgfVxuICAgKiAgICAgICAgXVxuICAgKiAgICAgIH0sXG4gICAqICAgICAge1xuICAgKiAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAqICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiMTgwXCIsXG4gICAqICAgICAgICAgIFwid2lkdGhcIjogXCIzMjBcIlxuICAgKiAgICAgICAgfSxcbiAgICogICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICogICAgICAgICAge1xuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1heC13aWR0aFwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAqICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtbWljcm8tbWF4XCJcbiAgICogICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogXCJhbmRcIlxuICAgKiAgICAgICAgICB9LFxuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwib3JpZW50YXRpb25cIixcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAqICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiBmYWxzZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJsYW5kc2NhcGVcIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfVxuICAgKiAgICBdXG4gICAqICB9XG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwaWN0dXJlLXNpemVzLWNvbmZpZycgfSkgcHVibGljIHBpY3R1cmVTaXplc0NvbmZpZz86IHN0cmluZztcblxuICAvKipcbiAgICogQm9yZGVyIHJhZGl1cyBvZiB0aGUgaW1hZ2UuIENob29zZSBiZXR3ZWVuIGEgZGVmYXVsdCByYWRpdXMsIG5vIHJhZGl1cyBhbmQgYSBjb21wbGV0ZWx5IHJvdW5kIGltYWdlLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYm9yZGVyLXJhZGl1cycsIHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGJvcmRlclJhZGl1czpcbiAgICB8ICdkZWZhdWx0J1xuICAgIHwgJ25vbmUnXG4gICAgfCAncm91bmQnID0gJ2RlZmF1bHQnO1xuXG4gIC8qKlxuICAgKiBTZXQgYW4gYXNwZWN0IHJhdGlvXG4gICAqIGRlZmF1bHQgaXMgJzE2LTknICgxNi85KVxuICAgKiBvdGhlciB2YWx1ZXM6ICdmcmVlJywgJzEtMScsICcxLTInLCAnMi0xJywgJzItMycsICczLTInLCAnMy00JywgJzQtMycsICc0LTUnLCAnNS00JywgJzktMTYnXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhc3BlY3QtcmF0aW8nLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhc3BlY3RSYXRpbzpcbiAgICB8ICdmcmVlJ1xuICAgIHwgJzEtMSdcbiAgICB8ICcxLTInXG4gICAgfCAnMi0xJ1xuICAgIHwgJzItMydcbiAgICB8ICczLTInXG4gICAgfCAnMy00J1xuICAgIHwgJzQtMydcbiAgICB8ICc0LTUnXG4gICAgfCAnNS00J1xuICAgIHwgJzktMTYnXG4gICAgfCAnMTYtOScgPSAnMTYtOSc7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGltYWdlIGlzIGZpbmlzaGVkIGxvYWRpbmcgb3IgZmFpbGVkIHRvIGxvYWQuICovXG4gIHB1YmxpYyBnZXQgY29tcGxldGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3Rvcj8uPEhUTUxJbWFnZUVsZW1lbnQ+KCcuc2JiLWltYWdlX19pbWcnKT8uY29tcGxldGUgPz8gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAvLyBDaGVjayBpZiB0aGUgY3VycmVudCBlbGVtZW50IGlzIG5lc3RlZCBpbiBhbiBgPHNiYi10ZWFzZXItaGVybz5gIGVsZW1lbnQgb24gaW4gYW4gYDxzYmItdGVhc2VyLXBhaWQ+YCBlbGVtZW50LlxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKFxuICAgICAgJ2RhdGEtdGVhc2VyJyxcbiAgICAgICEhaG9zdENvbnRleHQoJ3NiYi10ZWFzZXItaGVybycsIHRoaXMpIHx8ICEhdGhpcy5jbG9zZXN0KCdzYmItdGVhc2VyLXBhaWQnKSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIXRoaXMuX2NhcHRpb25FbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbGlua3NJbkNhcHRpb24gPSB0aGlzLl9jYXB0aW9uRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxMaW5rRWxlbWVudD4oJ2EnKTtcblxuICAgIGlmICghdGhpcy5fbGlua3NJbkNhcHRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9hZGRGb2N1c0FiaWxpdHlUb0xpbmtzSW5DYXB0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgdW50aWwgdGhlIHVwZGF0ZSBpcyBjb21wbGV0ZSB0byBjaGVjayB3aGV0aGVyIHRoZSBpbWFnZSBoYXMgYWxyZWFkeSBiZWVuIGNvbXBsZXRlbHkgbG9hZGVkLlxuICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7XG4gICAgaWYgKHRoaXMuY29tcGxldGUpIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWxvYWRlZCcsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2xvZ1BlcmZvcm1hbmNlTWFya3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGVyZm9ybWFuY2VNYXJrKSB7XG4gICAgICBwZXJmb3JtYW5jZS5jbGVhck1hcmtzKHRoaXMucGVyZm9ybWFuY2VNYXJrKTtcbiAgICAgIHBlcmZvcm1hbmNlLm1hcmsodGhpcy5wZXJmb3JtYW5jZU1hcmspO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX21hdGNoTWVkaWFRdWVyeURlc2lnblRva2VuKGJyZWFrcG9pbnRTaXplTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IGJyZWFrcG9pbnRNYXBbYnJlYWtwb2ludFNpemVOYW1lXTtcbiAgICByZXR1cm4gdmFsdWUgPyBgJHt2YWx1ZX1yZW1gIDogJyc7XG4gIH1cblxuICBwcml2YXRlIF9hZGRGb2N1c0FiaWxpdHlUb0xpbmtzSW5DYXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX2xpbmtzSW5DYXB0aW9uPy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICBsaW5rLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVJbWFnZVVybChiYXNlVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQsIGxxdWlwID0gZmFsc2UpOiBzdHJpbmcge1xuICAgIGlmICghYmFzZVVybCB8fCBiYXNlVXJsID09PSAnJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIENyZWF0aW5nIGFuIFVSTCB3aXRob3V0IGEgc2NoZW1hIHdpbGwgZmFpbCwgYnV0IGlzIGEgdmFsaWQgaW5wdXQgZm9yIGJhc2VVcmwuXG4gICAgLy8gZS5nLiBpbWFnZS1zcmMgY2FuIGJlIGh0dHBzOi8vZXhhbXBsZS5jb20vbXktaW1hZ2UucG5nIG9yIC9teS1pbWFnZS5wbmdcbiAgICBjb25zdCBpc0Z1bGx5UXVhbGlmaWVkVXJsID0gISFiYXNlVXJsLm1hdGNoKC9eXFx3KzpcXC9cXC8vKTtcbiAgICBjb25zdCBpbWFnZVVybE9iaiA9IGlzRnVsbHlRdWFsaWZpZWRVcmwgPyBuZXcgVVJMKGJhc2VVcmwpIDogbmV3IFVSTChgaHR0cDovL25vb3AvJHtiYXNlVXJsfWApO1xuXG4gICAgaWYgKGxxdWlwKSB7XG4gICAgICAvLyBibHVyIGFuZCBzaXplOiA/Ymx1cj0xMDAmdz0xMDAmaD01NlxuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnYmx1cicsICcxMDAnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3cnLCAnMTAwJyk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdoJywgJzU2Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENETiBJbmZvcm1hdGlvbjogaHR0cHM6Ly9kb2NzLmltZ2l4LmNvbS9hcGlzL3JlbmRlcmluZ1xuICAgICAgLy8gcGFyYW0uYXV0bzogP2F1dG89Zm9ybWF0LGNvbXByZXNzLGNzPXRpbnlzcmdiXG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhdXRvJywgJ2Zvcm1hdCxjb21wcmVzcyxjcz10aW55c3JnYicpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmN1c3RvbUZvY2FsUG9pbnQpIHtcbiAgICAgIC8vIGNyb3A6IGAmZml0PWNyb3AmY3JvcD1mb2NhbHBvaW50JmZwLXg9JHt0aGlzLmZvY2FsUG9pbnRYfSZmcC15PSR7dGhpcy5mb2NhbFBvaW50WX0mZnAtej0xYCxcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZpdCcsICdjcm9wJyk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdjcm9wJywgJ2ZvY2FscG9pbnQnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLXgnLCB0aGlzLmZvY2FsUG9pbnRYLnRvU3RyaW5nKDEwKSk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdmcC15JywgdGhpcy5mb2NhbFBvaW50WS50b1N0cmluZygxMCkpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAteicsICcxJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9jYWxQb2ludERlYnVnKSB7XG4gICAgICAvLyBmb2NhbFBvaW50RGVidWc6ICcmZnAtZGVidWc9dHJ1ZSdcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLWRlYnVnJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICAvLyBJbiBjYXNlIG9mIFwibm9vcFwiIGhvc3QsIHdlIGRvbid0IHJldHVybiB0aGUgaG9zdCBhbmQgbXVzdCByZW1vdmUgdGhlXG4gICAgLy8gc3RhcnRpbmcgYC9gIG9mIHRoZSBwYXRobmFtZS5cbiAgICByZXR1cm4gaXNGdWxseVF1YWxpZmllZFVybFxuICAgICAgPyBpbWFnZVVybE9iai5ocmVmXG4gICAgICA6IGltYWdlVXJsT2JqLnBhdGhuYW1lLnN1YnN0cmluZygxKSArIGltYWdlVXJsT2JqLnNlYXJjaDtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXBhcmVQaWN0dXJlU2l6ZUNvbmZpZ3MoKTogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W10ge1xuICAgIGxldCBwaWN0dXJlU2l6ZXNDb25maWc7XG5cbiAgICBpZiAodGhpcy5waWN0dXJlU2l6ZXNDb25maWcpIHtcbiAgICAgIHBpY3R1cmVTaXplc0NvbmZpZyA9IHRoaXMucGljdHVyZVNpemVzQ29uZmlnO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBkZWZhdWx0IGNvbmZpZ1xuICAgICAgcGljdHVyZVNpemVzQ29uZmlnID0gYHtcbiAgICAgICAgXCJicmVha3BvaW50c1wiOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IDY3NSxcbiAgICAgICAgICAgICAgXCJ3aWR0aFwiOiAxMjAwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgICAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1sYXJnZS1taW5cIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogNTQ5LFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDk3NlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1pbi13aWR0aFwiLFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtc21hbGwtbWluXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJpbWFnZVwiOiB7XG4gICAgICAgICAgICAgIFwiaGVpZ2h0XCI6IDE4MCxcbiAgICAgICAgICAgICAgXCJ3aWR0aFwiOiAzMjBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcIm1lZGlhUXVlcmllc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJtYXgtd2lkdGhcIixcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcInNiYi1icmVha3BvaW50LW1pY3JvLW1heFwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbk9wZXJhdG9yXCI6IGZhbHNlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1gO1xuICAgIH1cblxuICAgIHJldHVybiBpbWFnZUhlbHBlckdldEJyZWFrcG9pbnRzKHBpY3R1cmVTaXplc0NvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVNZWRpYVF1ZXJ5U3RyaW5nKFxuICAgIG1lZGlhUXVlcmllczogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5W10sXG4gICk6IHN0cmluZyB7XG4gICAgbGV0IG1lZGlhUXVlcnkgPSAnJztcblxuICAgIG1lZGlhUXVlcmllcy5mb3JFYWNoKChtcSkgPT4ge1xuICAgICAgY29uc3QgbXFDb25kaXRpb24gPSBtcS5jb25kaXRpb25GZWF0dXJlO1xuICAgICAgbGV0IG1xVmFsdWU7XG5cbiAgICAgIGlmIChtcS5jb25kaXRpb25GZWF0dXJlVmFsdWUubHluZURlc2lnblRva2VuKSB7XG4gICAgICAgIG1xVmFsdWUgPSB0aGlzLl9tYXRjaE1lZGlhUXVlcnlEZXNpZ25Ub2tlbihtcS5jb25kaXRpb25GZWF0dXJlVmFsdWUudmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbXFWYWx1ZSA9IG1xLmNvbmRpdGlvbkZlYXR1cmVWYWx1ZS52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbXFDb21iaW5lciA9IG1xLmNvbmRpdGlvbk9wZXJhdG9yID8gYCAke21xLmNvbmRpdGlvbk9wZXJhdG9yfSBgIDogJyc7XG5cbiAgICAgIG1lZGlhUXVlcnkgKz0gYCgke21xQ29uZGl0aW9ufTogJHttcVZhbHVlfSkke21xQ29tYmluZXJ9YDtcbiAgICB9KTtcblxuICAgIHJldHVybiBtZWRpYVF1ZXJ5O1xuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyhldmVudExpc3RlbmVyT3B0aW9ucylcbiAgcHJpdmF0ZSBfaW1hZ2VMb2FkZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nUGVyZm9ybWFuY2VNYXJrcygpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWxvYWRlZCcsIHRydWUpO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2xvYWQnKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBsZXQgeyBjYXB0aW9uIH0gPSB0aGlzO1xuICAgIGxldCBzY2hlbWFEYXRhID0gJyc7XG5cbiAgICBjb25zdCBpbWFnZVVybExRSVAgPSB0aGlzLl9wcmVwYXJlSW1hZ2VVcmwodGhpcy5pbWFnZVNyYywgdHJ1ZSk7XG4gICAgY29uc3QgaW1hZ2VVcmxXaXRoUGFyYW1zID0gdGhpcy5fcHJlcGFyZUltYWdlVXJsKHRoaXMuaW1hZ2VTcmMsIGZhbHNlKTtcblxuICAgIGlmICh0aGlzLmxvYWRpbmcgPT09ICdsYXp5Jykge1xuICAgICAgdGhpcy5kZWNvZGluZyA9ICdhc3luYyc7XG4gICAgICB0aGlzLmltcG9ydGFuY2UgPSAnbG93JztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb3B5cmlnaHQpIHtcbiAgICAgIGNhcHRpb24gPSBgJHt0aGlzLmNhcHRpb259IMKpJHt0aGlzLmNvcHlyaWdodH1gO1xuICAgICAgc2NoZW1hRGF0YSA9IGB7XG4gICAgICAgIFwiQGNvbnRleHRcIjogXCJodHRwczovL3NjaGVtYS5vcmdcIixcbiAgICAgICAgXCJAdHlwZVwiOiBcIlBob3RvZ3JhcGhcIixcbiAgICAgICAgXCJpbWFnZVwiOiBcIiR7dGhpcy5pbWFnZVNyY31cIixcbiAgICAgICAgXCJjb3B5cmlnaHRIb2xkZXJcIjoge1xuICAgICAgICAgIFwiQHR5cGVcIjogXCIke3RoaXMuY29weXJpZ2h0SG9sZGVyfVwiLFxuICAgICAgICAgIFwibmFtZVwiOiBcIiR7dGhpcy5jb3B5cmlnaHR9XCJcbiAgICAgICAgfVxuICAgICAgfWA7XG4gICAgfVxuXG4gICAgY29uc3QgcGljdHVyZVNpemVDb25maWdzID0gdGhpcy5fcHJlcGFyZVBpY3R1cmVTaXplQ29uZmlncygpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGFsdCBhdHRyaWJ1dGUgc2hvdWxkIGFsd2F5cyBiZSBwcmVzZW50IGZvciB0aGUgaW1nIGVsZW1lbnQuXG4gICAgICogSWYgaXQgaGFzIGFuIGVtcHR5IHN0cmluZyBhcyBpdHMgdmFsdWUsIGl0IGlzIHNpbXBseSBpZ25vcmVkXG4gICAgICogYnkgYXNzaXN0aXZlIHRlY2hub2xvZ2llcy4gSWYgd2UgbGVhdmUgaXQgb3V0IGNvbXBsZXRlbHksXG4gICAgICogdGhleSBtaWdodCB0cnkgdG8gaW50ZXJwcmV0IHRoZSBpbWcgZWxlbWVudC5cbiAgICAgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxmaWd1cmUgY2xhc3M9XCJzYmItaW1hZ2VfX2ZpZ3VyZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWltYWdlX193cmFwcGVyXCI+XG4gICAgICAgICAgJHshdGhpcy5za2lwTHFpcFxuICAgICAgICAgICAgPyBodG1sYDxpbWdcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLWltYWdlX19ibHVycmVkXCJcbiAgICAgICAgICAgICAgICBzcmM9JHtpbWFnZVVybExRSVB9XG4gICAgICAgICAgICAgICAgd2lkdGg9XCIxMDAwXCJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCI1NjJcIlxuICAgICAgICAgICAgICAgIGxvYWRpbmc9JHt0aGlzLmxvYWRpbmcgPz8gbm90aGluZ31cbiAgICAgICAgICAgICAgICBkZWNvZGluZz0ke3RoaXMuZGVjb2RpbmcgPz8gbm90aGluZ31cbiAgICAgICAgICAgICAgLz5gXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG5cbiAgICAgICAgICA8cGljdHVyZT5cbiAgICAgICAgICAgIDwhLS0gcmVuZGVyIHBpY3R1cmUgZWxlbWVudCBzb3VyY2VzIC0tPlxuICAgICAgICAgICAgJHtwaWN0dXJlU2l6ZUNvbmZpZ3MubWFwKChjb25maWcpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaW1hZ2VIZWlnaHQgPSBjb25maWcuaW1hZ2UuaGVpZ2h0O1xuICAgICAgICAgICAgICBjb25zdCBpbWFnZVdpZHRoID0gY29uZmlnLmltYWdlLndpZHRoO1xuICAgICAgICAgICAgICBjb25zdCBtZWRpYVF1ZXJ5ID0gdGhpcy5fY3JlYXRlTWVkaWFRdWVyeVN0cmluZyhjb25maWcubWVkaWFRdWVyaWVzKTtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICBodG1sYCA8c291cmNlXG4gICAgICAgICAgICAgICAgICBtZWRpYT0ke2Ake21lZGlhUXVlcnl9YH1cbiAgICAgICAgICAgICAgICAgIHNpemVzPSR7YCR7aW1hZ2VXaWR0aH1weGB9XG4gICAgICAgICAgICAgICAgICBzcmNzZXQ9JHtcbiAgICAgICAgICAgICAgICAgICAgYCR7aW1hZ2VVcmxXaXRoUGFyYW1zfSZ3PSR7aW1hZ2VXaWR0aH0maD0ke2ltYWdlSGVpZ2h0fSZxPSR7dGhpcy5fY29uZmlnLm5vblJldGluYVF1YWxpdHl9ICR7aW1hZ2VXaWR0aH13LCBgICtcbiAgICAgICAgICAgICAgICAgICAgYCR7aW1hZ2VVcmxXaXRoUGFyYW1zfSZ3PSR7aW1hZ2VXaWR0aCAqIDJ9Jmg9JHtpbWFnZUhlaWdodCAqIDJ9JnE9JHtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25maWcucmV0aW5hUXVhbGl0eVxuICAgICAgICAgICAgICAgICAgICB9ICR7aW1hZ2VXaWR0aCAqIDJ9d2BcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+PC9zb3VyY2U+YCxcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBhbHQ9JHt0aGlzLmFsdCB8fCAnJ31cbiAgICAgICAgICAgICAgQGxvYWQ9JHt0aGlzLl9pbWFnZUxvYWRlZH1cbiAgICAgICAgICAgICAgQGVycm9yPSR7KCkgPT4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZXJyb3InKSl9XG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLWltYWdlX19pbWdcIlxuICAgICAgICAgICAgICBzcmM9JHt0aGlzLmltYWdlU3JjIX1cbiAgICAgICAgICAgICAgd2lkdGg9XCIxMDAwXCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiNTYyXCJcbiAgICAgICAgICAgICAgbG9hZGluZz0ke3RoaXMubG9hZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgICBkZWNvZGluZz0ke3RoaXMuZGVjb2RpbmcgPz8gbm90aGluZ31cbiAgICAgICAgICAgICAgLmZldGNoUHJpb3JpdHk9JHt0aGlzLmltcG9ydGFuY2UgPz8gbm90aGluZ31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9waWN0dXJlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgJHtjYXB0aW9uXG4gICAgICAgICAgPyBodG1sYDxmaWdjYXB0aW9uXG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLWltYWdlX19jYXB0aW9uXCJcbiAgICAgICAgICAgICAgLmlubmVySFRNTD0ke2NhcHRpb259XG4gICAgICAgICAgICAgICR7cmVmKChlbCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhcHRpb25FbGVtZW50ID0gZWwgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPjwvZmlnY2FwdGlvbj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAke3NjaGVtYURhdGFcbiAgICAgICAgICA/IGh0bWxgPHNjcmlwdCB0eXBlPVwiYXBwbGljYXRpb24vbGQranNvblwiIC5pbm5lckhUTUw9JHtzY2hlbWFEYXRhfT48L3NjcmlwdD5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPC9maWd1cmU+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWltYWdlJzogU2JiSW1hZ2VFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2EiXSwibWFwcGluZ3MiOiI7Ozs7QUFzQk8sTUFBTSx1QkFBdUI7QUFDN0IsTUFBTSx1QkFBdUI7QUFDN0IsTUFBTSx3QkFBd0I7QUFDOUIsTUFBTSx3QkFBd0I7QUFDOUIsTUFBTSx3QkFBd0I7QUFDOUIsTUFBTSx3QkFBd0I7QUFDOUIsTUFBTSx5QkFB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QUFwRSxTQUFTLEVBQUUsV0FBVyxzQkFBc0IsTUFBTSxTQUFTO0FBQUEsR0ExRGpELGdCQTBEMEQsV0FBQSxvQkFBQSxDQUFBO0FBU2xELGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBbkVDLGdCQW1FUSxXQUFBLFlBQUEsQ0FBQTtBQU1pRCxnQkFBQTtBQUFBLEVBQW5FLFNBQVMsRUFBRSxXQUFXLHFCQUFxQixNQUFNLFNBQVM7QUFBQSxHQXpFaEQsZ0JBeUV5RCxXQUFBLG1CQUFBLENBQUE7QUFLTCxnQkFBQTtBQUFBLEVBQTlELFNBQVMsRUFBRSxXQUFXLGlCQUFpQixNQUFNLFFBQVE7QUFBQSxHQTlFM0MsZ0JBOEVvRCxXQUFBLGVBQUEsQ0FBQTtBQUtBLGdCQUFBO0FBQUEsRUFBOUQsU0FBUyxFQUFFLFdBQVcsaUJBQWlCLE1BQU0sUUFBUTtBQUFBLEdBbkYzQyxnQkFtRm9ELFdBQUEsZUFBQSxDQUFBO0FBWWxCLGdCQUFBO0FBQUEsRUFBNUMsU0FBUyxFQUFFLFdBQVcsYUFBYTtBQUFBLEdBL0Z6QixnQkErRmtDLFdBQUEsWUFBQSxDQUFBO0FBVzFCLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBMUdDLGdCQTBHUSxXQUFBLGNBQUEsQ0FBQTtBQVlBLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBdEhDLGdCQXNIUSxXQUFBLFdBQUEsQ0FBQTtBQWVpQyxnQkFBQTtBQUFBLEVBQW5ELFNBQVMsRUFBRSxXQUFXLG9CQUFvQjtBQUFBLEdBckloQyxnQkFxSXlDLFdBQUEsbUJBQUEsQ0FBQTtBQXNFSSxnQkFBQTtBQUFBLEVBQXZELFNBQVMsRUFBRSxXQUFXLHdCQUF3QjtBQUFBLEdBM01wQyxnQkEyTTZDLFdBQUEsc0JBQUEsQ0FBQTtBQUtRLGdCQUFBO0FBQUEsRUFBL0QsU0FBUyxFQUFFLFdBQVcsaUJBQWlCLFNBQVMsTUFBTTtBQUFBLEdBaE41QyxnQkFnTnFELFdBQUEsZ0JBQUEsQ0FBQTtBQVd6RCxnQkFBQTtBQUFBLEVBRE4sU0FBUyxFQUFFLFdBQVcsZ0JBQWdCLFNBQVMsTUFBTTtBQUFBLEdBMU4zQyxnQkEyTkosV0FBQSxlQUFBLENBQUE7QUEwTUMsZ0JBQUE7QUFBQSxFQURQLGFBQWEsb0JBQW9CO0FBQUEsR0FwYXZCLGdCQXFhSCxXQUFBLGdCQUFBLENBQUE7QUFyYUcsa0JBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsV0FBVztBQUFBLEdBQ2IsZUFBQTsiLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF19
|
|
541
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9Ac2JiLWVzdGEvbHluZS1kZXNpZ24tdG9rZW5zL2Rpc3QvanMvc2JiLXRva2Vucy5tanMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaW1hZ2UvaW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEbyBub3QgZWRpdCBkaXJlY3RseVxuICogR2VuZXJhdGVkIG9uIE1vbiwgMDIgU2VwIDIwMjQgMTU6NDU6MTEgR01UXG4gKi9cblxuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uMXggPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjJ4ID0gODA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb24zeCA9IDEyMDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjR4ID0gMTYwO1xuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uNXggPSAyMDA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb242eCA9IDI0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjEyeCA9IDQ4MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25FYXNpbmcgPSBcImN1YmljLWJlemllciguNDcsIC4xLCAxLCAuNjMpXCI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgxeCA9IDE7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgyeCA9IDI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgzeCA9IDM7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzMXggPSAyO1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czJ4ID0gNDtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM0eCA9IDg7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzNnggPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM4eCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czE2eCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRaZXJvTWluID0gMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50WmVyb01heCA9IDM1OTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWljcm9NaW4gPSAzNjA7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1pY3JvTWF4ID0gNTk5O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRTbWFsbE1pbiA9IDYwMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50U21hbGxNYXggPSA4Mzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1lZGl1bU1pbiA9IDg0MDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWVkaXVtTWF4ID0gMTAyMztcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TGFyZ2VNaW4gPSAxMDI0O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRMYXJnZU1heCA9IDEyNzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludFdpZGVNaW4gPSAxMjgwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRXaWRlTWF4ID0gMTQzOTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50VWx0cmFNaW4gPSAxNDQwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRVbHRyYU1heCA9IDI1Nzk7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFjayA9IFwiIzAwMDAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTAgPSBcInJnYmEoMCwgMCwgMCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGExMCA9IFwicmdiYSgwLCAwLCAwLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMTUgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGEyMCA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMzAgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTQwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGE1MCA9IFwicmdiYSgwLCAwLCAwLCAwLjUpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhNjAgPSBcInJnYmEoMCwgMCwgMCwgMC42KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTcwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1pZG5pZ2h0ID0gXCIjMTUxNTE1XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDaGFyY29hbCA9IFwiIzIxMjEyMVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9ySXJvbiA9IFwiIzQ0NDQ0NFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQW50aHJhY2l0ZSA9IFwiIzVhNWE1YVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3Jhbml0ZSA9IFwiIzY4Njg2OFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTWV0YWwgPSBcIiM3Njc2NzZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1ldGFsQWxwaGEwID0gXCJyZ2JhKDExOCwgMTE4LCAxMTgsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JNZXRhbEFscGhhMjAgPSBcInJnYmEoMTE4LCAxMTgsIDExOCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2UgPSBcIiM4ZDhkOGRcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTbW9rZUFscGhhNSA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2VBbHBoYTEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEyMCA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTdG9ybSA9IFwiI2E4YThhOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3JhcGhpdGUgPSBcIiNiN2I3YjdcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckNlbWVudCA9IFwiI2JkYmRiZFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQ2VtZW50QWxwaGEwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDZW1lbnRBbHBoYTIwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclBsYXRpbnVtID0gXCIjY2RjZGNkXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JQbGF0aW51bUFscGhhMCA9IFwicmdiYSgyMDUsIDIwNSwgMjA1LCAwKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGxhdGludW1BbHBoYTIwID0gXCJyZ2JhKDIwNSwgMjA1LCAyMDUsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckFsdW1pbml1bSA9IFwiI2QyZDJkMlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU2lsdmVyID0gXCIjZGNkY2RjXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDbG91ZCA9IFwiI2U1ZTVlNVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQ2xvdWRBbHBoYTgwID0gXCJyZ2JhKDIyOSwgMjI5LCAyMjksIDAuOClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1pbGsgPSBcIiNmNmY2ZjZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZCA9IFwiI2ViMDAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkQWxwaGEwID0gXCJyZ2JhKDIzNSwgMCwgMCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZEFscGhhMjAgPSBcInJnYmEoMjM1LCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWRBbHBoYTkwID0gXCJyZ2JhKDIzNSwgMCwgMCwgMC45KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkTW9kZURhcmsgPSBcIiNmZjM4MzhcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZDEyNSA9IFwiI2M2MDAxOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkMTI1QWxwaGEwID0gXCJyZ2JhKDE5OCwgMCwgMjQsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWQxMjVBbHBoYTIwID0gXCJyZ2JhKDE5OCwgMCwgMjQsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZDE1MCA9IFwiI2EyMDAxM1wiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGUgPSBcIiNmZmZmZmZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGEwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhMjAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTMwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGE1MCA9IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhNjAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTcwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNreSA9IFwiIzAwNzljN1wiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTmlnaHQgPSBcIiMxNDNhODVcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclZpb2xldCA9IFwiIzZmMjI4MlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGluayA9IFwiI2NmNDA4MlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQXV0dW1uID0gXCIjZTg0ZTEwXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JPcmFuZ2UgPSBcIiNmMjdlMDBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclBlYWNoID0gXCIjZmNiYjAwXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JMZW1vbiA9IFwiI2ZmZGUxNVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQnJvd24gPSBcIiNiNzYwMDBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckdyZWVuID0gXCIjMDA4YTM2XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JUdXJxdW9pc2UgPSBcIiMwMGE1OWJcIjtcbmV4cG9ydCBjb25zdCBTYmJGb2N1c091dGxpbmVPZmZzZXQgPSAzO1xuZXhwb3J0IGNvbnN0IFNiYkhvdmVySW1hZ2VCcmlnaHRuZXNzID0gMS4wNzU7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zWmVybyA9IDQ7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zTWljcm8gPSA0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc1NtYWxsID0gNDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNNZWRpdW0gPSA4O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc0xhcmdlID0gODtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNXaWRlID0gMTI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zVWx0cmEgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVaZXJvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlTWljcm8gPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVTbWFsbCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZU1lZGl1bSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZUxhcmdlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlV2lkZSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZVVsdHJhID0gMzI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVaZXJvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVNaWNybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlU21hbGwgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZU1lZGl1bSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlTGFyZ2UgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZVdpZGUgPSA3MjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZVVsdHJhID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VQYWdlTWF4V2lkdGggPSAxMjAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzFPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cxT2Zmc2V0WSA9IDI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93MUJsdXIgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cyT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93Mk9mZnNldFkgPSAxO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzJCbHVyID0gNDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cyU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTb2Z0MUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMDUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMTUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkMUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkMkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkTmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM0hhcmROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjQpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93MU9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzFPZmZzZXRZID0gNDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cxQmx1ciA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzFTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzJPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cyT2Zmc2V0WSA9IDE7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93MkJsdXIgPSA4O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzJTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNvZnQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4wNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0MkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0TmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0TmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjMpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1SGFyZE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MU9mZnNldFkgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxQmx1ciA9IDEyODtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cyT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93Mk9mZnNldFkgPSA0O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNoYWRvdzJCbHVyID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MlNwcmVhZCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U29mdDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjE1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlIYXJkTmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC40KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzFPZmZzZXRZID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzFCbHVyID0gMTkyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU2hhZG93Mk9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cyT2Zmc2V0WSA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzJCbHVyID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzJTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTb2Z0MUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMDUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNvZnQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTb2Z0TmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU29mdE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExSGFyZDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMUhhcmQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFIYXJkTmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFIYXJkTmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC40KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c1plcm8gPSAyODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNNaWNybyA9IDI4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c1NtYWxsID0gMjg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzTWVkaXVtID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzTGFyZ2UgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNXaWRlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzVWx0cmEgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c1plcm8gPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c01pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNTbWFsbCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzTWVkaXVtID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNMYXJnZSA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzV2lkZSA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzVWx0cmEgPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzWmVybyA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNNaWNybyA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNTbWFsbCA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNNZWRpdW0gPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzTGFyZ2UgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzV2lkZSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNVbHRyYSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U1plcm8gPSA0NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNNaWNybyA9IDQ0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U1NtYWxsID0gNDQ7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTTWVkaXVtID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTTGFyZ2UgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNXaWRlID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTVWx0cmEgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1aZXJvID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNTWljcm8gPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1TbWFsbCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TU1lZGl1bSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TUxhcmdlID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNV2lkZSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TVVsdHJhID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMWmVybyA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TE1pY3JvID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMU21hbGwgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExNZWRpdW0gPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExMYXJnZSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TFdpZGUgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExVbHRyYSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVJY29uVWlTbWFsbCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVJY29uVWlNZWRpdW0gPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplSWNvblVpTGFyZ2UgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQxeCA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMnggPSA4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDN4ID0gMTI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkNHggPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ1eCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDZ4ID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkN3ggPSAyODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ4eCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDl4ID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTB4ID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTJ4ID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTR4ID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTZ4ID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTh4ID0gNzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMjB4ID0gODA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMjR4ID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMzB4ID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c1plcm8gPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNNaWNybyA9IDEyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c1NtYWxsID0gMTI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzTWVkaXVtID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzTGFyZ2UgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNXaWRlID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzVWx0cmEgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c1plcm8gPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c01pY3JvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNTbWFsbCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzTWVkaXVtID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNMYXJnZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzV2lkZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzVWx0cmEgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzWmVybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNNaWNybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNTbWFsbCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNNZWRpdW0gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzTGFyZ2UgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzV2lkZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNVbHRyYSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU1plcm8gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNNaWNybyA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU1NtYWxsID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTTWVkaXVtID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTTGFyZ2UgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNXaWRlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTVWx0cmEgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1aZXJvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNTWljcm8gPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1TbWFsbCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTU1lZGl1bSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTUxhcmdlID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNV2lkZSA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTVVsdHJhID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMWmVybyA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTE1pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMU21hbGwgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxNZWRpdW0gPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxMYXJnZSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTFdpZGUgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxVbHRyYSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxaZXJvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbE1pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbFNtYWxsID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbE1lZGl1bSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxMYXJnZSA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxXaWRlID0gODA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbFVsdHJhID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxaZXJvID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxNaWNybyA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsU21hbGwgPSA3MjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bE1lZGl1bSA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsTGFyZ2UgPSA5NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bFdpZGUgPSA5NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bFVsdHJhID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9Gb250RmFtaWx5ID0gXCJcXFwiU0JCXFxcIiwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MZXR0ZXJTcGFjaW5nVGl0bGVzID0gXCIwXCI7XG5leHBvcnQgY29uc3QgU2JiVHlwb0xldHRlclNwYWNpbmdCb2R5VGV4dCA9IFwiMC4wM2VtXCI7XG5leHBvcnQgY29uc3QgU2JiVHlwb0xpbmVIZWlnaHRUaXRsZXMgPSBcIjEuM1wiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MaW5lSGVpZ2h0Qm9keVRleHQgPSBcIjEuNzVcIjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUwNzV4ID0gMTI7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMDgxMjV4ID0gMTM7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMDg3NXggPSAxNDtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGVEZWZhdWx0ID0gMTY7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMTEyNXggPSAxODtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUxMjV4ID0gMjA7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMTV4ID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMnggPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUyNXggPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUzeCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTM1eCA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTR4ID0gNjQ7XG4iLCJpbXBvcnQge1xuICBTYmJCcmVha3BvaW50WmVyb01pbixcbiAgU2JiQnJlYWtwb2ludFplcm9NYXgsXG4gIFNiYkJyZWFrcG9pbnRNaWNyb01pbixcbiAgU2JiQnJlYWtwb2ludE1pY3JvTWF4LFxuICBTYmJCcmVha3BvaW50U21hbGxNaW4sXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1heCxcbiAgU2JiQnJlYWtwb2ludE1lZGl1bU1pbixcbiAgU2JiQnJlYWtwb2ludE1lZGl1bU1heCxcbiAgU2JiQnJlYWtwb2ludExhcmdlTWluLFxuICBTYmJCcmVha3BvaW50TGFyZ2VNYXgsXG4gIFNiYkJyZWFrcG9pbnRXaWRlTWluLFxuICBTYmJCcmVha3BvaW50V2lkZU1heCxcbiAgU2JiQnJlYWtwb2ludFVsdHJhTWluLFxuICBTYmJCcmVha3BvaW50VWx0cmFNYXgsXG4gIFNiYlR5cG9TY2FsZURlZmF1bHQsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWRlc2lnbi10b2tlbnMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgeyBob3N0Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZG9tLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vaW1hZ2Uuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZyB7XG4gIGJyZWFrcG9pbnRzOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnQge1xuICBpbWFnZToge1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gIH07XG4gIG1lZGlhUXVlcmllczogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5IHtcbiAgY29uZGl0aW9uRmVhdHVyZTogc3RyaW5nO1xuICBjb25kaXRpb25GZWF0dXJlVmFsdWU6IHtcbiAgICBseW5lRGVzaWduVG9rZW46IGJvb2xlYW47XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgY29uZGl0aW9uT3BlcmF0b3I6IGZhbHNlO1xufVxuXG4vKipcbiAqIHdlIGNoZWNrIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEgbWFudWFsbHksIHNvIGl0J3Mgc2FmZSB0byB1c2UgYGFueWAgYXMgcmV0dXJuIHR5cGVcbiAqL1xuY29uc3QgaW1hZ2VIZWxwZXJHZXRCcmVha3BvaW50cyA9IChcbiAganNvblN0cmluZzogc3RyaW5nLFxuKTogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W10gPT4ge1xuICBpZiAoIWpzb25TdHJpbmcgfHwganNvblN0cmluZy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIGBicmVha3BvaW50c2Aga2V5IGluIG9iamVjdFxuICBjb25zdCBsb2dXYXJuaW5nID0gaW1wb3J0Lm1ldGEuZW52LkRFVlxuICAgID8gKCkgPT5cbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdzYmItaW1hZ2UgZXJyb3I6IGF0dHJpYnV0ZSBicmVha3BvaW50cyBoYXMgd3JvbmcgZGF0YSBmb3JtYXQuIFJlZmVyZW5jZSB0aGUgZG9jdW1lbnRhdGlvbiB0byBzZWUgaG93IHlvdSBzaG91bGQgZm9ybWF0IHRoZSBkYXRhIGZvciB0aGlzIGF0dHJpYnV0ZS4nLFxuICAgICAgICApXG4gICAgOiBudWxsO1xuICBsZXQganNvbk9iamVjdDogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWc7XG5cbiAgdHJ5IHtcbiAgICBqc29uT2JqZWN0ID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcbiAgfSBjYXRjaCB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgaWYgKCFqc29uT2JqZWN0LmJyZWFrcG9pbnRzIHx8IGpzb25PYmplY3QuYnJlYWtwb2ludHMubGVuZ3RoID09PSAwKSB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHdlIGdldCBhbiBhcnJheSBvZiBicmVha3BvaW50c1xuICBpZiAoIUFycmF5LmlzQXJyYXkoanNvbk9iamVjdC5icmVha3BvaW50cykpIHtcbiAgICBsb2dXYXJuaW5nPy4oKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvKipcbiAgICogMS4gbWFrZSBzdXJlIHRoYXQgZWFjaCBlbnRyeSB3aXRoaW4gdGhlIGJyZWFrcG9pbnRzIG9iamVjdCBjb250YWlucyBvbmx5IGFsbG93ZWQga2V5c1xuICAgKiAyLiBtYWtlIHN1cmUgdGhhdCBhbGwgbmVjZXNzYXJ5IGtleXMgYXJlIHByZXNlbnRcbiAgICovXG4gIGxldCB3cm9uZ0tleURldGVjdGVkID0gZmFsc2U7XG4gIGxldCBtaXNzaW5nS2V5RGV0ZWN0ZWQgPSBmYWxzZTtcblxuICBjb25zdCBhbGxvd2VkS2V5cyA9IFsnaW1hZ2UnLCAnbWVkaWFRdWVyaWVzJ107XG5cbiAganNvbk9iamVjdC5icmVha3BvaW50cy5mb3JFYWNoKChicmVha3BvaW50KSA9PiB7XG4gICAgY29uc3QgYnJlYWtwb2ludEtleXMgPSBPYmplY3Qua2V5cyhicmVha3BvaW50KTtcblxuICAgIGJyZWFrcG9pbnRLZXlzLmZvckVhY2goKGJyZWFrcG9pbnRLZXkpID0+IHtcbiAgICAgIGlmICghYWxsb3dlZEtleXMuaW5jbHVkZXMoYnJlYWtwb2ludEtleSkpIHtcbiAgICAgICAgd3JvbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBhbGxvd2VkS2V5cy5mb3JFYWNoKChhbGxvd2VkS2V5KSA9PiB7XG4gICAgICBpZiAoIWJyZWFrcG9pbnRLZXlzLmluY2x1ZGVzKGFsbG93ZWRLZXkpKSB7XG4gICAgICAgIG1pc3NpbmdLZXlEZXRlY3RlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGlmICh3cm9uZ0tleURldGVjdGVkIHx8IG1pc3NpbmdLZXlEZXRlY3RlZCkge1xuICAgIGxvZ1dhcm5pbmc/LigpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBqc29uT2JqZWN0LmJyZWFrcG9pbnRzO1xufTtcblxuY29uc3QgZXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIG9uY2U6IHRydWUsXG4gIHBhc3NpdmU6IHRydWUsXG59O1xuXG5jb25zdCBweFRvUmVtID0gKHB4OiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICByZXR1cm4gcHggLyBTYmJUeXBvU2NhbGVEZWZhdWx0O1xufTtcblxuY29uc3QgYnJlYWtwb2ludE1hcDogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtcbiAgJ3NiYi1icmVha3BvaW50LXplcm8tbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50WmVyb01pbiksXG4gICdzYmItYnJlYWtwb2ludC16ZXJvLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFplcm9NYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtbWljcm8tbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50TWljcm9NaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtbWljcm8tbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50TWljcm9NYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtc21hbGwtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50U21hbGxNaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtc21hbGwtbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50U21hbGxNYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtbWVkaXVtLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludE1lZGl1bU1pbiksXG4gICdzYmItYnJlYWtwb2ludC1tZWRpdW0tbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50TWVkaXVtTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LWxhcmdlLW1pbic6IHB4VG9SZW0oU2JiQnJlYWtwb2ludExhcmdlTWluKSxcbiAgJ3NiYi1icmVha3BvaW50LWxhcmdlLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludExhcmdlTWF4KSxcbiAgJ3NiYi1icmVha3BvaW50LXdpZGUtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50V2lkZU1pbiksXG4gICdzYmItYnJlYWtwb2ludC13aWRlLW1heCc6IHB4VG9SZW0oU2JiQnJlYWtwb2ludFdpZGVNYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtdWx0cmEtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50VWx0cmFNaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtdWx0cmEtbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50VWx0cmFNYXgpLFxufTtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpbWFnZS5cbiAqXG4gKiBAZXZlbnQge0V2ZW50fSBsb2FkIC0gRW1pdHMgd2hlbiB0aGUgaW1hZ2UgaGFzIGJlZW4gbG9hZGVkLlxuICogQGV2ZW50IHtFdmVudH0gZXJyb3IgLSBFbWl0cyB3aGVuIHRoZSBpbWFnZSBsb2FkaW5nIGVuZGVkIGluIGFuIGVycm9yLlxuICogQGNzc3Byb3AgWy0tc2JiLWltYWdlLWFzcGVjdC1yYXRpbz1hdXRvXSAtIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIGBhc3BlY3RSYXRpb2AgcHJvcGVydHkuXG4gKiBUaGlzIHdheSB3ZSBjYW4gaGF2ZSwgZm9yIGV4YW1wbGUsIGFuIGltYWdlIGNvbXBvbmVudCB3aXRoIGFuIGFzcGVjdFxuICogcmF0aW8gb2YgNC8zIGluIHNtYWxsZXIgdmlld3BvcnRzIGFuZCAxNi85IGluIGxhcmdlciB2aWV3cG9ydHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItaW1hZ2UtYm9yZGVyLXJhZGl1cz12YXIoLS1zYmItYm9yZGVyLXJhZGl1cy00eCldIC0gQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlXG4gKiBgYm9yZGVyUmFkaXVzYCBwcm9wZXJ0eSBpbiBjYXNlIG9mIGRpZmZlcmVudCB2YWx1ZXMgZm9yIGRpZmZlcmVudCB2aWV3cG9ydHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItaW1hZ2Utb2JqZWN0LXBvc2l0aW9uXSAtIENhbiBiZSB1c2VkIHRvIHNldCB0aGUgb2JqZWN0LXBvc2l0aW9uIGNzcyBwcm9wZXJ0eSBvZiB0aGUgaW1hZ2UgaXRzZWxmIGlmIHRoZSBpbWFnZSBpdHNlbGYgaXMgY3JvcHBlZC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1pbWFnZScpXG5leHBvcnQgY2xhc3MgU2JiSW1hZ2VFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBlcnJvcjogJ2Vycm9yJyxcbiAgICBsb2FkOiAnbG9hZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfY2FwdGlvbkVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfbGlua3NJbkNhcHRpb24/OiBOb2RlTGlzdE9mPEhUTUxMaW5rRWxlbWVudD47XG4gIHByaXZhdGUgX2NvbmZpZyA9IHtcbiAgICBub25SZXRpbmFRdWFsaXR5OiAnNDUnLFxuICAgIHJldGluYVF1YWxpdHk6ICcyMCcsXG4gIH07XG5cbiAgLyoqXG4gICAqIEFuIGFsdCB0ZXh0IGlzIG5vdCBhbHdheXMgbmVjZXNzYXJ5IChlLmcuIGluIHRlYXNlciBjYXJkcyB3aGVuXG4gICAqIGFkZGl0aW9uYWwgbGluayB0ZXh0IGlzIHByb3ZpZGVkKS4gSW4gdGhpcyBjYXNlIHdlIGNhbiBsZWF2ZVxuICAgKiB0aGUgdmFsdWUgb2YgdGhlIGFsdCBhdHRyaWJ1dGUgYmxhbmssIGJ1dCB0aGUgYXR0cmlidXRlIGl0c2VsZlxuICAgKiBzdGlsbCBuZWVkcyB0byBiZSBwcmVzZW50LiBUaGF0IHdheSB3ZSBjYW4gc2lnbmFsIGFzc2lzdGl2ZVxuICAgKiB0ZWNobm9sb2d5LCB0aGF0IHRoZXkgY2FuIHNraXAgdGhlIGltYWdlLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFsdD86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGZhbHNlLCB3ZSBzaG93IGEgYmx1cnJlZCB2ZXJzaW9uIG9mIHRoZSBpbWFnZSBhc1xuICAgKiBwbGFjZWhvbGRlciBiZWZvcmUgdGhlIGFjdHVhbCBpbWFnZSBzaG93cyB1cC4gVGhpcyB3aWxsIGhlbHBcbiAgICogdG8gaW1wcm92ZSB0aGUgcGVyY2VpdmVkIGxvYWRpbmcgcGVyZm9ybWFuY2UuIFJlYWQgbW9yZSBhYm91dFxuICAgKiB0aGUgaWRlYSBvZiBscWlwIGhlcmU6XG4gICAqIGh0dHBzOi8vbWVkaXVtLmNvbS9AaW1naXgvbHFpcC15b3VyLWltYWdlcy1mb3ItZmFzdC1sb2FkaW5nLTI1MjNkOWVlNGE2MlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2tpcC1scWlwJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgc2tpcExxaXAgPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBjYXB0aW9uIGNhbiBwcm92aWRlIGFkZGl0aW9uYWwgY29udGV4dCB0byB0aGUgaW1hZ2UgKGUuZy5cbiAgICogZGVzY3JpcHRpb25zIGFuZCB0aGUgbGlrZSkuXG4gICAqIExpbmtzIHdpbGwgYXV0b21hdGljYWxseSByZWNlaXZlIHRhYmluZGV4PS0xIGlmIGhpZGVGcm9tU2NyZWVucmVhZGVyXG4gICAqIGlzIHNldCB0byB0cnVlLiBUaGF0IHdheSB0aGV5IHdpbGwgbm8gbG9uZ2VyIGJlY29tZSBmb2N1c2FibGUuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgY2FwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgYSBjb3B5cmlnaHQgdGV4dCBpcyBwcm92aWRlZCwgd2Ugd2lsbCBhZGQgaXQgdG8gdGhlIGNhcHRpb25cbiAgICogYW5kIGNyZWF0ZSBhIHN0cnVjdHVyZWQgZGF0YSBqc29uLWxkIGJsb2NrIHdpdGggdGhlIGNvcHlyaWdodFxuICAgKiBpbmZvcm1hdGlvbi5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBjb3B5cmlnaHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvcHlyaWdodCBob2xkZXIgY2FuIGVpdGhlciBiZSBhbiBPcmdhbml6YXRpb24gb3IgYSBQZXJzb25cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2NvcHlyaWdodC1ob2xkZXInIH0pXG4gIHB1YmxpYyBjb3B5cmlnaHRIb2xkZXI6ICdPcmdhbml6YXRpb24nIHwgJ1BlcnNvbicgPSAnT3JnYW5pemF0aW9uJztcblxuICAvKipcbiAgICogU2V0IHRoaXMgdG8gdHJ1ZSwgaWYgeW91IHdhbnQgdG8gcGFzcyBhIGN1c3RvbSBmb2NhbCBwb2ludFxuICAgKiBmb3IgdGhlIGltYWdlLiBTZWUgZnVsbCBkb2N1bWVudGF0aW9uIGhlcmU6XG4gICAqIGh0dHBzOi8vZG9jcy5pbWdpeC5jb20vYXBpcy9yZW5kZXJpbmcvZm9jYWxwb2ludC1jcm9wXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjdXN0b20tZm9jYWwtcG9pbnQnLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBjdXN0b21Gb2NhbFBvaW50ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBsYXp5IHByb3BlcnR5IGlzIHNldCB0byB0cnVlLCB0aGUgbW9kdWxlIHdpbGwgYXV0b21hdGljYWxseVxuICAgKiBjaGFuZ2UgdGhlIGRlY29kaW5nIHRvIGFzeW5jLCBvdGhlcndpc2UgdGhlIGRlY29kaW5nIGlzIHNldCB0byBhdXRvXG4gICAqIHdoaWNoIGxlYXZlcyB0aGUgaGFuZGxpbmcgdXAgdG8gdGhlIGJyb3dzZXIuIFJlYWQgbW9yZSBhYm91dCB0aGVcbiAgICogZGVjb2RpbmcgYXR0cmlidXRlIGhlcmU6XG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9IVE1MSW1hZ2VFbGVtZW50L2RlY29kaW5nXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgZGVjb2Rpbmc6ICdzeW5jJyB8ICdhc3luYycgfCAnYXV0bycgPSAnYXV0byc7XG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUsIHRvIHJlY2VpdmUgdmlzdWFsIGd1aWRhbmNlIHdoZXJlIHRoZSBjdXN0b20gZm9jYWxcbiAgICogcG9pbnQgaXMgY3VycmVudGx5IHNldC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LWRlYnVnJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgZm9jYWxQb2ludERlYnVnID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBhc3MgaW4gYSBmbG9hdGluZyBudW1iZXIgYmV0d2VlbiAwIChsZWZ0KSBhbmQgMSAocmlnaHQpLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZm9jYWwtcG9pbnQteCcsIHR5cGU6IE51bWJlciB9KSBwdWJsaWMgZm9jYWxQb2ludFggPSAxO1xuXG4gIC8qKlxuICAgKiBQYXNzIGluIGEgZmxvYXRpbmcgbnVtYmVyIGJldHdlZW4gMCAodG9wKSBhbmQgMSAoYm90dG9tKS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LXknLCB0eXBlOiBOdW1iZXIgfSkgcHVibGljIGZvY2FsUG9pbnRZID0gMTtcblxuICAvKipcbiAgICogUmlnaHQgbm93IHRoZSBtb2R1bGUgaXMgaGVhdmlseSBjb3VwbGVkIHdpdGggdGhlIGltYWdlIGRlbGl2ZXJ5XG4gICAqIHNlcnZpY2UgaW1naXggYW5kIGRlcGVuZHMgb24gdGhlIG9yaWdpbmFsIGZpbGVzIGJlaW5nIHN0b3JlZFxuICAgKiBpbnNpZGUgQUVNLiBZb3UgY2FuIHBhc3MgaW4gYW55IGh0dHBzOi8vY2RuLmltZy5zYmIuY2ggaW1nXG4gICAqIHNyYyBhZGRyZXNzIHlvdSBmaW5kIG9uIHNiYi5jaCB0byBwbGF5IGFyb3VuZCB3aXRoIGl0LiBKdXN0XG4gICAqIHN0cmlwIHRoZSB1cmwgcGFyYW1ldGVycyBhbmQgcGFzdGUgaW4gdGhlIHBsYWluIGZpbGUgYWRkcmVzcy5cbiAgICogSWYgeW91IHdhbnQgdG8ga25vdyBob3cgdG8gYmVzdCB3b3JrIHdpdGggdGhpcyBtb2R1bGUgd2l0aFxuICAgKiBpbWFnZXMgY29taW5nIGZyb20gYSBkaWZmZXJlbnQgc291cmNlLCBwbGVhc2UgY29udGFjdCB0aGVcbiAgICogTFlORSBDb3JlIFRlYW0uXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbWFnZS1zcmMnIH0pIHB1YmxpYyBpbWFnZVNyYz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGltcG9ydGFuY2UgYXR0cmlidXRlIGlzIGZhaXJseSBuZXcgYXR0cmlidXRlIHdoaWNoIHNob3VsZFxuICAgKiBoZWxwIHRoZSBicm93c2VyIGRlY2lkZSB3aGljaCByZXNvdXJjZXMgaXQgc2hvdWxkIHByaW9yaXRpc2VcbiAgICogZHVyaW5nIHBhZ2UgbG9hZC4gV2Ugd2lsbCBzZXQgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBiYXNlZCBvbiB0aGVcbiAgICogdmFsdWUsIHdlIHJlY2VpdmUgaW4gdGhlIGxvYWRpbmcgYXR0cmlidXRlLiAnZWFnZXInLCB3aGljaCB3ZSB1c2VcbiAgICogZm9yIHRoZSBsYXJnZXN0IGltYWdlIHdpdGhpbiB0aGUgaW5pdGlhbCB2aWV3cG9ydCwgd2lsbCBzZXQgdGhlXG4gICAqIGF0dHJpYnV0ZSB2YWx1ZSB0byAnaGlnaCcuICdsYXp5Jywgd2hpY2ggd2UgdXNlIGZvciBpbWFnZXMgYmVsb3dcbiAgICogdGhlIGZvbGQsIHdpbGwgc2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUgdG8gJ2xvdycuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgaW1wb3J0YW5jZTogJ2F1dG8nIHwgJ2hpZ2gnIHwgJ2xvdycgPSAnaGlnaCc7XG5cbiAgLyoqXG4gICAqIFdpdGggdGhlIHN1cHBvcnQgb2YgbmF0aXZlIGltYWdlIGxhenkgbG9hZGluZywgd2UgY2FuIG5vd1xuICAgKiBkZWNpZGUgd2hldGhlciB3ZSB3YW50IHRvIGxvYWQgdGhlIGltYWdlIGltbWVkaWF0ZWx5IG9yIG9ubHlcbiAgICogb25jZSBpdCBpcyBjbG9zZSB0byB0aGUgdmlzaWJsZSB2aWV3cG9ydC4gVGhlIHZhbHVlIGVhZ2VyIGlzXG4gICAqIGJlc3QgdXNlZCBmb3IgaW1hZ2VzIHdpdGhpbiB0aGUgaW5pdGlhbCB2aWV3cG9ydC4gV2Ugd2FudCB0b1xuICAgKiBsb2FkIHRoZXNlIGltYWdlcyBhcyBmYXN0IGFzIHBvc3NpYmxlIHRvIGltcHJvdmUgdGhlIENvcmUgV2ViXG4gICAqIFZpdGFscyB2YWx1ZXMuIGxhenkgb24gdGhlIG90aGVyIGhhbmQgd29ya3MgYmVzdCBmb3IgaW1hZ2VzXG4gICAqIHdoaWNoIGFyZSBmdXJ0aGVyIGRvd24gdGhlIHBhZ2Ugb3IgaW52aXNpYmxlIGR1cmluZyB0aGUgbG9hZGluZ1xuICAgKiBvZiB0aGUgaW5pdGlhbCB2aWV3cG9ydC5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsb2FkaW5nOiAnZWFnZXInIHwgJ2xhenknID0gJ2VhZ2VyJztcblxuICAvKipcbiAgICogV2l0aCBwZXJmb3JtYW5jZS5tYXJrIHlvdSBjYW4gbG9nIGEgdGltZXN0YW1wIGFzc29jaWF0ZWQgd2l0aFxuICAgKiB0aGUgbmFtZSB5b3UgZGVmaW5lIGluIHBlcmZvcm1hbmNlTWFyayB3aGVuIGEgY2VydGFpbiBldmVudCBpc1xuICAgKiBoYXBwZW5pbmcuIEluIG91ciBjYXNlIHdlIHdpbGwgbG9nIHRoZSBwZXJmb3JtYW5jZS5tYXJrIGludG9cbiAgICogdGhlIFBlcmZvcm1hbmNlRW50cnkgQVBJIG9uY2UgdGhlIGltYWdlIGlzIGZ1bGx5IGxvYWRlZC5cbiAgICogUGVyZm9ybWFuY2UgbW9uaXRvcmluZyB0b29scyBsaWtlIFNwZWVkQ3VydmUgb3IgTGlnaHRob3VzZSBhcmVcbiAgICogdGhlbiBhYmxlIHRvIGdyYWIgdGhlc2UgZW50cmllcyBmcm9tIHRoZSBQZXJmb3JtYW5jZUVudHJ5IEFQSVxuICAgKiBhbmQgZ2l2ZSB1cyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFuZCBpbnNpZ2h0cyBhYm91dCBvdXIgcGFnZVxuICAgKiBsb2FkaW5nIGJlaGF2aW91ci4gV2UgYXJlIHRoZW4gYWxzbyBhYmxlIHRvIG1vbml0b3IgdGhlc2VcbiAgICogdmFsdWVzIG92ZXIgYSBsb25nIHBlcmlvZCB0byBzZWUgaWYgb3VyIHBlcmZvcm1hbmNlXG4gICAqIGluY3JlYXNlcyBvciBkZWNyZWFzZXMgb3ZlciB0aW1lLiBCZXN0IHRvIHVzZSBsb3dlcmNhc2Ugc3RyaW5nc1xuICAgKiBoZXJlLCBzZXBhcmF0ZSB3b3JkcyB3aXRoIHVuZGVyc2NvcmVzIG9yIGRhc2hlcy5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BlcmZvcm1hbmNlLW1hcmsnIH0pIHB1YmxpYyBwZXJmb3JtYW5jZU1hcms/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdpdGggdGhlIHBpY3R1cmVTaXplc0NvbmZpZyBvYmplY3QsIHlvdSBjYW4gcGFzcyBpbiBpbmZvcm1hdGlvblxuICAgKiBpbnRvIGltYWdlIGFib3V0IHdoYXQga2luZCBvZiBzb3VyY2UgZWxlbWVudHMgc2hvdWxkIGdldFxuICAgKiByZW5kZXJlZC4gbWVkaWFRdWVyaWVzIGFjY2VwdHMgbXVsdGlwbGUgTWVkaWEgUXVlcnkgZW50cmllc1xuICAgKiB3aGljaCBjYW4gZ2V0IGNvbWJpbmVkIGJ5IGRlZmluaW5nIGEgY29uZGl0aW9uT3BlcmF0b3IuXG4gICAqIFR5cGUgaXM6IHN0cmluZ2lmaWVkIEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnLU9iamVjdFxuICAgKiBBbiBleGFtcGxlIGNvdWxkIGxvb2sgbGlrZSB0aGlzOlxuICAgKiB7XG4gICAqICAgIFwiYnJlYWtwb2ludHNcIjogW1xuICAgKiAgICAgIHtcbiAgICogICAgICAgIFwiaW1hZ2VcIjoge1xuICAgKiAgICAgICAgICBcImhlaWdodFwiOiBcIjY3NVwiLFxuICAgKiAgICAgICAgICBcIndpZHRoXCI6IFwiMTIwMFwiXG4gICAqICAgICAgICB9LFxuICAgKiAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgKiAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1sYXJnZS1taW5cIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfSxcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCI1NDlcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjk3NlwiXG4gICAqICAgICAgICB9LFxuICAgKiAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgKiAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1zbWFsbC1taW5cIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfSxcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCIxODBcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjMyMFwiXG4gICAqICAgICAgICB9LFxuICAgKiAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWF4LXdpZHRoXCIsXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgKiAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1taWNyby1tYXhcIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBcImFuZFwiXG4gICAqICAgICAgICAgIH0sXG4gICAqICAgICAgICAgIHtcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJvcmllbnRhdGlvblwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IGZhbHNlLFxuICAgKiAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcImxhbmRzY2FwZVwiXG4gICAqICAgICAgICAgICAgfSxcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbk9wZXJhdG9yXCI6IGZhbHNlXG4gICAqICAgICAgICAgIH1cbiAgICogICAgICAgIF1cbiAgICogICAgICB9XG4gICAqICAgIF1cbiAgICogIH1cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BpY3R1cmUtc2l6ZXMtY29uZmlnJyB9KSBwdWJsaWMgcGljdHVyZVNpemVzQ29uZmlnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCb3JkZXIgcmFkaXVzIG9mIHRoZSBpbWFnZS4gQ2hvb3NlIGJldHdlZW4gYSBkZWZhdWx0IHJhZGl1cywgbm8gcmFkaXVzIGFuZCBhIGNvbXBsZXRlbHkgcm91bmQgaW1hZ2UuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdib3JkZXItcmFkaXVzJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYm9yZGVyUmFkaXVzOlxuICAgIHwgJ2RlZmF1bHQnXG4gICAgfCAnbm9uZSdcbiAgICB8ICdyb3VuZCcgPSAnZGVmYXVsdCc7XG5cbiAgLyoqXG4gICAqIFNldCBhbiBhc3BlY3QgcmF0aW9cbiAgICogZGVmYXVsdCBpcyAnMTYtOScgKDE2LzkpXG4gICAqIG90aGVyIHZhbHVlczogJ2ZyZWUnLCAnMS0xJywgJzEtMicsICcyLTEnLCAnMi0zJywgJzMtMicsICczLTQnLCAnNC0zJywgJzQtNScsICc1LTQnLCAnOS0xNidcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FzcGVjdC1yYXRpbycsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFzcGVjdFJhdGlvOlxuICAgIHwgJ2ZyZWUnXG4gICAgfCAnMS0xJ1xuICAgIHwgJzEtMidcbiAgICB8ICcyLTEnXG4gICAgfCAnMi0zJ1xuICAgIHwgJzMtMidcbiAgICB8ICczLTQnXG4gICAgfCAnNC0zJ1xuICAgIHwgJzQtNSdcbiAgICB8ICc1LTQnXG4gICAgfCAnOS0xNidcbiAgICB8ICcxNi05JyA9ICcxNi05JztcblxuICAvKiogV2hldGhlciB0aGUgaW1hZ2UgaXMgZmluaXNoZWQgbG9hZGluZyBvciBmYWlsZWQgdG8gbG9hZC4gKi9cbiAgcHVibGljIGdldCBjb21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yPy48SFRNTEltYWdlRWxlbWVudD4oJy5zYmItaW1hZ2VfX2ltZycpPy5jb21wbGV0ZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGVsZW1lbnQgaXMgbmVzdGVkIGluIGFuIGA8c2JiLXRlYXNlci1oZXJvPmAgZWxlbWVudCBvbiBpbiBhbiBgPHNiYi10ZWFzZXItcGFpZD5gIGVsZW1lbnQuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS10ZWFzZXInLFxuICAgICAgISFob3N0Q29udGV4dCgnc2JiLXRlYXNlci1oZXJvJywgdGhpcykgfHwgISF0aGlzLmNsb3Nlc3QoJ3NiYi10ZWFzZXItcGFpZCcpLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy5fY2FwdGlvbkVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9saW5rc0luQ2FwdGlvbiA9IHRoaXMuX2NhcHRpb25FbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTExpbmtFbGVtZW50PignYScpO1xuXG4gICAgaWYgKCF0aGlzLl9saW5rc0luQ2FwdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2FkZEZvY3VzQWJpbGl0eVRvTGlua3NJbkNhcHRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gd2FpdCB1bnRpbCB0aGUgdXBkYXRlIGlzIGNvbXBsZXRlIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGltYWdlIGhhcyBhbHJlYWR5IGJlZW4gY29tcGxldGVseSBsb2FkZWQuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICBpZiAodGhpcy5jb21wbGV0ZSkge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbG9hZGVkJywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbG9nUGVyZm9ybWFuY2VNYXJrcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wZXJmb3JtYW5jZU1hcmspIHtcbiAgICAgIHBlcmZvcm1hbmNlLmNsZWFyTWFya3ModGhpcy5wZXJmb3JtYW5jZU1hcmspO1xuICAgICAgcGVyZm9ybWFuY2UubWFyayh0aGlzLnBlcmZvcm1hbmNlTWFyayk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbWF0Y2hNZWRpYVF1ZXJ5RGVzaWduVG9rZW4oYnJlYWtwb2ludFNpemVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gYnJlYWtwb2ludE1hcFticmVha3BvaW50U2l6ZU5hbWVdO1xuICAgIHJldHVybiB2YWx1ZSA/IGAke3ZhbHVlfXJlbWAgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEZvY3VzQWJpbGl0eVRvTGlua3NJbkNhcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fbGlua3NJbkNhcHRpb24/LmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgIGxpbmsucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZUltYWdlVXJsKGJhc2VVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCwgbHF1aXAgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgaWYgKCFiYXNlVXJsIHx8IGJhc2VVcmwgPT09ICcnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRpbmcgYW4gVVJMIHdpdGhvdXQgYSBzY2hlbWEgd2lsbCBmYWlsLCBidXQgaXMgYSB2YWxpZCBpbnB1dCBmb3IgYmFzZVVybC5cbiAgICAvLyBlLmcuIGltYWdlLXNyYyBjYW4gYmUgaHR0cHM6Ly9leGFtcGxlLmNvbS9teS1pbWFnZS5wbmcgb3IgL215LWltYWdlLnBuZ1xuICAgIGNvbnN0IGlzRnVsbHlRdWFsaWZpZWRVcmwgPSAhIWJhc2VVcmwubWF0Y2goL15cXHcrOlxcL1xcLy8pO1xuICAgIGNvbnN0IGltYWdlVXJsT2JqID0gaXNGdWxseVF1YWxpZmllZFVybCA/IG5ldyBVUkwoYmFzZVVybCkgOiBuZXcgVVJMKGBodHRwOi8vbm9vcC8ke2Jhc2VVcmx9YCk7XG5cbiAgICBpZiAobHF1aXApIHtcbiAgICAgIC8vIGJsdXIgYW5kIHNpemU6ID9ibHVyPTEwMCZ3PTEwMCZoPTU2XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdibHVyJywgJzEwMCcpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgndycsICcxMDAnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2gnLCAnNTYnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ0ROIEluZm9ybWF0aW9uOiBodHRwczovL2RvY3MuaW1naXguY29tL2FwaXMvcmVuZGVyaW5nXG4gICAgICAvLyBwYXJhbS5hdXRvOiA/YXV0bz1mb3JtYXQsY29tcHJlc3MsY3M9dGlueXNyZ2JcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2F1dG8nLCAnZm9ybWF0LGNvbXByZXNzLGNzPXRpbnlzcmdiJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VzdG9tRm9jYWxQb2ludCkge1xuICAgICAgLy8gY3JvcDogYCZmaXQ9Y3JvcCZjcm9wPWZvY2FscG9pbnQmZnAteD0ke3RoaXMuZm9jYWxQb2ludFh9JmZwLXk9JHt0aGlzLmZvY2FsUG9pbnRZfSZmcC16PTFgLFxuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZml0JywgJ2Nyb3AnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Nyb3AnLCAnZm9jYWxwb2ludCcpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAteCcsIHRoaXMuZm9jYWxQb2ludFgudG9TdHJpbmcoMTApKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLXknLCB0aGlzLmZvY2FsUG9pbnRZLnRvU3RyaW5nKDEwKSk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdmcC16JywgJzEnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb2NhbFBvaW50RGVidWcpIHtcbiAgICAgIC8vIGZvY2FsUG9pbnREZWJ1ZzogJyZmcC1kZWJ1Zz10cnVlJ1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAtZGVidWcnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIC8vIEluIGNhc2Ugb2YgXCJub29wXCIgaG9zdCwgd2UgZG9uJ3QgcmV0dXJuIHRoZSBob3N0IGFuZCBtdXN0IHJlbW92ZSB0aGVcbiAgICAvLyBzdGFydGluZyBgL2Agb2YgdGhlIHBhdGhuYW1lLlxuICAgIHJldHVybiBpc0Z1bGx5UXVhbGlmaWVkVXJsXG4gICAgICA/IGltYWdlVXJsT2JqLmhyZWZcbiAgICAgIDogaW1hZ2VVcmxPYmoucGF0aG5hbWUuc3Vic3RyaW5nKDEpICsgaW1hZ2VVcmxPYmouc2VhcmNoO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZVBpY3R1cmVTaXplQ29uZmlncygpOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXSB7XG4gICAgbGV0IHBpY3R1cmVTaXplc0NvbmZpZztcblxuICAgIGlmICh0aGlzLnBpY3R1cmVTaXplc0NvbmZpZykge1xuICAgICAgcGljdHVyZVNpemVzQ29uZmlnID0gdGhpcy5waWN0dXJlU2l6ZXNDb25maWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRlZmF1bHQgY29uZmlnXG4gICAgICBwaWN0dXJlU2l6ZXNDb25maWcgPSBge1xuICAgICAgICBcImJyZWFrcG9pbnRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogNjc1LFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDEyMDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcIm1lZGlhUXVlcmllc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJtaW4td2lkdGhcIixcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcInNiYi1icmVha3BvaW50LWxhcmdlLW1pblwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbk9wZXJhdG9yXCI6IGZhbHNlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiaW1hZ2VcIjoge1xuICAgICAgICAgICAgICBcImhlaWdodFwiOiA1NDksXG4gICAgICAgICAgICAgIFwid2lkdGhcIjogOTc2XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgICAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1taWNyby1taW5cIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogMTgwLFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDMyMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1heC13aWR0aFwiLFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtemVyby1tYXhcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gaW1hZ2VIZWxwZXJHZXRCcmVha3BvaW50cyhwaWN0dXJlU2l6ZXNDb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTWVkaWFRdWVyeVN0cmluZyhcbiAgICBtZWRpYVF1ZXJpZXM6IEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnTWVkaWFRdWVyeVtdLFxuICApOiBzdHJpbmcge1xuICAgIGxldCBtZWRpYVF1ZXJ5ID0gJyc7XG5cbiAgICBtZWRpYVF1ZXJpZXMuZm9yRWFjaCgobXEpID0+IHtcbiAgICAgIGNvbnN0IG1xQ29uZGl0aW9uID0gbXEuY29uZGl0aW9uRmVhdHVyZTtcbiAgICAgIGxldCBtcVZhbHVlO1xuXG4gICAgICBpZiAobXEuY29uZGl0aW9uRmVhdHVyZVZhbHVlLmx5bmVEZXNpZ25Ub2tlbikge1xuICAgICAgICBtcVZhbHVlID0gdGhpcy5fbWF0Y2hNZWRpYVF1ZXJ5RGVzaWduVG9rZW4obXEuY29uZGl0aW9uRmVhdHVyZVZhbHVlLnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1xVmFsdWUgPSBtcS5jb25kaXRpb25GZWF0dXJlVmFsdWUudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1xQ29tYmluZXIgPSBtcS5jb25kaXRpb25PcGVyYXRvciA/IGAgJHttcS5jb25kaXRpb25PcGVyYXRvcn0gYCA6ICcnO1xuXG4gICAgICBtZWRpYVF1ZXJ5ICs9IGAoJHttcUNvbmRpdGlvbn06ICR7bXFWYWx1ZX0pJHttcUNvbWJpbmVyfWA7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVkaWFRdWVyeTtcbiAgfVxuXG4gIEBldmVudE9wdGlvbnMoZXZlbnRMaXN0ZW5lck9wdGlvbnMpXG4gIHByaXZhdGUgX2ltYWdlTG9hZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ1BlcmZvcm1hbmNlTWFya3MoKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1sb2FkZWQnLCB0cnVlKTtcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdsb2FkJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgbGV0IHsgY2FwdGlvbiB9ID0gdGhpcztcbiAgICBsZXQgc2NoZW1hRGF0YSA9ICcnO1xuXG4gICAgY29uc3QgaW1hZ2VVcmxMUUlQID0gdGhpcy5fcHJlcGFyZUltYWdlVXJsKHRoaXMuaW1hZ2VTcmMsIHRydWUpO1xuICAgIGNvbnN0IGltYWdlVXJsV2l0aFBhcmFtcyA9IHRoaXMuX3ByZXBhcmVJbWFnZVVybCh0aGlzLmltYWdlU3JjLCBmYWxzZSk7XG5cbiAgICBpZiAodGhpcy5sb2FkaW5nID09PSAnbGF6eScpIHtcbiAgICAgIHRoaXMuZGVjb2RpbmcgPSAnYXN5bmMnO1xuICAgICAgdGhpcy5pbXBvcnRhbmNlID0gJ2xvdyc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29weXJpZ2h0KSB7XG4gICAgICBjYXB0aW9uID0gYCR7dGhpcy5jYXB0aW9ufSDCqSR7dGhpcy5jb3B5cmlnaHR9YDtcbiAgICAgIHNjaGVtYURhdGEgPSBge1xuICAgICAgICBcIkBjb250ZXh0XCI6IFwiaHR0cHM6Ly9zY2hlbWEub3JnXCIsXG4gICAgICAgIFwiQHR5cGVcIjogXCJQaG90b2dyYXBoXCIsXG4gICAgICAgIFwiaW1hZ2VcIjogXCIke3RoaXMuaW1hZ2VTcmN9XCIsXG4gICAgICAgIFwiY29weXJpZ2h0SG9sZGVyXCI6IHtcbiAgICAgICAgICBcIkB0eXBlXCI6IFwiJHt0aGlzLmNvcHlyaWdodEhvbGRlcn1cIixcbiAgICAgICAgICBcIm5hbWVcIjogXCIke3RoaXMuY29weXJpZ2h0fVwiXG4gICAgICAgIH1cbiAgICAgIH1gO1xuICAgIH1cblxuICAgIGNvbnN0IHBpY3R1cmVTaXplQ29uZmlncyA9IHRoaXMuX3ByZXBhcmVQaWN0dXJlU2l6ZUNvbmZpZ3MoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBhbHQgYXR0cmlidXRlIHNob3VsZCBhbHdheXMgYmUgcHJlc2VudCBmb3IgdGhlIGltZyBlbGVtZW50LlxuICAgICAqIElmIGl0IGhhcyBhbiBlbXB0eSBzdHJpbmcgYXMgaXRzIHZhbHVlLCBpdCBpcyBzaW1wbHkgaWdub3JlZFxuICAgICAqIGJ5IGFzc2lzdGl2ZSB0ZWNobm9sb2dpZXMuIElmIHdlIGxlYXZlIGl0IG91dCBjb21wbGV0ZWx5LFxuICAgICAqIHRoZXkgbWlnaHQgdHJ5IHRvIGludGVycHJldCB0aGUgaW1nIGVsZW1lbnQuXG4gICAgICovXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZmlndXJlIGNsYXNzPVwic2JiLWltYWdlX19maWd1cmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1pbWFnZV9fd3JhcHBlclwiPlxuICAgICAgICAgICR7IXRoaXMuc2tpcExxaXBcbiAgICAgICAgICAgID8gaHRtbGA8aW1nXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1pbWFnZV9fYmx1cnJlZFwiXG4gICAgICAgICAgICAgICAgc3JjPSR7aW1hZ2VVcmxMUUlQfVxuICAgICAgICAgICAgICAgIHdpZHRoPVwiMTAwMFwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiNTYyXCJcbiAgICAgICAgICAgICAgICBsb2FkaW5nPSR7dGhpcy5sb2FkaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgICAgZGVjb2Rpbmc9JHt0aGlzLmRlY29kaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIC8+YFxuICAgICAgICAgICAgOiBub3RoaW5nfVxuXG4gICAgICAgICAgPHBpY3R1cmU+XG4gICAgICAgICAgICA8IS0tIHJlbmRlciBwaWN0dXJlIGVsZW1lbnQgc291cmNlcyAtLT5cbiAgICAgICAgICAgICR7cGljdHVyZVNpemVDb25maWdzLm1hcCgoY29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGltYWdlSGVpZ2h0ID0gY29uZmlnLmltYWdlLmhlaWdodDtcbiAgICAgICAgICAgICAgY29uc3QgaW1hZ2VXaWR0aCA9IGNvbmZpZy5pbWFnZS53aWR0aDtcbiAgICAgICAgICAgICAgY29uc3QgbWVkaWFRdWVyeSA9IHRoaXMuX2NyZWF0ZU1lZGlhUXVlcnlTdHJpbmcoY29uZmlnLm1lZGlhUXVlcmllcyk7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgaHRtbGAgPHNvdXJjZVxuICAgICAgICAgICAgICAgICAgbWVkaWE9JHtgJHttZWRpYVF1ZXJ5fWB9XG4gICAgICAgICAgICAgICAgICBzaXplcz0ke2Ake2ltYWdlV2lkdGh9cHhgfVxuICAgICAgICAgICAgICAgICAgc3Jjc2V0PSR7XG4gICAgICAgICAgICAgICAgICAgIGAke2ltYWdlVXJsV2l0aFBhcmFtc30mdz0ke2ltYWdlV2lkdGh9Jmg9JHtpbWFnZUhlaWdodH0mcT0ke3RoaXMuX2NvbmZpZy5ub25SZXRpbmFRdWFsaXR5fSAke2ltYWdlV2lkdGh9dywgYCArXG4gICAgICAgICAgICAgICAgICAgIGAke2ltYWdlVXJsV2l0aFBhcmFtc30mdz0ke2ltYWdlV2lkdGggKiAyfSZoPSR7aW1hZ2VIZWlnaHQgKiAyfSZxPSR7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29uZmlnLnJldGluYVF1YWxpdHlcbiAgICAgICAgICAgICAgICAgICAgfSAke2ltYWdlV2lkdGggKiAyfXdgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPjwvc291cmNlPmAsXG4gICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgYWx0PSR7dGhpcy5hbHQgfHwgJyd9XG4gICAgICAgICAgICAgIEBsb2FkPSR7dGhpcy5faW1hZ2VMb2FkZWR9XG4gICAgICAgICAgICAgIEBlcnJvcj0keygpID0+IHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Vycm9yJykpfVxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1pbWFnZV9faW1nXCJcbiAgICAgICAgICAgICAgc3JjPSR7dGhpcy5pbWFnZVNyYyF9XG4gICAgICAgICAgICAgIHdpZHRoPVwiMTAwMFwiXG4gICAgICAgICAgICAgIGhlaWdodD1cIjU2MlwiXG4gICAgICAgICAgICAgIGxvYWRpbmc9JHt0aGlzLmxvYWRpbmcgPz8gbm90aGluZ31cbiAgICAgICAgICAgICAgZGVjb2Rpbmc9JHt0aGlzLmRlY29kaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIC5mZXRjaFByaW9yaXR5PSR7dGhpcy5pbXBvcnRhbmNlID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvcGljdHVyZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICR7Y2FwdGlvblxuICAgICAgICAgID8gaHRtbGA8ZmlnY2FwdGlvblxuICAgICAgICAgICAgICBjbGFzcz1cInNiYi1pbWFnZV9fY2FwdGlvblwiXG4gICAgICAgICAgICAgIC5pbm5lckhUTUw9JHtjYXB0aW9ufVxuICAgICAgICAgICAgICAke3JlZigoZWwpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYXB0aW9uRWxlbWVudCA9IGVsIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgID48L2ZpZ2NhcHRpb24+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgJHtzY2hlbWFEYXRhXG4gICAgICAgICAgPyBodG1sYDxzY3JpcHQgdHlwZT1cImFwcGxpY2F0aW9uL2xkK2pzb25cIiAuaW5uZXJIVE1MPSR7c2NoZW1hRGF0YX0+PC9zY3JpcHQ+YFxuICAgICAgICAgIDogbm90aGluZ31cbiAgICAgIDwvZmlndXJlPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1pbWFnZSc6IFNiYkltYWdlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7O0FBc0JPLE1BQU0sdUJBQXVCO0FBQzdCLE1BQU0sdUJBQXVCO0FBQzdCLE1BQU0sd0JBQXdCO0FBQzlCLE1BQU0sd0JBQXdCO0FBQzlC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QUFBLG1CQUFBLENBQUE7QUFPOEQsZ0JBQUE7QUFBQSxFQUFwRSxTQUFTLEVBQUUsV0FBVyxzQkFBc0IsTUFBTSxTQUFTO0FBQUEsR0ExRGpELGdCQTBEMEQsV0FBQSxvQkFBQSxDQUFBO0FBU2xELGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBbkVDLGdCQW1FUSxXQUFBLFlBQUEsQ0FBQTtBQU1pRCxnQkFBQTtBQUFBLEVBQW5FLFNBQVMsRUFBRSxXQUFXLHFCQUFxQixNQUFNLFNBQVM7QUFBQSxHQXpFaEQsZ0JBeUV5RCxXQUFBLG1CQUFBLENBQUE7QUFLTCxnQkFBQTtBQUFBLEVBQTlELFNBQVMsRUFBRSxXQUFXLGlCQUFpQixNQUFNLFFBQVE7QUFBQSxHQTlFM0MsZ0JBOEVvRCxXQUFBLGVBQUEsQ0FBQTtBQUtBLGdCQUFBO0FBQUEsRUFBOUQsU0FBUyxFQUFFLFdBQVcsaUJBQWlCLE1BQU0sUUFBUTtBQUFBLEdBbkYzQyxnQkFtRm9ELFdBQUEsZUFBQSxDQUFBO0FBWWxCLGdCQUFBO0FBQUEsRUFBNUMsU0FBUyxFQUFFLFdBQVcsYUFBYTtBQUFBLEdBL0Z6QixnQkErRmtDLFdBQUEsWUFBQSxDQUFBO0FBVzFCLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBMUdDLGdCQTBHUSxXQUFBLGNBQUEsQ0FBQTtBQVlBLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBdEhDLGdCQXNIUSxXQUFBLFdBQUEsQ0FBQTtBQWVpQyxnQkFBQTtBQUFBLEVBQW5ELFNBQVMsRUFBRSxXQUFXLG9CQUFvQjtBQUFBLEdBckloQyxnQkFxSXlDLFdBQUEsbUJBQUEsQ0FBQTtBQXNFSSxnQkFBQTtBQUFBLEVBQXZELFNBQVMsRUFBRSxXQUFXLHdCQUF3QjtBQUFBLEdBM01wQyxnQkEyTTZDLFdBQUEsc0JBQUEsQ0FBQTtBQUtRLGdCQUFBO0FBQUEsRUFBL0QsU0FBUyxFQUFFLFdBQVcsaUJBQWlCLFNBQVMsTUFBTTtBQUFBLEdBaE41QyxnQkFnTnFELFdBQUEsZ0JBQUEsQ0FBQTtBQVd6RCxnQkFBQTtBQUFBLEVBRE4sU0FBUyxFQUFFLFdBQVcsZ0JBQWdCLFNBQVMsTUFBTTtBQUFBLEdBMU4zQyxnQkEyTkosV0FBQSxlQUFBLENBQUE7QUEwTUMsZ0JBQUE7QUFBQSxFQURQLGFBQWEsb0JBQW9CO0FBQUEsR0FwYXZCLGdCQXFhSCxXQUFBLGdCQUFBLENBQUE7QUFyYUcsa0JBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsV0FBVztBQUFBLEdBQ2IsZUFBQTsiLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMF19
|
|
@@ -7,20 +7,7 @@ import { SbbNegativeMixin } from "./core/mixins.js";
|
|
|
7
7
|
import "./icon.js";
|
|
8
8
|
import "./screen-reader-only.js";
|
|
9
9
|
import "./title.js";
|
|
10
|
-
const style = css`/**
|
|
11
|
-
* Better font rendering (on OS X)
|
|
12
|
-
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
13
|
-
*
|
|
14
|
-
* Usage:
|
|
15
|
-
*
|
|
16
|
-
* .var_dark_on_light {
|
|
17
|
-
* @include font-smoothing;
|
|
18
|
-
* }
|
|
19
|
-
* .var_light_on_dark {
|
|
20
|
-
* @include font-smoothing-reset;
|
|
21
|
-
* }
|
|
22
|
-
*/
|
|
23
|
-
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
10
|
+
const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
24
11
|
/*
|
|
25
12
|
* SBB table mixin
|
|
26
13
|
* Notes:
|
|
@@ -134,4 +121,4 @@ SbbJourneyHeaderElement = __decorateClass([
|
|
|
134
121
|
export {
|
|
135
122
|
SbbJourneyHeaderElement
|
|
136
123
|
};
|
|
137
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1oZWFkZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9qb3VybmV5LWhlYWRlci9qb3VybmV5LWhlYWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGdldERvY3VtZW50V3JpdGluZ01vZGUgfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQ29ubmVjdGlvbkZyb20sIGkxOG5Db25uZWN0aW9uUm91bmR0cmlwLCBpMThuQ29ubmVjdGlvblRvIH0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi90aXRsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2pvdXJuZXktaGVhZGVyLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vaWNvbi5qcyc7XG5pbXBvcnQgJy4uL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5pbXBvcnQgJy4uL3RpdGxlLmpzJztcblxuZXhwb3J0IHR5cGUgSm91cm5leUhlYWRlclNpemUgPSAncycgfCAnbScgfCAnbCc7XG5cbmNvbnN0IHNpemVUb0xldmVsOiBNYXA8Sm91cm5leUhlYWRlclNpemUsIHN0cmluZz4gPSBuZXcgTWFwPEpvdXJuZXlIZWFkZXJTaXplLCBzdHJpbmc+KFtcbiAgWydzJywgJzYnXSxcbiAgWydtJywgJzUnXSxcbiAgWydsJywgJzQnXSxcbl0pO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggdGhlIGBzYmItam91cm5leS1zdW1tYXJ5YCwgaXQgZGlzcGxheXMgdGhlIGpvdXJuZXkncyBkZXRhaWwuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItam91cm5leS1oZWFkZXInKVxuZXhwb3J0IGNsYXNzIFNiYkpvdXJuZXlIZWFkZXJFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBPcmlnaW4gbG9jYXRpb24gZm9yIHRoZSBqb3VybmV5IGhlYWRlci4gKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIG9yaWdpbiE6IHN0cmluZztcblxuICAvKiogRGVzdGluYXRpb24gbG9jYXRpb24gZm9yIHRoZSBqb3VybmV5IGhlYWRlci4gKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGRlc3RpbmF0aW9uITogc3RyaW5nO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBqb3VybmV5IGlzIGEgcm91bmQgdHJpcC4gSWYgc28sIHRoZSBpY29uIGNoYW5nZXMgdG8gYSByb3VuZC10cmlwIG9uZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncm91bmQtdHJpcCcsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIHJvdW5kVHJpcD86IGJvb2xlYW47XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWwgb2YgdGhlIGpvdXJuZXkgaGVhZGVyIGVsZW1lbnQgKGUuZy4gaDEtaDYpLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgbGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMyc7XG5cbiAgLyoqIEpvdXJuZXkgaGVhZGVyIHNpemUuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHNpemU6IEpvdXJuZXlIZWFkZXJTaXplID0gJ20nO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBpY29uTmFtZSA9IHRoaXMucm91bmRUcmlwID8gJ2Fycm93cy1sb25nLXJpZ2h0LWxlZnQtc21hbGwnIDogJ2Fycm93LWxvbmctcmlnaHQtc21hbGwnO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2JiLXRpdGxlXG4gICAgICAgIGxldmVsPSR7dGhpcy5sZXZlbCB8fCBub3RoaW5nfVxuICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfVxuICAgICAgICB2aXN1YWwtbGV2ZWw9JHtzaXplVG9MZXZlbC5nZXQodGhpcy5zaXplKSF9XG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWpvdXJuZXktaGVhZGVyXCIgZGlyPSR7Z2V0RG9jdW1lbnRXcml0aW5nTW9kZSgpfT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1qb3VybmV5LWhlYWRlcl9fb3JpZ2luXCI+XG4gICAgICAgICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgJHtpMThuQ29ubmVjdGlvbkZyb21bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19Jm5ic3A7XG4gICAgICAgICAgICA8L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAke3RoaXMub3JpZ2lufVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c2JiLWljb24gbmFtZT0ke2ljb25OYW1lfT48L3NiYi1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWpvdXJuZXktaGVhZGVyX19kZXN0aW5hdGlvblwiPlxuICAgICAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICZuYnNwOyR7aTE4bkNvbm5lY3Rpb25Ub1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0mbmJzcDtcbiAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICR7dGhpcy5kZXN0aW5hdGlvbn1cbiAgICAgICAgICAgICR7dGhpcy5yb3VuZFRyaXBcbiAgICAgICAgICAgICAgPyBodG1sYCA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgICAgICR7aTE4bkNvbm5lY3Rpb25Sb3VuZHRyaXAodGhpcy5vcmlnaW4pW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L3NwYW4+
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5leS1oZWFkZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9qb3VybmV5LWhlYWRlci9qb3VybmV5LWhlYWRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50LCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGdldERvY3VtZW50V3JpdGluZ01vZGUgfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQ29ubmVjdGlvbkZyb20sIGkxOG5Db25uZWN0aW9uUm91bmR0cmlwLCBpMThuQ29ubmVjdGlvblRvIH0gZnJvbSAnLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi90aXRsZS5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2pvdXJuZXktaGVhZGVyLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vaWNvbi5qcyc7XG5pbXBvcnQgJy4uL3NjcmVlbi1yZWFkZXItb25seS5qcyc7XG5pbXBvcnQgJy4uL3RpdGxlLmpzJztcblxuZXhwb3J0IHR5cGUgSm91cm5leUhlYWRlclNpemUgPSAncycgfCAnbScgfCAnbCc7XG5cbmNvbnN0IHNpemVUb0xldmVsOiBNYXA8Sm91cm5leUhlYWRlclNpemUsIHN0cmluZz4gPSBuZXcgTWFwPEpvdXJuZXlIZWFkZXJTaXplLCBzdHJpbmc+KFtcbiAgWydzJywgJzYnXSxcbiAgWydtJywgJzUnXSxcbiAgWydsJywgJzQnXSxcbl0pO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggdGhlIGBzYmItam91cm5leS1zdW1tYXJ5YCwgaXQgZGlzcGxheXMgdGhlIGpvdXJuZXkncyBkZXRhaWwuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItam91cm5leS1oZWFkZXInKVxuZXhwb3J0IGNsYXNzIFNiYkpvdXJuZXlIZWFkZXJFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBPcmlnaW4gbG9jYXRpb24gZm9yIHRoZSBqb3VybmV5IGhlYWRlci4gKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIG9yaWdpbiE6IHN0cmluZztcblxuICAvKiogRGVzdGluYXRpb24gbG9jYXRpb24gZm9yIHRoZSBqb3VybmV5IGhlYWRlci4gKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGRlc3RpbmF0aW9uITogc3RyaW5nO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBqb3VybmV5IGlzIGEgcm91bmQgdHJpcC4gSWYgc28sIHRoZSBpY29uIGNoYW5nZXMgdG8gYSByb3VuZC10cmlwIG9uZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncm91bmQtdHJpcCcsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIHJvdW5kVHJpcD86IGJvb2xlYW47XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWwgb2YgdGhlIGpvdXJuZXkgaGVhZGVyIGVsZW1lbnQgKGUuZy4gaDEtaDYpLiAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgbGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMyc7XG5cbiAgLyoqIEpvdXJuZXkgaGVhZGVyIHNpemUuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIHNpemU6IEpvdXJuZXlIZWFkZXJTaXplID0gJ20nO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBpY29uTmFtZSA9IHRoaXMucm91bmRUcmlwID8gJ2Fycm93cy1sb25nLXJpZ2h0LWxlZnQtc21hbGwnIDogJ2Fycm93LWxvbmctcmlnaHQtc21hbGwnO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2JiLXRpdGxlXG4gICAgICAgIGxldmVsPSR7dGhpcy5sZXZlbCB8fCBub3RoaW5nfVxuICAgICAgICA/bmVnYXRpdmU9JHt0aGlzLm5lZ2F0aXZlfVxuICAgICAgICB2aXN1YWwtbGV2ZWw9JHtzaXplVG9MZXZlbC5nZXQodGhpcy5zaXplKSF9XG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWpvdXJuZXktaGVhZGVyXCIgZGlyPSR7Z2V0RG9jdW1lbnRXcml0aW5nTW9kZSgpfT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1qb3VybmV5LWhlYWRlcl9fb3JpZ2luXCI+XG4gICAgICAgICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgJHtpMThuQ29ubmVjdGlvbkZyb21bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19Jm5ic3A7XG4gICAgICAgICAgICA8L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAke3RoaXMub3JpZ2lufVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c2JiLWljb24gbmFtZT0ke2ljb25OYW1lfT48L3NiYi1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWpvdXJuZXktaGVhZGVyX19kZXN0aW5hdGlvblwiPlxuICAgICAgICAgICAgPHNiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgICAgICAgICAgICZuYnNwOyR7aTE4bkNvbm5lY3Rpb25Ub1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX0mbmJzcDtcbiAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICR7dGhpcy5kZXN0aW5hdGlvbn1cbiAgICAgICAgICAgICR7dGhpcy5yb3VuZFRyaXBcbiAgICAgICAgICAgICAgPyBodG1sYCA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICAgICAgICAgICR7aTE4bkNvbm5lY3Rpb25Sb3VuZHRyaXAodGhpcy5vcmlnaW4pW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgIDwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5gXG4gICAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc2JiLXRpdGxlPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1qb3VybmV5LWhlYWRlcic6IFNiYkpvdXJuZXlIZWFkZXJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQkEsTUFBTSxrQ0FBa0QsSUFBK0I7QUFBQSxFQUNyRixDQUFDLEtBQUssR0FBRztBQUFBLEVBQ1QsQ0FBQyxLQUFLLEdBQUc7QUFBQSxFQUNULENBQUMsS0FBSyxHQUFHO0FBQ1gsQ0FBQztBQU1NLElBQU0sMEJBQU4sY0FBc0MsaUJBQWlCLFVBQVUsRUFBRTtBQUFBLEVBQW5FLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQWFPLFNBQU8sUUFBdUI7QUFHYixTQUFPLE9BQTBCO0FBRXRELFNBQUEsWUFBWSxJQUFJLHNCQUFzQixJQUFJO0FBQUEsRUFBQTtBQUFBLEVBRS9CLFNBQXlCO0FBQ3BDLFVBQUEsV0FBVyxLQUFLLFlBQVksaUNBQWlDO0FBRTVELFdBQUE7QUFBQTtBQUFBLGdCQUVLLEtBQUssU0FBUyxPQUFPO0FBQUEsb0JBQ2pCLEtBQUssUUFBUTtBQUFBLHVCQUNWLFlBQVksSUFBSSxLQUFLLElBQUksQ0FBRTtBQUFBO0FBQUEsK0NBRUgsd0JBQXdCO0FBQUE7QUFBQTtBQUFBLGdCQUd2RCxtQkFBbUIsS0FBSyxVQUFVLE9BQU8sQ0FBQztBQUFBO0FBQUEsY0FFNUMsS0FBSyxNQUFNO0FBQUE7QUFBQSwyQkFFRSxRQUFRO0FBQUE7QUFBQTtBQUFBLHNCQUdiLGlCQUFpQixLQUFLLFVBQVUsT0FBTyxDQUFDO0FBQUE7QUFBQSxjQUVoRCxLQUFLLFdBQVc7QUFBQSxjQUNoQixLQUFLLFlBQ0g7QUFBQSxvQkFDSSx3QkFBd0IsS0FBSyxNQUFNLEVBQUUsS0FBSyxVQUFVLE9BQU8sQ0FBQztBQUFBLDZDQUVoRSxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtyQjtBQUNGO0FBcERhLHdCQUNZLFNBQXlCO0FBRzdCLGdCQUFBO0FBQUEsRUFBbEIsU0FBUztBQUFBLEdBSkMsd0JBSVEsV0FBQSxVQUFBLENBQUE7QUFHQSxnQkFBQTtBQUFBLEVBQWxCLFNBQVM7QUFBQSxHQVBDLHdCQU9RLFdBQUEsZUFBQSxDQUFBO0FBRzBDLGdCQUFBO0FBQUEsRUFBNUQsU0FBUyxFQUFFLFdBQVcsY0FBYyxNQUFNLFNBQVM7QUFBQSxHQVZ6Qyx3QkFVa0QsV0FBQSxhQUFBLENBQUE7QUFHMUMsZ0JBQUE7QUFBQSxFQUFsQixTQUFTO0FBQUEsR0FiQyx3QkFhUSxXQUFBLFNBQUEsQ0FBQTtBQUdpQixnQkFBQTtBQUFBLEVBQW5DLFNBQVMsRUFBRSxTQUFTLE1BQU07QUFBQSxHQWhCaEIsd0JBZ0J5QixXQUFBLFFBQUEsQ0FBQTtBQWhCekIsMEJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsb0JBQW9CO0FBQUEsR0FDdEIsdUJBQUE7In0=
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import { css, LitElement, html } from "lit";
|
|
2
2
|
import { customElement } from "lit/decorators.js";
|
|
3
|
-
const style = css`/**
|
|
4
|
-
* Better font rendering (on OS X)
|
|
5
|
-
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
6
|
-
*
|
|
7
|
-
* Usage:
|
|
8
|
-
*
|
|
9
|
-
* .var_dark_on_light {
|
|
10
|
-
* @include font-smoothing;
|
|
11
|
-
* }
|
|
12
|
-
* .var_light_on_dark {
|
|
13
|
-
* @include font-smoothing-reset;
|
|
14
|
-
* }
|
|
15
|
-
*/
|
|
16
|
-
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
3
|
+
const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
17
4
|
/*
|
|
18
5
|
* SBB table mixin
|
|
19
6
|
* Notes:
|
|
@@ -174,4 +161,4 @@ SbbLeadContainerElement = __decorateClass([
|
|
|
174
161
|
export {
|
|
175
162
|
SbbLeadContainerElement
|
|
176
163
|
};
|
|
177
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1jb250YWluZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9sZWFkLWNvbnRhaW5lci9sZWFkLWNvbnRhaW5lci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCBMaXRFbGVtZW50LCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2xlYWQtY29udGFpbmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogVGhlIGBzYmItbGVhZC1jb250YWluZXJgIGNhbiBiZSB1c2VkIGZvciBwcm9kdWN0IHBhZ2VzIHRvIGRpc3BsYXkgYSBsZWFkIGltYWdlIGFuZCBmb2xsb3dpbmcgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhbnkgY29udGVudCB0byB0aGUgY29udGFpbmVyLlxuICogQHNsb3QgaW1hZ2UgLSBVc2UgdGhlIGltYWdlIHNsb3QgdG8gcHJvdmlkZSB0aGUgbGVhZCBpbWFnZS5cbiAqIGBzYmItaW1hZ2VgLCBgaW1nYCBhbmQgYHBpY3R1cmVgIGVsZW1lbnRzIGFyZSBzdXBwb3J0ZWQuXG4gKiBGb3Igb3RoZXIgZWxlbWVudHMgdGhlIGFzcGVjdCByYXRpbyBoYXMgdG8gYmUgc2V0IG1hbnVhbGx5LlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWxlYWQtY29udGFpbmVyJylcbmV4cG9ydCBjbGFzcyBTYmJMZWFkQ29udGFpbmVyRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbGVhZC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1pbWFnZVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJpbWFnZVwiPjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQ29udGVudCB3cmFwcGVyIG5lZWRlZCBiZWNhdXNlIGdyaWQgbmVlZHMgdG8gYmUgYXBwbGllZCBidXQgY29udGFpbmVyIGltYWdlIHNob3VsZCBub3QgYmUgdG91Y2hlZCBieSBncmlkLiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWxlYWQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+
|
|
164
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1jb250YWluZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9sZWFkLWNvbnRhaW5lci9sZWFkLWNvbnRhaW5lci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCBMaXRFbGVtZW50LCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2xlYWQtY29udGFpbmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogVGhlIGBzYmItbGVhZC1jb250YWluZXJgIGNhbiBiZSB1c2VkIGZvciBwcm9kdWN0IHBhZ2VzIHRvIGRpc3BsYXkgYSBsZWFkIGltYWdlIGFuZCBmb2xsb3dpbmcgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhbnkgY29udGVudCB0byB0aGUgY29udGFpbmVyLlxuICogQHNsb3QgaW1hZ2UgLSBVc2UgdGhlIGltYWdlIHNsb3QgdG8gcHJvdmlkZSB0aGUgbGVhZCBpbWFnZS5cbiAqIGBzYmItaW1hZ2VgLCBgaW1nYCBhbmQgYHBpY3R1cmVgIGVsZW1lbnRzIGFyZSBzdXBwb3J0ZWQuXG4gKiBGb3Igb3RoZXIgZWxlbWVudHMgdGhlIGFzcGVjdCByYXRpbyBoYXMgdG8gYmUgc2V0IG1hbnVhbGx5LlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWxlYWQtY29udGFpbmVyJylcbmV4cG9ydCBjbGFzcyBTYmJMZWFkQ29udGFpbmVyRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbGVhZC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1pbWFnZVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJpbWFnZVwiPjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQ29udGVudCB3cmFwcGVyIG5lZWRlZCBiZWNhdXNlIGdyaWQgbmVlZHMgdG8gYmUgYXBwbGllZCBidXQgY29udGFpbmVyIGltYWdlIHNob3VsZCBub3QgYmUgdG91Y2hlZCBieSBncmlkLiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWxlYWQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbGVhZC1jb250YWluZXInOiBTYmJMZWFkQ29udGFpbmVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjYSxJQUFBLDBCQUFOLGNBQXNDLFdBQVc7QUFBQSxFQUduQyxTQUF5QjtBQUNuQyxXQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFhVDtBQUNGO0FBbEJhLHdCQUNZLFNBQXlCO0FBRHJDLDBCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLG9CQUFvQjtBQUFBLEdBQ3RCLHVCQUFBOyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { customElement } from "lit/decorators.js";
|
|
2
2
|
import { SbbButtonBaseElement } from "../core/base-elements.js";
|
|
3
|
-
import {
|
|
3
|
+
import { SbbFocusableDisabledActionMixin } from "../core/mixins.js";
|
|
4
4
|
import { SbbBlockLinkCommonElementMixin } from "./common.js";
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
6
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -13,7 +13,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
13
13
|
return result;
|
|
14
14
|
};
|
|
15
15
|
let SbbBlockLinkButtonElement = class extends SbbBlockLinkCommonElementMixin(
|
|
16
|
-
|
|
16
|
+
SbbFocusableDisabledActionMixin(SbbButtonBaseElement)
|
|
17
17
|
) {
|
|
18
18
|
};
|
|
19
19
|
SbbBlockLinkButtonElement = __decorateClass([
|
|
@@ -22,4 +22,4 @@ SbbBlockLinkButtonElement = __decorateClass([
|
|
|
22
22
|
export {
|
|
23
23
|
SbbBlockLinkButtonElement
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stbGluay1idXR0b24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9saW5rL2Jsb2NrLWxpbmstYnV0dG9uL2Jsb2NrLWxpbmstYnV0dG9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkZvY3VzYWJsZURpc2FibGVkQWN0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGluayBlbmhhbmNlZCB3aXRoIHRoZSBTQkIgRGVzaWduLCB3aGljaCB3aWxsIGJlaGF2ZSBhcyBhIGJ1dHRvbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWJsb2NrLWxpbmstYnV0dG9uYC5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbiwgaWYgb25lIGlzIHNldC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1ibG9jay1saW5rLWJ1dHRvbicpXG5leHBvcnQgY2xhc3MgU2JiQmxvY2tMaW5rQnV0dG9uRWxlbWVudCBleHRlbmRzIFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiRm9jdXNhYmxlRGlzYWJsZWRBY3Rpb25NaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCksXG4pIHt9XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYmxvY2stbGluay1idXR0b24nOiBTYmJCbG9ja0xpbmtCdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFhTyxJQUFNLDRCQUFOLGNBQXdDO0FBQUEsRUFDN0MsZ0NBQWdDLG9CQUFvQjtBQUN0RCxFQUFFO0FBQUM7QUFGVSw0QkFBTixnQkFBQTtBQUFBLEVBRE4sY0FBYyx1QkFBdUI7QUFBQSxHQUN6Qix5QkFBQTsifQ==
|
|
@@ -4,20 +4,7 @@ import { SbbIconNameMixin } from "../icon.js";
|
|
|
4
4
|
import { hostAttributes, slotState } from "../core/decorators.js";
|
|
5
5
|
import { SbbNegativeMixin } from "../core/mixins.js";
|
|
6
6
|
import { css } from "lit";
|
|
7
|
-
const style = css`/**
|
|
8
|
-
* Better font rendering (on OS X)
|
|
9
|
-
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
10
|
-
*
|
|
11
|
-
* Usage:
|
|
12
|
-
*
|
|
13
|
-
* .var_dark_on_light {
|
|
14
|
-
* @include font-smoothing;
|
|
15
|
-
* }
|
|
16
|
-
* .var_light_on_dark {
|
|
17
|
-
* @include font-smoothing-reset;
|
|
18
|
-
* }
|
|
19
|
-
*/
|
|
20
|
-
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
7
|
+
const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
21
8
|
/*
|
|
22
9
|
* SBB table mixin
|
|
23
10
|
* Notes:
|
|
@@ -114,20 +101,7 @@ const SbbLinkCommonElementMixin = (superClass) => {
|
|
|
114
101
|
], SbbLinkCommonElement);
|
|
115
102
|
return SbbLinkCommonElement;
|
|
116
103
|
};
|
|
117
|
-
const blockStyle = css`/**
|
|
118
|
-
* Better font rendering (on OS X)
|
|
119
|
-
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
120
|
-
*
|
|
121
|
-
* Usage:
|
|
122
|
-
*
|
|
123
|
-
* .var_dark_on_light {
|
|
124
|
-
* @include font-smoothing;
|
|
125
|
-
* }
|
|
126
|
-
* .var_light_on_dark {
|
|
127
|
-
* @include font-smoothing-reset;
|
|
128
|
-
* }
|
|
129
|
-
*/
|
|
130
|
-
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
104
|
+
const blockStyle = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
131
105
|
/*
|
|
132
106
|
* SBB table mixin
|
|
133
107
|
* Notes:
|
|
@@ -225,20 +199,7 @@ const SbbBlockLinkCommonElementMixin = (superClass) => {
|
|
|
225
199
|
], SbbBlockLinkCommonElement.prototype, "iconPlacement");
|
|
226
200
|
return SbbBlockLinkCommonElement;
|
|
227
201
|
};
|
|
228
|
-
const inlineStyle = css`/**
|
|
229
|
-
* Better font rendering (on OS X)
|
|
230
|
-
* http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
|
|
231
|
-
*
|
|
232
|
-
* Usage:
|
|
233
|
-
*
|
|
234
|
-
* .var_dark_on_light {
|
|
235
|
-
* @include font-smoothing;
|
|
236
|
-
* }
|
|
237
|
-
* .var_light_on_dark {
|
|
238
|
-
* @include font-smoothing-reset;
|
|
239
|
-
* }
|
|
240
|
-
*/
|
|
241
|
-
/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
202
|
+
const inlineStyle = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
|
|
242
203
|
/*
|
|
243
204
|
* SBB table mixin
|
|
244
205
|
* Notes:
|
|
@@ -285,4 +246,4 @@ export {
|
|
|
285
246
|
SbbInlineLinkCommonElementMixin,
|
|
286
247
|
SbbLinkCommonElementMixin
|
|
287
248
|
};
|
|
288
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vbGluay1jb21tb24udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vYmxvY2stbGluay1jb21tb24udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vaW5saW5lLWxpbmstY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMsIHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBTYmJOZWdhdGl2ZU1peGluLFxuICB0eXBlIFNiYk5lZ2F0aXZlTWl4aW5UeXBlLFxuICB0eXBlIEFic3RyYWN0Q29uc3RydWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgdHlwZSBTYmJMaW5rU2l6ZSA9ICd4cycgfCAncycgfCAnbSc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpblR5cGUge1xuICBwdWJsaWMgc2l6ZT86IFNiYkxpbmtTaXplO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgQGhvc3RBdHRyaWJ1dGVzKHsgJ2RhdGEtc2JiLWxpbmsnOiAnJyB9KVxuICBAc2xvdFN0YXRlKClcbiAgYWJzdHJhY3QgY2xhc3MgU2JiTGlua0NvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAgIC8qKlxuICAgICAqIFRleHQgc2l6ZSwgdGhlIGxpbmsgc2hvdWxkIGdldCBpbiB0aGUgbm9uLWJ1dHRvbiB2YXJpYXRpb24uXG4gICAgICogV2l0aCBpbmxpbmUgdmFyaWFudCwgdGhlIHRleHQgc2l6ZSBhZGFwdHMgdG8gd2hlcmUgaXQgaXMgdXNlZC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBzaXplOiBTYmJMaW5rU2l6ZSA9ICdzJztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkxpbmtDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUO1xufTtcbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJJY29uUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiwgdHlwZSBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSB9IGZyb20gJy4vbGluay1jb21tb24uanMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L29yZGVyXG5pbXBvcnQgYmxvY2tTdHlsZSBmcm9tICcuL2Jsb2NrLWxpbmsuc2Nzcz9saXQmaW5saW5lJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL2xpbmsuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIHtcbiAgcHVibGljIGljb25OYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgaWNvblBsYWNlbWVudD86IFNiYkljb25QbGFjZW1lbnQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQWN0aW9uQmFzZUVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbihTYmJJY29uTmFtZU1peGluKHN1cGVyQ2xhc3MpKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3N0eWxlLCBibG9ja1N0eWxlXTtcblxuICAgIC8qKiBNb3ZlcyB0aGUgaWNvbiB0byB0aGUgZW5kIG9mIHRoZSBjb21wb25lbnQgaWYgc2V0IHRvIHRydWUuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaWNvbi1wbGFjZW1lbnQnLCByZWZsZWN0OiB0cnVlIH0pXG4gICAgcHVibGljIGljb25QbGFjZW1lbnQ/OiBTYmJJY29uUGxhY2VtZW50ID0gJ3N0YXJ0JztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbGlua19faWNvblwiPiAke3N1cGVyLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiwgdHlwZSBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSB9IGZyb20gJy4vbGluay1jb21tb24uanMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L29yZGVyXG5pbXBvcnQgaW5saW5lU3R5bGUgZnJvbSAnLi9pbmxpbmUtbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIHt9XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+
|
|
249
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vbGluay1jb21tb24udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vYmxvY2stbGluay1jb21tb24udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGluay9jb21tb24vaW5saW5lLWxpbmstY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgaG9zdEF0dHJpYnV0ZXMsIHNsb3RTdGF0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQge1xuICBTYmJOZWdhdGl2ZU1peGluLFxuICB0eXBlIFNiYk5lZ2F0aXZlTWl4aW5UeXBlLFxuICB0eXBlIEFic3RyYWN0Q29uc3RydWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgdHlwZSBTYmJMaW5rU2l6ZSA9ICd4cycgfCAncycgfCAnbSc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpblR5cGUge1xuICBwdWJsaWMgc2l6ZT86IFNiYkxpbmtTaXplO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgQGhvc3RBdHRyaWJ1dGVzKHsgJ2RhdGEtc2JiLWxpbmsnOiAnJyB9KVxuICBAc2xvdFN0YXRlKClcbiAgYWJzdHJhY3QgY2xhc3MgU2JiTGlua0NvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAgIC8qKlxuICAgICAqIFRleHQgc2l6ZSwgdGhlIGxpbmsgc2hvdWxkIGdldCBpbiB0aGUgbm9uLWJ1dHRvbiB2YXJpYXRpb24uXG4gICAgICogV2l0aCBpbmxpbmUgdmFyaWFudCwgdGhlIHRleHQgc2l6ZSBhZGFwdHMgdG8gd2hlcmUgaXQgaXMgdXNlZC5cbiAgICAgKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBzaXplOiBTYmJMaW5rU2l6ZSA9ICdzJztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkxpbmtDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUO1xufTtcbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJJY29uUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiwgdHlwZSBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSB9IGZyb20gJy4vbGluay1jb21tb24uanMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L29yZGVyXG5pbXBvcnQgYmxvY2tTdHlsZSBmcm9tICcuL2Jsb2NrLWxpbmsuc2Nzcz9saXQmaW5saW5lJztcbmltcG9ydCBzdHlsZSBmcm9tICcuL2xpbmsuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIHtcbiAgcHVibGljIGljb25OYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgaWNvblBsYWNlbWVudD86IFNiYkljb25QbGFjZW1lbnQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQWN0aW9uQmFzZUVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiQmxvY2tMaW5rQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbihTYmJJY29uTmFtZU1peGluKHN1cGVyQ2xhc3MpKVxuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPlxuICB7XG4gICAgcHVibGljIHN0YXRpYyBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3N0eWxlLCBibG9ja1N0eWxlXTtcblxuICAgIC8qKiBNb3ZlcyB0aGUgaWNvbiB0byB0aGUgZW5kIG9mIHRoZSBjb21wb25lbnQgaWYgc2V0IHRvIHRydWUuICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaWNvbi1wbGFjZW1lbnQnLCByZWZsZWN0OiB0cnVlIH0pXG4gICAgcHVibGljIGljb25QbGFjZW1lbnQ/OiBTYmJJY29uUGxhY2VtZW50ID0gJ3N0YXJ0JztcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbGlua19faWNvblwiPiAke3N1cGVyLnJlbmRlckljb25TbG90KCl9IDwvc3Bhbj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgYDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0NvbW1vbkVsZW1lbnRNaXhpbiwgdHlwZSBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSB9IGZyb20gJy4vbGluay1jb21tb24uanMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L29yZGVyXG5pbXBvcnQgaW5saW5lU3R5bGUgZnJvbSAnLi9pbmxpbmUtbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGluay5zY3NzP2xpdCZpbmxpbmUnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZSBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlIHt9XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4sXG4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnRcbiAgICBleHRlbmRzIFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbc3R5bGUsIGlubGluZVN0eWxlXTtcbiAgfVxuICByZXR1cm4gU2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYklubGluZUxpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOlsiX19kZWNvcmF0ZUNsYXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCYSxNQUFBLDRCQUE0QixDQUN2QyxlQUMyRDtBQUczRCxNQUFlLHVCQUFmLGNBQ1UsaUJBQWlCLFVBQVUsRUFFckM7QUFBQSxJQUhBLGNBQUE7QUFBQSxZQUFBLEdBQUEsU0FBQTtBQVUrQixXQUFPLE9BQW9CO0FBQUEsSUFBQTtBQUFBLElBRXJDLGlCQUFpQztBQUMzQyxhQUFBO0FBQUEsSUFDVDtBQUFBLEVBQUE7QUFkYSx1QkFJQyxTQUF5QjtBQU1IQSxvQkFBQTtBQUFBLElBQW5DLFNBQVMsRUFBRSxTQUFTLE1BQU07QUFBQSxFQUFBLEdBVmQscUJBVXVCLFdBQUEsUUFBQSxDQUFBO0FBVnRDLHlCQUFBQSxrQkFBQTtBQUFBLElBRkMsZUFBZSxFQUFFLGlCQUFpQixJQUFJO0FBQUEsSUFDdEMsVUFBVTtBQUFBLEVBQ0ksR0FBQSxvQkFBQTtBQWdCUixTQUFBO0FBQ1Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN2QmEsTUFBQSxpQ0FBaUMsQ0FDNUMsZUFDZ0U7QUFDaEUsUUFBZSw2QkFBZixNQUFlLG1DQUNMLDBCQUEwQixpQkFBaUIsVUFBVSxDQUFDLEVBRWhFO0FBQUEsSUFIQSxjQUFBO0FBQUEsWUFBQSxHQUFBLFNBQUE7QUFRRSxXQUFPLGdCQUFtQztBQUFBLElBQUE7QUFBQSxJQUV2QixpQkFBaUM7QUFDM0MsYUFBQTtBQUFBLHdDQUMyQixNQUFNLGdCQUFnQjtBQUFBO0FBQUE7QUFBQSxJQUcxRDtBQUFBLEVBQ0Y7QUFaZ0IsNkJBQUEsU0FBeUIsQ0FBQyxPQUFPLFVBQVU7QUFKM0QsTUFBZSw0QkFBZjtBQVFTLGtCQUFBO0FBQUEsSUFETixTQUFTLEVBQUUsV0FBVyxrQkFBa0IsU0FBUyxNQUFNO0FBQUEsRUFBQSxHQVAzQywwQkFRTixXQUFBLGVBQUE7QUFTRixTQUFBO0FBRVQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzdCYSxNQUFBLGtDQUFrQyxDQUc3QyxlQUNpRTtBQUNqRSxRQUFlLDhCQUFmLE1BQWUsb0NBQ0wsMEJBQTBCLFVBQVUsRUFFOUM7QUFBQSxFQUVBO0FBRGdCLDhCQUFBLFNBQXlCLENBQUMsT0FBTyxXQUFXO0FBSjVELE1BQWUsNkJBQWY7QUFNTyxTQUFBO0FBRVQ7In0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { customElement } from "lit/decorators.js";
|
|
2
2
|
import { SbbButtonBaseElement } from "../core/base-elements.js";
|
|
3
|
-
import {
|
|
3
|
+
import { SbbFocusableDisabledActionMixin } from "../core/mixins.js";
|
|
4
4
|
import { SbbInlineLinkCommonElementMixin } from "./common.js";
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
6
6
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -13,7 +13,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
13
13
|
return result;
|
|
14
14
|
};
|
|
15
15
|
let SbbLinkButtonElement = class extends SbbInlineLinkCommonElementMixin(
|
|
16
|
-
|
|
16
|
+
SbbFocusableDisabledActionMixin(SbbButtonBaseElement)
|
|
17
17
|
) {
|
|
18
18
|
};
|
|
19
19
|
SbbLinkButtonElement = __decorateClass([
|
|
@@ -22,4 +22,4 @@ SbbLinkButtonElement = __decorateClass([
|
|
|
22
22
|
export {
|
|
23
23
|
SbbLinkButtonElement
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1idXR0b24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9saW5rL2xpbmstYnV0dG9uL2xpbmstYnV0dG9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYkZvY3VzYWJsZURpc2FibGVkQWN0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJbmxpbmVMaW5rQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpbmsgZW5oYW5jZWQgd2l0aCB0aGUgU0JCIERlc2lnbiwgd2hpY2ggd2lsbCBiZWhhdmUgYXMgYSBidXR0b24uXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1saW5rLWJ1dHRvbmAuXG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItbGluay1idXR0b24nKVxuZXhwb3J0IGNsYXNzIFNiYkxpbmtCdXR0b25FbGVtZW50IGV4dGVuZHMgU2JiSW5saW5lTGlua0NvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiRm9jdXNhYmxlRGlzYWJsZWRBY3Rpb25NaXhpbihTYmJCdXR0b25CYXNlRWxlbWVudCksXG4pIHt9XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbGluay1idXR0b24nOiBTYmJMaW5rQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBWU8sSUFBTSx1QkFBTixjQUFtQztBQUFBLEVBQ3hDLGdDQUFnQyxvQkFBb0I7QUFDdEQsRUFBRTtBQUFDO0FBRlUsdUJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsaUJBQWlCO0FBQUEsR0FDbkIsb0JBQUE7In0=
|