@envive-ai/react-hooks 0.3.8 → 0.3.9
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/_virtual/rolldown_runtime.cjs +0 -2
- package/dist/application/models/chatElementDisplayLocationV3.cjs +3 -1
- package/dist/application/models/chatElementDisplayLocationV3.d.cts +3 -1
- package/dist/application/models/chatElementDisplayLocationV3.d.ts +3 -1
- package/dist/application/models/chatElementDisplayLocationV3.js +3 -1
- package/dist/application/models/variantInfo/variantInfo.cjs +2 -2
- package/dist/application/models/variantInfo/variantInfo.d.cts +2 -2
- package/dist/application/models/variantInfo/variantInfo.d.ts +2 -2
- package/dist/application/models/variantInfo/variantInfo.js +2 -2
- package/dist/application/utils/widgetTextRequestToApiRequest.cjs +2 -1
- package/dist/application/utils/widgetTextRequestToApiRequest.js +2 -1
- package/dist/atoms/app/index.d.cts +6 -6
- package/dist/atoms/app/index.d.ts +7 -7
- package/dist/atoms/app/variant.d.cts +6 -6
- package/dist/atoms/app/variant.d.ts +6 -6
- package/dist/atoms/chat/chatState.d.cts +17 -17
- package/dist/atoms/chat/chatState.d.ts +17 -17
- package/dist/atoms/chat/form.d.cts +2 -2
- package/dist/atoms/chat/form.d.ts +2 -2
- package/dist/atoms/chat/index.cjs +7 -1
- package/dist/atoms/chat/index.d.cts +5 -4
- package/dist/atoms/chat/index.d.ts +5 -4
- package/dist/atoms/chat/index.js +3 -2
- package/dist/atoms/chat/lastMessage.d.cts +2 -2
- package/dist/atoms/chat/lastMessage.d.ts +2 -2
- package/dist/atoms/chat/messageQueue.cjs +1 -0
- package/dist/atoms/chat/messageQueue.d.cts +31 -0
- package/dist/atoms/chat/messageQueue.d.ts +31 -0
- package/dist/atoms/chat/messageQueue.js +1 -1
- package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
- package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
- package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
- package/dist/atoms/chat/replies.d.cts +3 -3
- package/dist/atoms/chat/replies.d.ts +2 -2
- package/dist/atoms/chat/suggestions.d.cts +2 -2
- package/dist/atoms/chat/suggestions.d.ts +2 -2
- package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
- package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
- package/dist/atoms/org/customerService.d.cts +6 -6
- package/dist/atoms/org/customerService.d.ts +6 -6
- package/dist/atoms/org/graphqlConfig.d.cts +4 -4
- package/dist/atoms/org/graphqlConfig.d.ts +4 -4
- package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
- package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
- package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
- package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
- package/dist/atoms/search/chatSearch.d.cts +17 -17
- package/dist/atoms/search/chatSearch.d.ts +17 -17
- package/dist/atoms/search/searchAPI.d.cts +13 -13
- package/dist/atoms/search/searchAPI.d.ts +13 -13
- package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
- package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
- package/dist/contexts/enviveContext/WindowChatToggleBinder.cjs +66 -0
- package/dist/contexts/enviveContext/WindowChatToggleBinder.js +65 -0
- package/dist/contexts/enviveContext/enviveContext.cjs +6 -5
- package/dist/contexts/enviveContext/enviveContext.js +7 -6
- package/dist/contexts/enviveContext/types.d.ts +1 -1
- package/dist/contexts/graphqlContext/graphqlContext.cjs +6 -7
- package/dist/contexts/graphqlContext/graphqlContext.js +2 -3
- package/dist/contexts/graphqlContext/mockV3Config.cjs +57 -61
- package/dist/contexts/graphqlContext/mockV3Config.js +14 -19
- package/dist/contexts/pageContext/mapping.cjs +9 -1
- package/dist/contexts/pageContext/mapping.js +9 -1
- package/dist/contexts/pageContext/pageContext.cjs +8 -3
- package/dist/contexts/pageContext/pageContext.d.cts +2 -1
- package/dist/contexts/pageContext/pageContext.d.ts +2 -1
- package/dist/contexts/pageContext/pageContext.js +8 -3
- package/dist/contexts/pageContext/types.d.cts +11 -3
- package/dist/contexts/pageContext/types.d.ts +11 -3
- package/dist/contexts/salesAgentContext/chatAPI.cjs +12 -4
- package/dist/contexts/salesAgentContext/chatAPI.d.cts +4 -3
- package/dist/contexts/salesAgentContext/chatAPI.d.ts +4 -3
- package/dist/contexts/salesAgentContext/chatAPI.js +12 -4
- package/dist/contexts/salesAgentContext/salesAgentContext.cjs +7 -3
- package/dist/contexts/salesAgentContext/salesAgentContext.js +8 -4
- package/dist/contexts/types.d.cts +1 -1
- package/dist/contexts/types.d.ts +1 -1
- package/dist/contexts/typesV3.cjs +1 -1
- package/dist/contexts/typesV3.d.cts +9 -4
- package/dist/contexts/typesV3.d.ts +11 -6
- package/dist/contexts/typesV3.js +1 -1
- package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +2 -1
- package/dist/contexts/widgetConfigContext/widgetConfigContext.js +2 -1
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
- package/dist/hooks/utils.d.cts +1 -1
- package/dist/services/amplitudeService/amplitudeService.cjs +41 -1
- package/dist/services/amplitudeService/amplitudeService.d.cts +2 -1
- package/dist/services/amplitudeService/amplitudeService.d.ts +2 -1
- package/dist/services/amplitudeService/amplitudeService.js +41 -1
- package/package.json +1 -1
- package/src/application/models/chatElementDisplayLocationV3.ts +2 -0
- package/src/application/models/variantInfo/variantInfo.ts +1 -1
- package/src/application/utils/widgetTextRequestToApiRequest.ts +2 -0
- package/src/atoms/chat/index.ts +1 -0
- package/src/contexts/enviveContext/WindowChatToggleBinder.tsx +66 -0
- package/src/contexts/enviveContext/enviveContext.tsx +3 -1
- package/src/contexts/graphqlContext/mockV3Config.ts +4 -0
- package/src/contexts/pageContext/mapping.ts +16 -1
- package/src/contexts/pageContext/pageContext.tsx +12 -3
- package/src/contexts/pageContext/types.ts +16 -1
- package/src/contexts/salesAgentContext/chatAPI.ts +16 -4
- package/src/contexts/salesAgentContext/salesAgentContext.tsx +8 -3
- package/src/contexts/typesV3.ts +9 -2
- package/src/contexts/widgetConfigContext/widgetConfigContext.tsx +4 -0
- package/src/services/amplitudeService/amplitudeService.ts +56 -0
- package/dist/_virtual/rolldown_runtime.js +0 -29
- package/dist/node_modules/classnames/index.cjs +0 -52
- package/dist/node_modules/classnames/index.js +0 -49
- package/dist/packages/components-v3/dist/ChatHeader/ChatHeader.cjs +0 -2
- package/dist/packages/components-v3/dist/ChatHeader/ChatHeader.js +0 -4
- package/dist/packages/components-v3/dist/ChatHeader/components/CloseButton.cjs +0 -16
- package/dist/packages/components-v3/dist/ChatHeader/components/CloseButton.js +0 -17
- package/dist/packages/components-v3/dist/ChatHeader/components/Handle.cjs +0 -6
- package/dist/packages/components-v3/dist/ChatHeader/components/Handle.js +0 -8
- package/dist/packages/components-v3/dist/ChatHeader/components/Layout.cjs +0 -4
- package/dist/packages/components-v3/dist/ChatHeader/components/Layout.js +0 -6
- package/dist/packages/components-v3/dist/ChatHeader/components/Logo.cjs +0 -3
- package/dist/packages/components-v3/dist/ChatHeader/components/Logo.js +0 -5
- package/dist/packages/components-v3/dist/ChatHeader/components/Toggle.cjs +0 -7
- package/dist/packages/components-v3/dist/ChatHeader/components/Toggle.js +0 -9
- package/dist/packages/components-v3/dist/ChatHeader/components/ToggleItem.cjs +0 -6
- package/dist/packages/components-v3/dist/ChatHeader/components/ToggleItem.js +0 -8
- package/dist/packages/components-v3/dist/ChatHeader/components/index.cjs +0 -6
- package/dist/packages/components-v3/dist/ChatHeader/components/index.js +0 -8
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.cjs +0 -22
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetCloseButtonProperties.js +0 -23
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetHandleProperties.cjs +0 -58
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetHandleProperties.js +0 -59
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetLayoutProperties.cjs +0 -8
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetLayoutProperties.js +0 -9
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +0 -3
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleProperties.cjs +0 -12
- package/dist/packages/components-v3/dist/ChatHeader/hooks/useGetToggleProperties.js +0 -13
- package/dist/packages/components-v3/dist/ChatHeader/index.cjs +0 -2
- package/dist/packages/components-v3/dist/ChatHeader/index.js +0 -4
- package/dist/packages/components-v3/dist/ChatHeader/types/index.cjs +0 -11
- package/dist/packages/components-v3/dist/ChatHeader/types/index.js +0 -10
- package/dist/packages/components-v3/dist/ChatPreviewLoading/components/Skeleton.cjs +0 -1
- package/dist/packages/components-v3/dist/ChatPreviewLoading/components/Skeleton.js +0 -3
- package/dist/packages/components-v3/dist/Container/Container.cjs +0 -27
- package/dist/packages/components-v3/dist/Container/Container.js +0 -27
- package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.cjs +0 -14
- package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.js +0 -13
- package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.cjs +0 -14
- package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.js +0 -13
- package/dist/packages/components-v3/dist/Container/index.cjs +0 -1
- package/dist/packages/components-v3/dist/Container/index.js +0 -3
- package/dist/packages/components-v3/dist/DesignTokens/components/utils.cjs +0 -16
- package/dist/packages/components-v3/dist/DesignTokens/components/utils.js +0 -15
- package/dist/packages/components-v3/dist/FloatingButton/FloatingButton.cjs +0 -2
- package/dist/packages/components-v3/dist/FloatingButton/FloatingButton.js +0 -4
- package/dist/packages/components-v3/dist/FloatingButton/components/Button.cjs +0 -9
- package/dist/packages/components-v3/dist/FloatingButton/components/Button.js +0 -10
- package/dist/packages/components-v3/dist/FloatingButton/components/Container.cjs +0 -9
- package/dist/packages/components-v3/dist/FloatingButton/components/Container.js +0 -10
- package/dist/packages/components-v3/dist/FloatingButton/components/Icon.cjs +0 -3
- package/dist/packages/components-v3/dist/FloatingButton/components/Icon.js +0 -5
- package/dist/packages/components-v3/dist/FloatingButton/components/Wrapper.cjs +0 -9
- package/dist/packages/components-v3/dist/FloatingButton/components/Wrapper.js +0 -10
- package/dist/packages/components-v3/dist/FloatingButton/components/index.cjs +0 -4
- package/dist/packages/components-v3/dist/FloatingButton/components/index.js +0 -6
- package/dist/packages/components-v3/dist/FloatingButton/index.cjs +0 -2
- package/dist/packages/components-v3/dist/FloatingButton/index.js +0 -4
- package/dist/packages/components-v3/dist/FloatingButton/types/types.cjs +0 -17
- package/dist/packages/components-v3/dist/FloatingButton/types/types.js +0 -16
- package/dist/packages/components-v3/dist/Image/Image.cjs +0 -16
- package/dist/packages/components-v3/dist/Image/Image.js +0 -17
- package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.js +0 -3
- package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.js +0 -3
- package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.js +0 -3
- package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.js +0 -3
- package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.js +0 -3
- package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.js +0 -3
- package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.cjs +0 -1
- package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.js +0 -3
- package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.cjs +0 -2
- package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.js +0 -4
- package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.cjs +0 -2
- package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.js +0 -4
- package/dist/packages/components-v3/dist/ImageGallery/components/Layout.cjs +0 -15
- package/dist/packages/components-v3/dist/ImageGallery/components/Layout.js +0 -16
- package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.cjs +0 -4
- package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.js +0 -4
- package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.cjs +0 -1
- package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.js +0 -3
- package/dist/packages/components-v3/dist/ImageGallery/components/index.cjs +0 -4
- package/dist/packages/components-v3/dist/ImageGallery/components/index.js +0 -6
- package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.js +0 -3
- package/dist/packages/components-v3/dist/ImageGallery/index.cjs +0 -2
- package/dist/packages/components-v3/dist/ImageGallery/index.js +0 -4
- package/dist/packages/components-v3/dist/ImageGallery/types/types.cjs +0 -13
- package/dist/packages/components-v3/dist/ImageGallery/types/types.js +0 -12
- package/dist/packages/components-v3/dist/PromptButton/PromptButton.cjs +0 -48
- package/dist/packages/components-v3/dist/PromptButton/PromptButton.js +0 -48
- package/dist/packages/components-v3/dist/PromptButton/components/Icon.cjs +0 -11
- package/dist/packages/components-v3/dist/PromptButton/components/Icon.js +0 -10
- package/dist/packages/components-v3/dist/PromptButton/components/Label.cjs +0 -20
- package/dist/packages/components-v3/dist/PromptButton/components/Label.js +0 -19
- package/dist/packages/components-v3/dist/PromptButton/components/Layout.cjs +0 -40
- package/dist/packages/components-v3/dist/PromptButton/components/Layout.js +0 -40
- package/dist/packages/components-v3/dist/PromptButton/components/Loading.cjs +0 -13
- package/dist/packages/components-v3/dist/PromptButton/components/Loading.js +0 -13
- package/dist/packages/components-v3/dist/PromptButton/components/index.cjs +0 -16
- package/dist/packages/components-v3/dist/PromptButton/components/index.js +0 -16
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBackgroundColorsProperties.cjs +0 -18
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBackgroundColorsProperties.js +0 -18
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.cjs +0 -13
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.js +0 -12
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBorderColorsProperties.cjs +0 -18
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBorderColorsProperties.js +0 -18
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetIconColorsProperties.cjs +0 -32
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetIconColorsProperties.js +0 -32
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.cjs +0 -16
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.js +0 -16
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetTextColorsProperties.cjs +0 -19
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetTextColorsProperties.js +0 -19
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetVariantColorsProperties.cjs +0 -29
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetVariantColorsProperties.js +0 -29
- package/dist/packages/components-v3/dist/PromptButton/index.cjs +0 -2
- package/dist/packages/components-v3/dist/PromptButton/index.js +0 -4
- package/dist/packages/components-v3/dist/PromptButton/types/index.cjs +0 -13
- package/dist/packages/components-v3/dist/PromptButton/types/index.js +0 -12
- package/dist/packages/components-v3/dist/PromptButton/utils/functions.cjs +0 -10
- package/dist/packages/components-v3/dist/PromptButton/utils/functions.js +0 -10
- package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.cjs +0 -12
- package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.js +0 -14
- package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.cjs +0 -9
- package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.js +0 -10
- package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.cjs +0 -11
- package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.js +0 -12
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.cjs +0 -4
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.js +0 -6
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.cjs +0 -4
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.js +0 -6
- package/dist/packages/components-v3/dist/PromptCarousel/components/index.cjs +0 -3
- package/dist/packages/components-v3/dist/PromptCarousel/components/index.js +0 -5
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.cjs +0 -5
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.js +0 -7
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.cjs +0 -1
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.js +0 -3
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.cjs +0 -3
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.js +0 -5
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.cjs +0 -1
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.js +0 -3
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.cjs +0 -1
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.js +0 -3
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.cjs +0 -1
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.js +0 -3
- package/dist/packages/components-v3/dist/PromptCarousel/index.cjs +0 -2
- package/dist/packages/components-v3/dist/PromptCarousel/index.js +0 -4
- package/dist/packages/components-v3/dist/PromptCarousel/types/types.cjs +0 -19
- package/dist/packages/components-v3/dist/PromptCarousel/types/types.js +0 -17
- package/dist/packages/components-v3/dist/SocialProof/SocialProof.cjs +0 -10
- package/dist/packages/components-v3/dist/SocialProof/SocialProof.js +0 -12
- package/dist/packages/components-v3/dist/SocialProof/components/Headline.cjs +0 -53
- package/dist/packages/components-v3/dist/SocialProof/components/Headline.js +0 -54
- package/dist/packages/components-v3/dist/SocialProof/components/ImageGallery.cjs +0 -5
- package/dist/packages/components-v3/dist/SocialProof/components/ImageGallery.js +0 -7
- package/dist/packages/components-v3/dist/SocialProof/components/LayoutFourGrid.cjs +0 -6
- package/dist/packages/components-v3/dist/SocialProof/components/LayoutFourGrid.js +0 -8
- package/dist/packages/components-v3/dist/SocialProof/components/LayoutFourHorizontal.cjs +0 -16
- package/dist/packages/components-v3/dist/SocialProof/components/LayoutFourHorizontal.js +0 -17
- package/dist/packages/components-v3/dist/SocialProof/components/LayoutSingle.cjs +0 -8
- package/dist/packages/components-v3/dist/SocialProof/components/LayoutSingle.js +0 -10
- package/dist/packages/components-v3/dist/SocialProof/components/Skeleton.cjs +0 -1
- package/dist/packages/components-v3/dist/SocialProof/components/Skeleton.js +0 -3
- package/dist/packages/components-v3/dist/SocialProof/components/Subheadline.cjs +0 -8
- package/dist/packages/components-v3/dist/SocialProof/components/Subheadline.js +0 -10
- package/dist/packages/components-v3/dist/SocialProof/components/Textfield.cjs +0 -3
- package/dist/packages/components-v3/dist/SocialProof/components/Textfield.js +0 -5
- package/dist/packages/components-v3/dist/SocialProof/components/index.cjs +0 -8
- package/dist/packages/components-v3/dist/SocialProof/components/index.js +0 -10
- package/dist/packages/components-v3/dist/SocialProof/hooks/index.cjs +0 -1
- package/dist/packages/components-v3/dist/SocialProof/hooks/index.js +0 -3
- package/dist/packages/components-v3/dist/SocialProof/hooks/useSocialProofCount.cjs +0 -1
- package/dist/packages/components-v3/dist/SocialProof/hooks/useSocialProofCount.js +0 -3
- package/dist/packages/components-v3/dist/SocialProof/index.cjs +0 -4
- package/dist/packages/components-v3/dist/SocialProof/index.js +0 -6
- package/dist/packages/components-v3/dist/SocialProof/types/types.cjs +0 -11
- package/dist/packages/components-v3/dist/SocialProof/types/types.js +0 -10
- package/dist/packages/components-v3/dist/SocialProof/utils/functions.cjs +0 -1
- package/dist/packages/components-v3/dist/SocialProof/utils/functions.js +0 -3
- package/dist/packages/components-v3/dist/Stack/Stack.cjs +0 -36
- package/dist/packages/components-v3/dist/Stack/Stack.js +0 -36
- package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.cjs +0 -27
- package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.js +0 -26
- package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.cjs +0 -20
- package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.js +0 -19
- package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.cjs +0 -19
- package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.js +0 -18
- package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.cjs +0 -16
- package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.js +0 -15
- package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.cjs +0 -21
- package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.js +0 -20
- package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.cjs +0 -38
- package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.js +0 -38
- package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.cjs +0 -13
- package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.js +0 -12
- package/dist/packages/components-v3/dist/Stack/index.cjs +0 -1
- package/dist/packages/components-v3/dist/Stack/index.js +0 -3
- package/dist/packages/components-v3/dist/Stack/utils/constants.cjs +0 -42
- package/dist/packages/components-v3/dist/Stack/utils/constants.js +0 -41
- package/dist/packages/components-v3/dist/Title/Title.cjs +0 -11
- package/dist/packages/components-v3/dist/Title/Title.js +0 -12
- package/dist/packages/components-v3/dist/Title/components/Image.cjs +0 -2
- package/dist/packages/components-v3/dist/Title/components/Image.js +0 -4
- package/dist/packages/components-v3/dist/Title/components/Label.cjs +0 -3
- package/dist/packages/components-v3/dist/Title/components/Label.js +0 -5
- package/dist/packages/components-v3/dist/Title/components/Layout.cjs +0 -11
- package/dist/packages/components-v3/dist/Title/components/Layout.js +0 -12
- package/dist/packages/components-v3/dist/Title/components/index.cjs +0 -3
- package/dist/packages/components-v3/dist/Title/components/index.js +0 -5
- package/dist/packages/components-v3/dist/Title/index.cjs +0 -1
- package/dist/packages/components-v3/dist/Title/index.js +0 -3
- package/dist/packages/components-v3/dist/Tokens/index.cjs +0 -11
- package/dist/packages/components-v3/dist/Tokens/index.js +0 -13
- package/dist/packages/components-v3/dist/Typography/Typography.cjs +0 -43
- package/dist/packages/components-v3/dist/Typography/Typography.js +0 -43
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.cjs +0 -31
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.js +0 -30
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.cjs +0 -20
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.js +0 -19
- package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.cjs +0 -21
- package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.js +0 -20
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.cjs +0 -13
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.js +0 -12
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.cjs +0 -22
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.js +0 -21
- package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.cjs +0 -62
- package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.js +0 -61
- package/dist/packages/components-v3/dist/Typography/index.cjs +0 -2
- package/dist/packages/components-v3/dist/Typography/index.js +0 -4
- package/dist/packages/components-v3/dist/Typography/types/index.cjs +0 -47
- package/dist/packages/components-v3/dist/Typography/types/index.js +0 -44
- package/dist/packages/components-v3/dist/Typography/utils/utils.cjs +0 -12
- package/dist/packages/components-v3/dist/Typography/utils/utils.js +0 -10
- package/dist/packages/components-v3/dist/WelcomeMessage/WelcomeMessage.cjs +0 -2
- package/dist/packages/components-v3/dist/WelcomeMessage/WelcomeMessage.js +0 -4
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.cjs +0 -14
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Container.js +0 -15
- package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.cjs +0 -3
- package/dist/packages/components-v3/dist/WelcomeMessage/components/SparkleIcon.js +0 -5
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Text.cjs +0 -3
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Text.js +0 -5
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Title.cjs +0 -3
- package/dist/packages/components-v3/dist/WelcomeMessage/components/Title.js +0 -5
- package/dist/packages/components-v3/dist/WelcomeMessage/components/index.cjs +0 -4
- package/dist/packages/components-v3/dist/WelcomeMessage/components/index.js +0 -6
- package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetContainerProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetContainerProperties.js +0 -3
- package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetSparkleIconProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/WelcomeMessage/hooks/useGetSparkleIconProperties.js +0 -3
- package/dist/packages/components-v3/dist/WelcomeMessage/index.cjs +0 -2
- package/dist/packages/components-v3/dist/WelcomeMessage/index.js +0 -4
- package/dist/packages/components-v3/dist/WelcomeMessage/types/types.cjs +0 -14
- package/dist/packages/components-v3/dist/WelcomeMessage/types/types.js +0 -14
- package/dist/packages/components-v3/dist/WidgetTextField/WidgetTextField.cjs +0 -2
- package/dist/packages/components-v3/dist/WidgetTextField/WidgetTextField.js +0 -4
- package/dist/packages/components-v3/dist/WidgetTextField/components/Container.cjs +0 -14
- package/dist/packages/components-v3/dist/WidgetTextField/components/Container.js +0 -15
- package/dist/packages/components-v3/dist/WidgetTextField/components/FakeTextInput.cjs +0 -3
- package/dist/packages/components-v3/dist/WidgetTextField/components/FakeTextInput.js +0 -5
- package/dist/packages/components-v3/dist/WidgetTextField/components/Icon.cjs +0 -7
- package/dist/packages/components-v3/dist/WidgetTextField/components/Icon.js +0 -9
- package/dist/packages/components-v3/dist/WidgetTextField/components/Skeleton.cjs +0 -10
- package/dist/packages/components-v3/dist/WidgetTextField/components/Skeleton.js +0 -11
- package/dist/packages/components-v3/dist/WidgetTextField/components/index.cjs +0 -4
- package/dist/packages/components-v3/dist/WidgetTextField/components/index.js +0 -6
- package/dist/packages/components-v3/dist/WidgetTextField/hooks/useGetContainerProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/WidgetTextField/hooks/useGetContainerProperties.js +0 -3
- package/dist/packages/components-v3/dist/WidgetTextField/index.cjs +0 -1
- package/dist/packages/components-v3/dist/WidgetTextField/index.js +0 -3
- package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.cjs +0 -12
- package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.js +0 -13
- package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +0 -1
- package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +0 -3
- package/dist/packages/components-v3/dist/WidgetWrapper/index.cjs +0 -2
- package/dist/packages/components-v3/dist/WidgetWrapper/index.js +0 -4
- package/dist/packages/components-v3/dist/WidgetWrapper/types/types.cjs +0 -13
- package/dist/packages/components-v3/dist/WidgetWrapper/types/types.js +0 -12
- package/dist/packages/components-v3/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.cjs +0 -8
- package/dist/packages/components-v3/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.js +0 -10
- package/dist/packages/components-v3/dist/packages/components-v3/src/models/colorsConfig.cjs +0 -26
- package/dist/packages/components-v3/dist/packages/components-v3/src/models/colorsConfig.js +0 -25
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/aspectRatio/aspectRatio.cjs +0 -16
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/aspectRatio/aspectRatio.js +0 -17
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.cjs +0 -25
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.js +0 -23
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/colors/colors.cjs +0 -51
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/colors/colors.js +0 -51
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/radius/radius.cjs +0 -64
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/radius/radius.js +0 -65
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/theme/theme.cjs +0 -18
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/theme/theme.js +0 -16
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontFamily.cjs +0 -25
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontFamily.js +0 -25
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontSize.cjs +0 -37
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontSize.js +0 -38
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontWeight.cjs +0 -17
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/fontWeight.js +0 -18
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/letterSpacing.cjs +0 -15
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/letterSpacing.js +0 -16
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/lineHeight.cjs +0 -31
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/lineHeight.js +0 -32
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/typography.cjs +0 -5
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/typography/typography.js +0 -7
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/utils.cjs +0 -7
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/utils.js +0 -6
- package/dist/packages/components-v3/dist/utils/CustomIcon.cjs +0 -2
- package/dist/packages/components-v3/dist/utils/CustomIcon.js +0 -4
- package/dist/packages/components-v3/dist/utils/resolveTheme.cjs +0 -13
- package/dist/packages/components-v3/dist/utils/resolveTheme.js +0 -13
- package/dist/packages/components-v3/dist/utils/useCheckIsMobile.cjs +0 -1
- package/dist/packages/components-v3/dist/utils/useCheckIsMobile.js +0 -3
- package/dist/packages/components-v3/dist/utils/useGetContentSize.cjs +0 -1
- package/dist/packages/components-v3/dist/utils/useGetContentSize.js +0 -3
- package/dist/packages/components-v3/dist/utils/useResponsiveValue.cjs +0 -57
- package/dist/packages/components-v3/dist/utils/useResponsiveValue.js +0 -56
- package/dist/packages/icons/dist/FourPointStar.cjs +0 -23
- package/dist/packages/icons/dist/FourPointStar.js +0 -23
- package/dist/packages/icons/dist/IconCloseRounded.cjs +0 -22
- package/dist/packages/icons/dist/IconCloseRounded.js +0 -22
- package/dist/packages/icons/dist/IconCloseSharp.cjs +0 -31
- package/dist/packages/icons/dist/IconCloseSharp.js +0 -31
- package/dist/packages/icons/dist/IconCloseTransparent.cjs +0 -24
- package/dist/packages/icons/dist/IconCloseTransparent.js +0 -24
- package/dist/packages/icons/dist/MagnifyingGlass.cjs +0 -8
- package/dist/packages/icons/dist/MagnifyingGlass.js +0 -9
- package/dist/packages/icons/dist/MagnifyingThin.cjs +0 -8
- package/dist/packages/icons/dist/MagnifyingThin.js +0 -9
- package/dist/packages/icons/dist/SendMinimalist.cjs +0 -8
- package/dist/packages/icons/dist/SendMinimalist.js +0 -9
- package/dist/packages/icons/dist/SendModern.cjs +0 -8
- package/dist/packages/icons/dist/SendModern.js +0 -9
- package/dist/packages/icons/dist/SendStandard.cjs +0 -8
- package/dist/packages/icons/dist/SendStandard.js +0 -9
- package/dist/packages/icons/dist/Sparkles.cjs +0 -8
- package/dist/packages/icons/dist/Sparkles.js +0 -9
- package/dist/packages/icons/dist/_virtual/rolldown_runtime.cjs +0 -28
- package/dist/packages/icons/dist/_virtual/rolldown_runtime.js +0 -26
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs +0 -697
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.js +0 -697
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs +0 -44
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -44
- package/dist/packages/icons/dist/node_modules/react/cjs/react.development.cjs +0 -1529
- package/dist/packages/icons/dist/node_modules/react/cjs/react.development.js +0 -1529
- package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.cjs +0 -330
- package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.js +0 -330
- package/dist/packages/icons/dist/node_modules/react/index.cjs +0 -14
- package/dist/packages/icons/dist/node_modules/react/index.js +0 -14
- package/dist/packages/icons/dist/node_modules/react/jsx-runtime.cjs +0 -14
- package/dist/packages/icons/dist/node_modules/react/jsx-runtime.js +0 -14
|
@@ -8,7 +8,7 @@ import { buildFormSubmittedDisplayContent, createFormSubmittedUserMessage } from
|
|
|
8
8
|
import { useSalesAgentChatAPI } from "./chatAPI.js";
|
|
9
9
|
import { useSalesAgentService } from "./salesAgentService.js";
|
|
10
10
|
import { UserEventCategory } from "@spiffy-ai/commerce-api-client";
|
|
11
|
-
import { createContext, useCallback, useEffect, useMemo } from "react";
|
|
11
|
+
import { createContext, useCallback, useEffect, useMemo, useRef } from "react";
|
|
12
12
|
import { useAtom, useAtomValue, useSetAtom } from "jotai";
|
|
13
13
|
import { jsx } from "react/jsx-runtime";
|
|
14
14
|
|
|
@@ -23,6 +23,7 @@ const SalesAgentProvider = ({ children, previewMode = false, mockData }) => {
|
|
|
23
23
|
const setMessages = useSetAtom(messagesAtom);
|
|
24
24
|
const setSuggestions = useSetAtom(suggestionsAtom);
|
|
25
25
|
const { getStreamingResponses, createResponsePayload, getSuggestions, hydrateMessages } = useSalesAgentService();
|
|
26
|
+
const isSendingRef = useRef(false);
|
|
26
27
|
useEffect(() => {
|
|
27
28
|
if (previewMode && mockData) {
|
|
28
29
|
if (mockData.messages) setMessages(mockData.messages);
|
|
@@ -51,7 +52,8 @@ const SalesAgentProvider = ({ children, previewMode = false, mockData }) => {
|
|
|
51
52
|
]);
|
|
52
53
|
useEffect(() => {
|
|
53
54
|
if (previewMode) return;
|
|
54
|
-
if (userQueueEventCount > 0) {
|
|
55
|
+
if (userQueueEventCount > 0 && !isSendingRef.current) {
|
|
56
|
+
isSendingRef.current = true;
|
|
55
57
|
const payloadEvents = userEvents.slice(0, userQueueEventCount);
|
|
56
58
|
payloadEvents.forEach((userEvent) => {
|
|
57
59
|
if (userEvent && userEvent.category === UserEventCategory.QueryTyped) {
|
|
@@ -85,7 +87,9 @@ const SalesAgentProvider = ({ children, previewMode = false, mockData }) => {
|
|
|
85
87
|
sendMessagesToBackend(createResponsePayload({
|
|
86
88
|
userEvents: payloadEvents,
|
|
87
89
|
generationParams: settingsContext.generationParams
|
|
88
|
-
}))
|
|
90
|
+
})).finally(() => {
|
|
91
|
+
isSendingRef.current = false;
|
|
92
|
+
});
|
|
89
93
|
} else if (isInitialized) getSuggestions(createResponsePayload({
|
|
90
94
|
userEvents: [],
|
|
91
95
|
generationParams: settingsContext.generationParams
|
|
@@ -153,4 +157,4 @@ const useSalesAgent = () => {
|
|
|
153
157
|
|
|
154
158
|
//#endregion
|
|
155
159
|
export { SalesAgentProvider, useSalesAgent };
|
|
156
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudENvbnRleHQuanMiLCJuYW1lcyI6WyJTYWxlc0FnZW50UHJvdmlkZXI6IFJlYWN0LkZDPFNhbGVzQWdlbnRQcm92aWRlclByb3BzPiIsIm5ld01lc3NhZ2U6IE1lc3NhZ2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvc2FsZXNBZ2VudENvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUF0b20sIHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IFJlYWN0Tm9kZSwgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VSb2xlLCBNZXNzYWdlVHlwZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbWVzc2FnZSc7XG5pbXBvcnQgeyBOZXh0TWVzc2FnZVJlcXVlc3QsIFN1Z2dlc3Rpb24sIFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgaW5pdGlhbGl6ZWRBdG9tLFxuICBtZXNzYWdlc0F0b20sXG4gIHBlbmRpbmdSZXNwb25zZUF0b20sXG4gIHJlc3BvbnNlU3RyZWFtaW5nQXRvbSxcbiAgc3VnZ2VzdGlvbnNBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvY2hhdC9jaGF0U3RhdGUnO1xuaW1wb3J0IHtcbiAgcHJvY2Vzc1VzZXJFdmVudEF0b20sXG4gIHVzZXJFdmVudFF1ZXVlQXRvbSxcbiAgdXNlclF1ZXVlRXZlbnRDb3VudEF0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5pbXBvcnQgeyB1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQgfSBmcm9tICdzcmMvaG9va3MvU3lzdGVtU2V0dGluZ3NDb250ZXh0JztcbmltcG9ydCB7XG4gIGJ1aWxkRm9ybVN1Ym1pdHRlZERpc3BsYXlDb250ZW50LFxuICBjcmVhdGVGb3JtU3VibWl0dGVkVXNlck1lc3NhZ2UsXG59IGZyb20gJy4vZm9ybVN1Ym1pdHRlZFV0aWxzJztcbmltcG9ydCB7IFNhbGVzQWdlbnRDaGF0QVBJLCB1c2VTYWxlc0FnZW50Q2hhdEFQSSB9IGZyb20gJy4vY2hhdEFQSSc7XG5pbXBvcnQgeyB1c2VTYWxlc0FnZW50U2VydmljZSB9IGZyb20gJy4vc2FsZXNBZ2VudFNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnQgZXh0ZW5kcyBTYWxlc0FnZW50Q2hhdEFQSSB7XG4gIC8vIE1lc3NhZ2VzIGFyZSB0aGUgZnVsbCBsaXN0IG9mIGFsbCB0dXJuc1xuICBtZXNzYWdlczogTWVzc2FnZVtdW107XG4gIC8vIFBlbmRpbmcgbWVzc2FnZXMgYXJlIG1lc3NhZ2VzIHRoYXQgdGhlIHVzZXIgaGFzIGNsaWNrZWQvdHlwZWQgYnV0IGhhdmUgbm90IHlldCBiZWVuIHNlbnQgdG8gdGhlIGJhY2tlbmQuXG4gIHBlbmRpbmdNZXNzYWdlczogVXNlckV2ZW50W107XG4gIC8vIFN1Z2dlc3Rpb25zIGFyZSB0aGUgbGlzdCBvZiBzdWdnZXN0aW9ucyB0aGF0IHRoZSB1c2VyIGNhbiBjbGljayBvbiBpbiByZXNwb25zZSB0byB0aGUgbW9zdCByZWNlbnQgbWVzc2FnZSBmcm9tIHRoZSBiYWNrZW5kXG4gIHN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uW107XG4gIC8vIFRydWUgd2hpbGUgdGhlIHJlc3BvbnNlIGlzIHN0cmVhbWluZyBmcm9tIHRoZSBiYWNrZW5kXG4gIGlzUmVzcG9uc2VTdHJlYW1pbmc6IGJvb2xlYW47XG4gIC8vIFRydWUgd2hpbGUgdGhlIHJlc3BvbnNlIGlzIHBlbmRpbmcgZnJvbSB0aGUgYmFja2VuZFxuICBpc1BlbmRpbmdSZXNwb25zZTogYm9vbGVhbjtcbiAgLy8gVHJ1ZSB3aGVuIHRoZSBzYWxlcyBhZ2VudCBpcyBpbml0aWFsaXplZFxuICBpc0luaXRpYWxpemVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vY2tTYWxlc0FnZW50RGF0YSB7XG4gIG1lc3NhZ2VzPzogTWVzc2FnZVtdW107XG4gIHN1Z2dlc3Rpb25zPzogU3VnZ2VzdGlvbltdO1xufVxuXG5jb25zdCBTYWxlc0FnZW50Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8U2FsZXNBZ2VudCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50UHJvdmlkZXJQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlPzogYm9vbGVhbjtcbiAgbW9ja0RhdGE/OiBNb2NrU2FsZXNBZ2VudERhdGE7XG59XG5cbmV4cG9ydCBjb25zdCBTYWxlc0FnZW50UHJvdmlkZXI6IFJlYWN0LkZDPFNhbGVzQWdlbnRQcm92aWRlclByb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICBwcmV2aWV3TW9kZSA9IGZhbHNlLFxuICBtb2NrRGF0YSxcbn0pID0+IHtcbiAgY29uc3QgdXNlckV2ZW50cyA9IHVzZUF0b21WYWx1ZSh1c2VyRXZlbnRRdWV1ZUF0b20pO1xuICBjb25zdCB1c2VyUXVldWVFdmVudENvdW50ID0gdXNlQXRvbVZhbHVlKHVzZXJRdWV1ZUV2ZW50Q291bnRBdG9tKTtcbiAgY29uc3QgbWFya1VzZXJFdmVudHNQcm9jZXNzZWQgPSB1c2VTZXRBdG9tKHByb2Nlc3NVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3QgW2lzSW5pdGlhbGl6ZWQsIHNldElzSW5pdGlhbGl6ZWRdID0gdXNlQXRvbShpbml0aWFsaXplZEF0b20pO1xuICBjb25zdCBzZXR0aW5nc0NvbnRleHQgPSB1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQoKTtcbiAgY29uc3Qgc2V0TWVzc2FnZXMgPSB1c2VTZXRBdG9tKG1lc3NhZ2VzQXRvbSk7XG4gIGNvbnN0IHNldFN1Z2dlc3Rpb25zID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0F0b20pO1xuXG4gIGNvbnN0IHsgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzLCBjcmVhdGVSZXNwb25zZVBheWxvYWQsIGdldFN1Z2dlc3Rpb25zLCBoeWRyYXRlTWVzc2FnZXMgfSA9XG4gICAgdXNlU2FsZXNBZ2VudFNlcnZpY2UoKTtcblxuICAvLyBJbml0aWFsaXplIHdpdGggbW9jayBkYXRhIGluIHByZXZpZXcgbW9kZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwcmV2aWV3TW9kZSAmJiBtb2NrRGF0YSkge1xuICAgICAgaWYgKG1vY2tEYXRhLm1lc3NhZ2VzKSB7XG4gICAgICAgIHNldE1lc3NhZ2VzKG1vY2tEYXRhLm1lc3NhZ2VzKTtcbiAgICAgIH1cbiAgICAgIGlmIChtb2NrRGF0YS5zdWdnZXN0aW9ucykge1xuICAgICAgICBzZXRTdWdnZXN0aW9ucyhtb2NrRGF0YS5zdWdnZXN0aW9ucyk7XG4gICAgICB9XG4gICAgICBzZXRJc0luaXRpYWxpemVkKHRydWUpO1xuICAgIH1cbiAgfSwgW3ByZXZpZXdNb2RlLCBtb2NrRGF0YSwgc2V0TWVzc2FnZXMsIHNldFN1Z2dlc3Rpb25zLCBzZXRJc0luaXRpYWxpemVkXSk7XG5cbiAgLy8gVE9ETzogRW5zdXJlIHRoYXQgYW1wbGl0dWRlIGV2ZW50cyBhcmUgYmVpbmcgZW1pdHRlZFxuXG4gIC8vIFRPRE86IEFkZCBzdXBwb3J0IGZvciB0aGUgc3RyZWFtaW5nIHJlc3BvbnNlcyB0byBmdW5jdGlvblxuXG4gIC8vIFRPRE86IEFkZCBzdXBwb3J0IGZvciB0aGUgaHlkcmF0aW9uIG9mIHRoZSBtZXNzYWdlcyBmcm9tIHRoZSBiYWNrZW5kIG9uIGluaXRpYWxpemF0aW9uXG4gIGNvbnN0IHNlbmRNZXNzYWdlc1RvQmFja2VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChyZXF1ZXN0UGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBnZXRTdHJlYW1pbmdSZXNwb25zZXMocmVxdWVzdFBheWxvYWQpO1xuICAgICAgICBzZXRJc0luaXRpYWxpemVkKHRydWUpO1xuXG4gICAgICAgIC8vIFJlbW92ZSB0aGUgcGVuZGluZyBtZXNzYWdlIGZyb20gdGhlIHVzZXIgZXZlbnRzXG4gICAgICAgIHJlcXVlc3RQYXlsb2FkLnVzZXJFdmVudHM/Lm1hcCh1c2VyRXZlbnQgPT4gbWFya1VzZXJFdmVudHNQcm9jZXNzZWQoW3VzZXJFdmVudC5ldmVudElkXSkpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgTG9nZ2VyLmxvZ0Vycm9yKCdbZW52aXZlLWFpXSBlcnJvciBzZW5kaW5nIG1lc3NhZ2UnLCBlcnJvcik7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZ2V0U3RyZWFtaW5nUmVzcG9uc2VzLCBzZXRJc0luaXRpYWxpemVkLCBtYXJrVXNlckV2ZW50c1Byb2Nlc3NlZF0sXG4gICk7XG5cbiAgLy8gVGhpcyBpcyB0aGUgcHJpbWFyeSBldmVudCBsb29wIGZvciBjb21tdW5pY2F0aW5nIHdpdGggdGhlIGJhY2tlbmQgQVBJXG4gIC8vIEl0IHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gdGhlcmUgYXJlIHBlbmRpbmcgbWVzc2FnZXMgdG8gYmUgc2VudCB0byB0aGUgYmFja2VuZFxuICAvLyBJdCB3aWxsIGJlIHJlc3BvbnNpYmxlIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlcyB0byB0aGUgYmFja2VuZCBhbmQgcmVjZWl2aW5nIHRoZSByZXNwb25zZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTa2lwIGJhY2tlbmQgY29tbXVuaWNhdGlvbiBpbiBwcmV2aWV3IG1vZGVcbiAgICBpZiAocHJldmlld01vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodXNlclF1ZXVlRXZlbnRDb3VudCA+IDApIHtcbiAgICAgIGNvbnN0IHBheWxvYWRFdmVudHMgPSB1c2VyRXZlbnRzLnNsaWNlKDAsIHVzZXJRdWV1ZUV2ZW50Q291bnQpO1xuXG4gICAgICBwYXlsb2FkRXZlbnRzLmZvckVhY2godXNlckV2ZW50ID0+IHtcbiAgICAgICAgaWYgKHVzZXJFdmVudCAmJiB1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQpIHtcbiAgICAgICAgICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgICAgICAgICAgaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICAgICAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlF1ZXJ5VHlwZWQsXG4gICAgICAgICAgICBjcmVhdGVkQXQ6IHVzZXJFdmVudC5jcmVhdGVkQXQsXG4gICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICBjb250ZW50OiB1c2VyRXZlbnQuYXR0cmlidXRlcy5xdWVyeSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgICBzZXRNZXNzYWdlcyhjdXJyZW50ID0+IFsuLi5jdXJyZW50LCBbbmV3TWVzc2FnZV1dKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodXNlckV2ZW50ICYmIHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpIHtcbiAgICAgICAgICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgICAgICAgICAgaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICAgICAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlF1ZXJ5VHlwZWQsXG4gICAgICAgICAgICBjcmVhdGVkQXQ6IHVzZXJFdmVudC5jcmVhdGVkQXQsXG4gICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICBjb250ZW50OiB1c2VyRXZlbnQuYXR0cmlidXRlcy5jb250ZW50ID8/ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHNldE1lc3NhZ2VzKGN1cnJlbnQgPT4gWy4uLmN1cnJlbnQsIFtuZXdNZXNzYWdlXV0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1c2VyRXZlbnQgJiYgdXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkKSB7XG4gICAgICAgICAgY29uc3QgeyBmb3JtUmVzcG9uc2VJZCwgZmlsbGVkU2NoZW1hIH0gPSB1c2VyRXZlbnQuYXR0cmlidXRlcztcbiAgICAgICAgICBzZXRNZXNzYWdlcyhwcmV2TWVzc2FnZXNTdGF0ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3JtU3VibWl0dGVkQ29udGVudCA9IGJ1aWxkRm9ybVN1Ym1pdHRlZERpc3BsYXlDb250ZW50KFxuICAgICAgICAgICAgICBwcmV2TWVzc2FnZXNTdGF0ZSxcbiAgICAgICAgICAgICAgZm9ybVJlc3BvbnNlSWQsXG4gICAgICAgICAgICAgIGZpbGxlZFNjaGVtYSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBuZXdVc2VyTWVzc2FnZSA9IGNyZWF0ZUZvcm1TdWJtaXR0ZWRVc2VyTWVzc2FnZSh1c2VyRXZlbnQsIGZvcm1TdWJtaXR0ZWRDb250ZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHR1cm5zV2l0aG91dEZvcm0gPSBwcmV2TWVzc2FnZXNTdGF0ZVxuICAgICAgICAgICAgICAubWFwKHR1cm4gPT5cbiAgICAgICAgICAgICAgICB0dXJuLmZpbHRlcihtc2cgPT4gIShtc2cudHlwZSA9PT0gTWVzc2FnZVR5cGUuRm9ybSAmJiBtc2cuaWQgPT09IGZvcm1SZXNwb25zZUlkKSksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLmZpbHRlcih0dXJuID0+IHR1cm4ubGVuZ3RoID4gMCk7XG4gICAgICAgICAgICByZXR1cm4gWy4uLnR1cm5zV2l0aG91dEZvcm0sIFtuZXdVc2VyTWVzc2FnZV1dO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgc2VuZE1lc3NhZ2VzVG9CYWNrZW5kKFxuICAgICAgICBjcmVhdGVSZXNwb25zZVBheWxvYWQoe1xuICAgICAgICAgIHVzZXJFdmVudHM6IHBheWxvYWRFdmVudHMsXG4gICAgICAgICAgZ2VuZXJhdGlvblBhcmFtczogc2V0dGluZ3NDb250ZXh0LmdlbmVyYXRpb25QYXJhbXMsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIGdldFN1Z2dlc3Rpb25zKFxuICAgICAgICBjcmVhdGVSZXNwb25zZVBheWxvYWQoe1xuICAgICAgICAgIHVzZXJFdmVudHM6IFtdLFxuICAgICAgICAgIGdlbmVyYXRpb25QYXJhbXM6IHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbXG4gICAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkLFxuICAgIGdldFN1Z2dlc3Rpb25zLFxuICAgIGlzSW5pdGlhbGl6ZWQsXG4gICAgc2V0TWVzc2FnZXMsXG4gICAgc2VuZE1lc3NhZ2VzVG9CYWNrZW5kLFxuICAgIHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zLFxuICAgIHVzZXJFdmVudHMsXG4gICAgdXNlclF1ZXVlRXZlbnRDb3VudCxcbiAgICBwcmV2aWV3TW9kZSxcbiAgXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTa2lwIGh5ZHJhdGlvbiBpbiBwcmV2aWV3IG1vZGVcbiAgICBpZiAocHJldmlld01vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNJbml0aWFsaXplZCkge1xuICAgICAgLy8gUmVoeWRyYXRlIGFueSBtZXNzYWdlcyBmcm9tIHRoZSBiYWNrZW5kXG4gICAgICBoeWRyYXRlTWVzc2FnZXMoKTtcbiAgICB9XG4gIH0sIFtpc0luaXRpYWxpemVkLCBoeWRyYXRlTWVzc2FnZXMsIHByZXZpZXdNb2RlXSk7XG5cbiAgcmV0dXJuIDxTYWxlc0FnZW50Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17dW5kZWZpbmVkfT57Y2hpbGRyZW59PC9TYWxlc0FnZW50Q29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudCA9ICgpOiBTYWxlc0FnZW50ID0+IHtcbiAgY29uc3QgbWVzc2FnZXMgPSB1c2VBdG9tVmFsdWUobWVzc2FnZXNBdG9tKTtcbiAgY29uc3Qgc3VnZ2VzdGlvbnMgPSB1c2VBdG9tVmFsdWUoc3VnZ2VzdGlvbnNBdG9tKTtcbiAgY29uc3QgcGVuZGluZ01lc3NhZ2VzID0gdXNlQXRvbVZhbHVlKHVzZXJFdmVudFF1ZXVlQXRvbSk7XG4gIGNvbnN0IGlzUmVzcG9uc2VTdHJlYW1pbmcgPSB1c2VBdG9tVmFsdWUocmVzcG9uc2VTdHJlYW1pbmdBdG9tKTtcbiAgY29uc3QgaXNQZW5kaW5nUmVzcG9uc2UgPSB1c2VBdG9tVmFsdWUocGVuZGluZ1Jlc3BvbnNlQXRvbSk7XG4gIGNvbnN0IGlzSW5pdGlhbGl6ZWQgPSB1c2VBdG9tVmFsdWUoaW5pdGlhbGl6ZWRBdG9tKTtcbiAgY29uc3Qge1xuICAgIGxvZ1BhZ2VWaXNpdCxcbiAgICBsb2dVc2VyRXZlbnQsXG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCxcbiAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZCxcbiAgfSA9IHVzZVNhbGVzQWdlbnRDaGF0QVBJKCk7XG5cbiAgY29uc3Qgc2FsZXNBZ2VudDogU2FsZXNBZ2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlcyxcbiAgICAgIHN1Z2dlc3Rpb25zLFxuICAgICAgcGVuZGluZ01lc3NhZ2VzLFxuICAgICAgaXNJbml0aWFsaXplZCxcbiAgICAgIGlzUmVzcG9uc2VTdHJlYW1pbmcsXG4gICAgICBpc1BlbmRpbmdSZXNwb25zZSxcbiAgICAgIGxvZ1BhZ2VWaXNpdCxcbiAgICAgIGxvZ1VzZXJFdmVudCxcbiAgICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCxcbiAgICAgIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkLFxuICAgIH07XG4gIH0sIFtcbiAgICBtZXNzYWdlcyxcbiAgICBzdWdnZXN0aW9ucyxcbiAgICBwZW5kaW5nTWVzc2FnZXMsXG4gICAgaXNJbml0aWFsaXplZCxcbiAgICBpc1Jlc3BvbnNlU3RyZWFtaW5nLFxuICAgIGlzUGVuZGluZ1Jlc3BvbnNlLFxuICAgIGxvZ1BhZ2VWaXNpdCxcbiAgICBsb2dVc2VyRXZlbnQsXG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCxcbiAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZCxcbiAgXSk7XG4gIHJldHVybiBzYWxlc0FnZW50O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBOENBLE1BQU0sb0JBQW9CLGNBQXNDLE9BQVU7QUFRMUUsTUFBYUEsc0JBQXlELEVBQ3BFLFVBQ0EsY0FBYyxPQUNkLGVBQ0k7Q0FDSixNQUFNLGFBQWEsYUFBYSxtQkFBbUI7Q0FDbkQsTUFBTSxzQkFBc0IsYUFBYSx3QkFBd0I7Q0FDakUsTUFBTSwwQkFBMEIsV0FBVyxxQkFBcUI7Q0FDaEUsTUFBTSxDQUFDLGVBQWUsb0JBQW9CLFFBQVEsZ0JBQWdCO0NBQ2xFLE1BQU0sa0JBQWtCLDBCQUEwQjtDQUNsRCxNQUFNLGNBQWMsV0FBVyxhQUFhO0NBQzVDLE1BQU0saUJBQWlCLFdBQVcsZ0JBQWdCO0NBRWxELE1BQU0sRUFBRSx1QkFBdUIsdUJBQXVCLGdCQUFnQixvQkFD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
|
|
160
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudENvbnRleHQuanMiLCJuYW1lcyI6WyJTYWxlc0FnZW50UHJvdmlkZXI6IFJlYWN0LkZDPFNhbGVzQWdlbnRQcm92aWRlclByb3BzPiIsIm5ld01lc3NhZ2U6IE1lc3NhZ2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvc2FsZXNBZ2VudENvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUF0b20sIHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IFJlYWN0Tm9kZSwgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZVJvbGUsIE1lc3NhZ2VUeXBlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9tZXNzYWdlJztcbmltcG9ydCB7IE5leHRNZXNzYWdlUmVxdWVzdCwgU3VnZ2VzdGlvbiwgVXNlckV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQge1xuICBpbml0aWFsaXplZEF0b20sXG4gIG1lc3NhZ2VzQXRvbSxcbiAgcGVuZGluZ1Jlc3BvbnNlQXRvbSxcbiAgcmVzcG9uc2VTdHJlYW1pbmdBdG9tLFxuICBzdWdnZXN0aW9uc0F0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9jaGF0L2NoYXRTdGF0ZSc7XG5pbXBvcnQge1xuICBwcm9jZXNzVXNlckV2ZW50QXRvbSxcbiAgdXNlckV2ZW50UXVldWVBdG9tLFxuICB1c2VyUXVldWVFdmVudENvdW50QXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQvbWVzc2FnZVF1ZXVlJztcbmltcG9ydCB7IHVzZVN5c3RlbVNldHRpbmdzQ29udGV4dCB9IGZyb20gJ3NyYy9ob29rcy9TeXN0ZW1TZXR0aW5nc0NvbnRleHQnO1xuaW1wb3J0IHtcbiAgYnVpbGRGb3JtU3VibWl0dGVkRGlzcGxheUNvbnRlbnQsXG4gIGNyZWF0ZUZvcm1TdWJtaXR0ZWRVc2VyTWVzc2FnZSxcbn0gZnJvbSAnLi9mb3JtU3VibWl0dGVkVXRpbHMnO1xuaW1wb3J0IHsgU2FsZXNBZ2VudENoYXRBUEksIHVzZVNhbGVzQWdlbnRDaGF0QVBJIH0gZnJvbSAnLi9jaGF0QVBJJztcbmltcG9ydCB7IHVzZVNhbGVzQWdlbnRTZXJ2aWNlIH0gZnJvbSAnLi9zYWxlc0FnZW50U2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FsZXNBZ2VudCBleHRlbmRzIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgLy8gTWVzc2FnZXMgYXJlIHRoZSBmdWxsIGxpc3Qgb2YgYWxsIHR1cm5zXG4gIG1lc3NhZ2VzOiBNZXNzYWdlW11bXTtcbiAgLy8gUGVuZGluZyBtZXNzYWdlcyBhcmUgbWVzc2FnZXMgdGhhdCB0aGUgdXNlciBoYXMgY2xpY2tlZC90eXBlZCBidXQgaGF2ZSBub3QgeWV0IGJlZW4gc2VudCB0byB0aGUgYmFja2VuZC5cbiAgcGVuZGluZ01lc3NhZ2VzOiBVc2VyRXZlbnRbXTtcbiAgLy8gU3VnZ2VzdGlvbnMgYXJlIHRoZSBsaXN0IG9mIHN1Z2dlc3Rpb25zIHRoYXQgdGhlIHVzZXIgY2FuIGNsaWNrIG9uIGluIHJlc3BvbnNlIHRvIHRoZSBtb3N0IHJlY2VudCBtZXNzYWdlIGZyb20gdGhlIGJhY2tlbmRcbiAgc3VnZ2VzdGlvbnM6IFN1Z2dlc3Rpb25bXTtcbiAgLy8gVHJ1ZSB3aGlsZSB0aGUgcmVzcG9uc2UgaXMgc3RyZWFtaW5nIGZyb20gdGhlIGJhY2tlbmRcbiAgaXNSZXNwb25zZVN0cmVhbWluZzogYm9vbGVhbjtcbiAgLy8gVHJ1ZSB3aGlsZSB0aGUgcmVzcG9uc2UgaXMgcGVuZGluZyBmcm9tIHRoZSBiYWNrZW5kXG4gIGlzUGVuZGluZ1Jlc3BvbnNlOiBib29sZWFuO1xuICAvLyBUcnVlIHdoZW4gdGhlIHNhbGVzIGFnZW50IGlzIGluaXRpYWxpemVkXG4gIGlzSW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9ja1NhbGVzQWdlbnREYXRhIHtcbiAgbWVzc2FnZXM/OiBNZXNzYWdlW11bXTtcbiAgc3VnZ2VzdGlvbnM/OiBTdWdnZXN0aW9uW107XG59XG5cbmNvbnN0IFNhbGVzQWdlbnRDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxTYWxlc0FnZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnRQcm92aWRlclByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU/OiBib29sZWFuO1xuICBtb2NrRGF0YT86IE1vY2tTYWxlc0FnZW50RGF0YTtcbn1cblxuZXhwb3J0IGNvbnN0IFNhbGVzQWdlbnRQcm92aWRlcjogUmVhY3QuRkM8U2FsZXNBZ2VudFByb3ZpZGVyUHJvcHM+ID0gKHtcbiAgY2hpbGRyZW4sXG4gIHByZXZpZXdNb2RlID0gZmFsc2UsXG4gIG1vY2tEYXRhLFxufSkgPT4ge1xuICBjb25zdCB1c2VyRXZlbnRzID0gdXNlQXRvbVZhbHVlKHVzZXJFdmVudFF1ZXVlQXRvbSk7XG4gIGNvbnN0IHVzZXJRdWV1ZUV2ZW50Q291bnQgPSB1c2VBdG9tVmFsdWUodXNlclF1ZXVlRXZlbnRDb3VudEF0b20pO1xuICBjb25zdCBtYXJrVXNlckV2ZW50c1Byb2Nlc3NlZCA9IHVzZVNldEF0b20ocHJvY2Vzc1VzZXJFdmVudEF0b20pO1xuICBjb25zdCBbaXNJbml0aWFsaXplZCwgc2V0SXNJbml0aWFsaXplZF0gPSB1c2VBdG9tKGluaXRpYWxpemVkQXRvbSk7XG4gIGNvbnN0IHNldHRpbmdzQ29udGV4dCA9IHVzZVN5c3RlbVNldHRpbmdzQ29udGV4dCgpO1xuICBjb25zdCBzZXRNZXNzYWdlcyA9IHVzZVNldEF0b20obWVzc2FnZXNBdG9tKTtcbiAgY29uc3Qgc2V0U3VnZ2VzdGlvbnMgPSB1c2VTZXRBdG9tKHN1Z2dlc3Rpb25zQXRvbSk7XG5cbiAgY29uc3QgeyBnZXRTdHJlYW1pbmdSZXNwb25zZXMsIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCwgZ2V0U3VnZ2VzdGlvbnMsIGh5ZHJhdGVNZXNzYWdlcyB9ID1cbiAgICB1c2VTYWxlc0FnZW50U2VydmljZSgpO1xuXG4gIGNvbnN0IGlzU2VuZGluZ1JlZiA9IHVzZVJlZihmYWxzZSk7XG5cbiAgLy8gSW5pdGlhbGl6ZSB3aXRoIG1vY2sgZGF0YSBpbiBwcmV2aWV3IG1vZGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJldmlld01vZGUgJiYgbW9ja0RhdGEpIHtcbiAgICAgIGlmIChtb2NrRGF0YS5tZXNzYWdlcykge1xuICAgICAgICBzZXRNZXNzYWdlcyhtb2NrRGF0YS5tZXNzYWdlcyk7XG4gICAgICB9XG4gICAgICBpZiAobW9ja0RhdGEuc3VnZ2VzdGlvbnMpIHtcbiAgICAgICAgc2V0U3VnZ2VzdGlvbnMobW9ja0RhdGEuc3VnZ2VzdGlvbnMpO1xuICAgICAgfVxuICAgICAgc2V0SXNJbml0aWFsaXplZCh0cnVlKTtcbiAgICB9XG4gIH0sIFtwcmV2aWV3TW9kZSwgbW9ja0RhdGEsIHNldE1lc3NhZ2VzLCBzZXRTdWdnZXN0aW9ucywgc2V0SXNJbml0aWFsaXplZF0pO1xuXG4gIC8vIFRPRE86IEVuc3VyZSB0aGF0IGFtcGxpdHVkZSBldmVudHMgYXJlIGJlaW5nIGVtaXR0ZWRcblxuICAvLyBUT0RPOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHN0cmVhbWluZyByZXNwb25zZXMgdG8gZnVuY3Rpb25cblxuICAvLyBUT0RPOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGh5ZHJhdGlvbiBvZiB0aGUgbWVzc2FnZXMgZnJvbSB0aGUgYmFja2VuZCBvbiBpbml0aWFsaXphdGlvblxuICBjb25zdCBzZW5kTWVzc2FnZXNUb0JhY2tlbmQgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVxdWVzdFBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzKHJlcXVlc3RQYXlsb2FkKTtcbiAgICAgICAgc2V0SXNJbml0aWFsaXplZCh0cnVlKTtcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIHBlbmRpbmcgbWVzc2FnZSBmcm9tIHRoZSB1c2VyIGV2ZW50c1xuICAgICAgICByZXF1ZXN0UGF5bG9hZC51c2VyRXZlbnRzPy5tYXAodXNlckV2ZW50ID0+IG1hcmtVc2VyRXZlbnRzUHJvY2Vzc2VkKFt1c2VyRXZlbnQuZXZlbnRJZF0pKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIExvZ2dlci5sb2dFcnJvcignW2Vudml2ZS1haV0gZXJyb3Igc2VuZGluZyBtZXNzYWdlJywgZXJyb3IpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2dldFN0cmVhbWluZ1Jlc3BvbnNlcywgc2V0SXNJbml0aWFsaXplZCwgbWFya1VzZXJFdmVudHNQcm9jZXNzZWRdLFxuICApO1xuXG4gIC8vIFRoaXMgaXMgdGhlIHByaW1hcnkgZXZlbnQgbG9vcCBmb3IgY29tbXVuaWNhdGluZyB3aXRoIHRoZSBiYWNrZW5kIEFQSVxuICAvLyBJdCB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIHRoZXJlIGFyZSBwZW5kaW5nIG1lc3NhZ2VzIHRvIGJlIHNlbnQgdG8gdGhlIGJhY2tlbmRcbiAgLy8gSXQgd2lsbCBiZSByZXNwb25zaWJsZSBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZXMgdG8gdGhlIGJhY2tlbmQgYW5kIHJlY2VpdmluZyB0aGUgcmVzcG9uc2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gU2tpcCBiYWNrZW5kIGNvbW11bmljYXRpb24gaW4gcHJldmlldyBtb2RlXG4gICAgaWYgKHByZXZpZXdNb2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHVzZXJRdWV1ZUV2ZW50Q291bnQgPiAwICYmICFpc1NlbmRpbmdSZWYuY3VycmVudCkge1xuICAgICAgaXNTZW5kaW5nUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgY29uc3QgcGF5bG9hZEV2ZW50cyA9IHVzZXJFdmVudHMuc2xpY2UoMCwgdXNlclF1ZXVlRXZlbnRDb3VudCk7XG5cbiAgICAgIHBheWxvYWRFdmVudHMuZm9yRWFjaCh1c2VyRXZlbnQgPT4ge1xuICAgICAgICBpZiAodXNlckV2ZW50ICYmIHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuUXVlcnlUeXBlZCkge1xuICAgICAgICAgIGNvbnN0IG5ld01lc3NhZ2U6IE1lc3NhZ2UgPSB7XG4gICAgICAgICAgICBpZDogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICAgICAgICByb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgICAgdHlwZTogTWVzc2FnZVR5cGUuUXVlcnlUeXBlZCxcbiAgICAgICAgICAgIGNyZWF0ZWRBdDogdXNlckV2ZW50LmNyZWF0ZWRBdCxcbiAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLnF1ZXJ5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHNldE1lc3NhZ2VzKGN1cnJlbnQgPT4gWy4uLmN1cnJlbnQsIFtuZXdNZXNzYWdlXV0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1c2VyRXZlbnQgJiYgdXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCkge1xuICAgICAgICAgIGNvbnN0IG5ld01lc3NhZ2U6IE1lc3NhZ2UgPSB7XG4gICAgICAgICAgICBpZDogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICAgICAgICByb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgICAgdHlwZTogTWVzc2FnZVR5cGUuUXVlcnlUeXBlZCxcbiAgICAgICAgICAgIGNyZWF0ZWRBdDogdXNlckV2ZW50LmNyZWF0ZWRBdCxcbiAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLmNvbnRlbnQgPz8gJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgICAgc2V0TWVzc2FnZXMoY3VycmVudCA9PiBbLi4uY3VycmVudCwgW25ld01lc3NhZ2VdXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHVzZXJFdmVudCAmJiB1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpIHtcbiAgICAgICAgICBjb25zdCB7IGZvcm1SZXNwb25zZUlkLCBmaWxsZWRTY2hlbWEgfSA9IHVzZXJFdmVudC5hdHRyaWJ1dGVzO1xuICAgICAgICAgIHNldE1lc3NhZ2VzKHByZXZNZXNzYWdlc1N0YXRlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1TdWJtaXR0ZWRDb250ZW50ID0gYnVpbGRGb3JtU3VibWl0dGVkRGlzcGxheUNvbnRlbnQoXG4gICAgICAgICAgICAgIHByZXZNZXNzYWdlc1N0YXRlLFxuICAgICAgICAgICAgICBmb3JtUmVzcG9uc2VJZCxcbiAgICAgICAgICAgICAgZmlsbGVkU2NoZW1hLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1VzZXJNZXNzYWdlID0gY3JlYXRlRm9ybVN1Ym1pdHRlZFVzZXJNZXNzYWdlKHVzZXJFdmVudCwgZm9ybVN1Ym1pdHRlZENvbnRlbnQpO1xuICAgICAgICAgICAgY29uc3QgdHVybnNXaXRob3V0Rm9ybSA9IHByZXZNZXNzYWdlc1N0YXRlXG4gICAgICAgICAgICAgIC5tYXAodHVybiA9PlxuICAgICAgICAgICAgICAgIHR1cm4uZmlsdGVyKG1zZyA9PiAhKG1zZy50eXBlID09PSBNZXNzYWdlVHlwZS5Gb3JtICYmIG1zZy5pZCA9PT0gZm9ybVJlc3BvbnNlSWQpKSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuZmlsdGVyKHR1cm4gPT4gdHVybi5sZW5ndGggPiAwKTtcbiAgICAgICAgICAgIHJldHVybiBbLi4udHVybnNXaXRob3V0Rm9ybSwgW25ld1VzZXJNZXNzYWdlXV07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBzZW5kTWVzc2FnZXNUb0JhY2tlbmQoXG4gICAgICAgIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCh7XG4gICAgICAgICAgdXNlckV2ZW50czogcGF5bG9hZEV2ZW50cyxcbiAgICAgICAgICBnZW5lcmF0aW9uUGFyYW1zOiBzZXR0aW5nc0NvbnRleHQuZ2VuZXJhdGlvblBhcmFtcyxcbiAgICAgICAgfSksXG4gICAgICApLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICBpc1NlbmRpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChpc0luaXRpYWxpemVkKSB7XG4gICAgICBnZXRTdWdnZXN0aW9ucyhcbiAgICAgICAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkKHtcbiAgICAgICAgICB1c2VyRXZlbnRzOiBbXSxcbiAgICAgICAgICBnZW5lcmF0aW9uUGFyYW1zOiBzZXR0aW5nc0NvbnRleHQuZ2VuZXJhdGlvblBhcmFtcyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfSwgW1xuICAgIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCxcbiAgICBnZXRTdWdnZXN0aW9ucyxcbiAgICBpc0luaXRpYWxpemVkLFxuICAgIHNldE1lc3NhZ2VzLFxuICAgIHNlbmRNZXNzYWdlc1RvQmFja2VuZCxcbiAgICBzZXR0aW5nc0NvbnRleHQuZ2VuZXJhdGlvblBhcmFtcyxcbiAgICB1c2VyRXZlbnRzLFxuICAgIHVzZXJRdWV1ZUV2ZW50Q291bnQsXG4gICAgcHJldmlld01vZGUsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gU2tpcCBoeWRyYXRpb24gaW4gcHJldmlldyBtb2RlXG4gICAgaWYgKHByZXZpZXdNb2RlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIC8vIFJlaHlkcmF0ZSBhbnkgbWVzc2FnZXMgZnJvbSB0aGUgYmFja2VuZFxuICAgICAgaHlkcmF0ZU1lc3NhZ2VzKCk7XG4gICAgfVxuICB9LCBbaXNJbml0aWFsaXplZCwgaHlkcmF0ZU1lc3NhZ2VzLCBwcmV2aWV3TW9kZV0pO1xuXG4gIHJldHVybiA8U2FsZXNBZ2VudENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3VuZGVmaW5lZH0+e2NoaWxkcmVufTwvU2FsZXNBZ2VudENvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVNhbGVzQWdlbnQgPSAoKTogU2FsZXNBZ2VudCA9PiB7XG4gIGNvbnN0IG1lc3NhZ2VzID0gdXNlQXRvbVZhbHVlKG1lc3NhZ2VzQXRvbSk7XG4gIGNvbnN0IHN1Z2dlc3Rpb25zID0gdXNlQXRvbVZhbHVlKHN1Z2dlc3Rpb25zQXRvbSk7XG4gIGNvbnN0IHBlbmRpbmdNZXNzYWdlcyA9IHVzZUF0b21WYWx1ZSh1c2VyRXZlbnRRdWV1ZUF0b20pO1xuICBjb25zdCBpc1Jlc3BvbnNlU3RyZWFtaW5nID0gdXNlQXRvbVZhbHVlKHJlc3BvbnNlU3RyZWFtaW5nQXRvbSk7XG4gIGNvbnN0IGlzUGVuZGluZ1Jlc3BvbnNlID0gdXNlQXRvbVZhbHVlKHBlbmRpbmdSZXNwb25zZUF0b20pO1xuICBjb25zdCBpc0luaXRpYWxpemVkID0gdXNlQXRvbVZhbHVlKGluaXRpYWxpemVkQXRvbSk7XG4gIGNvbnN0IHtcbiAgICBsb2dQYWdlVmlzaXQsXG4gICAgbG9nVXNlckV2ZW50LFxuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQsXG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQsXG4gIH0gPSB1c2VTYWxlc0FnZW50Q2hhdEFQSSgpO1xuXG4gIGNvbnN0IHNhbGVzQWdlbnQ6IFNhbGVzQWdlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZXMsXG4gICAgICBzdWdnZXN0aW9ucyxcbiAgICAgIHBlbmRpbmdNZXNzYWdlcyxcbiAgICAgIGlzSW5pdGlhbGl6ZWQsXG4gICAgICBpc1Jlc3BvbnNlU3RyZWFtaW5nLFxuICAgICAgaXNQZW5kaW5nUmVzcG9uc2UsXG4gICAgICBsb2dQYWdlVmlzaXQsXG4gICAgICBsb2dVc2VyRXZlbnQsXG4gICAgICBvblN1Z2dlc3Rpb25DbGlja2VkLFxuICAgICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQsXG4gICAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZCxcbiAgICB9O1xuICB9LCBbXG4gICAgbWVzc2FnZXMsXG4gICAgc3VnZ2VzdGlvbnMsXG4gICAgcGVuZGluZ01lc3NhZ2VzLFxuICAgIGlzSW5pdGlhbGl6ZWQsXG4gICAgaXNSZXNwb25zZVN0cmVhbWluZyxcbiAgICBpc1BlbmRpbmdSZXNwb25zZSxcbiAgICBsb2dQYWdlVmlzaXQsXG4gICAgbG9nVXNlckV2ZW50LFxuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQsXG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQsXG4gIF0pO1xuICByZXR1cm4gc2FsZXNBZ2VudDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQThDQSxNQUFNLG9CQUFvQixjQUFzQyxPQUFVO0FBUTFFLE1BQWFBLHNCQUF5RCxFQUNwRSxVQUNBLGNBQWMsT0FDZCxlQUNJO0NBQ0osTUFBTSxhQUFhLGFBQWEsbUJBQW1CO0NBQ25ELE1BQU0sc0JBQXNCLGFBQWEsd0JBQXdCO0NBQ2pFLE1BQU0sMEJBQTBC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
|
|
@@ -697,4 +697,4 @@ interface EnviveConfig {
|
|
|
697
697
|
}
|
|
698
698
|
//#endregion
|
|
699
699
|
export { type CategoryExtractor, CategoryExtractorType, type ChatMessageConfig, type ChatMessageVariant, type ChatPreviewConfig, type ChatPreviewFooterConfig, type ChatPreviewHeaderConfig, type ChatPreviewHeaderV2Config, type ChatPreviewIsLoadingWidgetConfig, type ChatPreviewPostInteractionWidgetConfig, type ChatPreviewProductComparisonWidgetConfig, type ChatPreviewSuggestionButtonConfig, type ChatPreviewV2WidgetConfig, type ChatPreviewVariant, type ChatPreviewWidgetConfig, type ColorMapping, ColorNames, type CustomerServiceIntegration, type DynamicWidgetMounting, EnviveConfig, FilterAttribute, type FloatingEntryPointConfig, type FullCustomerServiceIntegration, type HomePageVariant, type IdExtractor, type ImageBannerWidgetConfig, type ImagePromptWidgetConfig, type InsertionPoint, type MerchantVariantSettings, type MultiImageConfig, type NoOpWidgetConfig, type NumRows, OrgConfig, OrgPageConfig, type OrgUIConfig, type OtherPageVariant, type PDPPageVariant, type PLPPageVariant, type PageCardConfig, type PageCardHoverVariant, type PageCardIconVariant, type PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, type ProductCardConfig, type ProductCardHoverVariant, type ProductCardLayoutVariant, type ProductCardVariant, ProductGridVariant, type ProductLinkHoverVariant, type ProductLinkIconVariant, type ProductLinkVariant, type ProductReviewColorVariant, type ProductReviewConfig, type ProductReviewStyleVariant, type SearchCardVariant, type SearchConfig, type SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, type SearchOverlayHostWidgetConfig, type SearchPageVariant, type SearchPromptVariant, type SearchPromptWidgetConfig, type SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, type ShowFloatingButtonOptions, type SingleImagePromptWidgetConfig, type SocialProofConfig, type SocialProofV2WidgetConfig, type StaticWidgetMounting, type SuggestionBarWidgetV2Config, type SuggestionButtonConfig, type SuggestionButtonVariant, type URLTest, type UserQueryButtonConfig, type UserQueryButtonIcon, UserQueryOptions, type VisitPageVariant, type WelcomeSectionColorVariant, type WelcomeSectionConfig, type WelcomeSectionVariant, type WidgetConfig, type WidgetDisplayTests, WidgetHeaderProps, type WidgetMounting, WidgetMountingConfig, WidgetType, type WrappingElement, colorVar };
|
|
700
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHRzL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uJztcbmltcG9ydCB7IENvbG9yTWFwcGluZywgQ29sb3JOYW1lcywgY29sb3JWYXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsIEN1c3RvbWVyU2VydmljZVR5cGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRJbnNlcnRpb25UeXBlIH0gZnJvbSAnc3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uJztcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2RvbUluc2VydGlvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VWaXNpdENhdGVnb3J5LCBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzIH0gZnJvbSAnLi90eXBlc1YzJztcbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9ICdhbHdheXMnIHwgJ2FmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcCcgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tYW55d2hlcmUnIHwgJ25ldmVyJztcbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICAgIHBvc2l0aW9uOiAnYm90dG9tLWxlZnQnIHwgJ21pZGRsZS1sZWZ0JyB8ICdtaWRkbGUtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCc7XG4gICAgZXhwYW5zaW9uVGV4dD86IHtcbiAgICAgICAgcGRwOiBzdHJpbmc7XG4gICAgICAgIHBscDogc3RyaW5nO1xuICAgIH07XG4gICAgbWluaW1pemVkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNob3dPcHRpb246IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBpY29uU2l6ZT86IG51bWJlcjtcbiAgICBpY29uU3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBudW1iZXI7XG59O1xudHlwZSBXZWxjb21lU2VjdGlvblZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ291dGxpbmVkJztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gICAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICAgIGNvbG9yVmFyaWFudD86IFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50O1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGljb25OYW1lPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICAgIGxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xuICAgIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcj86IHN0cmluZztcbiAgICBjb3BpZXM6IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7XG4gICAgICAgIHBkcDogc3RyaW5nW107XG4gICAgICAgIHBscDogc3RyaW5nW107XG4gICAgfTtcbiAgICBzdGF0aWNQTFBJbWFnZXM/OiBzdHJpbmdbXTtcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgICB0b3BNYXJnaW4/OiBudW1iZXI7XG59O1xudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgICBzcGFya2xlc0NvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGljb25XaWR0aD86IHN0cmluZztcbiAgICBpY29uSGVpZ2h0Pzogc3RyaW5nO1xufTtcbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gICAgaGFzRmFkZT86IGJvb2xlYW47XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiAnZGFyaycgfCAnbGlnaHQnIHwgJ291dGxpbmVkJztcbiAgICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5SW5wdXRIYXNTaGFkb3c/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xudHlwZSBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50ID0gJ25ldXRyYWwnIHwgJ2JyYW5kJyB8ICdwcmVtaXVtJztcbmludGVyZmFjZSBQcm9kdWN0UmV2aWV3Q29uZmlnIHtcbiAgICBzdHlsZVZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICAgIHZlcmlmaWVkQnV5ZXJUaXRsZTogc3RyaW5nO1xuICAgIGluY2VudGl2aXplZFJldmlld0ZsYWc/OiBib29sZWFuO1xufVxudHlwZSBQYWdlQ2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgfCAnbWluaW1hbCc7XG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG50eXBlIFBhZ2VDYXJkSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICdiYWNrZ3JvdW5kJyB8ICdub25lJztcbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gICAgdmFyaWFudDogUGFnZUNhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gICAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG50eXBlIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJyB8ICdub25lJztcbnR5cGUgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50ID0gJ25vcm1hbCcgfCAndGFsbCcgfCAnc3F1YXJlJztcbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gICAgdmFyaWFudDogUHJvZHVjdENhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gICAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICAgIHByaWNlUHJlZml4Pzogc3RyaW5nO1xufVxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICAgIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICAgIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgc3VwcG9ydFRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gICAgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xuICAgIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAgIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgICBoZWFkZXJCYXJIZWlnaHRQYXJ0aWFsVmlldzogbnVtYmVyO1xuICAgIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gICAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICAgIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gICAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gICAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICAgIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICAgIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNTdGFydFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICAgKi9cbiAgICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG4gICAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgICB3YWl0aW5nTWVzc2FnZVBvc2l0aW9uPzogJ0JFRk9SRV9NRVNTQUdFUycgfCAnQUZURVJfTUVTU0FHRVMnO1xuICAgIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgICByZW9wZW5DaGF0TWVzc2FnZTogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICByZXBseUlucHV0PzogUmVwbHlJbnB1dENvbmZpZztcbiAgICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gICAgcHJvZHVjdEdyaWRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgICBzZWFyY2hDb250ZW50Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgICBzb3J0aW5nRm9udD86IHN0cmluZztcbiAgICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcbmludGVyZmFjZSBDaGF0TWVzc2FnZUNvbmZpZyB7XG4gICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gICAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICAgIHByb2R1Y3RMaW5rOiB7XG4gICAgICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICAgICAgaWNvblZhcmlhbnQ6IFByb2R1Y3RMaW5rSWNvblZhcmlhbnQ7XG4gICAgfTtcbn1cbmludGVyZmFjZSBSZXBseUlucHV0Q29uZmlnIHtcbiAgICBzaXplPzogJ21kJyB8ICdsZyc7XG4gICAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59XG50eXBlIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQgPSAnYWNjZW50UHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaycgfCAnYm9yZGVyTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSAndGV4dExpbmsnO1xudHlwZSBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCA9ICdiYWNrZ3JvdW5kRGFyayc7XG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID0gJ2JhY2tncm91bmRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyaycgfCAnYmFja2dyb3VuZExpZ2h0JyB8ICdiYWNrZ3JvdW5kU2F0dXJhdGVkJztcbnR5cGUgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQgPSAnb3V0bGluZWQnIHwgJ291dGxpbmVkTGlnaHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ2RhcmsnIHwgJ2RhcmtBY2NlbnQnIHwgJ2RhcmtQcmltYXJ5JyB8ICdzZWNvbmRhcnlEYXJrJyB8ICdzZWNvbmRhcnlBY2NlbnQnIHwgJ3RyYW5zcGFyZW50JyB8ICd0cmFuc3BhcmVudERhcmsnIHwgJ2xpZ2h0RGFyayc7XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGFuc3dlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG50eXBlIE51bVJvd3MgPSAnZGVmYXVsdCcgfCAnYWx3YXlzT25lUm93JyB8ICdhbHdheXNUd29Sb3dzJyB8ICd0d29Sb3dzT25Nb2JpbGUnO1xuaW50ZXJmYWNlIEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnYWxwaGFiZXRpYyc7XG59XG5pbnRlcmZhY2UgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxudHlwZSBGaWx0ZXJTb3J0aW5nID0gQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcgfCBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHwgQ3VzdG9tRmlsdGVyU29ydGluZztcbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgRHluYW1pY0ZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIHR5cGU6ICdkeW5hbWljJztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBzb3J0aW5nOiBGaWx0ZXJTb3J0aW5nO1xufVxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ3ByaWNlJztcbiAgICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVWYXJpYW50ID0gJ2JhY2tncm91bmRUZXJ0aWFyeScgfCAnYmFja2dyb3VuZERhcmsnIHwgJ2JhY2tncm91bmRQcmltYXJ5JztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZUxheW91dCA9ICdpbnB1dCcgfCAnaWNvbic7XG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuZXhwb3J0IHR5cGUgU2VhcmNoSWNvblZhcmlhbnQgPSAndGhpbicgfCAnYm9sZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudCA9ICdkYXJrQnV0dG9uJyB8ICdsaWdodEJ1dHRvbic7XG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG50eXBlIFVzZXJRdWVyeUJ1dHRvbkljb24gPSAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICdtYWduaWZ5aW5nR2xhc3NUaGluJyB8ICdzZW5kQXJyb3cnIHwgJ3NlYXJjaEljb24nO1xuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86ICdib3gnIHwgJ3VuZGVybGluZUxpZ2h0JyB8ICd1bmRlcmxpbmVEYXJrJztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cbmludGVyZmFjZSBUZXJtc0FuZENvbmRpdGlvbnNDb25maWcge1xuICAgIGNvcHk6IHN0cmluZztcbiAgICBsaW5rOiBzdHJpbmc7XG4gICAgbGlua1RleHQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gICAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbD86IG51bWJlcjtcbiAgICB9O1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gICAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgdGVybXNBbmRDb25kaXRpb25zQ29uZmlnPzogVGVybXNBbmRDb25kaXRpb25zQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHJlcGx5SW5wdXRDb25maWc6IFJlcGx5SW5wdXRDb25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgICBlbmFibGVHbG9iYWxTZWFyY2g6IGJvb2xlYW47XG4gICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw/OiBzdHJpbmc7XG4gICAgYWRkaXRpdmVEeW5hbWljRmlsdGVycz86IGJvb2xlYW47XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nPzogc3RyaW5nO1xufVxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcbnR5cGUgT3JnVUlDb25maWcgPSB7XG4gICAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gICAgc2hvcnROYW1lOiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAgIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG4gICAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoPzogQ29udmVyc2F0aW9uYWxTZWFjaDtcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuICAgIGhpZGRlbkVsZW1lbnRTZWxlY3RvcnM/OiBzdHJpbmdbXTtcbiAgICBtZXJjaGFudFZhcmlhbnRTZXR0aW5ncz86IE1lcmNoYW50VmFyaWFudFNldHRpbmdzO1xuICAgIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuICAgIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAgIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gICAgc3RpY2t5QWdlbnRTd2l0Y2hTdWdnZXN0aW9uPzogYm9vbGVhbjtcbiAgICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICAgIHByb2R1Y3RSZXZpZXdDb25maWc/OiBQcm9kdWN0UmV2aWV3Q29uZmlnO1xuICAgIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gICAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gICAgc2VsZWN0b3I6IHN0cmluZztcbiAgICBzZWxlY3Rpb25JbmRleD86IG51bWJlcjtcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbnR5cGUgVVJMVGVzdCA9ICdzaG9waWZ5JyB8ICdudWxsJztcbnR5cGUgSWRFeHRyYWN0b3IgPSAnc2hvcGlmeS1wcm9kdWN0LWlkJyB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJyB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCcgfCAndXJsLXJlc29sdmVyLXBscC1pZCcgfCAnbnVsbCc7XG5kZWNsYXJlIGVudW0gQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIHtcbiAgICBWaXNpdENhdGVnb3J5TWFwID0gXCJWaXNpdENhdGVnb3J5TWFwXCIsXG4gICAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSBcIlZpc2l0Q2F0ZWdvcnlEZWZhdWx0XCJcbn1cbmludGVyZmFjZSBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8VCBleHRlbmRzIENhdGVnb3J5RXh0cmFjdG9yVHlwZT4ge1xuICAgIHR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeU1hcCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeU1hcD4ge1xuICAgIG1hcDoge1xuICAgICAgICBba2V5IGluIFBhZ2VWaXNpdENhdGVnb3J5XT86IHN0cmluZ1tdO1xuICAgIH07XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeURlZmF1bHQgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0PiB7XG4gICAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxudHlwZSBDYXRlZ29yeUV4dHJhY3RvciA9IFZpc2l0Q2F0ZWdvcnlNYXAgfCBWaXNpdENhdGVnb3J5RGVmYXVsdDtcbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIGVsZW1lbnQ6IHN0cmluZztcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbmRlY2xhcmUgZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgICBQYWdlQ2F0ZWdvcnkgPSBcIlBhZ2VDYXRlZ29yeVwiLFxuICAgIENhdGFsb2dDYXRlZ29yeSA9IFwiQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gICAgVG9wQ2F0YWxvZ0NhdGVnb3J5ID0gXCJUb3BDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBIYXNSZXZpZXdzID0gXCJIYXNSZXZpZXdzXCIsXG4gICAgSW5Db2xsZWN0aW9uID0gXCJJbkNvbGxlY3Rpb25cIixcbiAgICBIYXNNZXJjaGFudFRhZyA9IFwiSGFzTWVyY2hhbnRUYWdcIixcbiAgICBGZWF0dXJlR2F0ZSA9IFwiRmVhdHVyZUdhdGVcIixcbiAgICBQbHBJZCA9IFwiUGxwSWRcIixcbiAgICBRdWVyeVBhcmFtID0gXCJRdWVyeVBhcmFtXCIsXG4gICAgUHJvZHVjdElkID0gXCJQcm9kdWN0SWRcIixcbiAgICBVc2VySGFzSW50ZXJhY3RlZCA9IFwiVXNlckhhc0ludGVyYWN0ZWRcIixcbiAgICBVc2VySGFzTm90SW50ZXJhY3RlZCA9IFwiVXNlckhhc05vdEludGVyYWN0ZWRcIixcbiAgICBpc0xvYWRpbmcgPSBcImlzTG9hZGluZ1wiLFxuICAgIGlzUHJvZHVjdENvbXBhcmlzb24gPSBcImlzUHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBGYWxsYmFjayA9IFwiRmFsbGJhY2tcIixcbiAgICBVcmxSZXNvbHZlciA9IFwiVXJsUmVzb2x2ZXJcIixcbiAgICBpc1NjcmVlbldpZHRoU21hbGxlciA9IFwiaXNTY3JlZW5XaWR0aFNtYWxsZXJcIixcbiAgICBOdWxsID0gXCJudWxsXCJcbn1cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gICAgdGVzdFR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICAgIHRvcENhdGVnb3J5OiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICAgIGNhdGVnb3J5OiBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeTtcbn1cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gICAgcmV2aWV3TWluaW11bT86IG51bWJlcjtcbn1cbmludGVyZmFjZSBJbkNvbGxlY3Rpb25UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbj4ge1xuICAgIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBIYXNNZXJjaGFudFRhZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzTWVyY2hhbnRUYWc+IHtcbiAgICBtZXJjaGFudFRhZ3M6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gICAgZXh0cmFjdG9yOiBDYXRlZ29yeUV4dHJhY3Rvcjtcbn1cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzO1xufVxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBQbHBJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQ+IHtcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gICAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gICAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7XG59XG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7XG59XG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge1xufVxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge1xufVxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICAgIGJyZWFrcG9pbnQ6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9IFBhZ2VDYXRlZ29yeVRlc3QgfCBDYXRhbG9nQ2F0ZWdvcnlUZXN0IHwgVG9wQ2F0YWxvZ0NhdGVnb3J5IHwgSGFzUmV2aWV3c1Rlc3QgfCBJbkNvbGxlY3Rpb25UZXN0IHwgSGFzTWVyY2hhbnRUYWdUZXN0IHwgRmVhdHVyZUdhdGVUZXN0IHwgUHJvZHVjdElkVGVzdCB8IFBscElkVGVzdCB8IFF1ZXJ5UGFyYW1UZXN0IHwgVXNlckhhc0ludGVyYWN0ZWRUZXN0IHwgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IHwgSXNMb2FkaW5nVGVzdCB8IElzUHJvZHVjdENvbXBhcmlzb24gfCBQYWdlRmFsbGJhY2tUZXN0IHwgVXJsUmVzb2x2ZXJUZXN0IHwgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0O1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeTogc3RyaW5nO1xuICAgIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICAgIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBsb2dvTmFtZT86IHN0cmluZztcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIHRlc3RJZDogc3RyaW5nO1xuICAgIHBhcmVudEluc2VydGlvblBvaW50PzogSW5zZXJ0aW9uUG9pbnQ7XG4gICAgaW5zZXJ0aW9uUG9pbnQ6IEluc2VydGlvblBvaW50O1xuICAgIGdyaWRJbnNlcnRpb25UeXBlPzogR3JpZEluc2VydGlvblR5cGU7XG4gICAgd3JhcHBpbmdFbGVtZW50PzogV3JhcHBpbmdFbGVtZW50O1xuICAgIGRpdkNoZWNrU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3VwcHJlc3Npb25TZWxlY3Rvcj86IHN0cmluZztcbiAgICBzdHlsZT86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG50eXBlIFN0YXRpY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgRHluYW1pY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBtb3VudGluZ1BvaW50V2lkZ2V0czogV2lkZ2V0RGlzcGxheVRlc3RzW107XG59O1xudHlwZSBXaWRnZXREaXNwbGF5VGVzdHMgPSB7XG4gICAgdGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBXaWRnZXRNb3VudGluZyA9IFN0YXRpY1dpZGdldE1vdW50aW5nIHwgRHluYW1pY1dpZGdldE1vdW50aW5nO1xuZGVjbGFyZSBlbnVtIFdpZGdldFR5cGUge1xuICAgIENoYXRQcmV2aWV3ID0gXCJDaGF0UHJldmlld1wiLFxuICAgIFNvY2lhbFByb29mVjIgPSBcIlNvY2lhbFByb29mVjJcIixcbiAgICBDaGF0UHJldmlld1YyID0gXCJDaGF0UHJldmlld1YyXCIsXG4gICAgQ2hhdFByZXZpZXdJc0xvYWRpbmcgPSBcIkNoYXRQcmV2aWV3SXNMb2FkaW5nXCIsXG4gICAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSBcIkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uXCIsXG4gICAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbiA9IFwiQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIFN1Z2dlc3Rpb25CYXIgPSBcIlN1Z2dlc3Rpb25CYXJcIixcbiAgICBTdWdnZXN0aW9uQmFyVjIgPSBcIlN1Z2dlc3Rpb25CYXJWMlwiLFxuICAgIEltYWdlUHJvbXB0Q2FyZCA9IFwiSW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgSW1hZ2VCYW5uZXIgPSBcIkltYWdlQmFubmVyXCIsXG4gICAgU2luZ2xlSW1hZ2VQcm9tcHQgPSBcIlNpbmdsZUltYWdlUHJvbXB0XCIsXG4gICAgU2VhcmNoUHJvbXB0ID0gXCJTZWFyY2hQcm9tcHRcIixcbiAgICBTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50ID0gXCJTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSBcIlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoT3ZlcmxheUhvc3QgPSBcIlNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgTm9PcCA9IFwiTm9PcFwiXG59XG50eXBlIFdpZGdldENvbmZpZyA9IENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIHwgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyB8IFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyB8IEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIHwgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgfCBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaFByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyB8IFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIHwgTm9PcFdpZGdldENvbmZpZztcbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgICB0eXBlOiBUO1xuICAgIGNvbnRlbnRJZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBJbWFnZUJhbm5lcldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZUJhbm5lcj4ge1xuICAgIGltYWdlU3JjOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlldz4ge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ2ZsYXQnIHwgJ291dGxpbmVkJztcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbiAgICBzb2NpYWxQcm9vZkNvbmZpZz86IFNvY2lhbFByb29mQ29uZmlnO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xufVxudHlwZSBTaW5nbGVJbWFnZUNvbmZpZyA9IHtcbiAgICBsYXlvdXQ6ICdzaW5nbGUnO1xuICAgIGltYWdlSW5kZXg6IG51bWJlcjtcbn07XG50eXBlIE11bHRpSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaW1hZ2VOYW1lczogc3RyaW5nW107XG59O1xudHlwZSBTb2NpYWxQcm9vZkltYWdlQ29uZmlnID0gU2luZ2xlSW1hZ2VDb25maWcgfCBNdWx0aUltYWdlQ29uZmlnO1xudHlwZSBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcgPSB7XG4gICAgYnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWcgPSB7XG4gICAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgICBhbmltYXRlZFN0cmluZ3M6IHN0cmluZ1tdO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID0ge1xuICAgIHZhcmlhbnQ6ICdmbGF0Jztcbn0gfCB7XG4gICAgdmFyaWFudDogJ2ZpbGxlZCc7XG4gICAgYmFja2dyb3VuZEZpbGxDb2xvcjogc3RyaW5nO1xufSB8IHtcbiAgICB2YXJpYW50OiAnb3V0bGluZWQnO1xufTtcbmludGVyZmFjZSBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgICBzdWdnZXN0aW9uQnV0dG9uc0NvbmZpZzogQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld0lzTG9hZGluZz4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICB1c2VMYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3VjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGFuaW1hdGVkVGV4dENvbmZpZzogQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWc7XG59XG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Tb2NpYWxQcm9vZlYyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5Pzogc3RyaW5nO1xuICAgIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuaW50ZXJmYWNlIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjI+IHtcbiAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzO1xuICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgICAgIHByb2R1Y3RTcGVjaWZpYz86IHtcbiAgICAgICAgICAgIFtwcm9kdWN0SWQ6IHN0cmluZ106IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICAgIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgICBidXR0b25Cb3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5pbnRlcmZhY2UgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkPiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmdbXTtcbiAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBmYWxsYmFja0JhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbmludGVyZmFjZSBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TaW5nbGVJbWFnZVByb21wdD4ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogU2VhcmNoWmVyb1N0YXRlVmFyaWFudDtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICAgIHNlYXJjaEljb25TaXplPzogbnVtYmVyO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICAgIGluaXRpYWxTdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIHVzaW5nUG9ydGFsPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlU3VidGl0bGU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE5vT3BXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuTm9PcD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7XG59XG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDogU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ7XG4gICAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBub1Jlc3VsdHNGb3VuZFRleHQ/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEhlYWRlclByb3BzIGV4dGVuZHMgVGVzdFByb3BzIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBsb2dvPzogc3RyaW5nO1xuICAgIGxvZ29IZWlnaHQ/OiBudW1iZXI7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJRdWVyeU9wdGlvbnMge1xuICAgIGZvb3RlclZhcmlhbnQ/OiAnc3RhbmRhcmQnO1xuICAgIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdhaS1zZWFyY2gnO1xufVxudHlwZSBTZWFyY2hQcm9tcHRWYXJpYW50ID0gJ3ByaW1hcnknO1xuaW50ZXJmYWNlIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hQcm9tcHQ+IHtcbiAgICB2YXJpYW50OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaGVhZGVyQ29uZmlnOiBXaWRnZXRIZWFkZXJQcm9wcztcbiAgICBzdWdnZXN0aW9uQnV0dG9uczoge1xuICAgICAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgYnV0dG9uVGV4dHM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgZm9vdGVyQ29uZmlnPzogVXNlclF1ZXJ5T3B0aW9ucztcbn1cbnR5cGUgUGFnZVZhcmlhbnRCYXNlID0ge1xuICAgIHZhcmlhbnRJZDogc3RyaW5nO1xuICAgIHdpZGdldE1vdW50aW5nOiBXaWRnZXRNb3VudGluZ1tdO1xuICAgIHZhcmlhbnRUZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG59O1xudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BscCc7XG4gICAgcGxwSWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgUERQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwZHAnO1xuICAgIHBhcmVudFByb2R1Y3RJZEV4dHJhY3Rvcj86IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xudHlwZSBWaXNpdFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGFnZV92aXNpdCc7XG59O1xudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnb3RoZXInO1xufTtcbnR5cGUgSG9tZVBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnaG9tZXBhZ2UnO1xufTtcbnR5cGUgU2VhcmNoUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdzZWFyY2gnO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID0gUExQUGFnZVZhcmlhbnQgfCBQRFBQYWdlVmFyaWFudCB8IFZpc2l0UGFnZVZhcmlhbnQgfCBPdGhlclBhZ2VWYXJpYW50IHwgSG9tZVBhZ2VWYXJpYW50IHwgU2VhcmNoUGFnZVZhcmlhbnQ7XG5leHBvcnQgdHlwZSBPcmdQYWdlQ29uZmlnID0ge1xuICAgIHBhZ2VWYXJpYW50czogUGFnZVZhcmlhbnRDb25maWdbXTtcbiAgICB3aWRnZXRDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRDb25maWdWMz47XG4gICAgbW91bnRpbmdDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRNb3VudGluZ0NvbmZpZz47XG59O1xuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5leHBvcnQgeyBDYXRlZ29yeUV4dHJhY3RvclR5cGUsIENvbG9yTmFtZXMsIGNvbG9yVmFyLCBQYWdlVmFyaWFudFRlc3RUeXBlLCBXaWRnZXRUeXBlIH07XG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gICAgYW1wbGl0dWRlQXBpS2V5Pzogc3RyaW5nO1xuICAgIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gICAgZW52Pzogc3RyaW5nO1xuICAgIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICAgIGNkblVybD86IHN0cmluZztcbiAgICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICAgIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICAgIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgICBvcmdJZD86IHN0cmluZztcbiAgICBpZGVudGlmeWluZ1ByZWZpeD86IHN0cmluZztcbiAgICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBhbnk7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgcHVibGljS2V5Pzogc3RyaW5nO1xuICAgIGZlYXR1cmVHYXRlcz86IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG59XG5leHBvcnQgdHlwZSB7IENhdGVnb3J5RXh0cmFjdG9yLCBDaGF0TWVzc2FnZVZhcmlhbnQsIENoYXRNZXNzYWdlQ29uZmlnLCBDaGF0UHJldmlld0NvbmZpZywgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcsIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcsIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnLCBDaGF0UHJldmlld0hlYWRlckNvbmZpZywgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3VmFyaWFudCwgQ29sb3JNYXBwaW5nLCBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnLCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIElkRXh0cmFjdG9yLCBJbWFnZUJhbm5lcldpZGdldENvbmZpZywgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIEluc2VydGlvblBvaW50LCBNdWx0aUltYWdlQ29uZmlnLCBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncywgU2VhcmNoQ29uZmlnLCBPcmdVSUNvbmZpZywgUGFnZUNhcmRDb25maWcsIFBhZ2VDYXJkVmFyaWFudCwgUGFnZUNhcmRIb3ZlclZhcmlhbnQsIFBhZ2VDYXJkSWNvblZhcmlhbnQsIFByb2R1Y3RDYXJkQ29uZmlnLCBQcm9kdWN0Q2FyZFZhcmlhbnQsIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCwgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LCBQcm9kdWN0TGlua0ljb25WYXJpYW50LCBQcm9kdWN0TGlua1ZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb25maWcsIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsIFNlYXJjaFByb21wdFZhcmlhbnQsIFNlYXJjaFByb21wdFdpZGdldENvbmZpZywgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZywgU29jaWFsUHJvb2ZDb25maWcsIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsIFVSTFRlc3QsIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZywgVXNlclF1ZXJ5QnV0dG9uSWNvbiwgV2VsY29tZVNlY3Rpb25Db25maWcsIFdlbGNvbWVTZWN0aW9uVmFyaWFudCwgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsIFdpZGdldENvbmZpZywgV3JhcHBpbmdFbGVtZW50LCBTZWFyY2hDYXJkVmFyaWFudCwgV2lkZ2V0RGlzcGxheVRlc3RzLCBOb09wV2lkZ2V0Q29uZmlnLCBXaWRnZXRNb3VudGluZywgU3RhdGljV2lkZ2V0TW91bnRpbmcsIER5bmFtaWNXaWRnZXRNb3VudGluZywgUERQUGFnZVZhcmlhbnQsIFBMUFBhZ2VWYXJpYW50LCBWaXNpdFBhZ2VWYXJpYW50LCBPdGhlclBhZ2VWYXJpYW50LCBIb21lUGFnZVZhcmlhbnQsIFNlYXJjaFBhZ2VWYXJpYW50LCBOdW1Sb3dzLCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQVlBLElBQUksNEJBQTRCLENBQUMsR0FBRztBQUNwQyxJQUFJLDJCQUEyQixDQUFDLFVBQUEsMEJBQUE7QUFDaEMsSUFBSSx3QkFBd0IsQ0FBQyxHQUFHO0FBQ2hDLElBQUksNkJBQWdCLENBQUEsR0FBQTtBQUNwQixJQUFJLHVCQUFlO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBSSxvQkFBZTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQUksMEJBQUMsQ0FBQSxHQUFBO0FBQ0wsSUFBSSwwQkFBc0IsQ0FBQSxHQUFBO0FBQzFCLElBQUksNEJBQXFCLENBQUEsR0FBQTtBQUN6QixJQUFJLDRCQUFrQixDQUFBLEdBQUE7QUFDdEIsSUFBSSxzQkFBc0I7Q0FBQztPQUFVO09BQUk7Q0FBQTtBQUN6QyxJQUFJLGtCQUFrQixDQUFDLEdBQUE7QUFDdkIsSUFBSSx1QkFBaUIsQ0FBQSxHQUFBO0FBQ3JCLElBQUksc0JBQXNCLENBQUMsR0FBQztBQUM1QixJQUFJLGlCQUFpQjtDQUFDO09BQUk7T0FBQTtPQUFBO0NBQUE7QUFDMUIsSUFBSSxxQkFBZSxDQUFBLEdBQUE7QUFDbkIsSUFBSSwwQkFBaUIsQ0FBQSxHQUFBO0FBQ3JCLElBQUMsMkJBQUEsQ0FBQSxHQUFBO0FBQ0QsSUFBSSxvQkFBb0I7Q0FBQztPQUFVO09BQWlCO09BQUE7Q0FBQTtBQUNwRCxJQUFJLGlCQUFpQixDQUFDLEdBQUc7QUFDekIsSUFBSSxtQkFBbUI7Q0FBQztPQUFJO09BQUEsTUFBQTtPQUFBLE1BQUE7T0FBQTtPQUFBLE1BQUE7T0FBQSxNQUFB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
|
|
700
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHRzL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uJztcbmltcG9ydCB7IENvbG9yTWFwcGluZywgQ29sb3JOYW1lcywgY29sb3JWYXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsIEN1c3RvbWVyU2VydmljZVR5cGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRJbnNlcnRpb25UeXBlIH0gZnJvbSAnc3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uJztcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2RvbUluc2VydGlvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VWaXNpdENhdGVnb3J5LCBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzIH0gZnJvbSAnLi90eXBlc1YzJztcbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9ICdhbHdheXMnIHwgJ2FmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcCcgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tYW55d2hlcmUnIHwgJ25ldmVyJztcbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICAgIHBvc2l0aW9uOiAnYm90dG9tLWxlZnQnIHwgJ21pZGRsZS1sZWZ0JyB8ICdtaWRkbGUtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCc7XG4gICAgZXhwYW5zaW9uVGV4dD86IHtcbiAgICAgICAgcGRwOiBzdHJpbmc7XG4gICAgICAgIHBscDogc3RyaW5nO1xuICAgIH07XG4gICAgbWluaW1pemVkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNob3dPcHRpb246IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBpY29uU2l6ZT86IG51bWJlcjtcbiAgICBpY29uU3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBudW1iZXI7XG59O1xudHlwZSBXZWxjb21lU2VjdGlvblZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ291dGxpbmVkJztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gICAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICAgIGNvbG9yVmFyaWFudD86IFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50O1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGljb25OYW1lPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICAgIGxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xuICAgIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcj86IHN0cmluZztcbiAgICBjb3BpZXM6IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7XG4gICAgICAgIHBkcDogc3RyaW5nW107XG4gICAgICAgIHBscDogc3RyaW5nW107XG4gICAgfTtcbiAgICBzdGF0aWNQTFBJbWFnZXM/OiBzdHJpbmdbXTtcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgICB0b3BNYXJnaW4/OiBudW1iZXI7XG59O1xudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgICBzcGFya2xlc0NvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGljb25XaWR0aD86IHN0cmluZztcbiAgICBpY29uSGVpZ2h0Pzogc3RyaW5nO1xufTtcbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gICAgaGFzRmFkZT86IGJvb2xlYW47XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiAnZGFyaycgfCAnbGlnaHQnIHwgJ291dGxpbmVkJztcbiAgICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5SW5wdXRIYXNTaGFkb3c/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xudHlwZSBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50ID0gJ25ldXRyYWwnIHwgJ2JyYW5kJyB8ICdwcmVtaXVtJztcbmludGVyZmFjZSBQcm9kdWN0UmV2aWV3Q29uZmlnIHtcbiAgICBzdHlsZVZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICAgIHZlcmlmaWVkQnV5ZXJUaXRsZTogc3RyaW5nO1xuICAgIGluY2VudGl2aXplZFJldmlld0ZsYWc/OiBib29sZWFuO1xufVxudHlwZSBQYWdlQ2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgfCAnbWluaW1hbCc7XG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG50eXBlIFBhZ2VDYXJkSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICdiYWNrZ3JvdW5kJyB8ICdub25lJztcbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gICAgdmFyaWFudDogUGFnZUNhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gICAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG50eXBlIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJyB8ICdub25lJztcbnR5cGUgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50ID0gJ25vcm1hbCcgfCAndGFsbCcgfCAnc3F1YXJlJztcbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gICAgdmFyaWFudDogUHJvZHVjdENhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gICAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICAgIHByaWNlUHJlZml4Pzogc3RyaW5nO1xufVxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICAgIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICAgIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgc3VwcG9ydFRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gICAgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xuICAgIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAgIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgICBoZWFkZXJCYXJIZWlnaHRQYXJ0aWFsVmlldzogbnVtYmVyO1xuICAgIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gICAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICAgIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gICAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gICAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICAgIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICAgIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNTdGFydFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICAgKi9cbiAgICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG4gICAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgICB3YWl0aW5nTWVzc2FnZVBvc2l0aW9uPzogJ0JFRk9SRV9NRVNTQUdFUycgfCAnQUZURVJfTUVTU0FHRVMnO1xuICAgIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgICByZW9wZW5DaGF0TWVzc2FnZTogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICByZXBseUlucHV0PzogUmVwbHlJbnB1dENvbmZpZztcbiAgICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gICAgcHJvZHVjdEdyaWRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgICBzZWFyY2hDb250ZW50Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgICBzb3J0aW5nRm9udD86IHN0cmluZztcbiAgICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcbmludGVyZmFjZSBDaGF0TWVzc2FnZUNvbmZpZyB7XG4gICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gICAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICAgIHByb2R1Y3RMaW5rOiB7XG4gICAgICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICAgICAgaWNvblZhcmlhbnQ6IFByb2R1Y3RMaW5rSWNvblZhcmlhbnQ7XG4gICAgfTtcbn1cbmludGVyZmFjZSBSZXBseUlucHV0Q29uZmlnIHtcbiAgICBzaXplPzogJ21kJyB8ICdsZyc7XG4gICAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59XG50eXBlIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQgPSAnYWNjZW50UHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaycgfCAnYm9yZGVyTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSAndGV4dExpbmsnO1xudHlwZSBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCA9ICdiYWNrZ3JvdW5kRGFyayc7XG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID0gJ2JhY2tncm91bmRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyaycgfCAnYmFja2dyb3VuZExpZ2h0JyB8ICdiYWNrZ3JvdW5kU2F0dXJhdGVkJztcbnR5cGUgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQgPSAnb3V0bGluZWQnIHwgJ291dGxpbmVkTGlnaHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ2RhcmsnIHwgJ2RhcmtBY2NlbnQnIHwgJ2RhcmtQcmltYXJ5JyB8ICdzZWNvbmRhcnlEYXJrJyB8ICdzZWNvbmRhcnlBY2NlbnQnIHwgJ3RyYW5zcGFyZW50JyB8ICd0cmFuc3BhcmVudERhcmsnIHwgJ2xpZ2h0RGFyayc7XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGFuc3dlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG50eXBlIE51bVJvd3MgPSAnZGVmYXVsdCcgfCAnYWx3YXlzT25lUm93JyB8ICdhbHdheXNUd29Sb3dzJyB8ICd0d29Sb3dzT25Nb2JpbGUnO1xuaW50ZXJmYWNlIEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnYWxwaGFiZXRpYyc7XG59XG5pbnRlcmZhY2UgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxudHlwZSBGaWx0ZXJTb3J0aW5nID0gQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcgfCBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHwgQ3VzdG9tRmlsdGVyU29ydGluZztcbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgRHluYW1pY0ZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIHR5cGU6ICdkeW5hbWljJztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBzb3J0aW5nOiBGaWx0ZXJTb3J0aW5nO1xufVxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ3ByaWNlJztcbiAgICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVWYXJpYW50ID0gJ2JhY2tncm91bmRUZXJ0aWFyeScgfCAnYmFja2dyb3VuZERhcmsnIHwgJ2JhY2tncm91bmRQcmltYXJ5JztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZUxheW91dCA9ICdpbnB1dCcgfCAnaWNvbic7XG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuZXhwb3J0IHR5cGUgU2VhcmNoSWNvblZhcmlhbnQgPSAndGhpbicgfCAnYm9sZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudCA9ICdkYXJrQnV0dG9uJyB8ICdsaWdodEJ1dHRvbic7XG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG50eXBlIFVzZXJRdWVyeUJ1dHRvbkljb24gPSAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICdtYWduaWZ5aW5nR2xhc3NUaGluJyB8ICdzZW5kQXJyb3cnIHwgJ3NlYXJjaEljb24nO1xuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86ICdib3gnIHwgJ3VuZGVybGluZUxpZ2h0JyB8ICd1bmRlcmxpbmVEYXJrJztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cbmludGVyZmFjZSBUZXJtc0FuZENvbmRpdGlvbnNDb25maWcge1xuICAgIGNvcHk6IHN0cmluZztcbiAgICBsaW5rOiBzdHJpbmc7XG4gICAgbGlua1RleHQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gICAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbD86IG51bWJlcjtcbiAgICB9O1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gICAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgdGVybXNBbmRDb25kaXRpb25zQ29uZmlnPzogVGVybXNBbmRDb25kaXRpb25zQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHJlcGx5SW5wdXRDb25maWc6IFJlcGx5SW5wdXRDb25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgICBlbmFibGVHbG9iYWxTZWFyY2g6IGJvb2xlYW47XG4gICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw/OiBzdHJpbmc7XG4gICAgYWRkaXRpdmVEeW5hbWljRmlsdGVycz86IGJvb2xlYW47XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nPzogc3RyaW5nO1xufVxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcbnR5cGUgT3JnVUlDb25maWcgPSB7XG4gICAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gICAgc2hvcnROYW1lOiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAgIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG4gICAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoPzogQ29udmVyc2F0aW9uYWxTZWFjaDtcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuICAgIGhpZGRlbkVsZW1lbnRTZWxlY3RvcnM/OiBzdHJpbmdbXTtcbiAgICBtZXJjaGFudFZhcmlhbnRTZXR0aW5ncz86IE1lcmNoYW50VmFyaWFudFNldHRpbmdzO1xuICAgIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuICAgIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAgIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gICAgc3RpY2t5QWdlbnRTd2l0Y2hTdWdnZXN0aW9uPzogYm9vbGVhbjtcbiAgICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICAgIHByb2R1Y3RSZXZpZXdDb25maWc/OiBQcm9kdWN0UmV2aWV3Q29uZmlnO1xuICAgIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gICAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gICAgc2VsZWN0b3I6IHN0cmluZztcbiAgICBzZWxlY3Rpb25JbmRleD86IG51bWJlcjtcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbnR5cGUgVVJMVGVzdCA9ICdzaG9waWZ5JyB8ICdudWxsJztcbnR5cGUgSWRFeHRyYWN0b3IgPSAnc2hvcGlmeS1wcm9kdWN0LWlkJyB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJyB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCcgfCAndXJsLXJlc29sdmVyLXBscC1pZCcgfCAnbnVsbCc7XG5kZWNsYXJlIGVudW0gQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIHtcbiAgICBWaXNpdENhdGVnb3J5TWFwID0gXCJWaXNpdENhdGVnb3J5TWFwXCIsXG4gICAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSBcIlZpc2l0Q2F0ZWdvcnlEZWZhdWx0XCJcbn1cbmludGVyZmFjZSBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8VCBleHRlbmRzIENhdGVnb3J5RXh0cmFjdG9yVHlwZT4ge1xuICAgIHR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeU1hcCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeU1hcD4ge1xuICAgIG1hcDoge1xuICAgICAgICBba2V5IGluIFBhZ2VWaXNpdENhdGVnb3J5XT86IHN0cmluZ1tdO1xuICAgIH07XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeURlZmF1bHQgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0PiB7XG4gICAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxudHlwZSBDYXRlZ29yeUV4dHJhY3RvciA9IFZpc2l0Q2F0ZWdvcnlNYXAgfCBWaXNpdENhdGVnb3J5RGVmYXVsdDtcbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIGVsZW1lbnQ6IHN0cmluZztcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbmRlY2xhcmUgZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgICBQYWdlQ2F0ZWdvcnkgPSBcIlBhZ2VDYXRlZ29yeVwiLFxuICAgIENhdGFsb2dDYXRlZ29yeSA9IFwiQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gICAgVG9wQ2F0YWxvZ0NhdGVnb3J5ID0gXCJUb3BDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBIYXNSZXZpZXdzID0gXCJIYXNSZXZpZXdzXCIsXG4gICAgSW5Db2xsZWN0aW9uID0gXCJJbkNvbGxlY3Rpb25cIixcbiAgICBIYXNNZXJjaGFudFRhZyA9IFwiSGFzTWVyY2hhbnRUYWdcIixcbiAgICBGZWF0dXJlR2F0ZSA9IFwiRmVhdHVyZUdhdGVcIixcbiAgICBQbHBJZCA9IFwiUGxwSWRcIixcbiAgICBRdWVyeVBhcmFtID0gXCJRdWVyeVBhcmFtXCIsXG4gICAgUHJvZHVjdElkID0gXCJQcm9kdWN0SWRcIixcbiAgICBVc2VySGFzSW50ZXJhY3RlZCA9IFwiVXNlckhhc0ludGVyYWN0ZWRcIixcbiAgICBVc2VySGFzTm90SW50ZXJhY3RlZCA9IFwiVXNlckhhc05vdEludGVyYWN0ZWRcIixcbiAgICBpc0xvYWRpbmcgPSBcImlzTG9hZGluZ1wiLFxuICAgIGlzUHJvZHVjdENvbXBhcmlzb24gPSBcImlzUHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBGYWxsYmFjayA9IFwiRmFsbGJhY2tcIixcbiAgICBVcmxSZXNvbHZlciA9IFwiVXJsUmVzb2x2ZXJcIixcbiAgICBpc1NjcmVlbldpZHRoU21hbGxlciA9IFwiaXNTY3JlZW5XaWR0aFNtYWxsZXJcIixcbiAgICBOdWxsID0gXCJudWxsXCJcbn1cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gICAgdGVzdFR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICAgIHRvcENhdGVnb3J5OiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICAgIGNhdGVnb3J5OiBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeTtcbn1cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gICAgcmV2aWV3TWluaW11bT86IG51bWJlcjtcbn1cbmludGVyZmFjZSBJbkNvbGxlY3Rpb25UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbj4ge1xuICAgIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBIYXNNZXJjaGFudFRhZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzTWVyY2hhbnRUYWc+IHtcbiAgICBtZXJjaGFudFRhZ3M6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gICAgZXh0cmFjdG9yOiBDYXRlZ29yeUV4dHJhY3Rvcjtcbn1cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzO1xufVxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBQbHBJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQ+IHtcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gICAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gICAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7XG59XG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7XG59XG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge1xufVxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge1xufVxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICAgIGJyZWFrcG9pbnQ6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9IFBhZ2VDYXRlZ29yeVRlc3QgfCBDYXRhbG9nQ2F0ZWdvcnlUZXN0IHwgVG9wQ2F0YWxvZ0NhdGVnb3J5IHwgSGFzUmV2aWV3c1Rlc3QgfCBJbkNvbGxlY3Rpb25UZXN0IHwgSGFzTWVyY2hhbnRUYWdUZXN0IHwgRmVhdHVyZUdhdGVUZXN0IHwgUHJvZHVjdElkVGVzdCB8IFBscElkVGVzdCB8IFF1ZXJ5UGFyYW1UZXN0IHwgVXNlckhhc0ludGVyYWN0ZWRUZXN0IHwgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IHwgSXNMb2FkaW5nVGVzdCB8IElzUHJvZHVjdENvbXBhcmlzb24gfCBQYWdlRmFsbGJhY2tUZXN0IHwgVXJsUmVzb2x2ZXJUZXN0IHwgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0O1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeTogc3RyaW5nO1xuICAgIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICAgIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBsb2dvTmFtZT86IHN0cmluZztcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIHRlc3RJZDogc3RyaW5nO1xuICAgIHBhcmVudEluc2VydGlvblBvaW50PzogSW5zZXJ0aW9uUG9pbnQ7XG4gICAgaW5zZXJ0aW9uUG9pbnQ6IEluc2VydGlvblBvaW50O1xuICAgIGdyaWRJbnNlcnRpb25UeXBlPzogR3JpZEluc2VydGlvblR5cGU7XG4gICAgd3JhcHBpbmdFbGVtZW50PzogV3JhcHBpbmdFbGVtZW50O1xuICAgIGRpdkNoZWNrU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3VwcHJlc3Npb25TZWxlY3Rvcj86IHN0cmluZztcbiAgICBzdHlsZT86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG50eXBlIFN0YXRpY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgRHluYW1pY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBtb3VudGluZ1BvaW50V2lkZ2V0czogV2lkZ2V0RGlzcGxheVRlc3RzW107XG59O1xudHlwZSBXaWRnZXREaXNwbGF5VGVzdHMgPSB7XG4gICAgdGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBXaWRnZXRNb3VudGluZyA9IFN0YXRpY1dpZGdldE1vdW50aW5nIHwgRHluYW1pY1dpZGdldE1vdW50aW5nO1xuZGVjbGFyZSBlbnVtIFdpZGdldFR5cGUge1xuICAgIENoYXRQcmV2aWV3ID0gXCJDaGF0UHJldmlld1wiLFxuICAgIFNvY2lhbFByb29mVjIgPSBcIlNvY2lhbFByb29mVjJcIixcbiAgICBDaGF0UHJldmlld1YyID0gXCJDaGF0UHJldmlld1YyXCIsXG4gICAgQ2hhdFByZXZpZXdJc0xvYWRpbmcgPSBcIkNoYXRQcmV2aWV3SXNMb2FkaW5nXCIsXG4gICAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSBcIkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uXCIsXG4gICAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbiA9IFwiQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIFN1Z2dlc3Rpb25CYXIgPSBcIlN1Z2dlc3Rpb25CYXJcIixcbiAgICBTdWdnZXN0aW9uQmFyVjIgPSBcIlN1Z2dlc3Rpb25CYXJWMlwiLFxuICAgIEltYWdlUHJvbXB0Q2FyZCA9IFwiSW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgSW1hZ2VCYW5uZXIgPSBcIkltYWdlQmFubmVyXCIsXG4gICAgU2luZ2xlSW1hZ2VQcm9tcHQgPSBcIlNpbmdsZUltYWdlUHJvbXB0XCIsXG4gICAgU2VhcmNoUHJvbXB0ID0gXCJTZWFyY2hQcm9tcHRcIixcbiAgICBTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50ID0gXCJTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSBcIlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoT3ZlcmxheUhvc3QgPSBcIlNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgTm9PcCA9IFwiTm9PcFwiXG59XG50eXBlIFdpZGdldENvbmZpZyA9IENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIHwgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyB8IFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyB8IEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIHwgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgfCBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaFByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyB8IFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIHwgTm9PcFdpZGdldENvbmZpZztcbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgICB0eXBlOiBUO1xuICAgIGNvbnRlbnRJZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBJbWFnZUJhbm5lcldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZUJhbm5lcj4ge1xuICAgIGltYWdlU3JjOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlldz4ge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ2ZsYXQnIHwgJ291dGxpbmVkJztcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbiAgICBzb2NpYWxQcm9vZkNvbmZpZz86IFNvY2lhbFByb29mQ29uZmlnO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xufVxudHlwZSBTaW5nbGVJbWFnZUNvbmZpZyA9IHtcbiAgICBsYXlvdXQ6ICdzaW5nbGUnO1xuICAgIGltYWdlSW5kZXg6IG51bWJlcjtcbn07XG50eXBlIE11bHRpSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaW1hZ2VOYW1lczogc3RyaW5nW107XG59O1xudHlwZSBTb2NpYWxQcm9vZkltYWdlQ29uZmlnID0gU2luZ2xlSW1hZ2VDb25maWcgfCBNdWx0aUltYWdlQ29uZmlnO1xudHlwZSBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcgPSB7XG4gICAgYnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWcgPSB7XG4gICAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgICBhbmltYXRlZFN0cmluZ3M6IHN0cmluZ1tdO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID0ge1xuICAgIHZhcmlhbnQ6ICdmbGF0Jztcbn0gfCB7XG4gICAgdmFyaWFudDogJ2ZpbGxlZCc7XG4gICAgYmFja2dyb3VuZEZpbGxDb2xvcjogc3RyaW5nO1xufSB8IHtcbiAgICB2YXJpYW50OiAnb3V0bGluZWQnO1xufTtcbmludGVyZmFjZSBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgICBzdWdnZXN0aW9uQnV0dG9uc0NvbmZpZzogQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld0lzTG9hZGluZz4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICB1c2VMYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3VjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGFuaW1hdGVkVGV4dENvbmZpZzogQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWc7XG59XG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Tb2NpYWxQcm9vZlYyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5Pzogc3RyaW5nO1xuICAgIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuaW50ZXJmYWNlIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjI+IHtcbiAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzO1xuICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgICAgIHByb2R1Y3RTcGVjaWZpYz86IHtcbiAgICAgICAgICAgIFtwcm9kdWN0SWQ6IHN0cmluZ106IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICAgIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgICBidXR0b25Cb3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5pbnRlcmZhY2UgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkPiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmdbXTtcbiAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBmYWxsYmFja0JhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbmludGVyZmFjZSBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TaW5nbGVJbWFnZVByb21wdD4ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogU2VhcmNoWmVyb1N0YXRlVmFyaWFudDtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICAgIHNlYXJjaEljb25TaXplPzogbnVtYmVyO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICAgIGluaXRpYWxTdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIHVzaW5nUG9ydGFsPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlU3VidGl0bGU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE5vT3BXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuTm9PcD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7XG59XG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDogU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ7XG4gICAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBub1Jlc3VsdHNGb3VuZFRleHQ/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEhlYWRlclByb3BzIGV4dGVuZHMgVGVzdFByb3BzIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBsb2dvPzogc3RyaW5nO1xuICAgIGxvZ29IZWlnaHQ/OiBudW1iZXI7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJRdWVyeU9wdGlvbnMge1xuICAgIGZvb3RlclZhcmlhbnQ/OiAnc3RhbmRhcmQnO1xuICAgIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdhaS1zZWFyY2gnO1xufVxudHlwZSBTZWFyY2hQcm9tcHRWYXJpYW50ID0gJ3ByaW1hcnknO1xuaW50ZXJmYWNlIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hQcm9tcHQ+IHtcbiAgICB2YXJpYW50OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaGVhZGVyQ29uZmlnOiBXaWRnZXRIZWFkZXJQcm9wcztcbiAgICBzdWdnZXN0aW9uQnV0dG9uczoge1xuICAgICAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgYnV0dG9uVGV4dHM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgZm9vdGVyQ29uZmlnPzogVXNlclF1ZXJ5T3B0aW9ucztcbn1cbnR5cGUgUGFnZVZhcmlhbnRCYXNlID0ge1xuICAgIHZhcmlhbnRJZDogc3RyaW5nO1xuICAgIHdpZGdldE1vdW50aW5nOiBXaWRnZXRNb3VudGluZ1tdO1xuICAgIHZhcmlhbnRUZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG59O1xudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BscCc7XG4gICAgcGxwSWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgUERQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwZHAnO1xuICAgIHBhcmVudFByb2R1Y3RJZEV4dHJhY3Rvcj86IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xudHlwZSBWaXNpdFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGFnZV92aXNpdCc7XG59O1xudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnb3RoZXInO1xufTtcbnR5cGUgSG9tZVBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnaG9tZXBhZ2UnO1xufTtcbnR5cGUgU2VhcmNoUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdzZWFyY2gnO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID0gUExQUGFnZVZhcmlhbnQgfCBQRFBQYWdlVmFyaWFudCB8IFZpc2l0UGFnZVZhcmlhbnQgfCBPdGhlclBhZ2VWYXJpYW50IHwgSG9tZVBhZ2VWYXJpYW50IHwgU2VhcmNoUGFnZVZhcmlhbnQ7XG5leHBvcnQgdHlwZSBPcmdQYWdlQ29uZmlnID0ge1xuICAgIHBhZ2VWYXJpYW50czogUGFnZVZhcmlhbnRDb25maWdbXTtcbiAgICB3aWRnZXRDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRDb25maWdWMz47XG4gICAgbW91bnRpbmdDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRNb3VudGluZ0NvbmZpZz47XG59O1xuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5leHBvcnQgeyBDYXRlZ29yeUV4dHJhY3RvclR5cGUsIENvbG9yTmFtZXMsIGNvbG9yVmFyLCBQYWdlVmFyaWFudFRlc3RUeXBlLCBXaWRnZXRUeXBlIH07XG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gICAgYW1wbGl0dWRlQXBpS2V5Pzogc3RyaW5nO1xuICAgIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gICAgZW52Pzogc3RyaW5nO1xuICAgIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICAgIGNkblVybD86IHN0cmluZztcbiAgICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICAgIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICAgIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgICBvcmdJZD86IHN0cmluZztcbiAgICBpZGVudGlmeWluZ1ByZWZpeD86IHN0cmluZztcbiAgICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBhbnk7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgcHVibGljS2V5Pzogc3RyaW5nO1xuICAgIGZlYXR1cmVHYXRlcz86IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG59XG5leHBvcnQgdHlwZSB7IENhdGVnb3J5RXh0cmFjdG9yLCBDaGF0TWVzc2FnZVZhcmlhbnQsIENoYXRNZXNzYWdlQ29uZmlnLCBDaGF0UHJldmlld0NvbmZpZywgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcsIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcsIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnLCBDaGF0UHJldmlld0hlYWRlckNvbmZpZywgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3VmFyaWFudCwgQ29sb3JNYXBwaW5nLCBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnLCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIElkRXh0cmFjdG9yLCBJbWFnZUJhbm5lcldpZGdldENvbmZpZywgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIEluc2VydGlvblBvaW50LCBNdWx0aUltYWdlQ29uZmlnLCBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncywgU2VhcmNoQ29uZmlnLCBPcmdVSUNvbmZpZywgUGFnZUNhcmRDb25maWcsIFBhZ2VDYXJkVmFyaWFudCwgUGFnZUNhcmRIb3ZlclZhcmlhbnQsIFBhZ2VDYXJkSWNvblZhcmlhbnQsIFByb2R1Y3RDYXJkQ29uZmlnLCBQcm9kdWN0Q2FyZFZhcmlhbnQsIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCwgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LCBQcm9kdWN0TGlua0ljb25WYXJpYW50LCBQcm9kdWN0TGlua1ZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb25maWcsIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsIFNlYXJjaFByb21wdFZhcmlhbnQsIFNlYXJjaFByb21wdFdpZGdldENvbmZpZywgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZywgU29jaWFsUHJvb2ZDb25maWcsIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsIFVSTFRlc3QsIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZywgVXNlclF1ZXJ5QnV0dG9uSWNvbiwgV2VsY29tZVNlY3Rpb25Db25maWcsIFdlbGNvbWVTZWN0aW9uVmFyaWFudCwgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsIFdpZGdldENvbmZpZywgV3JhcHBpbmdFbGVtZW50LCBTZWFyY2hDYXJkVmFyaWFudCwgV2lkZ2V0RGlzcGxheVRlc3RzLCBOb09wV2lkZ2V0Q29uZmlnLCBXaWRnZXRNb3VudGluZywgU3RhdGljV2lkZ2V0TW91bnRpbmcsIER5bmFtaWNXaWRnZXRNb3VudGluZywgUERQUGFnZVZhcmlhbnQsIFBMUFBhZ2VWYXJpYW50LCBWaXNpdFBhZ2VWYXJpYW50LCBPdGhlclBhZ2VWYXJpYW50LCBIb21lUGFnZVZhcmlhbnQsIFNlYXJjaFBhZ2VWYXJpYW50LCBOdW1Sb3dzLCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQVlBLElBQUksNEJBQTRCLENBQUMsR0FBRztBQUNwQyxJQUFJLDJCQUEyQixDQUFDLFVBQUEsMEJBQUE7QUFDaEMsSUFBSSx3QkFBd0IsQ0FBQyxHQUFHO0FBQ2hDLElBQUksNkJBQWdCLENBQUEsR0FBQTtBQUNwQixJQUFJLHVCQUFlO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBSSxvQkFBZTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQUksMEJBQUMsQ0FBQSxHQUFBO0FBQ0wsSUFBSSwwQkFBc0IsQ0FBQSxHQUFBO0FBQzFCLElBQUksNEJBQXFCLENBQUEsR0FBQTtBQUN6QixJQUFJLDRCQUFrQixDQUFBLEdBQUE7QUFDdEIsSUFBSSxzQkFBc0I7Q0FBQztPQUFVO09BQUk7Q0FBQTtBQUN6QyxJQUFJLGtCQUFrQixDQUFDLEdBQUE7QUFDdkIsSUFBSSx1QkFBaUIsQ0FBQSxHQUFBO0FBQ3JCLElBQUksc0JBQXNCLENBQUMsR0FBQztBQUM1QixJQUFJLGlCQUFpQjtDQUFDO09BQUk7T0FBQTtPQUFBO0NBQUE7QUFDMUIsSUFBSSxxQkFBZSxDQUFBLEdBQUE7QUFDbkIsSUFBSSwwQkFBaUIsQ0FBQSxHQUFBO0FBQ3JCLElBQUMsMkJBQUEsQ0FBQSxHQUFBO0FBQ0QsSUFBSSxvQkFBb0I7Q0FBQztPQUFVO09BQWlCO09BQUE7Q0FBQTtBQUNwRCxJQUFJLGlCQUFpQixDQUFDLEdBQUc7QUFDekIsSUFBSSxtQkFBbUI7Q0FBQztPQUFJO09BQUEsTUFBQTtPQUFBLE1BQUE7T0FBQTtPQUFBLE1BQUE7T0FBQSxNQUFB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
|
package/dist/contexts/types.d.ts
CHANGED
|
@@ -697,4 +697,4 @@ interface EnviveConfig {
|
|
|
697
697
|
}
|
|
698
698
|
//#endregion
|
|
699
699
|
export { type CategoryExtractor, CategoryExtractorType, type ChatMessageConfig, type ChatMessageVariant, type ChatPreviewConfig, type ChatPreviewFooterConfig, type ChatPreviewHeaderConfig, type ChatPreviewHeaderV2Config, type ChatPreviewIsLoadingWidgetConfig, type ChatPreviewPostInteractionWidgetConfig, type ChatPreviewProductComparisonWidgetConfig, type ChatPreviewSuggestionButtonConfig, type ChatPreviewV2WidgetConfig, type ChatPreviewVariant, type ChatPreviewWidgetConfig, type ColorMapping, ColorNames, type CustomerServiceIntegration, type DynamicWidgetMounting, EnviveConfig, FilterAttribute, type FloatingEntryPointConfig, type FullCustomerServiceIntegration, type HomePageVariant, type IdExtractor, type ImageBannerWidgetConfig, type ImagePromptWidgetConfig, type InsertionPoint, type MerchantVariantSettings, type MultiImageConfig, type NoOpWidgetConfig, type NumRows, OrgConfig, OrgPageConfig, type OrgUIConfig, type OtherPageVariant, type PDPPageVariant, type PLPPageVariant, type PageCardConfig, type PageCardHoverVariant, type PageCardIconVariant, type PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, type ProductCardConfig, type ProductCardHoverVariant, type ProductCardLayoutVariant, type ProductCardVariant, ProductGridVariant, type ProductLinkHoverVariant, type ProductLinkIconVariant, type ProductLinkVariant, type ProductReviewColorVariant, type ProductReviewConfig, type ProductReviewStyleVariant, type SearchCardVariant, type SearchConfig, type SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, type SearchOverlayHostWidgetConfig, type SearchPageVariant, type SearchPromptVariant, type SearchPromptWidgetConfig, type SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, type ShowFloatingButtonOptions, type SingleImagePromptWidgetConfig, type SocialProofConfig, type SocialProofV2WidgetConfig, type StaticWidgetMounting, type SuggestionBarWidgetV2Config, type SuggestionButtonConfig, type SuggestionButtonVariant, type URLTest, type UserQueryButtonConfig, type UserQueryButtonIcon, UserQueryOptions, type VisitPageVariant, type WelcomeSectionColorVariant, type WelcomeSectionConfig, type WelcomeSectionVariant, type WidgetConfig, type WidgetDisplayTests, WidgetHeaderProps, type WidgetMounting, WidgetMountingConfig, WidgetType, type WrappingElement, colorVar };
|
|
700
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dHMvdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sb3JNYXBwaW5nLCBDb2xvck5hbWVzLCBjb2xvclZhciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSwgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0b21lclNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb24nO1xuaW1wb3J0IHsgRE9NSW5zZXJ0aW9uVHlwZSB9IGZyb20gJ3NyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uJztcbmltcG9ydCB0eXBlIHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENoYXRTdGF0ZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0c2VydmljZS10eXBlcyc7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIH0gZnJvbSAnc3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlcyc7XG5pbXBvcnQgeyBUZXN0UHJvcHMgfSBmcm9tICdzcmMvdHlwZXMvdGVzdC10eXBlcyc7XG5pbXBvcnQgeyBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHMnO1xuaW1wb3J0IHsgV2lkZ2V0Q29uZmlnVjMgfSBmcm9tICcuL3R5cGVzVjMnO1xudHlwZSBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zID0gJ2Fsd2F5cycgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tb24tbW9iaWxlLWFsd2F5cy1kZXNrdG9wJyB8ICdhZnRlci1pbnRlcmFjdGlvbi1hbnl3aGVyZScgfCAnbmV2ZXInO1xudHlwZSBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcgPSB7XG4gICAgcG9zaXRpb246ICdib3R0b20tbGVmdCcgfCAnbWlkZGxlLWxlZnQnIHwgJ21pZGRsZS1yaWdodCcgfCAnYm90dG9tLXJpZ2h0JztcbiAgICBleHBhbnNpb25UZXh0Pzoge1xuICAgICAgICBwZHA6IHN0cmluZztcbiAgICAgICAgcGxwOiBzdHJpbmc7XG4gICAgfTtcbiAgICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICAgIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgICBpY29uU1ZHU3JjPzogc3RyaW5nO1xuICAgIGljb25TaXplPzogbnVtYmVyO1xuICAgIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBpY29uRmlsbENvbG9yPzogc3RyaW5nO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBmb250U2l6ZT86IG51bWJlcjtcbn07XG50eXBlIFdlbGNvbWVTZWN0aW9uVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnb3V0bGluZWQnO1xudHlwZSBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYWNjZW50JyB8ICdicmFuZCcgfCAnbGlnaHQnO1xudHlwZSBXZWxjb21lU2VjdGlvbkNvbmZpZyA9IHtcbiAgICB2YXJpYW50OiBXZWxjb21lU2VjdGlvblZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50PzogV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQ7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG59O1xudHlwZSBDaGF0UHJldmlld0NvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnZmxhdCcgfCAnZmlsbGVkJyB8ICdvdXRsaW5lZCc7XG4gICAgbGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG4gICAgZmlsbGVkQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRDb2xvcj86IHN0cmluZztcbiAgICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dEhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25Cb3JkZXJDb2xvcj86IHN0cmluZztcbiAgICBidXR0b25Cb3JkZXJIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGNvcGllczoge1xuICAgICAgICBwZHA6IHN0cmluZ1tdO1xuICAgICAgICBwbHA6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllcz86IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1BMUEltYWdlcz86IHN0cmluZ1tdO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xuICAgIGhlYWRlckNvbmZpZz86IENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnO1xuICAgIHRvcE1hcmdpbj86IG51bWJlcjtcbn07XG50eXBlIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnID0ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xuICAgIHNwYXJrbGVzQ29sb3I/OiBzdHJpbmc7XG4gICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgaWNvbldpZHRoPzogc3RyaW5nO1xuICAgIGljb25IZWlnaHQ/OiBzdHJpbmc7XG59O1xuaW50ZXJmYWNlIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnIHtcbiAgICBoYXNGYWRlPzogYm9vbGVhbjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudD86ICdkYXJrJyB8ICdsaWdodCcgfCAnb3V0bGluZWQnO1xuICAgIHN1Z2dlc3Rpb25zQmFja2dyb3VuZD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnc2VuZCcgfCAnbWFnbmlmeWluZ0dsYXNzJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdzZWFyY2hJY29uJztcbiAgICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgcmVwbHlJbnB1dEhhc1NoYWRvdz86IGJvb2xlYW47XG4gICAgcmVwbHlJbnB1dEhhc0JvcmRlcj86IGJvb2xlYW47XG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxudHlwZSBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdib3JkZXJlZCc7XG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSAnbmV1dHJhbCcgfCAnYnJhbmQnIHwgJ3ByZW1pdW0nO1xuaW50ZXJmYWNlIFByb2R1Y3RSZXZpZXdDb25maWcge1xuICAgIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgICBjb2xvclZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQ7XG4gICAgdmVyaWZpZWRCdXllclRpdGxlOiBzdHJpbmc7XG4gICAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG50eXBlIFBhZ2VDYXJkVmFyaWFudCA9ICdmaWxsZWQnIHwgJ291dGxpbmVkJyB8ICdtaW5pbWFsJztcbnR5cGUgUGFnZUNhcmRIb3ZlclZhcmlhbnQgPSAnbm9uZScgfCAnc2hhZG93JyB8ICdsaWZ0JztcbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ2JhY2tncm91bmQnIHwgJ25vbmUnO1xudHlwZSBQYWdlQ2FyZENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiBQYWdlQ2FyZFZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQYWdlQ2FyZEhvdmVyVmFyaWFudDtcbiAgICBpY29uVmFyaWFudDogUGFnZUNhcmRJY29uVmFyaWFudDtcbn07XG50eXBlIFByb2R1Y3RDYXJkVmFyaWFudCA9ICdmaWxsZWQnIHwgJ2JvcmRlcmVkJyB8ICdtaW5pbWFsJyB8ICd0cmFuc3BhcmVudEJvcmRlcmVkJztcbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnIHwgJ25vbmUnO1xudHlwZSBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQgPSAnbm9ybWFsJyB8ICd0YWxsJyB8ICdzcXVhcmUnO1xuaW50ZXJmYWNlIFByb2R1Y3RDYXJkQ29uZmlnIHtcbiAgICB2YXJpYW50OiBQcm9kdWN0Q2FyZFZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudDtcbiAgICBsYXlvdXRWYXJpYW50OiBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQ7XG4gICAgcHJpY2VQcmVmaXg/OiBzdHJpbmc7XG59XG50eXBlIENTU3dpdGNoQ29uZmlnID0ge1xuICAgIHZhcmlhbnQ6ICdhdHRhY2hlZCcgfCAnZGV0YWNoZWQnO1xuICAgIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRUZXh0Q29sb3I6IHN0cmluZztcbiAgICBzZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICB1bnNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBzdXBwb3J0VGl0bGU/OiBzdHJpbmc7XG4gICAgc3BpZmZ5VGl0bGU/OiBzdHJpbmc7XG4gICAgc3BpZmZ5VGl0bGVIYXNMb2dvPzogYm9vbGVhbjtcbn07XG50eXBlIENoYXRIZWFkZXJDb25maWcgPSB7XG4gICAgY29sbGFwc2VkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgY2hldnJvbkNvbG9yOiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gICAgaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgICBjbG9zZUljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgYm9yZGVyQm90dG9tPzogc3RyaW5nO1xuICAgIGhlYWRlckJhckhlaWdodFBhcnRpYWxWaWV3OiBudW1iZXI7XG4gICAgaGVhZGVyQmFySGVpZ2h0RnVsbFZpZXc6IG51bWJlcjtcbiAgICBjdXN0b21lclN1cHBvcnRTd2l0Y2hDb25maWc/OiBDU1N3aXRjaENvbmZpZztcbn07XG50eXBlIFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICAgIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICAgIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xufTtcbnR5cGUgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICAgIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICAgIGNoYXRFbmFibGVkRHVyaW5nQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gICAgc2hvd05hbWVJbnB1dD86IGJvb2xlYW47XG4gICAgZm9ybUFpTmFtZT86IHN0cmluZztcbiAgICB3ZWxjb21lVGl0bGU6IHN0cmluZztcbiAgICB3ZWxjb21lRGVzY3JpcHRpb246IHN0cmluZztcbiAgICBzaG93V2VsY29tZU9uRm9ybT86IGJvb2xlYW47XG4gICAgY29udGFjdFN1YmplY3RPcHRpb25zPzogc3RyaW5nW107XG4gICAgZ2V0Q3VzdG9tV2FpdGluZ01lc3NhZ2U/OiAobmFtZT86IHN0cmluZykgPT4gc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICBvdXRzaWRlQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgICBzdWdnZXN0ZWRBSVF1ZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGJ1c2luZXNzSG91cnNQb2xsaW5nPzogbnVtYmVyO1xuICAgIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAgICovXG4gICAgYnVzaW5lc3NIb3Vyc1N0YXJ0VVRDPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAgICovXG4gICAgYnVzaW5lc3NIb3Vyc0VuZFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNUaW1lem9uZT86IHN0cmluZztcbiAgICBzaG93QUlTdWdnZXN0aW9uc1dpdGhpbkJ1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHdhaXRpbmdNZXNzYWdlUG9zaXRpb24/OiAnQkVGT1JFX01FU1NBR0VTJyB8ICdBRlRFUl9NRVNTQUdFUyc7XG4gICAgbGVnYWxNZXNzYWdlPzogc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xudHlwZSBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uIHwgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xudHlwZSBDb252ZXJzYXRpb25hbFNlYWNoID0ge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXQ/OiBSZXBseUlucHV0Q29uZmlnO1xuICAgIHN1Z2dlc3Rpb25zPzogc3RyaW5nW107XG4gICAgZW50cnlwb2ludEJnQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRleHRDb2xvcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50QnRuQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0blRleHRDb2xvcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50QnRuQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludENvbnRhaW5lcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50VHJpZ2dlcj86IHN0cmluZztcbiAgICBwcm9kdWN0R3JpZENvbnRhaW5lcj86IHN0cmluZztcbiAgICBnZW5lcmFsU2VhcmNoQnRuPzogc3RyaW5nO1xuICAgIHBhZ2VDb250ZW50Pzogc3RyaW5nO1xuICAgIHNlYXJjaENvbnRlbnQ/OiBzdHJpbmc7XG4gICAgc29ydGluZ1RpdGxlPzogc3RyaW5nO1xuICAgIHNlbGVjdGlvblRpdGxlPzogc3RyaW5nO1xuICAgIHNvcnRpbmdGb250Pzogc3RyaW5nO1xuICAgIG9wdGlvbnNGb250Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdCdXR0b25UZXh0Pzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdE1lc3NhZ2VWYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdwcmVtaXVtJyB8ICdhY2NlbnQnO1xuaW50ZXJmYWNlIENoYXRNZXNzYWdlQ29uZmlnIHtcbiAgICBhc3Npc3RhbnRDaGF0VGl0bGU6IHN0cmluZztcbiAgICB2YXJpYW50OiBDaGF0TWVzc2FnZVZhcmlhbnQ7XG4gICAgcHJvZHVjdExpbms6IHtcbiAgICAgICAgdmFyaWFudDogUHJvZHVjdExpbmtWYXJpYW50O1xuICAgICAgICBob3ZlclZhcmlhbnQ6IFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50O1xuICAgICAgICBpY29uVmFyaWFudDogUHJvZHVjdExpbmtJY29uVmFyaWFudDtcbiAgICB9O1xufVxuaW50ZXJmYWNlIFJlcGx5SW5wdXRDb25maWcge1xuICAgIHNpemU/OiAnbWQnIHwgJ2xnJztcbiAgICBzZW5kSWNvbjogJ2Fycm93VXAnIHwgJ3NlbmQnIHwgJ3NlYXJjaCc7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgUGFydGlhbFZpZXdDb25maWcge1xuICAgIG1heEhlaWdodDogbnVtYmVyO1xuICAgIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdExpbmtJY29uVmFyaWFudCA9ICdhY2NlbnRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kUHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnlEYXJrJyB8ICdib3JkZXJMaWdodCcgfCAnYmFja2dyb3VuZFNhdHVyYXRlZCc7XG50eXBlIFByb2R1Y3RMaW5rVmFyaWFudCA9ICd0ZXh0TGluayc7XG50eXBlIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJztcbnR5cGUgU2VhcmNoQ2FyZFZhcmlhbnQgPSAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRTZWNvbmRhcnknIHwgJ2JhY2tncm91bmRTZWNvbmRhcnlEYXJrJyB8ICdiYWNrZ3JvdW5kTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCA9ICdvdXRsaW5lZCcgfCAnb3V0bGluZWRMaWdodCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeScgfCAnZGFyaycgfCAnZGFya0FjY2VudCcgfCAnZGFya1ByaW1hcnknIHwgJ3NlY29uZGFyeURhcmsnIHwgJ3NlY29uZGFyeUFjY2VudCcgfCAndHJhbnNwYXJlbnQnIHwgJ3RyYW5zcGFyZW50RGFyaycgfCAnbGlnaHREYXJrJztcbmludGVyZmFjZSBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnIHtcbiAgICB2YXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYW5zd2VyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJvcmRlclJhZGl1cz86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn1cbnR5cGUgTnVtUm93cyA9ICdkZWZhdWx0JyB8ICdhbHdheXNPbmVSb3cnIHwgJ2Fsd2F5c1R3b1Jvd3MnIHwgJ3R3b1Jvd3NPbk1vYmlsZSc7XG5pbnRlcmZhY2UgQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcge1xuICAgIHR5cGU6ICdhbHBoYWJldGljJztcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAncHJvZHVjdENvdW50Jztcbn1cbmludGVyZmFjZSBDdXN0b21GaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnY3VzdG9tJztcbiAgICBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG59XG50eXBlIEZpbHRlclNvcnRpbmcgPSBBbHBoYWJldGljRmlsdGVyU29ydGluZyB8IFByb2R1Y3RDb3VudEZpbHRlclNvcnRpbmcgfCBDdXN0b21GaWx0ZXJTb3J0aW5nO1xuaW50ZXJmYWNlIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ2R5bmFtaWMnO1xuICAgIGF0dHJpYnV0ZTogc3RyaW5nO1xuICAgIHNvcnRpbmc6IEZpbHRlclNvcnRpbmc7XG59XG5pbnRlcmZhY2UgUHJpY2VGaWx0ZXJDb25maWcgZXh0ZW5kcyBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICB0eXBlOiAncHJpY2UnO1xuICAgIGJ1Y2tldFNpemU6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIEZpbHRlckF0dHJpYnV0ZSA9IER5bmFtaWNGaWx0ZXJDb25maWcgfCBQcmljZUZpbHRlckNvbmZpZztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQgPSAnYmFja2dyb3VuZFRlcnRpYXJ5JyB8ICdiYWNrZ3JvdW5kRGFyaycgfCAnYmFja2dyb3VuZFByaW1hcnknO1xuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlTGF5b3V0ID0gJ2lucHV0JyB8ICdpY29uJztcbmV4cG9ydCB0eXBlIFNlYXJjaElucHV0VmFyaWFudCA9ICdzdGFuZGFyZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9ICd0aGluJyB8ICdib2xkJztcbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50ID0gJ2RhcmtCdXR0b24nIHwgJ2xpZ2h0QnV0dG9uJztcbmV4cG9ydCB0eXBlIFByb2R1Y3RHcmlkVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnc3F1YXJlJztcbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9ICdtYWduaWZ5aW5nR2xhc3MnIHwgJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzc1RoaW4nIHwgJ3NlbmRBcnJvdycgfCAnc2VhcmNoSWNvbic7XG5pbnRlcmZhY2UgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnIHtcbiAgICB2YXJpYW50PzogJ2JveCcgfCAndW5kZXJsaW5lTGlnaHQnIHwgJ3VuZGVybGluZURhcmsnO1xuICAgIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgICBpY29uOiBVc2VyUXVlcnlCdXR0b25JY29uO1xufVxuaW50ZXJmYWNlIFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZyB7XG4gICAgY29weTogc3RyaW5nO1xuICAgIGxpbms6IHN0cmluZztcbiAgICBsaW5rVGV4dDogc3RyaW5nO1xufVxuaW50ZXJmYWNlIE1lcmNoYW50VmFyaWFudFNldHRpbmdzIHtcbiAgICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgcmVmcmVzaEludGVydmFsPzogbnVtYmVyO1xuICAgIH07XG59XG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0Q29uZmlnIHtcbiAgICBlbmFibGVXYXRlcm1hcms6IGJvb2xlYW47XG4gICAgdXNlclF1ZXJ5SW5wdXRFbmFibGVkOiBib29sZWFuO1xuICAgIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gICAgbmV2ZXJTaG93U2luZ2xlUHJvZHVjdENhcmRzPzogYm9vbGVhbjtcbiAgICB0ZXJtc0FuZENvbmRpdGlvbnNDb25maWc/OiBUZXJtc0FuZENvbmRpdGlvbnNDb25maWc7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZz86IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgcmVwbHlJbnB1dENvbmZpZzogUmVwbHlJbnB1dENvbmZpZztcbn1cbmludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICAgIGVuYWJsZUdsb2JhbFNlYXJjaDogYm9vbGVhbjtcbiAgICBzZWFyY2hGaWx0ZXJDb25maWc6IEZpbHRlckF0dHJpYnV0ZVtdO1xuICAgIHNlYXJjaE92ZXJsYXlIZWFkaW5nPzogc3RyaW5nO1xuICAgIHJlZGlyZWN0U2VhcmNoUmVzdWx0c1VybD86IHN0cmluZztcbiAgICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbiAgICByZWNvbW1lbmRlZFByb2R1Y3RzPzogc3RyaW5nW107XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc/OiBzdHJpbmc7XG59XG50eXBlIENvbmZpZ1ZlcnNpb24gPSAndjMnIHwgJ2RlcHJlY2F0ZWQnIHwgdW5kZWZpbmVkO1xudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgICB2ZXJzaW9uPzogQ29uZmlnVmVyc2lvbjtcbiAgICBzaG9ydE5hbWU6IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc/OiBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWc7XG4gICAgY2hhdFByZXZpZXdDb25maWc/OiBDaGF0UHJldmlld0NvbmZpZztcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2g/OiBDb252ZXJzYXRpb25hbFNlYWNoO1xuICAgIG1lcmNoYW50T3ZlcnJpZGVDc3M/OiBzdHJpbmc7XG4gICAgaGlkZGVuRWxlbWVudFNlbGVjdG9ycz86IHN0cmluZ1tdO1xuICAgIG1lcmNoYW50VmFyaWFudFNldHRpbmdzPzogTWVyY2hhbnRWYXJpYW50U2V0dGluZ3M7XG4gICAgZmxvYXRpbmdDaGF0Q29uZmlnOiBGbG9hdGluZ0NoYXRDb25maWc7XG4gICAgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWc7XG4gICAgY2hhdEhlYWRlcjogQ2hhdEhlYWRlckNvbmZpZztcbiAgICBzdGlja3lBZ2VudFN3aXRjaFN1Z2dlc3Rpb24/OiBib29sZWFuO1xuICAgIHBhcnRpYWxWaWV3Q29uZmlnOiBQYXJ0aWFsVmlld0NvbmZpZztcbiAgICB3ZWxjb21lU2VjdGlvbkNvbmZpZz86IFdlbGNvbWVTZWN0aW9uQ29uZmlnO1xuICAgIHByb2R1Y3RDYXJkQ29uZmlnPzogUHJvZHVjdENhcmRDb25maWc7XG4gICAgcHJvZHVjdFJldmlld0NvbmZpZz86IFByb2R1Y3RSZXZpZXdDb25maWc7XG4gICAgcGFnZUNhcmRDb25maWc/OiBQYWdlQ2FyZENvbmZpZztcbiAgICBjaGF0TWVzc2FnZUNvbmZpZzogQ2hhdE1lc3NhZ2VDb25maWc7XG59O1xudHlwZSBJbnNlcnRpb25Qb2ludCA9IHtcbiAgICBzZWxlY3Rvcjogc3RyaW5nO1xuICAgIHNlbGVjdGlvbkluZGV4PzogbnVtYmVyO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xudHlwZSBVUkxUZXN0ID0gJ3Nob3BpZnknIHwgJ251bGwnO1xudHlwZSBJZEV4dHJhY3RvciA9ICdzaG9waWZ5LXByb2R1Y3QtaWQnIHwgJ3Nob3BpZnktY29sbGVjdGlvbi1pZCcgfCAnc2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWQnIHwgJ3VybC1yZXNvbHZlci1wcm9kdWN0LWlkJyB8ICd1cmwtcmVzb2x2ZXItcGxwLWlkJyB8ICdudWxsJztcbmRlY2xhcmUgZW51bSBDYXRlZ29yeUV4dHJhY3RvclR5cGUge1xuICAgIFZpc2l0Q2F0ZWdvcnlNYXAgPSBcIlZpc2l0Q2F0ZWdvcnlNYXBcIixcbiAgICBWaXNpdENhdGVnb3J5RGVmYXVsdCA9IFwiVmlzaXRDYXRlZ29yeURlZmF1bHRcIlxufVxuaW50ZXJmYWNlIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxUIGV4dGVuZHMgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlPiB7XG4gICAgdHlwZTogVDtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5TWFwIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwPiB7XG4gICAgbWFwOiB7XG4gICAgICAgIFtrZXkgaW4gUGFnZVZpc2l0Q2F0ZWdvcnldPzogc3RyaW5nW107XG4gICAgfTtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5RGVmYXVsdCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeURlZmF1bHQ+IHtcbiAgICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG50eXBlIENhdGVnb3J5RXh0cmFjdG9yID0gVmlzaXRDYXRlZ29yeU1hcCB8IFZpc2l0Q2F0ZWdvcnlEZWZhdWx0O1xudHlwZSBXcmFwcGluZ0VsZW1lbnQgPSB7XG4gICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgZWxlbWVudDogc3RyaW5nO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuZGVjbGFyZSBlbnVtIFBhZ2VWYXJpYW50VGVzdFR5cGUge1xuICAgIFBhZ2VDYXRlZ29yeSA9IFwiUGFnZUNhdGVnb3J5XCIsXG4gICAgQ2F0YWxvZ0NhdGVnb3J5ID0gXCJDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBUb3BDYXRhbG9nQ2F0ZWdvcnkgPSBcIlRvcENhdGFsb2dDYXRlZ29yeVwiLFxuICAgIEhhc1Jldmlld3MgPSBcIkhhc1Jldmlld3NcIixcbiAgICBJbkNvbGxlY3Rpb24gPSBcIkluQ29sbGVjdGlvblwiLFxuICAgIEhhc01lcmNoYW50VGFnID0gXCJIYXNNZXJjaGFudFRhZ1wiLFxuICAgIEZlYXR1cmVHYXRlID0gXCJGZWF0dXJlR2F0ZVwiLFxuICAgIFBscElkID0gXCJQbHBJZFwiLFxuICAgIFF1ZXJ5UGFyYW0gPSBcIlF1ZXJ5UGFyYW1cIixcbiAgICBQcm9kdWN0SWQgPSBcIlByb2R1Y3RJZFwiLFxuICAgIFVzZXJIYXNJbnRlcmFjdGVkID0gXCJVc2VySGFzSW50ZXJhY3RlZFwiLFxuICAgIFVzZXJIYXNOb3RJbnRlcmFjdGVkID0gXCJVc2VySGFzTm90SW50ZXJhY3RlZFwiLFxuICAgIGlzTG9hZGluZyA9IFwiaXNMb2FkaW5nXCIsXG4gICAgaXNQcm9kdWN0Q29tcGFyaXNvbiA9IFwiaXNQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIEZhbGxiYWNrID0gXCJGYWxsYmFja1wiLFxuICAgIFVybFJlc29sdmVyID0gXCJVcmxSZXNvbHZlclwiLFxuICAgIGlzU2NyZWVuV2lkdGhTbWFsbGVyID0gXCJpc1NjcmVlbldpZHRoU21hbGxlclwiLFxuICAgIE51bGwgPSBcIm51bGxcIlxufVxuaW50ZXJmYWNlIEJhc2VQYWdlVmFyaWFudFRlc3Q8VCBleHRlbmRzIFBhZ2VWYXJpYW50VGVzdFR5cGU+IHtcbiAgICB0ZXN0VHlwZTogVDtcbn1cbmludGVyZmFjZSBUb3BDYXRhbG9nQ2F0ZWdvcnkgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gICAgdG9wQ2F0ZWdvcnk6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIENhdGFsb2dDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gICAgY2F0ZWdvcnk6IFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5O1xufVxuaW50ZXJmYWNlIEhhc1Jldmlld3NUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3M+IHtcbiAgICByZXZpZXdNaW5pbXVtPzogbnVtYmVyO1xufVxuaW50ZXJmYWNlIEluQ29sbGVjdGlvblRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uPiB7XG4gICAgY29sbGVjdGlvbnM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIEhhc01lcmNoYW50VGFnVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNNZXJjaGFudFRhZz4ge1xuICAgIG1lcmNoYW50VGFnczogc3RyaW5nW107XG59XG5pbnRlcmZhY2UgUGFnZUNhdGVnb3J5VGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QYWdlQ2F0ZWdvcnk+IHtcbiAgICBleHRyYWN0b3I6IENhdGVnb3J5RXh0cmFjdG9yO1xufVxuaW50ZXJmYWNlIEZlYXR1cmVHYXRlVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZT4ge1xuICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXM7XG59XG5pbnRlcmZhY2UgUHJvZHVjdElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Qcm9kdWN0SWQ+IHtcbiAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZHM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBscElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZD4ge1xuICAgIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwbHBJZHM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFF1ZXJ5UGFyYW1UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0+IHtcbiAgICBxdWVyeVBhcmFtOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgVXNlckhhc0ludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNJbnRlcmFjdGVkPiB7XG59XG5pbnRlcmZhY2UgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNOb3RJbnRlcmFjdGVkPiB7XG59XG5pbnRlcmZhY2UgSXNMb2FkaW5nVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc0xvYWRpbmc+IHtcbn1cbmludGVyZmFjZSBJc1Byb2R1Y3RDb21wYXJpc29uIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzUHJvZHVjdENvbXBhcmlzb24+IHtcbn1cbmludGVyZmFjZSBQYWdlRmFsbGJhY2tUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZhbGxiYWNrPiB7XG59XG5pbnRlcmZhY2UgVXJsUmVzb2x2ZXJUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyPiB7XG59XG5pbnRlcmZhY2UgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzU2NyZWVuV2lkdGhTbWFsbGVyPiB7XG4gICAgYnJlYWtwb2ludDogbnVtYmVyO1xufVxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRUZXN0ID0gUGFnZUNhdGVnb3J5VGVzdCB8IENhdGFsb2dDYXRlZ29yeVRlc3QgfCBUb3BDYXRhbG9nQ2F0ZWdvcnkgfCBIYXNSZXZpZXdzVGVzdCB8IEluQ29sbGVjdGlvblRlc3QgfCBIYXNNZXJjaGFudFRhZ1Rlc3QgfCBGZWF0dXJlR2F0ZVRlc3QgfCBQcm9kdWN0SWRUZXN0IHwgUGxwSWRUZXN0IHwgUXVlcnlQYXJhbVRlc3QgfCBVc2VySGFzSW50ZXJhY3RlZFRlc3QgfCBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3QgfCBJc0xvYWRpbmdUZXN0IHwgSXNQcm9kdWN0Q29tcGFyaXNvbiB8IFBhZ2VGYWxsYmFja1Rlc3QgfCBVcmxSZXNvbHZlclRlc3QgfCBJc1NjcmVlbldpZHRoU21hbGxlclRlc3Q7XG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBzb2NpYWwgcHJvb2YgZW1iZWRkZWQgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGhlYWRlclRpdGxlIC0gVGhlIHRpdGxlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGhlYWRlclxuICogQHBhcmFtIHN0YXRpY1N1Z2dlc3Rpb25zIC0gQSBsaXN0IG9mIHN0cmluZ3MgdG8gZGlzcGxheSBhcyBzdWdnZXN0aW9ucyBpbiB0aGUgd2lkZ2V0XG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBmb290ZXJcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgYm9keVxuICogQHBhcmFtIHN0YXRpY0ltYWdlSW5kZXggLSBJbmRleCBvZiB0aGUgaW1hZ2VVcmwgdG8gdXNlIGZyb20gdGhlIHByb2R1Y3QgcmVzcG9uc2VcbiAqL1xuaW50ZXJmYWNlIFNvY2lhbFByb29mQ29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5OiBzdHJpbmc7XG4gICAgaGVhZGVyVGl0bGU6IHN0cmluZztcbiAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ/OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaGVhZGVyRm9udEZhbWlseT86IHN0cmluZztcbiAgICBzdGF0aWNQTFBJbWFnZU5hbWVzPzogc3RyaW5nW107XG4gICAgc3RhdGljSW1hZ2VJbmRleD86IG51bWJlcjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIHN1Z2dlc3Rpb25CdXR0b25EYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnPzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGxvZ29OYW1lPzogc3RyaW5nO1xufVxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjcmVhdGluZyB0aGUgbW91bnQgcG9pbnQgZm9yIGEgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGNsYXNzTmFtZSAtIE9wdGlvbmFsIGNsYXNzIG5hbWUgdG8gYXBwbHkgdG8gdGhlIG1vdW50IHBvaW50LiBUYWlsd2luZCBjbGFzc2VzIGFyZSBzdXBwb3J0ZWRcbiAqIGFuZCBlbmNvdXJhZ2VkLiBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gc3R5bGUgdGhlIG1vdW50aW5nIGNvbnRhaW5lciBmb3IgdGhlIHdpZGdldC5cbiAqL1xuZXhwb3J0IHR5cGUgV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gICAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICAgIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gICAgdGVzdElkOiBzdHJpbmc7XG4gICAgcGFyZW50SW5zZXJ0aW9uUG9pbnQ/OiBJbnNlcnRpb25Qb2ludDtcbiAgICBpbnNlcnRpb25Qb2ludDogSW5zZXJ0aW9uUG9pbnQ7XG4gICAgZ3JpZEluc2VydGlvblR5cGU/OiBHcmlkSW5zZXJ0aW9uVHlwZTtcbiAgICB3cmFwcGluZ0VsZW1lbnQ/OiBXcmFwcGluZ0VsZW1lbnQ7XG4gICAgZGl2Q2hlY2tTZWxlY3Rvcj86IHN0cmluZztcbiAgICBzdXBwcmVzc2lvblNlbGVjdG9yPzogc3RyaW5nO1xuICAgIHN0eWxlPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbiAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgZGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcbnR5cGUgU3RhdGljV2lkZ2V0TW91bnRpbmcgPSB7XG4gICAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBEeW5hbWljV2lkZ2V0TW91bnRpbmcgPSB7XG4gICAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICAgIG1vdW50aW5nUG9pbnRXaWRnZXRzOiBXaWRnZXREaXNwbGF5VGVzdHNbXTtcbn07XG50eXBlIFdpZGdldERpc3BsYXlUZXN0cyA9IHtcbiAgICB0ZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG50eXBlIFdpZGdldE1vdW50aW5nID0gU3RhdGljV2lkZ2V0TW91bnRpbmcgfCBEeW5hbWljV2lkZ2V0TW91bnRpbmc7XG5kZWNsYXJlIGVudW0gV2lkZ2V0VHlwZSB7XG4gICAgQ2hhdFByZXZpZXcgPSBcIkNoYXRQcmV2aWV3XCIsXG4gICAgU29jaWFsUHJvb2ZWMiA9IFwiU29jaWFsUHJvb2ZWMlwiLFxuICAgIENoYXRQcmV2aWV3VjIgPSBcIkNoYXRQcmV2aWV3VjJcIixcbiAgICBDaGF0UHJldmlld0lzTG9hZGluZyA9IFwiQ2hhdFByZXZpZXdJc0xvYWRpbmdcIixcbiAgICBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbiA9IFwiQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25cIixcbiAgICBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uID0gXCJDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uXCIsXG4gICAgU3VnZ2VzdGlvbkJhciA9IFwiU3VnZ2VzdGlvbkJhclwiLFxuICAgIFN1Z2dlc3Rpb25CYXJWMiA9IFwiU3VnZ2VzdGlvbkJhclYyXCIsXG4gICAgSW1hZ2VQcm9tcHRDYXJkID0gXCJJbWFnZVByb21wdENhcmRcIixcbiAgICBJbWFnZUJhbm5lciA9IFwiSW1hZ2VCYW5uZXJcIixcbiAgICBTaW5nbGVJbWFnZVByb21wdCA9IFwiU2luZ2xlSW1hZ2VQcm9tcHRcIixcbiAgICBTZWFyY2hQcm9tcHQgPSBcIlNlYXJjaFByb21wdFwiLFxuICAgIFNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQgPSBcIlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnRcIixcbiAgICBTZWFyY2hSZXN1bHRzRW50cnlQb2ludCA9IFwiU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRcIixcbiAgICBTZWFyY2hPdmVybGF5SG9zdCA9IFwiU2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICBOb09wID0gXCJOb09wXCJcbn1cbnR5cGUgV2lkZ2V0Q29uZmlnID0gQ2hhdFByZXZpZXdXaWRnZXRDb25maWcgfCBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnIHwgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnIHwgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgfCBJbWFnZUJhbm5lcldpZGdldENvbmZpZyB8IFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIHwgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnIHwgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyB8IFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIHwgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcgfCBOb09wV2lkZ2V0Q29uZmlnO1xuaW50ZXJmYWNlIEJhc2VXaWRnZXRDb25maWc8VCBleHRlbmRzIFdpZGdldFR5cGU+IHtcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xuICAgIHR5cGU6IFQ7XG4gICAgY29udGVudElkPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlQmFubmVyPiB7XG4gICAgaW1hZ2VTcmM6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmc7XG4gICAgYXNzaXN0YW50TWVzc2FnZTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3PiB7XG4gICAgdmFyaWFudDogJ2ZpbGxlZCcgfCAnZmxhdCcgfCAnb3V0bGluZWQnO1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xuICAgIHNvY2lhbFByb29mQ29uZmlnPzogU29jaWFsUHJvb2ZDb25maWc7XG4gICAgZm9vdGVyQ29uZmlnPzogQ2hhdFByZXZpZXdGb290ZXJDb25maWc7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gICAgaW1hZ2VIZWlnaHQ/OiBudW1iZXI7XG59XG50eXBlIFNpbmdsZUltYWdlQ29uZmlnID0ge1xuICAgIGxheW91dDogJ3NpbmdsZSc7XG4gICAgaW1hZ2VJbmRleDogbnVtYmVyO1xufTtcbnR5cGUgTXVsdGlJbWFnZUNvbmZpZyA9IHtcbiAgICBsYXlvdXQ6ICdncmlkJyB8ICdob3Jpem9udGFsJztcbiAgICBpbWFnZU5hbWVzOiBzdHJpbmdbXTtcbn07XG50eXBlIFNvY2lhbFByb29mSW1hZ2VDb25maWcgPSBTaW5nbGVJbWFnZUNvbmZpZyB8IE11bHRpSW1hZ2VDb25maWc7XG50eXBlIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyA9IHtcbiAgICBidXR0b25TdHJpbmdzOiBzdHJpbmdbXTtcbiAgICBhY2NlbnRCdXR0b25WYXJpYW50cz86IHtcbiAgICAgICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXI6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIH07XG4gICAgYnV0dG9uVmFyaWFudHM6IHtcbiAgICAgICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXI6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIH07XG4gICAgbnVtUm93cz86IE51bVJvd3M7XG59O1xudHlwZSBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZyA9IHtcbiAgICBsZWFkaW5nVGV4dDogc3RyaW5nO1xuICAgIGFuaW1hdGVkU3RyaW5nczogc3RyaW5nW107XG59O1xudHlwZSBDaGF0UHJldmlld1ZhcmlhbnQgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnO1xufSB8IHtcbiAgICB2YXJpYW50OiAnZmlsbGVkJztcbiAgICBiYWNrZ3JvdW5kRmlsbENvbG9yOiBzdHJpbmc7XG59IHwge1xuICAgIHZhcmlhbnQ6ICdvdXRsaW5lZCc7XG59O1xuaW50ZXJmYWNlIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgaGVhZGVyQ29uZmlnOiBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25zQ29uZmlnOiBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gICAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3SXNMb2FkaW5nPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIHVzZUxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdWMj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgYW5pbWF0ZWRUZXh0Q29uZmlnOiBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZztcbn1cbmludGVyZmFjZSBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNvY2lhbFByb29mVjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGN1c3RvbWVyUXVlcnk/OiBzdHJpbmc7XG4gICAgaW1hZ2VDb25maWc6IFNvY2lhbFByb29mSW1hZ2VDb25maWc7XG59XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMj4ge1xuICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb247XG4gICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3M7XG4gICAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBzdHJpbmdbXTtcbiAgICAgICAgcHJvZHVjdFNwZWNpZmljPzoge1xuICAgICAgICAgICAgW3Byb2R1Y3RJZDogc3RyaW5nXTogc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgfTtcbiAgICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICAgIHR3b1Jvd3NPbk1vYmlsZT86IGJvb2xlYW47XG4gICAgYW5pbWF0aW9uU3BlZWQ/OiAnc3RhbmRhcmQnIHwgJ3Nsb3cnIHwgJ25vbmUnO1xuICAgIGJ1dHRvbkJvcmRlclJhZGl1cz86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn1cbmludGVyZmFjZSBJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQ+IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBsaWdodFRleHQ/OiBib29sZWFuO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3VidGl0bGU6IHN0cmluZ1tdO1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGZhbGxiYWNrQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNpbmdsZUltYWdlUHJvbXB0PiB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbn1cbmludGVyZmFjZSBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQ+IHtcbiAgICBzZWFyY2haZXJvU3RhdGVWYXJpYW50OiBTZWFyY2haZXJvU3RhdGVWYXJpYW50O1xuICAgIHNlYXJjaElucHV0VmFyaWFudDogU2VhcmNoSW5wdXRWYXJpYW50O1xuICAgIHNlYXJjaEljb25WYXJpYW50PzogU2VhcmNoSWNvblZhcmlhbnQ7XG4gICAgc2VhcmNoSWNvblNpemU/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzogU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgICBsYXlvdXQ6IFNlYXJjaFplcm9TdGF0ZUxheW91dDtcbiAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgICBjb21wYWN0TGFiZWw/OiBzdHJpbmc7XG4gICAgaW5pdGlhbFN1Z2dlc3Rpb25zPzogc3RyaW5nW107XG4gICAgdXNpbmdQb3J0YWw/OiBib29sZWFuO1xuICAgIGluY2x1ZGVTdWJ0aXRsZT86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgTm9PcFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Ob09wPiB7XG59XG5pbnRlcmZhY2UgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoT3ZlcmxheUhvc3Q+IHtcbn1cbmludGVyZmFjZSBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hSZXN1bHRzRW50cnlQb2ludD4ge1xuICAgIHNlYXJjaElucHV0VmFyaWFudDogU2VhcmNoSW5wdXRWYXJpYW50O1xuICAgIHNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50OiBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDtcbiAgICBwcm9kdWN0R3JpZFZhcmlhbnQ6IFByb2R1Y3RHcmlkVmFyaWFudDtcbiAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIG5vUmVzdWx0c0ZvdW5kVGV4dD86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SGVhZGVyUHJvcHMgZXh0ZW5kcyBUZXN0UHJvcHMge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGxvZ28/OiBzdHJpbmc7XG4gICAgbG9nb0hlaWdodD86IG51bWJlcjtcbiAgICBvcmdTaG9ydE5hbWU6IHN0cmluZztcbiAgICB2YXJpYW50PzogU2VhcmNoUHJvbXB0VmFyaWFudDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclF1ZXJ5T3B0aW9ucyB7XG4gICAgZm9vdGVyVmFyaWFudD86ICdzdGFuZGFyZCc7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5QnV0dG9uSWNvbj86ICdtYWduaWZ5aW5nR2xhc3MnIHwgJ3NlbmQnIHwgJ3RoaW5NYWduaWZ5aW5nR2xhc3MnIHwgJ2FpLXNlYXJjaCc7XG59XG50eXBlIFNlYXJjaFByb21wdFZhcmlhbnQgPSAncHJpbWFyeSc7XG5pbnRlcmZhY2UgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFByb21wdD4ge1xuICAgIHZhcmlhbnQ6IFNlYXJjaFByb21wdFZhcmlhbnQ7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBoZWFkZXJDb25maWc6IFdpZGdldEhlYWRlclByb3BzO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25zOiB7XG4gICAgICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBidXR0b25UZXh0czogc3RyaW5nW107XG4gICAgfTtcbiAgICBmb290ZXJDb25maWc/OiBVc2VyUXVlcnlPcHRpb25zO1xufVxudHlwZSBQYWdlVmFyaWFudEJhc2UgPSB7XG4gICAgdmFyaWFudElkOiBzdHJpbmc7XG4gICAgd2lkZ2V0TW91bnRpbmc6IFdpZGdldE1vdW50aW5nW107XG4gICAgdmFyaWFudFRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbn07XG50eXBlIFBMUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGxwJztcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xudHlwZSBQRFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BkcCc7XG4gICAgcGFyZW50UHJvZHVjdElkRXh0cmFjdG9yPzogSWRFeHRyYWN0b3I7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG50eXBlIFZpc2l0UGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwYWdlX3Zpc2l0Jztcbn07XG50eXBlIE90aGVyUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdvdGhlcic7XG59O1xudHlwZSBIb21lUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdob21lcGFnZSc7XG59O1xudHlwZSBTZWFyY2hQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3NlYXJjaCc7XG59O1xuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRDb25maWcgPSBQTFBQYWdlVmFyaWFudCB8IFBEUFBhZ2VWYXJpYW50IHwgVmlzaXRQYWdlVmFyaWFudCB8IE90aGVyUGFnZVZhcmlhbnQgfCBIb21lUGFnZVZhcmlhbnQgfCBTZWFyY2hQYWdlVmFyaWFudDtcbmV4cG9ydCB0eXBlIE9yZ1BhZ2VDb25maWcgPSB7XG4gICAgcGFnZVZhcmlhbnRzOiBQYWdlVmFyaWFudENvbmZpZ1tdO1xuICAgIHdpZGdldENvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldENvbmZpZ1YzPjtcbiAgICBtb3VudGluZ0NvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldE1vdW50aW5nQ29uZmlnPjtcbn07XG5leHBvcnQgdHlwZSBPcmdDb25maWcgPSBPcmdVSUNvbmZpZztcbmV4cG9ydCB7IENhdGVnb3J5RXh0cmFjdG9yVHlwZSwgQ29sb3JOYW1lcywgY29sb3JWYXIsIFBhZ2VWYXJpYW50VGVzdFR5cGUsIFdpZGdldFR5cGUgfTtcbmV4cG9ydCBpbnRlcmZhY2UgRW52aXZlQ29uZmlnIHtcbiAgICBhbXBsaXR1ZGVBcGlLZXk/OiBzdHJpbmc7XG4gICAgZGF0YVJlc2lkZW5jeT86IHN0cmluZztcbiAgICBlbnY/OiBzdHJpbmc7XG4gICAgYmFzZVVybD86IHN0cmluZztcbiAgICByZWFjdEFwcE5hbWU/OiBzdHJpbmc7XG4gICAgY2RuVXJsPzogc3RyaW5nO1xuICAgIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG4gICAgb3JnTGV2ZWxBcGlLZXk/OiBzdHJpbmc7XG4gICAgb3JnU2hvcnROYW1lPzogc3RyaW5nO1xuICAgIG9yZ0lkPzogc3RyaW5nO1xuICAgIGlkZW50aWZ5aW5nUHJlZml4Pzogc3RyaW5nO1xuICAgIGZlYXR1cmVPdmVycmlkZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgICB2YXJpYW50VXJsT3ZlcnJpZGU/OiBzdHJpbmc7XG4gICAgdmFyaWFudEluZm9PdmVycmlkZT86IGFueTtcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgZmVhdHVyZUdhdGVzPzogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbn1cbmV4cG9ydCB0eXBlIHsgQ2F0ZWdvcnlFeHRyYWN0b3IsIENoYXRNZXNzYWdlVmFyaWFudCwgQ2hhdE1lc3NhZ2VDb25maWcsIENoYXRQcmV2aWV3Q29uZmlnLCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZywgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcsIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZywgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdGb290ZXJDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnLCBDaGF0UHJldmlld1dpZGdldENvbmZpZywgQ2hhdFByZXZpZXdWYXJpYW50LCBDb2xvck1hcHBpbmcsIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLCBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcsIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgSWRFeHRyYWN0b3IsIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnLCBJbWFnZVByb21wdFdpZGdldENvbmZpZywgSW5zZXJ0aW9uUG9pbnQsIE11bHRpSW1hZ2VDb25maWcsIE1lcmNoYW50VmFyaWFudFNldHRpbmdzLCBTZWFyY2hDb25maWcsIE9yZ1VJQ29uZmlnLCBQYWdlQ2FyZENvbmZpZywgUGFnZUNhcmRWYXJpYW50LCBQYWdlQ2FyZEhvdmVyVmFyaWFudCwgUGFnZUNhcmRJY29uVmFyaWFudCwgUHJvZHVjdENhcmRDb25maWcsIFByb2R1Y3RDYXJkVmFyaWFudCwgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50LCBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudCwgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQsIFByb2R1Y3RMaW5rVmFyaWFudCwgUHJvZHVjdFJldmlld0NvbmZpZywgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCwgUHJvZHVjdFJldmlld0NvbG9yVmFyaWFudCwgU2VhcmNoUHJvbXB0VmFyaWFudCwgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZywgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucywgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnLCBTb2NpYWxQcm9vZkNvbmZpZywgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLCBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLCBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCwgVVJMVGVzdCwgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnLCBVc2VyUXVlcnlCdXR0b25JY29uLCBXZWxjb21lU2VjdGlvbkNvbmZpZywgV2VsY29tZVNlY3Rpb25WYXJpYW50LCBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCwgV2lkZ2V0Q29uZmlnLCBXcmFwcGluZ0VsZW1lbnQsIFNlYXJjaENhcmRWYXJpYW50LCBXaWRnZXREaXNwbGF5VGVzdHMsIE5vT3BXaWRnZXRDb25maWcsIFdpZGdldE1vdW50aW5nLCBTdGF0aWNXaWRnZXRNb3VudGluZywgRHluYW1pY1dpZGdldE1vdW50aW5nLCBQRFBQYWdlVmFyaWFudCwgUExQUGFnZVZhcmlhbnQsIFZpc2l0UGFnZVZhcmlhbnQsIE90aGVyUGFnZVZhcmlhbnQsIEhvbWVQYWdlVmFyaWFudCwgU2VhcmNoUGFnZVZhcmlhbnQsIE51bVJvd3MsIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBWUEsSUFBSSw0QkFBNEIsQ0FBQyxHQUFHO0FBQ3BDLElBQUksMkJBQTJCLENBQUMsVUFBQSwwQkFBQTtBQUNoQyxJQUFJLHdCQUF3QixDQUFDLEdBQUc7QUFDaEMsSUFBSSw2QkFBZ0IsQ0FBQSxHQUFBO0FBQ3BCLElBQUksdUJBQWU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFJLG9CQUFlO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBSSwwQkFBQyxDQUFBLEdBQUE7QUFDTCxJQUFJLDBCQUFzQixDQUFBLEdBQUE7QUFDMUIsSUFBSSw0QkFBcUIsQ0FBQSxHQUFBO0FBQ3pCLElBQUksNEJBQWtCLENBQUEsR0FBQTtBQUN0QixJQUFJLHNCQUFzQjtDQUFDO09BQVU7T0FBSTtDQUFBO0FBQ3pDLElBQUksa0JBQWtCLENBQUMsR0FBQTtBQUN2QixJQUFJLHVCQUFpQixDQUFBLEdBQUE7QUFDckIsSUFBSSxzQkFBc0IsQ0FBQyxHQUFDO0FBQzVCLElBQUksaUJBQWlCO0NBQUM7T0FBSTtPQUFBO09BQUE7Q0FBQTtBQUMxQixJQUFJLHFCQUFlLENBQUEsR0FBQTtBQUNuQixJQUFJLDBCQUFpQixDQUFBLEdBQUE7QUFDckIsSUFBQywyQkFBQSxDQUFBLEdBQUE7QUFDRCxJQUFJLG9CQUFvQjtDQUFDO09BQVU7T0FBaUI7T0FBQTtDQUFBO0FBQ3BELElBQUksaUJBQWlCLENBQUMsR0FBRztBQUN6QixJQUFJLG1CQUFtQjtDQUFDO09BQUk7T0FBQSxNQUFBO09BQUEsTUFBQTtPQUFBO09BQUEsTUFBQTtPQUFBLE1BQUE7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
|
|
700
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udGV4dHMvdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sb3JNYXBwaW5nLCBDb2xvck5hbWVzLCBjb2xvclZhciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSwgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0b21lclNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb24nO1xuaW1wb3J0IHsgRE9NSW5zZXJ0aW9uVHlwZSB9IGZyb20gJ3NyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uJztcbmltcG9ydCB0eXBlIHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENoYXRTdGF0ZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0c2VydmljZS10eXBlcyc7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIH0gZnJvbSAnc3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlcyc7XG5pbXBvcnQgeyBUZXN0UHJvcHMgfSBmcm9tICdzcmMvdHlwZXMvdGVzdC10eXBlcyc7XG5pbXBvcnQgeyBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHMnO1xuaW1wb3J0IHsgV2lkZ2V0Q29uZmlnVjMgfSBmcm9tICcuL3R5cGVzVjMnO1xudHlwZSBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zID0gJ2Fsd2F5cycgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tb24tbW9iaWxlLWFsd2F5cy1kZXNrdG9wJyB8ICdhZnRlci1pbnRlcmFjdGlvbi1hbnl3aGVyZScgfCAnbmV2ZXInO1xudHlwZSBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcgPSB7XG4gICAgcG9zaXRpb246ICdib3R0b20tbGVmdCcgfCAnbWlkZGxlLWxlZnQnIHwgJ21pZGRsZS1yaWdodCcgfCAnYm90dG9tLXJpZ2h0JztcbiAgICBleHBhbnNpb25UZXh0Pzoge1xuICAgICAgICBwZHA6IHN0cmluZztcbiAgICAgICAgcGxwOiBzdHJpbmc7XG4gICAgfTtcbiAgICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICAgIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgICBpY29uU1ZHU3JjPzogc3RyaW5nO1xuICAgIGljb25TaXplPzogbnVtYmVyO1xuICAgIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBpY29uRmlsbENvbG9yPzogc3RyaW5nO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBmb250U2l6ZT86IG51bWJlcjtcbn07XG50eXBlIFdlbGNvbWVTZWN0aW9uVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnb3V0bGluZWQnO1xudHlwZSBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYWNjZW50JyB8ICdicmFuZCcgfCAnbGlnaHQnO1xudHlwZSBXZWxjb21lU2VjdGlvbkNvbmZpZyA9IHtcbiAgICB2YXJpYW50OiBXZWxjb21lU2VjdGlvblZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50PzogV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQ7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XG4gICAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG59O1xudHlwZSBDaGF0UHJldmlld0NvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnZmxhdCcgfCAnZmlsbGVkJyB8ICdvdXRsaW5lZCc7XG4gICAgbGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG4gICAgZmlsbGVkQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRDb2xvcj86IHN0cmluZztcbiAgICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dEhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25Cb3JkZXJDb2xvcj86IHN0cmluZztcbiAgICBidXR0b25Cb3JkZXJIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGNvcGllczoge1xuICAgICAgICBwZHA6IHN0cmluZ1tdO1xuICAgICAgICBwbHA6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllcz86IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1BMUEltYWdlcz86IHN0cmluZ1tdO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xuICAgIGhlYWRlckNvbmZpZz86IENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnO1xuICAgIHRvcE1hcmdpbj86IG51bWJlcjtcbn07XG50eXBlIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnID0ge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xuICAgIHNwYXJrbGVzQ29sb3I/OiBzdHJpbmc7XG4gICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgaWNvbldpZHRoPzogc3RyaW5nO1xuICAgIGljb25IZWlnaHQ/OiBzdHJpbmc7XG59O1xuaW50ZXJmYWNlIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnIHtcbiAgICBoYXNGYWRlPzogYm9vbGVhbjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudD86ICdkYXJrJyB8ICdsaWdodCcgfCAnb3V0bGluZWQnO1xuICAgIHN1Z2dlc3Rpb25zQmFja2dyb3VuZD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnc2VuZCcgfCAnbWFnbmlmeWluZ0dsYXNzJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdzZWFyY2hJY29uJztcbiAgICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgcmVwbHlJbnB1dEhhc1NoYWRvdz86IGJvb2xlYW47XG4gICAgcmVwbHlJbnB1dEhhc0JvcmRlcj86IGJvb2xlYW47XG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxudHlwZSBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdib3JkZXJlZCc7XG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSAnbmV1dHJhbCcgfCAnYnJhbmQnIHwgJ3ByZW1pdW0nO1xuaW50ZXJmYWNlIFByb2R1Y3RSZXZpZXdDb25maWcge1xuICAgIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgICBjb2xvclZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQ7XG4gICAgdmVyaWZpZWRCdXllclRpdGxlOiBzdHJpbmc7XG4gICAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG50eXBlIFBhZ2VDYXJkVmFyaWFudCA9ICdmaWxsZWQnIHwgJ291dGxpbmVkJyB8ICdtaW5pbWFsJztcbnR5cGUgUGFnZUNhcmRIb3ZlclZhcmlhbnQgPSAnbm9uZScgfCAnc2hhZG93JyB8ICdsaWZ0JztcbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ2JhY2tncm91bmQnIHwgJ25vbmUnO1xudHlwZSBQYWdlQ2FyZENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiBQYWdlQ2FyZFZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQYWdlQ2FyZEhvdmVyVmFyaWFudDtcbiAgICBpY29uVmFyaWFudDogUGFnZUNhcmRJY29uVmFyaWFudDtcbn07XG50eXBlIFByb2R1Y3RDYXJkVmFyaWFudCA9ICdmaWxsZWQnIHwgJ2JvcmRlcmVkJyB8ICdtaW5pbWFsJyB8ICd0cmFuc3BhcmVudEJvcmRlcmVkJztcbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnIHwgJ25vbmUnO1xudHlwZSBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQgPSAnbm9ybWFsJyB8ICd0YWxsJyB8ICdzcXVhcmUnO1xuaW50ZXJmYWNlIFByb2R1Y3RDYXJkQ29uZmlnIHtcbiAgICB2YXJpYW50OiBQcm9kdWN0Q2FyZFZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudDtcbiAgICBsYXlvdXRWYXJpYW50OiBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQ7XG4gICAgcHJpY2VQcmVmaXg/OiBzdHJpbmc7XG59XG50eXBlIENTU3dpdGNoQ29uZmlnID0ge1xuICAgIHZhcmlhbnQ6ICdhdHRhY2hlZCcgfCAnZGV0YWNoZWQnO1xuICAgIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRUZXh0Q29sb3I6IHN0cmluZztcbiAgICBzZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICB1bnNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBzdXBwb3J0VGl0bGU/OiBzdHJpbmc7XG4gICAgc3BpZmZ5VGl0bGU/OiBzdHJpbmc7XG4gICAgc3BpZmZ5VGl0bGVIYXNMb2dvPzogYm9vbGVhbjtcbn07XG50eXBlIENoYXRIZWFkZXJDb25maWcgPSB7XG4gICAgY29sbGFwc2VkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgY2hldnJvbkNvbG9yOiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gICAgaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgICBjbG9zZUljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgYm9yZGVyQm90dG9tPzogc3RyaW5nO1xuICAgIGhlYWRlckJhckhlaWdodFBhcnRpYWxWaWV3OiBudW1iZXI7XG4gICAgaGVhZGVyQmFySGVpZ2h0RnVsbFZpZXc6IG51bWJlcjtcbiAgICBjdXN0b21lclN1cHBvcnRTd2l0Y2hDb25maWc/OiBDU1N3aXRjaENvbmZpZztcbn07XG50eXBlIFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICAgIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICAgIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xufTtcbnR5cGUgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICAgIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICAgIGNoYXRFbmFibGVkRHVyaW5nQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gICAgc2hvd05hbWVJbnB1dD86IGJvb2xlYW47XG4gICAgZm9ybUFpTmFtZT86IHN0cmluZztcbiAgICB3ZWxjb21lVGl0bGU6IHN0cmluZztcbiAgICB3ZWxjb21lRGVzY3JpcHRpb246IHN0cmluZztcbiAgICBzaG93V2VsY29tZU9uRm9ybT86IGJvb2xlYW47XG4gICAgY29udGFjdFN1YmplY3RPcHRpb25zPzogc3RyaW5nW107XG4gICAgZ2V0Q3VzdG9tV2FpdGluZ01lc3NhZ2U/OiAobmFtZT86IHN0cmluZykgPT4gc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICBvdXRzaWRlQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgICBzdWdnZXN0ZWRBSVF1ZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGJ1c2luZXNzSG91cnNQb2xsaW5nPzogbnVtYmVyO1xuICAgIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAgICovXG4gICAgYnVzaW5lc3NIb3Vyc1N0YXJ0VVRDPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAgICovXG4gICAgYnVzaW5lc3NIb3Vyc0VuZFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNUaW1lem9uZT86IHN0cmluZztcbiAgICBzaG93QUlTdWdnZXN0aW9uc1dpdGhpbkJ1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHdhaXRpbmdNZXNzYWdlUG9zaXRpb24/OiAnQkVGT1JFX01FU1NBR0VTJyB8ICdBRlRFUl9NRVNTQUdFUyc7XG4gICAgbGVnYWxNZXNzYWdlPzogc3RyaW5nO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xudHlwZSBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uIHwgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xudHlwZSBDb252ZXJzYXRpb25hbFNlYWNoID0ge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXQ/OiBSZXBseUlucHV0Q29uZmlnO1xuICAgIHN1Z2dlc3Rpb25zPzogc3RyaW5nW107XG4gICAgZW50cnlwb2ludEJnQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRleHRDb2xvcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50QnRuQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0blRleHRDb2xvcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50QnRuQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludENvbnRhaW5lcj86IHN0cmluZztcbiAgICBlbnRyeXBvaW50VHJpZ2dlcj86IHN0cmluZztcbiAgICBwcm9kdWN0R3JpZENvbnRhaW5lcj86IHN0cmluZztcbiAgICBnZW5lcmFsU2VhcmNoQnRuPzogc3RyaW5nO1xuICAgIHBhZ2VDb250ZW50Pzogc3RyaW5nO1xuICAgIHNlYXJjaENvbnRlbnQ/OiBzdHJpbmc7XG4gICAgc29ydGluZ1RpdGxlPzogc3RyaW5nO1xuICAgIHNlbGVjdGlvblRpdGxlPzogc3RyaW5nO1xuICAgIHNvcnRpbmdGb250Pzogc3RyaW5nO1xuICAgIG9wdGlvbnNGb250Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdCdXR0b25UZXh0Pzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdE1lc3NhZ2VWYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdwcmVtaXVtJyB8ICdhY2NlbnQnO1xuaW50ZXJmYWNlIENoYXRNZXNzYWdlQ29uZmlnIHtcbiAgICBhc3Npc3RhbnRDaGF0VGl0bGU6IHN0cmluZztcbiAgICB2YXJpYW50OiBDaGF0TWVzc2FnZVZhcmlhbnQ7XG4gICAgcHJvZHVjdExpbms6IHtcbiAgICAgICAgdmFyaWFudDogUHJvZHVjdExpbmtWYXJpYW50O1xuICAgICAgICBob3ZlclZhcmlhbnQ6IFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50O1xuICAgICAgICBpY29uVmFyaWFudDogUHJvZHVjdExpbmtJY29uVmFyaWFudDtcbiAgICB9O1xufVxuaW50ZXJmYWNlIFJlcGx5SW5wdXRDb25maWcge1xuICAgIHNpemU/OiAnbWQnIHwgJ2xnJztcbiAgICBzZW5kSWNvbjogJ2Fycm93VXAnIHwgJ3NlbmQnIHwgJ3NlYXJjaCc7XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgUGFydGlhbFZpZXdDb25maWcge1xuICAgIG1heEhlaWdodDogbnVtYmVyO1xuICAgIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdExpbmtJY29uVmFyaWFudCA9ICdhY2NlbnRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kUHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnlEYXJrJyB8ICdib3JkZXJMaWdodCcgfCAnYmFja2dyb3VuZFNhdHVyYXRlZCc7XG50eXBlIFByb2R1Y3RMaW5rVmFyaWFudCA9ICd0ZXh0TGluayc7XG50eXBlIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJztcbnR5cGUgU2VhcmNoQ2FyZFZhcmlhbnQgPSAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRTZWNvbmRhcnknIHwgJ2JhY2tncm91bmRTZWNvbmRhcnlEYXJrJyB8ICdiYWNrZ3JvdW5kTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCA9ICdvdXRsaW5lZCcgfCAnb3V0bGluZWRMaWdodCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeScgfCAnZGFyaycgfCAnZGFya0FjY2VudCcgfCAnZGFya1ByaW1hcnknIHwgJ3NlY29uZGFyeURhcmsnIHwgJ3NlY29uZGFyeUFjY2VudCcgfCAndHJhbnNwYXJlbnQnIHwgJ3RyYW5zcGFyZW50RGFyaycgfCAnbGlnaHREYXJrJztcbmludGVyZmFjZSBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnIHtcbiAgICB2YXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYW5zd2VyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJvcmRlclJhZGl1cz86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn1cbnR5cGUgTnVtUm93cyA9ICdkZWZhdWx0JyB8ICdhbHdheXNPbmVSb3cnIHwgJ2Fsd2F5c1R3b1Jvd3MnIHwgJ3R3b1Jvd3NPbk1vYmlsZSc7XG5pbnRlcmZhY2UgQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcge1xuICAgIHR5cGU6ICdhbHBoYWJldGljJztcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAncHJvZHVjdENvdW50Jztcbn1cbmludGVyZmFjZSBDdXN0b21GaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnY3VzdG9tJztcbiAgICBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG59XG50eXBlIEZpbHRlclNvcnRpbmcgPSBBbHBoYWJldGljRmlsdGVyU29ydGluZyB8IFByb2R1Y3RDb3VudEZpbHRlclNvcnRpbmcgfCBDdXN0b21GaWx0ZXJTb3J0aW5nO1xuaW50ZXJmYWNlIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ2R5bmFtaWMnO1xuICAgIGF0dHJpYnV0ZTogc3RyaW5nO1xuICAgIHNvcnRpbmc6IEZpbHRlclNvcnRpbmc7XG59XG5pbnRlcmZhY2UgUHJpY2VGaWx0ZXJDb25maWcgZXh0ZW5kcyBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICB0eXBlOiAncHJpY2UnO1xuICAgIGJ1Y2tldFNpemU6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIEZpbHRlckF0dHJpYnV0ZSA9IER5bmFtaWNGaWx0ZXJDb25maWcgfCBQcmljZUZpbHRlckNvbmZpZztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQgPSAnYmFja2dyb3VuZFRlcnRpYXJ5JyB8ICdiYWNrZ3JvdW5kRGFyaycgfCAnYmFja2dyb3VuZFByaW1hcnknO1xuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlTGF5b3V0ID0gJ2lucHV0JyB8ICdpY29uJztcbmV4cG9ydCB0eXBlIFNlYXJjaElucHV0VmFyaWFudCA9ICdzdGFuZGFyZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9ICd0aGluJyB8ICdib2xkJztcbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50ID0gJ2RhcmtCdXR0b24nIHwgJ2xpZ2h0QnV0dG9uJztcbmV4cG9ydCB0eXBlIFByb2R1Y3RHcmlkVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnc3F1YXJlJztcbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9ICdtYWduaWZ5aW5nR2xhc3MnIHwgJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzc1RoaW4nIHwgJ3NlbmRBcnJvdycgfCAnc2VhcmNoSWNvbic7XG5pbnRlcmZhY2UgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnIHtcbiAgICB2YXJpYW50PzogJ2JveCcgfCAndW5kZXJsaW5lTGlnaHQnIHwgJ3VuZGVybGluZURhcmsnO1xuICAgIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgICBpY29uOiBVc2VyUXVlcnlCdXR0b25JY29uO1xufVxuaW50ZXJmYWNlIFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZyB7XG4gICAgY29weTogc3RyaW5nO1xuICAgIGxpbms6IHN0cmluZztcbiAgICBsaW5rVGV4dDogc3RyaW5nO1xufVxuaW50ZXJmYWNlIE1lcmNoYW50VmFyaWFudFNldHRpbmdzIHtcbiAgICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICAgICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAgICAgcmVmcmVzaEludGVydmFsPzogbnVtYmVyO1xuICAgIH07XG59XG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0Q29uZmlnIHtcbiAgICBlbmFibGVXYXRlcm1hcms6IGJvb2xlYW47XG4gICAgdXNlclF1ZXJ5SW5wdXRFbmFibGVkOiBib29sZWFuO1xuICAgIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gICAgbmV2ZXJTaG93U2luZ2xlUHJvZHVjdENhcmRzPzogYm9vbGVhbjtcbiAgICB0ZXJtc0FuZENvbmRpdGlvbnNDb25maWc/OiBUZXJtc0FuZENvbmRpdGlvbnNDb25maWc7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZz86IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgcmVwbHlJbnB1dENvbmZpZzogUmVwbHlJbnB1dENvbmZpZztcbn1cbmludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICAgIGVuYWJsZUdsb2JhbFNlYXJjaDogYm9vbGVhbjtcbiAgICBzZWFyY2hGaWx0ZXJDb25maWc6IEZpbHRlckF0dHJpYnV0ZVtdO1xuICAgIHNlYXJjaE92ZXJsYXlIZWFkaW5nPzogc3RyaW5nO1xuICAgIHJlZGlyZWN0U2VhcmNoUmVzdWx0c1VybD86IHN0cmluZztcbiAgICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbiAgICByZWNvbW1lbmRlZFByb2R1Y3RzPzogc3RyaW5nW107XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0c0hlYWRpbmc/OiBzdHJpbmc7XG59XG50eXBlIENvbmZpZ1ZlcnNpb24gPSAndjMnIHwgJ2RlcHJlY2F0ZWQnIHwgdW5kZWZpbmVkO1xudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgICB2ZXJzaW9uPzogQ29uZmlnVmVyc2lvbjtcbiAgICBzaG9ydE5hbWU6IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc/OiBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWc7XG4gICAgY2hhdFByZXZpZXdDb25maWc/OiBDaGF0UHJldmlld0NvbmZpZztcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2g/OiBDb252ZXJzYXRpb25hbFNlYWNoO1xuICAgIG1lcmNoYW50T3ZlcnJpZGVDc3M/OiBzdHJpbmc7XG4gICAgaGlkZGVuRWxlbWVudFNlbGVjdG9ycz86IHN0cmluZ1tdO1xuICAgIG1lcmNoYW50VmFyaWFudFNldHRpbmdzPzogTWVyY2hhbnRWYXJpYW50U2V0dGluZ3M7XG4gICAgZmxvYXRpbmdDaGF0Q29uZmlnOiBGbG9hdGluZ0NoYXRDb25maWc7XG4gICAgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWc7XG4gICAgY2hhdEhlYWRlcjogQ2hhdEhlYWRlckNvbmZpZztcbiAgICBzdGlja3lBZ2VudFN3aXRjaFN1Z2dlc3Rpb24/OiBib29sZWFuO1xuICAgIHBhcnRpYWxWaWV3Q29uZmlnOiBQYXJ0aWFsVmlld0NvbmZpZztcbiAgICB3ZWxjb21lU2VjdGlvbkNvbmZpZz86IFdlbGNvbWVTZWN0aW9uQ29uZmlnO1xuICAgIHByb2R1Y3RDYXJkQ29uZmlnPzogUHJvZHVjdENhcmRDb25maWc7XG4gICAgcHJvZHVjdFJldmlld0NvbmZpZz86IFByb2R1Y3RSZXZpZXdDb25maWc7XG4gICAgcGFnZUNhcmRDb25maWc/OiBQYWdlQ2FyZENvbmZpZztcbiAgICBjaGF0TWVzc2FnZUNvbmZpZzogQ2hhdE1lc3NhZ2VDb25maWc7XG59O1xudHlwZSBJbnNlcnRpb25Qb2ludCA9IHtcbiAgICBzZWxlY3Rvcjogc3RyaW5nO1xuICAgIHNlbGVjdGlvbkluZGV4PzogbnVtYmVyO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xudHlwZSBVUkxUZXN0ID0gJ3Nob3BpZnknIHwgJ251bGwnO1xudHlwZSBJZEV4dHJhY3RvciA9ICdzaG9waWZ5LXByb2R1Y3QtaWQnIHwgJ3Nob3BpZnktY29sbGVjdGlvbi1pZCcgfCAnc2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWQnIHwgJ3VybC1yZXNvbHZlci1wcm9kdWN0LWlkJyB8ICd1cmwtcmVzb2x2ZXItcGxwLWlkJyB8ICdudWxsJztcbmRlY2xhcmUgZW51bSBDYXRlZ29yeUV4dHJhY3RvclR5cGUge1xuICAgIFZpc2l0Q2F0ZWdvcnlNYXAgPSBcIlZpc2l0Q2F0ZWdvcnlNYXBcIixcbiAgICBWaXNpdENhdGVnb3J5RGVmYXVsdCA9IFwiVmlzaXRDYXRlZ29yeURlZmF1bHRcIlxufVxuaW50ZXJmYWNlIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxUIGV4dGVuZHMgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlPiB7XG4gICAgdHlwZTogVDtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5TWFwIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwPiB7XG4gICAgbWFwOiB7XG4gICAgICAgIFtrZXkgaW4gUGFnZVZpc2l0Q2F0ZWdvcnldPzogc3RyaW5nW107XG4gICAgfTtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5RGVmYXVsdCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeURlZmF1bHQ+IHtcbiAgICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG50eXBlIENhdGVnb3J5RXh0cmFjdG9yID0gVmlzaXRDYXRlZ29yeU1hcCB8IFZpc2l0Q2F0ZWdvcnlEZWZhdWx0O1xudHlwZSBXcmFwcGluZ0VsZW1lbnQgPSB7XG4gICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgZWxlbWVudDogc3RyaW5nO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuZGVjbGFyZSBlbnVtIFBhZ2VWYXJpYW50VGVzdFR5cGUge1xuICAgIFBhZ2VDYXRlZ29yeSA9IFwiUGFnZUNhdGVnb3J5XCIsXG4gICAgQ2F0YWxvZ0NhdGVnb3J5ID0gXCJDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBUb3BDYXRhbG9nQ2F0ZWdvcnkgPSBcIlRvcENhdGFsb2dDYXRlZ29yeVwiLFxuICAgIEhhc1Jldmlld3MgPSBcIkhhc1Jldmlld3NcIixcbiAgICBJbkNvbGxlY3Rpb24gPSBcIkluQ29sbGVjdGlvblwiLFxuICAgIEhhc01lcmNoYW50VGFnID0gXCJIYXNNZXJjaGFudFRhZ1wiLFxuICAgIEZlYXR1cmVHYXRlID0gXCJGZWF0dXJlR2F0ZVwiLFxuICAgIFBscElkID0gXCJQbHBJZFwiLFxuICAgIFF1ZXJ5UGFyYW0gPSBcIlF1ZXJ5UGFyYW1cIixcbiAgICBQcm9kdWN0SWQgPSBcIlByb2R1Y3RJZFwiLFxuICAgIFVzZXJIYXNJbnRlcmFjdGVkID0gXCJVc2VySGFzSW50ZXJhY3RlZFwiLFxuICAgIFVzZXJIYXNOb3RJbnRlcmFjdGVkID0gXCJVc2VySGFzTm90SW50ZXJhY3RlZFwiLFxuICAgIGlzTG9hZGluZyA9IFwiaXNMb2FkaW5nXCIsXG4gICAgaXNQcm9kdWN0Q29tcGFyaXNvbiA9IFwiaXNQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIEZhbGxiYWNrID0gXCJGYWxsYmFja1wiLFxuICAgIFVybFJlc29sdmVyID0gXCJVcmxSZXNvbHZlclwiLFxuICAgIGlzU2NyZWVuV2lkdGhTbWFsbGVyID0gXCJpc1NjcmVlbldpZHRoU21hbGxlclwiLFxuICAgIE51bGwgPSBcIm51bGxcIlxufVxuaW50ZXJmYWNlIEJhc2VQYWdlVmFyaWFudFRlc3Q8VCBleHRlbmRzIFBhZ2VWYXJpYW50VGVzdFR5cGU+IHtcbiAgICB0ZXN0VHlwZTogVDtcbn1cbmludGVyZmFjZSBUb3BDYXRhbG9nQ2F0ZWdvcnkgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gICAgdG9wQ2F0ZWdvcnk6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIENhdGFsb2dDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gICAgY2F0ZWdvcnk6IFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5O1xufVxuaW50ZXJmYWNlIEhhc1Jldmlld3NUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3M+IHtcbiAgICByZXZpZXdNaW5pbXVtPzogbnVtYmVyO1xufVxuaW50ZXJmYWNlIEluQ29sbGVjdGlvblRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uPiB7XG4gICAgY29sbGVjdGlvbnM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIEhhc01lcmNoYW50VGFnVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNNZXJjaGFudFRhZz4ge1xuICAgIG1lcmNoYW50VGFnczogc3RyaW5nW107XG59XG5pbnRlcmZhY2UgUGFnZUNhdGVnb3J5VGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QYWdlQ2F0ZWdvcnk+IHtcbiAgICBleHRyYWN0b3I6IENhdGVnb3J5RXh0cmFjdG9yO1xufVxuaW50ZXJmYWNlIEZlYXR1cmVHYXRlVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZT4ge1xuICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXM7XG59XG5pbnRlcmZhY2UgUHJvZHVjdElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Qcm9kdWN0SWQ+IHtcbiAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZHM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBscElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZD4ge1xuICAgIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwbHBJZHM6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFF1ZXJ5UGFyYW1UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0+IHtcbiAgICBxdWVyeVBhcmFtOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgVXNlckhhc0ludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNJbnRlcmFjdGVkPiB7XG59XG5pbnRlcmZhY2UgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNOb3RJbnRlcmFjdGVkPiB7XG59XG5pbnRlcmZhY2UgSXNMb2FkaW5nVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc0xvYWRpbmc+IHtcbn1cbmludGVyZmFjZSBJc1Byb2R1Y3RDb21wYXJpc29uIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzUHJvZHVjdENvbXBhcmlzb24+IHtcbn1cbmludGVyZmFjZSBQYWdlRmFsbGJhY2tUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZhbGxiYWNrPiB7XG59XG5pbnRlcmZhY2UgVXJsUmVzb2x2ZXJUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyPiB7XG59XG5pbnRlcmZhY2UgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzU2NyZWVuV2lkdGhTbWFsbGVyPiB7XG4gICAgYnJlYWtwb2ludDogbnVtYmVyO1xufVxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRUZXN0ID0gUGFnZUNhdGVnb3J5VGVzdCB8IENhdGFsb2dDYXRlZ29yeVRlc3QgfCBUb3BDYXRhbG9nQ2F0ZWdvcnkgfCBIYXNSZXZpZXdzVGVzdCB8IEluQ29sbGVjdGlvblRlc3QgfCBIYXNNZXJjaGFudFRhZ1Rlc3QgfCBGZWF0dXJlR2F0ZVRlc3QgfCBQcm9kdWN0SWRUZXN0IHwgUGxwSWRUZXN0IHwgUXVlcnlQYXJhbVRlc3QgfCBVc2VySGFzSW50ZXJhY3RlZFRlc3QgfCBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3QgfCBJc0xvYWRpbmdUZXN0IHwgSXNQcm9kdWN0Q29tcGFyaXNvbiB8IFBhZ2VGYWxsYmFja1Rlc3QgfCBVcmxSZXNvbHZlclRlc3QgfCBJc1NjcmVlbldpZHRoU21hbGxlclRlc3Q7XG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBzb2NpYWwgcHJvb2YgZW1iZWRkZWQgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGhlYWRlclRpdGxlIC0gVGhlIHRpdGxlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGhlYWRlclxuICogQHBhcmFtIHN0YXRpY1N1Z2dlc3Rpb25zIC0gQSBsaXN0IG9mIHN0cmluZ3MgdG8gZGlzcGxheSBhcyBzdWdnZXN0aW9ucyBpbiB0aGUgd2lkZ2V0XG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBmb290ZXJcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgYm9keVxuICogQHBhcmFtIHN0YXRpY0ltYWdlSW5kZXggLSBJbmRleCBvZiB0aGUgaW1hZ2VVcmwgdG8gdXNlIGZyb20gdGhlIHByb2R1Y3QgcmVzcG9uc2VcbiAqL1xuaW50ZXJmYWNlIFNvY2lhbFByb29mQ29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5OiBzdHJpbmc7XG4gICAgaGVhZGVyVGl0bGU6IHN0cmluZztcbiAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ/OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaGVhZGVyRm9udEZhbWlseT86IHN0cmluZztcbiAgICBzdGF0aWNQTFBJbWFnZU5hbWVzPzogc3RyaW5nW107XG4gICAgc3RhdGljSW1hZ2VJbmRleD86IG51bWJlcjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIHN1Z2dlc3Rpb25CdXR0b25EYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnPzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGxvZ29OYW1lPzogc3RyaW5nO1xufVxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjcmVhdGluZyB0aGUgbW91bnQgcG9pbnQgZm9yIGEgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGNsYXNzTmFtZSAtIE9wdGlvbmFsIGNsYXNzIG5hbWUgdG8gYXBwbHkgdG8gdGhlIG1vdW50IHBvaW50LiBUYWlsd2luZCBjbGFzc2VzIGFyZSBzdXBwb3J0ZWRcbiAqIGFuZCBlbmNvdXJhZ2VkLiBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gc3R5bGUgdGhlIG1vdW50aW5nIGNvbnRhaW5lciBmb3IgdGhlIHdpZGdldC5cbiAqL1xuZXhwb3J0IHR5cGUgV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gICAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICAgIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gICAgdGVzdElkOiBzdHJpbmc7XG4gICAgcGFyZW50SW5zZXJ0aW9uUG9pbnQ/OiBJbnNlcnRpb25Qb2ludDtcbiAgICBpbnNlcnRpb25Qb2ludDogSW5zZXJ0aW9uUG9pbnQ7XG4gICAgZ3JpZEluc2VydGlvblR5cGU/OiBHcmlkSW5zZXJ0aW9uVHlwZTtcbiAgICB3cmFwcGluZ0VsZW1lbnQ/OiBXcmFwcGluZ0VsZW1lbnQ7XG4gICAgZGl2Q2hlY2tTZWxlY3Rvcj86IHN0cmluZztcbiAgICBzdXBwcmVzc2lvblNlbGVjdG9yPzogc3RyaW5nO1xuICAgIHN0eWxlPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbiAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgZGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcbnR5cGUgU3RhdGljV2lkZ2V0TW91bnRpbmcgPSB7XG4gICAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBEeW5hbWljV2lkZ2V0TW91bnRpbmcgPSB7XG4gICAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICAgIG1vdW50aW5nUG9pbnRXaWRnZXRzOiBXaWRnZXREaXNwbGF5VGVzdHNbXTtcbn07XG50eXBlIFdpZGdldERpc3BsYXlUZXN0cyA9IHtcbiAgICB0ZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG50eXBlIFdpZGdldE1vdW50aW5nID0gU3RhdGljV2lkZ2V0TW91bnRpbmcgfCBEeW5hbWljV2lkZ2V0TW91bnRpbmc7XG5kZWNsYXJlIGVudW0gV2lkZ2V0VHlwZSB7XG4gICAgQ2hhdFByZXZpZXcgPSBcIkNoYXRQcmV2aWV3XCIsXG4gICAgU29jaWFsUHJvb2ZWMiA9IFwiU29jaWFsUHJvb2ZWMlwiLFxuICAgIENoYXRQcmV2aWV3VjIgPSBcIkNoYXRQcmV2aWV3VjJcIixcbiAgICBDaGF0UHJldmlld0lzTG9hZGluZyA9IFwiQ2hhdFByZXZpZXdJc0xvYWRpbmdcIixcbiAgICBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbiA9IFwiQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25cIixcbiAgICBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uID0gXCJDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uXCIsXG4gICAgU3VnZ2VzdGlvbkJhciA9IFwiU3VnZ2VzdGlvbkJhclwiLFxuICAgIFN1Z2dlc3Rpb25CYXJWMiA9IFwiU3VnZ2VzdGlvbkJhclYyXCIsXG4gICAgSW1hZ2VQcm9tcHRDYXJkID0gXCJJbWFnZVByb21wdENhcmRcIixcbiAgICBJbWFnZUJhbm5lciA9IFwiSW1hZ2VCYW5uZXJcIixcbiAgICBTaW5nbGVJbWFnZVByb21wdCA9IFwiU2luZ2xlSW1hZ2VQcm9tcHRcIixcbiAgICBTZWFyY2hQcm9tcHQgPSBcIlNlYXJjaFByb21wdFwiLFxuICAgIFNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQgPSBcIlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnRcIixcbiAgICBTZWFyY2hSZXN1bHRzRW50cnlQb2ludCA9IFwiU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRcIixcbiAgICBTZWFyY2hPdmVybGF5SG9zdCA9IFwiU2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICBOb09wID0gXCJOb09wXCJcbn1cbnR5cGUgV2lkZ2V0Q29uZmlnID0gQ2hhdFByZXZpZXdXaWRnZXRDb25maWcgfCBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnIHwgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnIHwgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgfCBJbWFnZUJhbm5lcldpZGdldENvbmZpZyB8IFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIHwgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnIHwgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyB8IFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIHwgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcgfCBOb09wV2lkZ2V0Q29uZmlnO1xuaW50ZXJmYWNlIEJhc2VXaWRnZXRDb25maWc8VCBleHRlbmRzIFdpZGdldFR5cGU+IHtcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xuICAgIHR5cGU6IFQ7XG4gICAgY29udGVudElkPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlQmFubmVyPiB7XG4gICAgaW1hZ2VTcmM6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmc7XG4gICAgYXNzaXN0YW50TWVzc2FnZTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3PiB7XG4gICAgdmFyaWFudDogJ2ZpbGxlZCcgfCAnZmxhdCcgfCAnb3V0bGluZWQnO1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xuICAgIHNvY2lhbFByb29mQ29uZmlnPzogU29jaWFsUHJvb2ZDb25maWc7XG4gICAgZm9vdGVyQ29uZmlnPzogQ2hhdFByZXZpZXdGb290ZXJDb25maWc7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gICAgaW1hZ2VIZWlnaHQ/OiBudW1iZXI7XG59XG50eXBlIFNpbmdsZUltYWdlQ29uZmlnID0ge1xuICAgIGxheW91dDogJ3NpbmdsZSc7XG4gICAgaW1hZ2VJbmRleDogbnVtYmVyO1xufTtcbnR5cGUgTXVsdGlJbWFnZUNvbmZpZyA9IHtcbiAgICBsYXlvdXQ6ICdncmlkJyB8ICdob3Jpem9udGFsJztcbiAgICBpbWFnZU5hbWVzOiBzdHJpbmdbXTtcbn07XG50eXBlIFNvY2lhbFByb29mSW1hZ2VDb25maWcgPSBTaW5nbGVJbWFnZUNvbmZpZyB8IE11bHRpSW1hZ2VDb25maWc7XG50eXBlIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyA9IHtcbiAgICBidXR0b25TdHJpbmdzOiBzdHJpbmdbXTtcbiAgICBhY2NlbnRCdXR0b25WYXJpYW50cz86IHtcbiAgICAgICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXI6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIH07XG4gICAgYnV0dG9uVmFyaWFudHM6IHtcbiAgICAgICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXI6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIH07XG4gICAgbnVtUm93cz86IE51bVJvd3M7XG59O1xudHlwZSBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZyA9IHtcbiAgICBsZWFkaW5nVGV4dDogc3RyaW5nO1xuICAgIGFuaW1hdGVkU3RyaW5nczogc3RyaW5nW107XG59O1xudHlwZSBDaGF0UHJldmlld1ZhcmlhbnQgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnO1xufSB8IHtcbiAgICB2YXJpYW50OiAnZmlsbGVkJztcbiAgICBiYWNrZ3JvdW5kRmlsbENvbG9yOiBzdHJpbmc7XG59IHwge1xuICAgIHZhcmlhbnQ6ICdvdXRsaW5lZCc7XG59O1xuaW50ZXJmYWNlIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgaGVhZGVyQ29uZmlnOiBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25zQ29uZmlnOiBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gICAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3SXNMb2FkaW5nPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIHVzZUxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdWMj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgYW5pbWF0ZWRUZXh0Q29uZmlnOiBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZztcbn1cbmludGVyZmFjZSBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNvY2lhbFByb29mVjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGN1c3RvbWVyUXVlcnk/OiBzdHJpbmc7XG4gICAgaW1hZ2VDb25maWc6IFNvY2lhbFByb29mSW1hZ2VDb25maWc7XG59XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMj4ge1xuICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb247XG4gICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3M7XG4gICAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBzdHJpbmdbXTtcbiAgICAgICAgcHJvZHVjdFNwZWNpZmljPzoge1xuICAgICAgICAgICAgW3Byb2R1Y3RJZDogc3RyaW5nXTogc3RyaW5nW107XG4gICAgICAgIH07XG4gICAgfTtcbiAgICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICAgIHR3b1Jvd3NPbk1vYmlsZT86IGJvb2xlYW47XG4gICAgYW5pbWF0aW9uU3BlZWQ/OiAnc3RhbmRhcmQnIHwgJ3Nsb3cnIHwgJ25vbmUnO1xuICAgIGJ1dHRvbkJvcmRlclJhZGl1cz86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn1cbmludGVyZmFjZSBJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQ+IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBsaWdodFRleHQ/OiBib29sZWFuO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3VidGl0bGU6IHN0cmluZ1tdO1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGZhbGxiYWNrQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNpbmdsZUltYWdlUHJvbXB0PiB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbn1cbmludGVyZmFjZSBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQ+IHtcbiAgICBzZWFyY2haZXJvU3RhdGVWYXJpYW50OiBTZWFyY2haZXJvU3RhdGVWYXJpYW50O1xuICAgIHNlYXJjaElucHV0VmFyaWFudDogU2VhcmNoSW5wdXRWYXJpYW50O1xuICAgIHNlYXJjaEljb25WYXJpYW50PzogU2VhcmNoSWNvblZhcmlhbnQ7XG4gICAgc2VhcmNoSWNvblNpemU/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzogU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgICBsYXlvdXQ6IFNlYXJjaFplcm9TdGF0ZUxheW91dDtcbiAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgICBjb21wYWN0TGFiZWw/OiBzdHJpbmc7XG4gICAgaW5pdGlhbFN1Z2dlc3Rpb25zPzogc3RyaW5nW107XG4gICAgdXNpbmdQb3J0YWw/OiBib29sZWFuO1xuICAgIGluY2x1ZGVTdWJ0aXRsZT86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgTm9PcFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Ob09wPiB7XG59XG5pbnRlcmZhY2UgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoT3ZlcmxheUhvc3Q+IHtcbn1cbmludGVyZmFjZSBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hSZXN1bHRzRW50cnlQb2ludD4ge1xuICAgIHNlYXJjaElucHV0VmFyaWFudDogU2VhcmNoSW5wdXRWYXJpYW50O1xuICAgIHNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50OiBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDtcbiAgICBwcm9kdWN0R3JpZFZhcmlhbnQ6IFByb2R1Y3RHcmlkVmFyaWFudDtcbiAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIG5vUmVzdWx0c0ZvdW5kVGV4dD86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SGVhZGVyUHJvcHMgZXh0ZW5kcyBUZXN0UHJvcHMge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGxvZ28/OiBzdHJpbmc7XG4gICAgbG9nb0hlaWdodD86IG51bWJlcjtcbiAgICBvcmdTaG9ydE5hbWU6IHN0cmluZztcbiAgICB2YXJpYW50PzogU2VhcmNoUHJvbXB0VmFyaWFudDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclF1ZXJ5T3B0aW9ucyB7XG4gICAgZm9vdGVyVmFyaWFudD86ICdzdGFuZGFyZCc7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5QnV0dG9uSWNvbj86ICdtYWduaWZ5aW5nR2xhc3MnIHwgJ3NlbmQnIHwgJ3RoaW5NYWduaWZ5aW5nR2xhc3MnIHwgJ2FpLXNlYXJjaCc7XG59XG50eXBlIFNlYXJjaFByb21wdFZhcmlhbnQgPSAncHJpbWFyeSc7XG5pbnRlcmZhY2UgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFByb21wdD4ge1xuICAgIHZhcmlhbnQ6IFNlYXJjaFByb21wdFZhcmlhbnQ7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBoZWFkZXJDb25maWc6IFdpZGdldEhlYWRlclByb3BzO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25zOiB7XG4gICAgICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBidXR0b25UZXh0czogc3RyaW5nW107XG4gICAgfTtcbiAgICBmb290ZXJDb25maWc/OiBVc2VyUXVlcnlPcHRpb25zO1xufVxudHlwZSBQYWdlVmFyaWFudEJhc2UgPSB7XG4gICAgdmFyaWFudElkOiBzdHJpbmc7XG4gICAgd2lkZ2V0TW91bnRpbmc6IFdpZGdldE1vdW50aW5nW107XG4gICAgdmFyaWFudFRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbn07XG50eXBlIFBMUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGxwJztcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xudHlwZSBQRFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BkcCc7XG4gICAgcGFyZW50UHJvZHVjdElkRXh0cmFjdG9yPzogSWRFeHRyYWN0b3I7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG50eXBlIFZpc2l0UGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwYWdlX3Zpc2l0Jztcbn07XG50eXBlIE90aGVyUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdvdGhlcic7XG59O1xudHlwZSBIb21lUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdob21lcGFnZSc7XG59O1xudHlwZSBTZWFyY2hQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3NlYXJjaCc7XG59O1xuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRDb25maWcgPSBQTFBQYWdlVmFyaWFudCB8IFBEUFBhZ2VWYXJpYW50IHwgVmlzaXRQYWdlVmFyaWFudCB8IE90aGVyUGFnZVZhcmlhbnQgfCBIb21lUGFnZVZhcmlhbnQgfCBTZWFyY2hQYWdlVmFyaWFudDtcbmV4cG9ydCB0eXBlIE9yZ1BhZ2VDb25maWcgPSB7XG4gICAgcGFnZVZhcmlhbnRzOiBQYWdlVmFyaWFudENvbmZpZ1tdO1xuICAgIHdpZGdldENvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldENvbmZpZ1YzPjtcbiAgICBtb3VudGluZ0NvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldE1vdW50aW5nQ29uZmlnPjtcbn07XG5leHBvcnQgdHlwZSBPcmdDb25maWcgPSBPcmdVSUNvbmZpZztcbmV4cG9ydCB7IENhdGVnb3J5RXh0cmFjdG9yVHlwZSwgQ29sb3JOYW1lcywgY29sb3JWYXIsIFBhZ2VWYXJpYW50VGVzdFR5cGUsIFdpZGdldFR5cGUgfTtcbmV4cG9ydCBpbnRlcmZhY2UgRW52aXZlQ29uZmlnIHtcbiAgICBhbXBsaXR1ZGVBcGlLZXk/OiBzdHJpbmc7XG4gICAgZGF0YVJlc2lkZW5jeT86IHN0cmluZztcbiAgICBlbnY/OiBzdHJpbmc7XG4gICAgYmFzZVVybD86IHN0cmluZztcbiAgICByZWFjdEFwcE5hbWU/OiBzdHJpbmc7XG4gICAgY2RuVXJsPzogc3RyaW5nO1xuICAgIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG4gICAgb3JnTGV2ZWxBcGlLZXk/OiBzdHJpbmc7XG4gICAgb3JnU2hvcnROYW1lPzogc3RyaW5nO1xuICAgIG9yZ0lkPzogc3RyaW5nO1xuICAgIGlkZW50aWZ5aW5nUHJlZml4Pzogc3RyaW5nO1xuICAgIGZlYXR1cmVPdmVycmlkZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgICB2YXJpYW50VXJsT3ZlcnJpZGU/OiBzdHJpbmc7XG4gICAgdmFyaWFudEluZm9PdmVycmlkZT86IGFueTtcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgZmVhdHVyZUdhdGVzPzogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbn1cbmV4cG9ydCB0eXBlIHsgQ2F0ZWdvcnlFeHRyYWN0b3IsIENoYXRNZXNzYWdlVmFyaWFudCwgQ2hhdE1lc3NhZ2VDb25maWcsIENoYXRQcmV2aWV3Q29uZmlnLCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZywgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcsIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZywgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdGb290ZXJDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnLCBDaGF0UHJldmlld1dpZGdldENvbmZpZywgQ2hhdFByZXZpZXdWYXJpYW50LCBDb2xvck1hcHBpbmcsIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLCBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcsIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgSWRFeHRyYWN0b3IsIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnLCBJbWFnZVByb21wdFdpZGdldENvbmZpZywgSW5zZXJ0aW9uUG9pbnQsIE11bHRpSW1hZ2VDb25maWcsIE1lcmNoYW50VmFyaWFudFNldHRpbmdzLCBTZWFyY2hDb25maWcsIE9yZ1VJQ29uZmlnLCBQYWdlQ2FyZENvbmZpZywgUGFnZUNhcmRWYXJpYW50LCBQYWdlQ2FyZEhvdmVyVmFyaWFudCwgUGFnZUNhcmRJY29uVmFyaWFudCwgUHJvZHVjdENhcmRDb25maWcsIFByb2R1Y3RDYXJkVmFyaWFudCwgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50LCBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudCwgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQsIFByb2R1Y3RMaW5rVmFyaWFudCwgUHJvZHVjdFJldmlld0NvbmZpZywgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCwgUHJvZHVjdFJldmlld0NvbG9yVmFyaWFudCwgU2VhcmNoUHJvbXB0VmFyaWFudCwgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZywgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucywgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnLCBTb2NpYWxQcm9vZkNvbmZpZywgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLCBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLCBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCwgVVJMVGVzdCwgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnLCBVc2VyUXVlcnlCdXR0b25JY29uLCBXZWxjb21lU2VjdGlvbkNvbmZpZywgV2VsY29tZVNlY3Rpb25WYXJpYW50LCBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCwgV2lkZ2V0Q29uZmlnLCBXcmFwcGluZ0VsZW1lbnQsIFNlYXJjaENhcmRWYXJpYW50LCBXaWRnZXREaXNwbGF5VGVzdHMsIE5vT3BXaWRnZXRDb25maWcsIFdpZGdldE1vdW50aW5nLCBTdGF0aWNXaWRnZXRNb3VudGluZywgRHluYW1pY1dpZGdldE1vdW50aW5nLCBQRFBQYWdlVmFyaWFudCwgUExQUGFnZVZhcmlhbnQsIFZpc2l0UGFnZVZhcmlhbnQsIE90aGVyUGFnZVZhcmlhbnQsIEhvbWVQYWdlVmFyaWFudCwgU2VhcmNoUGFnZVZhcmlhbnQsIE51bVJvd3MsIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBWUEsSUFBSSw0QkFBNEIsQ0FBQyxFQUFFO0FBQ25DLElBQUksMkJBQTJCLENBQUMsU0FBQSwwQkFBQTtBQUNoQyxJQUFJLHdCQUF3QixDQUFDLEdBQUc7QUFDaEMsSUFBSSw2QkFBZ0IsQ0FBQSxHQUFBO0FBQ3BCLElBQUksdUJBQWU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFJLG9CQUFlO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBSSwwQkFBQyxDQUFBLEdBQUE7QUFDTCxJQUFJLDBCQUFzQixDQUFBLEdBQUE7QUFDMUIsSUFBSSw0QkFBcUIsQ0FBQSxHQUFBO0FBQ3pCLElBQUksNEJBQWtCLENBQUEsR0FBQTtBQUN0QixJQUFJLHNCQUFzQjtDQUFDO09BQVU7T0FBSTtDQUFBO0FBQ3pDLElBQUksa0JBQWtCLENBQUMsR0FBQTtBQUN2QixJQUFJLHVCQUFpQixDQUFBLEdBQUE7QUFDckIsSUFBSSxzQkFBc0IsQ0FBQyxHQUFDO0FBQzVCLElBQUksaUJBQWlCO0NBQUM7T0FBSTtPQUFBO09BQUE7Q0FBQTtBQUMxQixJQUFJLHFCQUFlLENBQUEsR0FBQTtBQUNuQixJQUFJLDBCQUFpQixDQUFBLEdBQUE7QUFDckIsSUFBQywyQkFBQSxDQUFBLEdBQUE7QUFDRCxJQUFJLG9CQUFvQjtDQUFDO09BQVU7T0FBaUI7T0FBQTtDQUFBO0FBQ3BELElBQUksaUJBQWlCLENBQUMsR0FBRztBQUN6QixJQUFJLG1CQUFtQjtDQUFDO09BQUk7T0FBQSxNQUFBO09BQUEsTUFBQTtPQUFBO09BQUEsTUFBQTtPQUFBLE1BQUE7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
|