@ultraviolet/plus 0.15.0 → 0.15.2
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/dist/components/CodeEditor/CodeEditor.d.ts +14 -0
- package/dist/components/CodeEditor/CodeEditor.js +36 -0
- package/dist/components/CodeEditor/index.d.ts +1 -0
- package/dist/components/ContentCard/Skeleton.d.ts +5 -0
- package/dist/components/ContentCard/Skeleton.js +41 -0
- package/dist/components/ContentCard/index.d.ts +33 -0
- package/dist/components/ContentCard/index.js +152 -0
- package/dist/components/ContentCardGroup/Card.d.ts +11 -0
- package/dist/components/ContentCardGroup/Card.js +91 -0
- package/dist/components/ContentCardGroup/SkeletonCard.d.ts +1 -0
- package/dist/components/ContentCardGroup/SkeletonCard.js +32 -0
- package/dist/components/ContentCardGroup/index.d.ts +16 -0
- package/dist/components/ContentCardGroup/index.js +31 -0
- package/dist/components/Conversation/index.d.ts +35 -0
- package/dist/components/Conversation/index.js +126 -0
- package/dist/components/CustomerSatisfaction/assets/1-5.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/assets/1-5NB.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/assets/2-5.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/assets/2-5NB.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/assets/3-5.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/assets/3-5NB.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/assets/4-5.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/assets/4-5NB.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/assets/5-5.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/assets/5-5NB.svg.js +4 -0
- package/dist/components/CustomerSatisfaction/index.d.ts +30 -0
- package/dist/components/CustomerSatisfaction/index.js +121 -0
- package/dist/components/EstimateCost/Components/CustomUnitInput.d.ts +9 -0
- package/dist/components/EstimateCost/Components/CustomUnitInput.js +33 -0
- package/dist/components/EstimateCost/Components/Item.d.ts +115 -0
- package/dist/components/EstimateCost/Components/Item.js +301 -0
- package/dist/components/EstimateCost/Components/LineThrough.d.ts +9 -0
- package/dist/components/EstimateCost/Components/LineThrough.js +16 -0
- package/dist/components/EstimateCost/Components/NumberInput.d.ts +9 -0
- package/dist/components/EstimateCost/Components/NumberInput.js +29 -0
- package/dist/components/EstimateCost/Components/Region.d.ts +22 -0
- package/dist/components/EstimateCost/Components/Region.js +39 -0
- package/dist/components/EstimateCost/Components/Regular.d.ts +9 -0
- package/dist/components/EstimateCost/Components/Regular.js +33 -0
- package/dist/components/EstimateCost/Components/Strong.d.ts +16 -0
- package/dist/components/EstimateCost/Components/Strong.js +26 -0
- package/dist/components/EstimateCost/Components/Unit.d.ts +8 -0
- package/dist/components/EstimateCost/Components/Unit.js +48 -0
- package/dist/components/EstimateCost/Components/UnitInput.d.ts +33 -0
- package/dist/components/EstimateCost/Components/UnitInput.js +88 -0
- package/dist/components/EstimateCost/Components/Zone.d.ts +20 -0
- package/dist/components/EstimateCost/Components/Zone.js +38 -0
- package/dist/components/EstimateCost/EstimateCost.d.ts +154 -0
- package/dist/components/EstimateCost/EstimateCost.js +86 -0
- package/dist/components/EstimateCost/EstimateCostContent.d.ts +2 -0
- package/dist/components/EstimateCost/EstimateCostContent.js +243 -0
- package/dist/components/EstimateCost/EstimateCostProvider.d.ts +25 -0
- package/dist/{src/components → components}/EstimateCost/EstimateCostProvider.js +11 -13
- package/dist/components/EstimateCost/OverlayComponent.d.ts +26 -0
- package/dist/components/EstimateCost/OverlayComponent.js +120 -0
- package/dist/components/EstimateCost/OverlayContext.d.ts +12 -0
- package/dist/components/EstimateCost/OverlayContext.js +14 -0
- package/dist/components/EstimateCost/componentStyle.d.ts +107 -0
- package/dist/components/EstimateCost/componentStyle.js +228 -0
- package/dist/components/EstimateCost/constants.d.ts +6 -0
- package/dist/{src/components → components}/EstimateCost/constants.js +8 -9
- package/dist/components/EstimateCost/helper.d.ts +9 -0
- package/dist/{src/components → components}/EstimateCost/helper.js +4 -8
- package/dist/components/EstimateCost/index.d.ts +3 -0
- package/dist/components/EstimateCost/locales/en.d.ts +22 -0
- package/dist/components/EstimateCost/locales/en.js +24 -0
- package/dist/components/EstimateCost/types.d.ts +132 -0
- package/dist/components/FAQ/index.d.ts +11 -0
- package/dist/components/FAQ/index.js +34 -0
- package/dist/components/Navigation/Navigation.d.ts +61 -0
- package/dist/components/Navigation/Navigation.js +20 -0
- package/dist/components/Navigation/NavigationContent.d.ts +10 -0
- package/dist/components/Navigation/NavigationContent.js +214 -0
- package/dist/components/Navigation/NavigationProvider.d.ts +87 -0
- package/dist/{src/components → components}/Navigation/NavigationProvider.js +34 -34
- package/dist/components/Navigation/components/Group.d.ts +7 -0
- package/dist/components/Navigation/components/Group.js +55 -0
- package/dist/components/Navigation/components/Item.d.ts +81 -0
- package/dist/components/Navigation/components/Item.js +425 -0
- package/dist/components/Navigation/components/PinnedItems.d.ts +8 -0
- package/dist/components/Navigation/components/PinnedItems.js +103 -0
- package/dist/components/Navigation/components/Separator.d.ts +1 -0
- package/dist/components/Navigation/components/Separator.js +15 -0
- package/dist/components/Navigation/constants.d.ts +14 -0
- package/dist/components/Navigation/constants.js +37 -0
- package/dist/components/Navigation/index.d.ts +2 -0
- package/dist/components/Navigation/locales/en.d.ts +10 -0
- package/dist/components/Navigation/locales/en.js +12 -0
- package/dist/components/SteppedListCard/Step.d.ts +17 -0
- package/dist/components/SteppedListCard/Step.js +35 -0
- package/dist/components/SteppedListCard/SteppedListContainer.d.ts +49 -0
- package/dist/components/SteppedListCard/SteppedListContainer.js +78 -0
- package/dist/components/SteppedListCard/SteppedListContent.d.ts +9 -0
- package/dist/components/SteppedListCard/SteppedListContent.js +65 -0
- package/dist/components/SteppedListCard/helper.d.ts +27 -0
- package/dist/components/SteppedListCard/helper.js +37 -0
- package/dist/components/SteppedListCard/index.d.ts +1 -0
- package/dist/components/index.d.ts +9 -0
- package/dist/index.d.ts +1 -636
- package/dist/index.js +25 -0
- package/package.json +15 -9
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/Icons.js +0 -55
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/ai.svg.js +0 -20
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/application-integration.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/baremetal.svg.js +0 -28
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/billing.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/compute.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/console.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/containers.svg.js +0 -24
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/database.svg.js +0 -22
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/datacenter.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/dedicated-server.svg.js +0 -24
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/dev-tools.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/documentation.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/iot.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/labs.svg.js +0 -28
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/managed-services.svg.js +0 -22
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/network.svg.js +0 -31
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/observability.svg.js +0 -22
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/pin.svg.js +0 -29
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/security.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/serverless.svg.js +0 -22
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/storage.svg.js +0 -22
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/tools-services.svg.js +0 -24
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/use-case.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/vpc.svg.js +0 -60
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/assets/web-hosting.svg.js +0 -24
- package/dist/@ultraviolet/icons/dist/components/CategoryIcon/index.js +0 -36
- package/dist/@ultraviolet/icons/dist/components/Icon/Icons.js +0 -356
- package/dist/@ultraviolet/icons/dist/components/Icon/SmallIcons.js +0 -356
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/anchor.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/arrow-down.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/arrow-left-bottom.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/arrow-left-double.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/arrow-left.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/arrow-right-bottom.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/arrow-right-double.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/arrow-right.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/arrow-up.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/asterisk.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/attach.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/burger.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/cancel.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/check.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/close-circle-outline.svg.js +0 -16
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/close.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/copy-content.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/detach.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/dots-horizontal.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/dots-vertical.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/download.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/drag-variant.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/drag.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/east.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/equal.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/escape.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/expand-more.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/expand.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/github.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/instagram.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/linkedin.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/logout.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/minus.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/north.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/open-in-new.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/organization.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/plus.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/progress-check.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/ray-end-arrow.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/ray-start-arrow.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/ray-start-end.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/ray-top-arrow.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/reboot.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/restore.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/revoke.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/rss.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/search.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/send.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/slack.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/sort.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/south.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/switch-orga.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/twitter.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/upload.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/view.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/west.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default/youtube.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/address.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/alert-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/auto-fix.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/book-open-outline.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/bullhorn.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/calculator.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/calendar-range.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/chat.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/check-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/clock-outline.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/console.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/credential.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/credit-card.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/database.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/delete.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/doc.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/earth.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/email-remove.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/email.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/eye-off.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/eye.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/filter.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/folder.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/help-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/id.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/information.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/lock.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/members.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/moon.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/mosaic.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/pen.svg.js +0 -20
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/pencil.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/phone.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/pin.svg.js +0 -20
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/play.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/privacy.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/profile.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/rocket.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/settings.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/sun.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/support.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/unlock.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/unpin.svg.js +0 -20
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-outline/weather-night.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/address.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/alert-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/auto-fix.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/book-open-outline.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/bullhorn.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/calculator.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/calendar-range.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/chat.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/check-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/clock-outline.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/console.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/credential.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/credit-card.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/database.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/delete.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/doc.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/earth.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/email-remove.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/email.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/eye-off.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/eye.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/filter.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/folder.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/help-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/id.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/information.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/lock.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/members.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/moon.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/mosaic.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/pen.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/pencil.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/phone.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/pin.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/play.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/privacy.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/profile.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/rocket.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/settings.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/sun.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/support.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/unlock.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/unpin.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/default-solid/weather-night.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/anchor.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/arrow-down.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/arrow-left-bottom.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/arrow-left-double.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/arrow-left.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/arrow-right-bottom.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/arrow-right-double.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/arrow-right.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/arrow-up.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/asterisk.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/attach.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/burger.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/cancel.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/check.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/close-circle-outline.svg.js +0 -16
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/close.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/copy-content.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/detach.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/dots-horizontal.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/dots-vertical.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/download.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/drag-variant.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/drag.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/east.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/equal.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/escape.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/expand-more.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/expand.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/github.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/instagram.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/linkedin.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/logout.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/minus.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/north.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/open-in-new.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/organization.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/plus.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/progress-check.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/ray-end-arrow.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/ray-start-arrow.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/ray-start-end.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/ray-top-arrow.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/reboot.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/restore.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/revoke.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/rss.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/search.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/send.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/slack.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/sort.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/south.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/switch-orga.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/twitter.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/upload.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/view.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/west.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small/youtube.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/address.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/alert-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/auto-fix.svg.js +0 -22
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/book-open-outline.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/bullhorn.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/calculator.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/calendar-range.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/chat.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/check-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/clock-outline.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/console.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/credential.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/credit-card.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/database.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/delete.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/doc.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/earth.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/email-remove.svg.js +0 -21
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/email.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/eye-off.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/eye.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/filter.svg.js +0 -24
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/folder.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/help-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/id.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/information.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/lock.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/members.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/moon.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/mosaic.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/pen.svg.js +0 -20
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/pencil.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/phone.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/pin.svg.js +0 -20
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/play.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/privacy.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/profile.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/rocket.svg.js +0 -24
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/settings.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/sun.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/support.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/unlock.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/unpin.svg.js +0 -20
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-outline/weather-night.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/address.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/alert-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/auto-fix.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/book-open-outline.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/bullhorn.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/calculator.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/calendar-range.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/chat.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/check-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/clock-outline.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/console.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/credential.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/credit-card.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/database.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/delete.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/doc.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/earth.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/email-remove.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/email.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/eye-off.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/eye.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/filter.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/folder.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/help-circle.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/id.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/information.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/lock.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/members.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/moon.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/mosaic.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/pen.svg.js +0 -20
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/pencil.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/phone.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/pin.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/play.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/privacy.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/profile.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/rocket.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/settings.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/sun.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/support.svg.js +0 -17
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/unlock.svg.js +0 -15
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/unpin.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/assets/small-solid/weather-night.svg.js +0 -19
- package/dist/@ultraviolet/icons/dist/components/Icon/index.js +0 -120
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/Icons.js +0 -291
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/abuse.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/account-experience.svg.js +0 -48
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/additional-disk.svg.js +0 -55
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/advanced-settings.svg.js +0 -34
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/ansible.svg.js +0 -29
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/api-gateway.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/api-key.svg.js +0 -55
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/api.svg.js +0 -45
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/apple-silicon.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/application-library.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/application.svg.js +0 -44
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/backends.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/bandwidth.svg.js +0 -37
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/basic-support.svg.js +0 -33
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/billing.svg.js +0 -43
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/block-storage.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/cb.svg.js +0 -39
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/cdn.svg.js +0 -37
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/changelog.svg.js +0 -34
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/cli.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/cloud-hosting.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/cockpit.svg.js +0 -53
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/cold-storage.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/console.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/containers.svg.js +0 -36
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/cost-manager.svg.js +0 -73
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/data-warehouse.svg.js +0 -49
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/ddos.svg.js +0 -52
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/ddx-core-servers.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/ddx-pro-servers.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/ddx-start-servers.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/dedibackup.svg.js +0 -43
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/dedibox.svg.js +0 -48
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/dedicated-control-plane.svg.js +0 -82
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/dedicated-server.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/devices.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/direct-connect.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/distributed-data-lab.svg.js +0 -80
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/dns.svg.js +0 -34
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/document-db.svg.js +0 -36
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/documentation.svg.js +0 -45
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/domains.svg.js +0 -51
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/edge-services.svg.js +0 -75
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/elastic-metal-aluminium.svg.js +0 -61
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/elastic-metal-beryllium.svg.js +0 -61
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/elastic-metal-iridium.svg.js +0 -61
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/elastic-metal-lithium.svg.js +0 -61
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/elastic-metal-titanium.svg.js +0 -61
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/elastic-metal.svg.js +0 -40
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/environmental-footprint-calculator.svg.js +0 -49
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/file.svg.js +0 -43
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/flexible-ip.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/folder.svg.js +0 -41
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/front-ends.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/functions.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/gold-support.svg.js +0 -37
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/hub-networks.svg.js +0 -34
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/hub-routes.svg.js +0 -26
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/iam.svg.js +0 -38
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/icon-elastic-metal.svg.js +0 -54
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/icon-sdk-js.svg.js +0 -48
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/icon-sdk.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/images.svg.js +0 -31
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/inference.svg.js +0 -51
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/instance-cost-optimized.svg.js +0 -37
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/instance-enterprise.svg.js +0 -28
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/instance-gpu.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/instance-learn.svg.js +0 -37
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/instance-pop.svg.js +0 -39
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/instance-wop.svg.js +0 -44
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/instance.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/iot-edge.svg.js +0 -36
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/iot.svg.js +0 -28
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/ip-failover.svg.js +0 -34
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/ipfs-naming.svg.js +0 -55
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/ipfs.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/jero.svg.js +0 -51
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/k8s-kosmos.svg.js +0 -54
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/kubernetes.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/lb.svg.js +0 -39
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/life-cycle-rules.svg.js +0 -33
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/mac-mini-m2.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/mac-mini.svg.js +0 -43
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/managed-search-database.svg.js +0 -59
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/monitoring.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/multi-user.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/nabu.svg.js +0 -51
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/nats.svg.js +0 -40
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/object-storage.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/os.svg.js +0 -61
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/packer.svg.js +0 -25
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/placement-group.svg.js +0 -72
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/platinum-support.svg.js +0 -33
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/policy.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/pool.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/postgresql-mysql.svg.js +0 -36
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/private-network.svg.js +0 -37
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/public-gateway.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/qaas.svg.js +0 -54
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/queueing.svg.js +0 -31
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/rabbit-mq.svg.js +0 -38
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/rdb.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/redis.svg.js +0 -31
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/registry.svg.js +0 -36
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/rocket.svg.js +0 -40
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/router.svg.js +0 -50
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/rpn-san.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/rpn-v1.svg.js +0 -43
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/rpn-v2.svg.js +0 -43
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/rpn.svg.js +0 -43
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/saving-plan.svg.js +0 -59
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/sdk-go.svg.js +0 -55
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/sdk-python.svg.js +0 -55
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/secret-manager.svg.js +0 -36
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/security-group.svg.js +0 -34
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/sepa.svg.js +0 -31
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/server.svg.js +0 -34
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/serverless-db.svg.js +0 -49
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/serverless-jobs.svg.js +0 -92
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/service-level.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/silver-support.svg.js +0 -38
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/sms.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/smtp.svg.js +0 -38
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/snapshots.svg.js +0 -39
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/sns.svg.js +0 -79
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/sqs.svg.js +0 -51
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/ssl-certificates.svg.js +0 -33
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/store-servers.svg.js +0 -46
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/support.svg.js +0 -40
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/terraform.svg.js +0 -33
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/transactional-email.svg.js +0 -31
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/tutorial.svg.js +0 -38
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/user.svg.js +0 -32
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/verify-card.svg.js +0 -34
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/video.svg.js +0 -34
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/volume.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/vpc.svg.js +0 -30
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/vps-pro-servers.svg.js +0 -53
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/vps-servers.svg.js +0 -51
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/vps-start-servers.svg.js +0 -53
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/web-platform.svg.js +0 -44
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/webhosting.svg.js +0 -47
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/assets/zone.svg.js +0 -31
- package/dist/@ultraviolet/icons/dist/components/ProductIcon/index.js +0 -53
- package/dist/@ultraviolet/icons/dist/utils/capitalize.js +0 -3
- package/dist/src/components/CodeEditor/CodeEditor.js +0 -46
- package/dist/src/components/ContentCard/Skeleton.js +0 -46
- package/dist/src/components/ContentCard/index.js +0 -178
- package/dist/src/components/ContentCardGroup/Card.js +0 -105
- package/dist/src/components/ContentCardGroup/SkeletonCard.js +0 -37
- package/dist/src/components/ContentCardGroup/index.js +0 -33
- package/dist/src/components/Conversation/index.js +0 -115
- package/dist/src/components/CustomerSatisfaction/assets/1-5.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/assets/1-5NB.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/assets/2-5.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/assets/2-5NB.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/assets/3-5.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/assets/3-5NB.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/assets/4-5.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/assets/4-5NB.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/assets/5-5.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/assets/5-5NB.svg.js +0 -5
- package/dist/src/components/CustomerSatisfaction/index.js +0 -130
- package/dist/src/components/EstimateCost/Components/CustomUnitInput.js +0 -43
- package/dist/src/components/EstimateCost/Components/Item.js +0 -311
- package/dist/src/components/EstimateCost/Components/LineThrough.js +0 -12
- package/dist/src/components/EstimateCost/Components/NumberInput.js +0 -40
- package/dist/src/components/EstimateCost/Components/Region.js +0 -52
- package/dist/src/components/EstimateCost/Components/Regular.js +0 -34
- package/dist/src/components/EstimateCost/Components/Strong.js +0 -25
- package/dist/src/components/EstimateCost/Components/Unit.js +0 -58
- package/dist/src/components/EstimateCost/Components/UnitInput.js +0 -110
- package/dist/src/components/EstimateCost/Components/Zone.js +0 -50
- package/dist/src/components/EstimateCost/EstimateCost.js +0 -120
- package/dist/src/components/EstimateCost/EstimateCostContent.js +0 -292
- package/dist/src/components/EstimateCost/OverlayComponent.js +0 -129
- package/dist/src/components/EstimateCost/OverlayContext.js +0 -16
- package/dist/src/components/EstimateCost/componentStyle.js +0 -149
- package/dist/src/components/EstimateCost/locales/en.js +0 -23
- package/dist/src/components/FAQ/index.js +0 -49
- package/dist/src/components/Navigation/Navigation.js +0 -31
- package/dist/src/components/Navigation/NavigationContent.js +0 -222
- package/dist/src/components/Navigation/components/Group.js +0 -55
- package/dist/src/components/Navigation/components/Item.js +0 -553
- package/dist/src/components/Navigation/components/PinnedItems.js +0 -129
- package/dist/src/components/Navigation/components/Separator.js +0 -12
- package/dist/src/components/Navigation/constants.js +0 -36
- package/dist/src/components/Navigation/locales/en.js +0 -11
- package/dist/src/components/SteppedListCard/Step.js +0 -53
- package/dist/src/components/SteppedListCard/SteppedListContainer.js +0 -96
- package/dist/src/components/SteppedListCard/SteppedListContent.js +0 -61
- package/dist/src/components/SteppedListCard/helper.js +0 -31
- package/dist/src/index.js +0 -11
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import _styled from "@emotion/styled/base";
|
|
3
|
+
import { Icon, CategoryIcon } from "@ultraviolet/icons";
|
|
4
|
+
import { Button, Badge, MenuV2, Stack, Text, fadeIn, Tooltip, Expandable } from "@ultraviolet/ui";
|
|
5
|
+
import { useEffect, useState, useCallback, useMemo, Children, isValidElement, cloneElement } from "react";
|
|
6
|
+
import { useNavigation } from "../NavigationProvider.js";
|
|
7
|
+
import { shrinkHeight, ANIMATION_DURATION } from "../constants.js";
|
|
8
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() {
|
|
9
|
+
return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).";
|
|
10
|
+
}
|
|
11
|
+
const RelativeDiv = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
|
|
12
|
+
target: "e134hokc13"
|
|
13
|
+
} : {
|
|
14
|
+
target: "e134hokc13",
|
|
15
|
+
label: "RelativeDiv"
|
|
16
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
17
|
+
name: "bjn8wh",
|
|
18
|
+
styles: "position:relative"
|
|
19
|
+
} : {
|
|
20
|
+
name: "bjn8wh",
|
|
21
|
+
styles: "position:relative",
|
|
22
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdDOEIiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */",
|
|
23
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
24
|
+
});
|
|
25
|
+
const StyledIcon = /* @__PURE__ */ _styled(Icon, process.env.NODE_ENV === "production" ? {
|
|
26
|
+
shouldForwardProp: (prop) => !["active"].includes(prop),
|
|
27
|
+
target: "e134hokc12"
|
|
28
|
+
} : {
|
|
29
|
+
shouldForwardProp: (prop) => !["active"].includes(prop),
|
|
30
|
+
target: "e134hokc12",
|
|
31
|
+
label: "StyledIcon"
|
|
32
|
+
})("position:absolute;top:0;bottom:0;margin:auto 0;padding:", ({
|
|
33
|
+
theme
|
|
34
|
+
}) => theme.space["0.25"], ";border-radius:", ({
|
|
35
|
+
theme
|
|
36
|
+
}) => theme.radii.default, ";&:hover{background:", ({
|
|
37
|
+
theme
|
|
38
|
+
}) => theme.colors.neutral.backgroundWeakHover, ";", ({
|
|
39
|
+
active,
|
|
40
|
+
theme
|
|
41
|
+
}) => active ? `background: ${theme.colors.primary.backgroundHover};` : null, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDd0IiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */"));
|
|
42
|
+
const NeutralButtonLink = process.env.NODE_ENV === "production" ? {
|
|
43
|
+
name: "rhgg7c",
|
|
44
|
+
styles: "color:inherit;text-decoration:none;background-color:inherit;border:none;text-align:left"
|
|
45
|
+
} : {
|
|
46
|
+
name: "1kb8ns1-NeutralButtonLink",
|
|
47
|
+
styles: "color:inherit;text-decoration:none;background-color:inherit;border:none;text-align:left;label:NeutralButtonLink;",
|
|
48
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFENkIiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */",
|
|
49
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
50
|
+
};
|
|
51
|
+
const LocalExpandButton = /* @__PURE__ */ _styled(Button, process.env.NODE_ENV === "production" ? {
|
|
52
|
+
target: "e134hokc11"
|
|
53
|
+
} : {
|
|
54
|
+
target: "e134hokc11",
|
|
55
|
+
label: "LocalExpandButton"
|
|
56
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
57
|
+
name: "9hkyle",
|
|
58
|
+
styles: "opacity:0;right:0;position:absolute;left:-24px;top:0;bottom:0;margin:auto;&:hover,&:focus,&:active{opacity:1;}"
|
|
59
|
+
} : {
|
|
60
|
+
name: "9hkyle",
|
|
61
|
+
styles: "opacity:0;right:0;position:absolute;left:-24px;top:0;bottom:0;margin:auto;&:hover,&:focus,&:active{opacity:1;}",
|
|
62
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThEd0MiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */",
|
|
63
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
64
|
+
});
|
|
65
|
+
const PinnedButton = LocalExpandButton.withComponent("div", process.env.NODE_ENV === "production" ? {
|
|
66
|
+
target: "e134hokc14"
|
|
67
|
+
} : {
|
|
68
|
+
target: "e134hokc14",
|
|
69
|
+
label: "PinnedButton"
|
|
70
|
+
});
|
|
71
|
+
const GrabIcon = /* @__PURE__ */ _styled(Icon, process.env.NODE_ENV === "production" ? {
|
|
72
|
+
target: "e134hokc10"
|
|
73
|
+
} : {
|
|
74
|
+
target: "e134hokc10",
|
|
75
|
+
label: "GrabIcon"
|
|
76
|
+
})("opacity:0;margin:0 ", ({
|
|
77
|
+
theme
|
|
78
|
+
}) => theme.space["0.25"], ";cursor:grab;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdGNkIiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */"));
|
|
79
|
+
const StyledBadge = /* @__PURE__ */ _styled(Badge, process.env.NODE_ENV === "production" ? {
|
|
80
|
+
target: "e134hokc9"
|
|
81
|
+
} : {
|
|
82
|
+
target: "e134hokc9",
|
|
83
|
+
label: "StyledBadge"
|
|
84
|
+
})(process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNGaUMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */");
|
|
85
|
+
const StyledMenuItem = /* @__PURE__ */ _styled(MenuV2.Item, process.env.NODE_ENV === "production" ? {
|
|
86
|
+
shouldForwardProp: (prop) => !["isPinnable"].includes(prop),
|
|
87
|
+
target: "e134hokc8"
|
|
88
|
+
} : {
|
|
89
|
+
shouldForwardProp: (prop) => !["isPinnable"].includes(prop),
|
|
90
|
+
target: "e134hokc8",
|
|
91
|
+
label: "StyledMenuItem"
|
|
92
|
+
})("text-align:left;&:hover,&:focus,&:active{", PinnedButton, "{opacity:1;}", StyledBadge, "{opacity:", ({
|
|
93
|
+
isPinnable
|
|
94
|
+
}) => isPinnable ? 0 : 1, ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRGRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy9wbHVzL3NyYy9jb21wb25lbnRzL05hdmlnYXRpb24vY29tcG9uZW50cy9JdGVtLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBDYXRlZ29yeUljb24sIEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQge1xuICBCYWRnZSxcbiAgQnV0dG9uLFxuICBFeHBhbmRhYmxlLFxuICBNZW51VjIsXG4gIFN0YWNrLFxuICBUZXh0LFxuICBUb29sdGlwLFxuICBmYWRlSW4sXG59IGZyb20gJ0B1bHRyYXZpb2xldC91aSdcbmltcG9ydCB0eXBlIHtcbiAgQ29tcG9uZW50UHJvcHMsXG4gIERyYWdFdmVudCxcbiAgSlNYLFxuICBNb3VzZUV2ZW50LFxuICBSZWFjdE5vZGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQ2hpbGRyZW4sXG4gIGNsb25lRWxlbWVudCxcbiAgaXNWYWxpZEVsZW1lbnQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tICcuLi9OYXZpZ2F0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyBBTklNQVRJT05fRFVSQVRJT04sIHNocmlua0hlaWdodCB9IGZyb20gJy4uL2NvbnN0YW50cydcblxuY29uc3QgUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoSWNvbiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydhY3RpdmUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvIDA7XG4gIHBhZGRpbmc6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG5cbiAgICAkeyh7IGFjdGl2ZSwgdGhlbWUgfSkgPT4gKGFjdGl2ZSA/IGBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRIb3Zlcn07YCA6IG51bGwpfVxuICAgIH1cbiAgfVxuYFxuXG5jb25zdCBOZXV0cmFsQnV0dG9uTGluayA9IGNzc2BcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuYFxuXG4vLyBQaW4gYnV0dG9uIHdoZW4gdGhlIG5hdmlnYXRpb24gaXMgZXhwYW5kZWRcbmNvbnN0IExvY2FsRXhwYW5kQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIG9wYWNpdHk6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0yNHB4O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gXG5cbmNvbnN0IFBpbm5lZEJ1dHRvbiA9IExvY2FsRXhwYW5kQnV0dG9uLndpdGhDb21wb25lbnQoJ2RpdicpXG5cbmNvbnN0IEdyYWJJY29uID0gc3R5bGVkKEljb24pYFxuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgY3Vyc29yOiBncmFiO1xuYFxuXG5jb25zdCBTdHlsZWRCYWRnZSA9IHN0eWxlZChCYWRnZSlgYFxuXG5jb25zdCBTdHlsZWRNZW51SXRlbSA9IHN0eWxlZChNZW51VjIuSXRlbSwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc1Bpbm5hYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGlzUGlubmFibGU/OiBib29sZWFuXG59PmBcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgb3BhY2l0eTogJHsoeyBpc1Bpbm5hYmxlIH0pID0+IChpc1Bpbm5hYmxlID8gMCA6IDEpfTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgU3R5bGVkTWVudSA9IHN0eWxlZChNZW51VjIpYFxuICB3aWR0aDogMTgwcHg7XG5gXG5cbmNvbnN0IFBhZGRpbmdTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IEFuaW1hdGVkSWNvbiA9IHN0eWxlZChJY29uKWBgXG5cbmNvbnN0IFdyYXBUZXh0ID0gc3R5bGVkKFRleHQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydhbmltYXRpb24nLCAnc3ViTGFiZWwnLCAndGV4dFByb21pbmVuY2UnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHtcbiAgYW5pbWF0aW9uPzogJ2NvbGxhcHNlJyB8ICdleHBhbmQnIHwgYm9vbGVhblxuICBzdWJMYWJlbD86IGJvb2xlYW5cbn0+YFxuICBvdmVyZmxvdy13cmFwOiAkeyh7IGFuaW1hdGlvbiB9KSA9PiAoYW5pbWF0aW9uID8gJ25vcm1hbCcgOiAnYW55d2hlcmUnKX07XG4gIHdoaXRlLXNwYWNlOiAkeyh7IGFuaW1hdGlvbiB9KSA9PiAoYW5pbWF0aW9uID8gJ25vd3JhcCcgOiAnbm9ybWFsJyl9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5gXG5cbmNvbnN0IFN0eWxlZFN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZy1sZWZ0OiAyOHB4OyAvLyBUaGlzIHZhbHVlIG5lZWRzIHRvIGJlIGhhcmRjb2RlZCBiZWNhdXNlIG9mIHRoZSBjYXRlZ29yeSBpY29uIHNpemVcbmBcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkKFN0YWNrKWBcbiAgJHtOZXV0cmFsQnV0dG9uTGlua307XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG5cbiAgJltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ10ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+XG4gICAgYGNhbGMoJHt0aGVtZS5zcGFjZVsnMC4yNSddfSArICR7dGhlbWUuc3BhY2VbJzAuNSddfSkgJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuXG4gICZbZGF0YS1oYXMtc3ViLWxhYmVsPSd0cnVlJ10ge1xuICAgIHBhZGRpbmc6ICR7KHsgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc3BhY2VbJzAuNSddfSAke3RoZW1lLnNwYWNlWycxJ119YH07XG4gIH1cblxuICB3aWR0aDogMTAwJTtcblxuICAmOmhvdmVyW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApLFxuICAmOmZvY3VzW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrfTtcbiAgfVxuICAmW2RhdGEtaGFzLWFjdGl2ZS1jaGlsZHJlbj0ndHJ1ZSddW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoXG4gICAgICBbZGlzYWJsZWRdW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+XG4gICAgICB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha0hvdmVyfTtcbiAgICAke1dyYXBUZXh0fSB7XG4gICAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG5cbiAgICAke1Bpbm5lZEJ1dHRvbn0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmW2RhdGEtaXMtcGlubmFibGU9J3RydWUnXSB7XG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgJHtQaW5uZWRCdXR0b259LCAke0dyYWJJY29ufSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyW2RhdGEtaGFzLWNoaWxkcmVuPSdmYWxzZSddW2RhdGEtaXMtYWN0aXZlPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuICB9XG5cbiAgJjphY3RpdmVbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKTpub3QoXG4gICAgICBbZGF0YS1pcy1hY3RpdmU9J3RydWUnXVxuICAgICkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZEhvdmVyfTtcbiAgfVxuXG4gICZbZGF0YS1pcy1hY3RpdmU9J3RydWUnXSxcbiAgJjpob3ZlcltkYXRhLWhhcy1hY3RpdmU9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kfTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICZbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuXG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtEaXNhYmxlZH07XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nY29sbGFwc2UnXSB7XG4gICAgYW5pbWF0aW9uOiAke3Nocmlua0hlaWdodH0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQgcmV2ZXJzZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtYW5pbWF0aW9uPSdleHBhbmQnXSB7XG4gICAgYW5pbWF0aW9uOiAke3Nocmlua0hlaWdodH0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQgcmV2ZXJzZTtcbiAgICAke1dyYXBUZXh0fSwgJHtBbmltYXRlZEljb259LCAke1N0eWxlZEJhZGdlfSB7XG4gICAgICBhbmltYXRpb246ICR7ZmFkZUlufSAke0FOSU1BVElPTl9EVVJBVElPTn1tcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAke1N0eWxlZFN0YWNrfSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuYFxuXG5jb25zdCBNZW51U3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAwICR7dGhlbWUuc3BhY2VbJzInXX1gfTtcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgQ29udGFpbmVyQ2F0ZWdvcnlJY29uID0gc3R5bGVkKFN0YWNrKWBcbiAgbWluLXdpZHRoOiAyMHB4O1xuYFxuXG50eXBlIEl0ZW1UeXBlID0gJ2RlZmF1bHQnIHwgJ3Bpbm5lZCcgfCAncGlubmVkR3JvdXAnXG5cbnR5cGUgSXRlbVByb3BzID0ge1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZVxuICAvKipcbiAgICogU2V0cyBhIGNhdGVnb3J5IGljb24gb24gdGhlIGxlZnQgb2YgdGhlIGl0ZW1cbiAgICovXG4gIGNhdGVnb3J5SWNvbj86IENvbXBvbmVudFByb3BzPHR5cGVvZiBDYXRlZ29yeUljb24+WyduYW1lJ11cbiAgY2F0ZWdvcnlJY29uVmFyaWFudD86IENvbXBvbmVudFByb3BzPHR5cGVvZiBDYXRlZ29yeUljb24+Wyd2YXJpYW50J11cbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBvZiB0aGUgaXRlbSB0aGF0IHdpbGwgYmUgc2hvd24uXG4gICAqIEl0IGlzIGFsc28gdXNlZCBhcyB0aGUga2V5IGZvciBwaW5uaW5nLlxuICAgKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKipcbiAgICogSXQgc2hvdWxkIGJlIGEgdW5pcXVlIGlkIGFuZCB3aWxsIGJlIHVzZWQgZm9yIHBpbi91bnBpbiBmZWF0dXJlLlxuICAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKipcbiAgICogVGV4dCBzaG93biB1bmRlciB0aGUgbGFiZWwgd2l0aCBhIGxpZ2h0ZXIgY29sb3IgYW5kIHNtYWxsZXIgZm9udCBzaXplXG4gICAqL1xuICBzdWJMYWJlbD86IHN0cmluZ1xuICAvKipcbiAgICogQmFkZ2UgaXMgYWRkZWQgb24gdGhlIHJpZ2h0IG9mIHRoZSBpdGVtLiBJdCBpcyBoaWRkZW4gb24gaG92ZXIgaWYgcGlubmVkXG4gICAqIGZlYXR1cmUgaXMgZW5hYmxlZFxuICAgKi9cbiAgYmFkZ2VUZXh0Pzogc3RyaW5nXG4gIC8qKlxuICAgKiBEZWZpbmVkIHRoZSBzZW50aW1lbnQgb2YgdGhlIGJhZGdlIGFjY29yZGluZyB0byBCYWRnZSBjb21wb25lbnQgZnJvbVxuICAgKiBgQHVsdHJhdmlvbGV0L3VpYFxuICAgKi9cbiAgYmFkZ2VTZW50aW1lbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQmFkZ2U+WydzZW50aW1lbnQnXVxuICBocmVmPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgdHJpZ2dlcmVkIG9uIGNsaWNrIG9mIHRoZSBpdGVtLiBJZiB0aGUgaXRlbSBpcyBleHBhbmRhYmxlXG4gICAqIHRvZ2dsZSB3aWxsIGJlIHBhc3NlZCB3aXRoIGl0LlxuICAgKi9cbiAgb25DbGljaz86ICh0b2dnbGU/OiB0cnVlIHwgZmFsc2UpID0+IHZvaWRcbiAgb25QaW5VbnBpbkNsaWNrPzogKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICAvKipcbiAgICogVGhpcyBwcm9wIGlzIHVzZWQgdG8gY29udHJvbCBpZiB0aGUgaXRlbSBpcyBleHBhbmRlZCBvciBjb2xsYXBzZWRcbiAgICovXG4gIHRvZ2dsZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUgaWYgeW91ciBjdXJyZW50IHBhZ2UgaXMgdGhpcyBpdGVtLlxuICAgKi9cbiAgYWN0aXZlPzogYm9vbGVhblxuICAvKipcbiAgICogSWYgeW91IHdhbnQgdG8gcmVtb3ZlIHBpbiBidXR0b24gb24geW91ciBpdGVtIHVzZSB0aGlzIHByb3BcbiAgICovXG4gIG5vUGluQnV0dG9uPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSB0byBjb250cm9sIHRoZSB0eXBlIG9mIHRoZSBpdGVtXG4gICAqL1xuICB0eXBlPzogSXRlbVR5cGVcbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCBpZiB0aGUgaXRlbSBoYXMgYSBwYXJlbnRcbiAgICovXG4gIGhhc1BhcmVudHM/OiBib29sZWFuXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IGZvciBwaW5uZWQgaXRlbSB0byBiZSByZW9yZ2FuaXplZCB3aXRoIGRyYWcgYW5kIGRyb3BcbiAgICovXG4gIGluZGV4PzogbnVtYmVyXG4gIC8qKlxuICAgKiBXaGVuIHRoZSBpdGVtIGhhcyBocmVmIGl0IGJlY29tZXMgYSBsaW5rIGlmIG5vdCBpdCBpcyBhIGJ1dHRvbi5cbiAgICogV2hlbiB1c2luZyBhbiBleHRlcm5hbCByb3V0aW5nIHRvb2wgeW91IG1pZ2h0IG5lZWQgdG8gcmVtb3ZlIGJvdGggb2YgdGhlbSBhbmQgdXNlXG4gICAqIGEgbm9uIGZvY3VzYWJsZSBlbGVtZW50LiBUaGlzIG9wdGlvbiBhbGxvd3MgeW91IHRvIGNob29zZSB0aGUgdGFnIG9mIHRoZVxuICAgKiBpdGVtLlxuICAgKi9cbiAgYXM/OiBrZXlvZiBKU1guSW50cmluc2ljRWxlbWVudHNcbiAgLyoqXG4gICAqIFVzZSB0aGlzIHByb3AgaWYgeW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBleHBhbmQgYmVoYXZpb3Igd2hlbiB0aGUgaXRlbVxuICAgKiBoYXMgc3ViIGl0ZW1zLlxuICAgKi9cbiAgbm9FeHBhbmQ/OiBib29sZWFuXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgSXRlbSA9ICh7XG4gIGNoaWxkcmVuLFxuICBjYXRlZ29yeUljb24sXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQsXG4gIGxhYmVsLFxuICBzdWJMYWJlbCxcbiAgYmFkZ2VUZXh0LFxuICBiYWRnZVNlbnRpbWVudCxcbiAgaHJlZixcbiAgb25DbGljayxcbiAgb25QaW5VbnBpbkNsaWNrLFxuICB0b2dnbGUsXG4gIGFjdGl2ZSxcbiAgbm9QaW5CdXR0b24sXG4gIHR5cGUgPSAnZGVmYXVsdCcsXG4gIGhhc1BhcmVudHMsXG4gIGFzLFxuICBkaXNhYmxlZCxcbiAgbm9FeHBhbmQgPSBmYWxzZSxcbiAgaW5kZXgsXG4gIGlkLFxufTogSXRlbVByb3BzKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VOYXZpZ2F0aW9uKClcblxuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnTmF2aWdhdGlvbi5JdGVtIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgTmF2aWdhdGlvblByb3ZpZGVyLicsXG4gICAgKVxuICB9XG5cbiAgY29uc3Qge1xuICAgIGV4cGFuZGVkLFxuICAgIGxvY2FsZXMsXG4gICAgcGlubmVkRmVhdHVyZSxcbiAgICBwaW5JdGVtLFxuICAgIHVucGluSXRlbSxcbiAgICBwaW5uZWRJdGVtcyxcbiAgICBwaW5MaW1pdCxcbiAgICBhbmltYXRpb24sXG4gICAgcmVnaXN0ZXJJdGVtLFxuICB9ID0gY29udGV4dFxuXG4gIHVzZUVmZmVjdChcbiAgICAoKSA9PiB7XG4gICAgICBpZiAodHlwZSAhPT0gJ3Bpbm5lZEdyb3VwJykge1xuICAgICAgICByZWdpc3Rlckl0ZW0oeyBbaWRdOiB7IGxhYmVsLCBhY3RpdmUsIG9uQ2xpY2sgfSB9KVxuICAgICAgfVxuICAgIH0sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIFthY3RpdmUsIGlkLCBsYWJlbCwgcmVnaXN0ZXJJdGVtXSxcbiAgKVxuXG4gIGNvbnN0IFtpbnRlcm5hbFRvZ2dsZSwgc2V0VG9nZ2xlXSA9IHVzZVN0YXRlKHRvZ2dsZSAhPT0gZmFsc2UpXG5cbiAgY29uc3QgdHJpZ2dlclRvZ2dsZSA9IHVzZUNhbGxiYWNrKFxuICAgICh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgICAgc2V0VG9nZ2xlKHZhbHVlKVxuICAgICAgb25DbGljaz8uKGludGVybmFsVG9nZ2xlKVxuICAgIH0sXG4gICAgW2ludGVybmFsVG9nZ2xlLCBvbkNsaWNrXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbiA9PT0gJ2NvbGxhcHNlJykge1xuICAgICAgc2V0VG9nZ2xlKGZhbHNlKVxuICAgIH1cblxuICAgIGlmIChhbmltYXRpb24gPT09ICdleHBhbmQnKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0VG9nZ2xlKHRvZ2dsZSA/PyB0cnVlKVxuICAgICAgfSwgMSlcbiAgICB9XG4gIH0sIFthbmltYXRpb24sIHRvZ2dsZV0pXG5cbiAgY29uc3QgUGFkZGVkU3RhY2sgPSBub0V4cGFuZCB8fCB0eXBlID09PSAncGlubmVkR3JvdXAnID8gU3RhY2sgOiBQYWRkaW5nU3RhY2tcblxuICBjb25zdCBoYXNIcmVmQW5kTm9DaGlsZHJlbiA9IGhyZWYgJiYgIWNoaWxkcmVuXG4gIGNvbnN0IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID1cbiAgICBwaW5uZWRGZWF0dXJlICYmICFjaGlsZHJlbiAmJiAhbm9QaW5CdXR0b25cbiAgY29uc3QgaXNJdGVtUGlubmVkID0gcGlubmVkSXRlbXMuaW5jbHVkZXMoaWQpXG4gIGNvbnN0IHNob3VsZFNob3dQaW5uZWRCdXR0b24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaHJlZiB8fCBkaXNhYmxlZCkgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4gJiYgdHlwZSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmIChoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfSwgW2Rpc2FibGVkLCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiwgaHJlZiwgdHlwZV0pXG5cbiAgY29uc3QgaGFzQWN0aXZlQ2hpbGRyZW4gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWNoaWxkcmVuKSByZXR1cm4gZmFsc2VcblxuICAgIHJldHVybiAoXG4gICAgICBDaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGNoaWxkID0+XG4gICAgICAgIGlzVmFsaWRFbGVtZW50PEl0ZW1Qcm9wcz4oY2hpbGQpID8gY2hpbGQucHJvcHM/LmFjdGl2ZSA6IGZhbHNlLFxuICAgICAgKSBhcyBib29sZWFuW11cbiAgICApLmluY2x1ZGVzKHRydWUpXG4gIH0sIFtjaGlsZHJlbl0pXG5cbiAgY29uc3QgY29udGFpbmVyVGFnID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGFzKSB7XG4gICAgICByZXR1cm4gYXNcbiAgICB9XG5cbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiAnYSdcbiAgICB9XG5cbiAgICBpZiAobm9FeHBhbmQpIHtcbiAgICAgIHJldHVybiAnZGl2J1xuICAgIH1cblxuICAgIHJldHVybiAnYnV0dG9uJ1xuICB9LCBbYXMsIGhhc0hyZWZBbmROb0NoaWxkcmVuLCBub0V4cGFuZF0pXG5cbiAgY29uc3QgQ29udGFpbmVyID0gU3R5bGVkQ29udGFpbmVyLndpdGhDb21wb25lbnQoY29udGFpbmVyVGFnKVxuXG4gIGNvbnN0IGFyaWFFeHBhbmRlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChoYXNIcmVmQW5kTm9DaGlsZHJlbiAmJiBpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgIWludGVybmFsVG9nZ2xlKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFtoYXNIcmVmQW5kTm9DaGlsZHJlbiwgaW50ZXJuYWxUb2dnbGVdKVxuXG4gIGNvbnN0IGlzUGluRGlzYWJsZWQgPSBwaW5uZWRJdGVtcy5sZW5ndGggPj0gcGluTGltaXRcbiAgY29uc3QgcGluVG9vbHRpcExvY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc1BpbkRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4ubGltaXQnXVxuICAgIH1cblxuICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgIHJldHVybiBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgIH1cblxuICAgIHJldHVybiBsb2NhbGVzWyduYXZpZ2F0aW9uLnBpbi50b29sdGlwJ11cbiAgfSwgW2lzSXRlbVBpbm5lZCwgaXNQaW5EaXNhYmxlZCwgbG9jYWxlc10pXG5cbiAgY29uc3Qgb25EcmFnU3RhcnRUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoJ3RleHQvcGxhaW4nLCBKU09OLnN0cmluZ2lmeSh7IGxhYmVsLCBpbmRleCB9KSlcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICBldmVudC5jdXJyZW50VGFyZ2V0LnN0eWxlLm9wYWNpdHkgPSAnMC41J1xuICB9XG5cbiAgY29uc3Qgb25EcmFnU3RvcFRyaWdnZXIgPSAoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICBldmVudC5jdXJyZW50VGFyZ2V0LnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgfVxuXG4gIC8vIFRoaXMgY29udGVudCBpcyB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG4gIGlmIChleHBhbmRlZCB8fCAoIWV4cGFuZGVkICYmIGFuaW1hdGlvbiA9PT0gJ2V4cGFuZCcpKSB7XG4gICAgY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSBDaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGNoaWxkID0+XG4gICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKVxuICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgaGFzUGFyZW50czogdHJ1ZSxcbiAgICAgICAgICB9KVxuICAgICAgICA6IGNoaWxkLFxuICAgIClcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8Q29udGFpbmVyXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBkYXRhLWhhcy1zdWItbGFiZWw9eyEhc3ViTGFiZWx9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cmlnZ2VyVG9nZ2xlKCFpbnRlcm5hbFRvZ2dsZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9uQ2xpY2s/LigpXG4gICAgICAgICAgfX1cbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPXthcmlhRXhwYW5kZWR9XG4gICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICB0YXJnZXQ9e2hyZWYgPyAnX2JsYW5rJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBkYXRhLWlzLXBpbm5hYmxlPXtzaG91bGRTaG93UGlubmVkQnV0dG9ufVxuICAgICAgICAgIGRhdGEtaXMtYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgZGF0YS1hbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICBkYXRhLWhhcy1jaGlsZHJlbj17ISFjaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49e2hhc0FjdGl2ZUNoaWxkcmVufVxuICAgICAgICAgIGRhdGEtaGFzLW5vLWV4cGFuZD17bm9FeHBhbmR9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGRyYWdnYWJsZT17dHlwZSA9PT0gJ3Bpbm5lZCcgJiYgZXhwYW5kZWR9XG4gICAgICAgICAgb25EcmFnU3RhcnQ9eyhldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT5cbiAgICAgICAgICAgIGV4cGFuZGVkID8gb25EcmFnU3RhcnRUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvbkRyYWdFbmQ9eyhldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT5cbiAgICAgICAgICAgIGV4cGFuZGVkID8gb25EcmFnU3RvcFRyaWdnZXIoZXZlbnQpIDogdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjYXRlZ29yeUljb24gPyAoXG4gICAgICAgICAgICAgIDxDb250YWluZXJDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImNlbnRlclwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgICBuYW1lPXtjYXRlZ29yeUljb259XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvQ29udGFpbmVyQ2F0ZWdvcnlJY29uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7dHlwZSA9PT0gJ3Bpbm5lZCcgJiYgZXhwYW5kZWQgPyAoXG4gICAgICAgICAgICAgIDxHcmFiSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJkcmFnLXZlcnRpY2FsXCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxTdGFjaz5cbiAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsU3Ryb25nXCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPXtcbiAgICAgICAgICAgICAgICAgIChjYXRlZ29yeUljb24gfHwgIWhhc1BhcmVudHMpICYmICFhY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgPyAnc3Ryb25nJ1xuICAgICAgICAgICAgICAgICAgICA6ICdkZWZhdWx0J1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgIHtzdWJMYWJlbCA/IChcbiAgICAgICAgICAgICAgICA8V3JhcFRleHRcbiAgICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwiY2FwdGlvblwiXG4gICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbj17YW5pbWF0aW9ufVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgc3ViTGFiZWxcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7c3ViTGFiZWx9XG4gICAgICAgICAgICAgICAgPC9XcmFwVGV4dD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIiBnYXA9e2hyZWYgPyAxIDogdW5kZWZpbmVkfT5cbiAgICAgICAgICAgIHtiYWRnZVRleHQgfHwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRCYWRnZVxuICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2JhZGdlU2VudGltZW50fVxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwic3Ryb25nXCJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7YmFkZ2VUZXh0fVxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRCYWRnZT5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICB7c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbiA/IChcbiAgICAgICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgICAgIHRleHQ9e1xuICAgICAgICAgICAgICAgICAgICAgIGlzSXRlbVBpbm5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBwaW5Ub29sdGlwTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8UmVsYXRpdmVEaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwieHNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKSAvLyBUaGlzIGlzIHRvIGF2b2lkIGNsaWNrIHNwcmVhZCB0byB0aGUgcGFyZW50IGFuZCBjaGFuZ2UgdGhlIHJvdXRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSXRlbVBpbm5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5JdGVtKGlkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uUGluVW5waW5DbGljaz8uKGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXNJdGVtUGlubmVkID8gJ3VucGluJyA6ICdwaW4nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtpc0l0ZW1QaW5uZWQgPyAnZmlsbGVkJyA6ICdvdXRsaW5lZCd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9QaW5uZWRCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvUmVsYXRpdmVEaXY+XG4gICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7aGFzSHJlZkFuZE5vQ2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxBbmltYXRlZEljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtjaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPFN0YWNrIGdhcD17MX0gZGlyZWN0aW9uPVwicm93XCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIHshYW5pbWF0aW9uICYmICFub0V4cGFuZCA/IChcbiAgICAgICAgICAgICAgICAgIDxBbmltYXRlZEljb25cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17aW50ZXJuYWxUb2dnbGUgPyAnYXJyb3ctZG93bicgOiAnYXJyb3ctcmlnaHQnfVxuICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHshbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgIDxFeHBhbmRhYmxlXG4gICAgICAgICAgICAgICAgb3BlbmVkPXtpbnRlcm5hbFRvZ2dsZX1cbiAgICAgICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbj17XG4gICAgICAgICAgICAgICAgICBhbmltYXRpb24gPyBBTklNQVRJT05fRFVSQVRJT04gLyAyIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgICA8L0V4cGFuZGFibGU+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8UGFkZGVkU3RhY2s+e3JlbmRlckNoaWxkcmVufTwvUGFkZGVkU3RhY2s+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuXG4gIC8vIFRoaXMgY29udGVudCBpcyB0aGUgbWVudSBvZiB0aGUgbmF2aWdhdGlvbiB3aGVuIGNvbGxhcHNlZFxuICBpZiAoY2F0ZWdvcnlJY29uIHx8IChDaGlsZHJlbi5jb3VudChjaGlsZHJlbikgPiAwICYmICFoYXNQYXJlbnRzKSkge1xuICAgIHJldHVybiAoXG4gICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICB7Q2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCA/IChcbiAgICAgICAgICA8U3R5bGVkTWVudVxuICAgICAgICAgICAgdHJpZ2dlck1ldGhvZD1cImhvdmVyXCJcbiAgICAgICAgICAgIGR5bmFtaWNEb21SZW5kZXJpbmc9e2ZhbHNlfSAvLyBBcyB3ZSBwYXJzZSB0aGUgY2hpbGRyZW4gd2UgZG9uJ3QgbmVlZCBkeW5hbWljIHJlbmRlcmluZ1xuICAgICAgICAgICAgZGlzY2xvc3VyZT17XG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PXtoYXNBY3RpdmVDaGlsZHJlbiA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGljb249eyFjYXRlZ29yeUljb24gPyAnZG90cy1ob3Jpem9udGFsJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjYXRlZ29yeUljb24gPyAoXG4gICAgICAgICAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Q2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6IGNhdGVnb3J5SWNvblZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Q2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKVxuICAgICAgICAgICAgICAgID8gY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIDogY2hpbGQsXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3R5bGVkTWVudT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8VG9vbHRpcCB0ZXh0PXtsYWJlbH0gcGxhY2VtZW50PVwicmlnaHRcIiB0YWJJbmRleD17LTF9PlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ2ZpbGxlZCcgOiAnZ2hvc3QnfVxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNsaWNrPy4oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29uID8/ICdjb25zb2xlJ31cbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6IGNhdGVnb3J5SWNvblZhcmlhbnR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgKX1cbiAgICAgIDwvTWVudVN0YWNrPlxuICAgIClcbiAgfVxuXG4gIC8vIFRoaXMgY29udGVudCBpcyB3aGF0IGlzIGluc2lkZSBhIG1lbnUgaXRlbSB0aGUgbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWRcbiAgaWYgKGhhc1BhcmVudHMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZE1lbnVJdGVtXG4gICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBvbkNsaWNrPy4oKVxuICAgICAgICB9fVxuICAgICAgICBib3JkZXJsZXNzXG4gICAgICAgIGFjdGl2ZT17YWN0aXZlfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICBpc1Bpbm5hYmxlPXtzaG91bGRTaG93UGlubmVkQnV0dG9ufVxuICAgICAgPlxuICAgICAgICA8U3RhY2tcbiAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICAgIGZsZXg9ezF9XG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxXcmFwVGV4dCBhcz1cInNwYW5cIiB2YXJpYW50PVwiYm9keVNtYWxsXCI+XG4gICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgPC9XcmFwVGV4dD5cbiAgICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0ID8gKFxuICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2JhZGdlU2VudGltZW50fVxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCYWRnZT5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbiA/IChcbiAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgIGlzSXRlbVBpbm5lZFxuICAgICAgICAgICAgICAgICAgICA/IGxvY2FsZXNbJ25hdmlnYXRpb24udW5waW4udG9vbHRpcCddXG4gICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UmVsYXRpdmVEaXY+XG4gICAgICAgICAgICAgICAgICA8UGlubmVkQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwieHNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSXRlbVBpbm5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdW5waW5JdGVtKGlkKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwaW5JdGVtKGlkKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzSXRlbVBpbm5lZCA/IGZhbHNlIDogaXNQaW5EaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEljb25cbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtpc0l0ZW1QaW5uZWQgPyAnZmlsbGVkJyA6ICdvdXRsaW5lZCd9XG4gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzSXRlbVBpbm5lZCA/IGZhbHNlIDogaXNQaW5EaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvUmVsYXRpdmVEaXY+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICA8L1N0eWxlZE1lbnVJdGVtPlxuICAgIClcbiAgfVxuXG4gIC8vIFRoaXMgY29udGVudCBpcyBmb3Igd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbGxhcHNlZCBhbmQgd2Ugc2hvdyBhbiBpY29uIG9mIGxpbmtcbiAgaWYgKCFoYXNQYXJlbnRzICYmIGhyZWYpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCI+XG4gICAgICAgIDxNZW51U3RhY2sgZ2FwPXsxfSBhbGlnbkl0ZW1zPVwic3RhcnRcIiBqdXN0aWZ5Q29udGVudD1cInN0YXJ0XCI+XG4gICAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImNlbnRlclwiXG4gICAgICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgICA8L01lbnVTdGFjaz5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICApXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuIl19 */"));
|
|
95
|
+
const StyledMenu = /* @__PURE__ */ _styled(MenuV2, process.env.NODE_ENV === "production" ? {
|
|
96
|
+
target: "e134hokc7"
|
|
97
|
+
} : {
|
|
98
|
+
target: "e134hokc7",
|
|
99
|
+
label: "StyledMenu"
|
|
100
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
101
|
+
name: "educr3",
|
|
102
|
+
styles: "width:180px"
|
|
103
|
+
} : {
|
|
104
|
+
name: "educr3",
|
|
105
|
+
styles: "width:180px",
|
|
106
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRHaUMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */",
|
|
107
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
108
|
+
});
|
|
109
|
+
const PaddingStack = /* @__PURE__ */ _styled(Stack, process.env.NODE_ENV === "production" ? {
|
|
110
|
+
target: "e134hokc6"
|
|
111
|
+
} : {
|
|
112
|
+
target: "e134hokc6",
|
|
113
|
+
label: "PaddingStack"
|
|
114
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
115
|
+
name: "13feash",
|
|
116
|
+
styles: "padding-left:28px"
|
|
117
|
+
} : {
|
|
118
|
+
name: "13feash",
|
|
119
|
+
styles: "padding-left:28px",
|
|
120
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdIa0MiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */",
|
|
121
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
122
|
+
});
|
|
123
|
+
const AnimatedIcon = /* @__PURE__ */ _styled(Icon, process.env.NODE_ENV === "production" ? {
|
|
124
|
+
target: "e134hokc5"
|
|
125
|
+
} : {
|
|
126
|
+
target: "e134hokc5",
|
|
127
|
+
label: "AnimatedIcon"
|
|
128
|
+
})(process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9IaUMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */");
|
|
129
|
+
const WrapText = /* @__PURE__ */ _styled(Text, process.env.NODE_ENV === "production" ? {
|
|
130
|
+
shouldForwardProp: (prop) => !["animation", "subLabel", "textProminence"].includes(prop),
|
|
131
|
+
target: "e134hokc4"
|
|
132
|
+
} : {
|
|
133
|
+
shouldForwardProp: (prop) => !["animation", "subLabel", "textProminence"].includes(prop),
|
|
134
|
+
target: "e134hokc4",
|
|
135
|
+
label: "WrapText"
|
|
136
|
+
})("overflow-wrap:", ({
|
|
137
|
+
animation
|
|
138
|
+
}) => animation ? "normal" : "anywhere", ";white-space:", ({
|
|
139
|
+
animation
|
|
140
|
+
}) => animation ? "nowrap" : "normal", ";overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:pre-wrap;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRIRSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy9wbHVzL3NyYy9jb21wb25lbnRzL05hdmlnYXRpb24vY29tcG9uZW50cy9JdGVtLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgeyBDYXRlZ29yeUljb24sIEljb24gfSBmcm9tICdAdWx0cmF2aW9sZXQvaWNvbnMnXG5pbXBvcnQge1xuICBCYWRnZSxcbiAgQnV0dG9uLFxuICBFeHBhbmRhYmxlLFxuICBNZW51VjIsXG4gIFN0YWNrLFxuICBUZXh0LFxuICBUb29sdGlwLFxuICBmYWRlSW4sXG59IGZyb20gJ0B1bHRyYXZpb2xldC91aSdcbmltcG9ydCB0eXBlIHtcbiAgQ29tcG9uZW50UHJvcHMsXG4gIERyYWdFdmVudCxcbiAgSlNYLFxuICBNb3VzZUV2ZW50LFxuICBSZWFjdE5vZGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQ2hpbGRyZW4sXG4gIGNsb25lRWxlbWVudCxcbiAgaXNWYWxpZEVsZW1lbnQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tICcuLi9OYXZpZ2F0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyBBTklNQVRJT05fRFVSQVRJT04sIHNocmlua0hlaWdodCB9IGZyb20gJy4uL2NvbnN0YW50cydcblxuY29uc3QgUmVsYXRpdmVEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoSWNvbiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydhY3RpdmUnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvIDA7XG4gIHBhZGRpbmc6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG5cbiAgICAkeyh7IGFjdGl2ZSwgdGhlbWUgfSkgPT4gKGFjdGl2ZSA/IGBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5wcmltYXJ5LmJhY2tncm91bmRIb3Zlcn07YCA6IG51bGwpfVxuICAgIH1cbiAgfVxuYFxuXG5jb25zdCBOZXV0cmFsQnV0dG9uTGluayA9IGNzc2BcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuYFxuXG4vLyBQaW4gYnV0dG9uIHdoZW4gdGhlIG5hdmlnYXRpb24gaXMgZXhwYW5kZWRcbmNvbnN0IExvY2FsRXhwYW5kQnV0dG9uID0gc3R5bGVkKEJ1dHRvbilgXG4gIG9wYWNpdHk6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0yNHB4O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gXG5cbmNvbnN0IFBpbm5lZEJ1dHRvbiA9IExvY2FsRXhwYW5kQnV0dG9uLndpdGhDb21wb25lbnQoJ2RpdicpXG5cbmNvbnN0IEdyYWJJY29uID0gc3R5bGVkKEljb24pYFxuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDAgJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgY3Vyc29yOiBncmFiO1xuYFxuXG5jb25zdCBTdHlsZWRCYWRnZSA9IHN0eWxlZChCYWRnZSlgYFxuXG5jb25zdCBTdHlsZWRNZW51SXRlbSA9IHN0eWxlZChNZW51VjIuSXRlbSwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydpc1Bpbm5hYmxlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGlzUGlubmFibGU/OiBib29sZWFuXG59PmBcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgb3BhY2l0eTogJHsoeyBpc1Bpbm5hYmxlIH0pID0+IChpc1Bpbm5hYmxlID8gMCA6IDEpfTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgU3R5bGVkTWVudSA9IHN0eWxlZChNZW51VjIpYFxuICB3aWR0aDogMTgwcHg7XG5gXG5cbmNvbnN0IFBhZGRpbmdTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IEFuaW1hdGVkSWNvbiA9IHN0eWxlZChJY29uKWBgXG5cbmNvbnN0IFdyYXBUZXh0ID0gc3R5bGVkKFRleHQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhWydhbmltYXRpb24nLCAnc3ViTGFiZWwnLCAndGV4dFByb21pbmVuY2UnXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHtcbiAgYW5pbWF0aW9uPzogJ2NvbGxhcHNlJyB8ICdleHBhbmQnIHwgYm9vbGVhblxuICBzdWJMYWJlbD86IGJvb2xlYW5cbn0+YFxuICBvdmVyZmxvdy13cmFwOiAkeyh7IGFuaW1hdGlvbiB9KSA9PiAoYW5pbWF0aW9uID8gJ25vcm1hbCcgOiAnYW55d2hlcmUnKX07XG4gIHdoaXRlLXNwYWNlOiAkeyh7IGFuaW1hdGlvbiB9KSA9PiAoYW5pbWF0aW9uID8gJ25vd3JhcCcgOiAnbm9ybWFsJyl9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5gXG5cbmNvbnN0IFN0eWxlZFN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZy1sZWZ0OiAyOHB4OyAvLyBUaGlzIHZhbHVlIG5lZWRzIHRvIGJlIGhhcmRjb2RlZCBiZWNhdXNlIG9mIHRoZSBjYXRlZ29yeSBpY29uIHNpemVcbmBcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkKFN0YWNrKWBcbiAgJHtOZXV0cmFsQnV0dG9uTGlua307XG4gIGJvcmRlci1yYWRpdXM6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUucmFkaWkuZGVmYXVsdH07XG5cbiAgJltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ10ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBtYXJnaW4tdG9wOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+XG4gICAgYGNhbGMoJHt0aGVtZS5zcGFjZVsnMC4yNSddfSArICR7dGhlbWUuc3BhY2VbJzAuNSddfSkgJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuXG4gICZbZGF0YS1oYXMtc3ViLWxhYmVsPSd0cnVlJ10ge1xuICAgIHBhZGRpbmc6ICR7KHsgdGhlbWUgfSkgPT4gYCR7dGhlbWUuc3BhY2VbJzAuNSddfSAke3RoZW1lLnNwYWNlWycxJ119YH07XG4gIH1cblxuICB3aWR0aDogMTAwJTtcblxuICAmOmhvdmVyW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApLFxuICAmOmZvY3VzW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrfTtcbiAgfVxuICAmW2RhdGEtaGFzLWFjdGl2ZS1jaGlsZHJlbj0ndHJ1ZSddW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoXG4gICAgICBbZGlzYWJsZWRdW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+XG4gICAgICB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha0hvdmVyfTtcbiAgICAke1dyYXBUZXh0fSB7XG4gICAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC50ZXh0V2Vha0hvdmVyfTtcbiAgICB9XG5cbiAgICAke1Bpbm5lZEJ1dHRvbn0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmW2RhdGEtaXMtcGlubmFibGU9J3RydWUnXSB7XG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgJHtQaW5uZWRCdXR0b259LCAke0dyYWJJY29ufSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyW2RhdGEtaGFzLWNoaWxkcmVuPSdmYWxzZSddW2RhdGEtaXMtYWN0aXZlPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuICB9XG5cbiAgJjphY3RpdmVbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKTpub3QoXG4gICAgICBbZGF0YS1pcy1hY3RpdmU9J3RydWUnXVxuICAgICkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZEhvdmVyfTtcbiAgfVxuXG4gICZbZGF0YS1pcy1hY3RpdmU9J3RydWUnXSxcbiAgJjpob3ZlcltkYXRhLWhhcy1hY3RpdmU9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kfTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICZbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuXG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtEaXNhYmxlZH07XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nY29sbGFwc2UnXSB7XG4gICAgYW5pbWF0aW9uOiAke3Nocmlua0hlaWdodH0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQgcmV2ZXJzZTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtYW5pbWF0aW9uPSdleHBhbmQnXSB7XG4gICAgYW5pbWF0aW9uOiAke3Nocmlua0hlaWdodH0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQgcmV2ZXJzZTtcbiAgICAke1dyYXBUZXh0fSwgJHtBbmltYXRlZEljb259LCAke1N0eWxlZEJhZGdlfSB7XG4gICAgICBhbmltYXRpb246ICR7ZmFkZUlufSAke0FOSU1BVElPTl9EVVJBVElPTn1tcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAke1N0eWxlZFN0YWNrfSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuYFxuXG5jb25zdCBNZW51U3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAwICR7dGhlbWUuc3BhY2VbJzInXX1gfTtcbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbmBcblxuY29uc3QgQ29udGFpbmVyQ2F0ZWdvcnlJY29uID0gc3R5bGVkKFN0YWNrKWBcbiAgbWluLXdpZHRoOiAyMHB4O1xuYFxuXG50eXBlIEl0ZW1UeXBlID0gJ2RlZmF1bHQnIHwgJ3Bpbm5lZCcgfCAncGlubmVkR3JvdXAnXG5cbnR5cGUgSXRlbVByb3BzID0ge1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZVxuICAvKipcbiAgICogU2V0cyBhIGNhdGVnb3J5IGljb24gb24gdGhlIGxlZnQgb2YgdGhlIGl0ZW1cbiAgICovXG4gIGNhdGVnb3J5SWNvbj86IENvbXBvbmVudFByb3BzPHR5cGVvZiBDYXRlZ29yeUljb24+WyduYW1lJ11cbiAgY2F0ZWdvcnlJY29uVmFyaWFudD86IENvbXBvbmVudFByb3BzPHR5cGVvZiBDYXRlZ29yeUljb24+Wyd2YXJpYW50J11cbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBvZiB0aGUgaXRlbSB0aGF0IHdpbGwgYmUgc2hvd24uXG4gICAqIEl0IGlzIGFsc28gdXNlZCBhcyB0aGUga2V5IGZvciBwaW5uaW5nLlxuICAgKi9cbiAgbGFiZWw6IHN0cmluZ1xuICAvKipcbiAgICogSXQgc2hvdWxkIGJlIGEgdW5pcXVlIGlkIGFuZCB3aWxsIGJlIHVzZWQgZm9yIHBpbi91bnBpbiBmZWF0dXJlLlxuICAgKi9cbiAgaWQ6IHN0cmluZ1xuICAvKipcbiAgICogVGV4dCBzaG93biB1bmRlciB0aGUgbGFiZWwgd2l0aCBhIGxpZ2h0ZXIgY29sb3IgYW5kIHNtYWxsZXIgZm9udCBzaXplXG4gICAqL1xuICBzdWJMYWJlbD86IHN0cmluZ1xuICAvKipcbiAgICogQmFkZ2UgaXMgYWRkZWQgb24gdGhlIHJpZ2h0IG9mIHRoZSBpdGVtLiBJdCBpcyBoaWRkZW4gb24gaG92ZXIgaWYgcGlubmVkXG4gICAqIGZlYXR1cmUgaXMgZW5hYmxlZFxuICAgKi9cbiAgYmFkZ2VUZXh0Pzogc3RyaW5nXG4gIC8qKlxuICAgKiBEZWZpbmVkIHRoZSBzZW50aW1lbnQgb2YgdGhlIGJhZGdlIGFjY29yZGluZyB0byBCYWRnZSBjb21wb25lbnQgZnJvbVxuICAgKiBgQHVsdHJhdmlvbGV0L3VpYFxuICAgKi9cbiAgYmFkZ2VTZW50aW1lbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQmFkZ2U+WydzZW50aW1lbnQnXVxuICBocmVmPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgdHJpZ2dlcmVkIG9uIGNsaWNrIG9mIHRoZSBpdGVtLiBJZiB0aGUgaXRlbSBpcyBleHBhbmRhYmxlXG4gICAqIHRvZ2dsZSB3aWxsIGJlIHBhc3NlZCB3aXRoIGl0LlxuICAgKi9cbiAgb25DbGljaz86ICh0b2dnbGU/OiB0cnVlIHwgZmFsc2UpID0+IHZvaWRcbiAgb25QaW5VbnBpbkNsaWNrPzogKGV2ZW50OiBNb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICAvKipcbiAgICogVGhpcyBwcm9wIGlzIHVzZWQgdG8gY29udHJvbCBpZiB0aGUgaXRlbSBpcyBleHBhbmRlZCBvciBjb2xsYXBzZWRcbiAgICovXG4gIHRvZ2dsZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUgaWYgeW91ciBjdXJyZW50IHBhZ2UgaXMgdGhpcyBpdGVtLlxuICAgKi9cbiAgYWN0aXZlPzogYm9vbGVhblxuICAvKipcbiAgICogSWYgeW91IHdhbnQgdG8gcmVtb3ZlIHBpbiBidXR0b24gb24geW91ciBpdGVtIHVzZSB0aGlzIHByb3BcbiAgICovXG4gIG5vUGluQnV0dG9uPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSB0byBjb250cm9sIHRoZSB0eXBlIG9mIHRoZSBpdGVtXG4gICAqL1xuICB0eXBlPzogSXRlbVR5cGVcbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCBpZiB0aGUgaXRlbSBoYXMgYSBwYXJlbnRcbiAgICovXG4gIGhhc1BhcmVudHM/OiBib29sZWFuXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IGZvciBwaW5uZWQgaXRlbSB0byBiZSByZW9yZ2FuaXplZCB3aXRoIGRyYWcgYW5kIGRyb3BcbiAgICovXG4gIGluZGV4PzogbnVtYmVyXG4gIC8qKlxuICAgKiBXaGVuIHRoZSBpdGVtIGhhcyBocmVmIGl0IGJlY29tZXMgYSBsaW5rIGlmIG5vdCBpdCBpcyBhIGJ1dHRvbi5cbiAgICogV2hlbiB1c2luZyBhbiBleHRlcm5hbCByb3V0aW5nIHRvb2wgeW91IG1pZ2h0IG5lZWQgdG8gcmVtb3ZlIGJvdGggb2YgdGhlbSBhbmQgdXNlXG4gICAqIGEgbm9uIGZvY3VzYWJsZSBlbGVtZW50LiBUaGlzIG9wdGlvbiBhbGxvd3MgeW91IHRvIGNob29zZSB0aGUgdGFnIG9mIHRoZVxuICAgKiBpdGVtLlxuICAgKi9cbiAgYXM/OiBrZXlvZiBKU1guSW50cmluc2ljRWxlbWVudHNcbiAgLyoqXG4gICAqIFVzZSB0aGlzIHByb3AgaWYgeW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBleHBhbmQgYmVoYXZpb3Igd2hlbiB0aGUgaXRlbVxuICAgKiBoYXMgc3ViIGl0ZW1zLlxuICAgKi9cbiAgbm9FeHBhbmQ/OiBib29sZWFuXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgSXRlbSA9ICh7XG4gIGNoaWxkcmVuLFxuICBjYXRlZ29yeUljb24sXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQsXG4gIGxhYmVsLFxuICBzdWJMYWJlbCxcbiAgYmFkZ2VUZXh0LFxuICBiYWRnZVNlbnRpbWVudCxcbiAgaHJlZixcbiAgb25DbGljayxcbiAgb25QaW5VbnBpbkNsaWNrLFxuICB0b2dnbGUsXG4gIGFjdGl2ZSxcbiAgbm9QaW5CdXR0b24sXG4gIHR5cGUgPSAnZGVmYXVsdCcsXG4gIGhhc1BhcmVudHMsXG4gIGFzLFxuICBkaXNhYmxlZCxcbiAgbm9FeHBhbmQgPSBmYWxzZSxcbiAgaW5kZXgsXG4gIGlkLFxufTogSXRlbVByb3BzKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VOYXZpZ2F0aW9uKClcblxuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnTmF2aWdhdGlvbi5JdGVtIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgTmF2aWdhdGlvblByb3ZpZGVyLicsXG4gICAgKVxuICB9XG5cbiAgY29uc3Qge1xuICAgIGV4cGFuZGVkLFxuICAgIGxvY2FsZXMsXG4gICAgcGlubmVkRmVhdHVyZSxcbiAgICBwaW5JdGVtLFxuICAgIHVucGluSXRlbSxcbiAgICBwaW5uZWRJdGVtcyxcbiAgICBwaW5MaW1pdCxcbiAgICBhbmltYXRpb24sXG4gICAgcmVnaXN0ZXJJdGVtLFxuICB9ID0gY29udGV4dFxuXG4gIHVzZUVmZmVjdChcbiAgICAoKSA9PiB7XG4gICAgICBpZiAodHlwZSAhPT0gJ3Bpbm5lZEdyb3VwJykge1xuICAgICAgICByZWdpc3Rlckl0ZW0oeyBbaWRdOiB7IGxhYmVsLCBhY3RpdmUsIG9uQ2xpY2sgfSB9KVxuICAgICAgfVxuICAgIH0sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIFthY3RpdmUsIGlkLCBsYWJlbCwgcmVnaXN0ZXJJdGVtXSxcbiAgKVxuXG4gIGNvbnN0IFtpbnRlcm5hbFRvZ2dsZSwgc2V0VG9nZ2xlXSA9IHVzZVN0YXRlKHRvZ2dsZSAhPT0gZmFsc2UpXG5cbiAgY29uc3QgdHJpZ2dlclRvZ2dsZSA9IHVzZUNhbGxiYWNrKFxuICAgICh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgICAgc2V0VG9nZ2xlKHZhbHVlKVxuICAgICAgb25DbGljaz8uKGludGVybmFsVG9nZ2xlKVxuICAgIH0sXG4gICAgW2ludGVybmFsVG9nZ2xlLCBvbkNsaWNrXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFuaW1hdGlvbiA9PT0gJ2NvbGxhcHNlJykge1xuICAgICAgc2V0VG9nZ2xlKGZhbHNlKVxuICAgIH1cblxuICAgIGlmIChhbmltYXRpb24gPT09ICdleHBhbmQnKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0VG9nZ2xlKHRvZ2dsZSA/PyB0cnVlKVxuICAgICAgfSwgMSlcbiAgICB9XG4gIH0sIFthbmltYXRpb24sIHRvZ2dsZV0pXG5cbiAgY29uc3QgUGFkZGVkU3RhY2sgPSBub0V4cGFuZCB8fCB0eXBlID09PSAncGlubmVkR3JvdXAnID8gU3RhY2sgOiBQYWRkaW5nU3RhY2tcblxuICBjb25zdCBoYXNIcmVmQW5kTm9DaGlsZHJlbiA9IGhyZWYgJiYgIWNoaWxkcmVuXG4gIGNvbnN0IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID1cbiAgICBwaW5uZWRGZWF0dXJlICYmICFjaGlsZHJlbiAmJiAhbm9QaW5CdXR0b25cbiAgY29uc3QgaXNJdGVtUGlubmVkID0gcGlubmVkSXRlbXMuaW5jbHVkZXMoaWQpXG4gIGNvbnN0IHNob3VsZFNob3dQaW5uZWRCdXR0b24gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaHJlZiB8fCBkaXNhYmxlZCkgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4gJiYgdHlwZSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmIChoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfSwgW2Rpc2FibGVkLCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiwgaHJlZiwgdHlwZV0pXG5cbiAgY29uc3QgaGFzQWN0aXZlQ2hpbGRyZW4gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWNoaWxkcmVuKSByZXR1cm4gZmFsc2VcblxuICAgIHJldHVybiAoXG4gICAgICBDaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGNoaWxkID0+XG4gICAgICAgIGlzVmFsaWRFbGVtZW50PEl0ZW1Qcm9wcz4oY2hpbGQpID8gY2hpbGQucHJvcHM/LmFjdGl2ZSA6IGZhbHNlLFxuICAgICAgKSBhcyBib29sZWFuW11cbiAgICApLmluY2x1ZGVzKHRydWUpXG4gIH0sIFtjaGlsZHJlbl0pXG5cbiAgY29uc3QgY29udGFpbmVyVGFnID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGFzKSB7XG4gICAgICByZXR1cm4gYXNcbiAgICB9XG5cbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiAnYSdcbiAgICB9XG5cbiAgICBpZiAobm9FeHBhbmQpIHtcbiAgICAgIHJldHVybiAnZGl2J1xuICAgIH1cblxuICAgIHJldHVybiAnYnV0dG9uJ1xuICB9LCBbYXMsIGhhc0hyZWZBbmROb0NoaWxkcmVuLCBub0V4cGFuZF0pXG5cbiAgY29uc3QgQ29udGFpbmVyID0gU3R5bGVkQ29udGFpbmVyLndpdGhDb21wb25lbnQoY29udGFpbmVyVGFnKVxuXG4gIGNvbnN0IGFyaWFFeHBhbmRlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChoYXNIcmVmQW5kTm9DaGlsZHJlbiAmJiBpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgIWludGVybmFsVG9nZ2xlKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH0sIFtoYXNIcmVmQW5kTm9DaGlsZHJlbiwgaW50ZXJuYWxUb2dnbGVdKVxuXG4gIGNvbnN0IGlzUGluRGlzYWJsZWQgPSBwaW5uZWRJdGVtcy5sZW5ndGggPj0gcGluTGltaXRcbiAgY29uc3QgcGluVG9vbHRpcExvY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc1BpbkRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4ubGltaXQnXVxuICAgIH1cblxuICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgIHJldHVybiBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgIH1cblxuICAgIHJldHVybiBsb2NhbGVzWyduYXZpZ2F0aW9uLnBpbi50b29sdGlwJ11cbiAgfSwgW2lzSXRlbVBpbm5lZCwgaXNQaW5EaXNhYmxlZCwgbG9jYWxlc10pXG5cbiAgY29uc3Qgb25EcmFnU3RhcnRUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoJ3RleHQvcGxhaW4nLCBKU09OLnN0cmluZ2lmeSh7IGxhYmVsLCBpbmRleCB9KSlcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICBldmVudC5jdXJyZW50VGFyZ2V0LnN0eWxlLm9wYWNpdHkgPSAnMC41J1xuICB9XG5cbiAgY29uc3Qgb25EcmFnU3RvcFRyaWdnZXIgPSAoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICBldmVudC5jdXJyZW50VGFyZ2V0LnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgfVxuXG4gIC8vIFRoaXMgY29udGVudCBpcyB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG4gIGlmIChleHBhbmRlZCB8fCAoIWV4cGFuZGVkICYmIGFuaW1hdGlvbiA9PT0gJ2V4cGFuZCcpKSB7XG4gICAgY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSBDaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGNoaWxkID0+XG4gICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKVxuICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgaGFzUGFyZW50czogdHJ1ZSxcbiAgICAgICAgICB9KVxuICAgICAgICA6IGNoaWxkLFxuICAgIClcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8Q29udGFpbmVyXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBkYXRhLWhhcy1zdWItbGFiZWw9eyEhc3ViTGFiZWx9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cmlnZ2VyVG9nZ2xlKCFpbnRlcm5hbFRvZ2dsZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9uQ2xpY2s/LigpXG4gICAgICAgICAgfX1cbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPXthcmlhRXhwYW5kZWR9XG4gICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICB0YXJnZXQ9e2hyZWYgPyAnX2JsYW5rJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICBkYXRhLWlzLXBpbm5hYmxlPXtzaG91bGRTaG93UGlubmVkQnV0dG9ufVxuICAgICAgICAgIGRhdGEtaXMtYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgZGF0YS1hbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICBkYXRhLWhhcy1jaGlsZHJlbj17ISFjaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49e2hhc0FjdGl2ZUNoaWxkcmVufVxuICAgICAgICAgIGRhdGEtaGFzLW5vLWV4cGFuZD17bm9FeHBhbmR9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGRyYWdnYWJsZT17dHlwZSA9PT0gJ3Bpbm5lZCcgJiYgZXhwYW5kZWR9XG4gICAgICAgICAgb25EcmFnU3RhcnQ9eyhldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT5cbiAgICAgICAgICAgIGV4cGFuZGVkID8gb25EcmFnU3RhcnRUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvbkRyYWdFbmQ9eyhldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT5cbiAgICAgICAgICAgIGV4cGFuZGVkID8gb25EcmFnU3RvcFRyaWdnZXIoZXZlbnQpIDogdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlkPXtpZH1cbiAgICAgICAgPlxuICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjYXRlZ29yeUljb24gPyAoXG4gICAgICAgICAgICAgIDxDb250YWluZXJDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImNlbnRlclwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgICBuYW1lPXtjYXRlZ29yeUljb259XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvQ29udGFpbmVyQ2F0ZWdvcnlJY29uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7dHlwZSA9PT0gJ3Bpbm5lZCcgJiYgZXhwYW5kZWQgPyAoXG4gICAgICAgICAgICAgIDxHcmFiSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJkcmFnLXZlcnRpY2FsXCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxTdGFjaz5cbiAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgYXM9XCJzcGFuXCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwiYm9keVNtYWxsU3Ryb25nXCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPXtcbiAgICAgICAgICAgICAgICAgIChjYXRlZ29yeUljb24gfHwgIWhhc1BhcmVudHMpICYmICFhY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgPyAnc3Ryb25nJ1xuICAgICAgICAgICAgICAgICAgICA6ICdkZWZhdWx0J1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgIHtzdWJMYWJlbCA/IChcbiAgICAgICAgICAgICAgICA8V3JhcFRleHRcbiAgICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwiY2FwdGlvblwiXG4gICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbj17YW5pbWF0aW9ufVxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgc3ViTGFiZWxcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7c3ViTGFiZWx9XG4gICAgICAgICAgICAgICAgPC9XcmFwVGV4dD5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIiBnYXA9e2hyZWYgPyAxIDogdW5kZWZpbmVkfT5cbiAgICAgICAgICAgIHtiYWRnZVRleHQgfHwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRCYWRnZVxuICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2JhZGdlU2VudGltZW50fVxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwic3Ryb25nXCJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7YmFkZ2VUZXh0fVxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRCYWRnZT5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICB7c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbiA/IChcbiAgICAgICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgICAgIHRleHQ9e1xuICAgICAgICAgICAgICAgICAgICAgIGlzSXRlbVBpbm5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBwaW5Ub29sdGlwTG9jYWxlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8UmVsYXRpdmVEaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwieHNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKSAvLyBUaGlzIGlzIHRvIGF2b2lkIGNsaWNrIHNwcmVhZCB0byB0aGUgcGFyZW50IGFuZCBjaGFuZ2UgdGhlIHJvdXRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSXRlbVBpbm5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5JdGVtKGlkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uUGluVW5waW5DbGljaz8uKGV2ZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEljb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXNJdGVtUGlubmVkID8gJ3VucGluJyA6ICdwaW4nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtpc0l0ZW1QaW5uZWQgPyAnZmlsbGVkJyA6ICdvdXRsaW5lZCd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9QaW5uZWRCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvUmVsYXRpdmVEaXY+XG4gICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7aGFzSHJlZkFuZE5vQ2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxBbmltYXRlZEljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtjaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPFN0YWNrIGdhcD17MX0gZGlyZWN0aW9uPVwicm93XCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgICAgIHshYW5pbWF0aW9uICYmICFub0V4cGFuZCA/IChcbiAgICAgICAgICAgICAgICAgIDxBbmltYXRlZEljb25cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17aW50ZXJuYWxUb2dnbGUgPyAnYXJyb3ctZG93bicgOiAnYXJyb3ctcmlnaHQnfVxuICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHshbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgIDxFeHBhbmRhYmxlXG4gICAgICAgICAgICAgICAgb3BlbmVkPXtpbnRlcm5hbFRvZ2dsZX1cbiAgICAgICAgICAgICAgICBhbmltYXRpb25EdXJhdGlvbj17XG4gICAgICAgICAgICAgICAgICBhbmltYXRpb24gPyBBTklNQVRJT05fRFVSQVRJT04gLyAyIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgICA8L0V4cGFuZGFibGU+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8UGFkZGVkU3RhY2s+e3JlbmRlckNoaWxkcmVufTwvUGFkZGVkU3RhY2s+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuXG4gIC8vIFRoaXMgY29udGVudCBpcyB0aGUgbWVudSBvZiB0aGUgbmF2aWdhdGlvbiB3aGVuIGNvbGxhcHNlZFxuICBpZiAoY2F0ZWdvcnlJY29uIHx8IChDaGlsZHJlbi5jb3VudChjaGlsZHJlbikgPiAwICYmICFoYXNQYXJlbnRzKSkge1xuICAgIHJldHVybiAoXG4gICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICB7Q2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCA/IChcbiAgICAgICAgICA8U3R5bGVkTWVudVxuICAgICAgICAgICAgdHJpZ2dlck1ldGhvZD1cImhvdmVyXCJcbiAgICAgICAgICAgIGR5bmFtaWNEb21SZW5kZXJpbmc9e2ZhbHNlfSAvLyBBcyB3ZSBwYXJzZSB0aGUgY2hpbGRyZW4gd2UgZG9uJ3QgbmVlZCBkeW5hbWljIHJlbmRlcmluZ1xuICAgICAgICAgICAgZGlzY2xvc3VyZT17XG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PXtoYXNBY3RpdmVDaGlsZHJlbiA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIGljb249eyFjYXRlZ29yeUljb24gPyAnZG90cy1ob3Jpem9udGFsJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtjYXRlZ29yeUljb24gPyAoXG4gICAgICAgICAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Q2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6IGNhdGVnb3J5SWNvblZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Q2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKVxuICAgICAgICAgICAgICAgID8gY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgICAgICAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIDogY2hpbGQsXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3R5bGVkTWVudT5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8VG9vbHRpcCB0ZXh0PXtsYWJlbH0gcGxhY2VtZW50PVwicmlnaHRcIiB0YWJJbmRleD17LTF9PlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ2ZpbGxlZCcgOiAnZ2hvc3QnfVxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNsaWNrPy4oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29uID8/ICdjb25zb2xlJ31cbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6IGNhdGVnb3J5SWNvblZhcmlhbnR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgKX1cbiAgICAgIDwvTWVudVN0YWNrPlxuICAgIClcbiAgfVxuXG4gIC8vIFRoaXMgY29udGVudCBpcyB3aGF0IGlzIGluc2lkZSBhIG1lbnUgaXRlbSB0aGUgbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWRcbiAgaWYgKGhhc1BhcmVudHMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZE1lbnVJdGVtXG4gICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBvbkNsaWNrPy4oKVxuICAgICAgICB9fVxuICAgICAgICBib3JkZXJsZXNzXG4gICAgICAgIGFjdGl2ZT17YWN0aXZlfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICBpc1Bpbm5hYmxlPXtzaG91bGRTaG93UGlubmVkQnV0dG9ufVxuICAgICAgPlxuICAgICAgICA8U3RhY2tcbiAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgZGlyZWN0aW9uPVwicm93XCJcbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIlxuICAgICAgICAgIGZsZXg9ezF9XG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxXcmFwVGV4dCBhcz1cInNwYW5cIiB2YXJpYW50PVwiYm9keVNtYWxsXCI+XG4gICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgPC9XcmFwVGV4dD5cbiAgICAgICAgICA8U3RhY2sgZGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0ID8gKFxuICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2JhZGdlU2VudGltZW50fVxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCYWRnZT5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbiA/IChcbiAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgIGlzSXRlbVBpbm5lZFxuICAgICAgICAgICAgICAgICAgICA/IGxvY2FsZXNbJ25hdmlnYXRpb24udW5waW4udG9vbHRpcCddXG4gICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UmVsYXRpdmVEaXY+XG4gICAgICAgICAgICAgICAgICA8UGlubmVkQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwieHNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGlzSXRlbVBpbm5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdW5waW5JdGVtKGlkKVxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwaW5JdGVtKGlkKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzSXRlbVBpbm5lZCA/IGZhbHNlIDogaXNQaW5EaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZEljb25cbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtpc0l0ZW1QaW5uZWQgPyAnZmlsbGVkJyA6ICdvdXRsaW5lZCd9XG4gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzSXRlbVBpbm5lZCA/IGZhbHNlIDogaXNQaW5EaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvUmVsYXRpdmVEaXY+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICA8L1N0eWxlZE1lbnVJdGVtPlxuICAgIClcbiAgfVxuXG4gIC8vIFRoaXMgY29udGVudCBpcyBmb3Igd2hlbiBuYXZpZ2F0aW9uIGlzIGNvbGxhcHNlZCBhbmQgd2Ugc2hvdyBhbiBpY29uIG9mIGxpbmtcbiAgaWYgKCFoYXNQYXJlbnRzICYmIGhyZWYpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCI+XG4gICAgICAgIDxNZW51U3RhY2sgZ2FwPXsxfSBhbGlnbkl0ZW1zPVwic3RhcnRcIiBqdXN0aWZ5Q29udGVudD1cInN0YXJ0XCI+XG4gICAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImNlbnRlclwiXG4gICAgICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgIHNlbnRpbWVudD1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29udGFpbmVyPlxuICAgICAgICA8L01lbnVTdGFjaz5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICApXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuIl19 */"));
|
|
141
|
+
const StyledStack = /* @__PURE__ */ _styled(Stack, process.env.NODE_ENV === "production" ? {
|
|
142
|
+
target: "e134hokc3"
|
|
143
|
+
} : {
|
|
144
|
+
target: "e134hokc3",
|
|
145
|
+
label: "StyledStack"
|
|
146
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
147
|
+
name: "13feash",
|
|
148
|
+
styles: "padding-left:28px"
|
|
149
|
+
} : {
|
|
150
|
+
name: "13feash",
|
|
151
|
+
styles: "padding-left:28px",
|
|
152
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNJaUMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */",
|
|
153
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
154
|
+
});
|
|
155
|
+
const StyledContainer = /* @__PURE__ */ _styled(Stack, process.env.NODE_ENV === "production" ? {
|
|
156
|
+
target: "e134hokc2"
|
|
157
|
+
} : {
|
|
158
|
+
target: "e134hokc2",
|
|
159
|
+
label: "StyledContainer"
|
|
160
|
+
})(NeutralButtonLink, ";border-radius:", ({
|
|
161
|
+
theme
|
|
162
|
+
}) => theme.radii.default, ";&[data-has-no-expand='false']{cursor:pointer;}margin-top:", ({
|
|
163
|
+
theme
|
|
164
|
+
}) => theme.space["0.25"], ";padding:", ({
|
|
165
|
+
theme
|
|
166
|
+
}) => `calc(${theme.space["0.25"]} + ${theme.space["0.5"]}) ${theme.space["1"]}`, ";&[data-has-sub-label='true']{padding:", ({
|
|
167
|
+
theme
|
|
168
|
+
}) => `${theme.space["0.5"]} ${theme.space["1"]}`, ";}width:100%;&:hover[data-has-no-expand='false']:not([disabled]):not(\n [data-is-active='true']\n ),&:focus[data-has-no-expand='false']:not([disabled]):not(\n [data-is-active='true']\n ){background-color:", ({
|
|
169
|
+
theme
|
|
170
|
+
}) => theme.colors.neutral.backgroundWeak, ";}&[data-has-active-children='true'][data-has-no-expand='false']:not(\n [disabled][data-is-active='true']\n ){background-color:", ({
|
|
171
|
+
theme
|
|
172
|
+
}) => theme.colors.neutral.backgroundWeakHover, ";", WrapText, "{color:", ({
|
|
173
|
+
theme
|
|
174
|
+
}) => theme.colors.neutral.textWeakHover, ";}", PinnedButton, "{opacity:1;}&[data-is-pinnable='true']{", StyledBadge, "{opacity:0;}}}&[data-has-no-expand='false']:not([disabled]){&:hover,&:focus,&:active{", PinnedButton, ",", GrabIcon, "{opacity:1;}", StyledBadge, "{opacity:0;}}}&:hover[data-has-children='false'][data-is-active='false']:not([disabled]){", WrapText, "{color:", ({
|
|
175
|
+
theme
|
|
176
|
+
}) => theme.colors.neutral.textWeakHover, ";}}&:active[data-has-no-expand='false']:not([disabled]):not(\n [data-is-active='true']\n ){background-color:", ({
|
|
177
|
+
theme
|
|
178
|
+
}) => theme.colors.neutral.backgroundHover, ";}&[data-is-active='true'],&:hover[data-has-active='true']{background-color:", ({
|
|
179
|
+
theme
|
|
180
|
+
}) => theme.colors.primary.background, ";&:hover{background-color:", ({
|
|
181
|
+
theme
|
|
182
|
+
}) => theme.colors.primary.backgroundHover, ";}}&[disabled]{cursor:not-allowed;background-color:unset;", WrapText, "{color:", ({
|
|
183
|
+
theme
|
|
184
|
+
}) => theme.colors.neutral.textWeakDisabled, ";}}&[data-animation='collapse']{animation:", shrinkHeight, " ", ANIMATION_DURATION, "ms ease-in-out;", WrapText, ",", AnimatedIcon, ",", StyledBadge, "{animation:", fadeIn, " ", ANIMATION_DURATION, "ms ease-in-out reverse;}}&[data-animation='expand']{animation:", shrinkHeight, " ", ANIMATION_DURATION, "ms ease-in-out reverse;", WrapText, ",", AnimatedIcon, ",", StyledBadge, "{animation:", fadeIn, " ", ANIMATION_DURATION, "ms ease-in-out;}", StyledStack, "{display:none;}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBJcUMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */"));
|
|
185
|
+
const MenuStack = /* @__PURE__ */ _styled(Stack, process.env.NODE_ENV === "production" ? {
|
|
186
|
+
target: "e134hokc1"
|
|
187
|
+
} : {
|
|
188
|
+
target: "e134hokc1",
|
|
189
|
+
label: "MenuStack"
|
|
190
|
+
})("padding:", ({
|
|
191
|
+
theme
|
|
192
|
+
}) => `0 ${theme.space["2"]}`, ";margin-top:", ({
|
|
193
|
+
theme
|
|
194
|
+
}) => theme.space["0.25"], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNQK0IiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */"));
|
|
195
|
+
const ContainerCategoryIcon = /* @__PURE__ */ _styled(Stack, process.env.NODE_ENV === "production" ? {
|
|
196
|
+
target: "e134hokc0"
|
|
197
|
+
} : {
|
|
198
|
+
target: "e134hokc0",
|
|
199
|
+
label: "ContainerCategoryIcon"
|
|
200
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
201
|
+
name: "d47oax",
|
|
202
|
+
styles: "min-width:20px"
|
|
203
|
+
} : {
|
|
204
|
+
name: "d47oax",
|
|
205
|
+
styles: "min-width:20px",
|
|
206
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3BsdXMvc3JjL2NvbXBvbmVudHMvTmF2aWdhdGlvbi9jb21wb25lbnRzL0l0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJQMkMiLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvdWx0cmF2aW9sZXQvdWx0cmF2aW9sZXQvcGFja2FnZXMvcGx1cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL2NvbXBvbmVudHMvSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHsgQ2F0ZWdvcnlJY29uLCBJY29uIH0gZnJvbSAnQHVsdHJhdmlvbGV0L2ljb25zJ1xuaW1wb3J0IHtcbiAgQmFkZ2UsXG4gIEJ1dHRvbixcbiAgRXhwYW5kYWJsZSxcbiAgTWVudVYyLFxuICBTdGFjayxcbiAgVGV4dCxcbiAgVG9vbHRpcCxcbiAgZmFkZUluLFxufSBmcm9tICdAdWx0cmF2aW9sZXQvdWknXG5pbXBvcnQgdHlwZSB7XG4gIENvbXBvbmVudFByb3BzLFxuICBEcmFnRXZlbnQsXG4gIEpTWCxcbiAgTW91c2VFdmVudCxcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENoaWxkcmVuLFxuICBjbG9uZUVsZW1lbnQsXG4gIGlzVmFsaWRFbGVtZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vTmF2aWdhdGlvblByb3ZpZGVyJ1xuaW1wb3J0IHsgQU5JTUFUSU9OX0RVUkFUSU9OLCBzaHJpbmtIZWlnaHQgfSBmcm9tICcuLi9jb25zdGFudHMnXG5cbmNvbnN0IFJlbGF0aXZlRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5jb25zdCBTdHlsZWRJY29uID0gc3R5bGVkKEljb24sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7IGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0byAwO1xuICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNwYWNlWycwLjI1J119O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRXZWFrSG92ZXJ9O1xuXG4gICAgJHsoeyBhY3RpdmUsIHRoZW1lIH0pID0+IChhY3RpdmUgPyBgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5iYWNrZ3JvdW5kSG92ZXJ9O2AgOiBudWxsKX1cbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTmV1dHJhbEJ1dHRvbkxpbmsgPSBjc3NgXG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbmBcblxuLy8gUGluIGJ1dHRvbiB3aGVuIHRoZSBuYXZpZ2F0aW9uIGlzIGV4cGFuZGVkXG5jb25zdCBMb2NhbEV4cGFuZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICBvcGFjaXR5OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjRweDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCBQaW5uZWRCdXR0b24gPSBMb2NhbEV4cGFuZEJ1dHRvbi53aXRoQ29tcG9uZW50KCdkaXYnKVxuXG5jb25zdCBHcmFiSWNvbiA9IHN0eWxlZChJY29uKWBcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luOiAwICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG4gIGN1cnNvcjogZ3JhYjtcbmBcblxuY29uc3QgU3R5bGVkQmFkZ2UgPSBzdHlsZWQoQmFkZ2UpYGBcblxuY29uc3QgU3R5bGVkTWVudUl0ZW0gPSBzdHlsZWQoTWVudVYyLkl0ZW0sIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnaXNQaW5uYWJsZSddLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICBpc1Bpbm5hYmxlPzogYm9vbGVhblxufT5gXG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgICR7UGlubmVkQnV0dG9ufSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIG9wYWNpdHk6ICR7KHsgaXNQaW5uYWJsZSB9KSA9PiAoaXNQaW5uYWJsZSA/IDAgOiAxKX07XG4gICAgfVxuICB9XG5gXG5cbmNvbnN0IFN0eWxlZE1lbnUgPSBzdHlsZWQoTWVudVYyKWBcbiAgd2lkdGg6IDE4MHB4O1xuYFxuXG5jb25zdCBQYWRkaW5nU3RhY2sgPSBzdHlsZWQoU3RhY2spYFxuICBwYWRkaW5nLWxlZnQ6IDI4cHg7IC8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgaGFyZGNvZGVkIGJlY2F1c2Ugb2YgdGhlIGNhdGVnb3J5IGljb24gc2l6ZVxuYFxuXG5jb25zdCBBbmltYXRlZEljb24gPSBzdHlsZWQoSWNvbilgYFxuXG5jb25zdCBXcmFwVGV4dCA9IHN0eWxlZChUZXh0LCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+XG4gICAgIVsnYW5pbWF0aW9uJywgJ3N1YkxhYmVsJywgJ3RleHRQcm9taW5lbmNlJ10uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIGFuaW1hdGlvbj86ICdjb2xsYXBzZScgfCAnZXhwYW5kJyB8IGJvb2xlYW5cbiAgc3ViTGFiZWw/OiBib29sZWFuXG59PmBcbiAgb3ZlcmZsb3ctd3JhcDogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3JtYWwnIDogJ2FueXdoZXJlJyl9O1xuICB3aGl0ZS1zcGFjZTogJHsoeyBhbmltYXRpb24gfSkgPT4gKGFuaW1hdGlvbiA/ICdub3dyYXAnIDogJ25vcm1hbCcpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuYFxuXG5jb25zdCBTdHlsZWRTdGFjayA9IHN0eWxlZChTdGFjaylgXG4gIHBhZGRpbmctbGVmdDogMjhweDsgLy8gVGhpcyB2YWx1ZSBuZWVkcyB0byBiZSBoYXJkY29kZWQgYmVjYXVzZSBvZiB0aGUgY2F0ZWdvcnkgaWNvbiBzaXplXG5gXG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZChTdGFjaylgXG4gICR7TmV1dHJhbEJ1dHRvbkxpbmt9O1xuICBib3JkZXItcmFkaXVzOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnJhZGlpLmRlZmF1bHR9O1xuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgbWFyZ2luLXRvcDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC4yNSddfTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PlxuICAgIGBjYWxjKCR7dGhlbWUuc3BhY2VbJzAuMjUnXX0gKyAke3RoZW1lLnNwYWNlWycwLjUnXX0pICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcblxuICAmW2RhdGEtaGFzLXN1Yi1sYWJlbD0ndHJ1ZSddIHtcbiAgICBwYWRkaW5nOiAkeyh7IHRoZW1lIH0pID0+IGAke3RoZW1lLnNwYWNlWycwLjUnXX0gJHt0aGVtZS5zcGFjZVsnMSddfWB9O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSxcbiAgJjpmb2N1c1tkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFtkaXNhYmxlZF0pOm5vdChcbiAgICAgIFtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kV2Vha307XG4gIH1cbiAgJltkYXRhLWhhcy1hY3RpdmUtY2hpbGRyZW49J3RydWUnXVtkYXRhLWhhcy1uby1leHBhbmQ9J2ZhbHNlJ106bm90KFxuICAgICAgW2Rpc2FibGVkXVtkYXRhLWlzLWFjdGl2ZT0ndHJ1ZSddXG4gICAgKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgICAgdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFdlYWtIb3Zlcn07XG4gICAgJHtXcmFwVGV4dH0ge1xuICAgICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFdlYWtIb3Zlcn07XG4gICAgfVxuXG4gICAgJHtQaW5uZWRCdXR0b259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJltkYXRhLWlzLXBpbm5hYmxlPSd0cnVlJ10ge1xuICAgICAgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1oYXMtbm8tZXhwYW5kPSdmYWxzZSddOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICR7UGlubmVkQnV0dG9ufSwgJHtHcmFiSWNvbn0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAke1N0eWxlZEJhZGdlfSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcltkYXRhLWhhcy1jaGlsZHJlbj0nZmFsc2UnXVtkYXRhLWlzLWFjdGl2ZT0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSkge1xuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrSG92ZXJ9O1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlW2RhdGEtaGFzLW5vLWV4cGFuZD0nZmFsc2UnXTpub3QoW2Rpc2FibGVkXSk6bm90KFxuICAgICAgW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ11cbiAgICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLmJhY2tncm91bmRIb3Zlcn07XG4gIH1cblxuICAmW2RhdGEtaXMtYWN0aXZlPSd0cnVlJ10sXG4gICY6aG92ZXJbZGF0YS1oYXMtYWN0aXZlPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLnByaW1hcnkuYmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuICAgICR7V3JhcFRleHR9IHtcbiAgICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5uZXV0cmFsLnRleHRXZWFrRGlzYWJsZWR9O1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1hbmltYXRpb249J2NvbGxhcHNlJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0O1xuICAgICR7V3JhcFRleHR9LCAke0FuaW1hdGVkSWNvbn0sICR7U3R5bGVkQmFkZ2V9IHtcbiAgICAgIGFuaW1hdGlvbjogJHtmYWRlSW59ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWFuaW1hdGlvbj0nZXhwYW5kJ10ge1xuICAgIGFuaW1hdGlvbjogJHtzaHJpbmtIZWlnaHR9ICR7QU5JTUFUSU9OX0RVUkFUSU9OfW1zIGVhc2UtaW4tb3V0IHJldmVyc2U7XG4gICAgJHtXcmFwVGV4dH0sICR7QW5pbWF0ZWRJY29ufSwgJHtTdHlsZWRCYWRnZX0ge1xuICAgICAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gJHtBTklNQVRJT05fRFVSQVRJT059bXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJHtTdHlsZWRTdGFja30ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgTWVudVN0YWNrID0gc3R5bGVkKFN0YWNrKWBcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgMCAke3RoZW1lLnNwYWNlWycyJ119YH07XG4gIG1hcmdpbi10b3A6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzAuMjUnXX07XG5gXG5cbmNvbnN0IENvbnRhaW5lckNhdGVnb3J5SWNvbiA9IHN0eWxlZChTdGFjaylgXG4gIG1pbi13aWR0aDogMjBweDtcbmBcblxudHlwZSBJdGVtVHlwZSA9ICdkZWZhdWx0JyB8ICdwaW5uZWQnIHwgJ3Bpbm5lZEdyb3VwJ1xuXG50eXBlIEl0ZW1Qcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGVcbiAgLyoqXG4gICAqIFNldHMgYSBjYXRlZ29yeSBpY29uIG9uIHRoZSBsZWZ0IG9mIHRoZSBpdGVtXG4gICAqL1xuICBjYXRlZ29yeUljb24/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsnbmFtZSddXG4gIGNhdGVnb3J5SWNvblZhcmlhbnQ/OiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2F0ZWdvcnlJY29uPlsndmFyaWFudCddXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIGl0ZW0gdGhhdCB3aWxsIGJlIHNob3duLlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgYXMgdGhlIGtleSBmb3IgcGlubmluZy5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBhIHVuaXF1ZSBpZCBhbmQgd2lsbCBiZSB1c2VkIGZvciBwaW4vdW5waW4gZmVhdHVyZS5cbiAgICovXG4gIGlkOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRleHQgc2hvd24gdW5kZXIgdGhlIGxhYmVsIHdpdGggYSBsaWdodGVyIGNvbG9yIGFuZCBzbWFsbGVyIGZvbnQgc2l6ZVxuICAgKi9cbiAgc3ViTGFiZWw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEJhZGdlIGlzIGFkZGVkIG9uIHRoZSByaWdodCBvZiB0aGUgaXRlbS4gSXQgaXMgaGlkZGVuIG9uIGhvdmVyIGlmIHBpbm5lZFxuICAgKiBmZWF0dXJlIGlzIGVuYWJsZWRcbiAgICovXG4gIGJhZGdlVGV4dD86IHN0cmluZ1xuICAvKipcbiAgICogRGVmaW5lZCB0aGUgc2VudGltZW50IG9mIHRoZSBiYWRnZSBhY2NvcmRpbmcgdG8gQmFkZ2UgY29tcG9uZW50IGZyb21cbiAgICogYEB1bHRyYXZpb2xldC91aWBcbiAgICovXG4gIGJhZGdlU2VudGltZW50PzogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJhZGdlPlsnc2VudGltZW50J11cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCBvbiBjbGljayBvZiB0aGUgaXRlbS4gSWYgdGhlIGl0ZW0gaXMgZXhwYW5kYWJsZVxuICAgKiB0b2dnbGUgd2lsbCBiZSBwYXNzZWQgd2l0aCBpdC5cbiAgICovXG4gIG9uQ2xpY2s/OiAodG9nZ2xlPzogdHJ1ZSB8IGZhbHNlKSA9PiB2b2lkXG4gIG9uUGluVW5waW5DbGljaz86IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgLyoqXG4gICAqIFRoaXMgcHJvcCBpcyB1c2VkIHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkXG4gICAqL1xuICB0b2dnbGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdXIgY3VycmVudCBwYWdlIGlzIHRoaXMgaXRlbS5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIHlvdSB3YW50IHRvIHJlbW92ZSBwaW4gYnV0dG9uIG9uIHlvdXIgaXRlbSB1c2UgdGhpcyBwcm9wXG4gICAqL1xuICBub1BpbkJ1dHRvbj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFlvdSBkb24ndCBuZWVkIHRvIHVzZSB0aGlzIHByb3AgaXQncyB1c2VkIGludGVybmFsbHkgdG8gY29udHJvbCB0aGUgdHlwZSBvZiB0aGUgaXRlbVxuICAgKi9cbiAgdHlwZT86IEl0ZW1UeXBlXG4gIC8qKlxuICAgKiBZb3UgZG9uJ3QgbmVlZCB0byB1c2UgdGhpcyBwcm9wIGl0J3MgdXNlZCBpbnRlcm5hbGx5IHRvIGNvbnRyb2wgaWYgdGhlIGl0ZW0gaGFzIGEgcGFyZW50XG4gICAqL1xuICBoYXNQYXJlbnRzPzogYm9vbGVhblxuICAvKipcbiAgICogWW91IGRvbid0IG5lZWQgdG8gdXNlIHRoaXMgcHJvcCBpdCdzIHVzZWQgaW50ZXJuYWxseSBmb3IgcGlubmVkIGl0ZW0gdG8gYmUgcmVvcmdhbml6ZWQgd2l0aCBkcmFnIGFuZCBkcm9wXG4gICAqL1xuICBpbmRleD86IG51bWJlclxuICAvKipcbiAgICogV2hlbiB0aGUgaXRlbSBoYXMgaHJlZiBpdCBiZWNvbWVzIGEgbGluayBpZiBub3QgaXQgaXMgYSBidXR0b24uXG4gICAqIFdoZW4gdXNpbmcgYW4gZXh0ZXJuYWwgcm91dGluZyB0b29sIHlvdSBtaWdodCBuZWVkIHRvIHJlbW92ZSBib3RoIG9mIHRoZW0gYW5kIHVzZVxuICAgKiBhIG5vbiBmb2N1c2FibGUgZWxlbWVudC4gVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBjaG9vc2UgdGhlIHRhZyBvZiB0aGVcbiAgICogaXRlbS5cbiAgICovXG4gIGFzPzoga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwcm9wIGlmIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgZXhwYW5kIGJlaGF2aW9yIHdoZW4gdGhlIGl0ZW1cbiAgICogaGFzIHN1YiBpdGVtcy5cbiAgICovXG4gIG5vRXhwYW5kPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBjaGlsZHJlbixcbiAgY2F0ZWdvcnlJY29uLFxuICBjYXRlZ29yeUljb25WYXJpYW50LFxuICBsYWJlbCxcbiAgc3ViTGFiZWwsXG4gIGJhZGdlVGV4dCxcbiAgYmFkZ2VTZW50aW1lbnQsXG4gIGhyZWYsXG4gIG9uQ2xpY2ssXG4gIG9uUGluVW5waW5DbGljayxcbiAgdG9nZ2xlLFxuICBhY3RpdmUsXG4gIG5vUGluQnV0dG9uLFxuICB0eXBlID0gJ2RlZmF1bHQnLFxuICBoYXNQYXJlbnRzLFxuICBhcyxcbiAgZGlzYWJsZWQsXG4gIG5vRXhwYW5kID0gZmFsc2UsXG4gIGluZGV4LFxuICBpZCxcbn06IEl0ZW1Qcm9wcykgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlTmF2aWdhdGlvbigpXG5cbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ05hdmlnYXRpb24uSXRlbSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIE5hdmlnYXRpb25Qcm92aWRlci4nLFxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBleHBhbmRlZCxcbiAgICBsb2NhbGVzLFxuICAgIHBpbm5lZEZlYXR1cmUsXG4gICAgcGluSXRlbSxcbiAgICB1bnBpbkl0ZW0sXG4gICAgcGlubmVkSXRlbXMsXG4gICAgcGluTGltaXQsXG4gICAgYW5pbWF0aW9uLFxuICAgIHJlZ2lzdGVySXRlbSxcbiAgfSA9IGNvbnRleHRcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGUgIT09ICdwaW5uZWRHcm91cCcpIHtcbiAgICAgICAgcmVnaXN0ZXJJdGVtKHsgW2lkXTogeyBsYWJlbCwgYWN0aXZlLCBvbkNsaWNrIH0gfSlcbiAgICAgIH1cbiAgICB9LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICBbYWN0aXZlLCBpZCwgbGFiZWwsIHJlZ2lzdGVySXRlbV0sXG4gIClcblxuICBjb25zdCBbaW50ZXJuYWxUb2dnbGUsIHNldFRvZ2dsZV0gPSB1c2VTdGF0ZSh0b2dnbGUgIT09IGZhbHNlKVxuXG4gIGNvbnN0IHRyaWdnZXJUb2dnbGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICAgIHNldFRvZ2dsZSh2YWx1ZSlcbiAgICAgIG9uQ2xpY2s/LihpbnRlcm5hbFRvZ2dsZSlcbiAgICB9LFxuICAgIFtpbnRlcm5hbFRvZ2dsZSwgb25DbGlja10sXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhbmltYXRpb24gPT09ICdjb2xsYXBzZScpIHtcbiAgICAgIHNldFRvZ2dsZShmYWxzZSlcbiAgICB9XG5cbiAgICBpZiAoYW5pbWF0aW9uID09PSAnZXhwYW5kJykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldFRvZ2dsZSh0b2dnbGUgPz8gdHJ1ZSlcbiAgICAgIH0sIDEpXG4gICAgfVxuICB9LCBbYW5pbWF0aW9uLCB0b2dnbGVdKVxuXG4gIGNvbnN0IFBhZGRlZFN0YWNrID0gbm9FeHBhbmQgfHwgdHlwZSA9PT0gJ3Bpbm5lZEdyb3VwJyA/IFN0YWNrIDogUGFkZGluZ1N0YWNrXG5cbiAgY29uc3QgaGFzSHJlZkFuZE5vQ2hpbGRyZW4gPSBocmVmICYmICFjaGlsZHJlblxuICBjb25zdCBoYXNQaW5uZWRGZWF0dXJlQW5kTm9DaGlsZHJlbiA9XG4gICAgcGlubmVkRmVhdHVyZSAmJiAhY2hpbGRyZW4gJiYgIW5vUGluQnV0dG9uXG4gIGNvbnN0IGlzSXRlbVBpbm5lZCA9IHBpbm5lZEl0ZW1zLmluY2x1ZGVzKGlkKVxuICBjb25zdCBzaG91bGRTaG93UGlubmVkQnV0dG9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGhyZWYgfHwgZGlzYWJsZWQpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuICYmIHR5cGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0sIFtkaXNhYmxlZCwgaGFzUGlubmVkRmVhdHVyZUFuZE5vQ2hpbGRyZW4sIGhyZWYsIHR5cGVdKVxuXG4gIGNvbnN0IGhhc0FjdGl2ZUNoaWxkcmVuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbikgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gKFxuICAgICAgQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgICBpc1ZhbGlkRWxlbWVudDxJdGVtUHJvcHM+KGNoaWxkKSA/IGNoaWxkLnByb3BzPy5hY3RpdmUgOiBmYWxzZSxcbiAgICAgICkgYXMgYm9vbGVhbltdXG4gICAgKS5pbmNsdWRlcyh0cnVlKVxuICB9LCBbY2hpbGRyZW5dKVxuXG4gIGNvbnN0IGNvbnRhaW5lclRhZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChhcykge1xuICAgICAgcmV0dXJuIGFzXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gJ2EnXG4gICAgfVxuXG4gICAgaWYgKG5vRXhwYW5kKSB7XG4gICAgICByZXR1cm4gJ2RpdidcbiAgICB9XG5cbiAgICByZXR1cm4gJ2J1dHRvbidcbiAgfSwgW2FzLCBoYXNIcmVmQW5kTm9DaGlsZHJlbiwgbm9FeHBhbmRdKVxuXG4gIGNvbnN0IENvbnRhaW5lciA9IFN0eWxlZENvbnRhaW5lci53aXRoQ29tcG9uZW50KGNvbnRhaW5lclRhZylcblxuICBjb25zdCBhcmlhRXhwYW5kZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaGFzSHJlZkFuZE5vQ2hpbGRyZW4gJiYgaW50ZXJuYWxUb2dnbGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhhc0hyZWZBbmROb0NoaWxkcmVuICYmICFpbnRlcm5hbFRvZ2dsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbaGFzSHJlZkFuZE5vQ2hpbGRyZW4sIGludGVybmFsVG9nZ2xlXSlcblxuICBjb25zdCBpc1BpbkRpc2FibGVkID0gcGlubmVkSXRlbXMubGVuZ3RoID49IHBpbkxpbWl0XG4gIGNvbnN0IHBpblRvb2x0aXBMb2NhbGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNQaW5EaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGxvY2FsZXNbJ25hdmlnYXRpb24ucGluLmxpbWl0J11cbiAgICB9XG5cbiAgICBpZiAoaXNJdGVtUGlubmVkKSB7XG4gICAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICB9XG5cbiAgICByZXR1cm4gbG9jYWxlc1snbmF2aWdhdGlvbi5waW4udG9vbHRpcCddXG4gIH0sIFtpc0l0ZW1QaW5uZWQsIGlzUGluRGlzYWJsZWQsIGxvY2FsZXNdKVxuXG4gIGNvbnN0IG9uRHJhZ1N0YXJ0VHJpZ2dlciA9IChldmVudDogRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCd0ZXh0L3BsYWluJywgSlNPTi5zdHJpbmdpZnkoeyBsYWJlbCwgaW5kZXggfSkpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzAuNSdcbiAgfVxuXG4gIGNvbnN0IG9uRHJhZ1N0b3BUcmlnZ2VyID0gKGV2ZW50OiBEcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgZXZlbnQuY3VycmVudFRhcmdldC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBleHBhbmRlZFxuICBpZiAoZXhwYW5kZWQgfHwgKCFleHBhbmRlZCAmJiBhbmltYXRpb24gPT09ICdleHBhbmQnKSkge1xuICAgIGNvbnN0IHJlbmRlckNoaWxkcmVuID0gQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBjaGlsZCA9PlxuICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgPyBjbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICAgICAgICAgIGhhc1BhcmVudHM6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBjaGlsZCxcbiAgICApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICBkaXJlY3Rpb249XCJyb3dcIlxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiXG4gICAgICAgICAgZGF0YS1oYXMtc3ViLWxhYmVsPXshIXN1YkxhYmVsfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICByZXR1cm4gdHJpZ2dlclRvZ2dsZSghaW50ZXJuYWxUb2dnbGUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBvbkNsaWNrPy4oKVxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1leHBhbmRlZD17YXJpYUV4cGFuZGVkfVxuICAgICAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICAgICAgdGFyZ2V0PXtocmVmID8gJ19ibGFuaycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgZGF0YS1pcy1waW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgICAgICBkYXRhLWlzLWFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGRhdGEtYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgZGF0YS1oYXMtY2hpbGRyZW49eyEhY2hpbGRyZW59XG4gICAgICAgICAgZGF0YS1oYXMtYWN0aXZlLWNoaWxkcmVuPXtoYXNBY3RpdmVDaGlsZHJlbn1cbiAgICAgICAgICBkYXRhLWhhcy1uby1leHBhbmQ9e25vRXhwYW5kfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkcmFnZ2FibGU9e3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkfVxuICAgICAgICAgIG9uRHJhZ1N0YXJ0PXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0YXJ0VHJpZ2dlcihldmVudCkgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgb25EcmFnRW5kPXsoZXZlbnQ6IERyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+XG4gICAgICAgICAgICBleHBhbmRlZCA/IG9uRHJhZ1N0b3BUcmlnZ2VyKGV2ZW50KSA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZD17aWR9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2tcbiAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICA8Q29udGFpbmVyQ2F0ZWdvcnlJY29uXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgbmFtZT17Y2F0ZWdvcnlJY29ufVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD17YWN0aXZlID8gJ3ByaW1hcnknIDogY2F0ZWdvcnlJY29uVmFyaWFudH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0NvbnRhaW5lckNhdGVnb3J5SWNvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3R5cGUgPT09ICdwaW5uZWQnICYmIGV4cGFuZGVkID8gKFxuICAgICAgICAgICAgICA8R3JhYkljb25cbiAgICAgICAgICAgICAgICBuYW1lPVwiZHJhZy12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8U3RhY2s+XG4gICAgICAgICAgICAgIDxXcmFwVGV4dFxuICAgICAgICAgICAgICAgIGFzPVwic3BhblwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cImJvZHlTbWFsbFN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT17XG4gICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlJY29uIHx8ICFoYXNQYXJlbnRzKSAmJiAhYWN0aXZlXG4gICAgICAgICAgICAgICAgICAgID8gJ3N0cm9uZydcbiAgICAgICAgICAgICAgICAgICAgOiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uPXthbmltYXRpb259XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICA8L1dyYXBUZXh0PlxuICAgICAgICAgICAgICB7c3ViTGFiZWwgPyAoXG4gICAgICAgICAgICAgICAgPFdyYXBUZXh0XG4gICAgICAgICAgICAgICAgICBhcz1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImNhcHRpb25cIlxuICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwid2Vha1wiXG4gICAgICAgICAgICAgICAgICBhbmltYXRpb249e2FuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgIHN1YkxhYmVsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3N1YkxhYmVsfVxuICAgICAgICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgIDxTdGFjayBkaXJlY3Rpb249XCJyb3dcIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXtocmVmID8gMSA6IHVuZGVmaW5lZH0+XG4gICAgICAgICAgICB7YmFkZ2VUZXh0IHx8IGhhc1Bpbm5lZEZlYXR1cmVBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cInN0cm9uZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2JhZGdlVGV4dH1cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICB0ZXh0PXtcbiAgICAgICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbG9jYWxlc1snbmF2aWdhdGlvbi51bnBpbi50b29sdGlwJ11cbiAgICAgICAgICAgICAgICAgICAgICAgIDogcGluVG9vbHRpcExvY2FsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxQaW5uZWRCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkgLy8gVGhpcyBpcyB0byBhdm9pZCBjbGljayBzcHJlYWQgdG8gdGhlIHBhcmVudCBhbmQgY2hhbmdlIHRoZSByb3V0aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnBpbkl0ZW0oaWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvblBpblVucGluQ2xpY2s/LihldmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2lzSXRlbVBpbm5lZCA/ICd1bnBpbicgOiAncGluJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNJdGVtUGlubmVkID8gZmFsc2UgOiBpc1BpbkRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUGlubmVkQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2hhc0hyZWZBbmROb0NoaWxkcmVuID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW4taW4tbmV3XCJcbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICBwcm9taW5lbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgIDxTdGFjayBnYXA9ezF9IGRpcmVjdGlvbj1cInJvd1wiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICB7IWFuaW1hdGlvbiAmJiAhbm9FeHBhbmQgPyAoXG4gICAgICAgICAgICAgICAgICA8QW5pbWF0ZWRJY29uXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e2ludGVybmFsVG9nZ2xlID8gJ2Fycm93LWRvd24nIDogJ2Fycm93LXJpZ2h0J31cbiAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7IW5vRXhwYW5kID8gKFxuICAgICAgICAgICAgICA8RXhwYW5kYWJsZVxuICAgICAgICAgICAgICAgIG9wZW5lZD17aW50ZXJuYWxUb2dnbGV9XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uRHVyYXRpb249e1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uID8gQU5JTUFUSU9OX0RVUkFUSU9OIC8gMiA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYWRkZWRTdGFjaz57cmVuZGVyQ2hpbGRyZW59PC9QYWRkZWRTdGFjaz5cbiAgICAgICAgICAgICAgPC9FeHBhbmRhYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFBhZGRlZFN0YWNrPntyZW5kZXJDaGlsZHJlbn08L1BhZGRlZFN0YWNrPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgdGhlIG1lbnUgb2YgdGhlIG5hdmlnYXRpb24gd2hlbiBjb2xsYXBzZWRcbiAgaWYgKGNhdGVnb3J5SWNvbiB8fCAoQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMCAmJiAhaGFzUGFyZW50cykpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1lbnVTdGFjayBnYXA9ezF9IGFsaWduSXRlbXM9XCJzdGFydFwiIGp1c3RpZnlDb250ZW50PVwic3RhcnRcIj5cbiAgICAgICAge0NoaWxkcmVuLmNvdW50KGNoaWxkcmVuKSA+IDAgPyAoXG4gICAgICAgICAgPFN0eWxlZE1lbnVcbiAgICAgICAgICAgIHRyaWdnZXJNZXRob2Q9XCJob3ZlclwiXG4gICAgICAgICAgICBkeW5hbWljRG9tUmVuZGVyaW5nPXtmYWxzZX0gLy8gQXMgd2UgcGFyc2UgdGhlIGNoaWxkcmVuIHdlIGRvbid0IG5lZWQgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIGRpc2Nsb3N1cmU9e1xuICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD17aGFzQWN0aXZlQ2hpbGRyZW4gPyAnZmlsbGVkJyA6ICdnaG9zdCd9XG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICBpY29uPXshY2F0ZWdvcnlJY29uID8gJ2RvdHMtaG9yaXpvbnRhbCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnlJY29uID8gKFxuICAgICAgICAgICAgICAgICAgPFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENhdGVnb3J5SWNvblxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbn1cbiAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge0NoaWxkcmVuLm1hcChjaGlsZHJlbiwgY2hpbGQgPT5cbiAgICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQ8SXRlbVByb3BzPihjaGlsZClcbiAgICAgICAgICAgICAgICA/IGNsb25lRWxlbWVudChjaGlsZCwge1xuICAgICAgICAgICAgICAgICAgICBoYXNQYXJlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICA6IGNoaWxkLFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1N0eWxlZE1lbnU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2x0aXAgdGV4dD17bGFiZWx9IHBsYWNlbWVudD1cInJpZ2h0XCIgdGFiSW5kZXg9ey0xfT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgIHZhcmlhbnQ9e2FjdGl2ZSA/ICdmaWxsZWQnIDogJ2dob3N0J31cbiAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTdGFja1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDYXRlZ29yeUljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2NhdGVnb3J5SWNvbiA/PyAnY29uc29sZSd9XG4gICAgICAgICAgICAgICAgICB2YXJpYW50PXthY3RpdmUgPyAncHJpbWFyeScgOiBjYXRlZ29yeUljb25WYXJpYW50fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3RhY2s+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L01lbnVTdGFjaz5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgd2hhdCBpcyBpbnNpZGUgYSBtZW51IGl0ZW0gdGhlIG5hdmlnYXRpb24gaXMgY29sbGFwc2VkXG4gIGlmIChoYXNQYXJlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNZW51SXRlbVxuICAgICAgICBocmVmPXtocmVmfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgb25DbGljaz8uKClcbiAgICAgICAgfX1cbiAgICAgICAgYm9yZGVybGVzc1xuICAgICAgICBhY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBzZW50aW1lbnQ9e2FjdGl2ZSA/ICdwcmltYXJ5JyA6ICduZXV0cmFsJ31cbiAgICAgICAgaXNQaW5uYWJsZT17c2hvdWxkU2hvd1Bpbm5lZEJ1dHRvbn1cbiAgICAgID5cbiAgICAgICAgPFN0YWNrXG4gICAgICAgICAgZ2FwPXsxfVxuICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCJcbiAgICAgICAgICBmbGV4PXsxfVxuICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgID5cbiAgICAgICAgICA8V3JhcFRleHQgYXM9XCJzcGFuXCIgdmFyaWFudD1cImJvZHlTbWFsbFwiPlxuICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDwvV3JhcFRleHQ+XG4gICAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICAgICAge2JhZGdlVGV4dCA/IChcbiAgICAgICAgICAgICAgPFN0eWxlZEJhZGdlXG4gICAgICAgICAgICAgICAgc2VudGltZW50PXtiYWRnZVNlbnRpbWVudH1cbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgIHByb21pbmVuY2U9XCJzdHJvbmdcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYWRnZVRleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkQmFkZ2U+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtoYXNIcmVmQW5kTm9DaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICAgIG5hbWU9XCJvcGVuLWluLW5ld1wiXG4gICAgICAgICAgICAgICAgc2VudGltZW50PVwibmV1dHJhbFwiXG4gICAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge3Nob3VsZFNob3dQaW5uZWRCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGV4dD17XG4gICAgICAgICAgICAgICAgICBpc0l0ZW1QaW5uZWRcbiAgICAgICAgICAgICAgICAgICAgPyBsb2NhbGVzWyduYXZpZ2F0aW9uLnVucGluLnRvb2x0aXAnXVxuICAgICAgICAgICAgICAgICAgICA6IHBpblRvb2x0aXBMb2NhbGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFJlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICAgICAgPFBpbm5lZEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgICAgIHNlbnRpbWVudD17YWN0aXZlID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZXZlbnQ6IE1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIC8vIFRoaXMgaXMgdG8gYXZvaWQgY2xpY2sgc3ByZWFkIHRvIHRoZSBwYXJlbnQgYW5kIGNoYW5nZSB0aGUgcm91dGluZ1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0l0ZW1QaW5uZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVucGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGluSXRlbShpZClcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgb25QaW5VbnBpbkNsaWNrPy4oZXZlbnQpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpc0l0ZW1QaW5uZWQgPyAndW5waW4nIDogJ3Bpbid9XG4gICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD17aXNJdGVtUGlubmVkID8gJ2ZpbGxlZCcgOiAnb3V0bGluZWQnfVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0l0ZW1QaW5uZWQgPyBmYWxzZSA6IGlzUGluRGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgc2VudGltZW50PXthY3RpdmUgPyAncHJpbWFyeScgOiAnbmV1dHJhbCd9XG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1Bpbm5lZEJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1JlbGF0aXZlRGl2PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICA8L1N0YWNrPlxuICAgICAgPC9TdHlsZWRNZW51SXRlbT5cbiAgICApXG4gIH1cblxuICAvLyBUaGlzIGNvbnRlbnQgaXMgZm9yIHdoZW4gbmF2aWdhdGlvbiBpcyBjb2xsYXBzZWQgYW5kIHdlIHNob3cgYW4gaWNvbiBvZiBsaW5rXG4gIGlmICghaGFzUGFyZW50cyAmJiBocmVmKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxUb29sdGlwIHRleHQ9e2xhYmVsfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICA8TWVudVN0YWNrIGdhcD17MX0gYWxpZ25JdGVtcz1cInN0YXJ0XCIganVzdGlmeUNvbnRlbnQ9XCJzdGFydFwiPlxuICAgICAgICAgIDxDb250YWluZXJcbiAgICAgICAgICAgIGdhcD17MX1cbiAgICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFuaW1hdGVkSWNvblxuICAgICAgICAgICAgICBuYW1lPVwib3Blbi1pbi1uZXdcIlxuICAgICAgICAgICAgICBzZW50aW1lbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgcHJvbWluZW5jZT1cIndlYWtcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9NZW51U3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdfQ== */",
|
|
207
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
208
|
+
});
|
|
209
|
+
const Item = ({
|
|
210
|
+
children,
|
|
211
|
+
categoryIcon,
|
|
212
|
+
categoryIconVariant,
|
|
213
|
+
label,
|
|
214
|
+
subLabel,
|
|
215
|
+
badgeText,
|
|
216
|
+
badgeSentiment,
|
|
217
|
+
href,
|
|
218
|
+
onClick,
|
|
219
|
+
onPinUnpinClick,
|
|
220
|
+
toggle,
|
|
221
|
+
active,
|
|
222
|
+
noPinButton,
|
|
223
|
+
type = "default",
|
|
224
|
+
hasParents,
|
|
225
|
+
as,
|
|
226
|
+
disabled,
|
|
227
|
+
noExpand = false,
|
|
228
|
+
index,
|
|
229
|
+
id
|
|
230
|
+
}) => {
|
|
231
|
+
const context = useNavigation();
|
|
232
|
+
if (!context) {
|
|
233
|
+
throw new Error("Navigation.Item can only be used inside a NavigationProvider.");
|
|
234
|
+
}
|
|
235
|
+
const {
|
|
236
|
+
expanded,
|
|
237
|
+
locales,
|
|
238
|
+
pinnedFeature,
|
|
239
|
+
pinItem,
|
|
240
|
+
unpinItem,
|
|
241
|
+
pinnedItems,
|
|
242
|
+
pinLimit,
|
|
243
|
+
animation,
|
|
244
|
+
registerItem
|
|
245
|
+
} = context;
|
|
246
|
+
useEffect(
|
|
247
|
+
() => {
|
|
248
|
+
if (type !== "pinnedGroup") {
|
|
249
|
+
registerItem({
|
|
250
|
+
[id]: {
|
|
251
|
+
label,
|
|
252
|
+
active,
|
|
253
|
+
onClick
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
259
|
+
[active, id, label, registerItem]
|
|
260
|
+
);
|
|
261
|
+
const [internalToggle, setToggle] = useState(toggle !== false);
|
|
262
|
+
const triggerToggle = useCallback((value) => {
|
|
263
|
+
setToggle(value);
|
|
264
|
+
onClick?.(internalToggle);
|
|
265
|
+
}, [internalToggle, onClick]);
|
|
266
|
+
useEffect(() => {
|
|
267
|
+
if (animation === "collapse") {
|
|
268
|
+
setToggle(false);
|
|
269
|
+
}
|
|
270
|
+
if (animation === "expand") {
|
|
271
|
+
setTimeout(() => {
|
|
272
|
+
setToggle(toggle ?? true);
|
|
273
|
+
}, 1);
|
|
274
|
+
}
|
|
275
|
+
}, [animation, toggle]);
|
|
276
|
+
const PaddedStack = noExpand || type === "pinnedGroup" ? Stack : PaddingStack;
|
|
277
|
+
const hasHrefAndNoChildren = href && !children;
|
|
278
|
+
const hasPinnedFeatureAndNoChildren = pinnedFeature && !children && !noPinButton;
|
|
279
|
+
const isItemPinned = pinnedItems.includes(id);
|
|
280
|
+
const shouldShowPinnedButton = useMemo(() => {
|
|
281
|
+
if (href || disabled)
|
|
282
|
+
return false;
|
|
283
|
+
if (hasPinnedFeatureAndNoChildren && type !== "default") {
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
if (hasPinnedFeatureAndNoChildren) {
|
|
287
|
+
return true;
|
|
288
|
+
}
|
|
289
|
+
return false;
|
|
290
|
+
}, [disabled, hasPinnedFeatureAndNoChildren, href, type]);
|
|
291
|
+
const hasActiveChildren = useMemo(() => {
|
|
292
|
+
if (!children)
|
|
293
|
+
return false;
|
|
294
|
+
return Children.map(children, (child) => isValidElement(child) ? child.props?.active : false).includes(true);
|
|
295
|
+
}, [children]);
|
|
296
|
+
const containerTag = useMemo(() => {
|
|
297
|
+
if (as) {
|
|
298
|
+
return as;
|
|
299
|
+
}
|
|
300
|
+
if (hasHrefAndNoChildren) {
|
|
301
|
+
return "a";
|
|
302
|
+
}
|
|
303
|
+
if (noExpand) {
|
|
304
|
+
return "div";
|
|
305
|
+
}
|
|
306
|
+
return "button";
|
|
307
|
+
}, [as, hasHrefAndNoChildren, noExpand]);
|
|
308
|
+
const Container = StyledContainer.withComponent(containerTag, process.env.NODE_ENV === "production" ? {
|
|
309
|
+
target: "e134hokc15"
|
|
310
|
+
} : {
|
|
311
|
+
target: "e134hokc15",
|
|
312
|
+
label: "Container"
|
|
313
|
+
});
|
|
314
|
+
const ariaExpanded = useMemo(() => {
|
|
315
|
+
if (hasHrefAndNoChildren && internalToggle) {
|
|
316
|
+
return true;
|
|
317
|
+
}
|
|
318
|
+
if (hasHrefAndNoChildren && !internalToggle) {
|
|
319
|
+
return false;
|
|
320
|
+
}
|
|
321
|
+
return void 0;
|
|
322
|
+
}, [hasHrefAndNoChildren, internalToggle]);
|
|
323
|
+
const isPinDisabled = pinnedItems.length >= pinLimit;
|
|
324
|
+
const pinTooltipLocale = useMemo(() => {
|
|
325
|
+
if (isPinDisabled) {
|
|
326
|
+
return locales["navigation.pin.limit"];
|
|
327
|
+
}
|
|
328
|
+
if (isItemPinned) {
|
|
329
|
+
return locales["navigation.unpin.tooltip"];
|
|
330
|
+
}
|
|
331
|
+
return locales["navigation.pin.tooltip"];
|
|
332
|
+
}, [isItemPinned, isPinDisabled, locales]);
|
|
333
|
+
const onDragStartTrigger = (event) => {
|
|
334
|
+
event.dataTransfer.setData("text/plain", JSON.stringify({
|
|
335
|
+
label,
|
|
336
|
+
index
|
|
337
|
+
}));
|
|
338
|
+
event.currentTarget.style.opacity = "0.5";
|
|
339
|
+
};
|
|
340
|
+
const onDragStopTrigger = (event) => {
|
|
341
|
+
event.currentTarget.style.opacity = "1";
|
|
342
|
+
};
|
|
343
|
+
if (expanded || !expanded && animation === "expand") {
|
|
344
|
+
const renderChildren = Children.map(children, (child) => isValidElement(child) ? cloneElement(child, {
|
|
345
|
+
hasParents: true
|
|
346
|
+
}) : child);
|
|
347
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
348
|
+
/* @__PURE__ */ jsxs(Container, { gap: 1, direction: "row", alignItems: "center", justifyContent: "space-between", "data-has-sub-label": !!subLabel, onClick: () => {
|
|
349
|
+
if (children) {
|
|
350
|
+
return triggerToggle(!internalToggle);
|
|
351
|
+
}
|
|
352
|
+
return onClick?.();
|
|
353
|
+
}, "aria-expanded": ariaExpanded, href, target: href ? "_blank" : void 0, "data-is-pinnable": shouldShowPinnedButton, "data-is-active": active, "data-animation": animation, "data-has-children": !!children, "data-has-active-children": hasActiveChildren, "data-has-no-expand": noExpand, disabled, draggable: type === "pinned" && expanded, onDragStart: (event) => expanded ? onDragStartTrigger(event) : void 0, onDragEnd: (event) => expanded ? onDragStopTrigger(event) : void 0, id, children: [
|
|
354
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "center", children: [
|
|
355
|
+
categoryIcon ? /* @__PURE__ */ jsx(ContainerCategoryIcon, { alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ jsx(CategoryIcon, { name: categoryIcon, variant: active ? "primary" : categoryIconVariant, disabled }) }) : null,
|
|
356
|
+
type === "pinned" && expanded ? /* @__PURE__ */ jsx(GrabIcon, { name: "drag-vertical", sentiment: "neutral", prominence: "weak", size: "small", disabled }) : null,
|
|
357
|
+
/* @__PURE__ */ jsxs(Stack, { children: [
|
|
358
|
+
/* @__PURE__ */ jsx(WrapText, { as: "span", variant: "bodySmallStrong", sentiment: active ? "primary" : "neutral", prominence: (categoryIcon || !hasParents) && !active ? "strong" : "default", animation, disabled, children: label }),
|
|
359
|
+
subLabel ? /* @__PURE__ */ jsx(WrapText, { as: "span", variant: "caption", sentiment: "neutral", prominence: "weak", animation, disabled, subLabel: true, children: subLabel }) : null
|
|
360
|
+
] })
|
|
361
|
+
] }),
|
|
362
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", alignItems: "center", gap: href ? 1 : void 0, children: [
|
|
363
|
+
badgeText || hasPinnedFeatureAndNoChildren ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
364
|
+
badgeText ? /* @__PURE__ */ jsx(StyledBadge, { sentiment: badgeSentiment, size: "small", prominence: "strong", disabled, children: badgeText }) : null,
|
|
365
|
+
shouldShowPinnedButton ? /* @__PURE__ */ jsx(Tooltip, { text: isItemPinned ? locales["navigation.unpin.tooltip"] : pinTooltipLocale, placement: "right", children: /* @__PURE__ */ jsx(RelativeDiv, { children: /* @__PURE__ */ jsx(PinnedButton, { role: "button", size: "xsmall", variant: "ghost", sentiment: active ? "primary" : "neutral", onClick: (event) => {
|
|
366
|
+
event.preventDefault();
|
|
367
|
+
event.stopPropagation();
|
|
368
|
+
if (isItemPinned) {
|
|
369
|
+
unpinItem(id);
|
|
370
|
+
} else {
|
|
371
|
+
pinItem(id);
|
|
372
|
+
}
|
|
373
|
+
onPinUnpinClick?.(event);
|
|
374
|
+
}, disabled: isItemPinned ? false : isPinDisabled, children: /* @__PURE__ */ jsx(StyledIcon, { size: "large", name: isItemPinned ? "unpin" : "pin", variant: isItemPinned ? "filled" : "outlined", disabled: isItemPinned ? false : isPinDisabled, sentiment: active ? "primary" : "neutral", active }) }) }) }) : null
|
|
375
|
+
] }) : null,
|
|
376
|
+
hasHrefAndNoChildren ? /* @__PURE__ */ jsx(AnimatedIcon, { name: "open-in-new", sentiment: "neutral", prominence: "default", disabled }) : null,
|
|
377
|
+
children ? /* @__PURE__ */ jsx(Stack, { gap: 1, direction: "row", alignItems: "center", children: !animation && !noExpand ? /* @__PURE__ */ jsx(AnimatedIcon, { name: internalToggle ? "arrow-down" : "arrow-right", sentiment: "neutral", prominence: "weak" }) : null }) : null
|
|
378
|
+
] })
|
|
379
|
+
] }),
|
|
380
|
+
children ? /* @__PURE__ */ jsx(Fragment, { children: !noExpand ? /* @__PURE__ */ jsx(Expandable, { opened: internalToggle, animationDuration: animation ? ANIMATION_DURATION / 2 : void 0, children: /* @__PURE__ */ jsx(PaddedStack, { children: renderChildren }) }) : /* @__PURE__ */ jsx(PaddedStack, { children: renderChildren }) }) : null
|
|
381
|
+
] });
|
|
382
|
+
}
|
|
383
|
+
if (categoryIcon || Children.count(children) > 0 && !hasParents) {
|
|
384
|
+
return /* @__PURE__ */ jsx(MenuStack, { gap: 1, alignItems: "start", justifyContent: "start", children: Children.count(children) > 0 ? /* @__PURE__ */ jsx(
|
|
385
|
+
StyledMenu,
|
|
386
|
+
{
|
|
387
|
+
triggerMethod: "hover",
|
|
388
|
+
dynamicDomRendering: false,
|
|
389
|
+
disclosure: /* @__PURE__ */ jsx(Button, { sentiment: "neutral", variant: hasActiveChildren ? "filled" : "ghost", size: "small", icon: !categoryIcon ? "dots-horizontal" : void 0, children: categoryIcon ? /* @__PURE__ */ jsx(Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ jsx(CategoryIcon, { name: categoryIcon, variant: active ? "primary" : categoryIconVariant }) }) : null }),
|
|
390
|
+
placement: "right",
|
|
391
|
+
children: Children.map(children, (child) => isValidElement(child) ? cloneElement(child, {
|
|
392
|
+
hasParents: true
|
|
393
|
+
}) : child)
|
|
394
|
+
}
|
|
395
|
+
) : /* @__PURE__ */ jsx(Tooltip, { text: label, placement: "right", tabIndex: -1, children: /* @__PURE__ */ jsx(Button, { sentiment: "neutral", variant: active ? "filled" : "ghost", size: "small", onClick: () => onClick?.(), children: /* @__PURE__ */ jsx(Stack, { direction: "row", gap: 1, alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ jsx(CategoryIcon, { name: categoryIcon ?? "console", variant: active ? "primary" : categoryIconVariant }) }) }) }) });
|
|
396
|
+
}
|
|
397
|
+
if (hasParents) {
|
|
398
|
+
return /* @__PURE__ */ jsx(StyledMenuItem, { href, onClick: () => {
|
|
399
|
+
onClick?.();
|
|
400
|
+
}, borderless: true, active, disabled, sentiment: active ? "primary" : "neutral", isPinnable: shouldShowPinnedButton, children: /* @__PURE__ */ jsxs(Stack, { gap: 1, direction: "row", alignItems: "center", justifyContent: "space-between", flex: 1, width: "100%", children: [
|
|
401
|
+
/* @__PURE__ */ jsx(WrapText, { as: "span", variant: "bodySmall", children: label }),
|
|
402
|
+
/* @__PURE__ */ jsxs(Stack, { direction: "row", children: [
|
|
403
|
+
badgeText ? /* @__PURE__ */ jsx(StyledBadge, { sentiment: badgeSentiment, size: "small", prominence: "strong", disabled, children: badgeText }) : null,
|
|
404
|
+
hasHrefAndNoChildren ? /* @__PURE__ */ jsx(AnimatedIcon, { name: "open-in-new", sentiment: "neutral", prominence: "weak", disabled }) : null,
|
|
405
|
+
shouldShowPinnedButton ? /* @__PURE__ */ jsx(Tooltip, { text: isItemPinned ? locales["navigation.unpin.tooltip"] : pinTooltipLocale, placement: "right", children: /* @__PURE__ */ jsx(RelativeDiv, { children: /* @__PURE__ */ jsx(PinnedButton, { role: "button", size: "xsmall", variant: "ghost", sentiment: active ? "primary" : "neutral", onClick: (event) => {
|
|
406
|
+
event.preventDefault();
|
|
407
|
+
event.stopPropagation();
|
|
408
|
+
if (isItemPinned) {
|
|
409
|
+
unpinItem(id);
|
|
410
|
+
} else {
|
|
411
|
+
pinItem(id);
|
|
412
|
+
}
|
|
413
|
+
onPinUnpinClick?.(event);
|
|
414
|
+
}, disabled: isItemPinned ? false : isPinDisabled, children: /* @__PURE__ */ jsx(StyledIcon, { size: "large", name: isItemPinned ? "unpin" : "pin", variant: isItemPinned ? "filled" : "outlined", disabled: isItemPinned ? false : isPinDisabled, sentiment: active ? "primary" : "neutral", active }) }) }) }) : null
|
|
415
|
+
] })
|
|
416
|
+
] }) });
|
|
417
|
+
}
|
|
418
|
+
if (!hasParents && href) {
|
|
419
|
+
return /* @__PURE__ */ jsx(Tooltip, { text: label, placement: "right", children: /* @__PURE__ */ jsx(MenuStack, { gap: 1, alignItems: "start", justifyContent: "start", children: /* @__PURE__ */ jsx(Container, { gap: 1, alignItems: "center", justifyContent: "center", href, target: "_blank", children: /* @__PURE__ */ jsx(AnimatedIcon, { name: "open-in-new", sentiment: "neutral", prominence: "weak" }) }) }) });
|
|
420
|
+
}
|
|
421
|
+
return null;
|
|
422
|
+
};
|
|
423
|
+
export {
|
|
424
|
+
Item
|
|
425
|
+
};
|