@envive-ai/react-hooks 0.1.7 → 0.1.8
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/{NewOrgConfig-CRyIfb_l.js → NewOrgConfig-BU6uJT74.js} +2 -2
- package/dist/{NewOrgConfig-C5YL4Y62.cjs → NewOrgConfig-DmidHiyj.cjs} +2 -2
- package/dist/{SystemSettingsContext-Cb9YHln8.cjs → SystemSettingsContext-BbobkM82.cjs} +2 -2
- package/dist/{SystemSettingsContext-D3mmGGcv.js → SystemSettingsContext-gtrccL_q.js} +2 -2
- package/dist/{TrackComponentVisibleEvent-C7c_rHFW.cjs → TrackComponentVisibleEvent-CqjMiZCS.cjs} +3 -3
- package/dist/{TrackComponentVisibleEvent-DXTEBjGM.js → TrackComponentVisibleEvent-D9kpqKM4.js} +3 -3
- package/dist/{amplitudeContext-CB_F-nJY.d.cts → amplitudeContext-B73xamNe.d.cts} +1 -1
- package/dist/{amplitudeContext-DFYBDc0h.d.ts → amplitudeContext-BhhYPJSL.d.ts} +1 -1
- package/dist/{amplitudeContext-sTEsPaVG.cjs → amplitudeContext-Dr1jHI13.cjs} +9 -9
- package/dist/{amplitudeContext-Cak6ijMq.js → amplitudeContext-YRS1QOO3.js} +9 -9
- package/dist/api-DYjHj_hR.cjs +239 -0
- package/dist/api-d5uWvb3-.js +166 -0
- package/dist/{app-D_upYeqF.js → app-B9r0MF9n.js} +6 -6
- package/dist/{app-KXTMPa4s.cjs → app-Bgr-mAvr.cjs} +7 -7
- package/dist/application/models/graphql/index.cjs +2 -2
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/graphql/index.js +2 -2
- package/dist/application/models/guards/api/index.cjs +3 -2
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/api/index.js +3 -2
- package/dist/application/models/guards/utils.cjs +3 -0
- package/dist/application/models/guards/utils.d.cts +2 -0
- package/dist/application/models/guards/utils.d.ts +2 -0
- package/dist/application/models/guards/utils.js +3 -0
- package/dist/application/models/index.cjs +10 -9
- package/dist/application/models/index.d.cts +8 -7
- package/dist/application/models/index.d.ts +11 -10
- package/dist/application/models/index.js +9 -8
- package/dist/application/models/utilityTypes/index.cjs +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/utils/index.cjs +36 -35
- package/dist/application/utils/index.d.cts +11 -10
- package/dist/application/utils/index.d.ts +16 -15
- package/dist/application/utils/index.js +18 -17
- package/dist/{atomStore-DnPEioF4.js → atomStore-BuopbV9k.js} +1 -1
- package/dist/{atomStore-DEZyFCNz.cjs → atomStore-CZKe3itM.cjs} +1 -1
- package/dist/atoms/app/index.cjs +13 -12
- package/dist/atoms/app/index.d.cts +10 -9
- package/dist/atoms/app/index.d.ts +19 -18
- package/dist/atoms/app/index.js +13 -12
- package/dist/atoms/atomStore/index.cjs +2 -2
- package/dist/atoms/atomStore/index.js +2 -2
- package/dist/atoms/chat/index.cjs +19 -18
- package/dist/atoms/chat/index.d.cts +36 -35
- package/dist/atoms/chat/index.d.ts +39 -38
- package/dist/atoms/chat/index.js +19 -18
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +5 -5
- package/dist/atoms/globalSearch/index.d.ts +6 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +4 -4
- package/dist/atoms/org/index.d.cts +26 -25
- package/dist/atoms/org/index.d.ts +29 -28
- package/dist/atoms/org/index.js +4 -4
- package/dist/atoms/search/index.cjs +26 -24
- package/dist/atoms/search/index.d.cts +10 -9
- package/dist/atoms/search/index.d.ts +13 -12
- package/dist/atoms/search/index.js +26 -24
- package/dist/atoms/search/types.cjs +1 -1
- package/dist/atoms/search/types.d.cts +1 -1
- package/dist/atoms/search/types.d.ts +1 -1
- package/dist/atoms/search/types.js +1 -1
- package/dist/atoms/search/utils.cjs +3 -0
- package/dist/atoms/search/utils.d.cts +5 -0
- package/dist/atoms/search/utils.d.ts +5 -0
- package/dist/atoms/search/utils.js +3 -0
- package/dist/{cdnContext-BMjVfBft.cjs → cdnContext-CVgXkdV2.cjs} +2 -2
- package/dist/{cdnContext-DgsJ00Tb.js → cdnContext-DdE6VPIF.js} +2 -2
- package/dist/{chat-DPJGdUkz.js → chat-BNDYKsqF.js} +10 -10
- package/dist/{chat-zA-K4tR_.cjs → chat-BkjIKhc5.cjs} +1 -1
- package/dist/{chat-D1Eat8Ih.cjs → chat-Br5FhtRs.cjs} +11 -11
- package/dist/{chat-B4lkFIxz.js → chat-CgLypC3w.js} +1 -1
- package/dist/{chatElementDisplayLocation-C1tRM5OD.d.ts → chatElementDisplayLocation-BwiXrkN7.d.ts} +1 -1
- package/dist/{chatElementDisplayLocation-9SW40Dd3.d.cts → chatElementDisplayLocation-DWmfNX_u.d.cts} +1 -1
- package/dist/chatSearch-BiF2__V0.js +295 -0
- package/dist/chatSearch-BrzfJOto.cjs +418 -0
- package/dist/{chatState-BisPJd5g.cjs → chatState-BDsqKE-B.cjs} +3 -3
- package/dist/{chatState-BrmBYY8l.js → chatState-ie771Hwy.js} +3 -3
- package/dist/{commerce-api-DagLj3D_.js → commerce-api-Dz1jxPOJ.js} +9 -9
- package/dist/{commerce-api-CxDIfeME.cjs → commerce-api-KoiUki51.cjs} +9 -9
- package/dist/{components-g0G58Kat.cjs → components-Cby-Cma3.cjs} +1 -1
- package/dist/{components-B1edduHz.js → components-D1mg1-Br.js} +1 -1
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.d.cts +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.d.ts +1 -1
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.d.cts +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.d.ts +1 -1
- package/dist/config/locators/index.cjs +2 -2
- package/dist/config/locators/index.d.cts +2 -2
- package/dist/config/locators/index.d.ts +2 -2
- package/dist/config/locators/index.js +2 -2
- package/dist/contexts/amplitudeContext/index.cjs +16 -15
- package/dist/contexts/amplitudeContext/index.d.cts +1 -1
- package/dist/contexts/amplitudeContext/index.d.ts +1 -1
- package/dist/contexts/amplitudeContext/index.js +16 -15
- package/dist/contexts/cdnContext/index.cjs +4 -4
- package/dist/contexts/cdnContext/index.js +4 -4
- package/dist/contexts/chatContext/index.cjs +40 -38
- package/dist/contexts/chatContext/index.d.cts +2 -2
- package/dist/contexts/chatContext/index.d.ts +2 -2
- package/dist/contexts/chatContext/index.js +36 -34
- package/dist/contexts/enviveConfigContext/index.cjs +4 -4
- package/dist/contexts/enviveConfigContext/index.d.cts +3 -3
- package/dist/contexts/enviveConfigContext/index.d.ts +3 -3
- package/dist/contexts/enviveConfigContext/index.js +4 -4
- package/dist/contexts/enviveCssContext/index.cjs +18 -17
- package/dist/contexts/enviveCssContext/index.js +18 -17
- package/dist/contexts/featureFlagContext/index.cjs +6 -6
- package/dist/contexts/featureFlagContext/index.d.cts +3 -3
- package/dist/contexts/featureFlagContext/index.d.ts +3 -3
- package/dist/contexts/featureFlagContext/index.js +6 -6
- package/dist/contexts/featureFlagServiceContext/index.cjs +3 -3
- package/dist/contexts/featureFlagServiceContext/index.d.cts +4 -4
- package/dist/contexts/featureFlagServiceContext/index.d.ts +4 -4
- package/dist/contexts/featureFlagServiceContext/index.js +3 -3
- package/dist/contexts/graphqlContext/index.cjs +12 -11
- package/dist/contexts/graphqlContext/index.d.cts +9 -8
- package/dist/contexts/graphqlContext/index.d.ts +12 -11
- package/dist/contexts/graphqlContext/index.js +12 -11
- package/dist/contexts/localStorageContext/index.cjs +2 -2
- package/dist/contexts/localStorageContext/index.js +2 -2
- package/dist/contexts/newOrgConfigContext/index.cjs +16 -15
- package/dist/contexts/newOrgConfigContext/index.d.cts +10 -9
- package/dist/contexts/newOrgConfigContext/index.d.ts +13 -12
- package/dist/contexts/newOrgConfigContext/index.js +16 -15
- package/dist/contexts/searchContext/index.cjs +20 -19
- package/dist/contexts/searchContext/index.d.cts +1 -1
- package/dist/contexts/searchContext/index.d.ts +2 -2
- package/dist/contexts/searchContext/index.js +20 -19
- package/dist/contexts/sessionStorageContext/index.cjs +2 -2
- package/dist/contexts/sessionStorageContext/index.js +2 -2
- package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
- package/dist/contexts/shopifyUrlContext/index.d.cts +3 -3
- package/dist/contexts/shopifyUrlContext/index.d.ts +3 -3
- package/dist/contexts/shopifyUrlContext/index.js +2 -2
- package/dist/contexts/systemSettingsContext/index.cjs +4 -4
- package/dist/contexts/systemSettingsContext/index.d.cts +11 -10
- package/dist/contexts/systemSettingsContext/index.d.ts +12 -11
- package/dist/contexts/systemSettingsContext/index.js +4 -4
- package/dist/contexts/types.d.cts +3 -3
- package/dist/contexts/types.d.ts +3 -3
- package/dist/contexts/userIdentityContext/index.cjs +22 -21
- package/dist/contexts/userIdentityContext/index.d.cts +1 -1
- package/dist/contexts/userIdentityContext/index.d.ts +1 -1
- package/dist/contexts/userIdentityContext/index.js +22 -21
- package/dist/{domObserver-B6cRGTny.js → domObserver-B19-69gW.js} +1 -1
- package/dist/{domObserver-DQZwhPrc.cjs → domObserver-CwieVNgj.cjs} +1 -1
- package/dist/{enviveConfig-BJZ4zTJo.js → enviveConfig-BQB14yuH.js} +3 -3
- package/dist/{enviveConfig-DdBrcGSQ.cjs → enviveConfig-DAA9sozZ.cjs} +3 -3
- package/dist/{enviveConfigContext-jBCCWQH9.js → enviveConfigContext-BCpBKqsz.js} +3 -3
- package/dist/{enviveConfigContext-78orE_uH.cjs → enviveConfigContext-Btg5JUMG.cjs} +3 -3
- package/dist/{featureFlagServiceContext-ChL7DJ53.cjs → featureFlagServiceContext-Bcx5yh4S.cjs} +3 -3
- package/dist/{featureFlagServiceContext-D1PzHsEs.d.ts → featureFlagServiceContext-Cpw8omUr.d.ts} +2 -2
- package/dist/{featureFlagServiceContext-DQwlCTde.d.cts → featureFlagServiceContext-Cvn6fcdB.d.cts} +2 -2
- package/dist/{featureFlagServiceContext-DzFfmb1Z.js → featureFlagServiceContext-_tXX5iro.js} +3 -3
- package/dist/{featureGates-Blx10fwB.js → featureGates-2Zea2D2S.js} +1 -1
- package/dist/{featureGates-DcZNrUma.cjs → featureGates-BY2Zy7x_.cjs} +1 -1
- package/dist/{frontendConfig-wg41mBok.d.cts → frontendConfig-DnMZfvcA.d.cts} +3 -3
- package/dist/{frontendConfig-DrvrQSm8.d.ts → frontendConfig-Dqxbqo8G.d.ts} +3 -3
- package/dist/{globalSearch-Bnjlxtr5.cjs → globalSearch-C94-vEVh.cjs} +1 -1
- package/dist/{globalSearch-CRWUqnjq.js → globalSearch-Dlbnfasm.js} +1 -1
- package/dist/{graphql-W7GMIHUu.js → graphql-DRLWdYEk.js} +2 -2
- package/dist/{graphql-B9HhDXYt.cjs → graphql-xPDT7ZkK.cjs} +2 -2
- package/dist/{graphqlConfig-Bn-HLHsh.cjs → graphqlConfig-B4ddz1vH.cjs} +1 -1
- package/dist/{graphqlConfig-DtZm_YaH.js → graphqlConfig-BnjOdeX7.js} +1 -1
- package/dist/{graphqlContext-BJg7B--J.js → graphqlContext-B-9g2vOb.js} +5 -5
- package/dist/{graphqlContext-DI-_VRmb.cjs → graphqlContext-B7PEKDJs.cjs} +5 -5
- package/dist/hooks/AmplitudeOperations/index.cjs +18 -17
- package/dist/hooks/AmplitudeOperations/index.d.cts +1 -1
- package/dist/hooks/AmplitudeOperations/index.d.ts +1 -1
- package/dist/hooks/AmplitudeOperations/index.js +18 -17
- package/dist/hooks/AppDetails/index.cjs +16 -15
- package/dist/hooks/AppDetails/index.d.cts +9 -8
- package/dist/hooks/AppDetails/index.d.ts +12 -11
- package/dist/hooks/AppDetails/index.js +16 -15
- package/dist/hooks/CdnOperations/index.cjs +4 -4
- package/dist/hooks/CdnOperations/index.js +4 -4
- package/dist/hooks/ChatToggle/index.cjs +20 -19
- package/dist/hooks/ChatToggle/index.d.cts +1 -1
- package/dist/hooks/ChatToggle/index.d.ts +1 -1
- package/dist/hooks/ChatToggle/index.js +20 -19
- package/dist/hooks/ChatToggleAnalytics/index.cjs +20 -19
- package/dist/hooks/ChatToggleAnalytics/index.d.cts +1 -1
- package/dist/hooks/ChatToggleAnalytics/index.d.ts +1 -1
- package/dist/hooks/ChatToggleAnalytics/index.js +20 -19
- package/dist/hooks/CustomerSupportHandoff/index.cjs +1 -1
- package/dist/hooks/CustomerSupportHandoff/index.js +1 -1
- package/dist/hooks/Debounce/index.cjs +1 -1
- package/dist/hooks/Debounce/index.js +1 -1
- package/dist/hooks/ElementObserver/index.cjs +1 -1
- package/dist/hooks/ElementObserver/index.d.cts +1 -1
- package/dist/hooks/ElementObserver/index.d.ts +1 -1
- package/dist/hooks/ElementObserver/index.js +1 -1
- package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
- package/dist/hooks/GraphQLConfig/index.cjs +13 -12
- package/dist/hooks/GraphQLConfig/index.js +13 -12
- package/dist/hooks/IdentifyUser/index.cjs +23 -22
- package/dist/hooks/IdentifyUser/index.js +23 -22
- package/dist/hooks/ImageResolver/index.cjs +12 -11
- package/dist/hooks/ImageResolver/index.js +12 -11
- package/dist/hooks/Intersection/index.cjs +1 -1
- package/dist/hooks/Intersection/index.js +1 -1
- package/dist/hooks/LocalStorageOperations/index.cjs +2 -2
- package/dist/hooks/LocalStorageOperations/index.js +2 -2
- package/dist/hooks/MessageFilter/index.cjs +10 -9
- package/dist/hooks/MessageFilter/index.d.cts +9 -8
- package/dist/hooks/MessageFilter/index.d.ts +12 -11
- package/dist/hooks/MessageFilter/index.js +10 -9
- package/dist/hooks/NewOrgConfig/index.cjs +17 -16
- package/dist/hooks/NewOrgConfig/index.d.cts +10 -9
- package/dist/hooks/NewOrgConfig/index.d.ts +13 -12
- package/dist/hooks/NewOrgConfig/index.js +17 -16
- package/dist/hooks/Search/index.cjs +38 -36
- package/dist/hooks/Search/index.d.cts +13 -18
- package/dist/hooks/Search/index.d.ts +16 -21
- package/dist/hooks/Search/index.js +37 -35
- package/dist/hooks/SearchOperations/index.cjs +21 -20
- package/dist/hooks/SearchOperations/index.d.cts +1 -1
- package/dist/hooks/SearchOperations/index.d.ts +2 -2
- package/dist/hooks/SearchOperations/index.js +21 -20
- package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
- package/dist/hooks/SessionStorageOperations/index.js +2 -2
- package/dist/hooks/ShopifyUrlOperations/index.cjs +2 -2
- package/dist/hooks/ShopifyUrlOperations/index.d.cts +5 -5
- package/dist/hooks/ShopifyUrlOperations/index.d.ts +5 -5
- package/dist/hooks/ShopifyUrlOperations/index.js +2 -2
- package/dist/hooks/SystemSettingsContext/index.cjs +5 -5
- package/dist/hooks/SystemSettingsContext/index.d.cts +11 -10
- package/dist/hooks/SystemSettingsContext/index.d.ts +14 -13
- package/dist/hooks/SystemSettingsContext/index.js +5 -5
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +18 -17
- package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +2 -2
- package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -2
- package/dist/hooks/TrackComponentVisibleEvent/index.js +18 -17
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +17 -16
- package/dist/hooks/UpdateAnalyticsProps/index.js +17 -16
- package/dist/hooks/utils.cjs +8 -0
- package/dist/hooks/utils.d.cts +13 -0
- package/dist/hooks/utils.d.ts +13 -0
- package/dist/hooks/utils.js +3 -0
- package/dist/{index-CyXULMyI.d.cts → index-B9HUPS_i.d.cts} +33 -33
- package/dist/{index-DuyZQOE1.d.ts → index-BN-3ctk_.d.ts} +2 -2
- package/dist/{index-Cz10TYQA.d.cts → index-BNiYL8h0.d.cts} +2 -2
- package/dist/{index-DO0s5KNA.d.cts → index-BW6pHibZ.d.cts} +1 -1
- package/dist/{index-fKJB9EFb.d.ts → index-BirtCYN3.d.ts} +5 -5
- package/dist/{index-DNUKSg6R.d.ts → index-BoYC9XLW.d.ts} +1 -1
- package/dist/{index-CKeS9dud.d.ts → index-C9zXP5bg.d.ts} +3 -3
- package/dist/index-CK_J3QMY.d.ts +676 -0
- package/dist/index-C_MIfxF0.d.cts +676 -0
- package/dist/{index-D8ThXrqI.d.ts → index-Da0UzyI9.d.ts} +1 -1
- package/dist/{index-BS7-_CW4.d.ts → index-Dr_c2DDq.d.ts} +1 -1
- package/dist/{index-D9VegTU-.d.ts → index-DsiilEj-.d.ts} +1 -1
- package/dist/{index-REhT-Pls.d.cts → index-MOOZ2oxZ.d.cts} +1 -1
- package/dist/{index-DBqgBV9N.d.ts → index-ghzD_356.d.ts} +1 -1
- package/dist/{index-D46Rd0io.d.cts → index-hdbCEjYy.d.cts} +1 -1
- package/dist/interceptors/index.cjs +2 -2
- package/dist/interceptors/index.d.cts +10 -9
- package/dist/interceptors/index.d.ts +13 -12
- package/dist/interceptors/index.js +2 -2
- package/dist/interceptors/types.cjs +1 -1
- package/dist/interceptors/types.d.cts +9 -8
- package/dist/interceptors/types.d.ts +12 -11
- package/dist/interceptors/types.js +1 -1
- package/dist/{localStorageContext-6OrGDFid.js → localStorageContext-DiTziaPa.js} +2 -2
- package/dist/{localStorageContext-Bld0OWmG.cjs → localStorageContext-S38L0OSP.cjs} +2 -2
- package/dist/{logger-D5MFf3nW.js → logger-CkhQayOW.js} +1 -1
- package/dist/{logger-CSL2jqI9.cjs → logger-DQ0WfCcD.cjs} +1 -1
- package/dist/{models-Dn8Emdzc.js → models-C48U9q70.js} +4 -3
- package/dist/{models-ZpQcRZQK.cjs → models-Ctn-pmug.cjs} +25 -24
- package/dist/{newOrgConfigAtom-DkSi45_Q.cjs → newOrgConfigAtom-D6R-7HCk.cjs} +1 -1
- package/dist/{newOrgConfigAtom--tewb_G0.js → newOrgConfigAtom-bn1lnljf.js} +1 -1
- package/dist/{newOrgConfigContext-B3aeblfE.cjs → newOrgConfigContext-D3WoaBVU.cjs} +5 -5
- package/dist/{newOrgConfigContext-B5mzHKTG.js → newOrgConfigContext-rWOYz0E8.js} +5 -5
- package/dist/{nodeSelector-XsUa5vNH.d.cts → nodeSelector-B3bPtEjX.d.cts} +1 -1
- package/dist/{nodeSelector-DybpVr-i.d.ts → nodeSelector-D5gjDWZ3.d.ts} +1 -1
- package/dist/{org-ClUxpHPZ.cjs → org-CIhjzxWr.cjs} +1 -1
- package/dist/{org-B2uRkPt3.js → org-CeWXnpwF.js} +1 -1
- package/dist/{orgAnalyticsConfig-DOceTdNp.js → orgAnalyticsConfig-BC4_sEmn.js} +1 -1
- package/dist/{orgAnalyticsConfig-CuWXijsr.cjs → orgAnalyticsConfig-DsGbyFhO.cjs} +1 -1
- package/dist/{search-DsQm_pAi.cjs → search--NZPZkK3.cjs} +5 -5
- package/dist/{search-BIomqYy6.d.ts → search-BLShhjvR.d.ts} +2 -2
- package/dist/{search-Bn4x-3TG.js → search-CxZl7iQF.js} +5 -5
- package/dist/{search-filter-types-B5xcaEit.d.ts → search-filter-types-DPgeG8FS.d.ts} +1 -1
- package/dist/{search-filter-types-Byd0lEUa.d.cts → search-filter-types-_mprCnBi.d.cts} +1 -1
- package/dist/{search-B_Hg-Es2.d.cts → search-y-ioX5Mz.d.cts} +1 -1
- package/dist/{searchContext-Cn-pCoDy.cjs → searchContext-C4Glr8Nv.cjs} +7 -7
- package/dist/{searchContext-fQDGSvUF.js → searchContext-VnjhV7Lk.js} +7 -7
- package/dist/{searchServiceAdapter-DrjFCiw8.cjs → searchServiceAdapter-DEv1tTn0.cjs} +1 -1
- package/dist/{searchServiceAdapter-BSPZOg1r.js → searchServiceAdapter-WyCU55NV.js} +1 -1
- package/dist/{sessionStorageContext-CXE7iHtP.cjs → sessionStorageContext-BJ05_j7l.cjs} +2 -2
- package/dist/{sessionStorageContext-C5MUl2zf.js → sessionStorageContext-Dp_bhXQP.js} +2 -2
- package/dist/{shopifyUrlContext-BSYWsoX9.js → shopifyUrlContext-CGqpJl1o.js} +2 -2
- package/dist/{shopifyUrlContext-7ppKx1jJ.cjs → shopifyUrlContext-Cob4L7Dt.cjs} +2 -2
- package/dist/{spiffyWidgets-DxGuuuCG.d.cts → spiffyWidgets-BuS00VaQ.d.cts} +1 -1
- package/dist/{spiffyWidgets-CdxRcXhW.d.ts → spiffyWidgets-GILaqHv6.d.ts} +1 -1
- package/dist/{systemSettingsContext-BdAe_3Ll.cjs → systemSettingsContext-BDKWrrco.cjs} +2 -2
- package/dist/{systemSettingsContext-Cjyo2o3N.js → systemSettingsContext-Dqng3YSZ.js} +2 -2
- package/dist/{test-types-ZuRAYwox.d.ts → test-types-EzMFw_U3.d.ts} +1 -1
- package/dist/{test-types-DQB1JqOf.d.cts → test-types-ThQiO_cc.d.cts} +1 -1
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/{types-DzwBmZHy.d.cts → types-BUeRbZUk.d.cts} +1 -1
- package/dist/{types-YvACLe2e.d.ts → types-CMuTSKrW.d.ts} +2 -2
- package/dist/{types-DIk0FLwd.js → types-CS0Hrzja.js} +1 -1
- package/dist/{types-DNLkuGWZ.cjs → types-CxObxLKs.cjs} +1 -1
- package/dist/{types-BCz-hOvv.d.ts → types-fsXBIQwO.d.ts} +1 -1
- package/dist/{types-Eip78dWv.d.cts → types-zuWLkBJ3.d.cts} +1 -1
- package/dist/types.d.cts +4 -4
- package/dist/types.d.ts +4 -4
- package/dist/{unsupportedProductExceptions-Dak4AD-t.cjs → unsupportedProductExceptions-CKiri_vO.cjs} +1 -1
- package/dist/{unsupportedProductExceptions--t7AQFou.js → unsupportedProductExceptions-ClxlJ6cU.js} +1 -1
- package/dist/{urlsParser-BV5yF8sa.cjs → urlsParser-D1nsJgQG.cjs} +1 -1
- package/dist/{urlsParser-DUgV_Qy9.js → urlsParser-DzEetiey.js} +1 -1
- package/dist/{useAmplitudeOperations-Cco_B3A5.cjs → useAmplitudeOperations-BSsyvkQ2.cjs} +2 -2
- package/dist/{useAmplitudeOperations-C6Osqkso.js → useAmplitudeOperations-BottjwT9.js} +2 -2
- package/dist/{useAppDetails-CGqtN6sJ.cjs → useAppDetails-BpiBxS_5.cjs} +4 -4
- package/dist/{useAppDetails-DwX2Rhed.js → useAppDetails-DDNIsM46.js} +4 -4
- package/dist/{useDebounce-BJqnCBcl.cjs → useDebounce-BaIp-A1W.cjs} +1 -1
- package/dist/{useDebounce-Ce31ph7m.js → useDebounce-CxPj9WmE.js} +1 -1
- package/dist/{useGraphQLConfig-ByOZb3oZ.js → useGraphQLConfig-DZ0ZannB.js} +2 -2
- package/dist/{useGraphQLConfig-DItL4BgM.cjs → useGraphQLConfig-Dw8dDh3T.cjs} +2 -2
- package/dist/{useIntersection-Czeo04jt.js → useIntersection-B4J9UhaG.js} +1 -1
- package/dist/{useIntersection-DnZNLcnu.cjs → useIntersection-DKWc5MY6.cjs} +1 -1
- package/dist/{useMessageInterceptor-C9p9No1n.cjs → useMessageInterceptor-CstX10ih.cjs} +1 -1
- package/dist/{useMessageInterceptor-tntd2rvB.js → useMessageInterceptor-D5oAekXn.js} +1 -1
- package/dist/{userIdentityContext-DBXoLrFu.d.cts → userIdentityContext-D2oFVFzo.d.cts} +1 -1
- package/dist/{userIdentityContext-C1HzZFb2.cjs → userIdentityContext-DPFkCSCu.cjs} +6 -6
- package/dist/{userIdentityContext-CDfosvOO.js → userIdentityContext-Z65zM-Ae.js} +5 -5
- package/dist/{userIdentityContext-W1OWF3cG.d.ts → userIdentityContext-wYRpgkaJ.d.ts} +1 -1
- package/dist/utils-2SWrJ12w.cjs +29 -0
- package/dist/utils-B1xLx9S8.d.ts +15 -0
- package/dist/utils-B3x_9JTY.d.cts +15 -0
- package/dist/utils-BZtSmwgh.d.cts +22 -0
- package/dist/{utils-C7S9YiFp.js → utils-Bcz5kAgP.js} +40 -2
- package/dist/utils-CEKzBcN2.js +27 -0
- package/dist/{utils-BA5HXmkL.cjs → utils-CMqFfqZx.cjs} +57 -1
- package/dist/{utils-CF13DfA1.js → utils-CVovRwlw.js} +4 -4
- package/dist/utils-CqBxIpEV.js +23 -0
- package/dist/utils-CsMbZmRw.cjs +33 -0
- package/dist/{utils-BTDw2aMx.cjs → utils-DzPSXtmD.cjs} +4 -4
- package/dist/utils-bxOCg2i9.d.ts +22 -0
- package/package.json +13 -1
- package/dist/api-DSFlctlc.cjs +0 -269
- package/dist/api-JTNjuOfc.js +0 -190
- package/dist/chatSearch-B5jMnCYX.js +0 -315
- package/dist/chatSearch-DWMiyWN0.cjs +0 -444
- package/dist/index-BCLaqnc2.d.cts +0 -689
- package/dist/index-Bs0QtkSu.d.ts +0 -689
- /package/dist/{AmplitudeOperations-CgIVPUlr.cjs → AmplitudeOperations-CNyxbBY6.cjs} +0 -0
- /package/dist/{AmplitudeOperations-YpyaR7Mp.js → AmplitudeOperations-Oa2efWtF.js} +0 -0
- /package/dist/{atomStore-C2OI76yN.js → atomStore-BS6qtYZF.js} +0 -0
- /package/dist/{atomStore-DWmT1six.cjs → atomStore-BjRyLFEx.cjs} +0 -0
- /package/dist/{types-DQoXDiso.js → types-DtTnp0o0.js} +0 -0
- /package/dist/{types-o3zWarRp.cjs → types-a8gm_IaQ.cjs} +0 -0
- /package/dist/{utilityTypes-CWJZb9BZ.js → utilityTypes-DynzxjK3.js} +0 -0
- /package/dist/{utilityTypes-YGiMSyV7.cjs → utilityTypes-xb8SjKSV.cjs} +0 -0
- /package/dist/{variantInfo-DRFLcGc7.cjs → variantInfo-B7IwRpCg.cjs} +0 -0
- /package/dist/{variantInfo-58JLeDJb.js → variantInfo-BtOYUGWa.js} +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { logger_default } from "./logger-
|
|
2
|
-
import { MessageRole, MessageType } from "./models-
|
|
3
|
-
import { contextSourceAtom, envAtom, orgShortNameAtom } from "./enviveConfig-
|
|
4
|
-
import { getAtomStore, sessionStorageUtil } from "./atomStore-
|
|
5
|
-
import { chatIdAtom, userIdAtom } from "./app-
|
|
6
|
-
import { SpiffyMetricsEventName } from "./amplitudeContext-
|
|
7
|
-
import { askQuestionBtnClickedAtom, chatIsOpenAtom, chatOnToggleAtom, formSubmitAtom, messagesAtom, replyEventCategoryAtom, responseStreamingAtom, suggestionAtom, suggestionsAtom, suggestionsLoadingAtom, userEventsAtom, userHasRepliedAtom, userQueryAtom } from "./chatState-
|
|
8
|
-
import { featureFlagServiceAtom, orgIdAtom } from "./graphqlConfig-
|
|
1
|
+
import { logger_default } from "./logger-CkhQayOW.js";
|
|
2
|
+
import { MessageRole, MessageType } from "./models-C48U9q70.js";
|
|
3
|
+
import { contextSourceAtom, envAtom, orgShortNameAtom } from "./enviveConfig-BQB14yuH.js";
|
|
4
|
+
import { getAtomStore, sessionStorageUtil } from "./atomStore-BuopbV9k.js";
|
|
5
|
+
import { chatIdAtom, userIdAtom } from "./app-B9r0MF9n.js";
|
|
6
|
+
import { SpiffyMetricsEventName } from "./amplitudeContext-YRS1QOO3.js";
|
|
7
|
+
import { askQuestionBtnClickedAtom, chatIsOpenAtom, chatOnToggleAtom, formSubmitAtom, messagesAtom, replyEventCategoryAtom, responseStreamingAtom, suggestionAtom, suggestionsAtom, suggestionsLoadingAtom, userEventsAtom, userHasRepliedAtom, userQueryAtom } from "./chatState-ie771Hwy.js";
|
|
8
|
+
import { featureFlagServiceAtom, orgIdAtom } from "./graphqlConfig-BnjOdeX7.js";
|
|
9
9
|
import { ContextEnvEnum, ContextSourceEnum, UserEventCategory } from "@spiffy-ai/commerce-api-client";
|
|
10
|
+
import { v4 } from "uuid";
|
|
10
11
|
import { atom } from "jotai";
|
|
11
12
|
import { atomWithStorage } from "jotai/utils";
|
|
12
|
-
import { v4 } from "uuid";
|
|
13
13
|
|
|
14
14
|
//#region src/atoms/chat/messageQueue.ts
|
|
15
15
|
const internalUserEventQueueAtom = atom([]);
|
|
@@ -255,4 +255,4 @@ const chatAtom = atom((get) => ({
|
|
|
255
255
|
|
|
256
256
|
//#endregion
|
|
257
257
|
export { APP_INITIAL_START_TIME_KEY, PAGE_LOAD_OFFSET_TIME_KEY, PerfMetricsEvents, addWidget, appInitialStartTimeMsAtom, chatAtom, clearUserEventAtom, createResponsePayload, handleFormSubmittedAtom, handleReplyAtom, handleSuggestionAtom, hasReportedPerformanceMetricsAtom, lastAssistantMessageAtom, logPerfMetricAtom, pageLoadOffsetTimeAtom, performanceMetricsAtom, processUserEventAtom, queueUserEventAtom, resetPerformanceMetricsAtom, userEventQueueAtom, userQueueEventCountAtom, widgetArrayAtom };
|
|
258
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1EUEpHZFVrei5qcyIsIm5hbWVzIjpbInV1aWQiLCJ1dWlkIiwibmV3TWVzc2FnZTogTWVzc2FnZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZS50cyIsIi4uL3NyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b20udHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9yZXBsaWVzLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvcGVyZm9ybWFuY2VNZXRyaWNzLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvZm9ybS50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L3N1Z2dlc3Rpb25zLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvbGFzdE1lc3NhZ2UudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9yZW5kZXJlZFdpZGdldFJlZnMudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSBcInV1aWRcIjtcbmltcG9ydCB7XG4gIEdlbmVyYXRpb25QYXJhbXMsXG4gIE5leHRNZXNzYWdlUmVxdWVzdCxcbiAgVXNlckV2ZW50LFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5pbXBvcnQgeyB1c2VySWRBdG9tLCBjaGF0SWRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hcHBcIjtcbmltcG9ydCB7XG4gIG9yZ1Nob3J0TmFtZUF0b20sXG4gIGNvbnRleHRTb3VyY2VBdG9tLFxuICBlbnZBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCB7IG9yZ0lkQXRvbSwgZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSB9IGZyb20gXCJzcmMvYXRvbXMvb3JnL2dyYXBocWxDb25maWdcIjtcblxuY29uc3QgaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20gPSBhdG9tPFVzZXJFdmVudFtdPihbXSk7XG5cbmV4cG9ydCBjb25zdCB1c2VyRXZlbnRRdWV1ZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgcXVldWUgPSBnZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pO1xuICByZXR1cm4gcXVldWUgPT09IHVuZGVmaW5lZCA/IFtdIDogcXVldWUuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQpO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gcXVldWUgYSBuZXcgbWVzc2FnZSBmb3IgcHJvY2Vzc2luZyBvbiBgbmV4dF9yZXNwb25zZXNgXG4gKiBJdCByZWNlaXZlcyBhIHNpbmdsZSBgdXNlckV2ZW50YCB0aGF0IGlzIGFkZGVkIHRvIHRoZSBwcm9jZXNzaW5nIHF1ZXVlLlxuICogSWYgdGhlIGV2ZW50IGhhcyB0aGUgc2FtZSBldmVudElkIGFzIGFuIGV4aXN0aW5nIG1lc3NhZ2UgaW4gdGhlIHF1ZXVlIHRoZSBORVdcbiAqIGV2ZW50IGlzIGlnbm9yZWRcbiAqL1xuZXhwb3J0IGNvbnN0IHF1ZXVlVXNlckV2ZW50QXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgdXNlckV2ZW50OiBVc2VyRXZlbnQpID0+IHtcbiAgICBpZiAodXNlckV2ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCBbXG4gICAgICAuLi5nZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pLFxuICAgICAgdXNlckV2ZW50LFxuICAgIF0pO1xuICB9XG4pO1xuXG4vKipcbiAqIFRoaXMgYXRvbSBleHBvc2VzIGEgZnVuY3Rpb24gdG8gcmVzZXQgdGhlIGVudGlyZSBxdWV1ZS4gQWxsIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZSB3aWxsIGJlIHB1cmdlZFxuICovXG5leHBvcnQgY29uc3QgY2xlYXJVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoXywgc2V0KSA9PiB7XG4gIHNldChpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSwgW10pO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gbWFyayBldmVudHMgYXMgcHJvY2Vzc2VkIGFuZCByZW1vdmUgdGhlbSBmcm9tIHRoZSBxdWV1ZVxuICogSXQgYWNjZXB0cyBhIGxpc3Qgb2YgZXZlbnRJZCB2YWx1ZXMgYW5kIHdpbGwgcmVtb3ZlIGFsbCBldmVudHMgd2l0aCB0aG9zZSBldmVudElkcyBmcm9tIHRoZSBxdWV1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHByb2Nlc3NVc2VyRXZlbnRBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCBldmVudElkczogc3RyaW5nW10pID0+IHtcbiAgICBjb25zdCBjdXJyID0gZ2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tKTtcbiAgICBjb25zdCByZW1haW5pbmcgPSBjdXJyPy5maWx0ZXIoXG4gICAgICAoZXZlbnQpID0+ICFldmVudElkcy5pbmNsdWRlcyhldmVudC5ldmVudElkKVxuICAgICk7XG4gICAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCByZW1haW5pbmcpO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXNlclF1ZXVlRXZlbnRDb3VudEF0b20gPSBhdG9tKFxuICAoZ2V0KSA9PiBnZXQodXNlckV2ZW50UXVldWVBdG9tKS5sZW5ndGhcbik7XG5cbmltcG9ydCB7XG4gIENvbnRleHRTb3VyY2VFbnVtLFxuICBDb250ZXh0RW52RW51bSxcbn0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiOyAvLyBJbXBvcnQgbmVjZXNzYXJ5IGVudW1zXG4vLyBpbXBvcnQgdHlwZSB7IENvbnRleHQgfSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50L2Rpc3QvbW9kZWxzL0NvbnRleHRcIjsgLy8gSW1wb3J0IENvbnRleHQgdHlwZVxuXG5leHBvcnQgY29uc3QgY3JlYXRlUmVzcG9uc2VQYXlsb2FkID0gKHtcbiAgdXNlckV2ZW50cyxcbiAgZ2VuZXJhdGlvblBhcmFtcyxcbn06IHtcbiAgdXNlckV2ZW50czogVXNlckV2ZW50W107XG4gIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xufSk6IE5leHRNZXNzYWdlUmVxdWVzdCA9PiB7XG4gIGNvbnN0IGF0b21TdG9yZSA9IGdldEF0b21TdG9yZSgpO1xuICBjb25zdCBvcmdTaG9ydE5hbWUgPSBhdG9tU3RvcmUuZ2V0KG9yZ1Nob3J0TmFtZUF0b20pO1xuICBjb25zdCBvcmdJZCA9IGF0b21TdG9yZS5nZXQob3JnSWRBdG9tKTtcbiAgY29uc3QgdXNlcklkID0gYXRvbVN0b3JlLmdldCh1c2VySWRBdG9tKTtcbiAgY29uc3QgY2hhdElkID0gYXRvbVN0b3JlLmdldChjaGF0SWRBdG9tKTtcbiAgY29uc3Qgc291cmNlID0gYXRvbVN0b3JlLmdldChjb250ZXh0U291cmNlQXRvbSk7XG4gIGNvbnN0IGVudiA9IGF0b21TdG9yZS5nZXQoZW52QXRvbSk7XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlID0gYXRvbVN0b3JlLmdldChmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tKTtcblxuICBjb25zdCBjb250ZXh0ID0ge1xuICAgIHVzZXJJZDogdXNlcklkID8/IFwiXCIsXG4gICAgb3JnX2lkOiBvcmdJZCA/PyBcIlwiLFxuICAgIG9yZ19zaG9ydF9uYW1lOiBvcmdTaG9ydE5hbWUgPz8gXCJcIixcbiAgICBjaGF0X2lkOiBjaGF0SWQgPz8gXCJcIixcbiAgICBzb3VyY2U6IHNvdXJjZSA/PyBDb250ZXh0U291cmNlRW51bS5BcHAsXG4gICAgZW52OiAoZW52IGFzIENvbnRleHRFbnZFbnVtKSA/PyBDb250ZXh0RW52RW51bS5EZXYsXG4gIH07XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdzID1cbiAgICBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZT8uZ2V0RmVhdHVyZUZsYWdzKCkgfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICBpZDogdXVpZCgpLFxuICAgIGNvbnRleHQsXG4gICAgdXNlckV2ZW50cyxcbiAgICBmZWF0dXJlRmxhZ3M6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGZlYXR1cmVGbGFncykuZmlsdGVyKChbLCBpc0VuYWJsZWRdKSA9PiBpc0VuYWJsZWQpXG4gICAgKSwgLy8gQ29udmVydCBiYWNrIHRvIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+XG4gICAgZ2VuZXJhdGlvblBhcmFtcyxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcblxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5cbi8vIFRoaXMgYXRvbSB3aWxsIGhvbGQgdGhlIHRyYWNrRXZlbnQgZnVuY3Rpb24gZnJvbSB0aGUgQW1wbGl0dWRlIGNvbnRleHQuXG4vLyBJdCBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBieSBhIFJlYWN0IGNvbXBvbmVudCB0aGF0IGhhcyBhY2Nlc3MgdG8gdGhlIHVzZUFtcGxpdHVkZSBob29rLlxuZXhwb3J0IGNvbnN0IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tID0gYXRvbTxcbiAgKChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD4pIHwgbnVsbFxuPihudWxsKTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7XG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICB1c2VyUXVlcnlBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL2NoYXRcIjtcbmltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSBcIi4vbWVzc2FnZVF1ZXVlXCI7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcbmltcG9ydCB7IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b21cIjtcblxudHlwZSBIYW5kbGVSZXBseVBhcmFtcyA9IHtcbiAgbWVzc2FnZTogTWVzc2FnZTtcbiAgdXNlclR5cGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVJlcGx5QXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgeyBtZXNzYWdlLCB1c2VyVHlwZWQgfTogSGFuZGxlUmVwbHlQYXJhbXMpID0+IHtcbiAgICBpZiAobWVzc2FnZS50eXBlICE9PSBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhY2tFdmVudCA9IGdldChhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSk7XG4gICAgY29uc3QgcXVlcnlUeXBlZCA9IG1lc3NhZ2UubWV0YWRhdGEuY29udGVudDtcblxuICAgIHNldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLCBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKTtcbiAgICBzZXQodXNlclF1ZXJ5QXRvbSwgcXVlcnlUeXBlZCk7XG4gICAgc2V0KG1lc3NhZ2VzQXRvbSwgWy4uLmdldChtZXNzYWdlc0F0b20pLCBbbWVzc2FnZV1dKTtcbiAgICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgICBzZXQocXVldWVVc2VyRXZlbnRBdG9tLCB7XG4gICAgICBldmVudElkOiBtZXNzYWdlLmlkLFxuICAgICAgY3JlYXRlZEF0OiBtZXNzYWdlLmNyZWF0ZWRBdCxcbiAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBxdWVyeTogcXVlcnlUeXBlZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAodHJhY2tFdmVudCkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0VXNlck1lc3NhZ2VJbnB1dCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIG1lc3NhZ2VfaWQ6IG1lc3NhZ2UuaWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBtZXNzYWdlLnJvbGUsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBtZXNzYWdlLnR5cGUsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogbWVzc2FnZT8ubWV0YWRhdGE/LmNvbnRlbnQsIC8vIFJlbW92ZWQgYW1wbGl0dWRlU2FmZVN0cmluZ1xuICAgICAgICAgICAgY3JlYXRlZF9hdDogbWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGF0b21XaXRoU3RvcmFnZSB9IGZyb20gXCJqb3RhaS91dGlsc1wiO1xuaW1wb3J0IExvZ2dlciBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyXCI7XG5pbXBvcnQge1xuICBnZXRBdG9tU3RvcmUsXG4gIHNlc3Npb25TdG9yYWdlVXRpbCxcbn0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5cbmV4cG9ydCBjb25zdCBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSA9IFwic3BpZmZ5LWFwcC1pbml0aWFsLXN0YXJ0LXRpbWVcIjtcbmV4cG9ydCBjb25zdCBQQUdFX0xPQURfT0ZGU0VUX1RJTUVfS0VZID0gXCJzcGlmZnktcGFnZS1sb2FkLW9mZnNldC10aW1lXCI7XG4vKipcbiAqIFRoZSBkaWZmZXJlbnQgcGVyZm9ybWFuY2UgbWV0cmljcyB0aGF0IGNhbiBiZSBsb2dnZWQuIEFsbCB0aW1lcyBhcmUgcmVsYXRpdmUgdG8gdGhlXG4gKiBpbml0aWFsIHN0YXJ0IHRpbWUgb2YgdGhlIGFwcCBhbmQgYXJlIHN0b3JlZCBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBlbnVtIFBlcmZNZXRyaWNzRXZlbnRzIHtcbiAgUGFnZUxvYWRPZmZzZXQgPSBcInBhZ2VfbG9hZF9vZmZzZXRfbXNcIixcbiAgTWFpbkJ1bmRsZUxvYWRlZCA9IFwibWFpbl9idW5kbGVfbG9hZGVkX21zXCIsXG4gIE9yZ0NvbmZpZ0xvYWRTdGFydGVkID0gXCJvcmdfY29uZmlnX2xvYWRfc3RhcnRlZF9tc1wiLFxuICBPcmdDb25maWdMb2FkRW5kZWQgPSBcIm9yZ19jb25maWdfbG9hZF9lbmRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlU3RhcnRlZCA9IFwiZmlyc3RfcmVzcG9uc2Vfc3RhcnRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlQ29tcGxldGVkID0gXCJmaXJzdF9yZXNwb25zZV9jb21wbGV0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc1N0YXJ0ZWQgPSBcImZpcnN0X3N1Z2dlc3Rpb25zX3N0YXJ0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc0NvbXBsZXRlZCA9IFwiZmlyc3Rfc3VnZ2VzdGlvbnNfY29tcGxldGVkX21zXCIsXG4gIEVtYmVkZGVkV2lkZ2V0UmVuZGVyZWQgPSBcImVtYmVkZGVkX3dpZGdldF9yZW5kZXJlZF9tc1wiLFxuICBGbG9hdGluZ0J1dHRvblJlbmRlcmVkID0gXCJmbG9hdGluZ19idXR0b25fcmVuZGVyZWRfbXNcIixcbiAgVG9wU3VnZ2VzdGlvbnNCYXJSZW5kZXJlZCA9IFwidG9wX3N1Z2dlc3Rpb25zX2Jhcl9yZW5kZXJlZF9tc1wiLFxuICBCb3R0b21TdWdnZXN0aW9uc0JhclJlbmRlcmVkID0gXCJib3R0b21fc3VnZ2VzdGlvbnNfYmFyX3JlbmRlcmVkX21zXCIsXG4gIFNlYXJjaFByb21wdFJlbmRlcmVkID0gXCJzZWFyY2hfcHJvbXB0X3JlbmRlcmVkX21zXCIsXG59XG5cbmNvbnN0IGludGVybmFsUGVyZk1ldHJpY3NBdG9tID0gYXRvbTxNYXA8UGVyZk1ldHJpY3NFdmVudHMsIG51bWJlcj4+KG5ldyBNYXAoKSk7XG5leHBvcnQgY29uc3QgYXBwSW5pdGlhbFN0YXJ0VGltZU1zQXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSxcbiAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBwYWdlTG9hZE9mZnNldFRpbWVBdG9tID0gYXRvbVdpdGhTdG9yYWdlPHN0cmluZyB8IHVuZGVmaW5lZD4oXG4gIFBBR0VfTE9BRF9PRkZTRVRfVElNRV9LRVksXG4gIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oUEFHRV9MT0FEX09GRlNFVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbi8qKlxuICogUmVzZXRzIHRoZSBwZXJmb3JtYW5jZSBtZXRyaWNzIGF0b20gdG8gYW4gZW1wdHkgbWFwLiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIHBlcmZvcm1hbmNlXG4gKiBtZXRyaWNzIGhhdmUgYmVlbiByZXBvcnRlZCB0byBhbXBsaXR1ZGUuIE9uIFNQQSwgaXQgZW5zdXJlcyB0aGF0IHdlIGNhbiBzdGlsbCBjYXB0dXJlIG1ldHJpY3MgYXNcbiAqIHRoZSB1c2VyIG5hdmlnYXRlcyBhcm91bmQgdGhlIGFwcCAoYWx0aG91Z2ggdGhlcmUgaXMgbW9yZSB3b3JrIHRvIGJlIGRvbmUgdG8gZnVsbHkgZW5hYmxlIHRoaXMpLlxuICogT24gbm9uLVNQQSwgaXQgZW5zdXJlcyB0aGF0IHByZXZpb3VzbHkgY2FwdHVyZWQgbWV0cmljcyBhcmUgbm90IHJlcG9ydGVkIGFnYWluLlxuICovXG5leHBvcnQgY29uc3QgcmVzZXRQZXJmb3JtYW5jZU1ldHJpY3NBdG9tID0gKCkgPT4ge1xuICBjb25zdCBhdG9tU3RvcmUgPSBnZXRBdG9tU3RvcmUoKTtcbiAgYXRvbVN0b3JlLnNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgbmV3IE1hcCgpKTtcbn07XG5leHBvcnQgY29uc3QgcGVyZm9ybWFuY2VNZXRyaWNzQXRvbSA9IGF0b20oKGdldCkgPT5cbiAgZ2V0KGludGVybmFsUGVyZk1ldHJpY3NBdG9tKVxuKTtcbmV4cG9ydCBjb25zdCBoYXNSZXBvcnRlZFBlcmZvcm1hbmNlTWV0cmljc0F0b20gPSBhdG9tPGJvb2xlYW4+KGZhbHNlKTtcblxuLyoqXG4gKiBMb2dzIGEgcGVyZm9ybWFuY2UgbWV0cmljIGJ5IGNhcHR1cmluZyB0aGUgZGVsdGEgYmV0d2VlbiB0aGUgaW5pdGlhbCBhcHAgc3RhcnQgdGltZVxuICogYW5kIHRoZSBjdXJyZW50IHRpbWUuIElmIHRoZSBtZXRyaWMgaGFzIGFscmVhZHkgYmVlbiBsb2dnZWQsIGl0IHdpbGwgbm90IGJlIGxvZ2dlZCBhZ2Fpbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIHBlcmZvcm1hbmNlIG1ldHJpYyBuYW1lIHRvIGxvZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvZ1BlcmZNZXRyaWNBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCB2YWx1ZTogUGVyZk1ldHJpY3NFdmVudHMpID0+IHtcbiAgICBjb25zdCBpbml0aWFsVGltZVN0b3JhZ2VWYWx1ZSA9IGdldChhcHBJbml0aWFsU3RhcnRUaW1lTXNBdG9tKTtcbiAgICBjb25zdCBpbml0aWFsVGltZU1zID0gaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWVcbiAgICAgID8gcGFyc2VJbnQoaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWUsIDEwKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaW5pdGlhbFRpbWVNcyA9PSBudWxsKSB7XG4gICAgICBMb2dnZXIubG9nV2FybihcbiAgICAgICAgYFtzcGlmZnktYWldIE5vIGluaXRpYWwgYXBwIHN0YXJ0IHRpbWUgZm91bmQuIFNraXBwaW5nLi4uYCxcbiAgICAgICAgdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRQZXJmTWV0cmljcyA9IGdldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSk7XG4gICAgaWYgKGN1cnJlbnRQZXJmTWV0cmljcy5oYXModmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFRpbWVNcyA9IERhdGUubm93KCk7XG4gICAgY29uc3QgZGVsdGFNcyA9IGN1cnJlbnRUaW1lTXMgLSBpbml0aWFsVGltZU1zO1xuICAgIGN1cnJlbnRQZXJmTWV0cmljcy5zZXQodmFsdWUsIGRlbHRhTXMpO1xuICAgIHNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgY3VycmVudFBlcmZNZXRyaWNzKTtcbiAgfVxuKTtcbiIsImltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcywgVXNlckV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBmb3JtU3VibWl0QXRvbSwgcmVwbHlFdmVudENhdGVnb3J5QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0JztcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVGb3JtU3VibWl0dGVkQXRvbSA9IGF0b20obnVsbCwgKF8sIHNldCwgZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgc2V0KHJlcGx5RXZlbnRDYXRlZ29yeUF0b20sIFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpO1xuICBzZXQoZm9ybVN1Ym1pdEF0b20sIGZvcm0pO1xuXG4gIGNvbnN0IGZvcm1Vc2VyRXZlbnQgPSB7XG4gICAgZXZlbnRJZDogdXVpZCgpLFxuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIGF0dHJpYnV0ZXM6IGZvcm0sXG4gIH0gc2F0aXNmaWVzIFVzZXJFdmVudDtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwgZm9ybVVzZXJFdmVudCk7XG59KTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlUm9sZSwgTWVzc2FnZVR5cGUsIFN1Z2dlc3Rpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7XG4gIG1lc3NhZ2VzQXRvbSxcbiAgcmVwbHlFdmVudENhdGVnb3J5QXRvbSxcbiAgc3VnZ2VzdGlvbkF0b20sXG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSAnLi9tZXNzYWdlUXVldWUnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU3VnZ2VzdGlvbkF0b20gPSBhdG9tKG51bGwsIChnZXQsIHNldCwgc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbikgPT4ge1xuICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgIGlkOiBzdWdnZXN0aW9uLmlkLFxuICAgIHJvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgdHlwZTogTWVzc2FnZVR5cGUuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIHN1Z2dlc3Rpb25JZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgIHN1Z2dlc3Rpb25Db250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgfSxcbiAgfTtcblxuICBzZXQocmVwbHlFdmVudENhdGVnb3J5QXRvbSwgVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpO1xuICBzZXQoc3VnZ2VzdGlvbkF0b20sIHN1Z2dlc3Rpb24pO1xuICBzZXQobWVzc2FnZXNBdG9tLCBbLi4uZ2V0KG1lc3NhZ2VzQXRvbSksIFtuZXdNZXNzYWdlXV0pO1xuICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwge1xuICAgIGV2ZW50SWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkLFxuICAgIGNyZWF0ZWRBdDogbmV3TWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgc3VnZ2VzdGlvbklkOiBzdWdnZXN0aW9uLmlkLFxuICAgIH0sXG4gIH0pO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgbWVzc2FnZXNBdG9tLCB1c2VySGFzUmVwbGllZEF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5cbmV4cG9ydCBjb25zdCBsYXN0QXNzaXN0YW50TWVzc2FnZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgbWVzc2FnZXMgPSBnZXQobWVzc2FnZXNBdG9tKTtcbiAgY29uc3QgdXNlckhhc1JlcGxpZWQgPSBnZXQodXNlckhhc1JlcGxpZWRBdG9tKTtcbiAgaWYgKG1lc3NhZ2VzLmxlbmd0aCA+IDAgJiYgIXVzZXJIYXNSZXBsaWVkKSB7XG4gICAgcmV0dXJuIG1lc3NhZ2VzW21lc3NhZ2VzLmxlbmd0aCAtIDFdO1xuICB9XG4gIHJldHVybiBudWxsO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBnZXRBdG9tU3RvcmUgfSBmcm9tIFwic3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmVcIjtcblxuY29uc3QgaW50ZXJuYWxXaWRnZXRBcnJheUF0b20gPSBhdG9tPEhUTUxFbGVtZW50W10+KFtdKTtcblxuZXhwb3J0IGNvbnN0IHdpZGdldEFycmF5QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsV2lkZ2V0QXJyYXlBdG9tKSk7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBjYWxsIGlzIHVzZWQgdG8gY3JlYXRlIGEgbGlzdCBvZiB0aGUgU3BpZmZ5IHdpZGdldHNcbiAqIHRoYXQgYXJlIHJlbmRlcmluZyBvbiB0aGUgcGFnZS5cbiAqXG4gKiBJdCBpcyB1c2VkIGJ5IHRoZSBGbG9hdGluZ0J1dHRvbiB3aWRnZXQgdG8gc2xpZGUgb3V0IG9mIHZpZXcgd2hlbiBpdFxuICogb3ZlcmxhcHMgd2l0aCBhbm90aGVyIFNwaWZmeSB3aWRnZXQuXG4gKlxuICogVGhlIHNwaWZmeSB3aWRnZXRzIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgdGhpcyBhcnJheSBmb3IgdGhlIGZsb2F0aW5nIGJ1dHRvblxuICogdG8ga25vdyBhYm91dCB0aGVtLlxuICpcbiAqIFRvZGF5IHRoZSBcIlN1Z2dlc3Rpb25CYXJcIiB3aWRnZXQgaXMgbm90IGFkZGVkLCBidXQgdGhlIG90aGVyIHdpZGdldHMgYXJlLlxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IGFkZFdpZGdldCA9IChyZWY6IEhUTUxFbGVtZW50LCBpZHg/OiBudW1iZXIpID0+IHtcbiAgY29uc3QgYXRvbVN0b3JlID0gZ2V0QXRvbVN0b3JlKCk7XG4gIGNvbnN0IHZhbCA9IGF0b21TdG9yZS5nZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20pO1xuICBjb25zdCBpbnNlcnRJZHggPSBpZHggPz8gdmFsLmxlbmd0aDtcbiAgdmFsW2luc2VydElkeF0gPSByZWY7XG4gIGF0b21TdG9yZS5zZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20sIHZhbCk7XG59O1xuIiwiaW1wb3J0IHsgYXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7XG4gIHJlc3BvbnNlU3RyZWFtaW5nQXRvbSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICB1c2VyUXVlcnlBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxuICB1c2VySGFzUmVwbGllZEF0b20sXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbiAgY2hhdElzT3BlbkF0b20sXG4gIGNoYXRPblRvZ2dsZUF0b20sXG4gIHVzZXJFdmVudHNBdG9tLFxuICBzdWdnZXN0aW9uQXRvbSxcbn0gZnJvbSAnLi9jaGF0U3RhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NoYXRTdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcGxpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJmb3JtYW5jZU1ldHJpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXN0TWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbmRlcmVkV2lkZ2V0UmVmcyc7XG5cbmV4cG9ydCBjb25zdCBjaGF0QXRvbSA9IGF0b20oKGdldCkgPT4gKHtcbiAgdXNlckhhc1JlcGxpZWQ6IGdldCh1c2VySGFzUmVwbGllZEF0b20pLFxuICByZXBseUV2ZW50Q2F0ZWdvcnk6IGdldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tKSxcbiAgdXNlclF1ZXJ5OiBnZXQodXNlclF1ZXJ5QXRvbSksXG4gIHN1Z2dlc3Rpb246IGdldChzdWdnZXN0aW9uQXRvbSksXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZDogZ2V0KGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20pLFxuICBtZXNzYWdlczogZ2V0KG1lc3NhZ2VzQXRvbSksXG4gIHVzZXJFdmVudHM6IGdldCh1c2VyRXZlbnRzQXRvbSksXG4gIHN1Z2dlc3Rpb25zOiBnZXQoc3VnZ2VzdGlvbnNBdG9tKSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nOiBnZXQoc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSksXG4gIHJlc3BvbnNlU3RyZWFtaW5nOiBnZXQocmVzcG9uc2VTdHJlYW1pbmdBdG9tKSxcbiAgaXNPcGVuOiBnZXQoY2hhdElzT3BlbkF0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
|
|
258
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1CTkRZS3NxRi5qcyIsIm5hbWVzIjpbInV1aWQiLCJ1dWlkIiwibmV3TWVzc2FnZTogTWVzc2FnZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZS50cyIsIi4uL3NyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b20udHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9yZXBsaWVzLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvcGVyZm9ybWFuY2VNZXRyaWNzLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvZm9ybS50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L3N1Z2dlc3Rpb25zLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvbGFzdE1lc3NhZ2UudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9yZW5kZXJlZFdpZGdldFJlZnMudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSBcInV1aWRcIjtcbmltcG9ydCB7XG4gIEdlbmVyYXRpb25QYXJhbXMsXG4gIE5leHRNZXNzYWdlUmVxdWVzdCxcbiAgVXNlckV2ZW50LFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5pbXBvcnQgeyB1c2VySWRBdG9tLCBjaGF0SWRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hcHBcIjtcbmltcG9ydCB7XG4gIG9yZ1Nob3J0TmFtZUF0b20sXG4gIGNvbnRleHRTb3VyY2VBdG9tLFxuICBlbnZBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCB7IG9yZ0lkQXRvbSwgZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSB9IGZyb20gXCJzcmMvYXRvbXMvb3JnL2dyYXBocWxDb25maWdcIjtcblxuY29uc3QgaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20gPSBhdG9tPFVzZXJFdmVudFtdPihbXSk7XG5cbmV4cG9ydCBjb25zdCB1c2VyRXZlbnRRdWV1ZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgcXVldWUgPSBnZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pO1xuICByZXR1cm4gcXVldWUgPT09IHVuZGVmaW5lZCA/IFtdIDogcXVldWUuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQpO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gcXVldWUgYSBuZXcgbWVzc2FnZSBmb3IgcHJvY2Vzc2luZyBvbiBgbmV4dF9yZXNwb25zZXNgXG4gKiBJdCByZWNlaXZlcyBhIHNpbmdsZSBgdXNlckV2ZW50YCB0aGF0IGlzIGFkZGVkIHRvIHRoZSBwcm9jZXNzaW5nIHF1ZXVlLlxuICogSWYgdGhlIGV2ZW50IGhhcyB0aGUgc2FtZSBldmVudElkIGFzIGFuIGV4aXN0aW5nIG1lc3NhZ2UgaW4gdGhlIHF1ZXVlIHRoZSBORVdcbiAqIGV2ZW50IGlzIGlnbm9yZWRcbiAqL1xuZXhwb3J0IGNvbnN0IHF1ZXVlVXNlckV2ZW50QXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgdXNlckV2ZW50OiBVc2VyRXZlbnQpID0+IHtcbiAgICBpZiAodXNlckV2ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCBbXG4gICAgICAuLi5nZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pLFxuICAgICAgdXNlckV2ZW50LFxuICAgIF0pO1xuICB9XG4pO1xuXG4vKipcbiAqIFRoaXMgYXRvbSBleHBvc2VzIGEgZnVuY3Rpb24gdG8gcmVzZXQgdGhlIGVudGlyZSBxdWV1ZS4gQWxsIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZSB3aWxsIGJlIHB1cmdlZFxuICovXG5leHBvcnQgY29uc3QgY2xlYXJVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoXywgc2V0KSA9PiB7XG4gIHNldChpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSwgW10pO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gbWFyayBldmVudHMgYXMgcHJvY2Vzc2VkIGFuZCByZW1vdmUgdGhlbSBmcm9tIHRoZSBxdWV1ZVxuICogSXQgYWNjZXB0cyBhIGxpc3Qgb2YgZXZlbnRJZCB2YWx1ZXMgYW5kIHdpbGwgcmVtb3ZlIGFsbCBldmVudHMgd2l0aCB0aG9zZSBldmVudElkcyBmcm9tIHRoZSBxdWV1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHByb2Nlc3NVc2VyRXZlbnRBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCBldmVudElkczogc3RyaW5nW10pID0+IHtcbiAgICBjb25zdCBjdXJyID0gZ2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tKTtcbiAgICBjb25zdCByZW1haW5pbmcgPSBjdXJyPy5maWx0ZXIoXG4gICAgICAoZXZlbnQpID0+ICFldmVudElkcy5pbmNsdWRlcyhldmVudC5ldmVudElkKVxuICAgICk7XG4gICAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCByZW1haW5pbmcpO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXNlclF1ZXVlRXZlbnRDb3VudEF0b20gPSBhdG9tKFxuICAoZ2V0KSA9PiBnZXQodXNlckV2ZW50UXVldWVBdG9tKS5sZW5ndGhcbik7XG5cbmltcG9ydCB7XG4gIENvbnRleHRTb3VyY2VFbnVtLFxuICBDb250ZXh0RW52RW51bSxcbn0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiOyAvLyBJbXBvcnQgbmVjZXNzYXJ5IGVudW1zXG4vLyBpbXBvcnQgdHlwZSB7IENvbnRleHQgfSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50L2Rpc3QvbW9kZWxzL0NvbnRleHRcIjsgLy8gSW1wb3J0IENvbnRleHQgdHlwZVxuXG5leHBvcnQgY29uc3QgY3JlYXRlUmVzcG9uc2VQYXlsb2FkID0gKHtcbiAgdXNlckV2ZW50cyxcbiAgZ2VuZXJhdGlvblBhcmFtcyxcbn06IHtcbiAgdXNlckV2ZW50czogVXNlckV2ZW50W107XG4gIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xufSk6IE5leHRNZXNzYWdlUmVxdWVzdCA9PiB7XG4gIGNvbnN0IGF0b21TdG9yZSA9IGdldEF0b21TdG9yZSgpO1xuICBjb25zdCBvcmdTaG9ydE5hbWUgPSBhdG9tU3RvcmUuZ2V0KG9yZ1Nob3J0TmFtZUF0b20pO1xuICBjb25zdCBvcmdJZCA9IGF0b21TdG9yZS5nZXQob3JnSWRBdG9tKTtcbiAgY29uc3QgdXNlcklkID0gYXRvbVN0b3JlLmdldCh1c2VySWRBdG9tKTtcbiAgY29uc3QgY2hhdElkID0gYXRvbVN0b3JlLmdldChjaGF0SWRBdG9tKTtcbiAgY29uc3Qgc291cmNlID0gYXRvbVN0b3JlLmdldChjb250ZXh0U291cmNlQXRvbSk7XG4gIGNvbnN0IGVudiA9IGF0b21TdG9yZS5nZXQoZW52QXRvbSk7XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlID0gYXRvbVN0b3JlLmdldChmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tKTtcblxuICBjb25zdCBjb250ZXh0ID0ge1xuICAgIHVzZXJJZDogdXNlcklkID8/IFwiXCIsXG4gICAgb3JnX2lkOiBvcmdJZCA/PyBcIlwiLFxuICAgIG9yZ19zaG9ydF9uYW1lOiBvcmdTaG9ydE5hbWUgPz8gXCJcIixcbiAgICBjaGF0X2lkOiBjaGF0SWQgPz8gXCJcIixcbiAgICBzb3VyY2U6IHNvdXJjZSA/PyBDb250ZXh0U291cmNlRW51bS5BcHAsXG4gICAgZW52OiAoZW52IGFzIENvbnRleHRFbnZFbnVtKSA/PyBDb250ZXh0RW52RW51bS5EZXYsXG4gIH07XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdzID1cbiAgICBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZT8uZ2V0RmVhdHVyZUZsYWdzKCkgfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICBpZDogdXVpZCgpLFxuICAgIGNvbnRleHQsXG4gICAgdXNlckV2ZW50cyxcbiAgICBmZWF0dXJlRmxhZ3M6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGZlYXR1cmVGbGFncykuZmlsdGVyKChbLCBpc0VuYWJsZWRdKSA9PiBpc0VuYWJsZWQpXG4gICAgKSwgLy8gQ29udmVydCBiYWNrIHRvIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+XG4gICAgZ2VuZXJhdGlvblBhcmFtcyxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcblxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5cbi8vIFRoaXMgYXRvbSB3aWxsIGhvbGQgdGhlIHRyYWNrRXZlbnQgZnVuY3Rpb24gZnJvbSB0aGUgQW1wbGl0dWRlIGNvbnRleHQuXG4vLyBJdCBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBieSBhIFJlYWN0IGNvbXBvbmVudCB0aGF0IGhhcyBhY2Nlc3MgdG8gdGhlIHVzZUFtcGxpdHVkZSBob29rLlxuZXhwb3J0IGNvbnN0IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tID0gYXRvbTxcbiAgKChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD4pIHwgbnVsbFxuPihudWxsKTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7XG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICB1c2VyUXVlcnlBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL2NoYXRcIjtcbmltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSBcIi4vbWVzc2FnZVF1ZXVlXCI7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcbmltcG9ydCB7IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b21cIjtcblxudHlwZSBIYW5kbGVSZXBseVBhcmFtcyA9IHtcbiAgbWVzc2FnZTogTWVzc2FnZTtcbiAgdXNlclR5cGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVJlcGx5QXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgeyBtZXNzYWdlLCB1c2VyVHlwZWQgfTogSGFuZGxlUmVwbHlQYXJhbXMpID0+IHtcbiAgICBpZiAobWVzc2FnZS50eXBlICE9PSBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhY2tFdmVudCA9IGdldChhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSk7XG4gICAgY29uc3QgcXVlcnlUeXBlZCA9IG1lc3NhZ2UubWV0YWRhdGEuY29udGVudDtcblxuICAgIHNldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLCBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKTtcbiAgICBzZXQodXNlclF1ZXJ5QXRvbSwgcXVlcnlUeXBlZCk7XG4gICAgc2V0KG1lc3NhZ2VzQXRvbSwgWy4uLmdldChtZXNzYWdlc0F0b20pLCBbbWVzc2FnZV1dKTtcbiAgICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgICBzZXQocXVldWVVc2VyRXZlbnRBdG9tLCB7XG4gICAgICBldmVudElkOiBtZXNzYWdlLmlkLFxuICAgICAgY3JlYXRlZEF0OiBtZXNzYWdlLmNyZWF0ZWRBdCxcbiAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBxdWVyeTogcXVlcnlUeXBlZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAodHJhY2tFdmVudCkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0VXNlck1lc3NhZ2VJbnB1dCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIG1lc3NhZ2VfaWQ6IG1lc3NhZ2UuaWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBtZXNzYWdlLnJvbGUsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBtZXNzYWdlLnR5cGUsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogbWVzc2FnZT8ubWV0YWRhdGE/LmNvbnRlbnQsIC8vIFJlbW92ZWQgYW1wbGl0dWRlU2FmZVN0cmluZ1xuICAgICAgICAgICAgY3JlYXRlZF9hdDogbWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGF0b21XaXRoU3RvcmFnZSB9IGZyb20gXCJqb3RhaS91dGlsc1wiO1xuaW1wb3J0IExvZ2dlciBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyXCI7XG5pbXBvcnQge1xuICBnZXRBdG9tU3RvcmUsXG4gIHNlc3Npb25TdG9yYWdlVXRpbCxcbn0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5cbmV4cG9ydCBjb25zdCBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSA9IFwic3BpZmZ5LWFwcC1pbml0aWFsLXN0YXJ0LXRpbWVcIjtcbmV4cG9ydCBjb25zdCBQQUdFX0xPQURfT0ZGU0VUX1RJTUVfS0VZID0gXCJzcGlmZnktcGFnZS1sb2FkLW9mZnNldC10aW1lXCI7XG4vKipcbiAqIFRoZSBkaWZmZXJlbnQgcGVyZm9ybWFuY2UgbWV0cmljcyB0aGF0IGNhbiBiZSBsb2dnZWQuIEFsbCB0aW1lcyBhcmUgcmVsYXRpdmUgdG8gdGhlXG4gKiBpbml0aWFsIHN0YXJ0IHRpbWUgb2YgdGhlIGFwcCBhbmQgYXJlIHN0b3JlZCBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBlbnVtIFBlcmZNZXRyaWNzRXZlbnRzIHtcbiAgUGFnZUxvYWRPZmZzZXQgPSBcInBhZ2VfbG9hZF9vZmZzZXRfbXNcIixcbiAgTWFpbkJ1bmRsZUxvYWRlZCA9IFwibWFpbl9idW5kbGVfbG9hZGVkX21zXCIsXG4gIE9yZ0NvbmZpZ0xvYWRTdGFydGVkID0gXCJvcmdfY29uZmlnX2xvYWRfc3RhcnRlZF9tc1wiLFxuICBPcmdDb25maWdMb2FkRW5kZWQgPSBcIm9yZ19jb25maWdfbG9hZF9lbmRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlU3RhcnRlZCA9IFwiZmlyc3RfcmVzcG9uc2Vfc3RhcnRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlQ29tcGxldGVkID0gXCJmaXJzdF9yZXNwb25zZV9jb21wbGV0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc1N0YXJ0ZWQgPSBcImZpcnN0X3N1Z2dlc3Rpb25zX3N0YXJ0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc0NvbXBsZXRlZCA9IFwiZmlyc3Rfc3VnZ2VzdGlvbnNfY29tcGxldGVkX21zXCIsXG4gIEVtYmVkZGVkV2lkZ2V0UmVuZGVyZWQgPSBcImVtYmVkZGVkX3dpZGdldF9yZW5kZXJlZF9tc1wiLFxuICBGbG9hdGluZ0J1dHRvblJlbmRlcmVkID0gXCJmbG9hdGluZ19idXR0b25fcmVuZGVyZWRfbXNcIixcbiAgVG9wU3VnZ2VzdGlvbnNCYXJSZW5kZXJlZCA9IFwidG9wX3N1Z2dlc3Rpb25zX2Jhcl9yZW5kZXJlZF9tc1wiLFxuICBCb3R0b21TdWdnZXN0aW9uc0JhclJlbmRlcmVkID0gXCJib3R0b21fc3VnZ2VzdGlvbnNfYmFyX3JlbmRlcmVkX21zXCIsXG4gIFNlYXJjaFByb21wdFJlbmRlcmVkID0gXCJzZWFyY2hfcHJvbXB0X3JlbmRlcmVkX21zXCIsXG59XG5cbmNvbnN0IGludGVybmFsUGVyZk1ldHJpY3NBdG9tID0gYXRvbTxNYXA8UGVyZk1ldHJpY3NFdmVudHMsIG51bWJlcj4+KG5ldyBNYXAoKSk7XG5leHBvcnQgY29uc3QgYXBwSW5pdGlhbFN0YXJ0VGltZU1zQXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSxcbiAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBwYWdlTG9hZE9mZnNldFRpbWVBdG9tID0gYXRvbVdpdGhTdG9yYWdlPHN0cmluZyB8IHVuZGVmaW5lZD4oXG4gIFBBR0VfTE9BRF9PRkZTRVRfVElNRV9LRVksXG4gIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oUEFHRV9MT0FEX09GRlNFVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbi8qKlxuICogUmVzZXRzIHRoZSBwZXJmb3JtYW5jZSBtZXRyaWNzIGF0b20gdG8gYW4gZW1wdHkgbWFwLiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIHBlcmZvcm1hbmNlXG4gKiBtZXRyaWNzIGhhdmUgYmVlbiByZXBvcnRlZCB0byBhbXBsaXR1ZGUuIE9uIFNQQSwgaXQgZW5zdXJlcyB0aGF0IHdlIGNhbiBzdGlsbCBjYXB0dXJlIG1ldHJpY3MgYXNcbiAqIHRoZSB1c2VyIG5hdmlnYXRlcyBhcm91bmQgdGhlIGFwcCAoYWx0aG91Z2ggdGhlcmUgaXMgbW9yZSB3b3JrIHRvIGJlIGRvbmUgdG8gZnVsbHkgZW5hYmxlIHRoaXMpLlxuICogT24gbm9uLVNQQSwgaXQgZW5zdXJlcyB0aGF0IHByZXZpb3VzbHkgY2FwdHVyZWQgbWV0cmljcyBhcmUgbm90IHJlcG9ydGVkIGFnYWluLlxuICovXG5leHBvcnQgY29uc3QgcmVzZXRQZXJmb3JtYW5jZU1ldHJpY3NBdG9tID0gKCkgPT4ge1xuICBjb25zdCBhdG9tU3RvcmUgPSBnZXRBdG9tU3RvcmUoKTtcbiAgYXRvbVN0b3JlLnNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgbmV3IE1hcCgpKTtcbn07XG5leHBvcnQgY29uc3QgcGVyZm9ybWFuY2VNZXRyaWNzQXRvbSA9IGF0b20oKGdldCkgPT5cbiAgZ2V0KGludGVybmFsUGVyZk1ldHJpY3NBdG9tKVxuKTtcbmV4cG9ydCBjb25zdCBoYXNSZXBvcnRlZFBlcmZvcm1hbmNlTWV0cmljc0F0b20gPSBhdG9tPGJvb2xlYW4+KGZhbHNlKTtcblxuLyoqXG4gKiBMb2dzIGEgcGVyZm9ybWFuY2UgbWV0cmljIGJ5IGNhcHR1cmluZyB0aGUgZGVsdGEgYmV0d2VlbiB0aGUgaW5pdGlhbCBhcHAgc3RhcnQgdGltZVxuICogYW5kIHRoZSBjdXJyZW50IHRpbWUuIElmIHRoZSBtZXRyaWMgaGFzIGFscmVhZHkgYmVlbiBsb2dnZWQsIGl0IHdpbGwgbm90IGJlIGxvZ2dlZCBhZ2Fpbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIHBlcmZvcm1hbmNlIG1ldHJpYyBuYW1lIHRvIGxvZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvZ1BlcmZNZXRyaWNBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCB2YWx1ZTogUGVyZk1ldHJpY3NFdmVudHMpID0+IHtcbiAgICBjb25zdCBpbml0aWFsVGltZVN0b3JhZ2VWYWx1ZSA9IGdldChhcHBJbml0aWFsU3RhcnRUaW1lTXNBdG9tKTtcbiAgICBjb25zdCBpbml0aWFsVGltZU1zID0gaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWVcbiAgICAgID8gcGFyc2VJbnQoaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWUsIDEwKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaW5pdGlhbFRpbWVNcyA9PSBudWxsKSB7XG4gICAgICBMb2dnZXIubG9nV2FybihcbiAgICAgICAgYFtzcGlmZnktYWldIE5vIGluaXRpYWwgYXBwIHN0YXJ0IHRpbWUgZm91bmQuIFNraXBwaW5nLi4uYCxcbiAgICAgICAgdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRQZXJmTWV0cmljcyA9IGdldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSk7XG4gICAgaWYgKGN1cnJlbnRQZXJmTWV0cmljcy5oYXModmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFRpbWVNcyA9IERhdGUubm93KCk7XG4gICAgY29uc3QgZGVsdGFNcyA9IGN1cnJlbnRUaW1lTXMgLSBpbml0aWFsVGltZU1zO1xuICAgIGN1cnJlbnRQZXJmTWV0cmljcy5zZXQodmFsdWUsIGRlbHRhTXMpO1xuICAgIHNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgY3VycmVudFBlcmZNZXRyaWNzKTtcbiAgfVxuKTtcbiIsImltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcywgVXNlckV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBmb3JtU3VibWl0QXRvbSwgcmVwbHlFdmVudENhdGVnb3J5QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0JztcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVGb3JtU3VibWl0dGVkQXRvbSA9IGF0b20obnVsbCwgKF8sIHNldCwgZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgc2V0KHJlcGx5RXZlbnRDYXRlZ29yeUF0b20sIFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpO1xuICBzZXQoZm9ybVN1Ym1pdEF0b20sIGZvcm0pO1xuXG4gIGNvbnN0IGZvcm1Vc2VyRXZlbnQgPSB7XG4gICAgZXZlbnRJZDogdXVpZCgpLFxuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIGF0dHJpYnV0ZXM6IGZvcm0sXG4gIH0gc2F0aXNmaWVzIFVzZXJFdmVudDtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwgZm9ybVVzZXJFdmVudCk7XG59KTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlUm9sZSwgTWVzc2FnZVR5cGUsIFN1Z2dlc3Rpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7XG4gIG1lc3NhZ2VzQXRvbSxcbiAgcmVwbHlFdmVudENhdGVnb3J5QXRvbSxcbiAgc3VnZ2VzdGlvbkF0b20sXG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSAnLi9tZXNzYWdlUXVldWUnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU3VnZ2VzdGlvbkF0b20gPSBhdG9tKG51bGwsIChnZXQsIHNldCwgc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbikgPT4ge1xuICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgIGlkOiBzdWdnZXN0aW9uLmlkLFxuICAgIHJvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgdHlwZTogTWVzc2FnZVR5cGUuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIHN1Z2dlc3Rpb25JZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgIHN1Z2dlc3Rpb25Db250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgfSxcbiAgfTtcblxuICBzZXQocmVwbHlFdmVudENhdGVnb3J5QXRvbSwgVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpO1xuICBzZXQoc3VnZ2VzdGlvbkF0b20sIHN1Z2dlc3Rpb24pO1xuICBzZXQobWVzc2FnZXNBdG9tLCBbLi4uZ2V0KG1lc3NhZ2VzQXRvbSksIFtuZXdNZXNzYWdlXV0pO1xuICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwge1xuICAgIGV2ZW50SWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkLFxuICAgIGNyZWF0ZWRBdDogbmV3TWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgc3VnZ2VzdGlvbklkOiBzdWdnZXN0aW9uLmlkLFxuICAgIH0sXG4gIH0pO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgbWVzc2FnZXNBdG9tLCB1c2VySGFzUmVwbGllZEF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5cbmV4cG9ydCBjb25zdCBsYXN0QXNzaXN0YW50TWVzc2FnZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgbWVzc2FnZXMgPSBnZXQobWVzc2FnZXNBdG9tKTtcbiAgY29uc3QgdXNlckhhc1JlcGxpZWQgPSBnZXQodXNlckhhc1JlcGxpZWRBdG9tKTtcbiAgaWYgKG1lc3NhZ2VzLmxlbmd0aCA+IDAgJiYgIXVzZXJIYXNSZXBsaWVkKSB7XG4gICAgcmV0dXJuIG1lc3NhZ2VzW21lc3NhZ2VzLmxlbmd0aCAtIDFdO1xuICB9XG4gIHJldHVybiBudWxsO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBnZXRBdG9tU3RvcmUgfSBmcm9tIFwic3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmVcIjtcblxuY29uc3QgaW50ZXJuYWxXaWRnZXRBcnJheUF0b20gPSBhdG9tPEhUTUxFbGVtZW50W10+KFtdKTtcblxuZXhwb3J0IGNvbnN0IHdpZGdldEFycmF5QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsV2lkZ2V0QXJyYXlBdG9tKSk7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBjYWxsIGlzIHVzZWQgdG8gY3JlYXRlIGEgbGlzdCBvZiB0aGUgU3BpZmZ5IHdpZGdldHNcbiAqIHRoYXQgYXJlIHJlbmRlcmluZyBvbiB0aGUgcGFnZS5cbiAqXG4gKiBJdCBpcyB1c2VkIGJ5IHRoZSBGbG9hdGluZ0J1dHRvbiB3aWRnZXQgdG8gc2xpZGUgb3V0IG9mIHZpZXcgd2hlbiBpdFxuICogb3ZlcmxhcHMgd2l0aCBhbm90aGVyIFNwaWZmeSB3aWRnZXQuXG4gKlxuICogVGhlIHNwaWZmeSB3aWRnZXRzIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgdGhpcyBhcnJheSBmb3IgdGhlIGZsb2F0aW5nIGJ1dHRvblxuICogdG8ga25vdyBhYm91dCB0aGVtLlxuICpcbiAqIFRvZGF5IHRoZSBcIlN1Z2dlc3Rpb25CYXJcIiB3aWRnZXQgaXMgbm90IGFkZGVkLCBidXQgdGhlIG90aGVyIHdpZGdldHMgYXJlLlxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IGFkZFdpZGdldCA9IChyZWY6IEhUTUxFbGVtZW50LCBpZHg/OiBudW1iZXIpID0+IHtcbiAgY29uc3QgYXRvbVN0b3JlID0gZ2V0QXRvbVN0b3JlKCk7XG4gIGNvbnN0IHZhbCA9IGF0b21TdG9yZS5nZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20pO1xuICBjb25zdCBpbnNlcnRJZHggPSBpZHggPz8gdmFsLmxlbmd0aDtcbiAgdmFsW2luc2VydElkeF0gPSByZWY7XG4gIGF0b21TdG9yZS5zZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20sIHZhbCk7XG59O1xuIiwiaW1wb3J0IHsgYXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7XG4gIHJlc3BvbnNlU3RyZWFtaW5nQXRvbSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICB1c2VyUXVlcnlBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxuICB1c2VySGFzUmVwbGllZEF0b20sXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbiAgY2hhdElzT3BlbkF0b20sXG4gIGNoYXRPblRvZ2dsZUF0b20sXG4gIHVzZXJFdmVudHNBdG9tLFxuICBzdWdnZXN0aW9uQXRvbSxcbn0gZnJvbSAnLi9jaGF0U3RhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NoYXRTdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcGxpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJmb3JtYW5jZU1ldHJpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXN0TWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbmRlcmVkV2lkZ2V0UmVmcyc7XG5cbmV4cG9ydCBjb25zdCBjaGF0QXRvbSA9IGF0b20oKGdldCkgPT4gKHtcbiAgdXNlckhhc1JlcGxpZWQ6IGdldCh1c2VySGFzUmVwbGllZEF0b20pLFxuICByZXBseUV2ZW50Q2F0ZWdvcnk6IGdldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tKSxcbiAgdXNlclF1ZXJ5OiBnZXQodXNlclF1ZXJ5QXRvbSksXG4gIHN1Z2dlc3Rpb246IGdldChzdWdnZXN0aW9uQXRvbSksXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZDogZ2V0KGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20pLFxuICBtZXNzYWdlczogZ2V0KG1lc3NhZ2VzQXRvbSksXG4gIHVzZXJFdmVudHM6IGdldCh1c2VyRXZlbnRzQXRvbSksXG4gIHN1Z2dlc3Rpb25zOiBnZXQoc3VnZ2VzdGlvbnNBdG9tKSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nOiBnZXQoc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSksXG4gIHJlc3BvbnNlU3RyZWFtaW5nOiBnZXQocmVzcG9uc2VTdHJlYW1pbmdBdG9tKSxcbiAgaXNPcGVuOiBnZXQoY2hhdElzT3BlbkF0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
|
|
@@ -149,4 +149,4 @@ Object.defineProperty(exports, 'TAG_TESTID', {
|
|
|
149
149
|
return TAG_TESTID;
|
|
150
150
|
}
|
|
151
151
|
});
|
|
152
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
152
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1Ca2pJS2hjNS5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy9sb2NhdG9ycy9jb21wb25lbnRzL2NoYXQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGVzdCBpZHMgZm9yIGNvbXBvbmVudHMgcmVuZGVyZWQgaW5zaWRlIHRoZSBjaGF0IG1vZGFsLCBhbmQgdGhlIGNoYXQgbW9kYWxcbmV4cG9ydCBjb25zdCBDSEFUX0NPTlRBSU5FUl9JRCA9ICcjc3BpZmZ5LW1vZGFsLWNvbnRhaW5lcic7XG5leHBvcnQgY29uc3QgQ0hBVF9IRUFERVJfQ09OVEFJTkVSX1RFU1RJRCA9ICdzcGlmZnktY2hhdC1oZWFkZXItY29udGFpbmVyJztcbmV4cG9ydCBjb25zdCBDSEFUX0hFQURFUl9DTE9TRV9CVVRUT05fVEVTVElEID0gJ3NwaWZmeS1jaGF0LWhlYWRlci1jbG9zZS1idXR0b24nO1xuZXhwb3J0IGNvbnN0IENIQVRfTUVTU0FHRV9DT05UQUlORVJfVEVTVElEID0gJ3NwaWZmeS1jaGF0LW1lc3NhZ2UtY29udGFpbmVyJztcbmV4cG9ydCBjb25zdCBDSEFUX01FU1NBR0VfRElWSURFUl9URVNUSUQgPSAnc3BpZmZ5LWNoYXQtbWVzc2FnZS1kaXZpZGVyJztcbmV4cG9ydCBjb25zdCBDSEFUX01PREFMX1RFU1RJRCA9ICdzcGlmZnktbW9kYWwtc2hhZG93LWRvbS1jb250YWluZXInO1xuZXhwb3J0IGNvbnN0IENIQVRfUkVQTFlfSU5QVVRfVEVTVElEID0gJ3NwaWZmeS1jaGF0LXJlcGx5LWlucHV0JztcbmV4cG9ydCBjb25zdCBDSEFUX1JFUExZX0lOUFVUX1NFTkRfQlVUVE9OX1RFU1RJRCA9ICdzcGlmZnktY2hhdC1yZXBseS1pbnB1dC1zZW5kLWJ1dHRvbic7XG5leHBvcnQgY29uc3QgQ0hBVF9WSUVXX1BSRVZJT1VTX01FU1NBR0VTX1RFU1RJRCA9ICdzcGlmZnktY2hhdC12aWV3LXByZXZpb3VzLW1lc3NhZ2VzJztcbmV4cG9ydCBjb25zdCBEWU5BTUlDX0NBUk9VU0VMX1RFU1RJRCA9ICdkeW5hbWljLWNhcm91c2VsJztcbmV4cG9ydCBjb25zdCBJTUFHRV9TVEFDS19URVNUSUQgPSAnc3BpZmZ5LXByb2R1Y3QtY29tcGFyaXNvbi1pbWFnZS1zdGFjayc7XG5leHBvcnQgY29uc3QgSU1BR0VfU1RBQ0tfRklSU1RfSU1BR0VfVEVTVElEID0gJ3NwaWZmeS1wcm9kdWN0LWNvbXBhcmlzb24taW1hZ2Utc3RhY2stZmlyc3QtaW1hZ2UnO1xuZXhwb3J0IGNvbnN0IElNQUdFX1NUQUNLX1NFQ09ORF9JTUFHRV9URVNUSUQgPSAnc3BpZmZ5LXByb2R1Y3QtY29tcGFyaXNvbi1pbWFnZS1zdGFjay1zZWNvbmQtaW1hZ2UnO1xuZXhwb3J0IGNvbnN0IExPQURJTkdfTUVTU0FHRV9DT05UQUlORVJfVEVTVElEID0gJ3NwaWZmeS1tZXNzYWdlcy1sb2FkaW5nLWNvbnRhaW5lcic7XG5leHBvcnQgY29uc3QgTU9CSUxFX0NIQVRfSEVBREVSX1RFU1RJRCA9ICdzcGlmZnktbW9iaWxlLWNoYXQtaGVhZGVyJztcbmV4cG9ydCBjb25zdCBTQ1JPTExBQkxFX1NVR0dFU1RJT05TX1RFU1RJRCA9ICdzcGlmZnktc2Nyb2xsYWJsZS1zdWdnZXN0aW9ucyc7XG5leHBvcnQgY29uc3QgU1VHR0VTVElPTl9CQVJfVEVTVElEID0gJ3NwaWZmeS1zdWdnZXN0aW9uLWJhcic7XG5leHBvcnQgY29uc3QgU1VHR0VTVElPTl9CQVJfQlVUVE9OX1RFU1RJRCA9ICdzcGlmZnktc3VnZ2VzdGlvbi1iYXItYnV0dG9uJztcbmV4cG9ydCBjb25zdCBTVUdHRVNUSU9OX0JVVFRPTl9URVNUSUQgPSAnc3BpZmZ5LXN1Z2dlc3Rpb24tYnV0dG9uJztcblxuZXhwb3J0IGNvbnN0IFRBR19URVNUSUQgPSAnc3BpZmZ5LXRhZyc7XG5leHBvcnQgY29uc3QgQU5JTUFURURfTUVTU0FHRVNfVEVTVElEID0gJ3NwaWZmeS1hbmltYXRlZC1tZXNzYWdlcyc7XG4iXSwibWFwcGluZ3MiOiI7O0FBQ0EsTUFBYSxvQkFBb0I7QUFDakMsTUFBYSwrQkFBK0I7QUFDNUMsTUFBYSxrQ0FBa0M7QUFDL0MsTUFBYSxnQ0FBZ0M7QUFDN0MsTUFBYSw4QkFBOEI7QUFDM0MsTUFBYSxvQkFBb0I7QUFDakMsTUFBYSwwQkFBMEI7QUFDdkMsTUFBYSxzQ0FBc0M7QUFDbkQsTUFBYSxxQ0FBcUM7QUFDbEQsTUFBYSwwQkFBMEI7QUFDdkMsTUFBYSxxQkFBcUI7QUFDbEMsTUFBYSxpQ0FBaUM7QUFDOUMsTUFBYSxrQ0FBa0M7QUFDL0MsTUFBYSxtQ0FBbUM7QUFDaEQsTUFBYSw0QkFBNEI7QUFDekMsTUFBYSxnQ0FBZ0M7QUFDN0MsTUFBYSx3QkFBd0I7QUFDckMsTUFBYSwrQkFBK0I7QUFDNUMsTUFBYSwyQkFBMkI7QUFFeEMsTUFBYSxhQUFhO0FBQzFCLE1BQWEsMkJBQTJCIn0=
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
-
const require_logger = require('./logger-
|
|
3
|
-
const require_models = require('./models-
|
|
4
|
-
const require_enviveConfig = require('./enviveConfig-
|
|
5
|
-
const require_atomStore = require('./atomStore-
|
|
6
|
-
const require_app = require('./app-
|
|
7
|
-
const require_amplitudeContext = require('./amplitudeContext-
|
|
8
|
-
const require_chatState = require('./chatState-
|
|
9
|
-
const require_graphqlConfig = require('./graphqlConfig-
|
|
2
|
+
const require_logger = require('./logger-DQ0WfCcD.cjs');
|
|
3
|
+
const require_models = require('./models-Ctn-pmug.cjs');
|
|
4
|
+
const require_enviveConfig = require('./enviveConfig-DAA9sozZ.cjs');
|
|
5
|
+
const require_atomStore = require('./atomStore-CZKe3itM.cjs');
|
|
6
|
+
const require_app = require('./app-Bgr-mAvr.cjs');
|
|
7
|
+
const require_amplitudeContext = require('./amplitudeContext-Dr1jHI13.cjs');
|
|
8
|
+
const require_chatState = require('./chatState-BDsqKE-B.cjs');
|
|
9
|
+
const require_graphqlConfig = require('./graphqlConfig-B4ddz1vH.cjs');
|
|
10
10
|
let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
11
11
|
__spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
|
|
12
|
+
let uuid = require("uuid");
|
|
13
|
+
uuid = require_chunk.__toESM(uuid);
|
|
12
14
|
let jotai = require("jotai");
|
|
13
15
|
jotai = require_chunk.__toESM(jotai);
|
|
14
16
|
let jotai_utils = require("jotai/utils");
|
|
15
17
|
jotai_utils = require_chunk.__toESM(jotai_utils);
|
|
16
|
-
let uuid = require("uuid");
|
|
17
|
-
uuid = require_chunk.__toESM(uuid);
|
|
18
18
|
|
|
19
19
|
//#region src/atoms/chat/messageQueue.ts
|
|
20
20
|
const internalUserEventQueueAtom = (0, jotai.atom)([]);
|
|
@@ -391,4 +391,4 @@ Object.defineProperty(exports, 'widgetArrayAtom', {
|
|
|
391
391
|
return widgetArrayAtom;
|
|
392
392
|
}
|
|
393
393
|
});
|
|
394
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1EMUVhdDhJaC5janMiLCJuYW1lcyI6WyJnZXRBdG9tU3RvcmUiLCJvcmdTaG9ydE5hbWVBdG9tIiwib3JnSWRBdG9tIiwidXNlcklkQXRvbSIsImNoYXRJZEF0b20iLCJjb250ZXh0U291cmNlQXRvbSIsImVudkF0b20iLCJmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tIiwiQ29udGV4dFNvdXJjZUVudW0iLCJDb250ZXh0RW52RW51bSIsIk1lc3NhZ2VUeXBlIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwidXNlclF1ZXJ5QXRvbSIsIm1lc3NhZ2VzQXRvbSIsInVzZXJIYXNSZXBsaWVkQXRvbSIsIlNwaWZmeU1ldHJpY3NFdmVudE5hbWUiLCJzZXNzaW9uU3RvcmFnZVV0aWwiLCJnZXRBdG9tU3RvcmUiLCJyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIiwiVXNlckV2ZW50Q2F0ZWdvcnkiLCJmb3JtU3VibWl0QXRvbSIsIm5ld01lc3NhZ2U6IE1lc3NhZ2UiLCJNZXNzYWdlUm9sZSIsIk1lc3NhZ2VUeXBlIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5Iiwic3VnZ2VzdGlvbkF0b20iLCJtZXNzYWdlc0F0b20iLCJ1c2VySGFzUmVwbGllZEF0b20iLCJtZXNzYWdlc0F0b20iLCJ1c2VySGFzUmVwbGllZEF0b20iLCJnZXRBdG9tU3RvcmUiLCJ1c2VySGFzUmVwbGllZEF0b20iLCJyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIiwidXNlclF1ZXJ5QXRvbSIsInN1Z2dlc3Rpb25BdG9tIiwiYXNrUXVlc3Rpb25CdG5DbGlja2VkQXRvbSIsIm1lc3NhZ2VzQXRvbSIsInVzZXJFdmVudHNBdG9tIiwic3VnZ2VzdGlvbnNBdG9tIiwic3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSIsInJlc3BvbnNlU3RyZWFtaW5nQXRvbSIsImNoYXRJc09wZW5BdG9tIiwiY2hhdE9uVG9nZ2xlQXRvbSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZS50cyIsIi4uL3NyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b20udHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9yZXBsaWVzLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvcGVyZm9ybWFuY2VNZXRyaWNzLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvZm9ybS50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L3N1Z2dlc3Rpb25zLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvbGFzdE1lc3NhZ2UudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9yZW5kZXJlZFdpZGdldFJlZnMudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSBcInV1aWRcIjtcbmltcG9ydCB7XG4gIEdlbmVyYXRpb25QYXJhbXMsXG4gIE5leHRNZXNzYWdlUmVxdWVzdCxcbiAgVXNlckV2ZW50LFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5pbXBvcnQgeyB1c2VySWRBdG9tLCBjaGF0SWRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hcHBcIjtcbmltcG9ydCB7XG4gIG9yZ1Nob3J0TmFtZUF0b20sXG4gIGNvbnRleHRTb3VyY2VBdG9tLFxuICBlbnZBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCB7IG9yZ0lkQXRvbSwgZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSB9IGZyb20gXCJzcmMvYXRvbXMvb3JnL2dyYXBocWxDb25maWdcIjtcblxuY29uc3QgaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20gPSBhdG9tPFVzZXJFdmVudFtdPihbXSk7XG5cbmV4cG9ydCBjb25zdCB1c2VyRXZlbnRRdWV1ZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgcXVldWUgPSBnZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pO1xuICByZXR1cm4gcXVldWUgPT09IHVuZGVmaW5lZCA/IFtdIDogcXVldWUuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQpO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gcXVldWUgYSBuZXcgbWVzc2FnZSBmb3IgcHJvY2Vzc2luZyBvbiBgbmV4dF9yZXNwb25zZXNgXG4gKiBJdCByZWNlaXZlcyBhIHNpbmdsZSBgdXNlckV2ZW50YCB0aGF0IGlzIGFkZGVkIHRvIHRoZSBwcm9jZXNzaW5nIHF1ZXVlLlxuICogSWYgdGhlIGV2ZW50IGhhcyB0aGUgc2FtZSBldmVudElkIGFzIGFuIGV4aXN0aW5nIG1lc3NhZ2UgaW4gdGhlIHF1ZXVlIHRoZSBORVdcbiAqIGV2ZW50IGlzIGlnbm9yZWRcbiAqL1xuZXhwb3J0IGNvbnN0IHF1ZXVlVXNlckV2ZW50QXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgdXNlckV2ZW50OiBVc2VyRXZlbnQpID0+IHtcbiAgICBpZiAodXNlckV2ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCBbXG4gICAgICAuLi5nZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pLFxuICAgICAgdXNlckV2ZW50LFxuICAgIF0pO1xuICB9XG4pO1xuXG4vKipcbiAqIFRoaXMgYXRvbSBleHBvc2VzIGEgZnVuY3Rpb24gdG8gcmVzZXQgdGhlIGVudGlyZSBxdWV1ZS4gQWxsIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZSB3aWxsIGJlIHB1cmdlZFxuICovXG5leHBvcnQgY29uc3QgY2xlYXJVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoXywgc2V0KSA9PiB7XG4gIHNldChpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSwgW10pO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gbWFyayBldmVudHMgYXMgcHJvY2Vzc2VkIGFuZCByZW1vdmUgdGhlbSBmcm9tIHRoZSBxdWV1ZVxuICogSXQgYWNjZXB0cyBhIGxpc3Qgb2YgZXZlbnRJZCB2YWx1ZXMgYW5kIHdpbGwgcmVtb3ZlIGFsbCBldmVudHMgd2l0aCB0aG9zZSBldmVudElkcyBmcm9tIHRoZSBxdWV1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHByb2Nlc3NVc2VyRXZlbnRBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCBldmVudElkczogc3RyaW5nW10pID0+IHtcbiAgICBjb25zdCBjdXJyID0gZ2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tKTtcbiAgICBjb25zdCByZW1haW5pbmcgPSBjdXJyPy5maWx0ZXIoXG4gICAgICAoZXZlbnQpID0+ICFldmVudElkcy5pbmNsdWRlcyhldmVudC5ldmVudElkKVxuICAgICk7XG4gICAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCByZW1haW5pbmcpO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXNlclF1ZXVlRXZlbnRDb3VudEF0b20gPSBhdG9tKFxuICAoZ2V0KSA9PiBnZXQodXNlckV2ZW50UXVldWVBdG9tKS5sZW5ndGhcbik7XG5cbmltcG9ydCB7XG4gIENvbnRleHRTb3VyY2VFbnVtLFxuICBDb250ZXh0RW52RW51bSxcbn0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiOyAvLyBJbXBvcnQgbmVjZXNzYXJ5IGVudW1zXG4vLyBpbXBvcnQgdHlwZSB7IENvbnRleHQgfSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50L2Rpc3QvbW9kZWxzL0NvbnRleHRcIjsgLy8gSW1wb3J0IENvbnRleHQgdHlwZVxuXG5leHBvcnQgY29uc3QgY3JlYXRlUmVzcG9uc2VQYXlsb2FkID0gKHtcbiAgdXNlckV2ZW50cyxcbiAgZ2VuZXJhdGlvblBhcmFtcyxcbn06IHtcbiAgdXNlckV2ZW50czogVXNlckV2ZW50W107XG4gIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xufSk6IE5leHRNZXNzYWdlUmVxdWVzdCA9PiB7XG4gIGNvbnN0IGF0b21TdG9yZSA9IGdldEF0b21TdG9yZSgpO1xuICBjb25zdCBvcmdTaG9ydE5hbWUgPSBhdG9tU3RvcmUuZ2V0KG9yZ1Nob3J0TmFtZUF0b20pO1xuICBjb25zdCBvcmdJZCA9IGF0b21TdG9yZS5nZXQob3JnSWRBdG9tKTtcbiAgY29uc3QgdXNlcklkID0gYXRvbVN0b3JlLmdldCh1c2VySWRBdG9tKTtcbiAgY29uc3QgY2hhdElkID0gYXRvbVN0b3JlLmdldChjaGF0SWRBdG9tKTtcbiAgY29uc3Qgc291cmNlID0gYXRvbVN0b3JlLmdldChjb250ZXh0U291cmNlQXRvbSk7XG4gIGNvbnN0IGVudiA9IGF0b21TdG9yZS5nZXQoZW52QXRvbSk7XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlID0gYXRvbVN0b3JlLmdldChmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tKTtcblxuICBjb25zdCBjb250ZXh0ID0ge1xuICAgIHVzZXJJZDogdXNlcklkID8/IFwiXCIsXG4gICAgb3JnX2lkOiBvcmdJZCA/PyBcIlwiLFxuICAgIG9yZ19zaG9ydF9uYW1lOiBvcmdTaG9ydE5hbWUgPz8gXCJcIixcbiAgICBjaGF0X2lkOiBjaGF0SWQgPz8gXCJcIixcbiAgICBzb3VyY2U6IHNvdXJjZSA/PyBDb250ZXh0U291cmNlRW51bS5BcHAsXG4gICAgZW52OiAoZW52IGFzIENvbnRleHRFbnZFbnVtKSA/PyBDb250ZXh0RW52RW51bS5EZXYsXG4gIH07XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdzID1cbiAgICBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZT8uZ2V0RmVhdHVyZUZsYWdzKCkgfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICBpZDogdXVpZCgpLFxuICAgIGNvbnRleHQsXG4gICAgdXNlckV2ZW50cyxcbiAgICBmZWF0dXJlRmxhZ3M6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGZlYXR1cmVGbGFncykuZmlsdGVyKChbLCBpc0VuYWJsZWRdKSA9PiBpc0VuYWJsZWQpXG4gICAgKSwgLy8gQ29udmVydCBiYWNrIHRvIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+XG4gICAgZ2VuZXJhdGlvblBhcmFtcyxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcblxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5cbi8vIFRoaXMgYXRvbSB3aWxsIGhvbGQgdGhlIHRyYWNrRXZlbnQgZnVuY3Rpb24gZnJvbSB0aGUgQW1wbGl0dWRlIGNvbnRleHQuXG4vLyBJdCBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBieSBhIFJlYWN0IGNvbXBvbmVudCB0aGF0IGhhcyBhY2Nlc3MgdG8gdGhlIHVzZUFtcGxpdHVkZSBob29rLlxuZXhwb3J0IGNvbnN0IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tID0gYXRvbTxcbiAgKChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD4pIHwgbnVsbFxuPihudWxsKTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7XG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICB1c2VyUXVlcnlBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL2NoYXRcIjtcbmltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSBcIi4vbWVzc2FnZVF1ZXVlXCI7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcbmltcG9ydCB7IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b21cIjtcblxudHlwZSBIYW5kbGVSZXBseVBhcmFtcyA9IHtcbiAgbWVzc2FnZTogTWVzc2FnZTtcbiAgdXNlclR5cGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVJlcGx5QXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgeyBtZXNzYWdlLCB1c2VyVHlwZWQgfTogSGFuZGxlUmVwbHlQYXJhbXMpID0+IHtcbiAgICBpZiAobWVzc2FnZS50eXBlICE9PSBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhY2tFdmVudCA9IGdldChhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSk7XG4gICAgY29uc3QgcXVlcnlUeXBlZCA9IG1lc3NhZ2UubWV0YWRhdGEuY29udGVudDtcblxuICAgIHNldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLCBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKTtcbiAgICBzZXQodXNlclF1ZXJ5QXRvbSwgcXVlcnlUeXBlZCk7XG4gICAgc2V0KG1lc3NhZ2VzQXRvbSwgWy4uLmdldChtZXNzYWdlc0F0b20pLCBbbWVzc2FnZV1dKTtcbiAgICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgICBzZXQocXVldWVVc2VyRXZlbnRBdG9tLCB7XG4gICAgICBldmVudElkOiBtZXNzYWdlLmlkLFxuICAgICAgY3JlYXRlZEF0OiBtZXNzYWdlLmNyZWF0ZWRBdCxcbiAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBxdWVyeTogcXVlcnlUeXBlZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAodHJhY2tFdmVudCkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0VXNlck1lc3NhZ2VJbnB1dCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIG1lc3NhZ2VfaWQ6IG1lc3NhZ2UuaWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBtZXNzYWdlLnJvbGUsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBtZXNzYWdlLnR5cGUsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogbWVzc2FnZT8ubWV0YWRhdGE/LmNvbnRlbnQsIC8vIFJlbW92ZWQgYW1wbGl0dWRlU2FmZVN0cmluZ1xuICAgICAgICAgICAgY3JlYXRlZF9hdDogbWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGF0b21XaXRoU3RvcmFnZSB9IGZyb20gXCJqb3RhaS91dGlsc1wiO1xuaW1wb3J0IExvZ2dlciBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyXCI7XG5pbXBvcnQge1xuICBnZXRBdG9tU3RvcmUsXG4gIHNlc3Npb25TdG9yYWdlVXRpbCxcbn0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5cbmV4cG9ydCBjb25zdCBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSA9IFwic3BpZmZ5LWFwcC1pbml0aWFsLXN0YXJ0LXRpbWVcIjtcbmV4cG9ydCBjb25zdCBQQUdFX0xPQURfT0ZGU0VUX1RJTUVfS0VZID0gXCJzcGlmZnktcGFnZS1sb2FkLW9mZnNldC10aW1lXCI7XG4vKipcbiAqIFRoZSBkaWZmZXJlbnQgcGVyZm9ybWFuY2UgbWV0cmljcyB0aGF0IGNhbiBiZSBsb2dnZWQuIEFsbCB0aW1lcyBhcmUgcmVsYXRpdmUgdG8gdGhlXG4gKiBpbml0aWFsIHN0YXJ0IHRpbWUgb2YgdGhlIGFwcCBhbmQgYXJlIHN0b3JlZCBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBlbnVtIFBlcmZNZXRyaWNzRXZlbnRzIHtcbiAgUGFnZUxvYWRPZmZzZXQgPSBcInBhZ2VfbG9hZF9vZmZzZXRfbXNcIixcbiAgTWFpbkJ1bmRsZUxvYWRlZCA9IFwibWFpbl9idW5kbGVfbG9hZGVkX21zXCIsXG4gIE9yZ0NvbmZpZ0xvYWRTdGFydGVkID0gXCJvcmdfY29uZmlnX2xvYWRfc3RhcnRlZF9tc1wiLFxuICBPcmdDb25maWdMb2FkRW5kZWQgPSBcIm9yZ19jb25maWdfbG9hZF9lbmRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlU3RhcnRlZCA9IFwiZmlyc3RfcmVzcG9uc2Vfc3RhcnRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlQ29tcGxldGVkID0gXCJmaXJzdF9yZXNwb25zZV9jb21wbGV0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc1N0YXJ0ZWQgPSBcImZpcnN0X3N1Z2dlc3Rpb25zX3N0YXJ0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc0NvbXBsZXRlZCA9IFwiZmlyc3Rfc3VnZ2VzdGlvbnNfY29tcGxldGVkX21zXCIsXG4gIEVtYmVkZGVkV2lkZ2V0UmVuZGVyZWQgPSBcImVtYmVkZGVkX3dpZGdldF9yZW5kZXJlZF9tc1wiLFxuICBGbG9hdGluZ0J1dHRvblJlbmRlcmVkID0gXCJmbG9hdGluZ19idXR0b25fcmVuZGVyZWRfbXNcIixcbiAgVG9wU3VnZ2VzdGlvbnNCYXJSZW5kZXJlZCA9IFwidG9wX3N1Z2dlc3Rpb25zX2Jhcl9yZW5kZXJlZF9tc1wiLFxuICBCb3R0b21TdWdnZXN0aW9uc0JhclJlbmRlcmVkID0gXCJib3R0b21fc3VnZ2VzdGlvbnNfYmFyX3JlbmRlcmVkX21zXCIsXG4gIFNlYXJjaFByb21wdFJlbmRlcmVkID0gXCJzZWFyY2hfcHJvbXB0X3JlbmRlcmVkX21zXCIsXG59XG5cbmNvbnN0IGludGVybmFsUGVyZk1ldHJpY3NBdG9tID0gYXRvbTxNYXA8UGVyZk1ldHJpY3NFdmVudHMsIG51bWJlcj4+KG5ldyBNYXAoKSk7XG5leHBvcnQgY29uc3QgYXBwSW5pdGlhbFN0YXJ0VGltZU1zQXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSxcbiAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBwYWdlTG9hZE9mZnNldFRpbWVBdG9tID0gYXRvbVdpdGhTdG9yYWdlPHN0cmluZyB8IHVuZGVmaW5lZD4oXG4gIFBBR0VfTE9BRF9PRkZTRVRfVElNRV9LRVksXG4gIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oUEFHRV9MT0FEX09GRlNFVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbi8qKlxuICogUmVzZXRzIHRoZSBwZXJmb3JtYW5jZSBtZXRyaWNzIGF0b20gdG8gYW4gZW1wdHkgbWFwLiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIHBlcmZvcm1hbmNlXG4gKiBtZXRyaWNzIGhhdmUgYmVlbiByZXBvcnRlZCB0byBhbXBsaXR1ZGUuIE9uIFNQQSwgaXQgZW5zdXJlcyB0aGF0IHdlIGNhbiBzdGlsbCBjYXB0dXJlIG1ldHJpY3MgYXNcbiAqIHRoZSB1c2VyIG5hdmlnYXRlcyBhcm91bmQgdGhlIGFwcCAoYWx0aG91Z2ggdGhlcmUgaXMgbW9yZSB3b3JrIHRvIGJlIGRvbmUgdG8gZnVsbHkgZW5hYmxlIHRoaXMpLlxuICogT24gbm9uLVNQQSwgaXQgZW5zdXJlcyB0aGF0IHByZXZpb3VzbHkgY2FwdHVyZWQgbWV0cmljcyBhcmUgbm90IHJlcG9ydGVkIGFnYWluLlxuICovXG5leHBvcnQgY29uc3QgcmVzZXRQZXJmb3JtYW5jZU1ldHJpY3NBdG9tID0gKCkgPT4ge1xuICBjb25zdCBhdG9tU3RvcmUgPSBnZXRBdG9tU3RvcmUoKTtcbiAgYXRvbVN0b3JlLnNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgbmV3IE1hcCgpKTtcbn07XG5leHBvcnQgY29uc3QgcGVyZm9ybWFuY2VNZXRyaWNzQXRvbSA9IGF0b20oKGdldCkgPT5cbiAgZ2V0KGludGVybmFsUGVyZk1ldHJpY3NBdG9tKVxuKTtcbmV4cG9ydCBjb25zdCBoYXNSZXBvcnRlZFBlcmZvcm1hbmNlTWV0cmljc0F0b20gPSBhdG9tPGJvb2xlYW4+KGZhbHNlKTtcblxuLyoqXG4gKiBMb2dzIGEgcGVyZm9ybWFuY2UgbWV0cmljIGJ5IGNhcHR1cmluZyB0aGUgZGVsdGEgYmV0d2VlbiB0aGUgaW5pdGlhbCBhcHAgc3RhcnQgdGltZVxuICogYW5kIHRoZSBjdXJyZW50IHRpbWUuIElmIHRoZSBtZXRyaWMgaGFzIGFscmVhZHkgYmVlbiBsb2dnZWQsIGl0IHdpbGwgbm90IGJlIGxvZ2dlZCBhZ2Fpbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIHBlcmZvcm1hbmNlIG1ldHJpYyBuYW1lIHRvIGxvZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvZ1BlcmZNZXRyaWNBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCB2YWx1ZTogUGVyZk1ldHJpY3NFdmVudHMpID0+IHtcbiAgICBjb25zdCBpbml0aWFsVGltZVN0b3JhZ2VWYWx1ZSA9IGdldChhcHBJbml0aWFsU3RhcnRUaW1lTXNBdG9tKTtcbiAgICBjb25zdCBpbml0aWFsVGltZU1zID0gaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWVcbiAgICAgID8gcGFyc2VJbnQoaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWUsIDEwKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaW5pdGlhbFRpbWVNcyA9PSBudWxsKSB7XG4gICAgICBMb2dnZXIubG9nV2FybihcbiAgICAgICAgYFtzcGlmZnktYWldIE5vIGluaXRpYWwgYXBwIHN0YXJ0IHRpbWUgZm91bmQuIFNraXBwaW5nLi4uYCxcbiAgICAgICAgdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRQZXJmTWV0cmljcyA9IGdldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSk7XG4gICAgaWYgKGN1cnJlbnRQZXJmTWV0cmljcy5oYXModmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFRpbWVNcyA9IERhdGUubm93KCk7XG4gICAgY29uc3QgZGVsdGFNcyA9IGN1cnJlbnRUaW1lTXMgLSBpbml0aWFsVGltZU1zO1xuICAgIGN1cnJlbnRQZXJmTWV0cmljcy5zZXQodmFsdWUsIGRlbHRhTXMpO1xuICAgIHNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgY3VycmVudFBlcmZNZXRyaWNzKTtcbiAgfVxuKTtcbiIsImltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcywgVXNlckV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBmb3JtU3VibWl0QXRvbSwgcmVwbHlFdmVudENhdGVnb3J5QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0JztcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVGb3JtU3VibWl0dGVkQXRvbSA9IGF0b20obnVsbCwgKF8sIHNldCwgZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgc2V0KHJlcGx5RXZlbnRDYXRlZ29yeUF0b20sIFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpO1xuICBzZXQoZm9ybVN1Ym1pdEF0b20sIGZvcm0pO1xuXG4gIGNvbnN0IGZvcm1Vc2VyRXZlbnQgPSB7XG4gICAgZXZlbnRJZDogdXVpZCgpLFxuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIGF0dHJpYnV0ZXM6IGZvcm0sXG4gIH0gc2F0aXNmaWVzIFVzZXJFdmVudDtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwgZm9ybVVzZXJFdmVudCk7XG59KTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlUm9sZSwgTWVzc2FnZVR5cGUsIFN1Z2dlc3Rpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7XG4gIG1lc3NhZ2VzQXRvbSxcbiAgcmVwbHlFdmVudENhdGVnb3J5QXRvbSxcbiAgc3VnZ2VzdGlvbkF0b20sXG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSAnLi9tZXNzYWdlUXVldWUnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU3VnZ2VzdGlvbkF0b20gPSBhdG9tKG51bGwsIChnZXQsIHNldCwgc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbikgPT4ge1xuICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgIGlkOiBzdWdnZXN0aW9uLmlkLFxuICAgIHJvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgdHlwZTogTWVzc2FnZVR5cGUuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIHN1Z2dlc3Rpb25JZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgIHN1Z2dlc3Rpb25Db250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgfSxcbiAgfTtcblxuICBzZXQocmVwbHlFdmVudENhdGVnb3J5QXRvbSwgVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpO1xuICBzZXQoc3VnZ2VzdGlvbkF0b20sIHN1Z2dlc3Rpb24pO1xuICBzZXQobWVzc2FnZXNBdG9tLCBbLi4uZ2V0KG1lc3NhZ2VzQXRvbSksIFtuZXdNZXNzYWdlXV0pO1xuICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwge1xuICAgIGV2ZW50SWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkLFxuICAgIGNyZWF0ZWRBdDogbmV3TWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgc3VnZ2VzdGlvbklkOiBzdWdnZXN0aW9uLmlkLFxuICAgIH0sXG4gIH0pO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgbWVzc2FnZXNBdG9tLCB1c2VySGFzUmVwbGllZEF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5cbmV4cG9ydCBjb25zdCBsYXN0QXNzaXN0YW50TWVzc2FnZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgbWVzc2FnZXMgPSBnZXQobWVzc2FnZXNBdG9tKTtcbiAgY29uc3QgdXNlckhhc1JlcGxpZWQgPSBnZXQodXNlckhhc1JlcGxpZWRBdG9tKTtcbiAgaWYgKG1lc3NhZ2VzLmxlbmd0aCA+IDAgJiYgIXVzZXJIYXNSZXBsaWVkKSB7XG4gICAgcmV0dXJuIG1lc3NhZ2VzW21lc3NhZ2VzLmxlbmd0aCAtIDFdO1xuICB9XG4gIHJldHVybiBudWxsO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBnZXRBdG9tU3RvcmUgfSBmcm9tIFwic3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmVcIjtcblxuY29uc3QgaW50ZXJuYWxXaWRnZXRBcnJheUF0b20gPSBhdG9tPEhUTUxFbGVtZW50W10+KFtdKTtcblxuZXhwb3J0IGNvbnN0IHdpZGdldEFycmF5QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsV2lkZ2V0QXJyYXlBdG9tKSk7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBjYWxsIGlzIHVzZWQgdG8gY3JlYXRlIGEgbGlzdCBvZiB0aGUgU3BpZmZ5IHdpZGdldHNcbiAqIHRoYXQgYXJlIHJlbmRlcmluZyBvbiB0aGUgcGFnZS5cbiAqXG4gKiBJdCBpcyB1c2VkIGJ5IHRoZSBGbG9hdGluZ0J1dHRvbiB3aWRnZXQgdG8gc2xpZGUgb3V0IG9mIHZpZXcgd2hlbiBpdFxuICogb3ZlcmxhcHMgd2l0aCBhbm90aGVyIFNwaWZmeSB3aWRnZXQuXG4gKlxuICogVGhlIHNwaWZmeSB3aWRnZXRzIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgdGhpcyBhcnJheSBmb3IgdGhlIGZsb2F0aW5nIGJ1dHRvblxuICogdG8ga25vdyBhYm91dCB0aGVtLlxuICpcbiAqIFRvZGF5IHRoZSBcIlN1Z2dlc3Rpb25CYXJcIiB3aWRnZXQgaXMgbm90IGFkZGVkLCBidXQgdGhlIG90aGVyIHdpZGdldHMgYXJlLlxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IGFkZFdpZGdldCA9IChyZWY6IEhUTUxFbGVtZW50LCBpZHg/OiBudW1iZXIpID0+IHtcbiAgY29uc3QgYXRvbVN0b3JlID0gZ2V0QXRvbVN0b3JlKCk7XG4gIGNvbnN0IHZhbCA9IGF0b21TdG9yZS5nZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20pO1xuICBjb25zdCBpbnNlcnRJZHggPSBpZHggPz8gdmFsLmxlbmd0aDtcbiAgdmFsW2luc2VydElkeF0gPSByZWY7XG4gIGF0b21TdG9yZS5zZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20sIHZhbCk7XG59O1xuIiwiaW1wb3J0IHsgYXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7XG4gIHJlc3BvbnNlU3RyZWFtaW5nQXRvbSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICB1c2VyUXVlcnlBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxuICB1c2VySGFzUmVwbGllZEF0b20sXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbiAgY2hhdElzT3BlbkF0b20sXG4gIGNoYXRPblRvZ2dsZUF0b20sXG4gIHVzZXJFdmVudHNBdG9tLFxuICBzdWdnZXN0aW9uQXRvbSxcbn0gZnJvbSAnLi9jaGF0U3RhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NoYXRTdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcGxpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJmb3JtYW5jZU1ldHJpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXN0TWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbmRlcmVkV2lkZ2V0UmVmcyc7XG5cbmV4cG9ydCBjb25zdCBjaGF0QXRvbSA9IGF0b20oKGdldCkgPT4gKHtcbiAgdXNlckhhc1JlcGxpZWQ6IGdldCh1c2VySGFzUmVwbGllZEF0b20pLFxuICByZXBseUV2ZW50Q2F0ZWdvcnk6IGdldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tKSxcbiAgdXNlclF1ZXJ5OiBnZXQodXNlclF1ZXJ5QXRvbSksXG4gIHN1Z2dlc3Rpb246IGdldChzdWdnZXN0aW9uQXRvbSksXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZDogZ2V0KGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20pLFxuICBtZXNzYWdlczogZ2V0KG1lc3NhZ2VzQXRvbSksXG4gIHVzZXJFdmVudHM6IGdldCh1c2VyRXZlbnRzQXRvbSksXG4gIHN1Z2dlc3Rpb25zOiBnZXQoc3VnZ2VzdGlvbnNBdG9tKSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nOiBnZXQoc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSksXG4gIHJlc3BvbnNlU3RyZWFtaW5nOiBnZXQocmVzcG9uc2VTdHJlYW1pbmdBdG9tKSxcbiAgaXNPcGVuOiBnZXQoY2hhdElzT3BlbkF0b20pLFxuICBvblRvZ2dsZTogZ2V0KGNoYXRPblRvZ2dsZUF0b20pLFxufSkpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLE1BQU0sNkNBQStDLEVBQUUsQ0FBQztBQUV4RCxNQUFhLHNDQUEyQixRQUFRO0NBQzlDLE1BQU0sUUFBUSxJQUFJLDJCQUEyQjtBQUM3QyxRQUFPLFVBQVUsU0FBWSxFQUFFLEdBQUcsTUFBTSxRQUFRLE1BQU0sTUFBTSxPQUFVO0VBQ3RFOzs7Ozs7O0FBUUYsTUFBYSxxQ0FDWCxPQUNDLEtBQUssS0FBSyxjQUF5QjtBQUNsQyxLQUFJLGNBQWMsT0FDaEI7QUFFRixLQUFJLDRCQUE0QixDQUM5QixHQUFHLElBQUksMkJBQTJCLEVBQ2xDLFVBQ0QsQ0FBQztFQUVMOzs7O0FBS0QsTUFBYSxxQ0FBMEIsT0FBTyxHQUFHLFFBQVE7QUFDdkQsS0FBSSw0QkFBNEIsRUFBRSxDQUFDO0VBQ25DOzs7OztBQU1GLE1BQWEsdUNBQ1gsT0FDQyxLQUFLLEtBQUssYUFBdUI7Q0FFaEMsTUFBTSxZQURPLElBQUksMkJBQTJCLEVBQ3BCLFFBQ3JCLFVBQVUsQ0FBQyxTQUFTLFNBQVMsTUFBTSxRQUFRLENBQzdDO0FBQ0QsS0FBSSw0QkFBNEIsVUFBVTtFQUU3QztBQUVELE1BQWEsMkNBQ1YsUUFBUSxJQUFJLG1CQUFtQixDQUFDLE9BQ2xDO0FBUUQsTUFBYSx5QkFBeUIsRUFDcEMsWUFDQSx1QkFJd0I7Q0FDeEIsTUFBTSxZQUFZQSxnQ0FBYztDQUNoQyxNQUFNLGVBQWUsVUFBVSxJQUFJQyxzQ0FBaUI7Q0FDcEQsTUFBTSxRQUFRLFVBQVUsSUFBSUMsZ0NBQVU7Q0FDdEMsTUFBTSxTQUFTLFVBQVUsSUFBSUMsdUJBQVc7Q0FDeEMsTUFBTSxTQUFTLFVBQVUsSUFBSUMsdUJBQVc7Q0FDeEMsTUFBTSxTQUFTLFVBQVUsSUFBSUMsdUNBQWtCO0NBQy9DLE1BQU0sTUFBTSxVQUFVLElBQUlDLDZCQUFRO0NBRWxDLE1BQU0scUJBQXFCLFVBQVUsSUFBSUMsNkNBQXVCO0NBRWhFLE1BQU0sVUFBVTtFQUNkLFFBQVEsVUFBVTtFQUNsQixRQUFRLFNBQVM7RUFDakIsZ0JBQWdCLGdCQUFnQjtFQUNoQyxTQUFTLFVBQVU7RUFDbkIsUUFBUSxVQUFVQyxrREFBa0I7RUFDcEMsS0FBTSxPQUEwQkMsK0NBQWU7RUFDaEQ7Q0FFRCxNQUFNLGVBQ0osb0JBQW9CLG9CQUFvQixpQkFBaUIsSUFBSSxFQUFFO0FBRWpFLFFBQU87RUFDTCxrQkFBVTtFQUNWO0VBQ0E7RUFDQSxjQUFjLE9BQU8sWUFDbkIsT0FBTyxRQUFRLGFBQWEsQ0FBQyxRQUFRLEdBQUcsZUFBZSxVQUFVLENBQ2xFO0VBQ0Q7RUFDRDs7Ozs7QUNuR0gsTUFBYSwwQ0FFWCxLQUFLOzs7O0FDSVAsTUFBYSxrQ0FDWCxPQUNDLEtBQUssS0FBSyxFQUFFLFNBQVMsZ0JBQW1DO0FBQ3ZELEtBQUksUUFBUSxTQUFTQywyQkFBWSxXQUMvQjtDQUdGLE1BQU0sYUFBYSxJQUFJLHdCQUF3QjtDQUMvQyxNQUFNLGFBQWEsUUFBUSxTQUFTO0FBRXBDLEtBQUlDLDBDQUF3QkMsa0RBQWtCLFdBQVc7QUFDekQsS0FBSUMsaUNBQWUsV0FBVztBQUM5QixLQUFJQyxnQ0FBYyxDQUFDLEdBQUcsSUFBSUEsK0JBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3BELEtBQUlDLHNDQUFvQixLQUFLO0FBQzdCLEtBQUksb0JBQW9CO0VBQ3RCLFNBQVMsUUFBUTtFQUNqQixXQUFXLFFBQVE7RUFDbkIsVUFBVUgsa0RBQWtCO0VBQzVCLFlBQVksRUFDVixPQUFPLFlBQ1I7RUFDRixDQUFDO0FBRUYsS0FBSSxXQUNGLFlBQVc7RUFDVCxXQUFXSSxnREFBdUI7RUFDbEMsWUFBWTtHQUNWLFlBQVksUUFBUTtHQUNwQixjQUFjLFFBQVE7R0FDdEIsY0FBYyxRQUFRO0dBQ3RCLGtCQUFrQjtJQUNoQixTQUFTLFNBQVMsVUFBVTtJQUM1QixZQUFZLFFBQVE7SUFDcEIsWUFBWTtJQUNiO0dBQ0Y7RUFDRCwyQkFBMkI7RUFDNUIsQ0FBQztFQUdQOzs7O0FDbERELE1BQWEsNkJBQTZCO0FBQzFDLE1BQWEsNEJBQTRCOzs7OztBQUt6QyxJQUFZLGtFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdGLE1BQU0sMERBQStELElBQUksS0FBSyxDQUFDO0FBQy9FLE1BQWEsNkRBQ1gsNEJBQ0EsZUFBZSxRQUFRLDJCQUEyQixJQUFJLFFBQ3REQyxzQ0FDQSxFQUNFLFdBQVcsTUFDWixDQUNGO0FBRUQsTUFBYSwwREFDWCwyQkFDQSxlQUFlLFFBQVEsMEJBQTBCLElBQUksUUFDckRBLHNDQUNBLEVBQ0UsV0FBVyxNQUNaLENBQ0Y7Ozs7Ozs7QUFRRCxNQUFhLG9DQUFvQztBQUUvQyxDQURrQkMsZ0NBQWMsQ0FDdEIsSUFBSSx5Q0FBeUIsSUFBSSxLQUFLLENBQUM7O0FBRW5ELE1BQWEsMENBQStCLFFBQzFDLElBQUksd0JBQXdCLENBQzdCO0FBQ0QsTUFBYSxvREFBa0QsTUFBTTs7Ozs7OztBQVFyRSxNQUFhLG9DQUNYLE9BQ0MsS0FBSyxLQUFLLFVBQTZCO0NBQ3RDLE1BQU0sMEJBQTBCLElBQUksMEJBQTBCO0NBQzlELE1BQU0sZ0JBQWdCLDBCQUNsQixTQUFTLHlCQUF5QixHQUFHLEdBQ3JDO0FBRUosS0FBSSxpQkFBaUIsTUFBTTtBQUN6QixnQ0FBTyxRQUNMLDREQUNBLE9BQ0Q7QUFDRDs7Q0FHRixNQUFNLHFCQUFxQixJQUFJLHdCQUF3QjtBQUN2RCxLQUFJLG1CQUFtQixJQUFJLE1BQU0sQ0FDL0I7Q0FJRixNQUFNLFVBRGdCLEtBQUssS0FBSyxHQUNBO0FBQ2hDLG9CQUFtQixJQUFJLE9BQU8sUUFBUTtBQUN0QyxLQUFJLHlCQUF5QixtQkFBbUI7RUFFbkQ7Ozs7QUN6RkQsTUFBYSwwQ0FBK0IsT0FBTyxHQUFHLEtBQUssU0FBa0M7QUFDM0YsS0FBSUMsMENBQXdCQyxrREFBa0IsY0FBYztBQUM1RCxLQUFJQyxrQ0FBZ0IsS0FBSztDQUV6QixNQUFNLGdCQUFnQjtFQUNwQix1QkFBZTtFQUNmLFVBQVVELGtEQUFrQjtFQUM1Qiw0QkFBVyxJQUFJLE1BQU0sRUFBQyxhQUFhO0VBQ25DLFlBQVk7RUFDYjtBQUNELEtBQUksb0JBQW9CLGNBQWM7RUFDdEM7Ozs7QUNQRixNQUFhLHVDQUE0QixPQUFPLEtBQUssS0FBSyxlQUEyQjtDQUNuRixNQUFNRSxhQUFzQjtFQUMxQixJQUFJLFdBQVc7RUFDZixNQUFNQywyQkFBWTtFQUNsQixNQUFNQywyQkFBWTtFQUNsQiw0QkFBVyxJQUFJLE1BQU0sRUFBQyxhQUFhO0VBQ25DLFVBQVU7R0FDUixjQUFjLFdBQVc7R0FDekIsbUJBQW1CLFdBQVc7R0FDL0I7RUFDRjtBQUVELEtBQUlDLDBDQUF3QkMsa0RBQWtCLGtCQUFrQjtBQUNoRSxLQUFJQyxrQ0FBZ0IsV0FBVztBQUMvQixLQUFJQyxnQ0FBYyxDQUFDLEdBQUcsSUFBSUEsK0JBQWEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3ZELEtBQUlDLHNDQUFvQixLQUFLO0FBQzdCLEtBQUksb0JBQW9CO0VBQ3RCLFNBQVMsV0FBVztFQUNwQixVQUFVSCxrREFBa0I7RUFDNUIsV0FBVyxXQUFXO0VBQ3RCLFlBQVksRUFDVixjQUFjLFdBQVcsSUFDMUI7RUFDRixDQUFDO0VBQ0Y7Ozs7QUNoQ0YsTUFBYSw0Q0FBaUMsUUFBUTtDQUNwRCxNQUFNLFdBQVcsSUFBSUksK0JBQWE7Q0FDbEMsTUFBTSxpQkFBaUIsSUFBSUMscUNBQW1CO0FBQzlDLEtBQUksU0FBUyxTQUFTLEtBQUssQ0FBQyxlQUMxQixRQUFPLFNBQVMsU0FBUyxTQUFTO0FBRXBDLFFBQU87RUFDUDs7OztBQ1BGLE1BQU0sMENBQThDLEVBQUUsQ0FBQztBQUV2RCxNQUFhLG1DQUF3QixRQUFRLElBQUksd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBZTFFLE1BQWEsYUFBYSxLQUFrQixRQUFpQjtDQUMzRCxNQUFNLFlBQVlDLGdDQUFjO0NBQ2hDLE1BQU0sTUFBTSxVQUFVLElBQUksd0JBQXdCO0NBQ2xELE1BQU0sWUFBWSxPQUFPLElBQUk7QUFDN0IsS0FBSSxhQUFhO0FBQ2pCLFdBQVUsSUFBSSx5QkFBeUIsSUFBSTs7Ozs7QUNEN0MsTUFBYSw0QkFBaUIsU0FBUztDQUNyQyxnQkFBZ0IsSUFBSUMscUNBQW1CO0NBQ3ZDLG9CQUFvQixJQUFJQyx5Q0FBdUI7Q0FDL0MsV0FBVyxJQUFJQyxnQ0FBYztDQUM3QixZQUFZLElBQUlDLGlDQUFlO0NBQy9CLHVCQUF1QixJQUFJQyw0Q0FBMEI7Q0FDckQsVUFBVSxJQUFJQywrQkFBYTtDQUMzQixZQUFZLElBQUlDLGlDQUFlO0NBQy9CLGFBQWEsSUFBSUMsa0NBQWdCO0NBQ2pDLG9CQUFvQixJQUFJQyx5Q0FBdUI7Q0FDL0MsbUJBQW1CLElBQUlDLHdDQUFzQjtDQUM3QyxRQUFRLElBQUlDLGlDQUFlO0NBQzNCLFVBQVUsSUFBSUMsbUNBQWlCO0NBQ2hDLEVBQUUifQ==
|
|
394
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1CcjVGaHRScy5janMiLCJuYW1lcyI6WyJnZXRBdG9tU3RvcmUiLCJvcmdTaG9ydE5hbWVBdG9tIiwib3JnSWRBdG9tIiwidXNlcklkQXRvbSIsImNoYXRJZEF0b20iLCJjb250ZXh0U291cmNlQXRvbSIsImVudkF0b20iLCJmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tIiwiQ29udGV4dFNvdXJjZUVudW0iLCJDb250ZXh0RW52RW51bSIsIk1lc3NhZ2VUeXBlIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwidXNlclF1ZXJ5QXRvbSIsIm1lc3NhZ2VzQXRvbSIsInVzZXJIYXNSZXBsaWVkQXRvbSIsIlNwaWZmeU1ldHJpY3NFdmVudE5hbWUiLCJzZXNzaW9uU3RvcmFnZVV0aWwiLCJnZXRBdG9tU3RvcmUiLCJyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIiwiVXNlckV2ZW50Q2F0ZWdvcnkiLCJmb3JtU3VibWl0QXRvbSIsIm5ld01lc3NhZ2U6IE1lc3NhZ2UiLCJNZXNzYWdlUm9sZSIsIk1lc3NhZ2VUeXBlIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5Iiwic3VnZ2VzdGlvbkF0b20iLCJtZXNzYWdlc0F0b20iLCJ1c2VySGFzUmVwbGllZEF0b20iLCJtZXNzYWdlc0F0b20iLCJ1c2VySGFzUmVwbGllZEF0b20iLCJnZXRBdG9tU3RvcmUiLCJ1c2VySGFzUmVwbGllZEF0b20iLCJyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIiwidXNlclF1ZXJ5QXRvbSIsInN1Z2dlc3Rpb25BdG9tIiwiYXNrUXVlc3Rpb25CdG5DbGlja2VkQXRvbSIsIm1lc3NhZ2VzQXRvbSIsInVzZXJFdmVudHNBdG9tIiwic3VnZ2VzdGlvbnNBdG9tIiwic3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSIsInJlc3BvbnNlU3RyZWFtaW5nQXRvbSIsImNoYXRJc09wZW5BdG9tIiwiY2hhdE9uVG9nZ2xlQXRvbSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZS50cyIsIi4uL3NyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b20udHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9yZXBsaWVzLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvcGVyZm9ybWFuY2VNZXRyaWNzLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvZm9ybS50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L3N1Z2dlc3Rpb25zLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvbGFzdE1lc3NhZ2UudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9yZW5kZXJlZFdpZGdldFJlZnMudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSBcInV1aWRcIjtcbmltcG9ydCB7XG4gIEdlbmVyYXRpb25QYXJhbXMsXG4gIE5leHRNZXNzYWdlUmVxdWVzdCxcbiAgVXNlckV2ZW50LFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5pbXBvcnQgeyB1c2VySWRBdG9tLCBjaGF0SWRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hcHBcIjtcbmltcG9ydCB7XG4gIG9yZ1Nob3J0TmFtZUF0b20sXG4gIGNvbnRleHRTb3VyY2VBdG9tLFxuICBlbnZBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCB7IG9yZ0lkQXRvbSwgZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSB9IGZyb20gXCJzcmMvYXRvbXMvb3JnL2dyYXBocWxDb25maWdcIjtcblxuY29uc3QgaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20gPSBhdG9tPFVzZXJFdmVudFtdPihbXSk7XG5cbmV4cG9ydCBjb25zdCB1c2VyRXZlbnRRdWV1ZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgcXVldWUgPSBnZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pO1xuICByZXR1cm4gcXVldWUgPT09IHVuZGVmaW5lZCA/IFtdIDogcXVldWUuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQpO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gcXVldWUgYSBuZXcgbWVzc2FnZSBmb3IgcHJvY2Vzc2luZyBvbiBgbmV4dF9yZXNwb25zZXNgXG4gKiBJdCByZWNlaXZlcyBhIHNpbmdsZSBgdXNlckV2ZW50YCB0aGF0IGlzIGFkZGVkIHRvIHRoZSBwcm9jZXNzaW5nIHF1ZXVlLlxuICogSWYgdGhlIGV2ZW50IGhhcyB0aGUgc2FtZSBldmVudElkIGFzIGFuIGV4aXN0aW5nIG1lc3NhZ2UgaW4gdGhlIHF1ZXVlIHRoZSBORVdcbiAqIGV2ZW50IGlzIGlnbm9yZWRcbiAqL1xuZXhwb3J0IGNvbnN0IHF1ZXVlVXNlckV2ZW50QXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgdXNlckV2ZW50OiBVc2VyRXZlbnQpID0+IHtcbiAgICBpZiAodXNlckV2ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCBbXG4gICAgICAuLi5nZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pLFxuICAgICAgdXNlckV2ZW50LFxuICAgIF0pO1xuICB9XG4pO1xuXG4vKipcbiAqIFRoaXMgYXRvbSBleHBvc2VzIGEgZnVuY3Rpb24gdG8gcmVzZXQgdGhlIGVudGlyZSBxdWV1ZS4gQWxsIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZSB3aWxsIGJlIHB1cmdlZFxuICovXG5leHBvcnQgY29uc3QgY2xlYXJVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoXywgc2V0KSA9PiB7XG4gIHNldChpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSwgW10pO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gbWFyayBldmVudHMgYXMgcHJvY2Vzc2VkIGFuZCByZW1vdmUgdGhlbSBmcm9tIHRoZSBxdWV1ZVxuICogSXQgYWNjZXB0cyBhIGxpc3Qgb2YgZXZlbnRJZCB2YWx1ZXMgYW5kIHdpbGwgcmVtb3ZlIGFsbCBldmVudHMgd2l0aCB0aG9zZSBldmVudElkcyBmcm9tIHRoZSBxdWV1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHByb2Nlc3NVc2VyRXZlbnRBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCBldmVudElkczogc3RyaW5nW10pID0+IHtcbiAgICBjb25zdCBjdXJyID0gZ2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tKTtcbiAgICBjb25zdCByZW1haW5pbmcgPSBjdXJyPy5maWx0ZXIoXG4gICAgICAoZXZlbnQpID0+ICFldmVudElkcy5pbmNsdWRlcyhldmVudC5ldmVudElkKVxuICAgICk7XG4gICAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCByZW1haW5pbmcpO1xuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXNlclF1ZXVlRXZlbnRDb3VudEF0b20gPSBhdG9tKFxuICAoZ2V0KSA9PiBnZXQodXNlckV2ZW50UXVldWVBdG9tKS5sZW5ndGhcbik7XG5cbmltcG9ydCB7XG4gIENvbnRleHRTb3VyY2VFbnVtLFxuICBDb250ZXh0RW52RW51bSxcbn0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiOyAvLyBJbXBvcnQgbmVjZXNzYXJ5IGVudW1zXG4vLyBpbXBvcnQgdHlwZSB7IENvbnRleHQgfSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50L2Rpc3QvbW9kZWxzL0NvbnRleHRcIjsgLy8gSW1wb3J0IENvbnRleHQgdHlwZVxuXG5leHBvcnQgY29uc3QgY3JlYXRlUmVzcG9uc2VQYXlsb2FkID0gKHtcbiAgdXNlckV2ZW50cyxcbiAgZ2VuZXJhdGlvblBhcmFtcyxcbn06IHtcbiAgdXNlckV2ZW50czogVXNlckV2ZW50W107XG4gIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xufSk6IE5leHRNZXNzYWdlUmVxdWVzdCA9PiB7XG4gIGNvbnN0IGF0b21TdG9yZSA9IGdldEF0b21TdG9yZSgpO1xuICBjb25zdCBvcmdTaG9ydE5hbWUgPSBhdG9tU3RvcmUuZ2V0KG9yZ1Nob3J0TmFtZUF0b20pO1xuICBjb25zdCBvcmdJZCA9IGF0b21TdG9yZS5nZXQob3JnSWRBdG9tKTtcbiAgY29uc3QgdXNlcklkID0gYXRvbVN0b3JlLmdldCh1c2VySWRBdG9tKTtcbiAgY29uc3QgY2hhdElkID0gYXRvbVN0b3JlLmdldChjaGF0SWRBdG9tKTtcbiAgY29uc3Qgc291cmNlID0gYXRvbVN0b3JlLmdldChjb250ZXh0U291cmNlQXRvbSk7XG4gIGNvbnN0IGVudiA9IGF0b21TdG9yZS5nZXQoZW52QXRvbSk7XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlID0gYXRvbVN0b3JlLmdldChmZWF0dXJlRmxhZ1NlcnZpY2VBdG9tKTtcblxuICBjb25zdCBjb250ZXh0ID0ge1xuICAgIHVzZXJJZDogdXNlcklkID8/IFwiXCIsXG4gICAgb3JnX2lkOiBvcmdJZCA/PyBcIlwiLFxuICAgIG9yZ19zaG9ydF9uYW1lOiBvcmdTaG9ydE5hbWUgPz8gXCJcIixcbiAgICBjaGF0X2lkOiBjaGF0SWQgPz8gXCJcIixcbiAgICBzb3VyY2U6IHNvdXJjZSA/PyBDb250ZXh0U291cmNlRW51bS5BcHAsXG4gICAgZW52OiAoZW52IGFzIENvbnRleHRFbnZFbnVtKSA/PyBDb250ZXh0RW52RW51bS5EZXYsXG4gIH07XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdzID1cbiAgICBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZT8uZ2V0RmVhdHVyZUZsYWdzKCkgfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICBpZDogdXVpZCgpLFxuICAgIGNvbnRleHQsXG4gICAgdXNlckV2ZW50cyxcbiAgICBmZWF0dXJlRmxhZ3M6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGZlYXR1cmVGbGFncykuZmlsdGVyKChbLCBpc0VuYWJsZWRdKSA9PiBpc0VuYWJsZWQpXG4gICAgKSwgLy8gQ29udmVydCBiYWNrIHRvIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+XG4gICAgZ2VuZXJhdGlvblBhcmFtcyxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcblxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5cbi8vIFRoaXMgYXRvbSB3aWxsIGhvbGQgdGhlIHRyYWNrRXZlbnQgZnVuY3Rpb24gZnJvbSB0aGUgQW1wbGl0dWRlIGNvbnRleHQuXG4vLyBJdCBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBieSBhIFJlYWN0IGNvbXBvbmVudCB0aGF0IGhhcyBhY2Nlc3MgdG8gdGhlIHVzZUFtcGxpdHVkZSBob29rLlxuZXhwb3J0IGNvbnN0IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tID0gYXRvbTxcbiAgKChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD4pIHwgbnVsbFxuPihudWxsKTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7XG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICB1c2VyUXVlcnlBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxufSBmcm9tIFwic3JjL2F0b21zL2NoYXRcIjtcbmltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSBcIi4vbWVzc2FnZVF1ZXVlXCI7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcInNyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHRcIjtcbmltcG9ydCB7IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b21cIjtcblxudHlwZSBIYW5kbGVSZXBseVBhcmFtcyA9IHtcbiAgbWVzc2FnZTogTWVzc2FnZTtcbiAgdXNlclR5cGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVJlcGx5QXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgeyBtZXNzYWdlLCB1c2VyVHlwZWQgfTogSGFuZGxlUmVwbHlQYXJhbXMpID0+IHtcbiAgICBpZiAobWVzc2FnZS50eXBlICE9PSBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhY2tFdmVudCA9IGdldChhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSk7XG4gICAgY29uc3QgcXVlcnlUeXBlZCA9IG1lc3NhZ2UubWV0YWRhdGEuY29udGVudDtcblxuICAgIHNldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLCBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKTtcbiAgICBzZXQodXNlclF1ZXJ5QXRvbSwgcXVlcnlUeXBlZCk7XG4gICAgc2V0KG1lc3NhZ2VzQXRvbSwgWy4uLmdldChtZXNzYWdlc0F0b20pLCBbbWVzc2FnZV1dKTtcbiAgICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgICBzZXQocXVldWVVc2VyRXZlbnRBdG9tLCB7XG4gICAgICBldmVudElkOiBtZXNzYWdlLmlkLFxuICAgICAgY3JlYXRlZEF0OiBtZXNzYWdlLmNyZWF0ZWRBdCxcbiAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBxdWVyeTogcXVlcnlUeXBlZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAodHJhY2tFdmVudCkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0VXNlck1lc3NhZ2VJbnB1dCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIG1lc3NhZ2VfaWQ6IG1lc3NhZ2UuaWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBtZXNzYWdlLnJvbGUsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBtZXNzYWdlLnR5cGUsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogbWVzc2FnZT8ubWV0YWRhdGE/LmNvbnRlbnQsIC8vIFJlbW92ZWQgYW1wbGl0dWRlU2FmZVN0cmluZ1xuICAgICAgICAgICAgY3JlYXRlZF9hdDogbWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGF0b21XaXRoU3RvcmFnZSB9IGZyb20gXCJqb3RhaS91dGlsc1wiO1xuaW1wb3J0IExvZ2dlciBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyXCI7XG5pbXBvcnQge1xuICBnZXRBdG9tU3RvcmUsXG4gIHNlc3Npb25TdG9yYWdlVXRpbCxcbn0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5cbmV4cG9ydCBjb25zdCBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSA9IFwic3BpZmZ5LWFwcC1pbml0aWFsLXN0YXJ0LXRpbWVcIjtcbmV4cG9ydCBjb25zdCBQQUdFX0xPQURfT0ZGU0VUX1RJTUVfS0VZID0gXCJzcGlmZnktcGFnZS1sb2FkLW9mZnNldC10aW1lXCI7XG4vKipcbiAqIFRoZSBkaWZmZXJlbnQgcGVyZm9ybWFuY2UgbWV0cmljcyB0aGF0IGNhbiBiZSBsb2dnZWQuIEFsbCB0aW1lcyBhcmUgcmVsYXRpdmUgdG8gdGhlXG4gKiBpbml0aWFsIHN0YXJ0IHRpbWUgb2YgdGhlIGFwcCBhbmQgYXJlIHN0b3JlZCBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBlbnVtIFBlcmZNZXRyaWNzRXZlbnRzIHtcbiAgUGFnZUxvYWRPZmZzZXQgPSBcInBhZ2VfbG9hZF9vZmZzZXRfbXNcIixcbiAgTWFpbkJ1bmRsZUxvYWRlZCA9IFwibWFpbl9idW5kbGVfbG9hZGVkX21zXCIsXG4gIE9yZ0NvbmZpZ0xvYWRTdGFydGVkID0gXCJvcmdfY29uZmlnX2xvYWRfc3RhcnRlZF9tc1wiLFxuICBPcmdDb25maWdMb2FkRW5kZWQgPSBcIm9yZ19jb25maWdfbG9hZF9lbmRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlU3RhcnRlZCA9IFwiZmlyc3RfcmVzcG9uc2Vfc3RhcnRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlQ29tcGxldGVkID0gXCJmaXJzdF9yZXNwb25zZV9jb21wbGV0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc1N0YXJ0ZWQgPSBcImZpcnN0X3N1Z2dlc3Rpb25zX3N0YXJ0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc0NvbXBsZXRlZCA9IFwiZmlyc3Rfc3VnZ2VzdGlvbnNfY29tcGxldGVkX21zXCIsXG4gIEVtYmVkZGVkV2lkZ2V0UmVuZGVyZWQgPSBcImVtYmVkZGVkX3dpZGdldF9yZW5kZXJlZF9tc1wiLFxuICBGbG9hdGluZ0J1dHRvblJlbmRlcmVkID0gXCJmbG9hdGluZ19idXR0b25fcmVuZGVyZWRfbXNcIixcbiAgVG9wU3VnZ2VzdGlvbnNCYXJSZW5kZXJlZCA9IFwidG9wX3N1Z2dlc3Rpb25zX2Jhcl9yZW5kZXJlZF9tc1wiLFxuICBCb3R0b21TdWdnZXN0aW9uc0JhclJlbmRlcmVkID0gXCJib3R0b21fc3VnZ2VzdGlvbnNfYmFyX3JlbmRlcmVkX21zXCIsXG4gIFNlYXJjaFByb21wdFJlbmRlcmVkID0gXCJzZWFyY2hfcHJvbXB0X3JlbmRlcmVkX21zXCIsXG59XG5cbmNvbnN0IGludGVybmFsUGVyZk1ldHJpY3NBdG9tID0gYXRvbTxNYXA8UGVyZk1ldHJpY3NFdmVudHMsIG51bWJlcj4+KG5ldyBNYXAoKSk7XG5leHBvcnQgY29uc3QgYXBwSW5pdGlhbFN0YXJ0VGltZU1zQXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSxcbiAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBwYWdlTG9hZE9mZnNldFRpbWVBdG9tID0gYXRvbVdpdGhTdG9yYWdlPHN0cmluZyB8IHVuZGVmaW5lZD4oXG4gIFBBR0VfTE9BRF9PRkZTRVRfVElNRV9LRVksXG4gIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oUEFHRV9MT0FEX09GRlNFVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbi8qKlxuICogUmVzZXRzIHRoZSBwZXJmb3JtYW5jZSBtZXRyaWNzIGF0b20gdG8gYW4gZW1wdHkgbWFwLiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIHBlcmZvcm1hbmNlXG4gKiBtZXRyaWNzIGhhdmUgYmVlbiByZXBvcnRlZCB0byBhbXBsaXR1ZGUuIE9uIFNQQSwgaXQgZW5zdXJlcyB0aGF0IHdlIGNhbiBzdGlsbCBjYXB0dXJlIG1ldHJpY3MgYXNcbiAqIHRoZSB1c2VyIG5hdmlnYXRlcyBhcm91bmQgdGhlIGFwcCAoYWx0aG91Z2ggdGhlcmUgaXMgbW9yZSB3b3JrIHRvIGJlIGRvbmUgdG8gZnVsbHkgZW5hYmxlIHRoaXMpLlxuICogT24gbm9uLVNQQSwgaXQgZW5zdXJlcyB0aGF0IHByZXZpb3VzbHkgY2FwdHVyZWQgbWV0cmljcyBhcmUgbm90IHJlcG9ydGVkIGFnYWluLlxuICovXG5leHBvcnQgY29uc3QgcmVzZXRQZXJmb3JtYW5jZU1ldHJpY3NBdG9tID0gKCkgPT4ge1xuICBjb25zdCBhdG9tU3RvcmUgPSBnZXRBdG9tU3RvcmUoKTtcbiAgYXRvbVN0b3JlLnNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgbmV3IE1hcCgpKTtcbn07XG5leHBvcnQgY29uc3QgcGVyZm9ybWFuY2VNZXRyaWNzQXRvbSA9IGF0b20oKGdldCkgPT5cbiAgZ2V0KGludGVybmFsUGVyZk1ldHJpY3NBdG9tKVxuKTtcbmV4cG9ydCBjb25zdCBoYXNSZXBvcnRlZFBlcmZvcm1hbmNlTWV0cmljc0F0b20gPSBhdG9tPGJvb2xlYW4+KGZhbHNlKTtcblxuLyoqXG4gKiBMb2dzIGEgcGVyZm9ybWFuY2UgbWV0cmljIGJ5IGNhcHR1cmluZyB0aGUgZGVsdGEgYmV0d2VlbiB0aGUgaW5pdGlhbCBhcHAgc3RhcnQgdGltZVxuICogYW5kIHRoZSBjdXJyZW50IHRpbWUuIElmIHRoZSBtZXRyaWMgaGFzIGFscmVhZHkgYmVlbiBsb2dnZWQsIGl0IHdpbGwgbm90IGJlIGxvZ2dlZCBhZ2Fpbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIHBlcmZvcm1hbmNlIG1ldHJpYyBuYW1lIHRvIGxvZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvZ1BlcmZNZXRyaWNBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCB2YWx1ZTogUGVyZk1ldHJpY3NFdmVudHMpID0+IHtcbiAgICBjb25zdCBpbml0aWFsVGltZVN0b3JhZ2VWYWx1ZSA9IGdldChhcHBJbml0aWFsU3RhcnRUaW1lTXNBdG9tKTtcbiAgICBjb25zdCBpbml0aWFsVGltZU1zID0gaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWVcbiAgICAgID8gcGFyc2VJbnQoaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWUsIDEwKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaW5pdGlhbFRpbWVNcyA9PSBudWxsKSB7XG4gICAgICBMb2dnZXIubG9nV2FybihcbiAgICAgICAgYFtzcGlmZnktYWldIE5vIGluaXRpYWwgYXBwIHN0YXJ0IHRpbWUgZm91bmQuIFNraXBwaW5nLi4uYCxcbiAgICAgICAgdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRQZXJmTWV0cmljcyA9IGdldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSk7XG4gICAgaWYgKGN1cnJlbnRQZXJmTWV0cmljcy5oYXModmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFRpbWVNcyA9IERhdGUubm93KCk7XG4gICAgY29uc3QgZGVsdGFNcyA9IGN1cnJlbnRUaW1lTXMgLSBpbml0aWFsVGltZU1zO1xuICAgIGN1cnJlbnRQZXJmTWV0cmljcy5zZXQodmFsdWUsIGRlbHRhTXMpO1xuICAgIHNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgY3VycmVudFBlcmZNZXRyaWNzKTtcbiAgfVxuKTtcbiIsImltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcywgVXNlckV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBmb3JtU3VibWl0QXRvbSwgcmVwbHlFdmVudENhdGVnb3J5QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0JztcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVGb3JtU3VibWl0dGVkQXRvbSA9IGF0b20obnVsbCwgKF8sIHNldCwgZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgc2V0KHJlcGx5RXZlbnRDYXRlZ29yeUF0b20sIFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpO1xuICBzZXQoZm9ybVN1Ym1pdEF0b20sIGZvcm0pO1xuXG4gIGNvbnN0IGZvcm1Vc2VyRXZlbnQgPSB7XG4gICAgZXZlbnRJZDogdXVpZCgpLFxuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIGF0dHJpYnV0ZXM6IGZvcm0sXG4gIH0gc2F0aXNmaWVzIFVzZXJFdmVudDtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwgZm9ybVVzZXJFdmVudCk7XG59KTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlUm9sZSwgTWVzc2FnZVR5cGUsIFN1Z2dlc3Rpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7XG4gIG1lc3NhZ2VzQXRvbSxcbiAgcmVwbHlFdmVudENhdGVnb3J5QXRvbSxcbiAgc3VnZ2VzdGlvbkF0b20sXG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSAnLi9tZXNzYWdlUXVldWUnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU3VnZ2VzdGlvbkF0b20gPSBhdG9tKG51bGwsIChnZXQsIHNldCwgc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbikgPT4ge1xuICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgIGlkOiBzdWdnZXN0aW9uLmlkLFxuICAgIHJvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgdHlwZTogTWVzc2FnZVR5cGUuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIHN1Z2dlc3Rpb25JZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgIHN1Z2dlc3Rpb25Db250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgfSxcbiAgfTtcblxuICBzZXQocmVwbHlFdmVudENhdGVnb3J5QXRvbSwgVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpO1xuICBzZXQoc3VnZ2VzdGlvbkF0b20sIHN1Z2dlc3Rpb24pO1xuICBzZXQobWVzc2FnZXNBdG9tLCBbLi4uZ2V0KG1lc3NhZ2VzQXRvbSksIFtuZXdNZXNzYWdlXV0pO1xuICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwge1xuICAgIGV2ZW50SWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkLFxuICAgIGNyZWF0ZWRBdDogbmV3TWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgYXR0cmlidXRlczoge1xuICAgICAgc3VnZ2VzdGlvbklkOiBzdWdnZXN0aW9uLmlkLFxuICAgIH0sXG4gIH0pO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgbWVzc2FnZXNBdG9tLCB1c2VySGFzUmVwbGllZEF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5cbmV4cG9ydCBjb25zdCBsYXN0QXNzaXN0YW50TWVzc2FnZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgbWVzc2FnZXMgPSBnZXQobWVzc2FnZXNBdG9tKTtcbiAgY29uc3QgdXNlckhhc1JlcGxpZWQgPSBnZXQodXNlckhhc1JlcGxpZWRBdG9tKTtcbiAgaWYgKG1lc3NhZ2VzLmxlbmd0aCA+IDAgJiYgIXVzZXJIYXNSZXBsaWVkKSB7XG4gICAgcmV0dXJuIG1lc3NhZ2VzW21lc3NhZ2VzLmxlbmd0aCAtIDFdO1xuICB9XG4gIHJldHVybiBudWxsO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBnZXRBdG9tU3RvcmUgfSBmcm9tIFwic3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmVcIjtcblxuY29uc3QgaW50ZXJuYWxXaWRnZXRBcnJheUF0b20gPSBhdG9tPEhUTUxFbGVtZW50W10+KFtdKTtcblxuZXhwb3J0IGNvbnN0IHdpZGdldEFycmF5QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsV2lkZ2V0QXJyYXlBdG9tKSk7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBjYWxsIGlzIHVzZWQgdG8gY3JlYXRlIGEgbGlzdCBvZiB0aGUgU3BpZmZ5IHdpZGdldHNcbiAqIHRoYXQgYXJlIHJlbmRlcmluZyBvbiB0aGUgcGFnZS5cbiAqXG4gKiBJdCBpcyB1c2VkIGJ5IHRoZSBGbG9hdGluZ0J1dHRvbiB3aWRnZXQgdG8gc2xpZGUgb3V0IG9mIHZpZXcgd2hlbiBpdFxuICogb3ZlcmxhcHMgd2l0aCBhbm90aGVyIFNwaWZmeSB3aWRnZXQuXG4gKlxuICogVGhlIHNwaWZmeSB3aWRnZXRzIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgdGhpcyBhcnJheSBmb3IgdGhlIGZsb2F0aW5nIGJ1dHRvblxuICogdG8ga25vdyBhYm91dCB0aGVtLlxuICpcbiAqIFRvZGF5IHRoZSBcIlN1Z2dlc3Rpb25CYXJcIiB3aWRnZXQgaXMgbm90IGFkZGVkLCBidXQgdGhlIG90aGVyIHdpZGdldHMgYXJlLlxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IGFkZFdpZGdldCA9IChyZWY6IEhUTUxFbGVtZW50LCBpZHg/OiBudW1iZXIpID0+IHtcbiAgY29uc3QgYXRvbVN0b3JlID0gZ2V0QXRvbVN0b3JlKCk7XG4gIGNvbnN0IHZhbCA9IGF0b21TdG9yZS5nZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20pO1xuICBjb25zdCBpbnNlcnRJZHggPSBpZHggPz8gdmFsLmxlbmd0aDtcbiAgdmFsW2luc2VydElkeF0gPSByZWY7XG4gIGF0b21TdG9yZS5zZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20sIHZhbCk7XG59O1xuIiwiaW1wb3J0IHsgYXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7XG4gIHJlc3BvbnNlU3RyZWFtaW5nQXRvbSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICB1c2VyUXVlcnlBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxuICB1c2VySGFzUmVwbGllZEF0b20sXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbiAgY2hhdElzT3BlbkF0b20sXG4gIGNoYXRPblRvZ2dsZUF0b20sXG4gIHVzZXJFdmVudHNBdG9tLFxuICBzdWdnZXN0aW9uQXRvbSxcbn0gZnJvbSAnLi9jaGF0U3RhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NoYXRTdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcGxpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJmb3JtYW5jZU1ldHJpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXN0TWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbmRlcmVkV2lkZ2V0UmVmcyc7XG5cbmV4cG9ydCBjb25zdCBjaGF0QXRvbSA9IGF0b20oKGdldCkgPT4gKHtcbiAgdXNlckhhc1JlcGxpZWQ6IGdldCh1c2VySGFzUmVwbGllZEF0b20pLFxuICByZXBseUV2ZW50Q2F0ZWdvcnk6IGdldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tKSxcbiAgdXNlclF1ZXJ5OiBnZXQodXNlclF1ZXJ5QXRvbSksXG4gIHN1Z2dlc3Rpb246IGdldChzdWdnZXN0aW9uQXRvbSksXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZDogZ2V0KGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20pLFxuICBtZXNzYWdlczogZ2V0KG1lc3NhZ2VzQXRvbSksXG4gIHVzZXJFdmVudHM6IGdldCh1c2VyRXZlbnRzQXRvbSksXG4gIHN1Z2dlc3Rpb25zOiBnZXQoc3VnZ2VzdGlvbnNBdG9tKSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nOiBnZXQoc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSksXG4gIHJlc3BvbnNlU3RyZWFtaW5nOiBnZXQocmVzcG9uc2VTdHJlYW1pbmdBdG9tKSxcbiAgaXNPcGVuOiBnZXQoY2hhdElzT3BlbkF0b20pLFxuICBvblRvZ2dsZTogZ2V0KGNoYXRPblRvZ2dsZUF0b20pLFxufSkpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLE1BQU0sNkNB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
|
|
@@ -23,4 +23,4 @@ const ANIMATED_MESSAGES_TESTID = "spiffy-animated-messages";
|
|
|
23
23
|
|
|
24
24
|
//#endregion
|
|
25
25
|
export { ANIMATED_MESSAGES_TESTID, CHAT_CONTAINER_ID, CHAT_HEADER_CLOSE_BUTTON_TESTID, CHAT_HEADER_CONTAINER_TESTID, CHAT_MESSAGE_CONTAINER_TESTID, CHAT_MESSAGE_DIVIDER_TESTID, CHAT_MODAL_TESTID, CHAT_REPLY_INPUT_SEND_BUTTON_TESTID, CHAT_REPLY_INPUT_TESTID, CHAT_VIEW_PREVIOUS_MESSAGES_TESTID, DYNAMIC_CAROUSEL_TESTID, IMAGE_STACK_FIRST_IMAGE_TESTID, IMAGE_STACK_SECOND_IMAGE_TESTID, IMAGE_STACK_TESTID, LOADING_MESSAGE_CONTAINER_TESTID, MOBILE_CHAT_HEADER_TESTID, SCROLLABLE_SUGGESTIONS_TESTID, SUGGESTION_BAR_BUTTON_TESTID, SUGGESTION_BAR_TESTID, SUGGESTION_BUTTON_TESTID, TAG_TESTID };
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1DZ0x5cEMzdy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnL2xvY2F0b3JzL2NvbXBvbmVudHMvY2hhdC9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUZXN0IGlkcyBmb3IgY29tcG9uZW50cyByZW5kZXJlZCBpbnNpZGUgdGhlIGNoYXQgbW9kYWwsIGFuZCB0aGUgY2hhdCBtb2RhbFxuZXhwb3J0IGNvbnN0IENIQVRfQ09OVEFJTkVSX0lEID0gJyNzcGlmZnktbW9kYWwtY29udGFpbmVyJztcbmV4cG9ydCBjb25zdCBDSEFUX0hFQURFUl9DT05UQUlORVJfVEVTVElEID0gJ3NwaWZmeS1jaGF0LWhlYWRlci1jb250YWluZXInO1xuZXhwb3J0IGNvbnN0IENIQVRfSEVBREVSX0NMT1NFX0JVVFRPTl9URVNUSUQgPSAnc3BpZmZ5LWNoYXQtaGVhZGVyLWNsb3NlLWJ1dHRvbic7XG5leHBvcnQgY29uc3QgQ0hBVF9NRVNTQUdFX0NPTlRBSU5FUl9URVNUSUQgPSAnc3BpZmZ5LWNoYXQtbWVzc2FnZS1jb250YWluZXInO1xuZXhwb3J0IGNvbnN0IENIQVRfTUVTU0FHRV9ESVZJREVSX1RFU1RJRCA9ICdzcGlmZnktY2hhdC1tZXNzYWdlLWRpdmlkZXInO1xuZXhwb3J0IGNvbnN0IENIQVRfTU9EQUxfVEVTVElEID0gJ3NwaWZmeS1tb2RhbC1zaGFkb3ctZG9tLWNvbnRhaW5lcic7XG5leHBvcnQgY29uc3QgQ0hBVF9SRVBMWV9JTlBVVF9URVNUSUQgPSAnc3BpZmZ5LWNoYXQtcmVwbHktaW5wdXQnO1xuZXhwb3J0IGNvbnN0IENIQVRfUkVQTFlfSU5QVVRfU0VORF9CVVRUT05fVEVTVElEID0gJ3NwaWZmeS1jaGF0LXJlcGx5LWlucHV0LXNlbmQtYnV0dG9uJztcbmV4cG9ydCBjb25zdCBDSEFUX1ZJRVdfUFJFVklPVVNfTUVTU0FHRVNfVEVTVElEID0gJ3NwaWZmeS1jaGF0LXZpZXctcHJldmlvdXMtbWVzc2FnZXMnO1xuZXhwb3J0IGNvbnN0IERZTkFNSUNfQ0FST1VTRUxfVEVTVElEID0gJ2R5bmFtaWMtY2Fyb3VzZWwnO1xuZXhwb3J0IGNvbnN0IElNQUdFX1NUQUNLX1RFU1RJRCA9ICdzcGlmZnktcHJvZHVjdC1jb21wYXJpc29uLWltYWdlLXN0YWNrJztcbmV4cG9ydCBjb25zdCBJTUFHRV9TVEFDS19GSVJTVF9JTUFHRV9URVNUSUQgPSAnc3BpZmZ5LXByb2R1Y3QtY29tcGFyaXNvbi1pbWFnZS1zdGFjay1maXJzdC1pbWFnZSc7XG5leHBvcnQgY29uc3QgSU1BR0VfU1RBQ0tfU0VDT05EX0lNQUdFX1RFU1RJRCA9ICdzcGlmZnktcHJvZHVjdC1jb21wYXJpc29uLWltYWdlLXN0YWNrLXNlY29uZC1pbWFnZSc7XG5leHBvcnQgY29uc3QgTE9BRElOR19NRVNTQUdFX0NPTlRBSU5FUl9URVNUSUQgPSAnc3BpZmZ5LW1lc3NhZ2VzLWxvYWRpbmctY29udGFpbmVyJztcbmV4cG9ydCBjb25zdCBNT0JJTEVfQ0hBVF9IRUFERVJfVEVTVElEID0gJ3NwaWZmeS1tb2JpbGUtY2hhdC1oZWFkZXInO1xuZXhwb3J0IGNvbnN0IFNDUk9MTEFCTEVfU1VHR0VTVElPTlNfVEVTVElEID0gJ3NwaWZmeS1zY3JvbGxhYmxlLXN1Z2dlc3Rpb25zJztcbmV4cG9ydCBjb25zdCBTVUdHRVNUSU9OX0JBUl9URVNUSUQgPSAnc3BpZmZ5LXN1Z2dlc3Rpb24tYmFyJztcbmV4cG9ydCBjb25zdCBTVUdHRVNUSU9OX0JBUl9CVVRUT05fVEVTVElEID0gJ3NwaWZmeS1zdWdnZXN0aW9uLWJhci1idXR0b24nO1xuZXhwb3J0IGNvbnN0IFNVR0dFU1RJT05fQlVUVE9OX1RFU1RJRCA9ICdzcGlmZnktc3VnZ2VzdGlvbi1idXR0b24nO1xuXG5leHBvcnQgY29uc3QgVEFHX1RFU1RJRCA9ICdzcGlmZnktdGFnJztcbmV4cG9ydCBjb25zdCBBTklNQVRFRF9NRVNTQUdFU19URVNUSUQgPSAnc3BpZmZ5LWFuaW1hdGVkLW1lc3NhZ2VzJztcbiJdLCJtYXBwaW5ncyI6IjtBQUNBLE1BQWEsb0JBQW9CO0FBQ2pDLE1BQWEsK0JBQStCO0FBQzVDLE1BQWEsa0NBQWtDO0FBQy9DLE1BQWEsZ0NBQWdDO0FBQzdDLE1BQWEsOEJBQThCO0FBQzNDLE1BQWEsb0JBQW9CO0FBQ2pDLE1BQWEsMEJBQTBCO0FBQ3ZDLE1BQWEsc0NBQXNDO0FBQ25ELE1BQWEscUNBQXFDO0FBQ2xELE1BQWEsMEJBQTBCO0FBQ3ZDLE1BQWEscUJBQXFCO0FBQ2xDLE1BQWEsaUNBQWlDO0FBQzlDLE1BQWEsa0NBQWtDO0FBQy9DLE1BQWEsbUNBQW1DO0FBQ2hELE1BQWEsNEJBQTRCO0FBQ3pDLE1BQWEsZ0NBQWdDO0FBQzdDLE1BQWEsd0JBQXdCO0FBQ3JDLE1BQWEsK0JBQStCO0FBQzVDLE1BQWEsMkJBQTJCO0FBRXhDLE1BQWEsYUFBYTtBQUMxQixNQUFhLDJCQUEyQiJ9
|
package/dist/{chatElementDisplayLocation-C1tRM5OD.d.ts → chatElementDisplayLocation-BwiXrkN7.d.ts}
RENAMED
|
@@ -22,4 +22,4 @@ declare enum ChatElementDisplayLocation {
|
|
|
22
22
|
}
|
|
23
23
|
//#endregion
|
|
24
24
|
export { ChatElementDisplayLocation };
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24tQndpWHJrTjcuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgZW51bSBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB7XG4gICAgSU5fQ0hBVCA9IFwiaW5fY2hhdFwiLFxuICAgIENIQVRfUFJFVklFVyA9IFwiY2hhdF9wcmV2aWV3XCIsXG4gICAgRkxPQVRJTkdfQlVUVE9OID0gXCJmbG9hdGluZ19idXR0b25cIixcbiAgICBIRUxQX01FX0NIT09TRSA9IFwiaGVscF9tZV9jaG9vc2VcIixcbiAgICBQTFBfSU1BR0VfQkFOTkVSID0gXCJwbHBfaW1hZ2VfYmFubmVyXCIsXG4gICAgVE9QX1JFVklFV1NfU05JUFBFVCA9IFwidG9wX3Jldmlld3Nfc25pcHBldFwiLFxuICAgIEJPVFRPTV9SRVZJRVdTX1NOSVBQRVQgPSBcImJvdHRvbV9yZXZpZXdzX3NuaXBwZXRcIixcbiAgICBCTE9DS19CQUNLX0JVVFRPTiA9IFwiYmxvY2tfYmFja19idXR0b25cIixcbiAgICBTV0lUQ0hfVE9fQUdFTlQgPSBcInN3aXRjaF90b19hZ2VudFwiLFxuICAgIENPTlZFUlNBVElPTkFMX1NFQVJDSCA9IFwiY29udmVyc2F0aW9uYWxfc2VhcmNoXCIsXG4gICAgR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UID0gXCJnbG9iYWxfc2VhcmNoX2VudHJ5cG9pbnRcIixcbiAgICBTRUFSQ0hfTkFWX0VOVFJZUE9JTlQgPSBcInNlYXJjaF9uYXZfZW50cnlwb2ludFwiLFxuICAgIFNFQVJDSF9QUk9NUFQgPSBcInNlYXJjaF9wcm9tcHRcIixcbiAgICBTRUFSQ0hfUFJPTVBUX0JVVFRPTiA9IFwic2VhcmNoX3Byb21wdF9idXR0b25cIixcbiAgICBQUk9EVUNUX0dSSUQgPSBcInByb2R1Y3RfZ3JpZFwiLFxuICAgIFVOU1BFQ0lGSUVEID0gXCJ1bnNwZWNpZmllZFwiLFxuICAgIEZJTFRFUl9NT0RBTCA9IFwiZmlsdGVyX21vZGFsXCIsXG4gICAgUFJPTVBUX0NBUkQgPSBcInByb21wdF9jYXJkXCIsXG4gICAgV0lORE9XX0FQSV9DQUxMID0gXCJ3aW5kb3dfYXBpX2NhbGxcIlxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVyw2QkFBNkIsQ0FBQyxJQUFJIn0=
|
package/dist/{chatElementDisplayLocation-9SW40Dd3.d.cts → chatElementDisplayLocation-DWmfNX_u.d.cts}
RENAMED
|
@@ -22,4 +22,4 @@ declare enum ChatElementDisplayLocation {
|
|
|
22
22
|
}
|
|
23
23
|
//#endregion
|
|
24
24
|
export { ChatElementDisplayLocation };
|
|
25
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24tRFdtZk5YX3UuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9jaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGVudW0gQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24ge1xuICAgIElOX0NIQVQgPSBcImluX2NoYXRcIixcbiAgICBDSEFUX1BSRVZJRVcgPSBcImNoYXRfcHJldmlld1wiLFxuICAgIEZMT0FUSU5HX0JVVFRPTiA9IFwiZmxvYXRpbmdfYnV0dG9uXCIsXG4gICAgSEVMUF9NRV9DSE9PU0UgPSBcImhlbHBfbWVfY2hvb3NlXCIsXG4gICAgUExQX0lNQUdFX0JBTk5FUiA9IFwicGxwX2ltYWdlX2Jhbm5lclwiLFxuICAgIFRPUF9SRVZJRVdTX1NOSVBQRVQgPSBcInRvcF9yZXZpZXdzX3NuaXBwZXRcIixcbiAgICBCT1RUT01fUkVWSUVXU19TTklQUEVUID0gXCJib3R0b21fcmV2aWV3c19zbmlwcGV0XCIsXG4gICAgQkxPQ0tfQkFDS19CVVRUT04gPSBcImJsb2NrX2JhY2tfYnV0dG9uXCIsXG4gICAgU1dJVENIX1RPX0FHRU5UID0gXCJzd2l0Y2hfdG9fYWdlbnRcIixcbiAgICBDT05WRVJTQVRJT05BTF9TRUFSQ0ggPSBcImNvbnZlcnNhdGlvbmFsX3NlYXJjaFwiLFxuICAgIEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVCA9IFwiZ2xvYmFsX3NlYXJjaF9lbnRyeXBvaW50XCIsXG4gICAgU0VBUkNIX05BVl9FTlRSWVBPSU5UID0gXCJzZWFyY2hfbmF2X2VudHJ5cG9pbnRcIixcbiAgICBTRUFSQ0hfUFJPTVBUID0gXCJzZWFyY2hfcHJvbXB0XCIsXG4gICAgU0VBUkNIX1BST01QVF9CVVRUT04gPSBcInNlYXJjaF9wcm9tcHRfYnV0dG9uXCIsXG4gICAgUFJPRFVDVF9HUklEID0gXCJwcm9kdWN0X2dyaWRcIixcbiAgICBVTlNQRUNJRklFRCA9IFwidW5zcGVjaWZpZWRcIixcbiAgICBGSUxURVJfTU9EQUwgPSBcImZpbHRlcl9tb2RhbFwiLFxuICAgIFBST01QVF9DQVJEID0gXCJwcm9tcHRfY2FyZFwiLFxuICAgIFdJTkRPV19BUElfQ0FMTCA9IFwid2luZG93X2FwaV9jYWxsXCJcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQVcsNkJBQTZCLENBQUMsSUFBSSJ9
|