@envive-ai/react-hooks 0.1.3 → 0.1.5
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/adapters/amplitude/index.cjs +13 -13
- package/dist/adapters/amplitude/index.d.cts +5 -3
- package/dist/adapters/amplitude/index.d.ts +5 -3
- package/dist/adapters/amplitude/index.js +10 -10
- package/dist/api-B2euFL-5.cjs +269 -0
- package/dist/api-XRr_lAG6.js +190 -0
- package/dist/application/config/index.cjs +14 -5
- package/dist/application/config/index.d.cts +2 -1
- package/dist/application/config/index.d.ts +2 -1
- package/dist/application/config/index.js +14 -5
- package/dist/application/models/graphql/index.cjs +12 -12
- package/dist/application/models/graphql/index.d.cts +1 -1
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/graphql/index.js +10 -10
- package/dist/application/models/guards/api/index.cjs +2 -2
- package/dist/application/models/guards/api/index.d.cts +2 -2
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/api/index.js +2 -2
- package/dist/application/models/index.cjs +54 -54
- package/dist/application/models/index.d.cts +8 -9
- package/dist/application/models/index.d.ts +8 -9
- package/dist/application/models/index.js +10 -10
- package/dist/application/models/utilityTypes/index.cjs +1 -1
- package/dist/application/models/utilityTypes/index.d.cts +1 -1
- package/dist/application/models/utilityTypes/index.d.ts +1 -1
- package/dist/application/models/utilityTypes/index.js +1 -1
- package/dist/application/models/variantInfo/index.cjs +1 -1
- package/dist/application/models/variantInfo/index.d.cts +1 -1
- package/dist/application/models/variantInfo/index.d.ts +1 -1
- package/dist/application/models/variantInfo/index.js +1 -1
- package/dist/application/service/customerService/index.cjs +2 -2
- package/dist/application/service/customerService/index.d.cts +2 -2
- package/dist/application/service/customerService/index.d.ts +2 -2
- package/dist/application/service/customerService/index.js +2 -2
- package/dist/application/service/index.cjs +38 -757
- package/dist/application/service/index.d.cts +26 -20
- package/dist/application/service/index.d.ts +26 -20
- package/dist/application/service/index.js +12 -727
- package/dist/application/utils/index.cjs +37 -37
- package/dist/application/utils/index.d.cts +12 -12
- package/dist/application/utils/index.d.ts +14 -14
- package/dist/application/utils/index.js +10 -10
- package/dist/atomStore-B1cgmbP0.js +32 -0
- package/dist/atomStore-JwGb7pcy.cjs +58 -0
- package/dist/atomStore-ONYy0XuA.d.cts +24 -0
- package/dist/atomStore-kOKiEcNl.d.ts +24 -0
- package/dist/atoms/app/index.cjs +16 -16
- package/dist/atoms/app/index.d.cts +11 -11
- package/dist/atoms/app/index.d.ts +12 -12
- package/dist/atoms/app/index.js +10 -10
- package/dist/atoms/atomStore/index.cjs +1 -2
- package/dist/atoms/atomStore/index.d.cts +1 -22
- package/dist/atoms/atomStore/index.d.ts +1 -22
- package/dist/atoms/atomStore/index.js +1 -2
- package/dist/atoms/chat/index.cjs +40 -40
- package/dist/atoms/chat/index.d.cts +37 -37
- package/dist/atoms/chat/index.d.ts +38 -38
- package/dist/atoms/chat/index.js +10 -10
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +7 -6
- package/dist/atoms/globalSearch/index.d.ts +2 -1
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +38 -40
- package/dist/atoms/org/index.d.cts +35 -53
- package/dist/atoms/org/index.d.ts +34 -52
- package/dist/atoms/org/index.js +11 -12
- package/dist/atoms/search/index.cjs +41 -43
- package/dist/atoms/search/index.d.cts +9 -10
- package/dist/atoms/search/index.d.ts +9 -10
- package/dist/atoms/search/index.js +10 -12
- package/dist/bandolier-Da4wt6sm.cjs +1230 -0
- package/dist/bandolier-DzEmYWcz.js +1230 -0
- package/dist/carpe-AXipz0Xl.cjs +608 -0
- package/dist/carpe-CaUKwcEa.js +606 -0
- package/dist/chat-CHmD79E1.js +26 -0
- package/dist/{chat-CCgyDehy.cjs → chat-_NzpO_Hn.cjs} +2 -1
- package/dist/{components-CScS7Ii-.cjs → components-D0XDRcaN.cjs} +2 -1
- package/dist/components-Dl-TMD9k.js +11 -0
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.d.ts +1 -1
- package/dist/config/locators/components/chat/index.js +1 -1
- package/dist/config/locators/components/chat/variants/index.cjs +2 -1
- package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
- package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
- package/dist/config/locators/components/chat/variants/index.js +2 -1
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.d.ts +1 -1
- package/dist/config/locators/components/index.js +1 -1
- package/dist/config/locators/components/search/index.cjs +2 -1
- package/dist/config/locators/components/search/index.d.cts +2 -1
- package/dist/config/locators/components/search/index.d.ts +2 -1
- package/dist/config/locators/components/search/index.js +2 -1
- package/dist/config/locators/index.cjs +4 -4
- package/dist/config/locators/index.d.cts +2 -1
- package/dist/config/locators/index.d.ts +4 -3
- package/dist/config/locators/index.js +4 -4
- package/dist/contexts/index.cjs +20 -23
- package/dist/contexts/index.d.cts +10 -59
- package/dist/contexts/index.d.ts +10 -59
- package/dist/contexts/index.js +11 -17
- package/dist/contexts-CtRlNXaS.js +7674 -0
- package/dist/contexts-CtgmnYNn.cjs +9088 -0
- package/dist/coterie--MGvWeVh.cjs +240 -0
- package/dist/coterie-oKHAT0lx.js +240 -0
- package/dist/customerService-BG1uNZZ1.cjs +36 -0
- package/dist/customerService-BHQRnLhC.js +23 -0
- package/dist/custservice-types-C8-9vKWb.cjs +35 -0
- package/dist/custservice-types-CamCiXjq.js +23 -0
- package/dist/default-B4fINY5_.cjs +4 -0
- package/dist/default-BrTQxA0c.js +4 -0
- package/dist/default-C3LrcbZB.cjs +199 -0
- package/dist/default-CXkYrLEr.js +176 -0
- package/dist/divIds-0Vj9g-fM.js +23 -0
- package/dist/{divIds-CFyAjjp3.cjs → divIds-CjceLRD9.cjs} +2 -1
- package/dist/dreamlandBaby-BEqt0eKF.js +347 -0
- package/dist/dreamlandBaby-DBDjEJCc.cjs +347 -0
- package/dist/{embedded-BlXJUbik.cjs → embedded-B5Wi9g0T.cjs} +2 -1
- package/dist/embedded-_cLpd6FK.js +23 -0
- package/dist/entrypoints-CNUvSgnk.js +7 -0
- package/dist/entrypoints-DM9Sm18O.cjs +19 -0
- package/dist/events/index.cjs +1 -1
- package/dist/events/index.d.cts +2 -1
- package/dist/events/index.d.ts +2 -1
- package/dist/events/index.js +1 -1
- package/dist/events-ClCDFK7t.js +78 -0
- package/dist/events-Da7gpmGv.cjs +90 -0
- package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
- package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
- package/dist/fiveCbd-CdqNt16h.cjs +614 -0
- package/dist/fiveCbd-D6B-sgnX.js +614 -0
- package/dist/forLoveAndLemons-C7GsJG7f.cjs +668 -0
- package/dist/forLoveAndLemons-gNDlMtPR.js +666 -0
- package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
- package/dist/globalSearch-b0wC7ZEO.js +14 -0
- package/dist/greenpan-B5AaW4M_.js +398 -0
- package/dist/greenpan-DrORpYms.cjs +398 -0
- package/dist/grooveLife-BJqsfH2H.cjs +343 -0
- package/dist/grooveLife-xIUmDM8s.js +343 -0
- package/dist/homegrownCannabis-8TZ21u6L.cjs +411 -0
- package/dist/homegrownCannabis-BtMuEvbZ.js +411 -0
- package/dist/hooks/index.cjs +36 -38
- package/dist/hooks/index.d.cts +36 -82
- package/dist/hooks/index.d.ts +38 -84
- package/dist/hooks/index.js +11 -17
- package/dist/index-BTK5uzs6.d.cts +98 -0
- package/dist/index-BdNKc2ix.d.cts +2 -1
- package/dist/index-BrXuc_Ck.d.cts +2 -1
- package/dist/index-BzgkfbNO.d.cts +228 -0
- package/dist/index-CKKkTsms.d.ts +39 -0
- package/dist/index-CKUpnyJQ.d.ts +72 -0
- package/dist/index-CSIOQD-A.d.ts +25 -0
- package/dist/index-CbJZOEU4.d.ts +203 -0
- package/dist/index-ClJ0nMsR.d.cts +184 -0
- package/dist/index-Cr2y08f1.d.ts +9 -0
- package/dist/index-Cx9e-fRi.d.ts +184 -0
- package/dist/index-D2VaMPA3.d.ts +98 -0
- package/dist/index-D46Rd0io.d.cts +39 -0
- package/dist/index-DFL1dIT_.d.ts +7 -0
- package/dist/index-DXpgMVpp.d.ts +749 -0
- package/dist/index-Dxpscrvz.d.ts +228 -0
- package/dist/index-K2kNsOTw.d.cts +203 -0
- package/dist/index-MFbPQ8Ji.d.ts +95 -0
- package/dist/index-VHFMGkO-.d.cts +72 -0
- package/dist/index-VSFakgAI.d.cts +95 -0
- package/dist/index-aNW5V9fh.d.cts +749 -0
- package/dist/index-zZjcds15.d.cts +7 -0
- package/dist/interceptors/index.cjs +12 -13
- package/dist/interceptors/index.d.cts +10 -10
- package/dist/interceptors/index.d.ts +10 -10
- package/dist/interceptors/index.js +10 -11
- package/dist/jackArcher-WtkbLBZj.cjs +728 -0
- package/dist/jackArcher-sO9EbgrZ.js +728 -0
- package/dist/jordanCraig-471FcgqF.cjs +1787 -0
- package/dist/jordanCraig-DNOncplU.js +1787 -0
- package/dist/kindredBravely-BlLyHGMX.cjs +491 -0
- package/dist/kindredBravely-cqZ4OvXp.js +491 -0
- package/dist/kutFromTheKloth-3mOIryvt.cjs +370 -0
- package/dist/kutFromTheKloth-DtVNCMKa.js +370 -0
- package/dist/larryAndSerges-88Bvq-Us.cjs +262 -0
- package/dist/larryAndSerges-cvak6May.js +262 -0
- package/dist/leapsAndRebounds-Dmf8eUPq.js +361 -0
- package/dist/leapsAndRebounds-iWKc923H.cjs +361 -0
- package/dist/logger-Dln20ans.cjs +26 -0
- package/dist/logger-pdEEY8T2.js +20 -0
- package/dist/longevityrx-BTMI9vn-.js +321 -0
- package/dist/longevityrx-CobPyigd.cjs +321 -0
- package/dist/lookOptic-C4H_c0JZ.cjs +283 -0
- package/dist/lookOptic-Jwf7EAU8.js +283 -0
- package/dist/mantraBrand-CySGqbn6.cjs +751 -0
- package/dist/mantraBrand-DoaVj837.js +751 -0
- package/dist/medterra-BnZ5p27n.cjs +584 -0
- package/dist/medterra-DaICcPPp.js +584 -0
- package/dist/modells-CZ1L6dD_.js +485 -0
- package/dist/modells-DF0SndHr.cjs +485 -0
- package/dist/nodeSelector-DybpVr-i.d.ts +31 -0
- package/dist/nodeSelector-vKB44CDB.d.cts +2 -1
- package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
- package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
- package/dist/pressedFloral-B3t2cYzs.cjs +662 -0
- package/dist/pressedFloral-Dsws2Kfb.js +662 -0
- package/dist/search-filter-types-9rTb3jMj.d.cts +102 -0
- package/dist/search-filter-types-C-zZSpGo.d.ts +102 -0
- package/dist/skinPerfection-CILQM2bR.cjs +335 -0
- package/dist/skinPerfection-DmQCntRf.js +335 -0
- package/dist/snapSupplements--X_v0KRM.js +286 -0
- package/dist/snapSupplements-Djuzl0Ed.cjs +286 -0
- package/dist/socialProofClasses-DdzG1tZy.js +10 -0
- package/dist/socialProofClasses-ky69yppk.cjs +40 -0
- package/dist/spanx-Bo81yXSF.cjs +664 -0
- package/dist/spanx-DauxB8KE.js +662 -0
- package/dist/spanxStaging-BucYQvR1.cjs +849 -0
- package/dist/spanxStaging-CfXUukdP.js +846 -0
- package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-B3lwrENK.cjs} +2 -1
- package/dist/suggestionBarV2-types-Penx3Y67.js +10 -0
- package/dist/supergoop-8qa_NV3F.cjs +338 -0
- package/dist/supergoop-DOaui-A6.js +336 -0
- package/dist/test-types-CXVJxTeu.d.ts +40 -0
- package/dist/test-types-CuOq25VT.d.cts +40 -0
- package/dist/types/index.cjs +2 -2
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +2 -2
- package/dist/types-CD4LFta-.d.cts +33 -0
- package/dist/types-CGC6Oozp.cjs +231 -0
- package/dist/types-CnTCkyvK.js +177 -0
- package/dist/types-DBdI0j89.d.ts +33 -0
- package/dist/uniqueVintage-BWkDgt1z.js +1212 -0
- package/dist/uniqueVintage-DAne8XcL.cjs +1214 -0
- package/dist/variant-CC1nrywd.d.ts +13 -0
- package/dist/variant-CQTuQQSq.d.cts +13 -0
- package/dist/venaCbd-B1HO_Pkr.cjs +366 -0
- package/dist/venaCbd-CnByO-5R.js +366 -0
- package/dist/westonJonBoucher-BAGXegsX.js +423 -0
- package/dist/westonJonBoucher-BRfHWMbs.cjs +423 -0
- package/dist/wineEnthusiast-DW8JVwV8.cjs +941 -0
- package/dist/wineEnthusiast-EJbhMeKQ.js +941 -0
- package/dist/wolfMattress-B6INZNRJ.cjs +373 -0
- package/dist/wolfMattress-D9P7ErH_.js +373 -0
- package/dist/wolfTactical-C5Pupi3J.js +350 -0
- package/dist/wolfTactical-TMthZM93.cjs +350 -0
- package/package.json +2 -1
- package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
- package/src/adapters/spiffy/commerce/api.ts +17 -8
- package/src/adapters/spiffy/commerce/graphql.ts +16 -5
- package/src/application/config/generalStaticConfig.ts +5 -2
- package/src/application/models/api/orgConfigResults.ts +6 -2
- package/src/application/models/supportedOrgs.ts +1 -1
- package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
- package/src/application/service/cdnService.ts +4 -2
- package/src/application/service/graphqlConfigService.ts +59 -0
- package/src/application/service/index.ts +1 -1
- package/src/application/service/pageVariantService.ts +5 -5
- package/src/application/service/searchService.ts +9 -2
- package/src/application/service/windowChatToggleService.ts +28 -19
- package/src/application/service/windowFrontendConfigService.ts +7 -4
- package/src/atoms/app/index.ts +26 -17
- package/src/atoms/app/variant.ts +1 -0
- package/src/atoms/chat/messageQueue.ts +1 -1
- package/src/atoms/envive/enviveConfig.ts +81 -0
- package/src/atoms/org/graphqlConfig.ts +40 -11
- package/src/atoms/org/index.ts +7 -7
- package/src/atoms/org/merchantCss.ts +119 -2
- package/src/atoms/org/org.ts +67 -70
- package/src/atoms/org/orgPageConfig.ts +9 -6
- package/src/atoms/org/orgUIConfig.ts +22 -9
- package/src/atoms/search/chatSearch.ts +85 -67
- package/src/atoms/search/searchAPI.ts +52 -42
- package/src/contexts/chatContext.tsx +4 -1
- package/src/contexts/enviveConfigContext.tsx +37 -26
- package/src/contexts/enviveCssContext.tsx +20 -0
- package/src/contexts/index.ts +2 -0
- package/src/contexts/orgConfigContext.tsx +106 -0
- package/src/contexts/systemSettingsContext.tsx +2 -2
- package/src/contexts/types.ts +12 -9
- package/src/hooks/index.ts +2 -3
- package/src/hooks/useDynamicVariants.ts +48 -32
- package/src/hooks/useFileUpload.ts +1 -1
- package/src/hooks/useHideElements.ts +21 -18
- package/src/hooks/useImageResolver.ts +16 -8
- package/src/hooks/useNewOrgConfig.ts +80 -0
- package/src/hooks/useSearch.tsx +10 -6
- package/src/hooks/utils.ts +1 -1
- package/src/interceptors/useFormEscalation.ts +26 -9
- package/src/types.ts +0 -2
- package/dist/api-BtzLHcfU.cjs +0 -268
- package/dist/api-kpPTZhV9.js +0 -189
- package/dist/atomStore-BNQyGmU_.cjs +0 -57
- package/dist/atomStore-TnLPtYns.js +0 -31
- package/dist/bandolier-CQrxBHsk.cjs +0 -1230
- package/dist/bandolier-Di9DpZ8e.js +0 -1230
- package/dist/carpe-3NJOR-Rj.cjs +0 -608
- package/dist/carpe-DmWKaIQq.js +0 -606
- package/dist/cdnService-BNreZjqy.js +0 -18
- package/dist/cdnService-vLxePdrU.cjs +0 -23
- package/dist/chat-CCQMmhc1.cjs +0 -5057
- package/dist/chat-Dk6KPb1K.js +0 -25
- package/dist/chat-H6YcCS4I.js +0 -4113
- package/dist/components-DAQxVIn9.js +0 -10
- package/dist/coterie-D0UFsFC5.cjs +0 -240
- package/dist/coterie-JblRmIZL.js +0 -240
- package/dist/customerService-C4wc0glQ.js +0 -22
- package/dist/customerService-zsDlp7g2.cjs +0 -35
- package/dist/custservice-types-D8Npo-5Z.js +0 -22
- package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
- package/dist/default-C5ZTV8HA.cjs +0 -4
- package/dist/default-DPv8m-eQ.js +0 -175
- package/dist/default-DRKBosow.cjs +0 -198
- package/dist/default-ao0vRl0W.js +0 -4
- package/dist/divIds-BWvq-i6I.js +0 -22
- package/dist/dreamlandBaby-CyS8oW8X.js +0 -347
- package/dist/dreamlandBaby-y7kSvwH2.cjs +0 -347
- package/dist/embedded-C1jvFj3v.js +0 -22
- package/dist/entrypoints-CmmOszXO.js +0 -6
- package/dist/entrypoints-fowCLUT2.cjs +0 -18
- package/dist/enviveConfigContext-Bs8kepnO.cjs +0 -48
- package/dist/enviveConfigContext-CWVdVWKW.js +0 -34
- package/dist/events-DgFzlVJR.js +0 -77
- package/dist/events-bH-24eRW.cjs +0 -89
- package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
- package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
- package/dist/featureGates-BMWXU0dS.d.ts +0 -90
- package/dist/featureGates-N_gyHCTn.d.cts +0 -90
- package/dist/fiveCbd-CXVuIBiZ.cjs +0 -614
- package/dist/fiveCbd-Cyc3-Ab9.js +0 -614
- package/dist/forLoveAndLemons-CxQS0USq.cjs +0 -668
- package/dist/forLoveAndLemons-D8mcgmdk.js +0 -666
- package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
- package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
- package/dist/globalSearch-BC0rOX3E.js +0 -13
- package/dist/greenpan-JM6SHcqO.js +0 -398
- package/dist/greenpan-eIzyxVsn.cjs +0 -398
- package/dist/grooveLife-BmsUc2cD.js +0 -343
- package/dist/grooveLife-KdTizVUn.cjs +0 -343
- package/dist/homegrownCannabis-C0GDai4r.cjs +0 -411
- package/dist/homegrownCannabis-a9udocBT.js +0 -411
- package/dist/hooks-DjOa7ihH.cjs +0 -7331
- package/dist/hooks-fneW8SWw.js +0 -7152
- package/dist/index-BQErGgfM.d.cts +0 -202
- package/dist/index-C4zjAR1c.d.cts +0 -227
- package/dist/index-CGB6CAmr.d.ts +0 -6
- package/dist/index-CIco0cCQ.d.ts +0 -183
- package/dist/index-COG1kOZG.d.ts +0 -749
- package/dist/index-CVxe7FpL.d.cts +0 -6
- package/dist/index-Cn1SeI5y.d.cts +0 -183
- package/dist/index-CnqHN_jz.d.ts +0 -202
- package/dist/index-Cqg6ltII.d.ts +0 -38
- package/dist/index-DE_7Q8qK.d.ts +0 -94
- package/dist/index-Da0UzyI9.d.ts +0 -24
- package/dist/index-DbWWcYax.d.cts +0 -749
- package/dist/index-DtoVXd6O.d.cts +0 -97
- package/dist/index-JClBRnSX.d.cts +0 -94
- package/dist/index-ghzD_356.d.ts +0 -8
- package/dist/index-hdbCEjYy.d.cts +0 -38
- package/dist/index-luJrHgPN.d.ts +0 -97
- package/dist/index-tfRj22E1.d.ts +0 -227
- package/dist/jackArcher-B6OJ0N3a.cjs +0 -728
- package/dist/jackArcher-B9fe4Hv8.js +0 -728
- package/dist/jordanCraig-0CB_m_ts.cjs +0 -1787
- package/dist/jordanCraig-DNm1iw1L.js +0 -1787
- package/dist/kindredBravely-CZgt7DJA.js +0 -491
- package/dist/kindredBravely-KvYPbckZ.cjs +0 -491
- package/dist/kutFromTheKloth-BxgtWZs9.cjs +0 -370
- package/dist/kutFromTheKloth-SmteSZjk.js +0 -370
- package/dist/larryAndSerges-6O_u3L90.cjs +0 -261
- package/dist/larryAndSerges-DO-zG8ES.js +0 -261
- package/dist/leapsAndRebounds-BK62AmXw.js +0 -361
- package/dist/leapsAndRebounds-gPsWVUmQ.cjs +0 -361
- package/dist/logger-Be0NyKaY.cjs +0 -25
- package/dist/logger-BexDfK3W.js +0 -19
- package/dist/longevityrx-DjKbwJo3.cjs +0 -321
- package/dist/longevityrx-eq5TeUcy.js +0 -321
- package/dist/lookOptic-BPPqms_j.cjs +0 -283
- package/dist/lookOptic-jRpBXQCN.js +0 -283
- package/dist/mantraBrand-BZOZfkUK.js +0 -751
- package/dist/mantraBrand-Cp8zptkj.cjs +0 -751
- package/dist/medterra-BHYCBgvQ.cjs +0 -584
- package/dist/medterra-CShe6CLY.js +0 -584
- package/dist/modells-DE7-gmjK.cjs +0 -485
- package/dist/modells-DFyJxNwT.js +0 -485
- package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
- package/dist/org-Bkn6fl6I.cjs +0 -106
- package/dist/org-CX8HFbc9.js +0 -63
- package/dist/pressedFloral-BMkCVs8c.cjs +0 -662
- package/dist/pressedFloral-aK9br-LF.js +0 -662
- package/dist/search-DtIFZeMA.cjs +0 -743
- package/dist/search-eWwg8pNn.js +0 -542
- package/dist/search-filter-types-ByJnFPc4.d.cts +0 -101
- package/dist/search-filter-types-DPgeG8FS.d.ts +0 -101
- package/dist/skinPerfection-B9G6yLM2.js +0 -335
- package/dist/skinPerfection-BBC1q65Z.cjs +0 -335
- package/dist/snapSupplements-D7hx6Kgj.cjs +0 -286
- package/dist/snapSupplements-DKvJl__T.js +0 -286
- package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
- package/dist/socialProofClasses-CkJufEGb.js +0 -9
- package/dist/spanx-D-ZKkxjM.cjs +0 -664
- package/dist/spanx-yl7YfVrf.js +0 -662
- package/dist/spanxStaging-CXeIg6zI.cjs +0 -849
- package/dist/spanxStaging-DzGXL9wD.js +0 -846
- package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
- package/dist/supergoop-CSpDPOpl.cjs +0 -337
- package/dist/supergoop-D0UkuRiA.js +0 -335
- package/dist/test-types-C9b_OdfO.d.ts +0 -39
- package/dist/test-types-CpKCxk8U.d.cts +0 -39
- package/dist/types-BE4faOO_.d.cts +0 -32
- package/dist/types-C3S1H4hl.js +0 -176
- package/dist/types-TD8g7LnH.d.ts +0 -32
- package/dist/types-lcjuhDBt.cjs +0 -230
- package/dist/uniqueVintage-DygVpCqU.cjs +0 -1214
- package/dist/uniqueVintage-_n0FZFVj.js +0 -1212
- package/dist/useMessageInterceptor-BP6gzo8a.js +0 -57
- package/dist/useMessageInterceptor-BnUG2Pzt.cjs +0 -72
- package/dist/variant-DH4zusMi.d.cts +0 -12
- package/dist/variant-DTEqSBHd.d.ts +0 -12
- package/dist/variantInfo-BTvC6CQh.js +0 -1
- package/dist/variantInfo-Cz2YXraO.cjs +0 -0
- package/dist/venaCbd-BS0dvdBm.js +0 -366
- package/dist/venaCbd-Pqg0bj-P.cjs +0 -366
- package/dist/westonJonBoucher-CLw8Hy6u.js +0 -423
- package/dist/westonJonBoucher-CeA0jwxe.cjs +0 -423
- package/dist/wineEnthusiast-M9P18d1w.js +0 -941
- package/dist/wineEnthusiast-gHBaQMbe.cjs +0 -941
- package/dist/wolfMattress-BQHjoQYu.js +0 -373
- package/dist/wolfMattress-CdmN-Evm.cjs +0 -373
- package/dist/wolfTactical-Cc2ZLBRh.js +0 -350
- package/dist/wolfTactical-dObnPgAG.cjs +0 -350
- package/src/application/service/environmentService.ts +0 -51
- package/src/extension.ts +0 -63
- package/src/hooks/useHorizontalScrollAnimation.ts +0 -115
- package/src/hooks/useReducedMotionWithOverride.ts +0 -15
- package/src/hooks/useSnapControl.ts +0 -155
- package/src/initialize.ts +0 -163
- package/src/main.tsx +0 -108
- package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
- /package/dist/{atomStore-B3tsg6mF.cjs → locators-CugndTUM.cjs} +0 -0
- /package/dist/{atomStore-FSZd_20F.js → locators-DnKpajbY.js} +0 -0
- /package/dist/{locators-C2DX_nX6.js → utilityTypes-BVikejDo.js} +0 -0
- /package/dist/{locators-CUpyd9Wt.cjs → utilityTypes-C4h2wgAK.cjs} +0 -0
- /package/dist/{utilityTypes-DMdsI0DG.cjs → variantInfo-CNRTY0gH.cjs} +0 -0
- /package/dist/{utilityTypes-UWdNHElu.js → variantInfo-CzhR5W6h.js} +0 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
//#region src/application/models/colorsConfig.ts
|
|
2
|
+
var ColorNames = /* @__PURE__ */ function(ColorNames$1) {
|
|
3
|
+
ColorNames$1["TextPrimary"] = "text-primary";
|
|
4
|
+
ColorNames$1["TextSecondary"] = "text-secondary";
|
|
5
|
+
ColorNames$1["TextAccent"] = "text-accent";
|
|
6
|
+
ColorNames$1["TextLink"] = "text-link";
|
|
7
|
+
ColorNames$1["TextLight"] = "text-light";
|
|
8
|
+
ColorNames$1["BackgroundPrimary"] = "background-primary";
|
|
9
|
+
ColorNames$1["BackgroundSecondary"] = "background-secondary";
|
|
10
|
+
ColorNames$1["BackgroundSecondaryDark"] = "background-secondary-dark";
|
|
11
|
+
ColorNames$1["BackgroundTertiary"] = "background-tertiary";
|
|
12
|
+
ColorNames$1["BackgroundDark"] = "background-dark";
|
|
13
|
+
ColorNames$1["BackgroundLight"] = "background-light";
|
|
14
|
+
ColorNames$1["BackgroundSaturated"] = "background-saturated";
|
|
15
|
+
ColorNames$1["BorderLight"] = "border-light";
|
|
16
|
+
ColorNames$1["BorderMedium"] = "border-medium";
|
|
17
|
+
ColorNames$1["BorderDark"] = "border-dark";
|
|
18
|
+
ColorNames$1["BorderOutline"] = "border-outline";
|
|
19
|
+
ColorNames$1["AccentPrimary"] = "accent-primary";
|
|
20
|
+
ColorNames$1["AccentSecondary"] = "accent-secondary";
|
|
21
|
+
return ColorNames$1;
|
|
22
|
+
}(ColorNames || {});
|
|
23
|
+
const colorVar = (color) => `var(--spiffy-colors-${color})`;
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/application/models/orgsEnum.ts
|
|
27
|
+
const OrgShortName = {
|
|
28
|
+
Coterie: "coterie",
|
|
29
|
+
ForLoveAndLemons: "for-love-and-lemons",
|
|
30
|
+
Greenpan: "greenpan",
|
|
31
|
+
JordanCraig: "jordan-craig",
|
|
32
|
+
LarryAndSerges: "larry_and_serges",
|
|
33
|
+
LeapsAndRebounds: "leaps-and-rebounds",
|
|
34
|
+
MantraBrand: "mantra-brand",
|
|
35
|
+
Spanx: "spanx",
|
|
36
|
+
SpanxStaging: "staging-spanx",
|
|
37
|
+
Supergoop: "supergoop",
|
|
38
|
+
UniqueVintage: "unique-vintage",
|
|
39
|
+
JackArcher: "jack-archer",
|
|
40
|
+
SkinPerfection: "skin-perfection",
|
|
41
|
+
LookOptic: "look-optic",
|
|
42
|
+
FiveCbd: "five-cbd",
|
|
43
|
+
SnapSupplements: "snap-supplements",
|
|
44
|
+
Longevityrx: "longevityrx",
|
|
45
|
+
VenaCbd: "vena-cbd",
|
|
46
|
+
Medterra: "medterra",
|
|
47
|
+
Modells: "modells",
|
|
48
|
+
PressedFloral: "pressed-floral",
|
|
49
|
+
KindredBravely: "kindred-bravely",
|
|
50
|
+
WineEnthusiast: "wine-enthusiast",
|
|
51
|
+
HomegrownCannabis: "homegrown-cannabis",
|
|
52
|
+
DreamlandBaby: "dreamland-baby",
|
|
53
|
+
Bandolier: "bandolier",
|
|
54
|
+
WestonJonBoucher: "weston-jon-boucher",
|
|
55
|
+
KutFromTheKloth: "kut-from-the-kloth",
|
|
56
|
+
GrooveLife: "groove-life",
|
|
57
|
+
Carpe: "carpe",
|
|
58
|
+
WolfTactical: "wolf-tactical",
|
|
59
|
+
WolfMattress: "wolfmattress",
|
|
60
|
+
Default: "default"
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region src/application/models/supportedOrgs.ts
|
|
65
|
+
const getOrgInfo = async (orgShortName) => {
|
|
66
|
+
switch (orgShortName) {
|
|
67
|
+
case OrgShortName.Bandolier: return import("./bandolier-DzEmYWcz.js").then((module) => module.bandolierOrgInfo);
|
|
68
|
+
case OrgShortName.Carpe: return import("./carpe-CaUKwcEa.js").then((module) => module.carpeOrgInfo);
|
|
69
|
+
case OrgShortName.Coterie: return import("./coterie-oKHAT0lx.js").then((module) => module.coterieOrgInfo);
|
|
70
|
+
case OrgShortName.DreamlandBaby: return import("./dreamlandBaby-BEqt0eKF.js").then((module) => module.dreamlandBabyOrgInfo);
|
|
71
|
+
case OrgShortName.ForLoveAndLemons: return import("./forLoveAndLemons-gNDlMtPR.js").then((module) => module.forLoveAndLemonsOrgInfo);
|
|
72
|
+
case OrgShortName.Greenpan: return import("./greenpan-B5AaW4M_.js").then((module) => module.greenpanOrgInfo);
|
|
73
|
+
case OrgShortName.GrooveLife: return import("./grooveLife-xIUmDM8s.js").then((module) => module.grooveLifeOrgInfo);
|
|
74
|
+
case OrgShortName.JackArcher: return import("./jackArcher-sO9EbgrZ.js").then((module) => module.jackArcherOrgInfo);
|
|
75
|
+
case OrgShortName.JordanCraig: return import("./jordanCraig-DNOncplU.js").then((module) => module.jordanCraigOrgInfo);
|
|
76
|
+
case OrgShortName.KutFromTheKloth: return import("./kutFromTheKloth-DtVNCMKa.js").then((module) => module.kutFromTheKlothOrgInfo);
|
|
77
|
+
case OrgShortName.LarryAndSerges: return import("./larryAndSerges-cvak6May.js").then((module) => module.larryAndSergesOrgInfo);
|
|
78
|
+
case OrgShortName.LeapsAndRebounds: return import("./leapsAndRebounds-Dmf8eUPq.js").then((module) => module.leapsAndReboundsOrgInfo);
|
|
79
|
+
case OrgShortName.MantraBrand: return import("./mantraBrand-DoaVj837.js").then((module) => module.mantraBrandOrgInfo);
|
|
80
|
+
case OrgShortName.Spanx: return import("./spanx-DauxB8KE.js").then((module) => module.spanxOrgInfo);
|
|
81
|
+
case OrgShortName.SpanxStaging: return import("./spanxStaging-CfXUukdP.js").then((module) => module.spanxOrgInfo);
|
|
82
|
+
case OrgShortName.Supergoop: return import("./supergoop-DOaui-A6.js").then((module) => module.supergoopOrgInfo);
|
|
83
|
+
case OrgShortName.UniqueVintage: return import("./uniqueVintage-BWkDgt1z.js").then((module) => module.uniqueVintageOrgInfo);
|
|
84
|
+
case OrgShortName.WestonJonBoucher: return import("./westonJonBoucher-BAGXegsX.js").then((module) => module.westonJonBoucherOrgInfo);
|
|
85
|
+
case OrgShortName.WolfMattress: return import("./wolfMattress-D9P7ErH_.js").then((module) => module.wolfMattressOrgInfo);
|
|
86
|
+
case OrgShortName.WolfTactical: return import("./wolfTactical-C5Pupi3J.js").then((module) => module.wolfTacticalOrgInfo);
|
|
87
|
+
case OrgShortName.SkinPerfection: return import("./skinPerfection-DmQCntRf.js").then((module) => module.skinPerfectionOrgInfo);
|
|
88
|
+
case OrgShortName.LookOptic: return import("./lookOptic-Jwf7EAU8.js").then((module) => module.lookOpticOrgInfo);
|
|
89
|
+
case OrgShortName.FiveCbd: return import("./fiveCbd-D6B-sgnX.js").then((module) => module.fiveCbdOrgInfo);
|
|
90
|
+
case OrgShortName.SnapSupplements: return import("./snapSupplements--X_v0KRM.js").then((module) => module.snapSupplementsOrgInfo);
|
|
91
|
+
case OrgShortName.Longevityrx: return import("./longevityrx-BTMI9vn-.js").then((module) => module.longevityrxOrgInfo);
|
|
92
|
+
case OrgShortName.VenaCbd: return import("./venaCbd-CnByO-5R.js").then((module) => module.venaCbdOrgInfo);
|
|
93
|
+
case OrgShortName.Medterra: return import("./medterra-DaICcPPp.js").then((module) => module.medterraOrgInfo);
|
|
94
|
+
case OrgShortName.Modells: return import("./modells-CZ1L6dD_.js").then((module) => module.modellsOrgInfo);
|
|
95
|
+
case OrgShortName.PressedFloral: return import("./pressedFloral-Dsws2Kfb.js").then((module) => module.pressedFloralOrgInfo);
|
|
96
|
+
case OrgShortName.KindredBravely: return import("./kindredBravely-cqZ4OvXp.js").then((module) => module.kindredBravelyOrgInfo);
|
|
97
|
+
case OrgShortName.WineEnthusiast: return import("./wineEnthusiast-EJbhMeKQ.js").then((module) => module.wineEnthusiastOrgInfo);
|
|
98
|
+
case OrgShortName.HomegrownCannabis: return import("./homegrownCannabis-BtMuEvbZ.js").then((module) => module.homegrownCannabisOrgInfo);
|
|
99
|
+
default: return import("./default-BrTQxA0c.js").then((module) => module.defaultOrgInfo);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
//#region src/contexts/types.ts
|
|
105
|
+
var CategoryExtractorType = /* @__PURE__ */ function(CategoryExtractorType$1) {
|
|
106
|
+
CategoryExtractorType$1["VisitCategoryMap"] = "VisitCategoryMap";
|
|
107
|
+
CategoryExtractorType$1["VisitCategoryDefault"] = "VisitCategoryDefault";
|
|
108
|
+
return CategoryExtractorType$1;
|
|
109
|
+
}(CategoryExtractorType || {});
|
|
110
|
+
var PageVariantTestType = /* @__PURE__ */ function(PageVariantTestType$1) {
|
|
111
|
+
PageVariantTestType$1["ShopifyPLP"] = "ShopifyPLP";
|
|
112
|
+
PageVariantTestType$1["ShopifyPDP"] = "ShopifyPDP";
|
|
113
|
+
PageVariantTestType$1["PageCategory"] = "PageCategory";
|
|
114
|
+
PageVariantTestType$1["CatalogCategory"] = "CatalogCategory";
|
|
115
|
+
PageVariantTestType$1["TopCatalogCategory"] = "TopCatalogCategory";
|
|
116
|
+
PageVariantTestType$1["HasReviews"] = "HasReviews";
|
|
117
|
+
PageVariantTestType$1["InCollection"] = "InCollection";
|
|
118
|
+
PageVariantTestType$1["HasMerchantTag"] = "HasMerchantTag";
|
|
119
|
+
PageVariantTestType$1["FeatureGate"] = "FeatureGate";
|
|
120
|
+
PageVariantTestType$1["PlpId"] = "PlpId";
|
|
121
|
+
PageVariantTestType$1["QueryParam"] = "QueryParam";
|
|
122
|
+
PageVariantTestType$1["ProductId"] = "ProductId";
|
|
123
|
+
PageVariantTestType$1["UserHasInteracted"] = "UserHasInteracted";
|
|
124
|
+
PageVariantTestType$1["UserHasNotInteracted"] = "UserHasNotInteracted";
|
|
125
|
+
PageVariantTestType$1["isLoading"] = "isLoading";
|
|
126
|
+
PageVariantTestType$1["isProductComparison"] = "isProductComparison";
|
|
127
|
+
PageVariantTestType$1["Fallback"] = "Fallback";
|
|
128
|
+
PageVariantTestType$1["UrlResolver"] = "UrlResolver";
|
|
129
|
+
PageVariantTestType$1["Null"] = "null";
|
|
130
|
+
return PageVariantTestType$1;
|
|
131
|
+
}(PageVariantTestType || {});
|
|
132
|
+
var WidgetType = /* @__PURE__ */ function(WidgetType$1) {
|
|
133
|
+
WidgetType$1["ChatPreview"] = "ChatPreview";
|
|
134
|
+
WidgetType$1["SocialProofV2"] = "SocialProofV2";
|
|
135
|
+
WidgetType$1["ChatPreviewV2"] = "ChatPreviewV2";
|
|
136
|
+
WidgetType$1["ChatPreviewIsLoading"] = "ChatPreviewIsLoading";
|
|
137
|
+
WidgetType$1["ChatPreviewPostInteraction"] = "ChatPreviewPostInteraction";
|
|
138
|
+
WidgetType$1["ChatPreviewProductComparison"] = "ChatPreviewProductComparison";
|
|
139
|
+
WidgetType$1["SuggestionBar"] = "SuggestionBar";
|
|
140
|
+
WidgetType$1["SuggestionBarV2"] = "SuggestionBarV2";
|
|
141
|
+
WidgetType$1["ImagePromptCard"] = "ImagePromptCard";
|
|
142
|
+
WidgetType$1["ImageBanner"] = "ImageBanner";
|
|
143
|
+
WidgetType$1["SingleImagePrompt"] = "SingleImagePrompt";
|
|
144
|
+
WidgetType$1["SearchPrompt"] = "SearchPrompt";
|
|
145
|
+
WidgetType$1["SearchZeroStateEntryPoint"] = "SearchZeroStateEntryPoint";
|
|
146
|
+
WidgetType$1["SearchResultsEntryPoint"] = "SearchResultsEntryPoint";
|
|
147
|
+
WidgetType$1["SearchOverlayHost"] = "SearchOverlayHost";
|
|
148
|
+
WidgetType$1["NoOp"] = "NoOp";
|
|
149
|
+
return WidgetType$1;
|
|
150
|
+
}(WidgetType || {});
|
|
151
|
+
|
|
152
|
+
//#endregion
|
|
153
|
+
//#region src/application/service/customerService/types.ts
|
|
154
|
+
let CustomerServiceType = /* @__PURE__ */ function(CustomerServiceType$1) {
|
|
155
|
+
CustomerServiceType$1["shopify"] = "shopify";
|
|
156
|
+
CustomerServiceType$1["gorgias"] = "gorgias";
|
|
157
|
+
CustomerServiceType$1["kustomer"] = "kustomer";
|
|
158
|
+
CustomerServiceType$1["groove"] = "groove";
|
|
159
|
+
CustomerServiceType$1["tidio"] = "tidio";
|
|
160
|
+
CustomerServiceType$1["zowie"] = "zowie";
|
|
161
|
+
CustomerServiceType$1["redo"] = "redo";
|
|
162
|
+
CustomerServiceType$1["gladly"] = "gladly";
|
|
163
|
+
CustomerServiceType$1["richpanel"] = "richpanel";
|
|
164
|
+
CustomerServiceType$1["zendesk"] = "zendesk";
|
|
165
|
+
CustomerServiceType$1["unsupported"] = "unsupported";
|
|
166
|
+
return CustomerServiceType$1;
|
|
167
|
+
}({});
|
|
168
|
+
let CustomerServiceIntegrationMode = /* @__PURE__ */ function(CustomerServiceIntegrationMode$1) {
|
|
169
|
+
CustomerServiceIntegrationMode$1["none"] = "none";
|
|
170
|
+
CustomerServiceIntegrationMode$1["simple"] = "simple";
|
|
171
|
+
CustomerServiceIntegrationMode$1["full"] = "full";
|
|
172
|
+
return CustomerServiceIntegrationMode$1;
|
|
173
|
+
}({});
|
|
174
|
+
|
|
175
|
+
//#endregion
|
|
176
|
+
export { CategoryExtractorType, ColorNames, CustomerServiceIntegrationMode, CustomerServiceType, OrgShortName, PageVariantTestType, WidgetType, colorVar, getOrgInfo };
|
|
177
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtQ25UQ2t5dksuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9jb2xvcnNDb25maWcudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL29yZ3NFbnVtLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9zdXBwb3J0ZWRPcmdzLnRzIiwiLi4vc3JjL2NvbnRleHRzL3R5cGVzLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY3VzdG9tZXJTZXJ2aWNlL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImVudW0gQ29sb3JOYW1lcyB7XG4gIFRleHRQcmltYXJ5ID0gJ3RleHQtcHJpbWFyeScsXG4gIFRleHRTZWNvbmRhcnkgPSAndGV4dC1zZWNvbmRhcnknLFxuICBUZXh0QWNjZW50ID0gJ3RleHQtYWNjZW50JyxcbiAgVGV4dExpbmsgPSAndGV4dC1saW5rJyxcbiAgVGV4dExpZ2h0ID0gJ3RleHQtbGlnaHQnLFxuICBCYWNrZ3JvdW5kUHJpbWFyeSA9ICdiYWNrZ3JvdW5kLXByaW1hcnknLFxuICBCYWNrZ3JvdW5kU2Vjb25kYXJ5ID0gJ2JhY2tncm91bmQtc2Vjb25kYXJ5JyxcbiAgQmFja2dyb3VuZFNlY29uZGFyeURhcmsgPSAnYmFja2dyb3VuZC1zZWNvbmRhcnktZGFyaycsXG4gIEJhY2tncm91bmRUZXJ0aWFyeSA9ICdiYWNrZ3JvdW5kLXRlcnRpYXJ5JyxcbiAgQmFja2dyb3VuZERhcmsgPSAnYmFja2dyb3VuZC1kYXJrJyxcbiAgQmFja2dyb3VuZExpZ2h0ID0gJ2JhY2tncm91bmQtbGlnaHQnLFxuICBCYWNrZ3JvdW5kU2F0dXJhdGVkID0gJ2JhY2tncm91bmQtc2F0dXJhdGVkJyxcbiAgQm9yZGVyTGlnaHQgPSAnYm9yZGVyLWxpZ2h0JyxcbiAgQm9yZGVyTWVkaXVtID0gJ2JvcmRlci1tZWRpdW0nLFxuICBCb3JkZXJEYXJrID0gJ2JvcmRlci1kYXJrJyxcbiAgQm9yZGVyT3V0bGluZSA9ICdib3JkZXItb3V0bGluZScsXG4gIEFjY2VudFByaW1hcnkgPSAnYWNjZW50LXByaW1hcnknLFxuICBBY2NlbnRTZWNvbmRhcnkgPSAnYWNjZW50LXNlY29uZGFyeScsXG59XG5cbnR5cGUgQ29sb3JNYXBwaW5nID0ge1xuICBba2V5IGluIENvbG9yTmFtZXNdOiBzdHJpbmc7XG59O1xuXG5jb25zdCBjb2xvclZhciA9IChjb2xvcjogQ29sb3JOYW1lcyk6IHN0cmluZyA9PiBgdmFyKC0tc3BpZmZ5LWNvbG9ycy0ke2NvbG9yfSlgO1xuZXhwb3J0IHsgQ29sb3JOYW1lcywgY29sb3JWYXIgfTtcbmV4cG9ydCB0eXBlIHsgQ29sb3JNYXBwaW5nIH07XG4iLCJleHBvcnQgY29uc3QgT3JnU2hvcnROYW1lID0ge1xuICBDb3RlcmllOiAnY290ZXJpZScsXG4gIEZvckxvdmVBbmRMZW1vbnM6ICdmb3ItbG92ZS1hbmQtbGVtb25zJyxcbiAgR3JlZW5wYW46ICdncmVlbnBhbicsXG4gIEpvcmRhbkNyYWlnOiAnam9yZGFuLWNyYWlnJyxcbiAgTGFycnlBbmRTZXJnZXM6ICdsYXJyeV9hbmRfc2VyZ2VzJyxcbiAgTGVhcHNBbmRSZWJvdW5kczogJ2xlYXBzLWFuZC1yZWJvdW5kcycsXG4gIE1hbnRyYUJyYW5kOiAnbWFudHJhLWJyYW5kJyxcbiAgU3Bhbng6ICdzcGFueCcsXG4gIFNwYW54U3RhZ2luZzogJ3N0YWdpbmctc3BhbngnLFxuICBTdXBlcmdvb3A6ICdzdXBlcmdvb3AnLFxuICBVbmlxdWVWaW50YWdlOiAndW5pcXVlLXZpbnRhZ2UnLFxuICBKYWNrQXJjaGVyOiAnamFjay1hcmNoZXInLFxuICAvKiAtLSBCZWxvdyBpdGVtcyBhcmUgZ2VuZXJhdGVkIGJ5IHBsb3AgLS0gKi9cbiAgU2tpblBlcmZlY3Rpb246ICdza2luLXBlcmZlY3Rpb24nLFxuICBMb29rT3B0aWM6ICdsb29rLW9wdGljJyxcbiAgRml2ZUNiZDogJ2ZpdmUtY2JkJyxcbiAgU25hcFN1cHBsZW1lbnRzOiAnc25hcC1zdXBwbGVtZW50cycsXG4gIExvbmdldml0eXJ4OiAnbG9uZ2V2aXR5cngnLFxuICBWZW5hQ2JkOiAndmVuYS1jYmQnLFxuICBNZWR0ZXJyYTogJ21lZHRlcnJhJyxcbiAgTW9kZWxsczogJ21vZGVsbHMnLFxuICBQcmVzc2VkRmxvcmFsOiAncHJlc3NlZC1mbG9yYWwnLFxuICBLaW5kcmVkQnJhdmVseTogJ2tpbmRyZWQtYnJhdmVseScsXG4gIFdpbmVFbnRodXNpYXN0OiAnd2luZS1lbnRodXNpYXN0JyxcbiAgSG9tZWdyb3duQ2FubmFiaXM6ICdob21lZ3Jvd24tY2FubmFiaXMnLFxuICBEcmVhbWxhbmRCYWJ5OiAnZHJlYW1sYW5kLWJhYnknLFxuICBCYW5kb2xpZXI6ICdiYW5kb2xpZXInLFxuICBXZXN0b25Kb25Cb3VjaGVyOiAnd2VzdG9uLWpvbi1ib3VjaGVyJyxcbiAgS3V0RnJvbVRoZUtsb3RoOiAna3V0LWZyb20tdGhlLWtsb3RoJyxcbiAgR3Jvb3ZlTGlmZTogJ2dyb292ZS1saWZlJyxcbiAgQ2FycGU6ICdjYXJwZScsXG4gIFdvbGZUYWN0aWNhbDogJ3dvbGYtdGFjdGljYWwnLFxuICBXb2xmTWF0dHJlc3M6ICd3b2xmbWF0dHJlc3MnLFxuICBEZWZhdWx0OiAnZGVmYXVsdCcsXG59IGFzIGNvbnN0O1xuIiwiaW1wb3J0IHsgT3JnU2hvcnROYW1lIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvb3Jnc0VudW1cIjtcbmltcG9ydCB7IENvbG9yTWFwcGluZywgT3JnUGFnZUNvbmZpZywgT3JnVUlDb25maWcgfSBmcm9tIFwic3JjL2NvbnRleHRzL3R5cGVzXCI7XG5cbmV4cG9ydCB7IE9yZ1Nob3J0TmFtZSB9IGZyb20gXCIuL29yZ3NFbnVtXCI7XG5cbmV4cG9ydCB0eXBlIEJhc2ljT3JnSW5mb1R5cGUgPSB7XG4gIHNob3J0TmFtZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRvbWFpbjogc3RyaW5nO1xuICBkZWZhdWx0UHJvZHVjdElkOiBzdHJpbmc7XG4gIGFsd2F5c0VuYWJsZWRNZXJjaGFudHM6IGJvb2xlYW47XG4gIG9yZ1VJQ29uZmlnOiAoKSA9PiBPcmdVSUNvbmZpZyB8IHVuZGVmaW5lZDtcbiAgb3JnUGFnZUNvbmZpZzogKCkgPT4gT3JnUGFnZUNvbmZpZztcbiAgb3JnQ29sb3JzOiAoKSA9PiBDb2xvck1hcHBpbmcgfCB7fTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRPcmdJbmZvID0gYXN5bmMgKFxuICBvcmdTaG9ydE5hbWU/OiBzdHJpbmdcbik6IFByb21pc2U8QmFzaWNPcmdJbmZvVHlwZT4gPT4ge1xuICBzd2l0Y2ggKG9yZ1Nob3J0TmFtZSkge1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLkJhbmRvbGllcjpcbiAgICAgIHJldHVybiBpbXBvcnQoXCJzcmMvbWVyY2hhbnRzL2JhbmRvbGllci9iYW5kb2xpZXJcIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLmJhbmRvbGllck9yZ0luZm9cbiAgICAgICk7XG4gICAgY2FzZSBPcmdTaG9ydE5hbWUuQ2FycGU6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy9jYXJwZS9jYXJwZVwiKS50aGVuKFxuICAgICAgICAobW9kdWxlKSA9PiBtb2R1bGUuY2FycGVPcmdJbmZvXG4gICAgICApO1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLkNvdGVyaWU6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy9jb3RlcmllL2NvdGVyaWVcIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLmNvdGVyaWVPcmdJbmZvXG4gICAgICApO1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLkRyZWFtbGFuZEJhYnk6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy9kcmVhbWxhbmRCYWJ5L2RyZWFtbGFuZEJhYnlcIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLmRyZWFtbGFuZEJhYnlPcmdJbmZvXG4gICAgICApO1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLkZvckxvdmVBbmRMZW1vbnM6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy9mb3JMb3ZlQW5kTGVtb25zL2ZvckxvdmVBbmRMZW1vbnNcIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLmZvckxvdmVBbmRMZW1vbnNPcmdJbmZvXG4gICAgICApO1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLkdyZWVucGFuOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvZ3JlZW5wYW4vZ3JlZW5wYW5cIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLmdyZWVucGFuT3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5Hcm9vdmVMaWZlOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvZ3Jvb3ZlTGlmZS9ncm9vdmVMaWZlXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5ncm9vdmVMaWZlT3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5KYWNrQXJjaGVyOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvamFja0FyY2hlci9qYWNrQXJjaGVyXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5qYWNrQXJjaGVyT3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5Kb3JkYW5DcmFpZzpcbiAgICAgIHJldHVybiBpbXBvcnQoXCJzcmMvbWVyY2hhbnRzL2pvcmRhbkNyYWlnL2pvcmRhbkNyYWlnXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5qb3JkYW5DcmFpZ09yZ0luZm9cbiAgICAgICk7XG4gICAgY2FzZSBPcmdTaG9ydE5hbWUuS3V0RnJvbVRoZUtsb3RoOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMva3V0RnJvbVRoZUtsb3RoL2t1dEZyb21UaGVLbG90aFwiKS50aGVuKFxuICAgICAgICAobW9kdWxlKSA9PiBtb2R1bGUua3V0RnJvbVRoZUtsb3RoT3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5MYXJyeUFuZFNlcmdlczpcbiAgICAgIHJldHVybiBpbXBvcnQoXCJzcmMvbWVyY2hhbnRzL2xhcnJ5QW5kU2VyZ2VzL2xhcnJ5QW5kU2VyZ2VzXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5sYXJyeUFuZFNlcmdlc09yZ0luZm9cbiAgICAgICk7XG4gICAgY2FzZSBPcmdTaG9ydE5hbWUuTGVhcHNBbmRSZWJvdW5kczpcbiAgICAgIHJldHVybiBpbXBvcnQoXCJzcmMvbWVyY2hhbnRzL2xlYXBzQW5kUmVib3VuZHMvbGVhcHNBbmRSZWJvdW5kc1wiKS50aGVuKFxuICAgICAgICAobW9kdWxlKSA9PiBtb2R1bGUubGVhcHNBbmRSZWJvdW5kc09yZ0luZm9cbiAgICAgICk7XG4gICAgY2FzZSBPcmdTaG9ydE5hbWUuTWFudHJhQnJhbmQ6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy9tYW50cmFCcmFuZC9tYW50cmFCcmFuZFwiKS50aGVuKFxuICAgICAgICAobW9kdWxlKSA9PiBtb2R1bGUubWFudHJhQnJhbmRPcmdJbmZvXG4gICAgICApO1xuXG4gICAgLy8gLS0tLSBTUEFOWCAtLS0tXG4gICAgY2FzZSBPcmdTaG9ydE5hbWUuU3Bhbng6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy9zcGFueC9zcGFueFwiKS50aGVuKFxuICAgICAgICAobW9kdWxlKSA9PiBtb2R1bGUuc3BhbnhPcmdJbmZvXG4gICAgICApO1xuICAgIC8vIFNwYW54IHN0YWdpbmcgKGhlYWRsZXNzIHNob3BpZnkpXG4gICAgY2FzZSBPcmdTaG9ydE5hbWUuU3BhbnhTdGFnaW5nOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvc3Bhbngvc3BhbnhTdGFnaW5nXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5zcGFueE9yZ0luZm9cbiAgICAgICk7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5TdXBlcmdvb3A6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy9zdXBlcmdvb3Avc3VwZXJnb29wXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5zdXBlcmdvb3BPcmdJbmZvXG4gICAgICApO1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLlVuaXF1ZVZpbnRhZ2U6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy91bmlxdWVWaW50YWdlL3VuaXF1ZVZpbnRhZ2VcIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLnVuaXF1ZVZpbnRhZ2VPcmdJbmZvXG4gICAgICApO1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLldlc3RvbkpvbkJvdWNoZXI6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy93ZXN0b25Kb25Cb3VjaGVyL3dlc3RvbkpvbkJvdWNoZXJcIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLndlc3RvbkpvbkJvdWNoZXJPcmdJbmZvXG4gICAgICApO1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLldvbGZNYXR0cmVzczpcbiAgICAgIHJldHVybiBpbXBvcnQoXCJzcmMvbWVyY2hhbnRzL3dvbGZNYXR0cmVzcy93b2xmTWF0dHJlc3NcIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLndvbGZNYXR0cmVzc09yZ0luZm9cbiAgICAgICk7XG4gICAgY2FzZSBPcmdTaG9ydE5hbWUuV29sZlRhY3RpY2FsOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvd29sZlRhY3RpY2FsL3dvbGZUYWN0aWNhbFwiKS50aGVuKFxuICAgICAgICAobW9kdWxlKSA9PiBtb2R1bGUud29sZlRhY3RpY2FsT3JnSW5mb1xuICAgICAgKTtcbiAgICAvKiAtLSBCZWxvdyBpdGVtcyBhcmUgZ2VuZXJhdGVkIGJ5IHBsb3AgLS0gKi9cbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5Ta2luUGVyZmVjdGlvbjpcbiAgICAgIHJldHVybiBpbXBvcnQoXCJzcmMvbWVyY2hhbnRzL3NraW5QZXJmZWN0aW9uL3NraW5QZXJmZWN0aW9uXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5za2luUGVyZmVjdGlvbk9yZ0luZm9cbiAgICAgICk7XG4gICAgY2FzZSBPcmdTaG9ydE5hbWUuTG9va09wdGljOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvbG9va09wdGljL2xvb2tPcHRpY1wiKS50aGVuKFxuICAgICAgICAobW9kdWxlKSA9PiBtb2R1bGUubG9va09wdGljT3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5GaXZlQ2JkOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvZml2ZUNiZC9maXZlQ2JkXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5maXZlQ2JkT3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5TbmFwU3VwcGxlbWVudHM6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy9zbmFwU3VwcGxlbWVudHMvc25hcFN1cHBsZW1lbnRzXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5zbmFwU3VwcGxlbWVudHNPcmdJbmZvXG4gICAgICApO1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLkxvbmdldml0eXJ4OlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvbG9uZ2V2aXR5cngvbG9uZ2V2aXR5cnhcIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLmxvbmdldml0eXJ4T3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5WZW5hQ2JkOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvdmVuYUNiZC92ZW5hQ2JkXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS52ZW5hQ2JkT3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5NZWR0ZXJyYTpcbiAgICAgIHJldHVybiBpbXBvcnQoXCJzcmMvbWVyY2hhbnRzL21lZHRlcnJhL21lZHRlcnJhXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5tZWR0ZXJyYU9yZ0luZm9cbiAgICAgICk7XG5cbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5Nb2RlbGxzOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvbW9kZWxscy9tb2RlbGxzXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5tb2RlbGxzT3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5QcmVzc2VkRmxvcmFsOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvcHJlc3NlZEZsb3JhbC9wcmVzc2VkRmxvcmFsXCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5wcmVzc2VkRmxvcmFsT3JnSW5mb1xuICAgICAgKTtcbiAgICBjYXNlIE9yZ1Nob3J0TmFtZS5LaW5kcmVkQnJhdmVseTpcbiAgICAgIHJldHVybiBpbXBvcnQoXCJzcmMvbWVyY2hhbnRzL2tpbmRyZWRCcmF2ZWx5L2tpbmRyZWRCcmF2ZWx5XCIpLnRoZW4oXG4gICAgICAgIChtb2R1bGUpID0+IG1vZHVsZS5raW5kcmVkQnJhdmVseU9yZ0luZm9cbiAgICAgICk7XG4gICAgY2FzZSBPcmdTaG9ydE5hbWUuV2luZUVudGh1c2lhc3Q6XG4gICAgICByZXR1cm4gaW1wb3J0KFwic3JjL21lcmNoYW50cy93aW5lRW50aHVzaWFzdC93aW5lRW50aHVzaWFzdFwiKS50aGVuKFxuICAgICAgICAobW9kdWxlKSA9PiBtb2R1bGUud2luZUVudGh1c2lhc3RPcmdJbmZvXG4gICAgICApO1xuICAgIGNhc2UgT3JnU2hvcnROYW1lLkhvbWVncm93bkNhbm5hYmlzOlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvaG9tZWdyb3duQ2FubmFiaXMvaG9tZWdyb3duQ2FubmFiaXNcIikudGhlbihcbiAgICAgICAgKG1vZHVsZSkgPT4gbW9kdWxlLmhvbWVncm93bkNhbm5hYmlzT3JnSW5mb1xuICAgICAgKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGltcG9ydChcInNyYy9tZXJjaGFudHMvZGVmYXVsdFwiKS50aGVuKFxuICAgICAgICAobW9kdWxlKSA9PiBtb2R1bGUuZGVmYXVsdE9yZ0luZm9cbiAgICAgICk7XG4gIH1cbn07XG4iLCJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uXCI7XG5pbXBvcnQge1xuICBDb2xvck1hcHBpbmcsXG4gIENvbG9yTmFtZXMsXG4gIGNvbG9yVmFyLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9jb2xvcnNDb25maWdcIjtcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlc1wiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY3VzdG9tZXJTZXJ2aWNlL3R5cGVzXCI7XG5pbXBvcnQgeyBHcmlkSW5zZXJ0aW9uVHlwZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vc2VydmljZS9kb21NdXRhdGlvbnMvR3JpZEluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvZG9tTXV0YXRpb25zL2RvbUluc2VydGlvblNlcnZpY2VcIjtcblxuaW1wb3J0IHR5cGUge1xuICBQYWdlVmlzaXRDYXRlZ29yeSxcbiAgU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnksXG59IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmltcG9ydCB7IENoYXRTdGF0ZSB9IGZyb20gXCJzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXNcIjtcbmltcG9ydCB7IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MgfSBmcm9tIFwic3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlc1wiO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSBcInNyYy90eXBlcy90ZXN0LXR5cGVzXCI7XG5cbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9XG4gIHwgXCJhbHdheXNcIlxuICB8IFwiYWZ0ZXItaW50ZXJhY3Rpb24tb24tbW9iaWxlLWFsd2F5cy1kZXNrdG9wXCJcbiAgfCBcImFmdGVyLWludGVyYWN0aW9uLWFueXdoZXJlXCJcbiAgfCBcIm5ldmVyXCI7XG5cbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICBwb3NpdGlvbjogXCJib3R0b20tbGVmdFwiIHwgXCJtaWRkbGUtbGVmdFwiIHwgXCJtaWRkbGUtcmlnaHRcIiB8IFwiYm90dG9tLXJpZ2h0XCI7XG4gIGV4cGFuc2lvblRleHQ/OiB7XG4gICAgcGRwOiBzdHJpbmc7XG4gICAgcGxwOiBzdHJpbmc7XG4gIH07XG4gIG1pbmltaXplZENvbG9yOiBzdHJpbmc7XG4gIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcbiAgdGV4dENvbG9yPzogc3RyaW5nO1xuICBzaG93T3B0aW9uOiBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zO1xuICBpY29uU1ZHU3JjPzogc3RyaW5nO1xuICBpY29uU2l6ZT86IG51bWJlcjtcbiAgaWNvblN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICBpY29uRmlsbENvbG9yPzogc3RyaW5nO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xufTtcblxudHlwZSBXZWxjb21lU2VjdGlvblZhcmlhbnQgPSBcInN0YW5kYXJkXCIgfCBcIm91dGxpbmVkXCI7XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSBcInN0YW5kYXJkXCIgfCBcImFjY2VudFwiIHwgXCJicmFuZFwiIHwgXCJsaWdodFwiO1xuXG50eXBlIFdlbGNvbWVTZWN0aW9uQ29uZmlnID0ge1xuICB2YXJpYW50OiBXZWxjb21lU2VjdGlvblZhcmlhbnQ7XG4gIGNvbG9yVmFyaWFudD86IFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50O1xuICB0aXRsZT86IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIC8vIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gIC8qIFNlcmlhbGl6YWJsZSBpY29uIG5hbWUgdGhhdCBtYXBzIHRvIGEgUmVhY3QgY29tcG9uZW50LiBQcmVmZXJyZWQgb3ZlciBpY29uIGZvciBkYXRhYmFzZSBzdG9yYWdlLiAqL1xuICBpY29uTmFtZT86IHN0cmluZztcbiAgaW1hZ2VTcmM/OiBzdHJpbmc7XG59O1xuXG50eXBlIENoYXRQcmV2aWV3Q29uZmlnID0ge1xuICB2YXJpYW50OiBcImZsYXRcIiB8IFwiZmlsbGVkXCIgfCBcIm91dGxpbmVkXCI7XG4gIGxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xuICBmaWxsZWRCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgaWNvbkZpbGxDb2xvcjogc3RyaW5nO1xuICBidXR0b25UZXh0Q29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvblRleHRTZWNvbmRhcnlDb2xvcj86IHN0cmluZztcbiAgYnV0dG9uVGV4dEhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBidXR0b25CYWNrZ3JvdW5kSG92ZXJDb2xvcjogc3RyaW5nO1xuICBidXR0b25Cb3JkZXJDb2xvcj86IHN0cmluZztcbiAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcj86IHN0cmluZztcbiAgY29waWVzOiB7IHBkcDogc3RyaW5nW107IHBscDogc3RyaW5nW10gfTtcbiAgc3RhdGljU3VnZ2VzdGlvbkNvcGllcz86IHsgcGRwOiBzdHJpbmdbXTsgcGxwOiBzdHJpbmdbXSB9O1xuICBzdGF0aWNQTFBJbWFnZXM/OiBzdHJpbmdbXTtcbiAgZm9vdGVyQ29uZmlnPzogQ2hhdFByZXZpZXdGb290ZXJDb25maWc7XG4gIGhlYWRlckNvbmZpZz86IENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnO1xuICB0b3BNYXJnaW4/OiBudW1iZXI7XG59O1xuXG50eXBlIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnID0ge1xuICB0aXRsZT86IHN0cmluZztcbiAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xuICBzcGFya2xlc0NvbG9yPzogc3RyaW5nOyAvLyB1c2VkIGJ5OiBzcGFueCwgdW5pcXVlVmludGFnZSwgZHJlYW1sYW5kQmFieVxuICBmb250U2l6ZT86IHN0cmluZztcbiAgaWNvbldpZHRoPzogc3RyaW5nO1xuICBpY29uSGVpZ2h0Pzogc3RyaW5nO1xufTtcblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnIHtcbiAgaGFzRmFkZT86IGJvb2xlYW47IC8vIHVzZWQgYnk6IHNwYW54LCB1bmlxdWVWaW50YWdlXG4gIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50PzogXCJkYXJrXCIgfCBcImxpZ2h0XCIgfCBcIm91dGxpbmVkXCI7XG4gIHN1Z2dlc3Rpb25zQmFja2dyb3VuZD86IHN0cmluZzsgLy8gdXNlZCBieTogY2FyYmFoblxuICByZXBseUJ1dHRvbkljb24/OlxuICAgIHwgXCJzZW5kXCJcbiAgICB8IFwibWFnbmlmeWluZ0dsYXNzXCJcbiAgICB8IFwidGhpbk1hZ25pZnlpbmdHbGFzc1wiXG4gICAgfCBcInNlYXJjaEljb25cIjtcbiAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZXBseUlucHV0SGFzU2hhZG93PzogYm9vbGVhbjsgLy8gdXNlZCBieTogc3BhbnhcbiAgcmVwbHlJbnB1dEhhc0JvcmRlcj86IGJvb2xlYW47IC8vIHVzZWQgYnk6IHNwYW54XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZzsgLy8gdXNlZCBieSBzcGFueCwgdHVzaGJhYnksIHdpbGwgbmVlZCBjdXN0b20gQ1NTIHdoZW4gc3dpdGNoaW5nIG92ZXJcbn1cblxudHlwZSBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50ID0gXCJzdGFuZGFyZFwiIHwgXCJib3JkZXJlZFwiO1xuXG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSBcIm5ldXRyYWxcIiB8IFwiYnJhbmRcIiB8IFwicHJlbWl1bVwiO1xuXG5pbnRlcmZhY2UgUHJvZHVjdFJldmlld0NvbmZpZyB7XG4gIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICB2ZXJpZmllZEJ1eWVyVGl0bGU6IHN0cmluZztcbiAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG5cbnR5cGUgUGFnZUNhcmRWYXJpYW50ID0gXCJmaWxsZWRcIiB8IFwib3V0bGluZWRcIiB8IFwibWluaW1hbFwiO1xuXG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gXCJub25lXCIgfCBcInNoYWRvd1wiIHwgXCJsaWZ0XCI7XG5cbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9IFwicHJpbWFyeVwiIHwgXCJhY2NlbnRcIiB8IFwiYmFja2dyb3VuZFwiIHwgXCJub25lXCI7XG5cbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gIHZhcmlhbnQ6IFBhZ2VDYXJkVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBQYWdlQ2FyZEhvdmVyVmFyaWFudDtcbiAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xuXG50eXBlIFByb2R1Y3RDYXJkVmFyaWFudCA9XG4gIHwgXCJmaWxsZWRcIlxuICB8IFwiYm9yZGVyZWRcIlxuICB8IFwibWluaW1hbFwiXG4gIHwgXCJ0cmFuc3BhcmVudEJvcmRlcmVkXCI7XG5cbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSBcImJhY2tncm91bmREYXJrXCIgfCBcIm5vbmVcIjtcblxudHlwZSBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQgPSBcIm5vcm1hbFwiIHwgXCJ0YWxsXCIgfCBcInNxdWFyZVwiO1xuXG5pbnRlcmZhY2UgUHJvZHVjdENhcmRDb25maWcge1xuICB2YXJpYW50OiBQcm9kdWN0Q2FyZFZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gIGxheW91dFZhcmlhbnQ6IFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudDtcbiAgcHJpY2VQcmVmaXg/OiBzdHJpbmc7XG59XG5cbnR5cGUgQ1NTd2l0Y2hDb25maWcgPSB7XG4gIHZhcmlhbnQ6IFwiYXR0YWNoZWRcIiB8IFwiZGV0YWNoZWRcIjtcbiAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gIHNlbGVjdGVkQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICB1bnNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIHN1cHBvcnRUaXRsZT86IHN0cmluZztcbiAgc3BpZmZ5VGl0bGU/OiBzdHJpbmc7XG4gIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xuXG50eXBlIENoYXRIZWFkZXJDb25maWcgPSB7XG4gIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcbiAgY2hldnJvbkNvbG9yOiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICBjbG9zZUljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgaGVhZGVyQmFySGVpZ2h0UGFydGlhbFZpZXc6IG51bWJlcjtcbiAgaGVhZGVyQmFySGVpZ2h0RnVsbFZpZXc6IG51bWJlcjtcbiAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xuXG50eXBlIFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGU7XG4gIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xufTtcblxudHlwZSBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSB7XG4gIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgdXNlVW5pZmllZEJ1dHRvbj86IGJvb2xlYW47XG4gIGNoYXRFbmFibGVkRHVyaW5nQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICBmb3JtQWlOYW1lPzogc3RyaW5nO1xuICB3ZWxjb21lVGl0bGU6IHN0cmluZztcbiAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNob3dXZWxjb21lT25Gb3JtPzogYm9vbGVhbjtcbiAgY29udGFjdFN1YmplY3RPcHRpb25zPzogc3RyaW5nW107XG4gIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc1dhaXRpbmdNZXNzYWdlPzogc3RyaW5nO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gIHN1Z2dlc3RlZEFJUXVlc3Rpb25zPzogc3RyaW5nW107XG4gIGJ1c2luZXNzSG91cnNQb2xsaW5nPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1N0YXJ0VVRDPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICovXG4gIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1RpbWV6b25lPzogc3RyaW5nO1xuXG4gIHNob3dBSVN1Z2dlc3Rpb25zV2l0aGluQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gIHdhaXRpbmdNZXNzYWdlUG9zaXRpb24/OiBcIkJFRk9SRV9NRVNTQUdFU1wiIHwgXCJBRlRFUl9NRVNTQUdFU1wiO1xuICBsZWdhbE1lc3NhZ2U/OiBzdHJpbmc7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICByZW9wZW5DaGF0TWVzc2FnZTogc3RyaW5nO1xufTtcblxudHlwZSBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9XG4gIHwgU2ltcGxlQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25cbiAgfCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG5cbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHJlcGx5SW5wdXQ/OiBSZXBseUlucHV0Q29uZmlnO1xuICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICBlbnRyeXBvaW50QmdDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludFRleHRDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuVGV4dENvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRUcmlnZ2VyPzogc3RyaW5nO1xuICBwcm9kdWN0R3JpZENvbnRhaW5lcj86IHN0cmluZztcbiAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgcGFnZUNvbnRlbnQ/OiBzdHJpbmc7XG4gIHNlYXJjaENvbnRlbnQ/OiBzdHJpbmc7XG4gIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgc2VsZWN0aW9uVGl0bGU/OiBzdHJpbmc7XG4gIHNvcnRpbmdGb250Pzogc3RyaW5nO1xuICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgc29ydGluZ0J1dHRvblRleHQ/OiBzdHJpbmc7XG59O1xuXG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9IFwic3RhbmRhcmRcIiB8IFwicHJlbWl1bVwiIHwgXCJhY2NlbnRcIjtcblxuaW50ZXJmYWNlIENoYXRNZXNzYWdlQ29uZmlnIHtcbiAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gIHZhcmlhbnQ6IENoYXRNZXNzYWdlVmFyaWFudDtcbiAgcHJvZHVjdExpbms6IHtcbiAgICB2YXJpYW50OiBQcm9kdWN0TGlua1ZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICBpY29uVmFyaWFudDogUHJvZHVjdExpbmtJY29uVmFyaWFudDtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFJlcGx5SW5wdXRDb25maWcge1xuICAvLyBUT0RPIGNvbnNpZGVyIG1ha2luZyB0aGlzIGEgbnVtYmVyXG4gIHNpemU/OiBcIm1kXCIgfCBcImxnXCI7XG4gIHNlbmRJY29uOiBcImFycm93VXBcIiB8IFwic2VuZFwiIHwgXCJzZWFyY2hcIjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBQYXJ0aWFsVmlld0NvbmZpZyB7XG4gIC8vIG1heGltdW0gaGVpZ2h0IG9mIHRoZSBwYXJ0aWFsIHZpZXcgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSBzY3JlZW4gaGVpZ2h0XG4gIG1heEhlaWdodDogbnVtYmVyO1xuICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59XG5cbnR5cGUgUHJvZHVjdExpbmtJY29uVmFyaWFudCA9XG4gIHwgXCJhY2NlbnRQcmltYXJ5XCJcbiAgfCBcImJhY2tncm91bmRQcmltYXJ5XCJcbiAgfCBcImJhY2tncm91bmRQcmltYXJ5RGFya1wiXG4gIHwgXCJib3JkZXJMaWdodFwiXG4gIHwgXCJiYWNrZ3JvdW5kU2F0dXJhdGVkXCI7XG5cbnR5cGUgUHJvZHVjdExpbmtWYXJpYW50ID0gXCJ0ZXh0TGlua1wiO1xuXG50eXBlIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50ID0gXCJiYWNrZ3JvdW5kRGFya1wiO1xuXG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID1cbiAgfCBcImJhY2tncm91bmRQcmltYXJ5XCJcbiAgfCBcImJhY2tncm91bmRTZWNvbmRhcnlcIlxuICB8IFwiYmFja2dyb3VuZFNlY29uZGFyeURhcmtcIlxuICB8IFwiYmFja2dyb3VuZExpZ2h0XCJcbiAgfCBcImJhY2tncm91bmRTYXR1cmF0ZWRcIjtcblxudHlwZSBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCA9XG4gIHwgXCJvdXRsaW5lZFwiXG4gIHwgXCJvdXRsaW5lZExpZ2h0XCJcbiAgfCBcInByaW1hcnlcIlxuICB8IFwic2Vjb25kYXJ5XCJcbiAgfCBcInRlcnRpYXJ5XCJcbiAgfCBcImRhcmtcIlxuICB8IFwiZGFya0FjY2VudFwiXG4gIHwgXCJkYXJrUHJpbWFyeVwiXG4gIHwgXCJzZWNvbmRhcnlEYXJrXCJcbiAgfCBcInNlY29uZGFyeUFjY2VudFwiXG4gIHwgXCJ0cmFuc3BhcmVudFwiXG4gIHwgXCJ0cmFuc3BhcmVudERhcmtcIlxuICB8IFwibGlnaHREYXJrXCI7XG5cbmludGVyZmFjZSBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnIHtcbiAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBob3ZlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgYW5zd2VyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBib3JkZXJSYWRpdXM/OiBcInNtXCIgfCBcIm1kXCIgfCBcImxnXCI7XG59XG5cbnR5cGUgTnVtUm93cyA9IFwiZGVmYXVsdFwiIHwgXCJhbHdheXNPbmVSb3dcIiB8IFwiYWx3YXlzVHdvUm93c1wiIHwgXCJ0d29Sb3dzT25Nb2JpbGVcIjtcblxuaW50ZXJmYWNlIEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHtcbiAgdHlwZTogXCJhbHBoYWJldGljXCI7XG59XG5pbnRlcmZhY2UgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB7XG4gIHR5cGU6IFwicHJvZHVjdENvdW50XCI7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6IFwiY3VzdG9tXCI7XG4gIG1hcDogUmVjb3JkPHN0cmluZywgbnVtYmVyPjtcbn1cblxudHlwZSBGaWx0ZXJTb3J0aW5nID1cbiAgfCBBbHBoYWJldGljRmlsdGVyU29ydGluZ1xuICB8IFByb2R1Y3RDb3VudEZpbHRlclNvcnRpbmdcbiAgfCBDdXN0b21GaWx0ZXJTb3J0aW5nO1xuXG5pbnRlcmZhY2UgQmFzZUZpbHRlckNvbmZpZyB7XG4gIGZpbHRlcklkOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgRHluYW1pY0ZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICB0eXBlOiBcImR5bmFtaWNcIjtcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIHNvcnRpbmc6IEZpbHRlclNvcnRpbmc7XG59XG5cbmludGVyZmFjZSBQcmljZUZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICB0eXBlOiBcInByaWNlXCI7XG4gIGJ1Y2tldFNpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRmlsdGVyQXR0cmlidXRlID0gRHluYW1pY0ZpbHRlckNvbmZpZyB8IFByaWNlRmlsdGVyQ29uZmlnO1xuXG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVWYXJpYW50ID1cbiAgfCBcImJhY2tncm91bmRUZXJ0aWFyeVwiXG4gIHwgXCJiYWNrZ3JvdW5kRGFya1wiXG4gIHwgXCJiYWNrZ3JvdW5kUHJpbWFyeVwiO1xuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlTGF5b3V0ID0gXCJpbnB1dFwiIHwgXCJpY29uXCI7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaElucHV0VmFyaWFudCA9IFwic3RhbmRhcmRcIjtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSWNvblZhcmlhbnQgPSBcInRoaW5cIiB8IFwiYm9sZFwiO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudCA9IFwiZGFya0J1dHRvblwiIHwgXCJsaWdodEJ1dHRvblwiO1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSBcInN0YW5kYXJkXCIgfCBcInNxdWFyZVwiO1xuXG50eXBlIFVzZXJRdWVyeUJ1dHRvbkljb24gPVxuICB8IFwibWFnbmlmeWluZ0dsYXNzXCJcbiAgfCBcInNlbmRcIlxuICB8IFwibWFnbmlmeWluZ0dsYXNzVGhpblwiXG4gIHwgXCJzZW5kQXJyb3dcIlxuICB8IFwic2VhcmNoSWNvblwiO1xuXG5pbnRlcmZhY2UgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnIHtcbiAgdmFyaWFudD86IFwiYm94XCIgfCBcInVuZGVybGluZUxpZ2h0XCIgfCBcInVuZGVybGluZURhcmtcIjtcbiAgcGxhY2Vob2xkZXJUZXh0Pzogc3RyaW5nO1xuICBpY29uOiBVc2VyUXVlcnlCdXR0b25JY29uO1xufVxuXG4vLyBUT0RPOiB0aGlzIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgdG9wLWxldmVsIHdpZGdldCBjb25maWdcbmludGVyZmFjZSBUZXJtc0FuZENvbmRpdGlvbnNDb25maWcge1xuICBjb3B5OiBzdHJpbmc7XG4gIGxpbms6IHN0cmluZztcbiAgbGlua1RleHQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIE1lcmNoYW50VmFyaWFudFNldHRpbmdzIHtcbiAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjsgLy8gVGhpcyBmZWF0dXJlIHdpbGwgZW5hYmxlIGR5bmFtaWMgdmFyaWFudHMgZm9yIHRoZSBtZXJjaGFudC4gVXNlZnVsIGZvciBTUEEnc1xuICAgIHJlZnJlc2hJbnRlcnZhbD86IG51bWJlcjsgLy8gVGhlIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyB0byBjaGVjayBmb3IgY2hhbmdlcyBpbiB0aGUgVVJMXG4gIH07XG59XG5cbmludGVyZmFjZSBGbG9hdGluZ0NoYXRDb25maWcge1xuICBlbmFibGVXYXRlcm1hcms6IGJvb2xlYW47XG4gIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgaWdub3JlRmlyc3RNb2RlbFJlc3BvbnNlPzogYm9vbGVhbjtcbiAgbmV2ZXJTaG93U2luZ2xlUHJvZHVjdENhcmRzPzogYm9vbGVhbjtcbiAgdGVybXNBbmRDb25kaXRpb25zQ29uZmlnPzogVGVybXNBbmRDb25kaXRpb25zQ29uZmlnO1xuXG4gIC8vIEZvb3RlciBjb25maWdcbiAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZz86IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gIHJlcGx5SW5wdXRDb25maWc6IFJlcGx5SW5wdXRDb25maWc7XG59XG5cbmludGVyZmFjZSBTZWFyY2hDb25maWcge1xuICBlbmFibGVHbG9iYWxTZWFyY2g6IGJvb2xlYW47XG4gIHNlYXJjaEZpbHRlckNvbmZpZzogRmlsdGVyQXR0cmlidXRlW107XG4gIHJlZGlyZWN0U2VhcmNoUmVzdWx0c1VybD86IHN0cmluZztcbiAgYWRkaXRpdmVEeW5hbWljRmlsdGVycz86IGJvb2xlYW47XG59XG5cbnR5cGUgT3JnVUlDb25maWcgPSB7XG4gIHNob3J0TmFtZTogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAvLyBEZXByZWNhdGVkIC0gcmVtb3ZlIHdpdGggQ2hhdFByZXZpZXcgcmV3cml0ZVxuICBjaGF0UHJldmlld0NvbmZpZz86IENoYXRQcmV2aWV3Q29uZmlnO1xuXG4gIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbiAgLy8gRGVwcmVjYXRlZCAtIHJlbW92ZSB3aGVuIEdsb2JhbCBTZWFyY2ggaXMgZnVsbHkgbGF1bmNoZWRcbiAgY29udmVyc2F0aW9uYWxTZWFyY2g/OiBDb252ZXJzYXRpb25hbFNlYWNoO1xuXG4gIG1lcmNoYW50T3ZlcnJpZGVDc3M/OiBzdHJpbmc7XG5cbiAgLy8gRGVwcmVjYXRlZCBUT0RPOiBSZW1vdmUgdGhpcyBkZXByZWNhdGVkIHZhbHVlIHdoZW4gR3Jvb3ZlIENYIGhhcyBwcm9wZXIgdW5pZmllZCBidXR0b24gc3VwcG9ydFxuICAvLyBzZWxlY3RvcnMgZm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIGhpZGRlbiB3aGVuIHRoZSBjaGF0IGlzIG9wZW5cbiAgLy8gZS5nLiBDUyB3aWRnZXRzIHdpdGggbWF4IHotaW5kZXggKFwiZGl2W2lkKj0nY3MtY29udGFpbmVyJ11cIilcbiAgaGlkZGVuRWxlbWVudFNlbGVjdG9ycz86IHN0cmluZ1tdO1xuXG4gIG1lcmNoYW50VmFyaWFudFNldHRpbmdzPzogTWVyY2hhbnRWYXJpYW50U2V0dGluZ3M7XG4gIC8vIFRPRE86IE1pZ3JhdGUgYWxsIGZsb2F0aW5nIGNoYXQgY29uZmlnIGludG8gdGhpcyB0b3AtbGV2ZWwga2V5XG4gIC8vXG4gIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuXG4gIC8vIENvbnRhaW4gYWxsIHNlYXJjaCBjb25maWcgaGVyZVxuICBzZWFyY2hDb25maWc6IFNlYXJjaENvbmZpZztcbiAgLy8gVE9ETzogTW92ZSB0aGVzZSBpbnRvIEZsb2F0aW5nQ2hhdENvbmZpZ1xuICAvLyBDaGF0IEhlYWRlciByZWxhdGVkIHZhbHVlc1xuICBjaGF0SGVhZGVyOiBDaGF0SGVhZGVyQ29uZmlnO1xuICBzdGlja3lBZ2VudFN3aXRjaFN1Z2dlc3Rpb24/OiBib29sZWFuO1xuICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gIHdlbGNvbWVTZWN0aW9uQ29uZmlnPzogV2VsY29tZVNlY3Rpb25Db25maWc7XG4gIC8vIERpZmZlcmVudCByZXNwb25zZSB2YWx1ZXNcbiAgcHJvZHVjdENhcmRDb25maWc/OiBQcm9kdWN0Q2FyZENvbmZpZztcbiAgcHJvZHVjdFJldmlld0NvbmZpZz86IFByb2R1Y3RSZXZpZXdDb25maWc7XG4gIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gIGNoYXRNZXNzYWdlQ29uZmlnOiBDaGF0TWVzc2FnZUNvbmZpZztcbn07XG5cbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gIHNlbGVjdG9yOiBzdHJpbmc7XG4gIC8vIHRoaXMgaXMgdGhlIGluZGV4IG9mIHRoZSB0YXJnZXQgZWxlbWVudCwgMCBpZiBtaXNzaW5nXG4gIHNlbGVjdGlvbkluZGV4PzogbnVtYmVyO1xuICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcblxudHlwZSBVUkxUZXN0ID0gXCJzaG9waWZ5XCIgfCBcIm51bGxcIjtcblxudHlwZSBJZEV4dHJhY3RvciA9XG4gIHwgXCJzaG9waWZ5LXByb2R1Y3QtaWRcIlxuICB8IFwic2hvcGlmeS1jb2xsZWN0aW9uLWlkXCJcbiAgfCBcInNob3BpZnktcHJvZHVjdC12YXJpYW50LWlkXCJcbiAgfCBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCJcbiAgfCBcInVybC1yZXNvbHZlci1wbHAtaWRcIlxuICB8IFwibnVsbFwiO1xuXG4vLyBUaGlzIGNvbnRhaW5zIGEgbWFwIGJldHdlZW4gUGFnZVZpc2l0Q2F0ZWdvcnkgYW5kIGEgbGlzdCBvZiBVUkwncyB0aGF0IGFyZSBjbGFzc2lmaWVkIGFzIHRoZSB2YWx1ZVxuZW51bSBDYXRlZ29yeUV4dHJhY3RvclR5cGUge1xuICBWaXNpdENhdGVnb3J5TWFwID0gXCJWaXNpdENhdGVnb3J5TWFwXCIsXG4gIFZpc2l0Q2F0ZWdvcnlEZWZhdWx0ID0gXCJWaXNpdENhdGVnb3J5RGVmYXVsdFwiLFxufVxuXG5pbnRlcmZhY2UgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPFQgZXh0ZW5kcyBDYXRlZ29yeUV4dHJhY3RvclR5cGU+IHtcbiAgdHlwZTogVDtcbn1cblxuLy8gVGhpcyBtYXAgYmV0d2VlbnMgYSBjYXRlZ29yeSBhbmQgYSBsaXN0IG9mIHVybCBwYXR0ZXJuc1xuaW50ZXJmYWNlIFZpc2l0Q2F0ZWdvcnlNYXBcbiAgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlNYXA+IHtcbiAgbWFwOiB7XG4gICAgW2tleSBpbiBQYWdlVmlzaXRDYXRlZ29yeV0/OiBzdHJpbmdbXTtcbiAgfTtcbn1cblxuLy8gVGhpcyB3aWxsIHJldHVybiBhIGhhcmQtY29kZWQgZGVmYXVsdCBQYWdlVmlzaXRDYXRlZ29yeS4gSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSBmYWxsYmFjayBwYWdlIHR5cGVzXG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeURlZmF1bHRcbiAgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0PiB7XG4gIHZhbHVlOiBQYWdlVmlzaXRDYXRlZ29yeTtcbn1cblxudHlwZSBDYXRlZ29yeUV4dHJhY3RvciA9IFZpc2l0Q2F0ZWdvcnlNYXAgfCBWaXNpdENhdGVnb3J5RGVmYXVsdDtcblxudHlwZSBXcmFwcGluZ0VsZW1lbnQgPSB7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBlbGVtZW50OiBzdHJpbmc7XG4gIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuXG5lbnVtIFBhZ2VWYXJpYW50VGVzdFR5cGUge1xuICBTaG9waWZ5UExQID0gXCJTaG9waWZ5UExQXCIsXG4gIFNob3BpZnlQRFAgPSBcIlNob3BpZnlQRFBcIixcbiAgUGFnZUNhdGVnb3J5ID0gXCJQYWdlQ2F0ZWdvcnlcIixcbiAgQ2F0YWxvZ0NhdGVnb3J5ID0gXCJDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgVG9wQ2F0YWxvZ0NhdGVnb3J5ID0gXCJUb3BDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgSGFzUmV2aWV3cyA9IFwiSGFzUmV2aWV3c1wiLFxuICBJbkNvbGxlY3Rpb24gPSBcIkluQ29sbGVjdGlvblwiLFxuICBIYXNNZXJjaGFudFRhZyA9IFwiSGFzTWVyY2hhbnRUYWdcIixcbiAgRmVhdHVyZUdhdGUgPSBcIkZlYXR1cmVHYXRlXCIsXG4gIFBscElkID0gXCJQbHBJZFwiLFxuICBRdWVyeVBhcmFtID0gXCJRdWVyeVBhcmFtXCIsXG4gIFByb2R1Y3RJZCA9IFwiUHJvZHVjdElkXCIsXG4gIFVzZXJIYXNJbnRlcmFjdGVkID0gXCJVc2VySGFzSW50ZXJhY3RlZFwiLFxuICBVc2VySGFzTm90SW50ZXJhY3RlZCA9IFwiVXNlckhhc05vdEludGVyYWN0ZWRcIixcbiAgaXNMb2FkaW5nID0gXCJpc0xvYWRpbmdcIixcbiAgaXNQcm9kdWN0Q29tcGFyaXNvbiA9IFwiaXNQcm9kdWN0Q29tcGFyaXNvblwiLFxuICBGYWxsYmFjayA9IFwiRmFsbGJhY2tcIixcbiAgVXJsUmVzb2x2ZXIgPSBcIlVybFJlc29sdmVyXCIsXG4gIE51bGwgPSBcIm51bGxcIixcbn1cblxuaW50ZXJmYWNlIEJhc2VQYWdlVmFyaWFudFRlc3Q8VCBleHRlbmRzIFBhZ2VWYXJpYW50VGVzdFR5cGU+IHtcbiAgdGVzdFR5cGU6IFQ7XG59XG5cbmludGVyZmFjZSBUb3BDYXRhbG9nQ2F0ZWdvcnlcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gIHRvcENhdGVnb3J5OiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIENhdGFsb2dDYXRlZ29yeVRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuQ2F0YWxvZ0NhdGVnb3J5PiB7XG4gIGNhdGVnb3J5OiBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeTtcbn1cblxuaW50ZXJmYWNlIEhhc1Jldmlld3NUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3M+IHtcbiAgcmV2aWV3TWluaW11bT86IG51bWJlcjtcbn1cblxuLy8gVGhpcyB3aWxsIHJldHVybiB0cnVlIGlmIHRoZSBwcm9kdWN0IGlzIGluIGFueSBvZiB0aGUgbGlzdGVkIGNvbGxlY3Rpb25zXG5pbnRlcmZhY2UgSW5Db2xsZWN0aW9uVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24+IHtcbiAgY29sbGVjdGlvbnM6IHN0cmluZ1tdO1xufVxuXG4vLyBUaGlzIHdpbGwgcmV0dXJuIHRydWUgaWYgdGhlIHByb2R1Y3QgaGFzIGFueSBvZiB0aGUgbGlzdGVkIG1lcmNoYW50IHRhZ3NcbmludGVyZmFjZSBIYXNNZXJjaGFudFRhZ1Rlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzTWVyY2hhbnRUYWc+IHtcbiAgbWVyY2hhbnRUYWdzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFNob3BpZnlQTFBVUkxUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQTFA+IHt9XG5cbmludGVyZmFjZSBTaG9waWZ5UERQVVJMVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQPiB7fVxuXG5pbnRlcmZhY2UgUGFnZUNhdGVnb3J5VGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QYWdlQ2F0ZWdvcnk+IHtcbiAgZXh0cmFjdG9yOiBDYXRlZ29yeUV4dHJhY3Rvcjtcbn1cblxuaW50ZXJmYWNlIEZlYXR1cmVHYXRlVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZT4ge1xuICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzO1xufVxuXG5pbnRlcmZhY2UgUHJvZHVjdElkVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Qcm9kdWN0SWQ+IHtcbiAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgcHJvZHVjdElkczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBQbHBJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQ+IHtcbiAgcGxwSWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICBwbHBJZHM6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgUXVlcnlQYXJhbVRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUXVlcnlQYXJhbT4ge1xuICBxdWVyeVBhcmFtOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBVc2VySGFzSW50ZXJhY3RlZFRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuVXNlckhhc0ludGVyYWN0ZWQ+IHt9XG5cbmludGVyZmFjZSBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuVXNlckhhc05vdEludGVyYWN0ZWQ+IHt9XG5cbmludGVyZmFjZSBJc0xvYWRpbmdUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzTG9hZGluZz4ge31cblxuaW50ZXJmYWNlIElzUHJvZHVjdENvbXBhcmlzb25cbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNQcm9kdWN0Q29tcGFyaXNvbj4ge31cblxuaW50ZXJmYWNlIFBhZ2VGYWxsYmFja1Rlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmFsbGJhY2s+IHt9XG5cbmludGVyZmFjZSBVcmxSZXNvbHZlclRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXI+IHt9XG5cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9XG4gIHwgUGFnZUNhdGVnb3J5VGVzdFxuICB8IFNob3BpZnlQTFBVUkxUZXN0XG4gIHwgU2hvcGlmeVBEUFVSTFRlc3RcbiAgfCBDYXRhbG9nQ2F0ZWdvcnlUZXN0XG4gIHwgVG9wQ2F0YWxvZ0NhdGVnb3J5XG4gIHwgSGFzUmV2aWV3c1Rlc3RcbiAgfCBJbkNvbGxlY3Rpb25UZXN0XG4gIHwgSGFzTWVyY2hhbnRUYWdUZXN0XG4gIHwgRmVhdHVyZUdhdGVUZXN0XG4gIHwgUHJvZHVjdElkVGVzdFxuICB8IFBscElkVGVzdFxuICB8IFF1ZXJ5UGFyYW1UZXN0XG4gIHwgVXNlckhhc0ludGVyYWN0ZWRUZXN0XG4gIHwgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0XG4gIHwgSXNMb2FkaW5nVGVzdFxuICB8IElzUHJvZHVjdENvbXBhcmlzb25cbiAgfCBQYWdlRmFsbGJhY2tUZXN0XG4gIHwgVXJsUmVzb2x2ZXJUZXN0O1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBzb2NpYWwgcHJvb2YgZW1iZWRkZWQgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGhlYWRlclRpdGxlIC0gVGhlIHRpdGxlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGhlYWRlclxuICogQHBhcmFtIHN0YXRpY1N1Z2dlc3Rpb25zIC0gQSBsaXN0IG9mIHN0cmluZ3MgdG8gZGlzcGxheSBhcyBzdWdnZXN0aW9ucyBpbiB0aGUgd2lkZ2V0XG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBmb290ZXJcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgYm9keVxuICogQHBhcmFtIHN0YXRpY0ltYWdlSW5kZXggLSBJbmRleCBvZiB0aGUgaW1hZ2VVcmwgdG8gdXNlIGZyb20gdGhlIHByb2R1Y3QgcmVzcG9uc2VcbiAqL1xuaW50ZXJmYWNlIFNvY2lhbFByb29mQ29uZmlnIHtcbiAgY3VzdG9tZXJRdWVyeTogc3RyaW5nO1xuICBoZWFkZXJUaXRsZTogc3RyaW5nO1xuICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ/OiBcImdyaWRcIiB8IFwiaG9yaXpvbnRhbFwiO1xuICBoZWFkZXJGb250RmFtaWx5Pzogc3RyaW5nO1xuICBzdGF0aWNQTFBJbWFnZU5hbWVzPzogc3RyaW5nW107XG4gIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBzdHJpbmdbXTtcbiAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgc3VnZ2VzdGlvbkJ1dHRvbkRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnPzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICBsb2dvTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjcmVhdGluZyB0aGUgbW91bnQgcG9pbnQgZm9yIGEgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGNsYXNzTmFtZSAtIE9wdGlvbmFsIGNsYXNzIG5hbWUgdG8gYXBwbHkgdG8gdGhlIG1vdW50IHBvaW50LiBUYWlsd2luZCBjbGFzc2VzIGFyZSBzdXBwb3J0ZWRcbiAqIGFuZCBlbmNvdXJhZ2VkLiBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gc3R5bGUgdGhlIG1vdW50aW5nIGNvbnRhaW5lciBmb3IgdGhlIHdpZGdldC5cbiAqL1xuZXhwb3J0IHR5cGUgV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgY29udGFpbmVySWQ6IHN0cmluZztcbiAgdGVzdElkOiBzdHJpbmc7XG4gIHBhcmVudEluc2VydGlvblBvaW50PzogSW5zZXJ0aW9uUG9pbnQ7XG4gIGluc2VydGlvblBvaW50OiBJbnNlcnRpb25Qb2ludDtcbiAgZ3JpZEluc2VydGlvblR5cGU/OiBHcmlkSW5zZXJ0aW9uVHlwZTtcbiAgd3JhcHBpbmdFbGVtZW50PzogV3JhcHBpbmdFbGVtZW50O1xuICBkaXZDaGVja1NlbGVjdG9yPzogc3RyaW5nO1xuICBzdXBwcmVzc2lvblNlbGVjdG9yPzogc3RyaW5nO1xuICBzdHlsZT86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgZGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxudHlwZSBTdGF0aWNXaWRnZXRNb3VudGluZyA9IHtcbiAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgRHluYW1pY1dpZGdldE1vdW50aW5nID0ge1xuICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gIG1vdW50aW5nUG9pbnRXaWRnZXRzOiBXaWRnZXREaXNwbGF5VGVzdHNbXTtcbn07XG5cbnR5cGUgV2lkZ2V0RGlzcGxheVRlc3RzID0ge1xuICB0ZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xuXG50eXBlIFdpZGdldE1vdW50aW5nID0gU3RhdGljV2lkZ2V0TW91bnRpbmcgfCBEeW5hbWljV2lkZ2V0TW91bnRpbmc7XG5cbmVudW0gV2lkZ2V0VHlwZSB7XG4gIENoYXRQcmV2aWV3ID0gXCJDaGF0UHJldmlld1wiLFxuICBTb2NpYWxQcm9vZlYyID0gXCJTb2NpYWxQcm9vZlYyXCIsXG4gIENoYXRQcmV2aWV3VjIgPSBcIkNoYXRQcmV2aWV3VjJcIixcbiAgQ2hhdFByZXZpZXdJc0xvYWRpbmcgPSBcIkNoYXRQcmV2aWV3SXNMb2FkaW5nXCIsXG4gIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uID0gXCJDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvblwiLFxuICBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uID0gXCJDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uXCIsXG4gIFN1Z2dlc3Rpb25CYXIgPSBcIlN1Z2dlc3Rpb25CYXJcIixcbiAgU3VnZ2VzdGlvbkJhclYyID0gXCJTdWdnZXN0aW9uQmFyVjJcIixcbiAgSW1hZ2VQcm9tcHRDYXJkID0gXCJJbWFnZVByb21wdENhcmRcIixcbiAgSW1hZ2VCYW5uZXIgPSBcIkltYWdlQmFubmVyXCIsXG4gIFNpbmdsZUltYWdlUHJvbXB0ID0gXCJTaW5nbGVJbWFnZVByb21wdFwiLFxuICBTZWFyY2hQcm9tcHQgPSBcIlNlYXJjaFByb21wdFwiLFxuICBTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50ID0gXCJTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50XCIsXG4gIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50ID0gXCJTZWFyY2hSZXN1bHRzRW50cnlQb2ludFwiLFxuICBTZWFyY2hPdmVybGF5SG9zdCA9IFwiU2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgTm9PcCA9IFwiTm9PcFwiLFxufVxuXG50eXBlIFdpZGdldENvbmZpZyA9XG4gIHwgQ2hhdFByZXZpZXdXaWRnZXRDb25maWdcbiAgfCBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnXG4gIHwgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnXG4gIHwgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBJbWFnZUJhbm5lcldpZGdldENvbmZpZ1xuICB8IFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZ1xuICB8IFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWdcbiAgfCBOb09wV2lkZ2V0Q29uZmlnO1xuXG5pbnRlcmZhY2UgQmFzZVdpZGdldENvbmZpZzxUIGV4dGVuZHMgV2lkZ2V0VHlwZT4ge1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xuICB0eXBlOiBUO1xuICBjb250ZW50SWQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJbWFnZUJhbm5lcldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZUJhbm5lcj4ge1xuICBpbWFnZVNyYzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nO1xuICBhc3Npc3RhbnRNZXNzYWdlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld1dpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlldz4ge1xuICB2YXJpYW50OiBcImZpbGxlZFwiIHwgXCJmbGF0XCIgfCBcIm91dGxpbmVkXCI7XG4gIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xuICBzb2NpYWxQcm9vZkNvbmZpZz86IFNvY2lhbFByb29mQ29uZmlnO1xuICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcge1xuICB0aXRsZT86IHN0cmluZzsgLy8gRGVmYXVsdDogJ1Nob3BwaW5nIEFzc2lzdGFudCdcbiAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xufVxuXG50eXBlIFNpbmdsZUltYWdlQ29uZmlnID0ge1xuICBsYXlvdXQ6IFwic2luZ2xlXCI7XG4gIGltYWdlSW5kZXg6IG51bWJlcjtcbn07XG50eXBlIE11bHRpSW1hZ2VDb25maWcgPSB7XG4gIGxheW91dDogXCJncmlkXCIgfCBcImhvcml6b250YWxcIjtcbiAgaW1hZ2VOYW1lczogc3RyaW5nW107XG59O1xudHlwZSBTb2NpYWxQcm9vZkltYWdlQ29uZmlnID0gU2luZ2xlSW1hZ2VDb25maWcgfCBNdWx0aUltYWdlQ29uZmlnO1xuXG50eXBlIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyA9IHtcbiAgYnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gIGFjY2VudEJ1dHRvblZhcmlhbnRzPzoge1xuICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXI6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICB9O1xuICBidXR0b25WYXJpYW50czoge1xuICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXI6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICB9O1xuICBudW1Sb3dzPzogTnVtUm93cztcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWcgPSB7XG4gIGxlYWRpbmdUZXh0OiBzdHJpbmc7XG4gIGFuaW1hdGVkU3RyaW5nczogc3RyaW5nW107XG59O1xuXG50eXBlIENoYXRQcmV2aWV3VmFyaWFudCA9XG4gIHwgeyB2YXJpYW50OiBcImZsYXRcIiB9XG4gIHwgeyB2YXJpYW50OiBcImZpbGxlZFwiOyBiYWNrZ3JvdW5kRmlsbENvbG9yOiBzdHJpbmcgfVxuICB8IHsgdmFyaWFudDogXCJvdXRsaW5lZFwiIH07XG5cbi8vIEJhc2UgaW50ZXJmYWNlIGZvciBjb21tb24gY2hhdCBwcmV2aWV3IHByb3BlcnRpZXNcbmludGVyZmFjZSBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICBoZWFkZXJDb25maWc6IENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWc7XG4gIHN1Z2dlc3Rpb25CdXR0b25zQ29uZmlnOiBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5cbi8vIFNwZWNpZmljIGNoYXQgcHJldmlldyB3aWRnZXQgY29uZmlndXJhdGlvbnNcbmludGVyZmFjZSBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbj4sXG4gICAgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdJc0xvYWRpbmc+LFxuICAgIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7fVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uPixcbiAgICBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICB1c2VMYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdWMj4sXG4gICAgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgYW5pbWF0ZWRUZXh0Q29uZmlnOiBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZztcbn1cblxuaW50ZXJmYWNlIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU29jaWFsUHJvb2ZWMj4sXG4gICAgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgY3VzdG9tZXJRdWVyeT86IHN0cmluZzsgLy8gRGVmYXVsdDogJ2Fza2VkIHdoaWNoIHByb2R1Y3RzIGFyZSB0aGUgYmVzdCdcbiAgaW1hZ2VDb25maWc6IFNvY2lhbFByb29mSW1hZ2VDb25maWc7XG59XG5cbmludGVyZmFjZSBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyPiB7XG4gIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb247XG4gIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzO1xuICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgYnV0dG9uVGV4dHM6IHtcbiAgICBkZWZhdWx0OiBzdHJpbmdbXTtcbiAgICBwcm9kdWN0U3BlY2lmaWM/OiB7IFtwcm9kdWN0SWQ6IHN0cmluZ106IHN0cmluZ1tdIH07XG4gIH07XG4gIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gIHR3b1Jvd3NPbk1vYmlsZT86IGJvb2xlYW47XG4gIGFuaW1hdGlvblNwZWVkPzogXCJzdGFuZGFyZFwiIHwgXCJzbG93XCIgfCBcIm5vbmVcIjtcbiAgYnV0dG9uQm9yZGVyUmFkaXVzPzogXCJzbVwiIHwgXCJtZFwiIHwgXCJsZ1wiO1xufVxuXG5pbnRlcmZhY2UgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkPiB7XG4gIHVybDogc3RyaW5nO1xuICBsaWdodFRleHQ/OiBib29sZWFuO1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nW107XG4gIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgZmFsbGJhY2tCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TaW5nbGVJbWFnZVByb21wdD4ge1xuICB0aXRsZTogc3RyaW5nO1xuICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG59XG5cbmludGVyZmFjZSBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQ+IHtcbiAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogU2VhcmNoWmVyb1N0YXRlVmFyaWFudDtcbiAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gIHNlYXJjaEljb25WYXJpYW50PzogU2VhcmNoSWNvblZhcmlhbnQ7XG4gIHNlYXJjaEljb25TaXplPzogbnVtYmVyO1xuICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICBsYXlvdXQ6IFNlYXJjaFplcm9TdGF0ZUxheW91dDtcbiAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgYW5pbWF0aW9uU3BlZWQ/OiBcInN0YW5kYXJkXCIgfCBcInNsb3dcIiB8IFwibm9uZVwiO1xuICBjb21wYWN0TGFiZWw/OiBzdHJpbmc7XG4gIGluaXRpYWxTdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICB1c2luZ1BvcnRhbD86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBOb09wV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLk5vT3A+IHt9XG5pbnRlcmZhY2UgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoT3ZlcmxheUhvc3Q+IHt9XG5cbmludGVyZmFjZSBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hSZXN1bHRzRW50cnlQb2ludD4ge1xuICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgc2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ6IFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50O1xuICBwcm9kdWN0R3JpZFZhcmlhbnQ6IFByb2R1Y3RHcmlkVmFyaWFudDtcbiAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgbm9SZXN1bHRzRm91bmRUZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEhlYWRlclByb3BzIGV4dGVuZHMgVGVzdFByb3BzIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGxvZ28/OiBzdHJpbmc7XG4gIGxvZ29IZWlnaHQ/OiBudW1iZXI7XG4gIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICB2YXJpYW50PzogU2VhcmNoUHJvbXB0VmFyaWFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUXVlcnlPcHRpb25zIHtcbiAgZm9vdGVyVmFyaWFudD86IFwic3RhbmRhcmRcIjtcbiAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZXBseUJ1dHRvbkljb24/OlxuICAgIHwgXCJtYWduaWZ5aW5nR2xhc3NcIlxuICAgIHwgXCJzZW5kXCJcbiAgICB8IFwidGhpbk1hZ25pZnlpbmdHbGFzc1wiXG4gICAgfCBcImFpLXNlYXJjaFwiO1xufVxuXG50eXBlIFNlYXJjaFByb21wdFZhcmlhbnQgPSBcInByaW1hcnlcIjtcbmludGVyZmFjZSBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUHJvbXB0PiB7XG4gIHZhcmlhbnQ6IFNlYXJjaFByb21wdFZhcmlhbnQ7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGhlYWRlckNvbmZpZzogV2lkZ2V0SGVhZGVyUHJvcHM7XG4gIHN1Z2dlc3Rpb25CdXR0b25zOiB7XG4gICAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBidXR0b25UZXh0czogc3RyaW5nW107XG4gIH07XG4gIGZvb3RlckNvbmZpZz86IFVzZXJRdWVyeU9wdGlvbnM7XG59XG5cbnR5cGUgUGFnZVZhcmlhbnRCYXNlID0ge1xuICAvLyBVbmlxdWUgaWRlbnRpZmllciBmb3IgZWFjaCBlbnRyeSB3aXRoaW4gdGhlIHBhZ2VWYXJpYW50cy5cbiAgLy8gVXNlZnVsIHRvIGRpZmZlcmVudGlhdGUgd2hpY2ggdmFyaWFudCBpcyBsb2FkZWQgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGVzIG9mIGEgc2luZ2xlIHR5cGUuXG4gIHZhcmlhbnRJZDogc3RyaW5nO1xuICB3aWRnZXRNb3VudGluZzogV2lkZ2V0TW91bnRpbmdbXTtcbiAgdmFyaWFudFRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbn07XG5cbnR5cGUgUExQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiBcInBscFwiO1xuICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xuXG50eXBlIFBEUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogXCJwZHBcIjtcbiAgcGFyZW50UHJvZHVjdElkRXh0cmFjdG9yPzogSWRFeHRyYWN0b3I7XG4gIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xuXG50eXBlIFZpc2l0UGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiBcInBhZ2VfdmlzaXRcIjtcbn07XG5cbnR5cGUgT3RoZXJQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6IFwib3RoZXJcIjtcbn07XG5cbnR5cGUgSG9tZVBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogXCJob21lcGFnZVwiO1xufTtcblxudHlwZSBTZWFyY2hQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6IFwic2VhcmNoXCI7XG59O1xuXG5leHBvcnQgdHlwZSBQYWdlVmFyaWFudENvbmZpZyA9XG4gIHwgUExQUGFnZVZhcmlhbnRcbiAgfCBQRFBQYWdlVmFyaWFudFxuICB8IFZpc2l0UGFnZVZhcmlhbnRcbiAgfCBPdGhlclBhZ2VWYXJpYW50XG4gIHwgSG9tZVBhZ2VWYXJpYW50XG4gIHwgU2VhcmNoUGFnZVZhcmlhbnQ7XG5cbmV4cG9ydCB0eXBlIE9yZ1BhZ2VDb25maWcgPSB7XG4gIC8vIHBhZ2VWYXJpYW50cyBpcyBhIGxpc3Qgb2YgcGFnZSB2YXJpYW50cyB0aGF0IHdlIHN1cHBvcnQuXG4gIHBhZ2VWYXJpYW50czogUGFnZVZhcmlhbnRDb25maWdbXTtcbiAgLy8gd2lkZ2V0Q29uZmlncyBpcyBhIG5hbWVkIHNldCBvZiB3aWRnZXQgY29uZmlnc1xuICB3aWRnZXRDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRDb25maWc+O1xuICBtb3VudGluZ0NvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldE1vdW50aW5nQ29uZmlnPjtcbn07XG5cbmludGVyZmFjZSBPcmdDb25maWdDb250ZXh0VHlwZSB7XG4gIG9yZ1VJQ29uZmlnOiBPcmdVSUNvbmZpZztcbn1cblxuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5cbmV4cG9ydCB7XG4gIENhdGVnb3J5RXh0cmFjdG9yVHlwZSxcbiAgQ29sb3JOYW1lcyxcbiAgY29sb3JWYXIsXG4gIFBhZ2VWYXJpYW50VGVzdFR5cGUsXG4gIFdpZGdldFR5cGUsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgZGF0YVJlc2lkZW5jeT86IHN0cmluZztcbiAgZW52Pzogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICByZWFjdEFwcE5hbWU/OiBzdHJpbmc7XG4gIGNkblVybD86IHN0cmluZztcbiAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgb3JnTGV2ZWxBcGlLZXk/OiBzdHJpbmc7XG4gIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgaWRlbnRpZnlpbmdQcmVmaXg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgQ2F0ZWdvcnlFeHRyYWN0b3IsXG4gIENoYXRNZXNzYWdlVmFyaWFudCxcbiAgQ2hhdE1lc3NhZ2VDb25maWcsXG4gIENoYXRQcmV2aWV3Q29uZmlnLFxuICBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyxcbiAgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyxcbiAgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdGb290ZXJDb25maWcsXG4gIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnLFxuICBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdWYXJpYW50LFxuICBDb2xvck1hcHBpbmcsXG4gIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLFxuICBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcsXG4gIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbixcbiAgSWRFeHRyYWN0b3IsXG4gIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnLFxuICBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgSW5zZXJ0aW9uUG9pbnQsXG4gIE11bHRpSW1hZ2VDb25maWcsXG4gIE9yZ0NvbmZpZ0NvbnRleHRUeXBlLFxuICBPcmdVSUNvbmZpZyxcbiAgUGFnZUNhcmRDb25maWcsXG4gIFBhZ2VDYXJkVmFyaWFudCxcbiAgUGFnZUNhcmRIb3ZlclZhcmlhbnQsXG4gIFBhZ2VDYXJkSWNvblZhcmlhbnQsXG4gIFByb2R1Y3RDYXJkQ29uZmlnLFxuICBQcm9kdWN0Q2FyZFZhcmlhbnQsXG4gIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCxcbiAgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsXG4gIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LFxuICBQcm9kdWN0TGlua0ljb25WYXJpYW50LFxuICBQcm9kdWN0TGlua1ZhcmlhbnQsXG4gIFByb2R1Y3RSZXZpZXdDb25maWcsXG4gIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsXG4gIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsXG4gIFNlYXJjaFByb21wdFZhcmlhbnQsXG4gIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyxcbiAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsXG4gIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyxcbiAgU29jaWFsUHJvb2ZDb25maWcsXG4gIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyxcbiAgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsXG4gIFVSTFRlc3QsXG4gIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyxcbiAgVXNlclF1ZXJ5QnV0dG9uSWNvbixcbiAgV2VsY29tZVNlY3Rpb25Db25maWcsXG4gIFdlbGNvbWVTZWN0aW9uVmFyaWFudCxcbiAgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsXG4gIFdpZGdldENvbmZpZyxcbiAgV3JhcHBpbmdFbGVtZW50LFxuICBTZWFyY2hDYXJkVmFyaWFudCxcbiAgV2lkZ2V0RGlzcGxheVRlc3RzLFxuICBOb09wV2lkZ2V0Q29uZmlnLFxuICBXaWRnZXRNb3VudGluZyxcbiAgU3RhdGljV2lkZ2V0TW91bnRpbmcsXG4gIER5bmFtaWNXaWRnZXRNb3VudGluZyxcbiAgUERQUGFnZVZhcmlhbnQsXG4gIFBMUFBhZ2VWYXJpYW50LFxuICBWaXNpdFBhZ2VWYXJpYW50LFxuICBPdGhlclBhZ2VWYXJpYW50LFxuICBIb21lUGFnZVZhcmlhbnQsXG4gIFNlYXJjaFBhZ2VWYXJpYW50LFxuICBOdW1Sb3dzLFxufTtcbiIsImltcG9ydCB7IEN1c3RvbWVyU2VydmljZVByb3ZpZGVyIH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuXG5leHBvcnQgZW51bSBDdXN0b21lclNlcnZpY2VUeXBlIHtcbiAgc2hvcGlmeSA9IFwic2hvcGlmeVwiLFxuICBnb3JnaWFzID0gXCJnb3JnaWFzXCIsXG4gIGt1c3RvbWVyID0gXCJrdXN0b21lclwiLFxuICBncm9vdmUgPSBcImdyb292ZVwiLFxuICB0aWRpbyA9IFwidGlkaW9cIixcbiAgem93aWUgPSBcInpvd2llXCIsXG4gIHJlZG8gPSBcInJlZG9cIixcbiAgZ2xhZGx5ID0gXCJnbGFkbHlcIixcbiAgcmljaHBhbmVsID0gXCJyaWNocGFuZWxcIixcbiAgemVuZGVzayA9IFwiemVuZGVza1wiLFxuICB1bnN1cHBvcnRlZCA9IFwidW5zdXBwb3J0ZWRcIixcbn1cbmV4cG9ydCBlbnVtIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSB7XG4gIG5vbmUgPSBcIm5vbmVcIixcbiAgc2ltcGxlID0gXCJzaW1wbGVcIixcbiAgZnVsbCA9IFwiZnVsbFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uIHtcbiAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVByb3ZpZGVyO1xuICBzdXBwb3J0ZWRJbnRlZ3JhdGlvbk1vZGVzOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGVbXTtcbiAgYWxsb3dGaWxlVXBsb2FkPzogYm9vbGVhbjtcbiAgbWF4ZmlsZVVwbG9hZFNpemU/OiBudW1iZXI7XG4gIC8vIFRPRE86IFJlbW92ZSB0aGlzIG1ldGhvZCB3aGVuIG1pZ3JhdGluZyBvdGhlciBwcm92aWRlcnMgdG8gdGhlIG5ldyB1bmlmaWVkIENYIGJ1dHRvbi5cbiAgb25Td2l0Y2hUb0FnZW50OiAoKSA9PiB2b2lkO1xuICBpc0VuYWJsZWQ6ICgpID0+IGJvb2xlYW47XG4gIGlzQnVzaW5lc3NIb3VyczogKGFwaUtleT86IHN0cmluZywgYXBpRW5kcG9pbnQ/OiBzdHJpbmcpID0+IFByb21pc2U8Ym9vbGVhbj47XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFLLG9EQUFMO0FB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
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CustomerServiceProvider } from "@spiffy-ai/commerce-api-client";
|
|
2
|
+
|
|
3
|
+
//#region src/application/service/customerService/types.d.ts
|
|
4
|
+
declare enum CustomerServiceType {
|
|
5
|
+
shopify = "shopify",
|
|
6
|
+
gorgias = "gorgias",
|
|
7
|
+
kustomer = "kustomer",
|
|
8
|
+
groove = "groove",
|
|
9
|
+
tidio = "tidio",
|
|
10
|
+
zowie = "zowie",
|
|
11
|
+
redo = "redo",
|
|
12
|
+
gladly = "gladly",
|
|
13
|
+
richpanel = "richpanel",
|
|
14
|
+
zendesk = "zendesk",
|
|
15
|
+
unsupported = "unsupported",
|
|
16
|
+
}
|
|
17
|
+
declare enum CustomerServiceIntegrationMode {
|
|
18
|
+
none = "none",
|
|
19
|
+
simple = "simple",
|
|
20
|
+
full = "full",
|
|
21
|
+
}
|
|
22
|
+
interface CustomerServiceIntegration {
|
|
23
|
+
provider: CustomerServiceProvider;
|
|
24
|
+
supportedIntegrationModes: CustomerServiceIntegrationMode[];
|
|
25
|
+
allowFileUpload?: boolean;
|
|
26
|
+
maxfileUploadSize?: number;
|
|
27
|
+
onSwitchToAgent: () => void;
|
|
28
|
+
isEnabled: () => boolean;
|
|
29
|
+
isBusinessHours: (apiKey?: string, apiEndpoint?: string) => Promise<boolean>;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { CustomerServiceIntegration, CustomerServiceIntegrationMode, CustomerServiceType };
|
|
33
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtREJkSTBqODkuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vc2VydmljZS9jdXN0b21lclNlcnZpY2UvdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21lclNlcnZpY2VQcm92aWRlciB9IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmV4cG9ydCBkZWNsYXJlIGVudW0gQ3VzdG9tZXJTZXJ2aWNlVHlwZSB7XG4gICAgc2hvcGlmeSA9IFwic2hvcGlmeVwiLFxuICAgIGdvcmdpYXMgPSBcImdvcmdpYXNcIixcbiAgICBrdXN0b21lciA9IFwia3VzdG9tZXJcIixcbiAgICBncm9vdmUgPSBcImdyb292ZVwiLFxuICAgIHRpZGlvID0gXCJ0aWRpb1wiLFxuICAgIHpvd2llID0gXCJ6b3dpZVwiLFxuICAgIHJlZG8gPSBcInJlZG9cIixcbiAgICBnbGFkbHkgPSBcImdsYWRseVwiLFxuICAgIHJpY2hwYW5lbCA9IFwicmljaHBhbmVsXCIsXG4gICAgemVuZGVzayA9IFwiemVuZGVza1wiLFxuICAgIHVuc3VwcG9ydGVkID0gXCJ1bnN1cHBvcnRlZFwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSB7XG4gICAgbm9uZSA9IFwibm9uZVwiLFxuICAgIHNpbXBsZSA9IFwic2ltcGxlXCIsXG4gICAgZnVsbCA9IFwiZnVsbFwiXG59XG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uIHtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlUHJvdmlkZXI7XG4gICAgc3VwcG9ydGVkSW50ZWdyYXRpb25Nb2RlczogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlW107XG4gICAgYWxsb3dGaWxlVXBsb2FkPzogYm9vbGVhbjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICBvblN3aXRjaFRvQWdlbnQ6ICgpID0+IHZvaWQ7XG4gICAgaXNFbmFibGVkOiAoKSA9PiBib29sZWFuO1xuICAgIGlzQnVzaW5lc3NIb3VyczogKGFwaUtleT86IHN0cmluZywgYXBpRW5kcG9pbnQ/OiBzdHJpbmcpID0+IFByb21pc2U8Ym9vbGVhbj47XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcsc0JBQXNCLENBQUMsR0FBRztBQUNyQyxJQUFXLGlDQUFZLENBQUEsR0FBQTtBQUN2QixJQUFXLDZCQUFZO0NBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
|